30 Minutes NetWorking
No.RT03

30Minutes NetWorking

BSCI

第3回経路集約

■ IPアドレス拡張技術

ハイパーネット助手

IPアドレスの枯渇まであと358日

スーパーインター博士

…あの、ネット君?

ハイパーネット助手

いよし、勝った!

スーパーインター博士

…。
「Webか、なにもかも懐かしい…。」

ハイパーネット助手

しまった。そっちを忘れてた。

スーパーインター博士

挨拶代わりの軽いギャグの応酬はともかく。

ハイパーネット助手

はい。

スーパーインター博士

前回に続いて、IPアドレス枯渇の問題を解決するための、拡張技術の話だ。

ハイパーネット助手

前々回がCIDR。前回がVLSMでした。
今回もまた謎な4文字アルファベットですか?

スーパーインター博士

謎な4文字アルファベットとは言いえて妙だな。
今回は、特にそういうものは出てこない。

ハイパーネット助手

そりゃ安心というか、残念というか。

スーパーインター博士

前回までの2つの技術、CIDRとVLSMで何が行えるかという話をしよう。
IPアドレスの拡張という話からはちょっとそれるが、覚えたうちに説明しておかないとな。

ハイパーネット助手

どうせ僕の記憶は揮発性ですからね。

スーパーインター博士

すねるなネット君。男がすねてもかわいくないぞ。

ハイパーネット助手

む〜。

■ ロンゲストマッチ

スーパーインター博士

今回話すのは、経路集約の話だ。

ハイパーネット助手

経路集約?
経路っていうと、パスですか?

スーパーインター博士

確かにパスだが、それは「犬といえば、ドッグですか?」と言ってるのに等しいぞ。
何の説明にもなってない。

ハイパーネット助手

う〜。

スーパーインター博士

まず、思い出してほしいのは、ルータの動作だ。ルータはデータを受け取ると、ルーティングテーブルを参照する。
この時のキーワードはロンゲストマッチだ。

ハイパーネット助手

ろんげすとまっち?

スーパーインター博士

ネットワークアドレスが一致するものが、テーブルのエントリに2つ以上含まれていた場合、より多くのビットが一致する方を選ぶというルールだ。

ハイパーネット助手

スーパーインター博士

たとえば、以下のようなルーティングテーブルを持つルータがあるとする。

宛先ネットワークネクストホップ
entry1192.168. 1.0/24210.31.100.2/24
entry2192.168.1.192/26210.31.100.2/24
entry3192.168.1.208/28210.110.100.2/24

[TableRT03-01:ルーティングテーブル]

スーパーインター博士

ここに、宛先192.168.1.213のパケットが送られてきた場合どうなる?

ハイパーネット助手

え〜っと。
192.168.1.xですから、どのエントリにも当てはまりますね。

スーパーインター博士

そうだ。だが第4オクテットのビットがもっとも一致するのは、entry3だ。
なのでentery3に送る。

ハイパーネット助手

は〜。なるほど。

■ 経路集約

スーパーインター博士

これがルータの経路設定の方式だ。
うむ、これは頭に入れておくとして、下図を見てくれ。

経路集約
スーパーインター博士

ドメイン・アルファは10個のクラスCネットワークからなる。
内部に幾つかのルータがあるが、外のネットワークと接しているのはルータBだけだ。ルータBは、ルータAに対しどのようなルーティング・アップデートを送る?

ハイパーネット助手

え〜っと。
ドメイン・アルファ全体の情報、かな?

スーパーインター博士

うむ。10個のネットワークを記載したルーティングアップデートだな。
そうすると、ルータAのテーブルは以下のようなエントリができる。

宛先ネットワークネクストホップ
192.168. 1.0/24ルータB
192.168. 2.0/24ルータB
192.168. 3.0/24ルータB
192.168. 4.0/24ルータB
192.168. 5.0/24ルータB
192.168. 6.0/24ルータB
192.168. 7.0/24ルータB
192.168. 8.0/24ルータB
192.168. 9.0/24ルータB
192.168.10.0/24ルータB

[TableRT03-02:ルータAのエントリ]

スーパーインター博士

なんとも無駄じゃないか、ネット君。
すべて同じネクストホップ宛なんだぞ?

ハイパーネット助手

確かにまとめてしまえば、いいですよね…。
…、そうか。これが経路の集約って意味ですね、博士?

スーパーインター博士

そうだ。
ルータBが「私は192.168.0.0/16と接続しています」というルーティングアップデートを送ることにより、以下のようになる。

宛先ネットワークネクストホップ
192.168. 0.0/16ルータB

[TableRT03-03:ルータAのエントリ・集約]

ハイパーネット助手

なるほど、見事にまとまっていますね。
って、あれ? これはどこかで聞いた話のような…。

スーパーインター博士

相変わらず、見事に揮発してるな
忘却は救いというが、君はずいぶん救われてるうらやましい人間なのかもしれん。

ハイパーネット助手

う〜ん。う〜ん…。
そうか、CIDRの時だ!

スーパーインター博士

ようやっと思い出したか。
では、CIDRの制約はなんだった?

ハイパーネット助手

覚えてますよ、博士。
プレフィックス長を含むアップデートが可能なルーティングプロトコル、ですね。

スーパーインター博士

よしよし、ちゃんと覚えていたな。 そうだ、ルーティングアップデートの時にプレフィックス長を教えなければならない。
受け取った側がデフォルトマスクやインタフェースの情報から判断しては困るのだよ。

