2022 サンプル問題29テクノロジ系

基本情報 2022 サンプル問題 問29:テクノロジ系に関する問題

PC とWeb サーバがHTTP で通信している。PC からWeb サーバ宛てのパケットでは, 送信元ポート番号はPC 側で割り当てた50001,宛先ポート番号は80 であった。Web サーバからPC への戻りのパケットでのポート番号の組合せはどれか。 送信元(Web サーバ)のポート番号 宛先(PC)の ポート番号

  • a80 50001正答
  • b50001 80
  • c80 と50001 以外からサーバ側で割り当てた番号 80
  • d80 と50001 以外からサーバ側で割り当てた番号 50001
正答:A80 50001

AI解説(初心者・標準・上級)

理解度に合わせて3レベルの解説を無料で読めます。

初心者向けまずはここから。やさしく要点を解説

答えは a「送信元(Web サーバ)80、宛先(PC)50001」 です。

ポート番号は「部屋番号」と思ってください。Web サーバは「80号室」で Web サービスを受付け、PC は会話のためにたまたま空いてた50001号室を使った、という状態です。

行きの便(PC→サーバ):

  • 送信元 = PC の50001号室、宛先 = サーバの80号室

戻りの便(サーバ→PC):単純に行きと送信元・宛先を入れ替えるだけ

  • 送信元 = サーバの80号室、宛先 = PC の50001号室

👉 覚え方:戻りは送信元と宛先をスワップ(入れ替え)するだけ。サーバが新しい番号を勝手に作ったりはしません。

ほかの選択肢:b は行きと同じで間違い/c・d は「サーバが新しい番号を割り当てる」と書いてあるが、通信は同じセッションを続けるので80のまま。

標準試験対策の基準レベル

なぜこれが正解か

正解は a。TCP/UDP 通信では、戻りパケットの送信元・宛先は行きパケットのになる:

  • 行き(PC→Web サーバ):送信元 PC:50001 → 宛先 Web:80
  • 戻り(Web→PC):送信元 Web:80 → 宛先 PC:50001

同一 TCP コネクションでは双方向のポート番号ペアが固定され、サーバ側が応答のたびに新ポートを割り当てることはない。

各選択肢の解説

  • a:正答。送信元と宛先を入れ替えるだけ。
  • b:行きパケットと同じになっているため誤り。
  • c・d:「サーバ側で新しい番号を割り当てる」とあるが、戻りパケットでサーバが送信元ポートを変更することはない(同一コネクションを保つため)。

覚え方・ひっかけ注意

ポート番号の3分類

  • Well-Known(0-1023):HTTP=80、HTTPS=443、SSH=22、SMTP=25、DNS=53 等のサーバ用標準ポート。
  • Registered(1024-49151):登録済みアプリ用。
  • Dynamic/Ephemeral(49152-65535):クライアントが一時的に使う動的ポート(本問の50001はこの範囲)。

通信の本質は「4タプル(送信元IP・送信元ポート・宛先IP・宛先ポート)でセッション識別」。戻りパケットは IP もポートもすべて逆転する。

上級誤答論破・背景理論まで深掘り

理論的背景

TCP/UDP 通信におけるコネクション(ソケットペア)は 5タプルで一意に識別される:

  • プロトコル(TCP/UDP)
  • 送信元 IP アドレス
  • 送信元ポート番号
  • 宛先 IP アドレス
  • 宛先ポート番号

クライアントはエフェメラルポート(短命ポート)として OS が動的割当する高位番号を使用。サーバはサービス受付用にWell-Known ポートで LISTEN する。コネクション確立後、両端のソケットは5タプルに紐付き、戻り通信は単に送受の役割が逆転するだけ。サーバ側が応答中に送信元ポートを変える操作は TCP の状態機械では発生しない(FIN/RST 後の再接続を除く)。

実務での使われ方

  • NAT(Network Address Translation):NAPT(NAT 過負荷)はクライアント側ポート番号を書換えて多対1変換を実現。NAT テーブルは5タプル+変換後ポートを保持し、戻りパケットを正しい内部ホストに転送。
  • ファイアウォール:ステートフルインスペクション型はコネクション状態を追跡し、戻りパケットを自動許可(NEW/ESTABLISHED/RELATED)。Linux の `iptables`/`nftables`、ufw、Cisco ASA 等。
  • ロードバランサ:L4 LB は5タプルベースのハッシュで同一コネクションを同一バックエンドに固定(コネクションパーシステンス)。L7 LB は HTTP ヘッダで振分け。
  • トラブルシュート:`netstat -an`、`ss -tnp`、Wireshark の Conversations 統計で5タプル単位のフロー解析。
  • ポート枯渇:高負荷クライアント(プロキシ等)でエフェメラルポート枯渇が起こる。Linux なら `net.ipv4.ip_local_port_range` でレンジ拡張、`tcp_tw_reuse` で TIME_WAIT 再利用が対策。

試験での位置づけ

基本情報・応用情報のネットワーク分野で必出。3-way handshake(SYN/SYN-ACK/ACK)の状態遷移TIME_WAIT 状態の意義TCP のシーケンス番号・確認応答番号ポート番号と IANA 管理まで体系で押さえる。ネットワークスペシャリスト試験では NAT トラバーサル(STUN/TURN/ICE)、UPnP IGD まで深掘りされる。

選択肢の発展補足

  • 行きパケットの IP ヘッダ:送信元 IP=PC、宛先 IP=Web サーバ。戻りでは IP も入れ替わる。
  • HTTPS(443番)の場合:TLS ハンドシェイク(ClientHello→ServerHello→鍵交換)が走るが、ポート番号は同じく行き443・戻り443、送受役割逆転は同じ。
  • HTTP Keep-Alive(持続接続)では同一5タプル上で複数 HTTP リクエストが流れ、エフェメラルポートの消費を抑制する。
  • QUIC(HTTP/3)は UDP ベースだがコネクションIDで識別するため、IP/ポート変化(モバイル網切替など)でも同一セッション継続可能(コネクション マイグレーション)。これは TCP/UDP の従来モデルからの大きな変化。
出典・引用について

出典:IPA(情報処理推進機構)公式 基本情報技術者試験 2022 サンプル問題29/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビによる独自AI解説です。

テクノロジ系の他の過去問

1
テクノロジ系
2
テクノロジ系
3
テクノロジ系
4
テクノロジ系
5
テクノロジ系

あなたの弱点を診断して、合格までの最短ルートを

この分野を連続演習し、AIがあなたの弱点を分析。合格ナビなら基本情報の過去問を解きながら学べます。