ネットワークの基礎講座
IP(インターネット・プロトコル)
経路設定(ルーティング)の基本
インターネットは自律分散のシステムである。インターネットは毎日その規模を増やし、また変化している中で、どうしてはるか遠くの相手にIPデータグラムが届くのであろうか。その核となるのがルータである。これは電話網で言えば交換機に相当するノードである。そのアルゴリズムについて簡単に説明する。
|
ルータはIP(ネットワーク)層のデバイスである。その役割はネットワークあるいはサブネットを相互接続し、その間でのIPデータグラムを正しく中継することである。「正しく」というのは不要なデータグラムを通さないことにも通じる。中継にあたってはいくつかの選択肢があることもある。ルータはそれらの経路のうち最適なものを選択し、そのルートへIPデータグラムを転送する。また宛先のネットワークによっては再フラグメント化が必要な場合もあり、そのときはそのネットワークに対応したフラグメント化を行う。ルーティングの基本機能は次のようである:
到来IPデータグラムの宛先IPアドレスが、自分のローカルのホストのIPアドレス以外のものであれば、それは通常の転送すべきIPデータグラムである。
この転送(forwarding)IPデータグラムを次にどこに転送するか(Next hop: 次ホップ)を選択するのがIPルーティングアルゴリズムである。
その他のルータの重要な役割として以下のものがある。
ブロードキャスト・IPデータグラムのフィルタリング:
ブロードキャストやマルチキャストは有用なコンセプトではあるが、これが幾つものネットワークに伝播したり、極端な場合にはネットワークの中を回ってついにはネットワークの機能を失わせてしまう危険性を伴う。例えばΔ型に3つのネットワークが接続されたインターネットワークの場合、ルータがブロードキャストを許してしまうとこのような事態が発生する。また大きなインターネットワークにおいてルータがこれを通してしまうとそのなかがブロードキャストのパケットだらけになってしまい、ネットワークのスループットを極端に低下させてしまうことになりかねない。これをブロードキャストの嵐(Broadcast Storm)と呼ぶ。ルータは従ってブロードキャストのIPデータグラムを通してはならない。
通過IPデータグラムの制限:
不必要なパケットの通過を制限して、ローカルのセキュリティを図ることができる。例えば所定のIPアドレスへの(からの)IPデータグラムしか通さない、所定のプロトコル番号のデータグラムしか通さないなどである。上位の層での制限(例えばTCPにおけるポート番号による制限)もあるが、これはルータの機能ではなく、しばしばファイアウオールと呼ばれるものの役割であるが、高度なルータにはそのような機能を持たせたものも存在する。
速度調整機能:
ルータが相互接続しているネットワークは、通常帯域が等しいことはない。従って広帯域のネットワークから狭帯域のネットワークにIPデータグラムを転送する場合、パケットの欠落を防ぐために通常バッファを置き、その差を吸収する。バッファがいっぱいになりそうなときはICMPの発信制限メッセージを送信元に通知する。
統計情報の取得:
通過するパケットに関する種種の統計量を集積することができる。これはネットワークの管理、課金、障害時の原因調査などに有用である。
ネットワーク管理:
ルータの管理や設定、ルータが取得した統計量の取得などを遠隔(リモート)で行えることが必須である。一般にはSNMP(Simple Network Management Protocol)が使われる。
ルータはこれらの機能を有するために、下図のような構成となっている。基本的にはネットワーク・インターフェイスを持ったコンピュータでソフトウエア処理で実現できるが、専用のハードウエアで高速化と低価格化を図ったものが主流である。
|
さて話を経路設定に戻そう。ルーティングは各ルータが自分が持っているこの図のルーティング・テーブルをもとに行う。しかしながらIPの基本思想は自立分散のシステムである。発祥が米軍のシステムであることから、ネットワークに一部に変更や障害が発生しても、正しく相手にIPデータグラムが転送できるようにすることが目的であったことは、周知のことである。そのような場合に各ルータのルーティング・テーブルをどう協調しながら更新するかがルーティング・プロトコルの原点である。
ルータにおけるルーティング・テーブル
|
UNIXベースのシステムではルーティングのデーモンが通常routedとgatedの二つが実装されている。「ルートD」と呼ばれるデーモンはオートノマス・システム(ある管理者の管理下にあるネットワークの集まり)内で使われるもので、RIP(Routing Information Protocol)なるプロトコルが使われている。「ゲートD」と呼ばれるデーモンはオートノマス・システム内および外に使われ、OSPF(Open shortest Path First Protocol)とBGP(Border Gateway Protocol)が使われている。ここではこれらの3種類のプロトコルをごく簡単に紹介する。