CCNP-ENARSI_EIGRP
EIGRP(Enhanced Interior Gateway Routing Protocol)
- 拡張ディスタンスベクタ型ルーティング(別名:ハイブリッドルーティング)
- クラスレスルーティングプロトコルで自動集約もサポート
- 手動によるルート集約がどこでも可能
- 自身が属しているAS番号内の経路をInternal(内部)、他のAS番号に属している経路やEIGRP以外のルーティングプロトコルで学習した経路をexternal(外部)として識別
- 「ネイバテーブル」「トポロジテーブル」「ルーティングテーブル」の3つのテーブルを保持
- ルーティングアルゴリズムは「DUAL」
- メトリックには、帯域幅・遅延・信頼性・負荷を基に計算する複合メトリックを使用
- メトリックが等しくない経路での負荷分散が可能な「不等コストロードバランシング」をサポート
複合メトリック
最適な経路を選択するために、帯域幅・遅延・信頼性・負荷を基に計算する
- 帯域幅:宛先ネットワークに到達するまでに経由するリンクの最小帯域幅(kbps単位)
- 遅延:宛先ネットワークに到達するまでに経由する各インターフェースの遅延(delay)の合計(10マイクロ秒単位)
- 信頼性:宛先ネットワークまでのリンクの信頼性。ビットエラーなどが発生すると信頼性は下がる(最も信頼できるものが255)
- 負荷:宛先ネットワークまでのリンクでのトラフィック量。トラフィックが高いと負荷が上がる(最も負荷が低いものが1)
EIGRPが保持する3つのテーブル
- ネイバテーブル:EIGRPのネイバ関係を確立しているルータの一覧表
- トポロジテーブル:EIGRPで学習した全経路情報を保持するテーブル
- ルーティングテーブル:トポロジテーブルからサクセサルートを抽出したテーブル
ネイバ関係を構築する条件
- Helloパケットを送受信するインターフェースが同一のサブネットに属している
- Helloパケットを送受信するインターフェースでEIGRPが有効になっている
- ルータが同じ自律システム(AS)に所属している
- メトリックの計算値(K値)が一致している
- 認証情報(キーIDとパスワード)が一致している(認証を有効にしている場合)
EIGRPパケット
Hello
- ネイバーの検出と隣接関係の維持で使用
- 定期的に送信
- マルチキャストで送信
- 確認応答は不要
Update
- ルートの通知で使用
- ルート変更時に送信(変更分だけ通知)
送信方法はタイミングで変わる
隣接関係構築前:ユニキャスト
隣接関係構築後:マルチキャスト
確認応答が必要
Query
- ルートの問い合わせで使用
- サクセサがダウンして、フィージブルサクセサがない場合ユニキャストで送信される
- マルチキャストで送信
- 確認応用は必要
Reply
- Queryに対する返答で使用
- ユニキャストで送信
Ack
- 確認応答で使用
- ユニキャストで送信
- 確認応答は不要
FDとRD
-
FD(Feasible Distance):自ルータから宛先ネットワークまでの合計メトリック
-
RD(Reported Distance):ネイバルータから宛先ネットワークまでの合計メトリック(ネイバが教えてくれたメトリック)
※RDをAD(Advertised Distance)と呼ぶこともある
サクセサとフィージブルサクセサ(Feasible Successor:FS)
EIGRPにおいて、最適ルートのネクストホップを「サクセサ」と呼ぶ
宛先ネットワークまでのFD(Feasible Distance)が最小のものが選択される。
また、サクセサのFD未満のRD(Reported Distance)のネイバは「フィージブルサクセサ」と呼ばれる。
※RDはネイバが通知するものなので「Reported」Distanceとなる
「FD > RD」の経路はルーティングループが発生しないため、フィージブルサクセサはバックアップルートなどに使用される。
EIGRPにおける最適経路の選出
- 宛先ネットワークから自身までのすべてのネイバ経由のFDを算出する
- 宛先ネットワークから自身までのFDのうち、FDが最も小さくなるネイバを「サクセサ」とする
- サクセサ経由のFDと各RDを比較し、FD > RDとなるネイバを「フィージブルサクセサ」とする
- サクセサをネクストホップとする経路をルーティングテーブルに載せる
コマンド:EIGRPの設定
(config)#router eigrp {AS番号}
(config-router)#network {ネットワークアドレス} [ワイルドカードマスク]
コマンド:自動集約の有効化/無効化
(config-router)#[no] auto-summary
コマンド:不等コストロードバランシング
(config-router)#variance {倍率}
コマンド:最大パス数
(config-router)#maximum-paths {パス数}
※デフォルトのパス数は4
EIGRPの認証設定
# 認証を設定するインターフェースコンフィグレーションモードに移行
(config)#interface {インターフェース}
# EIGRPパケットのMD5認証を有効化
(config-if)#ip authentication mode eigrp {AS番号} md5
# 認証で使用するキーチェーンを指定
(config-if)#ip authentication key-chain eigrp {AS番号}{チェーン名}
キーチェーンの設定
# キーチェーンコンフィグレーションモードに移行
(config)#key chain {チェーン名}
# キーIDコンフィグレーションモードに移行
(config-keychain)#key {キーID}
# パスワードを指定
(config-keychain-key)#key-string {パスワード}
# キーの受信期間を指定(オプション)
(config-keychain-key)#accept-lifetime { start-time } { infinite | end-time | duration seconds }
# キーの送信期間を指定(オプション)
(config-keychain-key)#send-lifetime { start-time } { infinite | end-time | duration seconds }
スプリットホライズン
あるインターフェースで受信した経路情報を同じインターフェースから送信しないようにする機能で、ルーティングループを防ぐ役割
デフォルトで有効になっている
コマンド:スプリットホライズンの有効化/無効化
(config-if)#[no] ip split-horizon [eigrp {AS番号}]
EIGRPの設定(名前付きモード)
名前付きモードとは、IPv4 EIGRPとIPv6 EIGRPの設定を統一したモード
(config)#router eigrp {インスタンス名}
(config-router)#address-family {ipv4 | ipv6} [unicast | multicast | vrf] autonomous-system {AS番号}
(config-router-af)#network {ネットワークアドレス} [ワイルドカードマスク]
(config-router-af)#topology base
(config-router-af-topology)#redistribute {プロトコル}
EIGRPにおける「アクティブ」
Cisco_EIGRPの概要より
ルータがルートを計算中はルートが「アクティブ状態」とよぶ
反対にルート計算が完了している場合は「パッシブ状態」である
FSが存在する経路でトポロジ変化があった際の動作
- トポロジ変化を検知
- ネイバー関係を削除し、そのネイバーから学習した経路情報を全て取り除く
- FSをルーティングテーブルに登録して使用する
障害発生時などはこの動作を経て、ルートを再設定する
サクセサ・フィージブルサクセサについて再度まとめ
EIGRPにおいて「サクセサ」・「フィージブルサクセサ」は重要なので、再度まとめる
そもそも「サクセサ」・「フィージブルサクセサ」とは?
サクセサ
EIGRPの最適経路のネクストホップ
FDが最小のネクストホップが選択される
フィージブルサクセサ
サクセサのFDよりも小さいRDを通知するネイバ
「FD > RD」ならルーティングループが発生しないことが保証される
サクセサ:Feasible Distanceを基準に選択
フィージブルサクセサ:Reported Distanceを基準に選択(Feasible Distanceと比較する)
(フィージブルサクセサなのに、Feasible Distanceが最重要じゃないんだと思う)
FD・RD?
Feasible Distance
特定のネットワークに到達するための最適な経路のメトリック
Feasibleとは日本語で「実行可能」というようなニュアンス
Reported Distance
特定のネットワークへのパス全体のメトリック
FDは送信側からの最適なネクストホップを評価する
RDは受信側からパス全体を評価
というようなイメージ