EIGRP
EIGRP
IOS12.2 EIGRP configuration guide
http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/fipr_c/ipcprt2/1cfeigrp.htm
- Cisco独自プロトコル
- IPだけでなく、Novell IPXとAppleTalkにも対応しているマルチプロトコル
- IGRPを拡張したもの。IGRPと同じメトリックを使用。
- 同じASNの場合、IGRPと自動的にredistributeする
- DUAL(Diffusing Update Algorithm)によるfast convergenceとloop freeを保証
- 基本はディスタンスベクタだが、リンクステート的な面ももち、ハイブリッド型と呼ばれたりもする
- 部分的なアップデートの送付
- Neighbor Discovery (Hello Protocolをもつ)
- unequal cost paths load balancingをサポート
- ospfより柔軟なところは
- distribute listをfull support
- どのinterface、どのrouterでもmanualでsummarizationできる
- 3つのtableをもつ
- EIGRP neighbor table
- EIGRP topology table
- Routing table
- Reliable Transport Protocol
- 信頼性の必要なところ(Updateなど)はUnicastでAck、そうでないところ(Helloなど)ではMulticastでAckなし。
- Helloをマルチキャスト(224.0.0.10)(0100.5e00.000a)でやりとり。5sか60s。(hold timeはその3倍)
設定
EIGRPを有効にする
EIGRPプロセスを動作させ、EIGRPを動作させるインターフェースを指定する。インターフェースの指定はネットワークで指定し、ネットワークコマンドで入れたものの中に含まれるIPアドレスを持ったインターフェースでEIGRPのパケットをやりとりするようになる
Router(config)# router eigrp autonomous-system Router(config-router)# network ip-address [ wild-card-mask ]
ここでautonomous-systemとはいわゆるBGPのASとは異なるが、おなじAS番号をもったEIGRP(及びIGRP)プロセス同士でEIGRPの経路交換を行うため、(BGP)AS内で一つのIGPという意味ではBGPのASとあわせておいたほうがわかりやすいと思う。
また、ネットワークコマンドでwild-card-mask使わない場合は、クラスフルでの指定となるため、EIGRPを動かすインターフェースを特定するときは注意する。
Neighbor Adjacency Change Loggingを有効に
EIGRPではデフォルトで隣接関係が変わったときにその旨を出力してくれない。OSPFのように、隣接関係が変わったらコンソールに出力してもらい時に設定する。
Router(config-router)# eigrp log-neighbor-changes
EIGRPの使える帯域の変更
通常EIGRPはbandwidthインターフェースコマンドで設定した帯域の50%しか使えない。この割合を変更するには、
Router(config-if)# ip bandwitdh-percent eigrp percent
EIGRPメトリック計算変更
EIGRPのメトリックは帯域、回線の遅延、信頼性、負荷、MTUの5つを使って計算される。ただしデフォルトでは帯域と遅延のみが使用される。このメトリック計算式は下記で表される。
メトリック = { K1*帯域 + ( K2*帯域 ) / (256-負荷) + K3*遅延 } * { K5 / ( 信頼度+K4 ) }
デフォルトでは、
K1 = 1
K2 = 0
K3 = 1
K4 = 0
K5 = 0
となっているため、デフォルトでは
メトリック = 帯域 + 遅延
となる。このK値を変えることによってメトリック計算式を変更できる。
Router(config-router)# metric weights tos k1 k2 k3 k4 k5
このK値が一致していない場合、隣接関係はUPしないためネットワーク内で一致させる必要がある。
Offset List
INまたはOUTの経路に対し、メトリックを増やすことができる。ただし、引くことはできない。ACLを用いることにより、特定の経路に対しメトリックを増やすことも可能。
Router(config-router)# offset-list [ access-list-number | access-list-name] { in | out } offset [ interface ] Auto Summarizationの無効
EIGRPはVLSMをサポートしているが、デフォルトでクラスフル境界で自動的に経路集約してしまう。これを無効にするには、
Router(config-router)# no auto-summary
経路集約
EIGRPでは任意のインターフェースで経路集約が可能。
Router(config-if)# ip summary-address eigrp autonomous-system-number ip-address mask
ここに含まれるネットワークが一つでもルーティングテーブルにあれば集約経路がアドバタイズされる。同時にnull 0への集約ルートがインストールされる。
Floating Summary Routes
EIGRPでは、経路集約を使ってデフォルトルートをアドバタイズできる
Router(config-if)# ip summary-address eigrp 0.0.0.0 0.0.0.0
ところが、EIGRPの集約経路はADが5と小さく、これで同時にインストールされるnull 0への経路のADが5となり、例えばルータがどこからかデフォルトルートをもらっている場合、このルータで経路集約を使ってデフォルトルートを設定すると、このnull 0へのルートが最優先となってしまい、もらっているデフォルトルートをルーティングテーブルにインストールできない。
これを防ぐために、Floating Summary Routeが使える。これは経路集約ルートのAD値を高くすることで実現できる。
Router(config-if)# ip summary-address eigrp 0.0.0.0 0.0.0.0 250
これにより、もらっているデフォルトルートをルーティングテーブルにインストールし、null 0ルートはそのデフォルトルートの到達性がなくならない限りインストールされない。
認証
EIGRPの認証は、まずkey-chainで認証キーの設定を行い、それをインターフェースに割り当てる。
まずkey-chainの設定
Router(config)# key chain name-of-chain Router(config-keychain)# key number Router(config-keychain-key)# key-string text
認証キーが有効な時間の設定をここにすることもできる。
Router(config-keychain-key)# accept-lifetime start-time { infinite | end-time | duration seconds }
Router(config-keychain-key)# send-lifetime start-time { infinite | end-time | duration seconds } 作成した認証キーをインターフェースにわりあてる。
Router(config-if)# ip authentication mode eigrp autonomous-system md5 Router(config-if)# ip authentication key-chain eigrp autonomous-system key-chain
EIGRPの認証はMD5認証だけ。クリアテキストはない。
Helloパケットの送出間隔とHold Timeの調整
デフォルトでは、T1以上の速度のインターフェースで5秒毎、それ以下の速度のインターフェースで30秒毎にHelloパケットを送出する。ここでの速度は物理速度ではなく、bandwidthコマンドで設定した速度になるので注意。Hold TimeはHelloパケット送出間隔の3倍がデフォルト。
Helloパケットの送出間隔を調整するには
Router(config-if)# ip hello-interval eigrp autonomous-system seconds
Hold Timeの調整をするには
Router(config-if)# ip hold-time eigrp autonomous-system seconds
OSPFのように、Helloパケット送出間隔を変えたからといってHold Timeが自動的に調整されないので注意。
Split Horizonの無効化
EIGRPでは、デフォルトですべてのインターフェースでSplit Horizonが有効になっている。フレームリレーなどNBMAなネットワークでは、Split Horizonを無効にしないと到達性を確保できない可能性がある。(特にハブルータのインターフェースにて)
Split Horizonを無効にするには、
Router(config-if)# no ip split-horizon eigrp autonomous-system
EIGRP Stub Routing
ハブアンドスポークで特に使われる。スポークルータのCPU/メモリを軽くするためにスポークルータをスタブルータとし、不要な経路やクエリを少なくする。
スポークルータ(スタブなルータ)に設定する。
Router(config-router)# eigrp stub [ receive-only | connected | static | summary ]
パラメータは、それぞれスポーク(スタブ)ルータがどのネットワークをハブルータにアドバタイズするかの指定。receive-onlyを選択すると、経路をアドバタイズすることもなく、またクエリもださなくなる。
不等コストバランス
EIGRPではコストが違うルートでも、設定した倍数以内ならそのルートをインストールできる。その設定値は、ルーティングテーブルのメトリックを比較すると簡単に算出できる。まともに計算すると結構たいへん。
Router(config-router)# variance variance-multiplier
設定した割合に従ってトラフィック分散される
Monitoring and Maintaining
- show ip eigrp interfaces
- 設定したI/FでEIGRPが動作しているか確認
- show ip eigrp neighbors
- show ip eigrp topology
- NBMA networkで特にsprit horizonに注目
TIPS
- フィルタかけずにroute advertiseさせない方法として、stubにするという方法もある
トラックバック(0)
トラックバックURL: http://blog.kslabs.net/mt/mt-tb.cgi/257

コメントする