IPルーティング 再び その1
ルーティングとは
ルーティングは、IPパケットを目的のネットワークに転送することです。主に
ルータ/レイヤ3スイッチがルーティングを行うのですが、実際には普通のパソ
コンもルーティングを行っています。ここでは、まず、ルータでのルーティン
グをメインに解説します。
ルーティングの具体的な処理として、大きく次の2つがあります。
1.最適ルートの学習
2.パケットの転送
まず、ルータは目的のネットワークに対する最適ルートを学習する必要があり
ます。学習した最適ルートはルーティングテーブルに保存します。ルーティン
グテーブルに保存されるルート情報は、ネットワークアドレス、ネクストホッ
プ、出力インタフェースなどのひとまとまりの情報です。「ネクストホップ」
は、次のルータという意味です。
ルータがIPパケットを受信すると、その送信先IPアドレスとルーティングテー
ブルを照らし合わせて、次にどのルータに転送すればよいか、つまりネクスト
ホップを決定します。ネクストホップがわかれば、そのネクストホップに届け
られるようにIPパケットにデータリンク層のヘッダを付加してネットワーク上
に送出します。
ルーティングはこの2つを行うということをしっかりと把握して欲しいところ
です。そして、最適ルートの学習はパケットを転送する前に完了しておかなけ
ればいけないことも要注意です。
未知のネットワークへパケットをルーティングすることはできません。パケッ
トを転送する際にルーティングテーブルを参照して、一致するルート情報が存
在しなければパケットは破棄されることになります。つまり、「目的地がわか
らなければそこには到達できない」ということです。
このことから、ルータにはパケットを転送したいあらゆるネットワークのルー
ト情報を学習しなければいけないのです。それも、「すべてのルータ」がです。
どうやって必要なルート情報を学習して、ルーティングテーブルを作るかがル
ーティングのとても大事なポイントです。
ここで少しインターネットの通信を考えてみよう。インターネット全体では、
膨大な数のネットワークが存在しています。インターネットへパケットをルー
ティングするには、インターネット全体のネットワークに対するルート情報が
必要になる理屈です。
しかし、インターネット全体の膨大な数のネットワークに対するルート情報を、
すべてのルータが学習するというのは現実的ではありません。ISP(Internet Service Provider)
の高性能なルータならともかく、一般消費者向けのブロードバンドルータでは
それだけの数のルート情報を学習することは不可能です。
そこで、必要になってくる考え方がルート集約です。複数のネットワークアド
レスを集約してひとつにまとめることで、ルータが保持しなければいけないル
ーティングテーブルの情報を少なくすることができます。
そして、集約したルート情報を使ってパケットをルーティングできるようにル
ーティングテーブルの参照方法にも工夫がある。それを、最長一致検索(ロン
ゲストマッチ)といいます。