- 到着したパケットから宛先IPアドレスを読む
- ルーティングテーブルを検索し,
ネクストホップのIPアドレスを知る - ネクストホップへ到達するためのレイヤ2アドレスを調べる
EthernetであればARPテーブルを参照して調べる。もしARPテーブルに載っていなければ,ARPパケットを飛ばして目的のMACアドレスを取得する。 - パケットのL2ヘッダをネクストホップ宛てに書き換える
Ethernetであれば宛先と送信元のMACアドレスを書き換える,等。 - ネクストホップ向けのインターフェースからパケットを出力する
-
ip route 0.0.0.0 0.0.0.0 192.168.20.1
show ip route
をすると,以下のようになりますね。 192.168.20.0/24 is subnetted, 1 subnets C 192.168.20.0 is directly connected, Ethernet0 S* 0.0.0.0/0 [1/0] via 192.168.20.1
このルータは,
宛先IPアドレスをルーティングテーブルで検索し, 見つからないとデフォルトルートの宛先である192. 168. 20. 1へ転送しようとします。 そこで,
192. 168. 20. 1へ送るにはどうすればよいのか? もう一度ルーティングテーブルを検索すると, Ethernet0のインターフェースに接続されていることがわかります。なので, 次はARPテーブルを検索して, Ethernet0のインターフェースに接続されている192. 168. 20. 1のMACアドレスを調べることになります。 つまり,
1つのパケットを転送するために, ルーティングテーブルを2回とARPテーブルを1回の, 計3回も検索をしなければいけないのです。 このように,
ルーティングテーブルを2回以上サーチしなければ宛先が判断できない状況のことを 「リカーシブル・ ルックアップ」 と呼ぶ場合があります。 リカーシブル・
ルックアップの状況は複雑なスタティックルートやBGPを使用している場合などに顕著に発生し, ルータの性能を著しく悪化させる原因となります。ですから, どこのメーカでも, リカーシブル・ ルックアップを減らして効率化するための工夫を, いろいろと行っているのです。
2015年に入り、Cisco、Juniper、Alcatel各社の大型ルータで、高密度100GEポートを搭載したラインカードのリリースが相次いでいます。
これらのラインカードを実現するために搭載されている各社のNPU(Network Processing Unit)の特徴をご紹介します。