30 Minutes NetWorking
No.RT12

30Minutes NetWorking

BSCI

第12回EIGRP(2) テーブルと隣接関係

■ EIGRPの3つのテーブル

スーパーインター博士

さて、前回からEIGRPの話をしているわけだが。

ハイパーネット助手

はい。

スーパーインター博士

簡単に言えば、リンクステートのいい所を足したディスタンスベクタという拡張ディスタンスベクタルーティングプロトコルなわけだ。

ハイパーネット助手

でした。
コンバージェンスが早くなって、イベントトリガアップデートするディスタンスベクタでしたよね。

スーパーインター博士

うむ。
なので、EIGRPでは通常のルーティングテーブル以外にもテーブルを持つ。

ハイパーネット助手

へへぇ。RIPやIGRPのディスタンスベクタだと、ルーティングテーブルしか持たなかったですよね。

スーパーインター博士

そうだ。だがリンクステートのOSPFはネイバーテーブルを別に持っている。
それと同様にEIGRPもルーティングテーブルとは別に2つのテーブルを持っている。

  • ルーティングテーブル
  • ネイバーテーブル
  • トポロジテーブル
スーパーインター博士

この3つだ。
これをルーティング対象プロトコル毎に1つもっている。

3つのテーブル

[FigureRT12-01:3つのテーブル]

ハイパーネット助手

IPとIPXとAppleTalk。
そうか、EIGRPはマルチプロトコルルーティングプロトコルでしたっけ。

スーパーインター博士

そういうことだ。
まず役割だが、ネイバーテーブルは、隣接関係にあるネイバーの一覧だ。

ハイパーネット助手

隣接関係。
こんにちはパケットですね。

スーパーインター博士

まだそれを言うか。
まぁ、ともかく。それについてはちゃんと話してやる。

ハイパーネット助手

あ、はい。

スーパーインター博士

もう1つが、トポロジテーブル。ネイバーから教えてもらったすべてのパスが載っているものだ。

ハイパーネット助手

すべてのパス?
OSPFのトポロジデータベースとは違うんですか?

スーパーインター博士

あれよりもっと簡単なものだ。トポロジデータベースは全ルータのリンク状態を記録しておくものだが、トポロジテーブルは、あくまでネイバーからの情報を記入しておくものだ。

ハイパーネット助手

スーパーインター博士

そうだな。ディスタンスベクタで、隣のルーティングテーブルを受け取るだろう?

ハイパーネット助手

えぇ。それを元にして、自分のルーティングテーブルを更新するんですよね。

スーパーインター博士

うむ。トポロジテーブルはその受け取ったルーティングテーブルをまとめたものだと思うのが簡単だ。
つまり、すべてのパスと、そのネクストホップ(ネイバー)、そのネイバーからのメトリック、が記載されている。

ハイパーネット助手

ははぁ。

スーパーインター博士

つまり、ルーティングテーブルを作る元情報だな。
ルーティングテーブルは、このトポロジテーブルに載っているすべてのパスからベストパスを抽出して出来上がるわけだ。

トポロジテーブルとルーティングテーブル

[FigureRT12-02:トポロジテーブルとルーティングテーブル]

ハイパーネット助手

FD? AD?

スーパーインター博士

フィージブルディスタンスアドバタイズドディスタンスだ。
それについてはDUALとサクセサの話でする。

ハイパーネット助手

了解です。

■ EIGRPの隣接関係

スーパーインター博士

ネイバーテーブルは、隣接関係にあるネイバーの一覧だと言ったな。

ハイパーネット助手

はい。

スーパーインター博士

隣接関係を作るのに使うのは、OSPFと同じHelloパケットだ。

ハイパーネット助手

こんにちはパケット登場ですね。

スーパーインター博士

うむ。
さて、ネット君OSPFの隣接関係の結び方を覚えているかね?

ハイパーネット助手

え〜っと。Helloを交換しあって2Way Stateになって。
そっからデータベース情報を交換して、Full Stateになって隣接関係になります。

スーパーインター博士

よしよし。よく覚えていた。つまりそのFull Stateになって初めてコンバージェンスになるわけだ。
だが、EIGRPの隣接関係の結び方はもっとシンプルだ。

[FigureRT12-03:EIGRPの隣接関係の確立]

スーパーインター博士

どうだ。シンプルだろう?

ハイパーネット助手

あ〜、シンプルというか、なんというか…。
手抜き?

スーパーインター博士

手抜きとはなんだ、手抜きとは。シンプルと言え。
2Way → ExStart → ExChange → Loading → Full という流れのOSPFよりも格段に速くコンバージェンスに達することができるわけだ。

