ルーティング・NAT

更新日:

異なるネットワーク間でパケットを届けるための仕組み。OSI参照モデルのネットワーク層(3層)の主要な機能。

ルーティングとは

自分と違うネットワーク宛てのパケットを送りたいとき、直接は届かないため、ルーターが「次にどこへ転送すればよいか」を判断して中継する。この経路選択の仕組みがルーティング。

  • ルーティングテーブル: ルーターが持つ「この宛先ネットワークへはこの経路で送る」という対応表
  • デフォルトゲートウェイ: ルーティングテーブルに該当する経路が無いとき、とりあえず送り先にする出口ルーター。家庭のWi-Fiルーターは通常このデフォルトゲートウェイの役割を担う

インターネット越しの通信は、送信元から宛先まで複数のルーターをホップ(中継)しながら進む。各ホップでデータリンク層(MACアドレス)は貼り替えられるが、IPアドレスは基本的に変わらない(エンドツーエンドの原則)。

NAT(Network Address Translation)とは

プライベートIPとグローバルIPを相互に変換する仕組み。家庭やオフィスのLAN内の複数端末は、それぞれプライベートIPを持ちながら、インターネットへは1つのグローバルIPとして見える。これを実現しているのがNAT。

なぜ必要か:

  • グローバルIPは有限であり、全端末に1つずつ割り当てると足りない
  • LAN内部の構成をインターネット側から隠せる(セキュリティ上のメリットもある)

NAPT(ポート変換込みのNAT)

実際に家庭用ルーターなどで使われているのは、IPアドレスだけでなくポート番号も使って変換するNAPT(NATの拡張、IPマスカレードとも呼ばれる)。

  • LAN内の複数端末(それぞれ別のプライベートIP)が同時に通信しても、ルーターが「どのポートがどの端末のどの通信か」を対応表で管理し、1つのグローバルIPを使い回せる
  • 例: PCの192.168.1.5:50001とスマホの192.168.1.10:50002が同時に通信していても、外部からは同じグローバルIPの別ポートとして見える

ポートフォワーディング

NAT/NAPTの副作用として、外部から見るとLAN内部の端末は直接指定できない(ルーターの背後に隠れている)。外部からLAN内の特定サーバー(例: 自宅で動かすWebサーバー)へアクセスさせたい場合は、「グローバルIPの特定ポート宛の通信を、LAN内の特定端末へ転送する」設定(ポートフォワーディング)をルーターに行う必要がある。

関連