3 Minutes NetWorking
No.32

3Minutes NetWorking

第32回レイヤ3 ルーティングプロトコル

■ ルーティング

インター博士

ルータは世界中の大小様々なネットワークを結ぶデバイスだ。
ルータがなければ、インターネットは稼動しない。

ネット助手

最適ルートを探し出して、パケットを運んでくれるんですよね。

インター博士

うむ。
ネットワークとネットワークを繋ぐルートを探し、それに応じて運んでくれるわけだ。

ネット助手

ルートは、静的ルーティング動的ルーティングで決定されるんでしたよね。

インター博士

そうだ。
静的ルーティングは、管理者が手動でルートを決定する方法だ。

ネット助手

動的ルーティングは、ルータが自動でルートを決定する、と。
ルーティングプロトコルがそれを実現するんですよね。

インター博士

…。

ネット助手

どうしました、博士?

インター博士

やけに今日は説明的だな、ネット君。
何をたくらんでいる

ネット助手

え?
別にそんなたくらんでなんか。

インター博士

ふむ。シラを切るか。
ネタはあがっているんだぞ。

ネット助手

ネタって、そんな。
いや、ほんと、なにもたくらんでませんって。

インター博士

…。

ネット助手

え、えぇっ?
は、博士!? な、な、なにか僕をうたがってらっしゃるんですか?

インター博士

…。

ネット助手

信じてくださいよ、博士。
ぼ、僕はなにも…。

インター博士

ネット君。冗談だ
このまま放っておいて、何を言い出すかをみるのも楽しいが。今日のところはこのぐらいにしておこう。

ネット助手

…。

■ ルーティングプロトコル

インター博士

ともかく。
何か障害が発生した際、迂回路を作るなどの冗長性を維持するため、動的ルーティングを使うことが多い。特に大規模ネットワークでは必須といっていい。

ネット助手

障害が発生したら、パケットが届かなくなってしまいますものね。
迂回路が作れないと困りますよね。

インター博士

うむ。
そのため、先ほどネット君が説明したとおり、動的ルーティングを実現するルーティングプロトコルをルータは実装している。

ネット助手

るーてぃんぐぷろとこる。

インター博士

ルーティングプロトコルは、何を行うかというと。
近接ルータ間とネットワークの情報を交換しあう

ネット助手

はい。

インター博士

そして、交換した情報をもとにしてルーティングテーブルを変更する
この2つが、ルーティングプロトコルの機能だ。

ネット助手

情報を交換して、それによってルーティングテーブルを変更する。
なんか簡単そうなんですけど。

インター博士

そうでもない。これがなかなか奥深い。
まず、ルーティングプロトコルを説明する前に、2つ説明しておくことがある。

ネット助手

なんです?

■ ルーティング対象プロトコル

インター博士

まず1つ目は、ルーティング対象プロトコルだ。

ネット助手

るーてぃんぐ対象ぷろとこる?

インター博士

そうだ。
まず聞こう、ルートとはなんだ?

ネット助手

ルートって、宛先のネットワークへの経路ですよね。

インター博士

うむ。
では、宛先のネットワークはどのようにしてわかる?

ネット助手

どのようにしてって。
宛先IPアドレスと、サブネットマスクで…。

インター博士

そう。IPアドレスを使用してルーティングする
ルーティング対象プロトコルとは、ルートを決定する際の情報を持つプロトコルのことだ。

ネット助手

インター博士

つまり、論理アドレスを提供し、実際にデータを転送するプロトコルのことだ。
IP、IPXなどがこれにあたる。

ネット助手

ははぁ。

インター博士

今まではIPだけ説明してきたが、実際ルータは、使用されるルーティング対象プロトコルごとにルーティングテーブルを持つ。

ネット助手

ということは。
IPのルーティングテーブルと、IPXのルーティングテーブルの2つを持つってことですか?

インター博士

うむ。
そのネットワークで両方使われていればな。

ネット助手

なるほど。

■ 自律システム

インター博士

2つ目は自律システムと呼ばれるものだ。
通常は頭文字をとって、ASと呼ばれる。

ネット助手

自律しすてむ?
えーえす?

インター博士

うむ、エーエスと読む。
1つの管理団体によって管理されるネットワークの集合体だ。
ASはルーティングでは1つの範囲として扱われる。

ネット助手

インター博士

インターネットでは、あまりに多くのネットワークが存在するな。

ネット助手

そうですね。
プロバイダ1つが1つのネットワークとしても、日本だけでかなりありますよね。

インター博士

なので、インターネットでは同じ組織が管理する複数のネットワークをASとしてまとめてしまう。
1つ1つのネットワークに対しルートを決定するのではなく、まずASに対しルートを設定する。

ネット助手

ははぁ。

インター博士

さらに、AS内部でどのネットワークか判断をし、ルートを設定する。
簡単な例で言うならば、そうだな国際電話の国番号かな。 ▼ link

ネット助手

国番号?

インター博士

電話番号0123-45-6789は「0123」ネットワーク内「45」ネットワーク「6789」番だと考えると。
「0123」ネットワークへいきなりルーティングするのではなく、まず「日本(081)」というAS宛にパケットを送る。

