応用情報技術者試験 令和5年秋 午前問32 解説付き過去問
問題
プライベートIPアドレスを割り当てられたPCがNAPT(IPマスカレード)機能をもつルータを経由して、インターネット上のWebサーバにアクセスしている。
WebサーバからPCへの応答パケットに含まれるヘッダー情報のうち、このルータで書き換えられるフィールドの組合せとして、適切なものはどれか。
ここで、表中の〇はフィールドの情報が書き換えられることを表す。
正解
解説
この問題は、NAPT(Network Address and Port Translation)を使用しているルータが、インターネット上のWebサーバからの応答パケットを内部ネットワークのPCに転送する際に、どのヘッダー情報を書き換えるかを問うものです。
- NAPTの基本概念
NAPTは、NAT(Network Address Translation)の一種で、IPアドレスの変換に加えてポート番号も変換対象とすることで、1つのグローバルIPアドレスを複数の内部端末で共有できる技術です。
このとき、各内部端末には一意のポート番号が割り当てられ、外部と通信する際には、プライベートIPアドレス+ポート番号の組が、グローバルIPアドレス+別のポート番号に変換されます。 - NAPTの動作と変換テーブル
NAPT対応ルータは、内部PCから送信されたパケットの送信元IPアドレスと送信元ポート番号を、それぞれグローバルIPアドレスと任意の空きポート番号に変換します。
同時に、変換前の情報(プライベートIPとポート)と変換後の情報(グローバルIPとポート)を変換テーブルに記録しておきます。
この変換テーブルは、外部から応答パケットが返ってきたときに、対応する内部宛先を特定するために使用されます。 - 応答パケットに対するルータの処理
Webサーバから返ってきた応答パケットは、宛先IPアドレスがルータのグローバルIPアドレス、宛先ポート番号がルータが割り当てたポート番号になっています。
ルータは変換テーブルを参照し、このグローバルIPアドレス+ポート番号の組に対応する内部のプライベートIPアドレス+元のポート番号を探し、以下のように書き換えを行います。- IPヘッダーの宛先IPアドレス:グローバルIPアドレス → 対応するプライベートIPアドレスに書き換える
- TCPヘッダーの宛先ポート番号:グローバル側ポート番号 → 内部PCのポート番号に書き換える
一方、応答パケットの送信元IPアドレスと送信元ポート番号(Webサーバ側)はそのまま維持され、ルータでは書き換えられません。
- 最終的な判断
したがって、ルータで書き換えられるフィールドは「宛先IPアドレス」と「宛先ポート番号」であることが分かります。
以上より、応答パケットのヘッダーでルータにより書き換えられるのは、宛先IPアドレスと宛先ポート番号です。