TCP ではデータを送信するたびに、ACK による確認応答が必要になるため、
送信するパケットが多ければ通信性能が悪くなってしまいます。
これを解決するための機能がウインドウ制御という機能です。
ウインドウ制御とは「ウインドウ」といわれるバッファを用意して、
大きな単位でデータを転送することで、効率化を実施します。
この「ウインドウ」の大きさを「ウインドウサイズ」といいます。
受信側ノードは送信側ノードにスリーウェイハンドシェイクを実施した時に
ウインドウサイズを伝えます。
もちろん前回説明しましたが、通信の最中にこのサイズは変化します。
まず、ウインドウ制御が無い場合のやりとりを見てみましょう。
以下の図のようにウインドウ制御が無い場合は、データを送るごとに ACK
による確認応答を受信するのを待ってから次のデータを送信していきますので、
通信性能がどうしても悪くなってしまいます。
逆にデータをまとめてより大きなサイズの単位で一度に
転送してしまえば、通信効率が高まります。
インドウ制御は送信側ノード、受信側ノードがそれぞれ用意した容量に
納められるだけのデータをまとめて転送します。
受信側ノードでは、受信したデータを順次処理していき、受信できた
セグメントの情報をまとめて ACK による確認応答を送信側ノードへ
送信します。
送信側ノードでは、ACK を確認しながら、欠落したデータの再送を行います。
ウインドウ制御でデータをまとめて転送し、Ack の返答があったら
転送したセグメントをウインドウの外に出し、次に転送するセグメントを
ウインドウに入れていきます。
このような動作を、ウインドウがスライドしていくように動作することから、
「スライディング・ウインドウ」と呼びます。
トランスポート層(レイヤ 4)の役割
トランスポート層(レイヤ 4)の役割について
ポート番号
ポート番号について
コネクションとコネクションレス
コネクションとコネクションレスについて
UDP
UDPについて
TCP ヘッダ
TCP ヘッダについて
仮想コネクションの確立
TCP ヘッダについて
ACK による到達確認
TCP ヘッダについて
ウインドウサイズを利用したフロー制御
TCP ヘッダについて
TCPウインドウ制御
TCPウインドウ制御とスライディング・ウインドウについて
ネットワ-ク初心者のみなさま。
ネットワークの基礎知識を疎かにすることは
大変危険です!!
これを読めばネットワークの基礎が分かる!!
ネットワーク関連の仕事に就きたいとお考えの学生の方や、ネットワークに興味があって転職を考えている社会人の方、まずは登録してみてください。
もちろん無料です!!
↓メールマガジン購読はこちら↓