ネットワークの設計および運用において、ルーティングプロトコルは通信の信頼性と効率性を左右する重要な要素です。中でもEIGRP(Enhanced Interior Gateway Routing Protocol)は、高速な収束(コンバージェンス)と効率的な経路管理を実現する、非常に強力なプロトコルとして知られています。
本記事では、EIGRPがなぜ「ハイブリッド型」と呼ばれるのかという理論的な説明から、その高速性を支えるDUALアルゴリズムの仕組み、そして実際にルータに設定するために必要なコマンドキーワードまで、専門的な観点から詳細に解説いたします。
EIGRPとは何か ハイブリッド型ルーティングプロトコルの基本構造
EIGRPは、Ciscoシステムズが独自に開発したルーティングプロトコルです。その最も大きな特徴は、従来のルーティングプロトコルであるディスタンスベクタ型と、リンクステート型の両方の利点を兼ね備えた「ハイブリッド型(拡張ディスタンスベクタ型)」に分類される点です。この設計思想により、EIGRPは大規模なネットワーク環境においても、効率的かつ迅速な経路選択を可能にしています。
EIGRPのハイブリッド特性と動作効率
純粋なディスタンスベクタ型プロトコル(例:RIP)は、隣接ルータから受け取った情報をただ信頼して転送しますが、EIGRPはより高度な情報を保持します。EIGRPはディスタンスベクタ型の動作を基本としながらも、リンクステート型プロトコルと同様に、隣接機器(ネイバー)のステータス情報を詳細に確認する能力を持っています。このため、ネットワーク障害が発生した際にも素早くこれを検知し、対応することが可能です。
EIGRPが特に優れている点は、アップデートの仕組みにあります。ネットワークが安定している場合、EIGRPは隣接関係を維持するためのHelloパケットだけを送信し、定期的なフルアップデートは行いません。トポロジーに変化が生じた場合のみ、変更された差分情報(部分的なアップデート)をネイバーに送信します。これにより、帯域幅の消費を大幅に抑えつつ、収束時間(コンバージェンスタイム)の短縮を実現しているのです。
EIGRPを構成する3つの主要なテーブル
EIGRPの効率的な動作は、以下の3つのテーブルを維持管理することによって成り立っています。
| テーブル名 | 格納情報 | 利用目的 |
| ネイバーテーブル (Neighbor Table) | 直接接続された隣接ルータの情報、ホールド時間、シーケンス番号など |
隣接関係の維持管理と信頼性の確保 |
| トポロジテーブル (Topology Table) | ネイバーから学習したすべての経路情報、DUAL計算結果 (FD, RD) |
最適経路およびバックアップ経路の選定 |
| ルーティングテーブル (Routing Table) | 最適経路(サクセサ) | パケット転送 |
この中でもトポロジテーブルはEIGRPの心臓部にあたります。従来のディスタンスベクタ型が隣接ルータのルーティングテーブルだけを信用するのに対し、EIGRPはこのトポロジテーブル内に、最適経路(サクセサ)だけでなく、潜在的な迂回経路(フィージブルサクセサ)を含む、ネイバーから受信したすべての経路情報を格納します。この限定的なトポロジー情報の保持こそが、EIGRPがループフリーな高速コンバージェンスを達成するための基盤となっているのです。
EIGRPの核となる機能 DUALアルゴリズムと高速コンバージェンスの仕組み
EIGRPの高速性を実現する最大の鍵は、DUAL(Diffusing Update Algorithm)と呼ばれるルーティングアルゴリズムです。DUALは、ルーティングループを発生させることなく、各宛先ネットワークへの最適経路とバックアップ経路を迅速に決定する役割を担っています。
経路の評価基準 フィージブルディスタンスとレポートディスタンス
DUALが経路を選択する際、以下の2つのディスタンス値を使用します。
-
フィージブルディスタンス (Feasible Distance, FD): 宛先ネットワークまでのパスの、ローカルルータから見たメトリックの合計値です。これが、そのローカルルータにとっての最適コストとなります。
-
レポートディスタンス (Reported Distance, RD): 隣接ルータが宛先ネットワークに到達するために使用するメトリック値、すなわち隣接ルータから報告されたFDの値です。
サクセサとフィージブルサクセサの決定
DUALはトポロジテーブル内の経路情報を基に、以下の2種類の経路を定義します。
-
サクセサ (Successor): FDが最も低い経路、すなわちルーティングテーブルに格納され、実際にパケット転送に使用される最適経路です。
-
フィージブルサクセサ (Feasible Successor, FS): バックアップ経路としてトポロジテーブルに格納される経路です。
FSとなるためには、「フィージビリティコンディション (Feasibility Condition, FC)」という極めて重要な条件を満たす必要があります。この条件は、「あるネイバーから報告されたRDが、現在の最適経路(サクセサ)のFDよりも小さいこと」です。
フィージビリティコンディションの重要性
FCを満たす経路がバックアップとして選ばれるのは、そのネイバーが、ローカルルータが現在辿っている最適パスよりも、宛先に対してよりコストの低い経路を持っていることが保証されるからです。この保証により、たとえそのネイバーを経由したとしても、パケットがローカルルータを経由して戻ってくる(ルーティングループが発生する)可能性が完全に排除されます。
最適経路(サクセサ)に障害が発生した場合、DUALはトポロジテーブル内でFCを満たすFSが存在するかどうかを即座にチェックします。FSが存在すれば、ルータはネットワーク全体にクエリを発行することなく、そのFSを新しいサクセサとしてルーティングテーブルに昇格させます。この即座の切り替えこそが、EIGRPの高速収束を可能にする核心的な仕組みです。もしFSが存在しない場合、ルータは「Active状態」となり、ネットワーク全体にクエリパケットをフラッディングして新しい経路を探索するプロセスに入ります。
EIGRPのメトリック計算と経路の選択
EIGRPは、宛先までの最適ルートを決定するために複合的なメトリック値を使用します。このメトリックは、ネットワーク設計者が経路選択の基準を詳細に制御できるように設計されています。
複合メトリックの構成要素
EIGRPのメトリックは、以下の5つの要素(K値)の組み合わせによって計算されます。
-
帯域幅 (Bandwidth: K1)
-
負荷 (Load: K2)
-
遅延 (Delay: K3)
-
信頼性 (Reliability: K4)
-
MTU (Maximum Transmission Unit: K5)
標準設定では、帯域幅 (K1) と 遅延 (K3) のみがメトリック計算に使用されます(K2, K4, K5は0設定)。メトリック計算の要素となるK値は、EIGRPドメイン内のすべてのルータで完全に一致している必要があります。このK値が一致しない場合、ルータ同士は隣接関係を確立できません。
デフォルト設定でK2やK4などの動的な要素(負荷や信頼性)が除外されているのは、安定性を重視しているためです。負荷や信頼性をメトリック計算に組み込むと、メトリック値が頻繁に変動し、ルーティングテーブルの不安定化やコンバージェンスの頻発を招く可能性があります。そのため、一般的に、最も安定し、予測可能な帯域幅と遅延のみが使用されるように設計されているのです。
アドミニストレーティブディスタンス(AD)の値
異なるルーティングプロトコルが同じ宛先ネットワークへの経路を学習した場合、ルータは管理者距離(Administrative Distance, AD)を参照して、どのプロトコルの経路を優先するかを決定します。EIGRPは、経路の学習元によってAD値を使い分けます。
| 項目 | AD値 | 詳細 |
| EIGRP 内部経路 (Internal) | 90 |
EIGRPネイティブのAS内で学習した経路 |
| EIGRP 外部経路 (External) | 170 |
外部プロトコルから再配布された経路 |
EIGRPの内部経路のAD値90は、OSPF (AD 110) やRIP (AD 120) よりも低い値であり、ルーティングにおいて高い優先度を持ちます。つまり、同じ宛先経路が存在する場合、ルータはEIGRPによって学習された経路を優先的に使用します。一方、外部経路のAD値170は、プロトコルの外部から持ち込まれた情報であるため、信頼性が低いと見なされ、優先度が下げられています。このADの差別化は、ルーティング情報の健全性を保ち、内部で生成された経路を外部経路よりも優位に扱うという重要なセキュリティ・設計原則に基づいています。
EIGRPの基本設定手順 AS番号とネットワーク指定の要点
EIGRPをネットワークに導入するためには、プロセスの起動、インターフェースの有効化、そしてルーティング動作の制御という、いくつかのステップを踏む必要があります。以下に、その設定方法の主要なキーワードを解説します。
EIGRPプロセスの起動とAS番号の指定
EIGRPを設定する最初のステップは、グローバルコンフィグレーションモードでEIGRPプロセスを起動し、AS番号(自律システム番号)を指定することです。
Router(config)# router eigrp
AS番号は1から65535の範囲で指定し、EIGRPドメインを論理的に定義する識別子となります。隣接関係を確立するためには、ネイバールータ間でこのAS番号が完全に一致していることが必須条件です。このAS番号の一致は、ルータ間でHelloパケットが交換される際に確認されるため、AS番号は単なる識別子ではなく、EIGRPドメインの論理的な境界およびセキュリティ境界としても機能します。
EIGRPを動作させるインターフェースの指定
networkコマンドは、EIGRPパケットの送信と、隣接関係の確立に使用されるインターフェースを指定するために利用されます。
Router(config-router)# network [IPアドレス][ワイルドカードマスク]
networkコマンドは、ワイルドカードマスクを使用して、対象となるインターフェースのIPアドレス範囲を照合します。特定のインターフェースのIPアドレスのみでEIGRPを有効にしたい場合は、以下のようにワイルドカードマスクに0.0.0.0を指定します。
Router(config-router)# network 10.0.0.1 0.0.0.0
このように特定のIPアドレスを指定することで、EIGRPが有効になるインターフェースを厳密に制御でき、不要なインターフェースからのEIGRPパケット送信を防ぎ、セキュリティとリソース効率を高めることが推奨されます。
経路集約の制御 no auto-summaryの重要性
EIGRPはVLSM(可変長サブネットマスク)に対応したクラスレスプロトコルであり、サブネットマスクの情報を含めてルーティングアップデートを送信します。しかし、初期のCisco IOSでは、EIGRPはデフォルトで自動経路集約(auto-summary)を有効にしていました。
自動経路集約が有効な場合、EIGRPはクラスフルネットワークの境界において、経路情報を自動的にクラスフルな形式に集約してしまいます。これは、現代のVLSMを使用したネットワークや、不連続なサブネットが存在するネットワークにおいて、ルーティングの不整合やトラフィックのブラックホールを引き起こす原因となります。
この問題を回避し、クラスレスな動作を確実に維持するために、以下のコマンドを使用して自動経路集約を無効化することが不可欠です。
Router(config-router)# no auto-summary
Cisco IOS 15.x以降では、この設定はデフォルトで無効になっていますが、設定の明確化と互換性の確保のため、明示的に実行することが推奨されます。
IPv6環境での設定キーワード
IPv6環境でEIGRP(EIGRP for IPv6)を動作させる場合、設定方法がIPv4とは大きく異なります。IPv6では、ルータ全体でプロセスを起動させた後、インターフェースごとにAS番号を指定してEIGRPを有効化します。
Router(config)# ipv6 router eigrp // プロセスの起動
Router(config-rtr)# no shutdown
Router(config-rtr)# exit
Router(config)# interface GigabitEthernet0/0
Router(config-if)# ipv6 eigrp // インターフェースで有効化
EIGRPの動作検証 AD値とトポロジーテーブルの確認方法
EIGRPの設定が完了した後、その動作が意図通りであるか、またDUALが最適な経路を選択しているかを確認するための検証は不可欠です。以下に示すshowコマンドは、ネットワークエンジニアにとって必須のツールとなります。
| コマンド | 検証目的 | 確認できる主な情報 |
show ip route |
ルーティングテーブルの確認 |
EIGRP経路コード(D)、AD、メトリック、ネクストホップ |
show ip protocols |
プロトコル設定の確認 |
AS番号、K値、内部/外部 AD値 |
show ip eigrp topology |
DUALの状態と経路の確認 |
フィージブルディスタンス(FD)、サクセサ、フィージブルサクセサの有無 |
show ip eigrp neighbor |
隣接関係の確認 |
ネイバーIP、ホールドタイム、キューカウント |
ルーティングテーブルの確認
show ip routeコマンドを実行することで、ルータが実際にパケット転送に使用する最終的な経路を確認できます。EIGRPによって学習された経路は、経路コードD(DUAL)で識別されます。
経路エントリの例として、D 172.18.0.0/24 [90/40514560] via 172.17.0.2のような形式で表示されます。角括弧“内の最初の値90はアドミニストレーティブディスタンス(AD)を、次の値40514560はメトリック値を示しています。
プロトコル設定とAD値の確認
show ip protocolsコマンドは、EIGRPプロセス全体の基本設定を確認するために使用されます。この出力結果の末尾近くに、EIGRPのAS番号やメトリック計算に使用されているK値(K1=1, K3=1がデフォルト)が表示されます。
特に重要なのが、AD値の確認です。出力にはDistance: internal 90 external 170という記述があり、EIGRPの内部経路には90、外部経路には170というAD値が適用されていることが確認できます。
トポロジーテーブルの確認
show ip eigrp topologyコマンドは、DUALがどのように経路を評価し、バックアップ経路を保持しているかを分析するための中心的なツールです。このコマンドの出力により、宛先までのフィージブルディスタンス (FD)、現在の最適経路(サクセサ)の数、そして迂回経路としてのフィージブルサクセサ (FS) の有無が確認できます。
FSの有無は、ネットワークの耐障害性を測る非常に重要な指標です。FSがトポロジテーブルに存在する場合、最適経路がダウンしても即座にバックアップ経路に切り替わり、高速な復旧が実現します。しかし、このコマンドを実行した結果、多くの経路でFSが存在しない場合、トポロジー設計が冗長性に欠けている可能性を示唆しており、経路障害時にルータがActive状態に入り、広範囲にクエリをフラッディングすることでコンバージェンス時間が大幅に延長されるリスクがあります。
EIGRPの高度な設定と効率化の視点
EIGRPは、Cisco独自のプロトコルであるため、Cisco製品環境内でのネットワーク最適化を目的とした高度な機能を提供しています。
スタブ機能による最適化
大規模なハブアンドスポーク型トポロジーにおいて、エッジ(末端)ルータに「スタブ(Stub)」設定を適用することは、EIGRPドメインの効率を高めます。
Router(config-router)# eigrp stub
スタブ設定されたルータは、自分自身がネットワークの末端にあることをEIGRPドメイン全体に通知します。これにより、他のルータはスタブルータに対してクエリ(Query)パケットを送信する必要がなくなります。障害発生時、クエリのフラッディングがスタブ境界で停止するため、DUALの計算範囲が限定され、結果的にドメイン全体のコンバージェンス時間が短縮され、安定性が向上します。
EIGRP認証によるセキュリティ強化
EIGRPのルーティングアップデートパケットが不正なルータによって傍受されたり、改ざんされたりするのを防ぐために、認証(Authentication)を設定することが不可欠です。
EIGRP認証にはMD5やSHA認証が一般的に使用されます。この認証を有効にすることで、ネイバー関係を確立する際、ルータ間で共有鍵(キーチェーン)とハッシュアルゴリズムが検証されます。これにより、意図しないルータがEIGRPドメインに勝手に参加することを防ぎ、ルーティング情報の信頼性とセキュリティを確保します。
EIGRP採用のトレードオフ
EIGRPはDUALによる高速性、部分的なアップデートによる効率性、そして複合メトリックによる柔軟性という点で非常に高性能なプロトコルですが、その独自性(Cisco Proprietary)が導入上のトレードオフを生みます。
EIGRPがCisco専用であるため、他社製のルータを含むマルチベンダー環境で経路交換を行う場合、EIGRPと他のプロトコル(例:OSPFやBGP)との間で経路再配布(Redistribution)が必須となります。この再配布設定は、設計と管理の複雑性を増大させ、外部経路にはAD値170が適用されることになります。
したがって、EIGRPを選択する場合、高性能な機能を得る代わりに、ベンダーロックインの傾向が強くなるというビジネス上の重要な側面を理解しておく必要があります。このプロトコルは、Cisco製品で統一された、パフォーマンスと収束速度が最優先されるネットワーク環境で、最大限の能力を発揮すると言えます。


コメント