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

基本情報技術者 2016年 春期 午前(科目A)35


問題文

PCとWebサーバがHTTPで通信している。PCからWebサーバ宛てのパケットでは、送信元ポート番号はPC側で割り当てた50001、宛先ポート番号は80であった。WebサーバからPCへの戻りのパケットでのポート番号の組合せはどれか。
基本情報技術者 2016年 春期 午前(科目A) 問35の選択肢の画像

選択肢

(正解)

🔒 解説は解答すると表示されます

TCPの送受信ポート対応【午前解説】

正解の理由

正解:
クライアント→サーバの元パケットは次のようなポート組合せでした。
  • 送信元(クライアント)ポート = 50001(エフェメラル)
  • 宛先(サーバ)ポート = 80(HTTPのウェルノウンポート)
TCP/UDPでの応答パケットは、送受信の役割が入れ替わるため、サーバからクライアントへの戻りパケットは次の通りになります。
  • 送信元(サーバ)ポート = 80
  • 宛先(クライアント)ポート = 50001
したがって選択肢の中で正しい組合せはアです。サーバは同一接続内で送信元を80番のままにし、クライアントのエフェメラルポートへ戻します。

解法ステップ

  1. 元のパケットの送信元・宛先ポートを確認する(ここでは送元=50001、宛先=80)。
  2. 応答は送受信が入れ替わると考える(送元 ⇄ 宛先)。
  3. よって応答の送信元ポートは元の宛先(80)、宛先ポートは元の送信元(50001)になる。
  4. 選択肢と照らして一致するものを選ぶ(アが一致)。

選択肢別の誤答解説

  •  80 → 50001
    正解。戻りパケットは送信元がサーバの80、宛先がクライアントの50001になるため符合します。
  • イ 50001 → 80
    誤り。これは元パケットと同じ向きになっており、戻りパケットでは送受信が入れ替わるため成り立ちません。
  • ウ 80と50001以外からサーバ側で割り当てた番号 → 80
    誤り。サーバが別のエフェメラルポートを使って送信して宛先を80にすることは、同一接続の応答では起こりません。さらに宛先が80だと戻り先がサーバ自身になってしまいます。
  • エ 80と50001以外からサーバ側で割り当てた番号 → 50001
    誤り。サーバが別ポート(エフェメラル)で送信して宛先を50001にするというシナリオは、新規接続を張る場合以外では発生せず、同一の応答パケットとしては不適切です。

よくある誤解

  • 「元と同じ順序で送られてくる」と考える誤解:元パケットの送信元/宛先を入れ替えるのが戻りパケットの基本です。
  • 「サーバが応答時に別のエフェメラルポートを使う」と考える誤解:同一接続ではサーバ側は待ち受けポート(80)を送信元として用います。
  • NATやプロキシがあると混乱する点:NATはポートを書き換えることがあり得ますが、論理的な役割(サーバの待ち受け=80、クライアントのエフェメラル)は変わりません。

補足コラム

  • ポートとソケット:通信は(送信元IP, 送信元Port, 宛先IP, 宛先Port)の4つ組で一意に識別されます(ソケット)。応答はこの4タプルの送受信側が入れ替わった形になります。
  • エフェメラルポート範囲:OSによって異なりますが、一般にクライアントは49152–65535などの範囲から一時ポートを選びます。サーバのウェルノウンポートは0–1023に多く割り当てられます。
  • NAT/プロキシ:ネットワーク機器がポートを書き換えることがあります。書き換えは発生しても「応答がクライアントの割当ポートに返る」という論理は同じです。

FAQ

Q: サーバが応答時に必ず80番を送信元にするのですか?
A: HTTPサービスが80番で稼働している限り、同一接続の応答では送信元は80番です。別ポートでサービスを立てているならそのポートが用いられます。
Q: UDPでも同じですか?
A: 基本概念は同じです。応答パケットは送受信ポートが入れ替わる(送元=サーバポート、宛先=クライアントのエフェメラル)ことが多いです。
Q: NATがあるとどう見ればよいですか?
A: NATは実際のパケットのポートを書き換えることがありますが、アプリケーション層の役割(クライアントの一時ポートへ返信する)は同様です。問題文のようにクライアントの割当ポートが50001なら応答はそこへ返ります。

関連キーワード: TCP、ポート番号、エフェメラルポート、ウェルノウンポート、ソケット、NAT、HTTP、クライアントサーバ通信
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

基本情報技術者
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

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

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