ハイパーネット助手

でも、なんでこんなに短いんです?

スーパーインター博士

それは隣接したルータとしかデータを交換しないディスタンスベクタだからだ。
エリア内全ルータからDR/BDRを選出して隣接関係を結んでデータを交換するOSPFよりも作りがシンプルなのだよ。

ハイパーネット助手

なるほど。一度は全ルータとHelloを交換しあう必要もなければ、隣接関係を結ぶ相手を選ぶ必要もないわけですね。

スーパーインター博士

うむ。ややこしくなっているが、基本はディスタンスベクタということを忘れるな。

ハイパーネット助手

なるほど。

スーパーインター博士

この隣接関係だが、相手と以下の値が一致していないと隣接関係になれない。

  • メトリックを計算するK値
  • AS番号
ハイパーネット助手

AS番号の一致は、同一AS内でのルーティングプロトコルだからですよね。
K値は…なんでしたっけ?

スーパーインター博士

おいおい、前回話しただろう?
帯域幅、遅延、信頼性、負荷、MTUからメトリックを計算するための係数だ。

ハイパーネット助手

あぁ、そうそう。そうでした。
K値が違うってことは、距離を測る定規が違うってことでしたよね。

スーパーインター博士

うむ。
さて、このHelloだが、隣接関係になった後、定期的に交換しあう。つまり、生存確認だな。

ハイパーネット助手

OSPFでもHelloを定期的に送りあって、相手がダウンしてないか確認しましたよね。

スーパーインター博士

そう、それと同じことを行う。
Helloを送る間隔をHello間隔という。

ハイパーネット助手

なんともストレートなネーミングですね。

スーパーインター博士

わかりやすくていいだろう?
このHello間隔の3倍の時間Helloが届かなかった場合、相手がダウンしたと判断する。この時間をホールドタイムという。

ハイパーネット助手

ほーるどたいむ?
えっと、RIPとかIGRPのホールドダウンタイムとは違うのですか?

スーパーインター博士

ホールドダウンタイムとは別物だ。ホールドタイムは相手のダウン確認の時間。ホールドダウンタイムはループを防ぐためのルート変更の保留時間だ。

ハイパーネット助手

なんかややこしいですね。

■ EIGRPパケット

スーパーインター博士

Helloを含むEIGRPで使われるパケットは以下の5種類だ。

種類説明
Helloネイバールータの発見。ネイバールータの生存確認に使用。
Updateルートの通知。変更時のみ、変更分だけ通知。
ReplyQueryに対する返答。
Queryルート問い合わせ。ルートのダウン時に新しいルートを問い合わせる。
AcK確認応答。

[TableRT12-01:EIGRPパケット]

ハイパーネット助手

HelloとUpdateとAckはさっき出てきましたね。
queryとReplyってのは?

スーパーインター博士

それについてはDUALのところで説明する。
ここで重要なのは、Helloを除くものは必ずAckが必要という点だな。

ハイパーネット助手

必ずAcKが必要?
つまり、UpdateやQuery、Replyを受け取ったら確認応答としてAcKを送り返すってことですか?

スーパーインター博士

その通り。
それによりEIGRPは高い信頼性を保持してるわけだな。

ハイパーネット助手

Helloにはいらないんですね。

スーパーインター博士

うむ、Helloは定期的に送られるからな。
そして、Ackがなかった場合、再送信する

ハイパーネット助手

ははぁ。TCPと同じですね。

スーパーインター博士

16回まで再送信するが、それでも返答がなかった場合はダウンしたとみなし、ルートの変更動作を行うわけだ。

ハイパーネット助手

なるほど、変更点を確実に相手に伝えようとするわけですね。
信頼性が高いなぁ。

スーパーインター博士

そういうことだ。
さて今回はこれぐらいにしておこう。

ハイパーネット助手

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

フィージブルディスタンス
[Feasible Distance]
アドバタイズドディスタンス
「Advertised Distance]
Hello間隔
通常は5秒。
ただし、1.5Mbps以下の低速回線を使用する場合は60秒。
再送信
最初の送信がマルチキャストでも、再送信はユニキャストで行われます。
ハイパーネット助手ハイパーネット君の今日のポイント
  • EIGRPはルーティング対象プロトコル毎にテーブルを3つ持つ。
    • ルーティングテーブル。
    • ネイバーの一覧のネイバーテーブル。
    • すべてのパスが載っているトポロジテーブル。
  • EIGRPもHelloで隣接関係を結び、生存確認を行う。
  • 隣接関係はOSPFよりも早く結ばれる。
  • EIGRPではAckによる高信頼性を確保している。

30 Minutes NetWorking No.RT12

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