ルーティングプロトコルとは
ルーティングプロトコルは、ネットワーク上でデータが効率的に目的地に届くように、
ルーター間で経路情報を交換するための通信規約です。
ルーターは、ネットワーク上のノード間の最適な経路を選択するために、このプロトコルを利用します。各
ルーターは、直接接続された隣接ノードの情報を持っていますが、ルーティングプロトコルによって、これらの情報を共有し、ネットワーク全体の構造に関する知識を各
ルーターが得ることができます。
ルーティングの基本概念については、ルーティングに関する詳細な情報を参照してください。ルーティングプロトコルは、
OSI参照モデルの第3層、つまり
ネットワーク層で動作するプロトコルであり、
ルーター間でネットワーク構成情報を交換します。
インターネットで使用されている多くのルーティングプロトコルは、RFC文書で定義されています。
ルーティングプロトコルの分類
ルーティングプロトコルは、大きく以下の3つのタイプに分類されます。
リンクステート型ルーティングプロトコル
このタイプのプロトコルでは、各
ルーターがネットワーク全体のトポロジー(構成)に関する情報を交換します。各
ルーターは、ネットワーク内のすべてのリンク(接続)の状態を把握し、それに基づいて最適な経路を計算します。代表的なプロトコルには、OSPF(
Open Shortest Path First)や
IS-ISがあります。
距離ベクトル型ルーティングプロトコル
距離ベクトル型プロトコルでは、
ルーターは隣接する
ルーターとの距離(ホップ数など)を情報として交換します。各
ルーターは、隣接
ルーターから受け取った距離情報をもとに、自身のルーティングテーブルを更新します。RIP(
Routing Information Protocol)やIGRP(
Interior Gateway Routing Protocol)がこのタイプに該当します。
パスベクトル型ルーティングプロトコル
パスベクトル型プロトコルでは、経路情報に加えて、経路を構成する自律システム(AS)のリストも交換します。これにより、より複雑なネットワーク環境でのルーティングが可能になります。BGP(
Border Gateway Protocol)が代表的なプロトコルです。
ループの防止と経路決定
各ルーティングプロトコルは、ネットワーク内でデータのループ(無限に同じ経路をたどる状態)が発生するのを防ぐためのメカニズムを備えています。ループが発生した場合の対処法や、経路決定の基準もプロトコルによって異なります。
ルーティング対象プロトコルとの違い
ルーティングプロトコルと混同されやすいものに、ルーティング対象プロトコルがあります。ルーティングプロトコルは、
ルーターが経路を決定するために使用するのに対し、ルーティング対象プロトコルは、
ネットワーク層で実際にデータを転送するためのプロトコルです。ルーティング対象プロトコルは、データの形式や各フィールドの用途を定義し、
パケットを送信元から送信先へ転送する役割を担います。
ほとんどの
ネットワーク層プロトコル(例えばIP)はルーティング可能ですが、
イーサネットのような
データリンク層プロトコルはルーティングに必要な情報を持たないため、ルーティングできません。ルーティング対象プロトコルは、
パケットを送信するための
ネットワーク層アドレスに関する情報を十分に提供しますが、経路全体を把握しているわけではありません。場合によっては、ルーティング対象プロトコル上でルーティングプロトコルを使用することもあります。
ルーティングプロトコルの実装
ルーティングプロトコルは、
OSI参照モデルの
ネットワーク層で動作しますが、必ずしもその上位層にあるわけではありません。ルーティングプロトコルは、
ネットワーク層の管理プロトコルであり、データの転送メカニズムとは独立して動作します。
IS-ISはデータリンク層の上で動作します。
OSPF、IGRP、
EIGRPは直接IPの上で動作します。OSPFと
EIGRPは独自の転送メカニズムを持ちますが、IGRPは転送を信頼しません。
RIPはUDPの上で動作します。
BGPはTCPの上で動作します。
アドホックネットワークのルーティングプロトコル
アドホックネットワーク(無線LANなど)では、ネットワークインフラがほとんど存在しないため、専用のルーティングプロトコルが使用されます。これらのプロトコルは、モバイルデバイスが頻繁に移動する環境で、動的に経路を決定する必要があります。代表的なプロトコルには、OLSR(Optimized Link State Routing)、AODV(Ad hoc On-Demand Distance Vector)、DSR(Dynamic Source Routing)があります。
内部ルーティングプロトコルと外部ルーティングプロトコル
ルーティングプロトコルは、自律システム(AS)内で使用される内部ルーティングプロトコル(IGP)と、AS間で使用される外部ルーティングプロトコル(EGP)に分けられます。
内部ルーティングプロトコル(IGP)
IGPは、単一のAS内でルーティング情報を交換するために使用されます。代表的なIGPには、RIP、OSPF、
IS-IS、IGRP、
EIGRPがあります。IGRPと
EIGRPは
シスコシステムズ独自のプロトコルであり、IGRPは現在サポートされていませんが、
EIGRPはIGRPのコマンドを受け付けられます。
外部ルーティングプロトコル(EGP)
EGPは、異なるAS間でルーティング情報を交換するために使用されます。EGPの代表的なプロトコルはBGPです。かつてはEGP(
Exterior Gateway Protocol)が使用されていましたが、現在はBGPに置き換わっています。
まとめ
ルーティングプロトコルは、ネットワーク通信の基盤となる重要な技術です。様々な種類がありますが、それぞれ異なる特徴と用途を持っています。ネットワーク環境に応じて適切なプロトコルを選択し、効率的なデータ転送を実現することが重要です。