next up previous contents
Next: 7.1.1 内部、外部ルーティングプロトコル Up: 7. 動的ルーティングとRIP Previous: 7. 動的ルーティングとRIP

7.1 動的ルーティングプロトコルの概要

一般にルーティング(経路制御)プロトコルは、 ルーティングに必要な情報をやりとりする ためのものです。具体的には、ルーティングテーブルを変更するのに必要な 情報を交換し、それに基づいてルーティングテーブルを動的に変更する事を 指します。 従って、ルーティングプロトコルは実際のパケットの転送( forwarding)とは違う 事に注意して下さい。

\epsfile{file=routing,scale=0.7}
例えば、上の図で A から B へのルーティングを考えて見ましょう( A,B,x,y,z,wは全てルータ)。 ルーティングでは A から B へ行くために、Aはその全ての経路を 指定する訳ではありません(考えるというのとは別です)。指定は単に、 x に投げるか、あるいは zに投げるかだけしかありません。そこで、 ルーティングにおいては2つの方法が主には考えられました。Aは 本当に x,z しか知らないというものです。つまり、経路上に y や w があっても、A はその存在を知らないという考え方です。 同じように、x は、A,z,yしか知らず、他のルータについても同様の 状況にある訳です。勿論、これだけならば、AからBに到達するのに、 どこを通るべきかという判断基準がありませんので、通常ルーティング ではコストという考え方でより良い経路を計算します。ここでは、単純 に隣接間のコストは1であるとしましょう。すると、例えば、 A->x->y->B はコスト3となり、A->z->x->y->B はコスト 4となるので、前者の方が良い経路となります。但し、このままでは、 A->z->w->B とは同じコストで区別がつきません。このような 考え方のアルゴリズムの代表が RIP です。RIPなどの良い点は、各 ルータの仕事が隣接ルータのどこに送るかという判断のみにある点に あります。一方、問題はいずれかのルータが故障した際に、それをどの ように発見し、全体にそれを通知するかにあります。当然、隣接以外 のルータについての情報は受け取りませんので、ある経路のコストが 高い、あるいは無限に高い(つまり、到達できない)という情報を通じて その問題をネットワーク全体に通知しようとします(Poison reverse)。 これは、些か 持って回った方法で、そのためにRIPには固有の問題が存在します。

一方、全てのルータが隣のルータのみならず経路全部について知っている ようなアルゴリズムも考えられます。この場合、AはBへの最適な経路を全て 考えた上で、パケットを送り出します。次に、そのパケットを受け取った ルータは再びBへの最適な経路を全て考え直します。このように、全ての ルータがもし同じ経路の情報を知っているならば、その考え方は一致し ますので、同じ矛盾のない、最適な経路が選ばれることになります。この 方法の欠点は、各ルータがパケットを転送しようとする度に、同じことを 考えるという点にあり、そのために無駄が生じますが、一方、ルータzに 問題が生じた際には素早く代替経路を考えることが出来ます(全てのネットワーク を理解している訳ですから当然と言えば当然ですね)。 このようなアルゴリズムの代表がOSPFです。

このような区別の他に色々な特徴を持ったルーティングプロトコルが存在 しますが、以下ではもう少し詳しくこれらの違いについて解説をしましょう。





Noriyo Kanayama