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スパースモード)が使われます。
最後までお読み頂きありがとうございました。
コメント