0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

EIGRP技術メモ

0
Posted at

EIGRP 技術メモ(Cisco IOS / IOS XE想定)

主にCisco IOS / IOS XEにおけるIPv4 EIGRPを対象とする。
IPv6 EIGRP、Named Mode、Stub、再配送、認証、経路集約も扱う。
IOS XR、NX-OSなどではCLI構文・対応機能に差異がある。


1. EIGRP概要

EIGRP(Enhanced Interior Gateway Routing Protocol)は、主にAS内部で使用するCisco系のIGPである。

従来はCisco独自プロトコルとして扱われていたが、プロトコル仕様の一部はRFC 7868として公開されている。ただし、実運用ではCisco製品を中心に利用されることが多い。

EIGRPは、距離ベクトル型プロトコルの特徴を持ちながら、DUAL(Diffusing Update Algorithm)により高速収束とループフリーな経路選択を実現する。一般には「拡張距離ベクトル型」または「ハイブリッド型」と説明される。

主な特徴は以下の通り。

  • AS内部で使用するIGP
  • IPプロトコル番号88を使用する
  • TCP / UDPは使用しない
  • DUALにより高速な収束を行う
  • 帯域幅、遅延、信頼性、負荷、MTUを基にメトリックを計算する
  • デフォルトでは帯域幅と遅延だけを使用する
  • Equal-Cost Load BalancingおよびUnequal-Cost Load Balancingに対応する
  • 隣接ルータとの経路情報交換にはRTPを使用する
  • IPv4ではマルチキャストアドレス224.0.0.10を使用する
  • IPv6ではマルチキャストアドレスFF02::Aを使用する
  • OSPFのAreaのような階層構造は持たない
  • 大規模環境ではStub、経路集約、フィルタリング、再配送制御が重要となる

ここでいうRTPは、音声・映像で使われるReal-time Transport Protocolではなく、EIGRPのReliable Transport Protocolである。


2. EIGRP基本設定

以下の構成を想定する。

R1 ---------------- R2

R1 Gi0/0:10.0.12.1/30
R2 Gi0/0:10.0.12.2/30

R1 Loopback0:10.255.0.1/32
R2 Loopback0:10.255.0.2/32

EIGRP AS:100

R1設定例

hostname R1

interface GigabitEthernet0/0
 description To-R2
 ip address 10.0.12.1 255.255.255.252
 no shutdown

interface Loopback0
 ip address 10.255.0.1 255.255.255.255

router eigrp 100
 eigrp router-id 10.255.0.1
 no auto-summary

 network 10.0.12.0 0.0.0.3
 network 10.255.0.1 0.0.0.0

 passive-interface default
 no passive-interface GigabitEthernet0/0

R2設定例

hostname R2

interface GigabitEthernet0/0
 description To-R1
 ip address 10.0.12.2 255.255.255.252
 no shutdown

interface Loopback0
 ip address 10.255.0.2 255.255.255.255

router eigrp 100
 eigrp router-id 10.255.0.2
 no auto-summary

 network 10.0.12.0 0.0.0.3
 network 10.255.0.2 0.0.0.0

 passive-interface default
 no passive-interface GigabitEthernet0/0

確認コマンドは以下。

show ip eigrp neighbors
show ip eigrp topology
show ip route eigrp
show ip protocols

3. EIGRP AS番号

EIGRPでは、同じEIGRPドメインに属するルータで同じAS番号を設定する。

router eigrp 100

この100はEIGRP Autonomous System番号である。

OSPFのプロセスIDとは異なり、EIGRPのAS番号は隣接ルータ間で一致している必要がある。

R1:router eigrp 100
R2:router eigrp 100

→ ネイバー形成可能
R1:router eigrp 100
R2:router eigrp 200

→ ネイバー形成不可

EIGRPのAS番号は、BGPのインターネット上のAS番号とは用途が異なる。EIGRP AS番号は、通常、組織内部のルーティングドメイン識別に使用する。


4. EIGRPの動作概要

EIGRPの基本動作は以下の通り。

  1. Helloパケットを送受信する
  2. 隣接ルータを発見する
  3. ネイバー関係を形成する
  4. Updateパケットにより経路情報を交換する
  5. Topology Tableを作成する
  6. DUALによりSuccessorおよびFeasible Successorを選択する
  7. 最適経路をRouting Tableへ登録する
  8. 障害発生時は代替経路を使用する、またはQuery / Replyで再計算する

EIGRPは、OSPFのように全ネットワークのLSDBを保持してSPF計算を行う方式ではない。EIGRPはネイバーから受信した経路情報とメトリックをTopology Tableへ保存し、DUALを用いてループフリーな経路を選択する。


5. EIGRPパケット種別

EIGRPで主に使用されるパケットは以下の通り。

