■ ルーティング
ルータは世界中の大小様々なネットワークを結ぶデバイスだ。
ルータがなければ、インターネットは稼動しない。
最適ルートを探し出して、パケットを運んでくれるんですよね。
うむ。
ネットワークとネットワークを繋ぐルートを探し、それに応じて運んでくれるわけだ。
ルートは、静的ルーティングと動的ルーティングで決定されるんでしたよね。
そうだ。
静的ルーティングは、管理者が手動でルートを決定する方法だ。
動的ルーティングは、ルータが自動でルートを決定する、と。
ルーティングプロトコルがそれを実現するんですよね。
…。
どうしました、博士?
やけに今日は説明的だな、ネット君。
何をたくらんでいる。
え?
別にそんなたくらんでなんか。
ふむ。シラを切るか。
ネタはあがっているんだぞ。
ネタって、そんな。
いや、ほんと、なにもたくらんでませんって。
…。
え、えぇっ?
は、博士!? な、な、なにか僕をうたがってらっしゃるんですか?
…。
信じてくださいよ、博士。
ぼ、僕はなにも…。
ネット君。冗談だ。
このまま放っておいて、何を言い出すかをみるのも楽しいが。今日のところはこのぐらいにしておこう。
…。
■ ルーティングプロトコル
ともかく。
何か障害が発生した際、迂回路を作るなどの冗長性を維持するため、動的ルーティングを使うことが多い。特に大規模ネットワークでは必須といっていい。
障害が発生したら、パケットが届かなくなってしまいますものね。
迂回路が作れないと困りますよね。
うむ。
そのため、先ほどネット君が説明したとおり、動的ルーティングを実現するルーティングプロトコルをルータは実装している。
るーてぃんぐぷろとこる。
ルーティングプロトコルは、何を行うかというと。
近接ルータ間とネットワークの情報を交換しあう。
はい。
そして、交換した情報をもとにしてルーティングテーブルを変更する。
この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 |
|
---|---|
EGP |
|
[Table32-01:ルーティングプロトコルの種類]
なんちゃらPばっかりですね。
うむ、プロトコルだからな。
ネットワーク用語で最後にPがつくのはほぼプロトコルだ。
そんなもんですか。
でも、なんでこんなに何種類もあるんですか?
そうだな、それぞれ得手不得手があるのだよ。
なので、IGPでは、それぞれのASでそこの管理者がASの状態に合わせてプロトコルを選ぶ。
EGPでは?
AS間のルーティングでは、BGPがスタンダードだ。
現在のインターネットでは最新バージョンのBGP4が使われている。
EGPは使われないんですか。
使われないというか、ちょっと旧式なのだよ。
さて、EGPとIGPという種類があるルーティングプロトコルだが、そのルーティングの仕方により、3種類にわけることもできる。
さらに区別するんですか。
うむ。
ディスタンスベクタ型、リンクステート型、拡張ディスタンスベクタ型の3種類だ。
ディスタンスベクタ |
|
---|---|
リンクステート |
|
拡張ディスタンスベクタ |
|
[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.0 | 210.81.36.1 | 3 | 1番ポート |
91.0.0.0 | 210.81.36.1 | 6 | 1番ポート |
172.36.0.0 | 130.82.10.1 | 2 | 2番ポート |
221.194.38.0 | なし | 0 | 3番ポート |
[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が使用する。
- ネット君の今日のポイント
-
- 動的ルーティングはルーティングプロトコルで実現される。
- 近接ルータ間とネットワークの情報を交換しあう。
- いつ、どうやって、誰に、何を送るのかをルーティングプロトコルが決定する。
- コンバージェンスに達する必要がある。
- 最適ルートをルーティングテーブルに載せる。
- 最適ルートはメトリックにより決定する。
- ホップ数、回線のスピード、混み具合、エラー率などが基準となる。