ネットワークスペシャリスト試験 令和6年度 春期 午前II 問9
ホストAからホストBにTCPを用いてデータを送信するとき、TCPセグメントのシーケンス番号と受信確認番号(肯定応答番号)に関する記述のうち、適切なものはどれか。
選択肢を押すと答え合わせができます。
正解と解説を見る
【正解】ア
TCPのシーケンス番号は、セグメントの個数ではなく、送信するデータのオクテット、すなわちバイト単位で管理されます。例えば、シーケンス番号が1000でデータ長が500オクテットのセグメントを送った場合、そのデータは1000~1499に対応し、続けて送るセグメントのシーケンス番号は1000+500=1500になります。応答を待たずに複数のセグメントを送る場合も同じため、アが適切です。
イは誤りです。シーケンス番号はデータ長に応じて進み、受信確認番号は次に受信したいオクテットの番号を表すので、各セグメントごとに1ずつ増やすものではありません。また、どちらも32ビットのフィールドであり、最大値は65,535ではありません。
ウは誤りです。シーケンス番号は一方向の送信データを、受信確認番号は反対方向で次に受信したいデータを管理します。両者を単純に大小比較して、再送かどうかを判断することはできません。
エは誤りです。Bが返す受信確認番号は、通常、受け取ったシーケンス番号にデータのオクテット数を加えた、次に受信したい番号です。受け取ったシーケンス番号をそのまま返すものではありません。
【ポイント】 TCPはバイトストリーム型であり、シーケンス番号もバイト単位です。ACK番号は「正常に受信した最後の番号」ではなく、「次に受信を期待する番号」であることを押さえます。なお、SYNとFINはそれぞれシーケンス番号を1消費します。
出典:令和6年度 春期 ネットワークスペシャリスト試験 午前II 問9
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。
この回の25問を、アプリで通しで解く
- 本番と同じ問題数・制限時間で通し演習(模試モード)
- 間違えた問題は自動で「復習すべき問題」に回る
- 解説で分からない点はAIに質問できる