令和6年春期試験問題 午前Ⅱ 問9

ホストAからホストBにTCPを用いてデータを送信するとき,TCPセグメントのシーケンス番号と受信確認番号(肯定応答番号)に関する記述のうち,適切なものはどれか。

  • AがBからの応答を待たずに,続けて送信する場合のシーケンス番号は,直前に送信したTCPセグメントのシーケンス番号と送信データのオクテット数の和である。
  • Aは,送信するTCPセグメントのシーケンス番号と受信確認番号を0から1ずつ増加させ,最大値65,535に達すると0に戻す。
  • Bが受信したTCPセグメントにおいて,受信確認番号がシーケンス番号より小さい場合は,そのTCPセグメントはエラー後に再送されたものである。
  • Bは,受け取ったTCPセグメントのシーケンス番号を受信確認番号として応答する。
正解 問題へ
分野 :テクノロジ系
中分類:ネットワーク
小分類:通信プロトコル
解説
  • 正しい。シーケンス番号は送信データの最初の位置を表す番号です。これに送信したオクテット数を加えたものが、次回送信のシーケンス番号となります。例えば、直前に送信したセグメントのシーケンス番号が1、送信データのオクテット数が1,000だった場合、次に送信するセグメントのシーケンス番号は「1+1,000=1,001」です。確認応答を待たずに続けて送信する仕組みを「ウィンドウ制御」といいます。
  • シーケンス番号と受信確認番号は32ビットなので、取り得る値は0~4,294,967,295です。また、最初のシーケンス番号には0ではなくランダムな値が使用されます。なお、最大値まで行くと0に戻るというのは適切な説明です。
  • セグメント内の受信確認番号は"次に送ってほしいデータの先頭位置"、シーケンス番号は"送信したデータの先頭位置"ですから、1つのセグメント内の受信確認番号とシーケンス番号を比較しても再送の有無はわかりません。受信側でエラーによる再送と判断できるのは、受信したセグメント内のシーケンス番号が、直前に送信した受信確認番号よりも小さい場合です(確認応答が喪失したことによる再送)。
  • 受信側が受信確認番号として返すのは、次に送ってほしいデータの先頭位置を表す番号です。つまり、受信したセグメントのシーケンス番号と受信データのオクテット数の和を応答します。

Pagetop