パケット種別 用途
Hello ネイバー検出、ネイバー維持
Update 経路情報の通知・更新
Query 経路喪失時などに代替経路を問い合わせる
Reply Queryへの応答
Acknowledgment 信頼性のあるパケットに対する確認応答
SIA Query Stuck-in-Active検出用の確認
SIA Reply SIA Queryへの応答

Helloパケットは通常、信頼性を必要としないため確認応答を伴わない。

Update、Query、Replyは、原則として信頼性のある配送が必要なパケットであり、RTPによる確認応答処理が行われる。

ACKはユニキャストで送信される。


6. マルチキャストアドレスとIPプロトコル番号

EIGRPはTCPやUDPを使用せず、IPプロトコル番号88を直接使用する。

項目
IPプロトコル番号 88
IPv4マルチキャストアドレス 224.0.0.10
IPv6マルチキャストアドレス FF02::A

IPv4 EIGRPでは、Hello、Update、Queryなどの送信に以下のマルチキャストアドレスが使用される。

224.0.0.10

IPv6 EIGRPでは以下を使用する。

FF02::A

ただし、EIGRPは状況によりユニキャストを使用する。

代表例は以下。

  • ACKパケット
  • Static Neighborを設定した場合
  • マルチキャストが利用できないNBMA環境
  • 特定ネイバーに対する再送

7. Hello TimerとHold Timer

EIGRPはHelloパケットによりネイバーを検出・維持する。

Cisco IOS / IOS XEにおける代表的なデフォルト値は以下である。

回線種別の目安 Hello Timer Hold Timer
高速リンク(T1以上、Ethernet等) 5秒 15秒
低速NBMAリンク 60秒 180秒

一般にHold TimerはHello Timerの3倍である。

Hello Timer設定例:

interface GigabitEthernet0/0
 ip hello-interval eigrp 100 5

Hold Timer設定例:

interface GigabitEthernet0/0
 ip hold-time eigrp 100 15

両方を設定する例:

interface GigabitEthernet0/0
 ip hello-interval eigrp 100 2
 ip hold-time eigrp 100 6

OSPFではHello / Dead Timerの一致が隣接形成条件の一つとなるが、EIGRPではHello / Hold Timerが完全一致していなくてもネイバー形成は可能である。

ただし、異なる設定はネイバー切断判定や障害検出時間に影響するため、設計上は統一することが望ましい。

確認コマンド:

show ip eigrp interfaces detail

出力例:

Hello-interval is 5 sec
Hold-time is 15 sec

8. ネイバー形成条件

EIGRPでネイバー関係を形成するためには、主に以下の条件を満たす必要がある。

条件 内容
EIGRP AS番号 一致している必要がある
K値 一致している必要がある
認証設定 認証方式・鍵が一致している必要がある
L3到達性 通常は同一L2セグメントまたは直接到達可能である必要がある
EIGRP有効化 両端インターフェースでEIGRPが有効である必要がある
Passive Interface 隣接インターフェースがPassiveではないこと
IPv4 / IPv6 AF 同じアドレスファミリで有効であること
Router ID 重複しないことが望ましい

EIGRPでは、K値が一致しない場合、ネイバー関係は形成されない。

代表的な確認コマンド:

show ip eigrp neighbors
show ip protocols
show ip eigrp interfaces detail

9. Router ID

EIGRP Router IDは、EIGRPルータを識別する32ビット値である。

Ciscoでは、Loopbackインターフェースに設定されたIPv4アドレスをRouter IDとして明示設定することが推奨される。

router eigrp 100
 eigrp router-id 10.255.0.1

Router IDを明示設定しない場合、Ciscoは通常、Loopbackインターフェースまたは物理インターフェースのIPv4アドレスからRouter IDを選択する。

Router IDは以下の理由から明示設定することが望ましい。

  • 機器再起動時のRouter ID変更を防ぐ
  • Loopbackを使用することで安定した値を利用できる
  • 重複を防止しやすい
  • トラブルシュート時にルータを識別しやすい
  • EIGRP Stubや再配送構成での運用性を向上できる

Router IDを変更した場合、EIGRPネイバーの再確立が必要になることがある。


10. networkコマンド

Classic ModeのEIGRPでは、networkコマンドによりEIGRPを動作させるインターフェースを指定する。

router eigrp 100
 network 10.0.12.0 0.0.0.3

この設定は、IPアドレスが10.0.12.0/30に一致するインターフェースでEIGRPを有効化する。

OSPFのnetworkコマンドと同様、Cisco IOSではワイルドカードマスクを使用する。

network 10.0.12.0 0.0.0.3

対象範囲は以下。

10.0.12.0 ~ 10.0.12.3

Loopbackインターフェースを広告する例:

router eigrp 100
 network 10.255.0.1 0.0.0.0

