IPルーティングとは、 IPネットワークにトラフィックルーティング手法を適用することです。これには、世界中のインターネットインフラストラクチャの技術、プロトコル、構造、管理、およびポリシーが含まれます。各IPネットワークノードにおいて、IPルーティングは、ネットワークパケットが送信元から宛先に到達するまでの適切なパスを決定します。このプロセスでは、静的構成またはルーティングプロトコルによる動的なルールを使用して、特定のパケット転送方法を選択し、トラフィックを目的の最終宛先に1ホップ近い次の利用可能な中間ネットワークノードに転送します。全体のパスは、複数のコンピュータネットワークにまたがる可能性があります。
ネットワークは、ルーティングに最適化された専用ソフトウェアをサポートするゲートウェイまたはルータと呼ばれる専用ホストによって互いに分離されています。ほとんどのルーティングソフトウェアのIP転送アルゴリズムは、最短経路アルゴリズムによって経路を決定します。ルータでは、インターフェースに到着したパケットは、送信元アドレスと宛先アドレスを調べられ、宛先アドレスと一連のルールおよびパフォーマンスメトリックに従って適切な送信インターフェースにキューイングされます。ルールは、すべてのインターフェースとその接続されたネットワークのエントリを含むルーティングテーブルにエンコードされます。ネットワークパケットの要件を満たすルールがない場合、パケットはデフォルトルートに転送されます。ルーティングテーブルは、ネットワーク管理者が手動で管理するか、ルーティングプロトコルによって動的に更新されます。
ルーティングプロトコルは、ルーターがネットワークのトポロジーや各ルーティングノードの機能に関する情報をどのように通信し共有するかを規定します。異なるトポロジーや異なるアプリケーション領域には、異なるプロトコルがよく使用されます。たとえば、Open Shortest Path First (OSPF) プロトコルは一般的に企業内で使用され、Border Gateway Protocol (BGP) はグローバル規模で使用されます。[ 1 ] BGP は、世界規模のインターネットルーティングの事実上の標準です。
ルーティングプロトコルは、ネットワーク範囲という観点から、その動作領域によって大きく分類できます。内部ゲートウェイプロトコルは自律システム内でのルーティングに使用され、外部ゲートウェイプロトコルはそれらのシステム間でトラフィックをルーティングします。前者の例としては、ルーティング情報プロトコル(RIP)やオープン最短パス優先(OSPF)があり、後者の例としては、外部ゲートウェイプロトコル(EGP)やボーダーゲートウェイプロトコル(BGP)があります。BGPは、インターネット上で最も広く使用されているルート配信プロトコルです。
IP転送アルゴリズムは、IPネットワークにおけるルーティングの具体的な実装です。データの転送を成功させるために、このアルゴリズムはルーティングテーブルを使用して、データグラムの次の宛先としてネクストホップルータを選択します。選択されたルータのIPアドレスは、ネクストホップアドレスと呼ばれます。[ 1 ]
IP転送アルゴリズムは次のように述べている。[ 2 ]
複数のルーティング テーブル エントリが一致する場合、最も具体的なエントリであるため、サブネット マスクが最も長いエントリが選択されます。 [ 2 ]同じサブネット マスクを持つ複数のルートがある場合、メトリックが最も低いルートが使用されます。デフォルト ルートが複数ある場合、メトリックも使用して使用するルートを決定します。同じサブネット マスクとメトリックを持つ複数のルートがある場合、システムは転送戦略として等コスト マルチ パス ルーティングを使用する場合があります。
経路が利用できない場合、パケットの発信元にICMPエラー メッセージが送信され、 [ 2 ]パケットを配信できなかったことをそのホストに通知します。ネットワークの混雑を避けるために不要な再送信を避けるため、送信ホストは送信を停止するか、別のアドレスまたは経路を選択する必要があります。
以下に、Unix系オペレーティングシステムにおける典型的なルーティングテーブルを示します。
カーネルIPルーティングテーブル 宛先ゲートウェイ ジェンマスク フラグ メトリック 参照 使用 Iface 0.0.0.0 71.46.14.1 0.0.0.0 UG 0 0 0 ppp0 10.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 eth0 71.46.14.1 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 172.16.0.0 0.0.0.0 255.240.0.0 U 0 0 0 eth0 192.168.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 192.168.1.0 192.168.96.1 255.255.255.0 UG 0 0 0 eth0 192.168.96.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
ホストには複数のネットワークインターフェースがあります。eth0はイーサネットポートを表すネットワークインターフェースカードのインターフェース名です。ppp0はPPPoEインターフェースで、この例ではデフォルトルートとして設定されています。
デフォルトルートは、宛先0.0.0.0とフラグGによって認識されます。ネットワークルータは、ネットワークマスク255.255.255.255とフラグHによって識別されます。