クライアントAがポート番号8080のHTTPプロキシサーバBを経由してポート番号80のWebサーバCにアクセスしているとき,宛先ポート番号が常に8080になるTCPパケットはどれか。
正答2
解説
正解は2です。
TCPの通信では、要求を送る側は相手のサーバのポート番号を宛先に指定し、応答は要求元のポート番号を宛先にして返されます。
クライアントAはプロキシサーバBのポート8080に要求を送り、BはWebサーバCのポート80に要求を送ります。
A自身やBがCへ要求を出すときの送信元ポートは、通常、一時的に割り当てられる番号(エフェメラルポート)です。
【選択肢別解説】
1:× AからBへの要求の宛先ポートは8080ですが、CからBへの応答の宛先は、BがCへの要求に使った送信元ポートです。
8080とは限りません。
2:○ AからBへのHTTP要求は、プロキシのポート番号8080を宛先にして送られます。
宛先ポート番号が常に8080になるのはこのパケットだけです。
3:× BからAへの応答の宛先は、Aが要求の送信元として使ったポート番号です。
8080ではありません。
4:× BからCへの要求の宛先ポートは、Webサーバのポート番号80です。
CからBへの応答の宛先もBの送信元ポートなので、8080とは限りません。
【ポイント】
プロキシを経由する通信は、AとBの間、BとCの間という2本のTCP接続に分けて考えます。
応答パケットでは、要求のときの送信元と宛先が入れ替わることを押さえておきましょう。