すべてのインターフェースを対象にし、Passive Interfaceで制御する例:

router eigrp 100
 network 0.0.0.0
 passive-interface default
 no passive-interface GigabitEthernet0/0

この方式は設定が簡単である一方、意図しないインターフェースまでEIGRP対象になる可能性があるため、明示的なネットワーク指定の方が安全である。


11. Passive Interface

Passive Interfaceでは、対象ネットワークをEIGRPで広告しながら、Helloパケット送信およびネイバー形成を抑止できる。

端末接続LAN、サーバ接続セグメント、管理ネットワークなどで利用する。

基本設定例:

router eigrp 100
 passive-interface default
 no passive-interface GigabitEthernet0/0

この構成では、全インターフェースをPassiveにし、GigabitEthernet0/0だけでネイバー形成を許可する。

個別にPassive化する例:

router eigrp 100
 passive-interface GigabitEthernet0/1

Passive Interfaceに設定したインターフェースでは、通常、EIGRP Helloパケットは送信されない。


12. EIGRPテーブル

EIGRPでは、主に以下のテーブルを使用する。

テーブル 内容
Neighbor Table 隣接ルータ情報
Topology Table EIGRPで学習した経路候補
Routing Table 最終的に利用する経路

Neighbor Table

ネイバー関係を確認する。

show ip eigrp neighbors

出力例:

R1# show ip eigrp neighbors

EIGRP-IPv4 Neighbors for AS(100)
H   Address         Interface              Hold  Uptime   SRTT   RTO  Q  Seq
0   10.0.12.2       Gi0/0                    12  00:15:20   20   200  0  15

主な項目は以下。

項目 内容
Address ネイバーIPアドレス
Interface 接続インターフェース
Hold Hold Timer残り時間
Uptime ネイバー維持時間
SRTT Smooth Round Trip Time
RTO Retransmission Timeout
Q Cnt 送信待ちキュー数
Seq Num 最後に使用したシーケンス番号

Q Cntが継続的に0以外の場合、パケットロス、輻輳、ネイバー応答遅延などを疑う。

Topology Table

EIGRPが認識している経路候補を確認する。

show ip eigrp topology

Routing Table

実際にパケット転送へ使用される経路を確認する。

show ip route eigrp

13. DUAL

DUAL(Diffusing Update Algorithm)は、EIGRPの経路選択と高速収束を実現するアルゴリズムである。

DUALは以下を実現する。

  • ループフリーな経路選択
  • 代替経路の事前保持
  • 障害時の高速切り替え
  • 必要な場合だけQuery / Replyを実行する分散型計算

EIGRPでは、宛先ごとにSuccessorとFeasible Successorを選択する。


14. Successor、Feasible Successor、FD、RD

Successor

Successorは、ある宛先に対する最適な次ホップである。

Successorとして選ばれた経路はRouting Tableへ登録される。

D 192.0.2.0/24 [90/30720] via 10.0.12.2, 00:05:12, GigabitEthernet0/0

この例では、10.0.12.2がSuccessorである。

Feasible Successor

Feasible Successorは、Successor障害時に即座に利用できるループフリーなバックアップ経路である。

Feasible SuccessorはTopology Tableには存在するが、通常はRouting Tableへは登録されない。

Successorが消失した場合、Feasible Successorが存在すれば、Queryを広範囲へ送信せずに経路を切り替えられる。

Feasible Distance(FD)

FDは、自ルータから宛先ネットワークまでの総EIGRPメトリックである。

自ルータ → ネイバー → 宛先

までの総メトリックを表す。

Reported Distance(RD)

RDは、ネイバーが宛先まで持つメトリックである。

CiscoではAdvertised Distanceと呼ばれることもある。

ここでのAdvertised Distanceは、CiscoのAdministrative Distanceとは別の概念であるため注意が必要である。

用語 意味
Feasible Distance 自ルータから宛先までの総EIGRPメトリック
Reported Distance ネイバーから宛先までのEIGRPメトリック
Administrative Distance ルーティングプロトコル間の優先度

15. Feasibility Condition

Feasible Successorとして認められるためには、Feasibility Conditionを満たす必要がある。

条件は以下。

ネイバーのRD < 現在のSuccessorのFD

つまり、候補ネイバーが報告する宛先までの距離が、現在の最適経路の総距離より小さい場合、その候補はループフリーであると判断できる。

RD < FD

例:

現在のSuccessorのFD:30

候補AのRD:20
候補BのRD:40

この場合、

候補A:20 < 30 → Feasible Successor候補
候補B:40 > 30 → Feasible Successorになれない

Feasible Successorが存在すれば、Successor障害時に高速な経路切り替えが可能となる。


16. Passive状態とActive状態

EIGRPの経路は、主に以下の状態を持つ。

