送信元から送信先へ転送するセグメントが複数ある場合、データを1つずつ送信し、ACK による確認応答が1つずつ返ってきていたのでは非常に時間がかかってしまいます。そこで、送信先からの確認応答を待つことなく連続で送信する機能が用意されています。
この機能を「ウィンドウ制御」と呼び、送信元と送信先がセグメントの受信バッファとして用意できるサイズを「ウィンドウサイズ」と呼びます(図2)。
ウィンドウサイズは、3ウェイハンドシェイクによる最初の接続の確立時に互いのサイズを通知します。送信元は、送信先のウィンドウサイズを超えない範囲で連続してセグメントを送信し、送信先ではバッファにためたセグメントをアプリケーションにて処理します。アプリケーションで処理が終われば、バッファに空きができるため、送信元に確認応答を戻すときに現在利用可能なウィンドウサイズを送信します。送信元では、送信先の処理状況に応じて送信量を制御できます。
ウィンドウ制御に関する説明として正しいものを2つ選択しなさい。
a.3ウェイハンドシェイクの中でウィンドウサイズが識別される
b.ネットワーク上でセグメントが損失したり確認応答が届かないことを管理する
c.送信元から確認応答が届かないセグメントを再度送信する
d.送信元は送信先のウィンドウサイズを超えない範囲でセグメントをまとめて送信することができる
a、d
ウィンドウ制御は、送信元と送信先の間でデータを連続して送信できるようにするための機能です。TCPの3ウェイハンドシェイクのSYNとSYN+ACKを送信するときにウィンドウサイズをセットすることで、相手側のウィンドウサイズを識別することができます。送信元は、送信先のウィンドウサイズを超えない範囲でセグメントをまとめて送信することができます。
ネットワーク上でセグメントが損失したり確認応答が届かないことを管理し(選択肢b)、確認応答が届かなかったセグメントを再度送信する(選択肢c)のは「再送信」の機能です。TCPでは、TCPヘッダに含まれるシーケンス番号と確認応答を使用することで、セグメントが正しく送信されているかどうかを判定することができます。また、ウィンドウサイズの大きさまでデータをバッファにためてアプリケーションが処理する場合もシーケンス番号を使用してデータを並べ直すことができます。
Copyright © ITmedia, Inc. All Rights Reserved.