戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

ネットワークスペシャリスト 2024年 午前209


問題文

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

選択肢

AがBからの応答を待たずに、続けて送信する場合のシーケンス番号は、直前に送信したTCPセグメントのシーケンス番号と送信データのオクテット数の和である。(正解)
Aは、送信するTCPセグメントのシーケンス番号と受信確認番号を0から1ずつ増加させ、最大値65,535に達すると0に戻す。
Bが受信したTCPセグメントにおいて、受信確認番号がシーケンス番号より小さい場合は、そのTCPセグメントはエラー後に再送されたものである。
Bは、受け取ったTCPセグメントのシーケンス番号を受信確認番号として応答する。

TCPのシーケンス番号と受信確認番号の理解【午前2 解説】

要点まとめ

  • 結論:TCPのシーケンス番号は送信データのバイト数に基づき連続的に増加し、応答を待たずに送信可能な次のシーケンス番号は直前の番号に送信済みデータ長を加えた値です。
  • 根拠:TCPは信頼性の高い通信を実現するため、シーケンス番号でデータの順序と重複を管理し、受信確認番号は次に期待するバイト番号を示します。
  • 差がつくポイント:シーケンス番号は「バイト単位」で管理され、単純に1ずつ増えるわけではなく、送信したデータ量に応じて増加する点を正確に理解することが重要です。

正解の理由

は、TCPのシーケンス番号の基本的な動作を正しく説明しています。TCPはバイトストリームを扱うため、次に送信するセグメントのシーケンス番号は、直前のセグメントのシーケンス番号に送信済みのデータバイト数を加えた値になります。これにより、受信側はデータの順序を正確に把握し、欠落や重複を検出できます。

よくある誤解

  • シーケンス番号が単純に1ずつ増えると思い込む誤解がありますが、実際は送信したバイト数分だけ増加します。
  • 受信確認番号は受け取ったシーケンス番号そのものではなく、「次に期待するシーケンス番号」を示します。

解法ステップ

  1. TCPのシーケンス番号は「バイト単位」で管理されることを確認する。
  2. 送信済みデータのバイト数を加算して次のシーケンス番号を決定する。
  3. 受信確認番号は受信側が次に期待するシーケンス番号であることを理解する。
  4. 選択肢の記述がこれらの原則に合致しているかを検証する。
  5. それぞれの選択肢の誤りや正しさを比較し、最も正確なものを選ぶ。

選択肢別の誤答解説

  • イ:TCPのシーケンス番号は16ビットの範囲(0〜65,535)で循環するわけではなく、32ビットの範囲(0〜4,294,967,295)で管理されます。
  • ウ:受信確認番号がシーケンス番号より小さい場合は必ずしも再送とは限らず、ウィンドウ制御や遅延ACKなど他の要因もあります。
  • エ:受信確認番号は受け取ったシーケンス番号ではなく、「次に期待するシーケンス番号」を返すため、単純にシーケンス番号を返すのは誤りです。

補足コラム

TCPのシーケンス番号は32ビット長で、送信データのバイト単位で管理されます。これにより、TCPは信頼性の高いデータ転送を実現し、データの順序制御や再送制御を行います。受信確認番号は、受信側が次に受け取りたいシーケンス番号を示し、これにより送信側はどこまでデータが正常に届いたかを把握します。

FAQ

Q: TCPのシーケンス番号はどのように決まるのですか?
A: 初期シーケンス番号はランダムに決まり、その後は送信したデータのバイト数分だけ増加します。
Q: 受信確認番号は何を示していますか?
A: 受信確認番号は、受信側が次に期待するシーケンス番号を示し、これにより送信側はどこまでデータが正常に届いたかを知ります。

関連キーワード: TCP, シーケンス番号、受信確認番号、信頼性通信、バイトストリーム、再送制御
← 前の問題へ次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

ネットワークスペシャリスト
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について