IPフォワーディング(アイピーフォワーディング)とは | 意味や読み方など丁寧でわかりやすい用語解説
IPフォワーディング(アイピーフォワーディング)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。
読み方
日本語表記
IPフォワーディング (アイピーフォワーディング)
英語表記
IP forwarding (アイピーフォワーディング)
用語解説
IPフォワーディングは、コンピュータネットワークにおいて、受信したIPパケットを宛先のIPアドレスに基づいて適切な次のネットワーク機器へ転送する機能である。この機能は、異なるネットワークセグメント間での通信を実現するための根幹技術であり、主にルーターがその役割を担う。インターネットのように、世界中の無数の小規模なネットワークが相互に接続されて構成される巨大なネットワーク網では、このIPフォワーディング機能がなければ、自分の所属するローカルネットワークの外にあるサーバーや端末と通信することは不可能である。
通信データは、IPパケットと呼ばれる小さな単位に分割されてネットワーク上を流れる。各IPパケットには、ヘッダと呼ばれる制御情報が付加されており、その中には送信元のIPアドレスと宛先のIPアドレスが含まれている。ネットワーク上の機器は、この宛先IPアドレスを見て、パケットをどこへ送るべきかを判断する。IPフォワーディングを行うルーターは、自身が受け取ったパケットの宛先IPアドレスを確認し、そのパケットが自分自身宛てのものでない場合、他のネットワークへ中継する必要があると判断する。
ルーターがIPフォワーディングを正しく実行するためには、どの宛先に対してどの経路でパケットを送るべきかという情報が必要となる。この経路情報を保持しているのが、ルーティングテーブルである。ルーティングテーブルは、宛先ネットワークアドレス、そのネットワークへ到達するために次にパケットを送るべきルーターのアドレス(ネクストホップ)、そしてパケットを送出するべき自身のネットワークインターフェースといった情報の対応表である。ルーターは、受信したパケットの宛先IPアドレスと自身のルーティングテーブルを照合し、最も一致する経路情報(ロンゲストマッチ)を検索する。そして、見つかった経路情報に従って、指定されたインターフェースからネクストホップへ向けてパケットを転送する。この一連の処理がIPフォワーディングの具体的な動作である。もしルーティングテーブルに合致する経路情報が存在しない場合、デフォルトルートと呼ばれるすべての宛先を示す経路が設定されていればそれに従い、それもなければパケットは破棄され、通信は失敗する。
この転送処理は、送信元から宛先までの経路上に存在する複数のルーターによって連鎖的に行われる。各ルーターは、自分の知っている範囲の経路情報に基づいて、バケツリレーのように次から次へとパケットを転送していく。これにより、直接接続されていない遠くのネットワークにある宛先にも、パケットを届けることが可能になる。
ここで、IPフォワーディングと混同されやすい言葉に「ルーティング」がある。両者は密接に関連しているが、その役割は異なる。IPフォワーディングは、すでに完成しているルーティングテーブルという経路情報に基づいて、個々のパケットを実際に転送する「処理」そのものを指す。一方、ルーティングは、その経路情報であるルーティングテーブルを構築・維持する「プロセス」全体を指す。ルーティングには、管理者が手動で経路を設定するスタティックルーティングや、OSPFやBGPといったルーティングプロトコルを用いてルーター同士が自律的に経路情報を交換し、最適な経路を動的に学習するダイナミックルーティングなどの手法がある。つまり、ルーティングによって最適な経路地図が作成され、IPフォワーディングはその地図を見ながらパケットを実際に目的地へ送り届ける作業に相当する。
IPフォワーディング機能は、ルーターのような専用機器だけでなく、Windows ServerやLinuxといった汎用的なオペレーティングシステムにも実装されている。ただし、サーバーやクライアントPCは通常、パケットの中継点としてではなく通信の終点として動作するため、セキュリティ上の観点から、この機能はデフォルトで無効化されていることが多い。複数のネットワークインターフェースを持つサーバーを、異なるネットワーク間の通信を中継するルーターとして機能させたい場合に、OSの設定を変更してIPフォワーディングを明示的に有効化する必要がある。
結論として、IPフォワーディングは、ルーターがルーティングテーブルを参照してIPパケットを次の中継点へ転送する、ネットワーク通信における極めて重要な機能である。この機能によって、個々に独立したネットワークが相互に接続され、グローバルなインターネットが成立している。システムエンジニアを目指す上で、この基本的なパケット転送の仕組みを理解することは、ネットワークの設計、構築、トラブルシューティングを行うための基礎となる。