ネット助手

で、「日本」というASに到着後、AS内部でルーティングする、ということですか。

インター博士

そうだ。
まず大きな単位でルーティングし、さらに細かい範囲でルーティングする。
こっちの方が効率がいいだろう?

ネット助手

それはそうですね。

自律システム

[Figure32-01:自律システム]

インター博士

さて、ルーティングするために、ASに番号をつけている。
これはもちろん、世界中でユニークな番号だ。インターネットでユニークといえば、お約束の団体があるはずだな?

ネット助手

インターネットでユニークといえば?
…。ICANN!!

インター博士

うむ。正解だ。

ネット助手

やりぃ。

インター博士

AS番号は、IPアドレスやドメイン名同様、ICANNが管理している。
日本の場合はもちろん、JPNICだ。 ▼ link

ネット助手

なるほど。

■ ルーティングプロトコルの種類

インター博士

何故ASの話をしたかというと。
ルーティングプロトコルは大きく分けて2種類ある、という説明をしたかったからなのだ。

ネット助手

2種類?

インター博士

うむ。
AS間のルーティング用AS内部のルーティング用の2種類だ。
それぞれ、EGP、とIGPと呼ばれる。

ネット助手

いーじーぴー、と、あいじーぴー。

インター博士

うむ。
ただし、EGP、IGPは一般名詞だ。そういう名前のルーティングプロトコルを使用するわけではない。実際のルーティングプロトコルとしては以下のようなものがある。

IGP
  • RIP
  • OSPF
  • IGRP
  • EIGRP
EGP
  • BGP
  • EGP

[Table32-01:ルーティングプロトコルの種類]

ネット助手

なんちゃらPばっかりですね。

インター博士

うむ、プロトコルだからな。
ネットワーク用語で最後にPがつくのはほぼプロトコルだ

ネット助手

そんなもんですか。
でも、なんでこんなに何種類もあるんですか?

インター博士

そうだな、それぞれ得手不得手があるのだよ。
なので、IGPでは、それぞれのASでそこの管理者がASの状態に合わせてプロトコルを選ぶ。

ネット助手

EGPでは?

インター博士

AS間のルーティングでは、BGPがスタンダードだ。
現在のインターネットでは最新バージョンのBGP4が使われている。

ネット助手

EGPは使われないんですか。

インター博士

使われないというか、ちょっと旧式なのだよ。
さて、EGPとIGPという種類があるルーティングプロトコルだが、そのルーティングの仕方により、3種類にわけることもできる。

ネット助手

さらに区別するんですか。

インター博士

うむ。
ディスタンスベクタ型リンクステート型拡張ディスタンスベクタ型の3種類だ。

ディスタンスベクタ
  • RIP
  • IGRP
リンクステート
  • OSPF
拡張ディスタンスベクタ
  • EIGRP

[Table32-02:ルーティングプロトコルの種類・2]

ネット助手

うわ、なんか混乱してきた。

インター博士

使う場所によって、EGPとIGPの2種類に。
使う方式によって、ディスタンスベクタ、リンクステート、拡張ディスタンスベクタの3種類にわけることができる、ということだ。

ネット助手

はぁ。

■ ルーティングプロトコルが行うこと

インター博士

では、ルーティングプロトコルは何をするか、という点を話そう。
まず先ほども言ったとおり、ルータは近接ルータ間とネットワークの情報を交換しあう

ネット助手

どこかに障害が起きたりしてないか、という情報ですね。

インター博士

それもあるが、交換する情報はルーティングプロトコルによって違う

ネット助手

なんだ、そうなんですか。

インター博士

うむ。
そして、この情報交換をいつ行うかどうやって行うか誰に送るのか、ということなどをルーティングプロトコルが決定している。

ネット助手

いつ、どうやって、誰に。
5W1Hですか。

インター博士

Whyはいらないな。「何故?」「ルーティングテーブルを動的に更新するために」だからな。
ともかく、ルーティングプロトコルによって決定された手段により、情報を交換しあい、コンバージェンスに達するわけだ。

ネット助手

こんばーじぇんす。
すべてのルータが同一のルート情報を持つでしたっけ。

インター博士

そうだ。
前回でも出てきたとおり、食い違いがあると正しく届かない可能性があるからな。

[Figure31-05:コンバージェンスが必要な理由]

ネット助手

でしたよね。

インター博士

この交換し合ったルート情報を元に、最適ルートをルーティングテーブルに載せる。これにより、常に最適なルートが使用可能ということになる。

ネット助手

なるほど。

■ メトリック

インター博士

さて、最適ルート、最適ルートと何度も言っているが。
不思議に思わないかね、ネット君?

ネット助手

何がです?

インター博士

何故、最適と呼ぶか、だ。ルータは最適ルートを選択する。
では何故最短ではないのか?

ネット助手

え?
いや、あの。最短=最適だと思っていたんですが。違うんですか?

インター博士

違う。最短ルートが、最適ルートは限らない。
昔からよく言うだろう、「急がば走れ」と。

ネット助手

いや、それはそれであってますけど。
それをいうなら、「急がば回れ」でしょ。