状態 内容
Passive 経路が安定している状態
Active 経路の代替候補を探索している状態

Passiveは正常状態である。

P 192.0.2.0/24, 1 successors, FD is 30720

Active状態は、Successorが失われ、かつFeasible Successorが存在しない場合に発生する。

A 192.0.2.0/24, 0 successors, FD is Inaccessible

Active状態になると、EIGRPはネイバーへQueryを送信し、代替経路の有無を確認する。

すべてのReplyを受信すると、経路は再びPassive状態になる。


17. Stuck in Active(SIA)

SIA(Stuck in Active)は、EIGRPがQueryを送信した後、必要なReplyを規定時間内に受信できない状態である。

代表的な原因は以下。

  • ネイバー障害
  • 回線断やパケットロス
  • CPU高負荷
  • 大規模かつフラットなEIGRPネットワーク
  • 不適切な再配送
  • 過剰なQuery範囲
  • Stub未使用
  • 経路集約不足
  • フィルタリング設定不備

Cisco IOSでは、EIGRP Active Timerのデフォルトは一般に3分である。

設定例:

router eigrp 100
 timers active-time 3

単位は分である。

SIAが発生した場合、EIGRPは応答しないネイバーをリセットする場合がある。

SIA対策として、以下が重要である。

  • Hub-and-Spoke構成のSpokeをEIGRP Stubにする
  • 経路集約を行う
  • 不要な再配送を避ける
  • Query範囲を小さくする
  • 回線品質とCPU使用率を確認する
  • ネイバー数や経路数を適切に設計する

18. EIGRPメトリック

EIGRPは複合メトリックを使用する。

メトリック計算で使用可能な要素は以下。

要素 内容
Bandwidth 経路中の最小帯域幅
Delay 経路中の遅延の合計
Reliability 信頼性
Load 負荷
MTU 最大転送単位

デフォルトでは、BandwidthとDelayだけが使用される。

Reliability、Load、MTUは通常のメトリック計算には使用されない。


19. K値

EIGRPでは、どのメトリック要素を使うかをK値で制御する。

K値 対象
K1 Bandwidth
K2 Load
K3 Delay
K4 Reliability
K5 Reliability

デフォルトのK値は以下。

K1 = 1
K2 = 0
K3 = 1
K4 = 0
K5 = 0

Cisco設定での表現は以下。

metric weights 0 1 0 1 0 0

構文は以下。

metric weights <TOS> <K1> <K2> <K3> <K4> <K5>

デフォルトでは、BandwidthとDelayだけがメトリック計算に使用される。

K値はネイバー間で一致している必要がある。

K値が異なる例:

R1:K1=1 K3=1
R2:K1=1 K3=0

→ ネイバー形成不可

K値を変更すると、ネットワーク全体の経路選択に大きな影響を与えるため、通常は変更しない。


20. Classic Metricの計算

Classic Metricでは、デフォルトのK値を使用する場合、計算式は概ね以下となる。

Metric = 256 × (Bandwidth + Delay)

Bandwidthは以下の式で算出される。

Bandwidth = 10^7 ÷ 最小帯域幅(Kbps)

Delayは、経由インターフェースのDelay値の合計である。

Delayの設定単位は10マイクロ秒である。

interface GigabitEthernet0/0
 delay 100

上記は以下を意味する。

100 × 10マイクロ秒 = 1,000マイクロ秒

Bandwidthの設定単位はKbpsである。

interface GigabitEthernet0/0
 bandwidth 100000

上記は100Mbpsを意味する。

Bandwidth設定は、通常、実際のリンク速度を変更しない。EIGRP、OSPF、QoSなどの計算用パラメータとして使用される。


21. 帯域幅ごとのBandwidth値

Classic MetricにおけるBandwidth値の例は以下。

リンク帯域 帯域値(Kbps) Bandwidth値
64Kbps 64 156250
1.544Mbps 1544 6476
10Mbps 10000 1000
100Mbps 100000 100
1Gbps 1000000 10
10Gbps 10000000 1
100Gbps 100000000 0.1相当

Classic Metricでは最小帯域幅を基準にメトリックを計算する。

ただし、高速インターフェースではClassic Metricの解像度が不足する場合がある。この問題に対応するため、Cisco EIGRPではWide Metricが導入されている。


22. Wide Metric

Wide Metricは、高速リンクでのメトリック解像度を改善するための拡張メトリックである。

主な目的は以下。

  • 10Gbps、40Gbps、100Gbpsなどの高速リンクを区別する
  • Classic Metricの帯域幅解像度不足を改善する
  • 64ビットのメトリック表現を使用する
  • 大規模ネットワークでの経路制御精度を高める

Named Mode EIGRPおよび対応IOS / IOS XEでは、Wide Metricを利用できる。

