IPルーティング

IPルーティングとは、トラフィックルーティング手法をIPネットワークに適用することです。これには、世界中のインターネットインフラストラクチャの技術、プロトコル、構造、管理、およびポリシーが含まれます。各IPネットワークノードにおいて、IPルーティングは、ネットワークパケットの送信元から宛先への適切なパスを決定するプロセスです。このプロセスでは、静的設定から、またはルーティングプロトコルによって動的に取得されたルールを使用して、特定のパケット転送方法を選択し、トラフィックを目的の最終宛先に1ホップ近い次の利用可能な中間ネットワークノードに誘導します。パス全体は、複数のコンピュータネットワークにまたがる可能性があります。

ネットワークは、ルーティング用に最適化された特殊なソフトウェア サポートを備えたゲートウェイまたはルーターと呼ばれる特殊なホストによって相互に分離されています。ほとんどのルーティング ソフトウェアのIP 転送アルゴリズムは、最短パスアルゴリズムによってルートを決定します。ルーターでは、インターフェイスに到着したパケットは、送信元および宛先アドレスが検査され、宛先アドレス、一連のルール、パフォーマンス メトリックに従って、適切な発信インターフェイスのキューに入れられます。ルールは、すべてのインターフェイスとそれらに接続されているネットワークのエントリを含むルーティング テーブルにエンコードされます。ネットワーク パケットの要件を満たすルールがない場合、そのパケットはデフォルト ルートに転送されます。ルーティング テーブルは、ネットワーク管理者が手動で管理するか、ルーティング プロトコルによって動的に更新されます。

ルーティングプロトコルは、ルータ間の通信方法とネットワークトポロジに関する情報の共有方法、および各ルーティングノードの機能を規定します。トポロジやアプリケーション領域によって、異なるプロトコルが使用されることがよくあります。例えば、Open Shortest Path First(OSPF)プロトコルは一般的に企業内で使用され、Border Gateway Protocol(BGP)は世界規模で使用されます。[ 1 ] BGPは、世界規模のインターネットルーティングにおける事実上の標準です。

プロトコル分類

ルーティングプロトコルは、ネットワークスコープにおける動作領域によって大まかに区別できます。内部ゲートウェイプロトコルは自律システム内のルーティングに使用され、外部ゲートウェイプロトコルは自律システム間のトラフィックルーティングに使用されます。前者の例としては、ルーティング情報プロトコル(RIP)とOpen Shortest Path First(OSPF)が挙げられます。一方、外部ゲートウェイプロトコルには、外部ゲートウェイプロトコル(EGP)とボーダーゲートウェイプロトコル(BGP)が挙げられます。BGPは、インターネットで使用されている主要な経路配布プロトコルです。

ルーティングアルゴリズム

IP転送アルゴリズムは、IPネットワークにおけるルーティングの具体的な実装です。データ転送を成功させるために、このアルゴリズムはルーティングテーブルを用いて、データグラムの次の宛先となるネクストホップルーターを選択します。選択されたルーターのIPアドレスは、ネクストホップアドレスと呼ばれます。[ 1 ]

IP転送アルゴリズムは次のように述べている: [ 2 ]

宛先IPアドレスDとネットワークプレフィックスNが与えられます。
if ( N が直接接続されたネットワークアドレスと一致する) [ 3 ] [ a ]
そのネットワークリンクを介してデータグラムをDに配信します
else if (ルーティングテーブルにNのルートが含まれている)
ルーティング テーブルにリストされているネクスト ホップ アドレスにデータグラムを送信します。
else if (デフォルトルートが存在する)
データグラムをデフォルトルートに送信します
それ以外
転送エラーメッセージを発信元に送信します

ルートテーブルに複数のエントリが一致する場合、最も長いサブネットマスクを持つエントリが最も具体的なエントリとして選択されます。[ 2 ]同じサブネットマスクを持つルートが複数ある場合、メトリックが最も低いルートが使用されます。デフォルトルートが複数ある場合、どのルートを使用するかを決定する際にメトリックも使用されます。同じサブネットマスクとメトリックを持つルートが複数ある場合、システムは転送戦略として等コストマルチパスルーティングを使用する場合があります。

利用可能な経路がない場合、パケットの送信元にICMPエラーメッセージが送信され、 [ 2 ]パケットを配信できなかったことをそのホストに通知します。ネットワークの輻輳を回避するために不要な再送を避けるため、送信元ホストは送信を停止するか、別のアドレスまたは経路を選択する必要があります。

ルーティングテーブル

以下は、Unix 系オペレーティング システムの一般的なルーティング テーブルを示しています。

カーネルIPルーティングテーブル 宛先ゲートウェイ Genmask フラグ メトリック参照 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で識別されます。

一般的なルーティングフラグ
フラグ 説明
Gゲートウェイを使用する(ゲートウェイが記入されている)
Hターゲットはホスト(32ビットの ビットマスク)
あなたルートはアップです

注記

  1. ^多くの実装では、これらの直接接続されたネットワークがルーティング テーブル エントリとしてリストされます。その場合、この条件は一般的なルート テーブル検索によって処理されます。

参考文献

  1. ^ a b Comer, Douglas E. (2000). Internetworking with TCP/IP (第4版). Upper Saddle River, NJ: Prentice Hall.
  2. ^ a b c「IPルーティングとサブネット」 。 2022年8月2日閲覧
  3. ^ 「LinuxによるIP層ネットワーク管理ガイド - 4.2章 ローカル接続ネットワークへのルーティング」 。 2022年8月2日閲覧