TCP/UDP - ウインドウサイズを利用したフロー制御

 

信頼性を高めるための方法

TCP では信頼性を向上させるために以下の 3 つの技術を採用しています。

  • 相手が通信可能かどうかを確認する機能
    仮想コネクションの確立
  • 相手にパケットが届いたかどうかを確認する機能
    ACK による到達確認
  • 相手の処理能力に合わせてデータサイズを調整する機能
    ウインドウサイズを利用したフロー制御

今回は最後の「ウインドウサイズを利用したフロー制御」について
解説していきましょう。

 

ウインドウサイズを利用したフロー制御

3 ウェイハンドシェイクで仮想コネクションを確立し、
データの送信中は ACK パケットを使用して到達確認を実施する。

これだけでも、かなりの信頼性向上になっているわけですが、
TCP ではさらにもう 1 つの機能を利用して信頼性向上を図っています。

それは送信するデータ量。

以下のように送信側ノードがむやみにデータを送信した場合、
受信側ノードのデータ処理能力が低く、すべてのデータを受信できない
可能性が発生してしまいます。

 

ウインドウサイズ

 

このような状態が続けば、当然通信の信頼性は落ちてしまいます。

そのため受信側ノードの処理能力を考慮しつつ、最適なデータサイズを
送信する機能が必要になります。

この機能を「フロー制御」と呼びます。

 

フロー制御の動作

送信するデータのサイズは、何の情報で最適化されるのでしょうか?

それは「ウィンドウサイズ」を使用して最適化を行っています。
一度に受信できるデータのサイズを「ウインドウサイズ」と呼び、
送信側ノードは受信側ノードあら通知されるウインドウサイズに
従って、送信するデータのサイズを調整しています。

受信側ノードがどのようにウインドウサイズを通知するかと
いいますと、データを受信するたびに返信する ACK パケットに
ウインドウサイズを盛り込んで通知しているのです。

 

フロー制御

 

もし、受信側で処理できなくなった場合は、ウインドウサイズを「0」
にして ACK パケットを送信します。

すると、送信側ノードはデータの送信を中断します。

受信側ノードでデータ受信が出来る状態になると、改めて ACK パケット
を送信することで、データ送信が再開されます。

 

おすすめ記事

  • 【特集】 いまさら聞けないIT契約書のはなし【第4回 契約の種類(2)】
  • 【特集】 進化する脅威にどう立ち向かうか【最終回】
  • 【特集】 災害復旧、事業継続計画(BCP)などの対策状況(2018年)・後編
  • 【特集】 地震や台風から情報資産を守る救世主・データセンター活用の今
  • 【特集】 「固定電話も、ムダ残業もやめた」徹底した"富士通流"働き方改革
  • 関連記事

    トランスポート層(レイヤ 4)の役割
    トランスポート層(レイヤ 4)の役割について

    ポート番号
    ポート番号について

    コネクションとコネクションレス
    コネクションとコネクションレスについて

    UDP
    UDPについて

    TCP ヘッダ
    TCP ヘッダについて

    仮想コネクションの確立
    TCP ヘッダについて

    ACK による到達確認
    TCP ヘッダについて

    ウインドウサイズを利用したフロー制御
    TCP ヘッダについて

    TCPウインドウ制御
    TCPウインドウ制御とスライディング・ウインドウについて

    メールマガジン

    ネットワ-ク初心者のみなさま。
    ネットワークの基礎知識を疎かにすることは
    大変危険です!!

    「初心者にも理解できるネットワーク技術」

    これを読めばネットワークの基礎が分かる!!
    ネットワーク関連の仕事に就きたいとお考えの学生の方や、ネットワークに興味があって転職を考えている社会人の方、まずは登録してみてください。

    もちろん無料です!!

    ↓メールマガジン購読はこちら↓

    メールアドレス:

    検索

    特集

    初心者のためのciscoルータの管理

    目指せPMP


    著書

    図解入門 よくわかる最新ネットワーク技術の基本と仕組み

    初心者のためのCiscoルータ運用ガイド: 最速でCiscoルータを理解するための解説書

    目指せPMP PMBOK第5版対応: 最速でPMPに合格するための解説書

    見てわかるTCP/IP

    おすすめ記事

    カテゴリ

    ブログ最新記事