Classic Mode、Named Mode、機器バージョン、相互接続相手の対応状況によりメトリック処理が異なる場合があるため、高速リンクを含む環境では実機検証が必要である。

EIGRPドメイン内では、メトリック方式やK値を安易に混在させないことが重要である。


23. BandwidthとDelayの設定

EIGRPの経路制御では、通常、Delayを調整する方法が安全である。

BandwidthはEIGRP以外にもQoS、SNMP、他のルーティングプロトコルなどへ影響する可能性があるため、変更時には注意が必要である。

Delay変更例

主回線を優先する例:

interface GigabitEthernet0/0
 description Primary-Link
 delay 10

バックアップ回線を低優先にする例:

interface GigabitEthernet0/1
 description Backup-Link
 delay 1000

Delayが小さい経路ほど、EIGRPメトリックが小さくなり、優先されやすい。

Bandwidth変更例

interface GigabitEthernet0/0
 bandwidth 100000

この設定は、EIGRPが100Mbps相当のリンクとして計算することを意味する。

実リンクが1Gbpsであっても、設定上のBandwidthを100Mbpsにすれば、EIGRPでは100Mbps相当として扱われる。

確認コマンド:

show interfaces GigabitEthernet0/0
show ip eigrp topology 192.0.2.0 255.255.255.0

24. Administrative Distance(AD)

AD(Administrative Distance)は、異なるルーティング情報源から同一宛先を学習した場合に、どの経路情報源を優先するかを決めるCiscoローカルの優先度である。

値が小さいほど優先される。

Ciscoの代表的なデフォルトADは以下。

経路情報源 AD
Connected 0
Static 1
eBGP 20
EIGRP Internal 90
OSPF 110
IS-IS 115
RIP 120
EIGRP External 170
iBGP 200

EIGRP Internal RouteはAD 90、EIGRP External RouteはAD 170である。

ルーティングテーブルの例:

D    192.0.2.0/24 [90/30720] via 10.0.12.2, 00:03:20, GigabitEthernet0/0
D EX 198.51.100.0/24 [170/284160] via 10.0.12.2, 00:02:10, GigabitEthernet0/0

表記の意味は以下。

[Administrative Distance / EIGRP Metric]

例:

[90/30720]

は以下を意味する。

AD:90
EIGRP Metric:30720

EIGRPのADを変更する例:

router eigrp 100
 distance eigrp 90 170

構文は以下。

distance eigrp <internal-distance> <external-distance>

例:

router eigrp 100
 distance eigrp 95 175

AD変更は他プロトコルとの経路選択へ影響するため、通常は慎重に扱う。


25. EIGRP Internal RouteとExternal Route

EIGRPで学習する経路は、主にInternal RouteとExternal Routeに分かれる。

表示 種別 内容
D EIGRP Internal EIGRPドメイン内部で学習した経路
D EX EIGRP External 他プロトコルなどから再配送された経路

Internal Routeの例:

D 10.10.10.0/24 [90/28160] via 10.0.12.2

External Routeの例:

D EX 172.16.0.0/16 [170/284160] via 10.0.12.2

External Routeは、OSPF、BGP、Static Route、Connected RouteなどをEIGRPへ再配送した場合に生成される。

EIGRP External Routeには、元のルーティングプロトコル、外部メトリック、タグ、外部ルータIDなどの情報が保持される。


26. Equal-Cost Load Balancing

EIGRPは、同一メトリックの複数経路を同時に使用できる。

デフォルトでは、Cisco IOS / IOS XEは複数のEqual-Cost Pathを利用できる。

設定例:

router eigrp 100
 maximum-paths 4

最大4経路を使用する例である。

複数の同一メトリック経路がある場合、CEFによりロードバランシングが行われる。

router eigrp 100
 maximum-paths 2

2経路までに制限する例である。


27. Unequal-Cost Load Balancing

EIGRPは、Cisco IGPの特徴としてUnequal-Cost Load Balancingをサポートする。

異なるメトリックの経路でも、Feasible Successorであり、かつVariance条件を満たす場合に同時利用できる。

設定例:

router eigrp 100
 variance 2

variance 2は、最良経路のFDの2倍以下のメトリックを持つFeasible Successorをロードバランシング対象にできることを意味する。

例:

最良経路のFD:10000
Variance:2

利用可能な最大メトリック:20000

候補経路が以下の場合:

経路 FD Feasible Successor 利用可否
Path 1 10000 Successor 利用
Path 2 15000 Yes 利用可能
Path 3 25000 Yes 利用不可
Path 4 12000 No 利用不可

Path 4はメトリック条件を満たしていても、Feasibility Conditionを満たさない場合は利用できない。

EIGRPでは、Varianceだけで任意の経路をロードバランシング対象にできるわけではない。