インター博士

ああ、それだ。

メトリック

[Figure32-02:メトリック]

インター博士

さて、上の図でルータAからルータCにいくには。
最短は直接A→Cといくルートだが。最適は、A→B→Cといくルートだ。わかるな?

ネット助手

ルータを繋ぐ回線のスピードの問題ですか?
A→C間は64Kbps。A→B→C間は100Mbps。

インター博士

そうだ。
約1500倍のスピード差がある。直接Cに行くよりも、遠回りしてもより高速な回線を使った方が早いことがある、ということだ。

ネット助手

あ〜、確かにそういうことってありますよね。
山を直接横断する山道よりも、迂回する高速道路の方が早かったり。

インター博士

他にも、渋滞中の高速道路より、すいている一般道の方が早いことがあるよな? つまり、回線の混み具合なども影響する。
これらの最適ルートを決定する際の判断基準のことを、メトリックという。

ネット助手

めとりっく。

インター博士

うむ。
これらの判断基準、ホップ数や、回線のスピード、混み具合、エラー発生率などを計算して値にし、最小の値を持つものを最適ルートとするのだよ。

宛先ネットワーク次のルータ 距 離 
メトリック
ポート
192.168.1.0210.81.36.131番ポート
91.0.0.0210.81.36.161番ポート
172.36.0.0130.82.10.122番ポート
221.194.38.0なし03番ポート

[Table32-03:ルーティングテーブル]

インター博士

実を言うと、今まで例であげていたルーティングテーブルだが。
正確に言えば、距離のところはメトリックなのだよ。

ネット助手

なるほど。

インター博士

このメトリックは、使用するルーティングプロトコルによって異なる
例えば、RIPはホップ数だけを使うが、OSPFは回線のスピードを使う。ホップ数での例を挙げておこう。

メトリック・ホップ数

[Figure32-03:メトリック・ホップ数]

インター博士

A→B間で、上ルートはホップ数3。下ルートはホップ数4。
よって、上ルートが最短ルートとなり、ルータAのルーティングテーブルには中継ルータはX、メトリック3としてエントリされる。

ネット助手

他のメトリックの場合はどうやって計算するんです?

インター博士

それはまた先で話そう。
今回はこれで終了だ。

ネット助手

はい。

インター博士

次回は、RIPを例にして、ルーティングプロトコルをもう少し詳しく説明する。

ネット助手

了解ッス。
3分間ネットワーキングでした〜♪

ルーティング対象プロトコル
[routed protocol]
両方使われていれば
ルータによってはどちらかしか使えないものも存在します。(IPのみが多い)
このように複数のルーティング対象プロトコルをルーティングする場合、マルチプロトコルルーティングといいます。
自律システム
[Autonomous System]
経路ドメイン、経路制御ドメインとも呼ばれる。
国際電話の国番号
NTTで調べることができます。参考リンク参照。
ASに番号
[AS number]
AS番号といいます。16ビットの1〜65535まであり、IPアドレスと同じように64512〜65534はプライベートで使用できます。
JPNIC
JPNICが管理しているAS番号を調べることもできます。参照リンクを参照のこと。
EGP
[Exterior Gateway Protocol]
AS間のルーティングプロトコルの総称
EGPには、実際のプロトコルとしてEGPというものがあるので混同しないように。
混同しないようEGPsと表記することもある。
IGP
[Interior Gateway Protocol]
AS内部のルーティングプロトコル。
最後にPがつくのは…
知ってる範囲で例外は、ツイストペアケーブル(UTP・STP)ぐらい。
ディスタンスベクタ型
[Distance-Vector]
Distanceは距離、Vectorは方向(ベクトル)。なので距離ベクトル方式とも呼ばれる。
または、そのアルゴリズムからベルマンフォード型[Bellman-Ford]とも呼ばれる。
リンクステート型
[link state]
リンク状態型とも呼ばれる。
隣接するルータまでの情報をすべてのルータに送り、ルート情報のデータベースを作成してルーティングテーブルを変更する。
最短ルートのアルゴリズムにはダイクストラ法[Dijkstra's algorithm]を使う。
拡張ディスタンスベクタ型
[Enhanced Distance-Vector]
ディスタンスベクタを基本としながらも、リンクステートの利点もあわせ持つルーティングプロトコル。
ハイブリッドルーティング[Hybrid Routing]とも呼ばれる。
メトリック
[metric]
ホップ数
[hop count]
送信元から宛先までの、通過するルータの数。
RIPが使用する。
ネット助手ネット君の今日のポイント
  • 動的ルーティングはルーティングプロトコルで実現される。
  • 近接ルータ間とネットワークの情報を交換しあう。
    • いつ、どうやって、誰に、何を送るのかをルーティングプロトコルが決定する。
  • コンバージェンスに達する必要がある。
  • 最適ルートをルーティングテーブルに載せる。
  • 最適ルートはメトリックにより決定する。
    • ホップ数、回線のスピード、混み具合、エラー率などが基準となる。

3 Minutes NetWorking No.32

管理人:aji-ssz(at)selene.is.dream.jp