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

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


問題文

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

選択肢

(正解)

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

クライアント・サーバ間のポート番号【午前解説】

正解の理由

クライアント(PC)が送信したパケットの送信元ポートは50001、宛先ポートは80でした。サーバの応答では送受信が逆になるため、Webサーバが送信元ポート80で送信し、宛先がクライアントのポート50001になります。したがって正解は です。

解法ステップ

  1. 問題文で「PC→Webサーバのパケット」を確認し、送信元50001、宛先80と読み取る。
  2. 応答パケットは向きが逆になることを思い出す(送受信が入れ替わる)。
  3. したがって応答の送信元はサーバ側のポート80、宛先はクライアントの50001であると結論付ける。
  4. 選択肢と照合して一致するものを選ぶ(アが一致)。

選択肢別の誤答解説

  • (正解): 送信元が80、宛先が50001。クライアント→サーバの逆向きになっており正しい。
  • イ(誤り): 送信元50001、宛先80は「クライアントからサーバへ送った元のパケット」と同じ組合せで、サーバからの応答ではない。
  • ウ(誤り): 「サーバ側で割り当てた80と50001以外の番号 → 宛先80」は、サーバが任意のエフェメラルポートを送信元にして宛先を80にする状況であり、サーバ応答としては不適切。サーバの応答は宛先がクライアントのポートである必要がある。
  • エ(誤り): 「サーバ側で割り当てた番号 → 宛先50001」はサーバが送信元に別のポートを使うと仮定していますが、HTTPサーバは通常リスニングポート80を送信元にします。したがって誤り。

よくある誤解

  • 「応答ではサーバ側が別のエフェメラルポートを使う」と思い込む誤解:サーバが受動的に受けるサービス(HTTP)は通常リスニングポート80をそのまま送信元ポートにします。
  • 「送信元と宛先は変わらない」と考える誤解:パケットの向きが逆になるためポートも逆になる点を見落としがちです。
  • NATやプロキシ環境を混同する誤解:翻訳やプロキシがあると観測されるポートが変わる場合があり、純粋な端末間通信とは挙動が異なります。

補足コラム

  • ポートの分類: 0–1023 がウェルノウンポート(HTTPは80, HTTPSは443)、1024–49151 が登録ポート、49152–65535 がエフェメラル(動的)ポートとして実装上よく使われます。実際のエフェメラル範囲はOSや設定で異なります。
  • 通信の識別: TCP/UDP接続は (送信元IP, 送信元Port, 宛先IP, 宛先Port) の組合せで一意に識別され、サーバ応答はこの組合せの送受信側を入れ替えて返されます。
  • NAT/プロキシ: ネットワークアドレス変換やプロキシが介在する場合、外部から見たポート番号は変わることがあるため、実運用では観測値が異なる点に注意してください。

FAQ

Q: サーバは常にポート80を送信元にするのですか?
A: HTTPを提供するサーバは通常リスニングポート80を使い、応答パケットの送信元も80になります。ただしサービスが別ポートで動作している場合はそのポートが使われます。
Q: クライアントのポート番号は毎回変わりますか?
A: 多くの場合、クライアントは接続ごとにエフェメラルポートを割り当てますが、長時間の接続やOSの実装によっては再利用されることもあります。
Q: NAT越しだとどうなりますか?
A: NATは内部の送信元ポートを外部から一意に見えるように変換(ポートマッピング)するため、外部から観測する送信元ポートはNATデバイスで割り当てられた番号になります。

関連キーワード: TCP, ポート番号, エフェメラルポート, ウェルノウンポート, HTTP, サーバ応答, NAT, 通信フロー, 4タプル, クライアントサーバモデル
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

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

クイズ画面へ遷移する

すぐに利用可能!

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

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