第7章ルーティングとプロトコル(経路制御プロトコル)
経路制御アルゴリズム
距離ベクトル型
距離と方向によって目的のネットワークやホストの位置を決定する方法
ルーター間で位置情報を交換し経路制御表を作成する。
処理が比較的簡単だが、ネットワーク構造が複雑になると経路制御情報が安定するまで時間がかかったり経路にループが生じやすくなる。
リンク状態型
全てのルーターがネットワーク全体の構造の情報を同期させる方法
ネットワークが複雑になっても各ルーターは正しい経路制御情報を持つことができる。
ネットワークトポロジーの情報を管理・処理するために高いCPU能力と多くのメモリ資源が必要となる。
主なルーティングプロトコル
RIP(Routing Information Protocol)
距離ベクトル型ルーティングプロトコルで、定期的(30秒ごと)にネットワーク状に経路制御情報をブロードキャストする。
5回まではパケットを待ち、6回待っても来なければ接続が切れたと判断する。
距離の単位はホップ数
RIPは無限カウントを解決するために、距離16を通信不能とし、経路情報を教えられたインターフェースには教えられた経路情報を流さないようにしている。(split horizon)
RIP2
RIPからマルチキャスト機能、サブネットマスク対応、ルーティングドメイン、外部ルートタグ、認証キーなどの機能が追加された、 OSPF(Open Shortest Path First)
OSIのIS-ISプロトコルを参考にして作られたリンク状態型ルーティングプロトコル。
各リンクに重み(コスト)をつけることで、この重みが小さくなるように経路が選択される。
可変長サブネットで構成されたネットワークの制御が可能。
ネットワークをエリアに分けることで不必要なルーティングプロトコルのやりとりを減少させる。
同一リンクに接続されているルーターを隣接ルーター(Neighbor Router)と呼び、ネットワークが一対一で接続されているルーターでは隣接ルーター間で経路情報が交換されるが、複数ルーターが同一リンクに接続されている場合は指名ルーターが決められ、そのルーターを中心に経路制御情報が交換される。
役割に応じて5種類のパケットを使い分ける。
table:OSPFのパケットの種類
タイプ パケット名 機能
1 HELLO 隣接ルーターの確認や指名ルーターの決定
2 データベース記述 データベースの要約情報
3 リンク状態要求 データベースのダウンロード要求
4 リンク状態更新 データベースの更新情報
5 リンク状態確認応答 リンク状態更新の確認応答
BGP(Border Gateway Protocol)
組織間を接続する時に利用される経路ベクトル型のプロトコルで、各ISP間の接続部分などに利用されている。
組織を束ねるネットワーク集団を糸つの自律システム(AS:Autonomous System)として取り扱い、それぞれのASごとに割り振られる16ビットのAS番号を使って経路制御を行う。
MPLS(Multi Protocol Label Switching)
それぞれのパケットに「ラベル」を設定し、そのラベルに基づいて転送を行う。
MPLSは通常のルーターでは処理できず、対応したルーターをLSR(Label Switching Router)と呼び、特に外部との接続部分に当たるエッジのLSRをLER(Label Edge Routr)と呼ぶ、
ラベルに相当するものを持っていないデータリンクの場合、新たにシムヘッダを追加し、この中にラベルを含める。
固定長のラベルを使用するので、宛先IPアドレスと経路制御表の可変長ネットワークアドレスを比較する必要が無いため転送処理のハードウェア化による高速化が可能、またラベルを必要な数だけ設定すれば良いので処理するデータ量が少ないこと、IPv4でもIPv6でも転送処理が行える。
また、ラベルを利用して仮想的なパスを張り、その上でIPなどのパケットを使った通信が行えるので、MPLSの通信品質の制御や帯域保証、VPNなどが提供できる。