平成23年度 秋期 午前Ⅱ 問12
通信プロトコル
確認応答番号Bの正しい組合せ
クライアントとサーバ間で3ウェイハンドシェイクを使用し,次の順序でTCPセッションを確立するとき,サーバから送信されたSYN/ACKパケットのシーケンス番号Aと確認応答番号Bの正しい組合せはどれか。
| 順序 | パケット | パケットの送信方向 | シーケンス番号 | 確認応答番号 |
|---|---|---|---|---|
| 1 | SYN | クライアントからサーバ | 11111 | なし |
| 2 | SYN/ACK | サーバからクライアント | A | B |
| 3 | ACK | クライアントからサーバ | 11112 | 22223 |
選択肢は原典ではA・Bの表。
- アA:11111 / B:22222
- イA:11112 / B:22223
- ウA:22222 / B:11112
- エA:22223 / B:11111
答えと解説を見る
✓ これが正解ウA:22222 / B:11112
解説
SYN/ACKは自分の番号22222と、相手の番号+1の11112を載せます。
3ウェイハンドシェイクでは、確認応答番号に、相手から次に受け取るはずのシーケンス番号を入れます。SYNは1つ分の番号を消費するので、受け取ったSYNのシーケンス番号に1を足した値になります。クライアントのSYNのシーケンス番号は11111なので、サーバが返すSYN/ACKの確認応答番号Bは11112です。次にクライアントが返すACKの確認応答番号が22223であることから、サーバのSYN/ACKのシーケンス番号Aは22223から1を引いた22222と分かります。3番目のパケットのシーケンス番号11112も、クライアントの番号が1進んだことと合っています。確認応答番号は相手の番号に1を足したもの、と覚えると表の空欄を埋められます。
ほかの選択肢はなぜ違うのか
- アA:11111 / B:22222:Aを11111とすると、サーバがクライアントのSYNと同じ番号を使うことになります。シーケンス番号は送信する側がそれぞれ独自に決めるもので、3番目のACKが22223を確認していることとも合いません。
- イA:11112 / B:22223:11112と22223は、3番目のパケットのシーケンス番号と確認応答番号をそのまま写した組です。サーバのSYN/ACKのシーケンス番号は、クライアントが確認した22223の1つ手前でなければなりません。
- エA:22223 / B:11111:Bを11111とすると、クライアントのSYNと同じ番号を確認したことになり、次に期待する番号を示すという確認応答番号の決まりに反します。Aの22223も、3番目のACKが確認した値そのもので1つ進みすぎています。
この問題の用語
- TCP相手に届いたかを確かめながら送る、信頼性を重んじた通信の約束事です。ポート番号でアプリを見分け、届かない分は送り直します。
- セッション利用者がつながってから終わるまでの、一続きのやり取りのことです。識別のためのIDが割り当てられ、同じ利用者のやり取りとしてまとめます。
出典:平成23年度 秋期 ネットワークスペシャリスト試験 午前Ⅱ 問12
同じ用語が出る問題
- 令和7年度 春期 午前Ⅱ 問18:DRDoS攻撃に該当するもの(セッション)
- 令和5年度 春期 午前Ⅱ 問21:IEEE 802.1Xの問題(セッション)
- 令和4年度 春期 午前Ⅱ 問8:SMTPに関する問題(セッション)
- 令和3年度 春期 午前Ⅱ 問19:IEEE 802.1Xの問題(セッション)
- 平成23年度 秋期 午前Ⅱ 問15:BGP-4に関する問題(セッション)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)