28. traffic-share

Unequal-Cost Load Balancing時のトラフィック分散方式は、traffic-shareで制御できる。

デフォルトは一般に以下。

traffic-share balanced

設定例:

router eigrp 100
 variance 2
 traffic-share balanced

最良経路だけへトラフィックを流し、他経路を待機経路として扱う例:

router eigrp 100
 variance 2
 traffic-share min across-interfaces

ただし、traffic-share minを使用しても、Feasible Successorとしての情報はTopology Tableに保持される。


29. EIGRP Stub

EIGRP Stubは、Hub-and-Spoke構成におけるSpokeルータなどで使用する。

Stubルータは、HubからのQuery拡散を抑制し、SIA発生リスクを下げる。

Spokeルータでの設定例:

router eigrp 100
 eigrp stub connected summary

この設定では、Stubルータは主に以下の経路だけを広告する。

  • Connected Route
  • Summary Route

一般的なSpokeルータでは、以下の設定がよく使用される。

router eigrp 100
 eigrp stub connected summary

Stub設定の種類は以下。

キーワード 広告対象
connected Connected Route
static Static Route
summary Summary Route
redistributed 再配送経路
receive-only 経路を広告せず受信のみ

例として、Connected、Static、Summaryを広告する場合は以下。

router eigrp 100
 eigrp stub connected static summary

receive-onlyの例:

router eigrp 100
 eigrp stub receive-only

EIGRP Stubは通常、HubではなくSpoke側に設定する。


30. 経路集約

EIGRPでは、インターフェース単位で手動集約を設定できる。

例として、以下の経路を集約する。

10.10.1.0/24
10.10.2.0/24
10.10.3.0/24
10.10.4.0/24

集約経路:

10.10.0.0/16

設定例:

interface GigabitEthernet0/0
 ip summary-address eigrp 100 10.10.0.0 255.255.0.0

EIGRPでは、集約設定を行うと、通常、集約経路に対応するNull0ルートがローカルに生成される。

例:

D    10.10.0.0/16 is a summary, 00:01:20, Null0

このNull0ルートは、集約経路配下に存在しない詳細経路へ誤転送されることを防ぐ役割を持つ。

ただし、詳細経路が消失しても要約経路が残る場合、ブラックホールが発生する可能性がある。

経路集約の利点は以下。

  • ルーティングテーブルの縮小
  • Update、Query、Replyの範囲縮小
  • SIA対策
  • 障害影響範囲の局所化
  • ネットワーク設計の単純化

自動集約を無効化する設定は以下。

router eigrp 100
 no auto-summary

現在のCisco IOS / IOS XEでは自動集約が無効であることが多いが、機種・バージョン・既存設定の影響を考慮し、明示的にno auto-summaryを設定することが推奨される。


31. デフォルトルート広告

EIGRPでデフォルトルートを広告する代表的な方法は、Static Routeを再配送する方法である。

まず、デフォルトルートを設定する。

ip route 0.0.0.0 0.0.0.0 192.0.2.2

次に、Static RouteをEIGRPへ再配送する。

router eigrp 100
 redistribute static metric 100000 100 255 1 1500

メトリックの意味は以下。

metric <bandwidth> <delay> <reliability> <load> <mtu>

設定例の意味:

内容
100000 帯域幅(Kbps)
100 遅延(10マイクロ秒単位)
255 信頼性
1 負荷
1500 MTU

再配送対象をデフォルトルートだけに制限する例:

ip prefix-list DEFAULT-ONLY seq 5 permit 0.0.0.0/0

route-map STATIC-TO-EIGRP permit 10
 match ip address prefix-list DEFAULT-ONLY

router eigrp 100
 redistribute static route-map STATIC-TO-EIGRP metric 100000 100 255 1 1500

無条件でStatic Routeを再配送すると、不要な経路までEIGRPへ流出する可能性があるため、Prefix-listやRoute-mapを使用して制限することが望ましい。


32. 再配送

EIGRPには、以下のような経路を再配送できる。

  • Static Route
  • Connected Route
  • OSPF
  • BGP
  • RIP
  • IS-IS
  • 別EIGRP AS

OSPFをEIGRPへ再配送する例:

router eigrp 100
 redistribute ospf 1 metric 100000 100 255 1 1500

BGPをEIGRPへ再配送する例:

router eigrp 100
 redistribute bgp 65001 metric 100000 100 255 1 1500

Connected Routeを再配送する例:

router eigrp 100
 redistribute connected metric 100000 100 255 1 1500

EIGRPへ外部経路を再配送する場合、通常はシードメトリックが必要である。

全再配送経路に共通のデフォルトメトリックを設定する例:

router eigrp 100
 default-metric 100000 100 255 1 1500
 redistribute ospf 1
 redistribute static

