NBMAネットワークにおけるEIGRPの設定
・フレームリレー(NBMAネットワーク)でEIGRPを使う
・デフォルトではスプリット・ホライズンが効いていることを確認する
ネットワーク構成(画像を別ウインドウで表示)
RouterAのコンフィグ
!
version 12.2
no service single-slot-reload-enable
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname RouterA
!
interface Loopback0
ip address 1.1.1.1 255.255.255.0
!
interface Serial0
ip address 192.168.1.1 255.255.255.0
encapsulation frame-relay
no ip split-horizon eigrp 1 ←スプリット・ホライズンを無効にする
frame-relay map ip 192.168.1.2 100 broadcast
frame-relay map ip 192.168.1.3 300 broadcast
frame-relay interface-dlci 100
frame-relay interface-dlci 300
!
router eigrp 1
network 1.0.0.0
network 192.168.1.0
no auto-summary
no eigrp log-neighbor-changes
!
line con 0
transport input none
line aux 0
line vty 0 4
login
!
end
RouterBのコンフィグ
!
version 12.2
no service single-slot-reload-enable
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname RouterB
!
interface Loopback0
ip address 2.2.2.2 255.255.255.0
!
interface Serial0
ip address 192.168.1.2 255.255.255.0
encapsulation frame-relay
no fair-queue
frame-relay map ip 192.168.1.1 200 broadcast
frame-relay map ip 192.168.1.3 200 broadcast
frame-relay interface-dlci 200
!
router eigrp 1
network 2.0.0.0
network 192.168.1.0
no auto-summary
no eigrp log-neighbor-changes
!
line con 0
transport input none
line aux 0
line vty 0 4
login
!
end
RouterCのコンフィグ
!
version 12.2
no service single-slot-reload-enable
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname RouterC
!
interface Loopback0
ip address 3.3.3.3 255.255.255.0
!
interface Serial0
ip address 192.168.1.3 255.255.255.0
encapsulation frame-relay
frame-relay map ip 192.168.1.1 400 broadcast
frame-relay map ip 192.168.1.2 400 broadcast
frame-relay interface-dlci 400
!
router eigrp 1
network 3.0.0.0
network 192.168.1.0
no auto-summary
no eigrp log-neighbor-changes
!
line con 0
transport input none
line aux 0
line vty 0 4
login
!
end
FRswitchのコンフィグ
!
version 12.2
no service single-slot-reload-enable
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname FRswitch
!
frame-relay switching ←このルーターをフリームリレー交換機にする
!
interface Serial0
no ip address
encapsulation frame-relay
no fair-queue
clockrate 64000
frame-relay intf-type dce
frame-relay route 100 interface Serial1 200
frame-relay route 300 interface Serial2 400
!
interface Serial1
no ip address
encapsulation frame-relay
clockrate 64000
frame-relay intf-type dce
frame-relay route 200 interface Serial0 100
!
interface Serial2
no ip address
encapsulation frame-relay
clockrate 64000
frame-relay intf-type dce
frame-relay route 400 interface Serial0 300
!
line con 0
transport input none
line aux 0
line vty 0 4
login
!
end
確認
フレームリレーをはじめとするNBMAネットワークでEIGRPを使うときには注意が必要です。
なぜなら,EIGRPは基本的にはディスタンス・ベクタ型のルーティング・プロトコルだからです。
そのため,RIPやIGRPと同様に,スプリット・ホライズンのしくみを使います。
「経路情報を受け取ったインタフェースからは,その経路情報は送り返さない」というやつですね。
NBMAネットワークだと,このスプリット・ホライズンによって通信できなくなってしまうことがあります。

●デフォルトの状態を確認(スプリット・ホライズンが有効)
EIGRPは,RIPやIGRPと同様,デフォルトでスプリット・ホライズンが有効になっています。
スプリット・ホライズンをオフにするコマンドは,
no ip split-horizon eigrp 1
です。
RouteAにこのコマンドを入力していない,デフォルトの状態から見ていきましょう。

ネットワークの構成は,RouterA(ハブ・ルーター)にRouterBとRouterC(とものスポーク・ルーター)がつながっている構成です。
RouterAのルーティング・テーブルを見ると,すべての経路情報が見えますね。

RouterA#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
    D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
    N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
    E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
    i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
    * - candidate default, U - per-user static route, o - ODR
    P - periodic downloaded static route

