ルーティングプロトコル
ルーティングプロトコル(英: routing protocol)は、ルーター同士がネットワーク上の任意の2ノード間の経路を選択するための情報をやり取りする通信プロトコルである。各ルーターは自身に隣接するノードの知識を有している。ルーティングプロトコルはその情報を共有可能とし、各ルーターがより広範囲のネットワーク構成に関する知識を持てるようにする。基本概念についてはルーティングを参照のこと。
ルーティングプロトコルという用語は、より具体的にはOSI参照モデルの第三層にあるプロトコルを指し、これも同様にルーター間でのネットワーク構成情報のやりとりを行う。
インターネットで使われているルーティングプロトコルの多くはRFC文書で定義されている。[1][2][3][4]
ルーティングプロトコルは大まかにリンクステート型ルーティングプロトコル、パスベクトル型ルーティングプロトコル、距離ベクトル型ルーティングプロトコルの3種類に分類される。
個々のルーティングプロトコルの特徴として、ループ状の経路を形成することを防止するか否か、防止しない場合はループを壊す方法、経路を何を元に決定するかといった点が挙げられる。
ルーティング対象プロトコルとルーティングプロトコル
混同されやすいが、ルーティングプロトコルとルーティング対象 (routed) プロトコルは異なる。ルーティングプロトコルはルーターが経路決定に使うのに対して、ルーティング対象プロトコルは L3 デバイス間の実際のテータ転送を受け持つ[5]。ルーティング対象プロトコルとは、通信プロトコルのうち、パケットをホストからホストへアドレス形式に従って転送する際にネットワーク層アドレスに関する十分な情報を提供するもので、それ自体は発信元から送信先までの経路全体を把握していない。ルーティング対象プロトコルはパケットの形式と各フィールドの用途を定義している。パケットは一般にネットワークのエンドシステムからエンドシステムへ伝送される。ほぼ全てのネットワーク層プロトコルとその上の層はルーティング可能であり、例えばIPがある。イーサネットなどのデータリンク層プロトコルはルーティングに必要な情報を持たないため、必然的にルーティング不可能なプロトコルである。ネットワーク層アドレスを持たずにデータリンク層に直接乗ったプロトコルとして NetBIOS があるが、これもルーティング不可能である。
場合によっては、ルーティング対象プロトコル上でルーティングプロトコルを使うこともある。例えばBGPはTCP上で動作する。このようなシステムの実装にあたっては、ルーティングプロトコルとルーティング対象プロトコルの相互依存が生じないように注意が必要である。ルーティングプロトコルがトランスポート層の上にあったとしても、1つ上の階層に位置するわけではない。ルーティングプロトコルはOSIのルーティングフレームワークによれば、ネットワーク層の管理プロトコルであって、その転送機構は関係ない。
- IS-IS はデータリンク層の上で動作する。
- OSPF、IGRP、EIGRP は直接、IPの上で動作する。OSPF と EIGRP は独自の信頼できる転送機構を持っており、IGRPは転送機構を信頼しない。
- RIPはUDPの上で動作する。
- BGPはTCPの上で動作する。
例
アドホックネットワークのルーティングプロトコル
アドホックネットワークのルーティングプロトコルは、ネットワーク自体にほとんど基盤が存在しない。無線アクセスや携帯電話の無線ネットワーク部分が相当する。
- OLSR (Optimized Link State Routing) - 能動的リンクステート型。RFC 3626
- AODV (Ad hoc On-Demand Distance Vector) - オンデマンド距離ベクトル型。RFC 3561
- DSR (Dynamic Source Routing) - オンデマンド距離ベクトル型。RFC 4728
内部ルーティングプロトコル
Interior Gateway Protocol (IGP) は、1つの自律システム[6]内でルーティング情報を交換する。
- IGRP (Interior Gateway Routing Protocol)
- EIGRP (Enhanced Interior Gateway Routing Protocol)
- OSPF (Open Shortest Path First)
- RIP (Routing Information Protocol)
- IS-IS (Intermediate System to Intermediate System)
なお、IGRPとEIGRPはシスコシステムズ独自のルーティングプロトコルであり、IGRPは既にサポートされていない。EIGRPはIGRPのコマンドを受け付けるが、その内部は全く異なる。
外部ルーティングプロトコル
Exterior Gateway Protocol (EGP) は自律システム間のルーティングを行う。
- EGP (Exterior Gateway Protocol) - かつてインターネットバックボーンへの接続に使われていた。現在は使われていない。
- BGP (Border Gateway Protocol) - 最新版の BGPv4 は1995年ごろ策定された。
脚注
- ^ INTERNET PROTOCOL, RFC 791, J Postel, September 1981.
- ^ BROADCASTING INTERNET DATAGRAMS IN THE PRESENCE OF SUBNETS, RFC 922, Jeffrey Mogul, October 1984
- ^ Towards Requirements for IP Routers, RFC 1716, P. Almquist, November 1994
- ^ Requirements for IP Version 4 Routers, RFC 1812, F. Baker,June 1995
- ^ Routing and Routed Protocols
- ^ Guidelines for creation, selection, and registration of an Autonomous System (AS), RFC 1930, J. Hawkison & T. Bates,March1996