EIGRPのメトリック計算はそんなに難しくない

EIGRPのメトリック計算ってめんどくさそうで敬遠していたのだが、やっぱりちゃんと覚えないとだめだと思いあらためて確認したら、それほど複雑ではなかった。

基本的に、経路上の一番小さい帯域幅と、遅延の合計がわかれば計算できる。

インターフェースの帯域幅と遅延は、show interfaceで確認できる。


CMLのIOSvルータ

Bandwidth: 1000000 Kbit/sec(=1000Mbit/sec = 1Gbit/sec), Delay 10μsec





ASA5506

Bandwidth 1000 Mbps(=1Gbps), Delay 10μsec





Cisco892

Bandwidth: 100000 Kbit/sec(=100MKbit/sec), Delay 100μsec

あれ、GigabitEthernetなのに100M?




FastEthernetと同じ....







K値はメトリックを計算するときにかける係数、つまり重みだが、デフォルトでは帯域幅と遅延以外はゼロである。つまり、帯域幅と遅延以外の値はゼロになる。つまり、無視される。

そして、帯域幅と遅延にかけられる係数のデフォルト値は1、つまりそのままの値である。
だから、K値はとりあえず無視してよい。帯域幅は、大きいほど速い。つまり、目的の経路までに速く到達できる。帯域幅をそのまま足すと速いほど大きい値になってしまう。そこで、ある値を基準として、どれだけ小さいかを計算する。

複数のリンクを経る場合、たとえば1G→100M→1G→10G→10M→1G→1G という場合、一番遅いところを採用する。厳密にルータAからルータxへ到達する時間を測定するには経由するすべてのインターフェースの帯域幅を考慮しなければならないだろうが、eigrpのメトリック計算においてはそこまではしない。

1G→1G→1G→1G→1G→100M→1G→1G であっても、
100M→100M→100M→100M→100M→100M→100M→100Mであっても、
100Mが採用される。

ちなみにメトリックの正式な計算式はこうである。





うわぁ...という感じだが、先述のようにK1とK3以外はゼロなので、こうなる。





これでもまだちょっとメンドクサイが、よく見るとそんなに難しくない。

10^7 / Min Bandwidth というのは、

10^7 = 10000000 Kbit/sec で、= 10000Mbit/sec = 10Gbit/sec


「10Gを最小帯域幅で割った値」である。


割るといっても全部10^nなので、最小帯域幅が 1Gなら10で、100Mなら100。10Gなら1と、計算というほどの計算ではない。

ディレイも同様で1Gの場合10μsecだから1, 100Mの場合100μsecだから10。


























この構成でR5のルーティングテーブルを見ると




192.168.3.0/24, 192.168.4.0/24 のメトリックは3072である。
1Gのインターフェースを二つ経由するから、最小帯域幅は1G, 遅延の合計は 20、

10G/1G + 20/10 = 12 で、

256 * 12 = 3072

である。

経由するルータが3つ4つと増えても、
帯域幅が同じなら遅延だけ増やせばよい。
上記は1ホップ先だが、3ホップ先で経由するインタフェースは全部1Gのデフォルト設定であれば、
256*14 = 3584