再配送では、以下を設計する。

  • 対象プレフィックスの制限
  • シードメトリック
  • Route Tag
  • 再配送ループ防止
  • 経路集約
  • デフォルトルートの扱い
  • Internal / External経路の優先度

33. Route Tagによる再配送ループ対策

OSPFとEIGRPなどを相互再配送する場合、経路が再び元のプロトコルへ戻るループが発生する可能性がある。

これを防ぐため、Route Tagを使用する。

OSPFからEIGRPへ再配送する経路へTag 110を設定する例:

route-map OSPF-TO-EIGRP permit 10
 set tag 110

router eigrp 100
 redistribute ospf 1 route-map OSPF-TO-EIGRP metric 100000 100 255 1 1500

EIGRPからOSPFへ再配送する際に、Tag 110を持つ経路を除外する例:

route-map EIGRP-TO-OSPF deny 10
 match tag 110

route-map EIGRP-TO-OSPF permit 20

router ospf 1
 redistribute eigrp 100 subnets route-map EIGRP-TO-OSPF

再配送は必要最小限にし、フィルタ、タグ、メトリックを明示的に設定することが重要である。


34. EIGRP認証

EIGRPでは、ネイバー間で認証を設定できる。

Cisco IOS / IOS XEでは、一般的にKey Chainを用いたMD5認証が使用される。

Key Chain設定例

key chain EIGRP-KEY
 key 1
  key-string EIGRP-SECRET

インターフェースへ認証を適用する。

interface GigabitEthernet0/0
 ip authentication mode eigrp 100 md5
 ip authentication key-chain eigrp 100 EIGRP-KEY

対向ルータ側にも同じ認証設定を入れる。

key chain EIGRP-KEY
 key 1
  key-string EIGRP-SECRET

interface GigabitEthernet0/0
 ip authentication mode eigrp 100 md5
 ip authentication key-chain eigrp 100 EIGRP-KEY

認証設定で一致が必要な要素は以下。

  • 認証方式
  • Key Chain名
  • Key ID
  • Key String
  • 鍵の有効期間

認証不一致の場合、EIGRPネイバー関係は形成されない、または維持できない。

MD5以外の認証方式やHMAC-SHA-256などへの対応は、Cisco IOS / IOS XEのバージョンやプラットフォームに依存する。


35. Split Horizon

Split Horizonは、あるインターフェースから学習した経路を、同じインターフェースへ広告しないことでルーティングループを防止する仕組みである。

EIGRPでは通常、Split Horizonは有効である。

確認例:

show ip eigrp interfaces detail

Hub-and-Spoke構成、特にNBMAやDMVPNのような環境では、HubがSpoke Aから学習した経路をSpoke Bへ広告する必要がある場合がある。

その場合、Hub側でSplit Horizonを無効化することがある。

interface Tunnel0
 no ip split-horizon eigrp 100

Split Horizon無効化はループの原因となり得るため、適用はHub-and-Spoke構成など必要な場面に限定する。


36. Static Neighbor

EIGRPでは通常、マルチキャストHelloによりネイバーを検出する。

NBMA環境などでマルチキャストを使用できない場合は、Static Neighborを設定できる。

router eigrp 100
 neighbor 10.0.12.2 GigabitEthernet0/0

対向側も設定する。

router eigrp 100
 neighbor 10.0.12.1 GigabitEthernet0/0

Static Neighborを設定したインターフェースでは、EIGRPのマルチキャスト動作が変わり、ユニキャストで通信する。

Static Neighborを使用する場合は、必要なすべてのネイバーを明示的に設定する必要がある。


37. Named Mode EIGRP

Cisco IOS / IOS XEでは、Classic ModeのほかにNamed Mode EIGRPを使用できる。

Named Modeでは、IPv4 / IPv6などのアドレスファミリをまとめて管理しやすくなる。

設定例:

router eigrp ENTERPRISE

 address-family ipv4 unicast autonomous-system 100
  eigrp router-id 10.255.0.1
  network 10.0.12.0 0.0.0.3
  network 10.255.0.1 0.0.0.0

  af-interface default
   passive-interface
  exit-af-interface

  af-interface GigabitEthernet0/0
   no passive-interface
  exit-af-interface

 exit-address-family

Named Modeの利点は以下。

  • IPv4 / IPv6の設定体系を統一しやすい
  • インターフェース単位の設定を整理しやすい
  • Address Family単位で設定を管理できる
  • Wide Metricなどの拡張機能と組み合わせやすい
  • 大規模構成で設定の可読性を高めやすい

Classic ModeとNamed Modeは設定体系が異なるため、運用手順やテンプレートを統一することが望ましい。


38. IPv6 EIGRP

IPv6でEIGRPを使用する場合、IPv6 EIGRPを設定する。

