【本質】IPルーティングを理解するには

 IPルーティングとは、異なるネットワーク宛てのパケットを、最適な経路で次のルータへ送信することです。 この定義で問題はないのですが、これだと、マルチキャストルーティングの意味がわかりづらくなります。

スポンサーリンク

ルーティングの本質

 ルーティングの本質は、パケットの宛先アドレスをみて、最適な出力インタフェースを決定することです。要は、パケットをどのインタフェースへ出すのかを決めるプロセスです。

 例えば、1.1.1.1宛のパケットをルータが受信したとします。

 上の例では、ルータは受信したパケットの宛先アドレスを見て、ルーティングテーブルを参照し、出力インタフェースをFa0/0と決定します。あくまで、出力インターフェース(Fa0/0)を決めることが、ルーティングです。

 次のホップ先のルータへの転送は、出力インタフェースの種別により、転送方式が異なります。上のようなイーサネットであれば、ネクストホップのアドレス解決(ARP)をして、イーサネットにカプセル化し、転送します。例えば、出力インタフェースがシリアルリンクであれば、PPPなどにカプセル化し、転送されます。このように、出力インタフェースから次のホップへの転送はカプセル化処理となり、ルーティングとは切り離して考えます。

スポンサーリンク

ユニキャストルーティング

 ユニキャストルーティングでは、IGPとBGPでルーティングの処理が少し違います。

IGPのルーティング

 R1とR2間でEIGRPを有効にしているとします。

 R1のルーティングテーブルのうち、R2から学習した2.2.2.2/32宛の出力です。DはEIGRPを表します。

R1#sh ip route 

D        2.2.2.2 [90/156160] via 192.168.12.2, 00:20:21, FastEthernet0/0.12

 R1のルーティングテーブルを見ると、出力インタフェースがFastEthernet0/0.12と認識されており、ルーティング処理は完了しています。。 ネクストホップ192.168.12.2へのアドレス解決やパケット転送はカプセル化処理のため、ルーティングとは切り離して考えます。

BGPのルーティング

 R1とR2間でBGPピアリングし、R2の22.22.22.22/32をR1へ広告します。

 R1で学習した22.22.22.22/32宛のルーティングテーブルの出力例です。 BはBGPを表します。

R1#show ip route 

B        22.22.22.22 [200/0] via 2.2.2.2, 00:20:16

 22.22.22.22/32宛の出力インタフェースがありません。

 BGPでは、出力インタフェースが決定されず、ルーティング処理が完了していません。 出力インタフェースを決定するには、ネクストホップである2.2.2.2の出力インタフェースを検索する必要があります。

R1#show ip route 

D        2.2.2.2 [90/156160] via 192.168.12.2, 00:20:21, FastEthernet0/0.12
      22.0.0.0/32 is subnetted, 1 subnets
B        22.22.22.22 [200/0] via 2.2.2.2, 00:20:16

 2.2.2.2/32は、EIGRPで、出力インタフェースがFastEthernet0/0.12と認識されています。 つまり、BGPで学習した22.22.22.22/32の出力インタフェースは、FastEthernet0/0.12だとわかります。

 BGPだけでは、ルーティング処理は完了せず、必ず、ネクストホップから直結インタフェースやIGPを元に、出力インターフェースを再度検索する必要があります。 このように、ルーティングテーブルを複数回参照するような処理を再帰ルックアップと言います。

 上記理由から、BGPはルーティングプロトコルではなく、経路情報を伝達するアプリケーションだと言われることもあります。

スポンサーリンク

マルチキャストルーティング

 R2で送信者からマルチキャストアドレス239.0.0.1宛のパケットを受信したとします。

 そのパケットを受信者向けへ転送するR2のマルチキャストルーティングテーブルを確認します。

R2#show ip mroute 

(192.168.23.3, 239.0.0.1), 00:02:15/00:00:44, flags: LJT
  Incoming interface: FastEthernet0/0.23, RPF nbr 192.168.23.3
  Outgoing interface list:
    FastEthernet0/0.12, Forward/Sparse, 00:02:15/00:02:27

 (192.168.23.3, 239.0.0.1) は、送信元アドレスが192.168.23.3、宛先アドレスが 239.0.0.1という意味です。 FastEthernet0/0.23から受信したこのパケットの出力インタフェースをFastEthernet0/0.12と認識しています。

 このように、マルチキャストルーティングは、受信したマルチキャストパケットをどのインタフェースから出力するのかをを決定します。 このようなマルチキャストルーティングテーブルを作成するのに、例えば、PIM-SM(PIMスパースモード)が使われます。

 最後までお読み頂きありがとうございました。

コメント