Frame RelayのようなNBMA(Non Broadcast Multi Access)環境では、ルーティングプロトコルのスプリットホライズン(split horizon)を意識しなければなりません。インターフェースの種類によって、スプリットホライズンのデフォルト設定が異なる事に十分注意して下さい。
コマンド一覧
このシナリオで重要なコマンド一覧は以下の通りです。
Router(config)# interface <interface> Router(config-if)# no ip split-horizon Router(config)# ipv6 router <proc> Router(config-rtr)# no split-horizon
構成図
以下の環境で動作確認を行います。R1をHubとし、R2, R3をspokeとします。Frame Relay SwitchはルータをFrame Relay Switch代わりとして使用します。
[ipv4 diagram] 192.168.123.0/24 +------+ ┌------+ R2 | s0/0 │ .2+------+ +------+ +-----+--+ s0/0.1 point-to-point | R1 +------+ FRSW | +------+ +-----+--+ s0/0.1 muitipoint │ .3+------+ └------+ R3 | +------+ R1 Loopback0 R2 Loopback0 R3 Loopback0 10.1.1.1/32 10.2.2.2/32 10.3.3.3/32 [ipv6 diagram] FEC0:123::/64 +------+ ┌------+ R2 | s0/0 │ .2+------+ +------+ +-----+--+ s0/0.1 point-to-point | R1 +------+ FRSW | +------+ +-----+--+ s0/0.1 muitipoint │ .3+------+ └------+ R3 | +------+ R1 Loopback0 R2 Loopback0 R3 Loopback0 FEC0:1::1/64 FEC0:2::2/64 FEC0:3::3/64
[R1, R2, R3] interface Serial0/0 encapsulation frame-relay
設定全文は下記ファイルです。詳細設定は下記を参照ください。
仕様説明
設定確認
Split Horizonは”教えたルートを教え返さない”ルーティングループ防止機能です。hub & spoke構成でRIPやEIGRPを使用する場合は、注意が必要な機能です。
Split Horizonが有効かどうかはshow ip interfaceコマンドにより確認できます。
R2#show ip interface Serial0/0.1 Serial0/0.1 is up, line protocol is up Internet address is 192.168.123.2/24 Broadcast address is 255.255.255.255 Address determined by setup command MTU is 1500 bytes Helper address is not set Directed broadcast forwarding is disabled Multicast reserved groups joined: 224.0.0.9 Outgoing access list is not set Inbound access list is not set Proxy ARP is enabled Local Proxy ARP is disabled Security level is default Split horizon is enabled ICMP redirects are always sent ICMP unreachables are always sent ICMP mask replies are never sent IP fast switching is enabled IP fast switching on the same interface is enabled IP Flow switching is disabled IP CEF switching is enabled IP CEF Fast switching turbo vector IP multicast fast switching is enabled IP multicast distributed fast switching is disabled IP route-cache flags are Fast, CEF Router Discovery is disabled IP output packet accounting is disabled IP access violation accounting is disabled TCP/IP header compression is disabled RTP/IP header compression is disabled Policy routing is disabled Network address translation is disabled BGP Policy Mapping is disabled WCCP Redirect outbound is disabled WCCP Redirect inbound is disabled WCCP Redirect exclude is disabled R2#
デフォルト設定 IPv4
Split Horizonがデフォルトで有効化どうかは、frame relayのinterface typeによって異なります。
split horizonのデフォルト設定についてまとめると以下のとおりです。virtual interface (subinterface)の場合は、split horizonがデフォルトで有効になっています。
interface | split horizon |
---|---|
physical interface | disable |
virtual interface point-to-point | enable |
virtual interface multipoint | enable |
デフォルト設定 IPv6
IPv6の場合は、interfaceの種類に関わらず、デフォルトでsplit horizonは有効です。
split horizon
IPv4の場合は、以下のようにinterfaceに対してsplit horizon無効化の設定を投入します。
Router(config)# interface <interface> Router(config-if)# no ip split-horizon
IPv6の場合は、以下のようにrouting processに対してsplit horizon無効化の設定を投入します。
Router(config)# ipv6 router <proc> Router(config-rtr)# no split-horizon
IPv4
interface 動作確認
各ルータのsplit horizon設定について確認します。physical interfaceであるR1のみsplit horizonが無効になっています。
[R1] R1#show ip interface Serial 0/0 | include Split Split horizon is disabled R1# [R2] R2#show ip interface Serial 0/0.1 | include Split Split horizon is enabled R2# [R3] R3#show ip interface Serial 0/0.1 | include Split Split horizon is enabled R3#
ルーティング確認
HubであるR1がデフォルトでSplit Horizonが無効になっていますので、特にSplit Horizonを意識しなくても、Spoke間の疎通ができるはずです。念のため、routing tableやpingからもSpoke間の疎通ができる事を確認しておきましょう。
[R3] R3#show ip route rip 10.0.0.0/32 is subnetted, 3 subnets R 10.2.2.2 [120/2] via 192.168.123.2, 00:00:18, Serial0/0.1 R 10.1.1.1 [120/1] via 192.168.123.1, 00:00:18, Serial0/0.1 R3# R3# R3#ping 10.2.2.2 source Loopback 0 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.2.2.2, timeout is 2 seconds: Packet sent with a source address of 10.3.3.3 !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 76/96/128 ms R3#
IPv6
ルーティング確認
デフォルト設定の状態で、Spoke間の疎通が可能かどうかを確認します。IPv6の場合はSplit Horizonがデフォルトで有効ですので、Spoke間の疎通ができないようです。
[R3] R3#show ipv6 route rip IPv6 Routing Table - 8 entries Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP U - Per-user Static route I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 R EFC0:123::/64 [120/2] via FE80::1, Serial0/0.1 R FEC0:1::/64 [120/2] via FE80::1, Serial0/0.1 R3# R3# R3#ping FEC0:2::2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to FEC0:2::2, timeout is 2 seconds: ..... Success rate is 0 percent (0/5) R3#
split horizon無効化
HubであるR1において、Split Horizonを無効化します。
[R1] ipv6 router rip RIPng no split-horizon
Spoke間で疎通可能になった事を確認します。
[R3] R3#show ipv6 route rip IPv6 Routing Table - 9 entries Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP U - Per-user Static route I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 R EFC0:123::/64 [120/2] via FE80::1, Serial0/0.1 R FEC0:1::/64 [120/2] via FE80::1, Serial0/0.1 R FEC0:2::/64 [120/3] via FE80::1, Serial0/0.1 R3# R3# R3# R3#ping FEC0:2::2 source Loopback 0 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to FEC0:2::2, timeout is 2 seconds: Packet sent with a source address of FEC0:3::3 !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 72/82/108 ms R3#