ネットワークの基礎
TCPのフロー制御で、受信側がウィンドウサイズ(受信ウィンドウ)を送信側に通知する目的として正しいものはどれか。
- Aネットワークの混雑を検出して、経路上のルータに転送の速さを下げさせる
- B1つのセグメントで送るデータの最大の長さを決め、IPでの分割を避ける
- C受信側のバッファがあふれないよう、確認応答(ACK)を待たずに送ってよいデータの量を送信側に伝える
答えと解説を見る
正解:C. 受信側のバッファがあふれないよう、確認応答(ACK)を待たずに送ってよいデータの量を送信側に伝える
TCPの送信側は、確認応答(ACK)を待たずに複数のセグメントをまとめて送れます。しかし、受信側のアプリケーションがデータを読むのが遅いと、受信バッファがあふれてしまいます。そこで受信側は、ACKを返すたびにバッファの空きをウィンドウサイズとして知らせ、送信側は、まだ確認されていないデータがこの量を超えないように送ります。空きが0になると、送信側は空くまで待ちます。これがフロー制御で、送信側と受信側の2者の間の調整です。ネットワークの混雑に合わせて送る量を変えるのは別のしくみの輻輳制御で、1つのセグメントの最大の長さは、接続時にMSSとして伝えます。
- A. 混雑への対応は輻輳制御で、送信側が自分で送る量を調整します。ルータに速さを下げさせるのではありません。
- B. これはMSS(最大セグメント長)の説明です。
- C. 正しい。受信バッファの空きに合わせて、送信側の送る量を抑えます。