IPv6 EIGRPでは、IPv4 EIGRPと異なり、インターフェース上で直接EIGRPを有効化する構成が一般的である。

R1設定例

ipv6 unicast-routing

interface GigabitEthernet0/0
 ipv6 address 2001:db8:12::1/64
 ipv6 eigrp 100
 no shutdown

interface Loopback0
 ipv6 address 2001:db8:255::1/128
 ipv6 eigrp 100

ipv6 router eigrp 100
 eigrp router-id 10.255.0.1
 no shutdown

R2設定例

ipv6 unicast-routing

interface GigabitEthernet0/0
 ipv6 address 2001:db8:12::2/64
 ipv6 eigrp 100
 no shutdown

interface Loopback0
 ipv6 address 2001:db8:255::2/128
 ipv6 eigrp 100

ipv6 router eigrp 100
 eigrp router-id 10.255.0.2
 no shutdown

IPv6 EIGRPの注意点は以下。

  • ipv6 unicast-routingが必要
  • EIGRP Router IDが必要
  • EIGRPプロセスをno shutdownする必要がある
  • IPv6マルチキャストアドレスFF02::Aを使用する
  • EIGRP AS番号は対向と一致する必要がある
  • IPv4 EIGRPとIPv6 EIGRPは別のAddress Familyとして動作する

IPv6 EIGRPのネイバー確認:

show ipv6 eigrp neighbors

IPv6 EIGRP経路確認:

show ipv6 route eigrp

39. EIGRPで使用する代表的な確認コマンド

ネイバー確認

show ip eigrp neighbors
show ip eigrp neighbors detail

Topology Table確認

show ip eigrp topology
show ip eigrp topology all-links
show ip eigrp topology 192.0.2.0 255.255.255.0

インターフェース確認

show ip eigrp interfaces
show ip eigrp interfaces detail

ルーティングテーブル確認

show ip route eigrp
show ip route 192.0.2.0

プロトコル設定確認

show ip protocols
show running-config | section router eigrp

EIGRPトラフィック確認

show ip eigrp traffic

EIGRPイベント確認

show ip eigrp events

デバッグ

debug eigrp packets
debug eigrp packets hello
debug eigrp packets update
debug eigrp packets query

デバッグはCPU負荷およびログ出力を増加させるため、本番環境では慎重に使用する。


40. 代表的な障害原因

症状 主な原因
ネイバーが形成されない EIGRP AS不一致、K値不一致、認証不一致、Passive Interface、L3到達性不良
Hold Timerが切れる 回線障害、Hello未受信、CPU高負荷、マルチキャスト障害
経路を学習しない network設定漏れ、Passive設定、フィルタ、再配送漏れ
経路がRouting Tableに入らない AD、より優先されるStatic Route、Next-hop到達性、別プロトコル経路
意図しない経路を選ぶ Bandwidth / Delay設計不備、K値変更、Variance、再配送メトリック不備
D EX経路になる 他ルーティングプロトコルまたはStatic Routeから再配送されている
Queryが多い Stub未使用、集約不足、経路不安定、大規模フラット構成
SIAが発生する QueryへのReply未受信、回線障害、CPU高負荷、Query範囲過大
ネイバーが頻繁に切れる Hello / Hold Timer、認証、回線品質、CPU、マルチキャスト到達性
Q Countが増加する パケットロス、ネイバー応答遅延、回線輻輳、CPU高負荷

41. 設計・運用上の要点

  • EIGRP Router IDはLoopbackアドレスなどで明示設定する
  • EIGRP AS番号は隣接ルータ間で一致させる
  • K値は変更せず、全ルータでデフォルト値を維持することが一般的
  • ルータ間リンク以外はpassive-interfaceを基本とする
  • EIGRP認証を有効化する
  • Hub-and-Spoke構成ではSpokeをEIGRP Stubにする
  • 大規模ネットワークでは経路集約を行い、Query範囲を抑える
  • 再配送は最小限にし、Prefix-list、Route-map、Tagを使用する
  • EIGRP再配送時はシードメトリックを明示する
  • Bandwidth変更はQoSや他プロトコルへ影響するため注意する
  • 経路優先度を調整する場合は、BandwidthよりDelay調整を優先的に検討する
  • Unequal-Cost Load Balancingでは、VarianceとFeasibility Conditionの両方を理解する
  • DD EXの違い、およびAD 90 / 170を理解する
  • SIA対策としてStub、集約、障害ドメイン分割を行う
  • Static Neighborはマルチキャストが使えない環境など、必要な場合だけ使用する
  • IPv4 EIGRPとIPv6 EIGRPは別Address Familyとして設計する
  • 高速リンクを利用する環境ではWide Metric対応と機器バージョンを確認する

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?