Gateway of last resort is not set

   1.0.0.0/24 is subnetted, 1 subnets
C    1.1.1.0 is directly connected, Loopback0
   2.0.0.0/24 is subnetted, 1 subnets
D    2.2.2.0 [90/2297856] via 192.168.1.2, 00:29:06, Serial0
   3.0.0.0/24 is subnetted, 1 subnets
D    3.3.3.0 [90/2297856] via 192.168.1.3, 00:29:06, Serial0
C  192.168.1.0/24 is directly connected, Serial0


RouterBはどうでしょうか。
あらら,RouterCの先にある経路情報(3.3.3.0/24)が見えていません。

RouterB#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
    D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
    N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
    E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
    i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
    * - candidate default, U - per-user static route, o - ODR
    P - periodic downloaded static route

Gateway of last resort is not set

   1.0.0.0/24 is subnetted, 1 subnets
D    1.1.1.0 [90/2297856] via 192.168.1.1, 00:29:22, Serial0
   2.0.0.0/24 is subnetted, 1 subnets
C    2.2.2.0 is directly connected, Loopback0
C  192.168.1.0/24 is directly connected, Serial0


RouterBで,EIGRPのトポロジ・テーブルを調べて見ましょう。
やはり,3.3.3.0/24の経路情報がありません。

RouterB#show ip eigrp topology
IP-EIGRP Topology Table for AS(1)/ID(2.2.2.2)

Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
    r - reply Status, s - sia Status

P 1.1.1.0/24, 1 successors, FD is 2297856
     via 192.168.1.1 (2297856/128256), Serial0
P 2.2.2.0/24, 1 successors, FD is 128256
     via Connected, Loopback0
P 192.168.1.0/24, 1 successors, FD is 2169856
     via Connected, Serial0


つまりRouterBは,RouterCの経路情報をEIGRPで受信できていないことがわかります。
これはなぜかというと,RouterAでスプリット・ホライズンが効いているからです。
RouterAは,RouterCから3.3.3.0/24の経路情報を,Serial0インタフェースで受け取ります。
スプリット・ホライズンにより,この経路情報はSerial0インタフェースからは出しません。
なので,RouterBに3.3.3.0/24の経路情報は流れないのです。
ちなみに,RouterCも同様に,RouterBの経路情報(12.2.2.0/24)が受信でません。

●RouterAでスプリット・ホライズンを無効にする
これでは通信できないので,RouterAのSerial0インタフェースでスプリット・ホライズンを無効にしましょう。
Serial0インタフェースの設定モードで,no ip split-holizon eigrp 1と入力します。

RouterA(config)#interface serial 0
RouterA(config-if)#no ip split-horizon eigrp 1


その前に,RouterBに経路情報が流れているかを確かめるために,RouterBでデバッグ機能を使ってEIGRPのパケットを表示するようにしておきます。

RouterB#debug eigrp packets update
EIGRP Packets debugging is on
  (UPDATE)


この状態で,RouterAでno ip split-holizon eigrp 1のコマンドを入力します。
すると,RouterBに以下の表示が出ます。

02:47:07: EIGRP: Received UPDATE on Serial0 nbr 192.168.1.1
02:47:07:  AS 1, Flags 0x1, Seq 69/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/0