ハイパーネット助手

なるほど。デフォルトマスクで判断しちゃうと、192.168.0.0/24という1つのネットワークにしか見えませんからね。

■ 経路集約の利点と弱点

スーパーインター博士

うむ。
経路を集約すると、以下のような利点がある。

  • テーブルのサイズが縮小することにより、必要メモリ、ルーティング時のテーブル検索にかかるプロセッサのパワーなどが小さくてすむ
  • アップデートのサイズの縮小により、トラフィック量が減少する
ハイパーネット助手

は〜、こりゃ便利。

スーパーインター博士

だが、なんでもかんでも集約すればいいわけではない。
例えば、下の図だ。

経路集約・間違えやすい例

[FigureRT03-01:経路集約・間違えやすい例]

スーパーインター博士

まずはドメイン・ベータから考えてみよう。
さてネット君。どう集約する?

ハイパーネット助手

そうですね。
第3オクテットが、65〜72なので。192.168.64.0/20です。

スーパーインター博士

よし。ルータBは、ルータAに対し「192.168.64.0/20が接続されている」と送る。
次は、ドメイン・ガンマだ。

ハイパーネット助手

え〜っと。
第3オクテットが、75・76だと。192.168.72.0/21になります。
…なんかおかしいな。

スーパーインター博士

ふふふ。ともかく話を進めてみよう。
したがって、ルータAのルーティングテーブルには以下のようにエントリされる。

宛先ネットワークネクストホップ
192.168. 64.0/20ルータB
192.168. 72.0/21ルータC

[TableRT03-04:ルータAのエントリ]

ハイパーネット助手

あれ?テーブルだけみるとそんなにおかしくないな。

スーパーインター博士

さて、宛先ネットワーク192.168.72.0がルータAに送られてきた。
ネクストホップはどちらだ?

ハイパーネット助手

72.0はドメイン・ベータにあるから、ルータBです。

スーパーインター博士

それは俯瞰してみることのできる人間の判断だ。
ルーティングテーブルのみで判断しなさい。ロンゲストマッチだぞ、忘れたのか

ハイパーネット助手

192.168.64.0/20も192.168.72.0/21もどちらも当てはまるけど。
最長一致するのは192.168.72.0/21…?

スーパーインター博士

そうだ、ネクストホップは、ルータCになる。

ハイパーネット助手

はぅ。

スーパーインター博士

たしかに経路集約は、ルータやネットワークの負荷を減らす有益なテクニックだが。
上手く集約しないと逆に宛先がおかしくなる可能性も含んでいるのだ。

ハイパーネット助手

はわ〜。

スーパーインター博士

説明はここで終わりだ。

ハイパーネット助手

了解。
30分間ネッ…

■ 経路集約・問題

スーパーインター博士

まぁ、待てネット君。
慌てるガンジーは悟りが少ない、というぞ。

ハイパーネット助手

いいません
それに「じ」しかあってません。

スーパーインター博士

そうか? 「慌てる小島秀夫」だったか。
それはともかく、ちょっと待ちたまえネット君。

ハイパーネット助手

なんですか?

スーパーインター博士

経路集約は、慣れが必要だ。
というわけで、以下の図だ。

経路集約・問題

[FigureRT03-02:経路集約・問題]

スーパーインター博士

192.168.100.0のクラスCアドレスをあげよう。
サブネットワークA〜Dの4つのネットワークと、Eのルータ間のネットワークにアドレスを割り振りなさい。

ハイパーネット助手

VLSMの問題ですね。

スーパーインター博士

うむ、かつサブネットEを矢印方向に流れるアップデートと、外にでる時のアップデート、この2つのアップデートにどのような集約した情報を載せるか、答えなさい。

ハイパーネット助手

うへぇ。

スーパーインター博士

ま、宿題だな。▼ link

ハイパーネット助手

はぁ、やっときます。
30分間ネットワーキングでした〜♪

あと358日
やっぱり嘘です。信じないように。
謎な4文字アルファベット
ネットワーク用語にかぎらず、情報処理系の単語は4文字のアルファベットが多いですね。
パス
[path]
ルータがパケットを宛先に届けるため選択する経路。
ロンゲストマッチ
[longest match]
最長一致。
エントリ
[entry]
登録。
おもにルーティングテーブルや、ARPキャッシュなどのテーブルに記載された情報のことを指す。
もっとも一致する
第4オクテットのみ表記すると。
packet:11010101
entry 1:00000000
entry 2:11000000
entry 3:11010000
ルーティングアップデート
ディスタンスベクタとリンクステートで中身の違いはありますが、結果として表のようなテーブルができます。
65〜72
65:01000001
66:01000010
67:01000011
68:01000100
69:01000101
70:01000110
71:01000111
72:01001000
75・76
75:01001011
76:01001100
最長一致する
packet :01001000
64.0/20:01000000
72.0/21:01001000
小島秀夫
「メタルギア・ソリッド2」は慌てて出したんでしょうか?
宿題
インター博士は宿題を出すとほったらかしにする悪い癖があります。
なので解答のページを作っておきました。参考リンクを見てください。
ハイパーネット助手ハイパーネット君の今日のポイント
  • VLSMやCIDRにより、経路を集約できる。
  • 経路を集約すると、ルータやネットワークの負荷が軽減できる。
  • 経路集約は注意深くやること。

30 Minutes NetWorking No.RT03

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