ルータにおけるbridging機能を活用し、ブロードキャストフレームを他セグメントに転送する方法について考察します。また、ブロードキャストを転送するにあたり、ブロードキャストストームを抑制するようにSTP設定も考慮を払う必要があります。
コマンド一覧
このシナリオで重要なコマンド一覧は以下の通りです。
Router(config)# bridge <id> protocol { dec | ibm | ieee | vlan-bridge } Router(config)# interface <interface> Router(config-if)# bridge <id> Router(config)# ip forward-protocol spanning-tree Router(config)# ip forward-protocol udp <protocol>
構成図
以下構成にて動作確認を行います。
e0/0 e0/1 e0/0 f0/0 +--------+.1 .2+--------+.2 .3+--------+ | R1 +--------+ R2 +--------+ SW3 | +--------+ +--------+ +--------+ 192.168.12.0/24 192.168.23.0/24 R1 Loopback0 R2 Loopback0 SW3 Loopback0 10.1.1.1/32 10.2.2.2/32 10.3.3.3/32
[SW3] interface FastEthernet0/0 switchport trunk native vlan 23 switchport mode trunk duplex full speed 10 ! interface Vlan1 no ip address ! interface Vlan10 ip address 192.168.10.3 255.255.255.0 ! interface Vlan20 ip address 192.168.20.3 255.255.255.0 ! interface Vlan23 ip address 192.168.23.3 255.255.255.0 ! interface Vlan30 ip address 192.168.30.3 255.255.255.0 ! vlan database vlan 10 vlan 20 vlan 23 vlan 30 apply
設定全文は下記ファイルです。詳細設定は下記を参照ください。
仕様説明
bridge
以下のコマンドでbridgingが有効になります。このコマンドのみを投入した状態では、非IPのフレーム(ARP, STP, IPXなど)のみが転送されます。
Router(config)# interface <interface> Router(config-if)# bridge <id>
以下のコマンドで使用するSTP protocolを選択する事ができます。dec, ibmはDEC, IBM独自のBPDUで、ieeeはIEEE標準のBPDUです。vlan-bridgeはcatalyst switchがデフォルトの状態で送信するPVSTによるSTPです。
なお、catalystが送信するBPDUはIEEE標準ではない事に注意して下さい。catalystが送信するのはPVSTですので、cisco SWと互換性を持たせたい場合はvlan-bridgeを選択する必要があります。
Router(config)# bridge <id> protocol { dec | ibm | ieee | vlan-bridge }
forward-protocol spanning-tree
以下のコマンドを投入するとSTPのBPDUを転送するようになります。また、ブロードキャストストームが解消されるので、ブロードキャストとマルチキャストも転送されるようになります。
Router(config)# ip forward-protocol spanning-tree
forward-protocol udp
全てのUDPブロードキャストが転送されるわけではありません。UDPブロードキャストの転送を許可するには、以下のように許可設定を投入する必要があります。
Router(config)# ip forward-protocol udp <protocol>
bridge
設定投入
R2においてbridgingの設定を投入し、R1, SW3間で直接の疎通ができるようにします。
[R2] interface Ethernet0/0 bridge-group 1 ! interface Ethernet0/1 bridge-group 1 ! bridge 1 protocol vlan-bridge
動作確認
動作確認のため、R1, SW3でIPXを有効にします。
[R1] ipx routing ! interface Ethernet0/0 ipx network 123 [SW3] ipx routing ! interface Vlan23 ipx network 123
R1からSW3へのIPX pingが通る事を確認します。
[SW3] SW3#show ipx interface Vlan 23 Vlan23 is up, line protocol is up IPX address is 123.cc02.0694.0000, NOVELL-ETHER [up] Delay of this IPX network, in ticks is 1 [R1] R1#ping 123.cc02.0694.0000 Translating "123.cc02.0694.0000"...domain server (255.255.255.255) % Name lookup aborted Type escape sequence to abort. Sending 5, 100-byte IPX Novell Echoes to 123.cc02.0694.0000, timeout is 2 seconds: .!!!! Success rate is 80 percent (4/5), round-trip min/avg/max = 8/15/32 ms R1#
forward-protocol spanning-tree
設定投入
R2においてbridgingの設定を投入し、R1, SW3間で直接の疎通ができるようにします。
[R2] ip forward-protocol spanning-tree
動作確認
R1からSW3へのブロードキャストpingを送信します。
R1#ping 255.255.255.255 repeat 2 Type escape sequence to abort. Sending 2, 100-byte ICMP Echos to 255.255.255.255, timeout is 2 seconds: Reply to request 0 from 192.168.12.2, 24 ms Reply to request 1 from 192.168.12.2, 60 ms R1#
デバッグメッセージより、pingがSW3まで届いている事を確認します。
[SW3] access-list 100 permit icmp any any SW3#debug ip packet 100 IP packet debugging is on for access list 100 SW3# *Mar 1 00:30:48.979: IP: s=192.168.12.1 (Vlan23), d=255.255.255.255, len 71, rcvd 2 *Mar 1 00:30:51.931: IP: s=192.168.12.1 (Vlan23), d=255.255.255.255, len 71, rcvd 2 *Mar 1 00:30:54.975: IP: s=192.168.12.1 (Vlan23), d=255.255.255.255, len 71, rcvd 2 *Mar 1 00:30:59.995: IP: s=192.168.12.1 (Vlan23), d=255.255.255.255, len 71, rcvd 2 *Mar 1 00:31:02.991: IP: s=192.168.12.1 (Vlan23), d=255.255.255.255, len 71, rcvd 2 *Mar 1 00:31:05.971: IP: s=192.168.12.1 (Vlan23), d=255.255.255.255, len 71, rcvd 2 SW3#
forward-protocol udp
設定投入
R2において、tftpブロードキャストを許可します。
[R2] ip forward-protocol udp tftp
動作確認
R1からSW3へのtftpブロードキャストを送信します。
[R1] R1#copy tftp://255.255.255.255/config.text null: Accessing tftp://255.255.255.255/config.text... %Error opening tftp://255.255.255.255/config.text (Timed out) R1#
デバッグメッセージより、tftpブロードキャストがSW3まで届いている事を確認します。
[SW3] access-list 100 permit udp any any eq tftp SW3#debug ip packet 100 IP packet debugging is on for access list 100 SW3# *Mar 1 00:32:36.167: IP: s=192.168.12.1 (Vlan23), d=255.255.255.255, len 48, rcvd 2 *Mar 1 00:32:40.155: IP: s=192.168.12.1 (Vlan23), d=255.255.255.255, len 48, rcvd 2 *Mar 1 00:32:45.155: IP: s=192.168.12.1 (Vlan23), d=255.255.255.255, len 48, rcvd 2 *Mar 1 00:32:51.203: IP: s=192.168.12.1 (Vlan23), d=255.255.255.255, len 48, rcvd 2 *Mar 1 00:32:58.167: IP: s=192.168.12.1 (Vlan23), d=255.255.255.255, len 48, rcvd 2 *Mar 1 00:33:06.187: IP: s=192.168.12.1 (Vlan23), d=255.255.255.255, len 48, rcvd 2