| 確認 |
フレームリレーをはじめとする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を使うときには,スプリット・ホライズンをオフにすることを忘れないようにしましょう。
|
|