02:47:09: EIGRP: Received UPDATE on Serial0 nbr 192.168.1.1
02:47:09:  AS 1, Flags 0x1, Seq 69/0 idbQ 0/0
02:47:12: EIGRP: Received UPDATE on Serial0 nbr 192.168.1.1
02:47:12:  AS 1, Flags 0x1, Seq 69/0 idbQ 0/0
02:47:17: EIGRP: Received UPDATE on Serial0 nbr 192.168.1.1
02:47:17:  AS 1, Flags 0x1, Seq 69/0 idbQ 0/0
02:47:22: EIGRP: Received UPDATE on Serial0 nbr 192.168.1.1
02:47:22:  AS 1, Flags 0x1, Seq 69/0 idbQ 0/0
02:47:27: EIGRP: Received UPDATE on Serial0 nbr 192.168.1.1
02:47:27:  AS 1, Flags 0x1, Seq 69/0 idbQ 0/0
02:47:32: EIGRP: Received UPDATE on Serial0 nbr 192.168.1.1
02:47:32:  AS 1, Flags 0x1, Seq 69/0 idbQ 0/0
02:47:37: EIGRP: Received UPDATE on Serial0 nbr 192.168.1.1
02:47:37:  AS 1, Flags 0x1, Seq 69/0 idbQ 0/0
02:47:42: EIGRP: Received UPDATE on Serial0 nbr 192.168.1.1
02:47:42:  AS 1, Flags 0x1, Seq 69/0 idbQ 0/0
02:47:47: EIGRP: Received UPDATE on Serial0 nbr 192.168.1.1
02:47:47:  AS 1, Flags 0x1, Seq 69/0 idbQ 0/0
02:47:50: EIGRP: Enqueueing UPDATE on Serial0 nbr 192.168.1.1 iidbQ un/rely 0/1peerQ un/rely 0/0 serno 14-20
02:47:50: EIGRP: Sending UPDATE on Serial0 nbr 192.168.1.1
02:47:50:  AS 1, Flags 0x1, Seq 44/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/1 serno 14-20
02:47:52: EIGRP: Received UPDATE on Serial0 nbr 192.168.1.1
02:47:52:  AS 1, Flags 0x1, Seq 69/44 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely0/1
02:47:52: EIGRP: Enqueueing UPDATE on Serial0 iidbQ un/rely 0/1 serno 45-46
02:47:52: EIGRP: Enqueueing UPDATE on Serial0 nbr 192.168.1.1 iidbQ un/rely 0/0peerQ un/rely 0/0 serno 45-46
02:47:52: EIGRP: Sending UPDATE on Serial0 nbr 192.168.1.1
02:47:52:  AS 1, Flags 0x0, Seq 45/69 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely0/1 serno 45-46
02:47:52: EIGRP: Received UPDATE on Serial0 nbr 192.168.1.1
02:47:52:  AS 1, Flags 0x0, Seq 70/44 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely0/1


RouterBがRouterA(192.168.1.1)からEIGRPのUPDATE(経路情報)を受け取っているのがわかります(赤字の部分)。
(このデバッグを見ると,なぜか,RouterAからいくつも同じ経路情報を受信しています。RouterAも同様にデバッグしてみたところ,その数だけ経路情報をリトライして送っています。なぜでしょうか?この理由がわかる方がいらっしゃいましたら,教えていただけると助かります!)

RouterBのトポロジ・テーブルが変化したか見てみましょう。
すると,3.3.3.0/24の経路情報を受信していることがわかります。

RouterB#show ip eigrp topology
IP-EIGRP Topology Table for AS(1)/ID(2.2.2.2)

Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
    r - reply Status, s - sia Status

P 1.1.1.0/24, 1 successors, FD is 2297856
     via 192.168.1.1 (2297856/128256), Serial0
P 2.2.2.0/24, 1 successors, FD is 128256
     via Connected, Loopback0
P 3.3.3.0/24, 1 successors, FD is 2809856
     via 192.168.1.1 (2809856/2297856), Serial0

P 192.168.1.0/24, 1 successors, FD is 2169856
     via Connected, Serial0


ルーティング・テーブルも見てみます。
すると,3.3.3.0/24の経路情報が出現しました。

RouterB#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
    D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
    N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
    E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
    i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
    * - candidate default, U - per-user static route, o - ODR
    P - periodic downloaded static route

Gateway of last resort is not set

   1.0.0.0/24 is subnetted, 1 subnets
D    1.1.1.0 [90/2297856] via 192.168.1.1, 00:06:04, Serial0
   2.0.0.0/24 is subnetted, 1 subnets
C    2.2.2.0 is directly connected, Loopback0
   3.0.0.0/24 is subnetted, 1 subnets
D    3.3.3.0 [90/2809856] via 192.168.1.1, 00:06:04, Serial0
C  192.168.1.0/24 is directly connected, Serial0


RouterAのSerial0インタフェースでスプリット・ホライズンがオフになったので,Serial0の先にあるルーター同士で経路情報をやりとりできるようになったことがわかります。
フレームリレーでEIGRPを使うときには,スプリット・ホライズンをオフにすることを忘れないようにしましょう。

EIGRPラボ
EIGRPの基本設定
パッシブ・インタフェースの設定
不等コスト・ロードバランシング
タイマーの設定
NBMAネットワークにおけるEIGRPの設定