IPルーティング 再び その1

ルーティングとは

ルーティングは、IPパケットを目的のネットワークに転送することです。主に
ルータ/レイヤ3スイッチがルーティングを行うのですが、実際には普通のパソ
コンもルーティングを行っています。ここでは、まず、ルータでのルーティン
グをメインに解説します。
ルーティングの具体的な処理として、大きく次の2つがあります。

1.最適ルートの学習
2.パケットの転送

まず、ルータは目的のネットワークに対する最適ルートを学習する必要があり
ます。学習した最適ルートはルーティングテーブルに保存します。ルーティン
グテーブルに保存されるルート情報は、ネットワークアドレス、ネクストホッ
プ、出力インタフェースなどのひとまとまりの情報です。「ネクストホップ」
は、次のルータという意味です。

ルータがIPパケットを受信すると、その送信先IPアドレスとルーティングテー
ブルを照らし合わせて、次にどのルータに転送すればよいか、つまりネクスト
ホップを決定します。ネクストホップがわかれば、そのネクストホップに届け
られるようにIPパケットにデータリンク層のヘッダを付加してネットワーク上
に送出します。


図 ルーティングの概要

ルーティングはこの2つを行うということをしっかりと把握して欲しいところ
です。そして、最適ルートの学習はパケットを転送する前に完了しておかなけ
ればいけないことも要注意です。
未知のネットワークへパケットをルーティングすることはできません。パケッ
トを転送する際にルーティングテーブルを参照して、一致するルート情報が存
在しなければパケットは破棄されることになります。つまり、「目的地がわか
らなければそこには到達できない」ということです。
このことから、ルータにはパケットを転送したいあらゆるネットワークのルー
ト情報を学習しなければいけないのです。それも、「すべてのルータ」がです。
どうやって必要なルート情報を学習して、ルーティングテーブルを作るかがル
ーティングのとても大事なポイントです。

ここで少しインターネットの通信を考えてみよう。インターネット全体では、
膨大な数のネットワークが存在しています。インターネットへパケットをルー
ティングするには、インターネット全体のネットワークに対するルート情報が
必要になる理屈です。
しかし、インターネット全体の膨大な数のネットワークに対するルート情報を、
すべてのルータが学習するというのは現実的ではありません。ISP(Internet Service Provider)
の高性能なルータならともかく、一般消費者向けのブロードバンドルータでは
それだけの数のルート情報を学習することは不可能です。

そこで、必要になってくる考え方がルート集約です。複数のネットワークアド
レスを集約してひとつにまとめることで、ルータが保持しなければいけないル
ーティングテーブルの情報を少なくすることができます。
そして、集約したルート情報を使ってパケットをルーティングできるようにル
ーティングテーブルの参照方法にも工夫がある。それを、最長一致検索(ロン
ゲストマッチ)といいます。