令和6年度 春期 ネットワークスペシャリスト試験 午前 II 問9
テクノロジネットワークTCP・UDP・IP層の制御
ホストAからホストBにTCPを用いてデータを送信するとき,TCPセグメントのシーケンス番号と受信確認番号(肯定応答番号)に関する記述のうち,適切なものはどれか。
解答・解説
正解: ア. AがBからの応答を待たずに,続けて送信する場合のシーケンス番号は,直前に送信したTCPセグメントのシーケンス番号と送信データのオクテット数の和である。
TCP(Transmission Control Protocol)の通信において、データの順序制御や確実な到達を保証するために シーケンス番号 と 受信確認番号(ACK番号) が用いられます。
- シーケンス番号: 送信するデータの先頭位置を示す番号です。データを送信するたびに、送信したデータサイズ(オクテット数)の分だけ増加します。
- 受信確認番号(ACK番号): 相手から正常にデータを受け取ったことを通知し、次に受信を期待するシーケンス番号を示します。
各選択肢の解説
- ア(正解): AがBからの応答(ACK)を待たずに連続してデータを送信する場合、次に送信するセグメントのシーケンス番号は、「直前のシーケンス番号」に「直前に送信したデータのオクテット数(バイト数)」を足した値になります。
- イ(誤り): シーケンス番号は通信開始時にランダムな初期値が決定され、0から始まるとは限りません。また、増加分は「1ずつ」ではなく「送信したデータのオクテット数」です。さらに、シーケンス番号のフィールドは32ビットであるため、最大値は (4,294,967,295)であり、65,535ではありません。
- ウ(誤り): 受信確認番号は「次に受信を期待するシーケンス番号」を示すものであり、受信したシーケンス番号との大小関係で再送かどうかを判定するものではありません。
- エ(誤り): Bは、受け取ったTCPセグメントの「シーケンス番号 + 受信データサイズ」の値を、次に期待する受信確認番号として応答します。受け取ったシーケンス番号そのものを応答するわけではありません。