EIGRP は Cisco 独自のルーティングプロトコルで、ディスタンスベクター型ルーティングプロトコル (ex. RIP) とリンクステート型ルーティングプロトコル (ex. OSPF) の両方の特徴を持つハイブリッド型ルーティングプロトコル (拡張ディスタンスベクター型ルーティングプロトコルとも呼ばれる) です。
EIGRP の構成時には自律システム (AS) 番号を使用し、同じ AS 番号のルータ同士でのみルーティングアップデートの交換を行い、異なる AS 番号を持つルータとはルーティングアップデートの交換を行いません。このように EIGRP は自立システム単位で運用します。
EIGRP のメトリックは、帯域幅、遅延、負荷、信頼性の4つの要素から計算される複合メトリックで、デフォルトではこのうち帯域幅と遅延のみ使用します。また、EIGRP はルーテッドプロトコルとしてIP以外のIPX、AppleTalkなどのプロトコルもサポートし、プロトコル毎にルーティングテーブルを保持できます。ただ、現在ほとんどのネットワークがIPネットワークであることを考えれば、これは目立った特徴とも言えません。
※ MTU は EIGRP メトリックの計算式には含まれていないため、複合メトリックには含まれません。
「シスコ技術者認定公式ガイド」にも記載済み。
- RT-A に以下の設定をしなさい。
< RT-A >
Router# conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# host RT-A
RT-A(config)# int f0/0
RT-A(config-if)# ip add 172.16.1.1 255.255.255.0
RT-A(config-if)# no keep
RT-A(config-if)# no shut
RT-A(config-if)# int s0/0/0
RT-A(config-if)# ip add 172.16.2.1 255.255.255.0
RT-A(config-if)# clock rate 64000
RT-A(config-if)# bandwidth 64
RT-A(config-if)# no shut
RT-A(config-if)# router eigrp 1
RT-A(config-router)# net 172.16.0.0
RT-A(config-router)# ^Z
RT-A#
EIGRP の network コマンドは RIP と同様にクラスフルの指定が可能ですが、クラスレスでの指定も可能です。
次の RT-B ではクラスレスで指定します。
- RT-B に以下の設定をしなさい。
< RT-B >
Router# conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# host RT-B
RT-B(config)# int s0/0/0
RT-B(config-if)# ip add 172.16.2.2 255.255.255.0
RT-B(config-if)# bandwidth 64
RT-B(config-if)# no shut
RT-B(config-if)# int f0/0
RT-B(config-if)# ip add 172.16.3.2 255.255.255.0
RT-B(config-if)# no keep
RT-B(config-if)# no shut
RT-B(config-if)# router eigrp 1
RT-B(config-router)# net 172.16.2.0 0.0.0.255
RT-B(config-router)# net 172.16.3.0 0.0.0.255
RT-B(config-router)# ^Z
RT-B#
EIGRP の network コマンドをクラスレスで入力する場合
RT-B(config-router)# network 172.16.2.0 ?
A.B.C.D EIGRP wild card bits
<cr>
と表示されますので、ワイルドカードマスクの形式で入力します。
RT-B(config-router)# network 172.16.2.0 0.0.0.255
ただし、本来正しい入力ではありませんが、サブネットネットマスクの形式でも入力はできます。
RT-B(config-router)# network 172.16.2.0 255.255.255.0
この場合、設定後 sh run で確認すると、172.16.2.0 0.0.0.255 に自動で置き換わっています。
また、network コマンドは EIGRP を動作させるインターフェイスを指定するものなので
RT-B(config-router)# network 172.16.2.2 0.0.0.0
のようにピンポイントで設定することもできます。
- RT-A、RT-B の running-config を確認しなさい。
< RT-A >
RT-A# sh run | section eigrp
router eigrp 1
network 172.16.0.0
RT-A#
< RT-B >
RT-B# sh run | section eigrp
router eigrp 1
network 172.16.2.0 0.0.0.255
network 172.16.3.0 0.0.0.255
RT-B#
EIGRP には次の3つのテーブルがあります。
ルーティングテーブル | 最適ルート情報の入ったテーブルで show ip route コマンドにて確認できる。 |
ネイバーテーブル | 隣接 EIGRP ルータがリストされているテーブルで show ip eigrp neighbors コマンドにて確認できる。 |
トポロジーテーブル | 宛先ネットワークまでの全てのルート情報を保持しているテーブルで show ip eigrp topology コマンドにて確認できる。 |
それぞれ確認していきましょう。
- RT-A のルーティングテーブルを表示させなさい。
< RT-A >
RT-A# sh ip route | begin Gateway
Gateway of last resort is not set
172.16.0.0/16 is variably subnetted, 5 subnets, 2 masks
C 172.16.1.0/24 is directly connected, FastEthernet0/0
L 172.16.1.1/32 is directly connected, FastEthernet0/0
C 172.16.2.0/24 is directly connected, Serial0/0/0
L 172.16.2.1/32 is directly connected, Serial0/0/0
D 172.16.3.0/24 [90/40514560] via 172.16.2.2, 00:00:34, Serial0/0/0 ← RT-B から学習した 172.16.3.0/24 宛てのルート
RT-A#
先頭に「D」のあるルートエントリが EIGRP を使って学習したルートです。
EIGRP には「内部ルート」と「外部ルート」があり、EIGRP の自律システム内で生成されたルートが「内部ルート」で、他のルーティングプロトコルによって学習したルート (または、スタティックルート) が「外部ルート」です。EIGRP を実行したルータに直接接続しているネットワークは「内部ルート」と見なされ、同じ AS 内の他の EIGRP ルータにこのルート情報を伝搬します。
EIGRP の内部ルートの場合はルートエントリの先頭に「D」を、外部ルートの場合は「D EX」を表示します。
■ アドミニストレーティブディスタンス と メトリック
[90/40514560] はアドミニストレーティブディスタンスの値と、メトリックの値です。
アドミニストレーティブディスタンスのデフォルト値は下記の通りです。
C | 直接接続されたインターフェイス | 0 |
S | スタティックルート | 1 |
D | EIGRP | 90 |
O | OSPF | 110 |
R | RIP | 120 |
EIGRP のメトリックに関しては次のシナリオで行います。
- RT-B のルーティングテーブルを表示させなさい。
< RT-B >
RT-B# sh ip route | begin Gateway
Gateway of last resort is not set
172.16.0.0/16 is variably subnetted, 5 subnets, 2 masks
D 172.16.1.0/24 [90/40514560] via 172.16.2.1, 00:00:41, Serial0/0/0 ← RT-A から学習した 172.16.1.0/24 宛てのルート
C 172.16.2.0/24 is directly connected, Serial0/0/0
L 172.16.2.2/32 is directly connected, Serial0/0/0
C 172.16.3.0/24 is directly connected, FastEthernet0/0
L 172.16.3.2/32 is directly connected, FastEthernet0/0
RT-B#
- RT-A、RT-B のネイバーテーブルを表示させなさい。
< RT-A >
RT-A# sh ip eigrp neighbors
EIGRP-IPv4 Neighbors for AS(1)
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
0 172.16.2.2 Se0/0/0 11 00:02:46 24 2280 0 3
RT-A#
172.16.2.2 は隣接ルータ RT-B のIPアドレスです。
< RT-B >
RT-B# sh ip eigrp neighbors
EIGRP-IPv4 Neighbors for AS(1)
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
0 172.16.2.1 Se0/0/0 11 00:02:52 22 2280 0 3
RT-B#
172.16.2.1 は隣接ルータ RT-A のIPアドレスです。
- RT-A、RT-B のトポロジーテーブルを表示させなさい。
< RT-A >
RT-A# sh ip eigrp topology
EIGRP-IPv4 Topology Table for AS(1)/ID(172.16.2.1)
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
r - reply Status, s - sia Status
P 172.16.2.0/24, 1 successors, FD is 40512000
via Connected, Serial0/0/0
P 172.16.3.0/24, 1 successors, FD is 40514560
via 172.16.2.2 (40514560/28160), Serial0/0/0
P 172.16.1.0/24, 1 successors, FD is 28160
via Connected, FastEthernet0/0
RT-A#
今回のネットワーク構成では、ルーティングテーブルに載っている最適ルートしかトポロジーテーブルには載っていませんので、トポロジーテーブルについては別シナリオで確認します。
< RT-B >
RT-B# sh ip eigrp topology
EIGRP-IPv4 Topology Table for AS(1)/ID(172.16.3.2)
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
r - reply Status, s - sia Status
P 172.16.2.0/24, 1 successors, FD is 40512000
via Connected, Serial0/0/0
P 172.16.3.0/24, 1 successors, FD is 28160
via Connected, FastEthernet0/0
P 172.16.1.0/24, 1 successors, FD is 40514560
via 172.16.2.1 (40514560/28160), Serial0/0/0
RT-B#
- RT-A、RT-B で sh ip protocols コマンドを実行しなさい。
< RT-A >
RT-A#sh ip protocols
*** IP Routing is NSF aware ***
Routing Protocol is "eigrp 1" ← ルーティングプロトコルは EIGRP で、AS 番号は 1
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Default networks flagged in outgoing updates
Default networks accepted from incoming updates
EIGRP-IPv4 Protocol for AS(1)
Metric weight K1=1, K2=0, K3=1, K4=0, K5=0
NSF-aware route hold timer is 240
Router-ID: 172.16.2.1
Topology : 0 (base)
Active Timer: 3 min
Distance: internal 90 external 170
Maximum path: 4
Maximum hopcount 100 ← 最大ホップ数は 100 (ただし、これはデフォルト値)
Maximum metric variance 1
Automatic Summarization: disabled
Maximum path: 4
Routing for Networks:
172.16.0.0 ← network コマンドで指定したネットワーク
Routing Information Sources:
Gateway Distance Last Update
172.16.2.2 90 00:04:50 ← 172.16.2.2 のルータからアップデートを受信している
Distance: internal 90 external 170 ← AD値 (内部:90、外部:170)
RT-A#
< RT-B >
RT-B#sh ip protocols
*** IP Routing is NSF aware ***
Routing Protocol is "eigrp 1"
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Default networks flagged in outgoing updates
Default networks accepted from incoming updates
EIGRP-IPv4 Protocol for AS(1)
Metric weight K1=1, K2=0, K3=1, K4=0, K5=0
NSF-aware route hold timer is 240
Router-ID: 172.16.3.2
Topology : 0 (base)
Active Timer: 3 min
Distance: internal 90 external 170
Maximum path: 4
Maximum hopcount 100
Maximum metric variance 1
Automatic Summarization: disabled
Maximum path: 4
Routing for Networks:
172.16.2.0/24
172.16.3.0/24
Routing Information Sources:
Gateway Distance Last Update
172.16.2.1 90 00:04:58
Distance: internal 90 external 170
RT-B#