配置本地MT特性示例
組網需求
如圖1所示,網絡中同時部署了組播和MPLS TE-Tunnel,且TE-Tunnel配置了IGP Shortcut,IGP計算出來的路由的出接口可能不再是實際的物理接口,而是TE-Tunnel接口。交換機根據到達組播源地址的單播路由,從TE-Tunnel接口發送組播加入報文,這樣,被TE-Tunnel跨越的交換機就無法感知到組播加入報文,因而不會建立組播轉發表項。為了解決上述問題,在SwitchB上配置OSPF本地MT功能。如果計算出來的路由出接口為IGP-Shortcut類型的TE-Tunnel,路由管理模塊會為組播協議創建單獨的MIGP路由表,并為該路由計算出實際的物理出接口,將其加入到MIGP路由表中,組播利用MIGP路由表中的路由進行轉發。
圖1 配置OSPF本地MT特性組網圖
配置思路
采用如下的思路配置本地MT特性:
- 在各交換機上配置OSPF基本功能,實現OSPF網絡的基本互通。
- 在各交換機上配置組播PIM-SM,使Host能夠接收到Source發送的組播數據。
- 在SwitchB、SwitchC和SwitchD上配置MPLS RSVP-TE隧道功能,并在SwitchB上配置MPLS TE隧道接口,建立一條從SwitchB到SwitchD的TE隧道。
- 在SwitchB上配置IGP-Shortcut功能,實現SwitchB使用TE隧道接口作為出接口。
- 在SwitchB上配置OSPF本地MT功能,實現原來出接口為TE-Tunnel的路由,其下一跳在MIGP路由表中均被計算為物理出接口。
操作步驟
- 配置各接口所屬VLAN
- # 配置SwitchA。SwitchB、SwitchC、SwitchD和SwitchE的配置與SwitchA類似。
<HUAWEI> system-view [HUAWEI] sysname SwitchA [SwitchA] vlan batch 10 20 [SwitchA] interface gigabitethernet 1/0/1 [SwitchA-GigabitEthernet1/0/1] port link-type access [SwitchA-GigabitEthernet1/0/1] port default vlan 10 [SwitchA-GigabitEthernet1/0/1] quit [SwitchA] interface gigabitethernet 1/0/2 [SwitchA-GigabitEthernet1/0/2] port link-type trunk [SwitchA-GigabitEthernet1/0/2] port trunk allow-pass vlan 20 [SwitchA-GigabitEthernet1/0/2] quit
- 配置各VLANIF和LoopBack接口的IP地址
- # 配置SwitchA。SwitchB、SwitchC、SwitchD和SwitchE的配置與SwitchA類似。
[SwitchA] interface loopback 0 [SwitchA-LoopBack0] ip address 10.1.1.1 32 [SwitchA-LoopBack0] quit [SwitchA] interface vlanif 10 [SwitchA-Vlanif10] ip address 172.16.1.1 24 [SwitchA-Vlanif10] quit [SwitchA] interface vlanif 20 [SwitchA-Vlanif20] ip address 10.0.0.1 24 [SwitchA-Vlanif20] quit
- 配置OSPF基本功能
- # 配置SwitchA。
[SwitchA] router id 10.1.1.1 [SwitchA] ospf 1 [SwitchA-ospf-1] area 0 [SwitchA-ospf-1-area-0.0.0.0] network 10.1.1.1 0.0.0.0 [SwitchA-ospf-1-area-0.0.0.0] network 10.0.0.0 0.0.0.255 [SwitchA-ospf-1-area-0.0.0.0] network 172.16.1.0 0.0.0.255 [SwitchA-ospf-1-area-0.0.0.0] quit [SwitchA-ospf-1] quit
- # 配置SwitchB。
[SwitchB] router id 10.2.2.2 [SwitchB] ospf 1 [SwitchB-ospf-1] area 0 [SwitchB-ospf-1-area-0.0.0.0] network 10.2.2.2 0.0.0.0 [SwitchB-ospf-1-area-0.0.0.0] network 10.0.0.0 0.0.0.255 [SwitchB-ospf-1-area-0.0.0.0] network 10.0.1.0 0.0.0.255 [SwitchB-ospf-1-area-0.0.0.0] quit [SwitchB-ospf-1] quit
- # 配置SwitchC。
[SwitchC] router id 10.3.3.3 [SwitchC] ospf 1 [SwitchC-ospf-1] area 0 [SwitchC-ospf-1-area-0.0.0.0] network 10.3.3.3 0.0.0.0 [SwitchC-ospf-1-area-0.0.0.0] network 10.0.1.0 0.0.0.255 [SwitchC-ospf-1-area-0.0.0.0] network 10.0.2.0 0.0.0.255 [SwitchC-ospf-1-area-0.0.0.0] quit [SwitchC-ospf-1] quit
- # 配置SwitchD。
[SwitchD] router id 10.4.4.4 [SwitchD] ospf 1 [SwitchD-ospf-1] area 0 [SwitchD-ospf-1-area-0.0.0.0] network 10.4.4.4 0.0.0.0 [SwitchD-ospf-1-area-0.0.0.0] network 10.0.2.0 0.0.0.255 [SwitchD-ospf-1-area-0.0.0.0] network 10.0.3.0 0.0.0.255 [SwitchD-ospf-1-area-0.0.0.0] quit [SwitchD-ospf-1] quit
- # 配置SwitchE。
[SwitchE] router id 10.5.5.5 [SwitchE] ospf 1 [SwitchE-ospf-1] area 0 [SwitchE-ospf-1-area-0.0.0.0] network 10.5.5.5 0.0.0.0 [SwitchE-ospf-1-area-0.0.0.0] network 10.0.3.0 0.0.0.255 [SwitchE-ospf-1-area-0.0.0.0] network 192.168.3.0 0.0.0.255 [SwitchE-ospf-1-area-0.0.0.0] quit [SwitchE-ospf-1] quit
- 配置PIM-SM
- # 在所有交換機上使能組播功能,在各接口上使能PIM-SM功能。SwitchB、SwitchC、SwitchD和SwitchE的配置與SwitchA相似,配置過程略。
[SwitchA] multicast routing-enable [SwitchA] interface vlanif 10 [SwitchA-Vlanif10] pim sm [SwitchA-Vlanif10] quit [SwitchA] interface vlanif 20 [SwitchA-Vlanif20] pim sm [SwitchA-Vlanif20] quit
- # 在SwitchA連接用戶主機的接口上使能IGMP功能。
[SwitchA] interface vlanif 10 [SwitchA-Vlanif10] igmp enable [SwitchA-Vlanif10] igmp version 3 [SwitchA-Vlanif10] quit
- # 配置C-BSR和C-RP。在SwitchD上配置RP通告的服務范圍,及C-BSR和C-RP的位置。
[SwitchD] pim [SwitchD-pim] c-bsr vlanif 50 [SwitchD-pim] c-rp vlanif 50 [SwitchD-pim] quit
- # 通過使用display multicast routing-table命令可以查看交換機組播路由表。以SwitchC為例。
[SwitchC] display multicast routing-table Multicast routing table of VPN-Instance: public net Total 1 entry 00001. (192.168.3.2, 225.0.0.1) Uptime: 15:03:04 Upstream Interface: Vlanif40 List of 1 downstream interface 1: Vlanif30
- 配置MPLS RSVP-TE隧道
- # 配置SwitchB。
[SwitchB] mpls lsr-id 10.2.2.2 [SwitchB] mpls [SwitchB-mpls] mpls te [SwitchB-mpls] mpls rsvp-te [SwitchB-mpls] mpls te cspf [SwitchB-mpls] quit [SwitchB] interface vlanif 30 [SwitchB-Vlanif30] mpls [SwitchB-Vlanif30] mpls te [SwitchB-Vlanif30] mpls rsvp-te [SwitchB-Vlanif30] quit [SwitchB] ospf 1 [SwitchB-ospf-1] enable traffic-adjustment [SwitchB-ospf-1] opaque-capability enable [SwitchB-ospf-1] area 0.0.0.0 [SwitchB-ospf-1-area-0.0.0.0] mpls-te enable [SwitchB-ospf-1-area-0.0.0.0] quit [SwitchB-ospf-1] quit
- # 配置SwitchC。
[SwitchC] mpls lsr-id 10.3.3.3 [SwitchC] mpls [SwitchC-mpls] mpls te [SwitchC-mpls] mpls rsvp-te [SwitchC-mpls] quit [SwitchC] interface vlanif 30 [SwitchC-Vlanif30] mpls [SwitchC-Vlanif30] mpls te [SwitchC-Vlanif30] mpls rsvp-te [SwitchC-Vlanif30] quit [SwitchC] interface vlanif 40 [SwitchC-Vlanif40] mpls [SwitchC-Vlanif40] mpls te [SwitchC-Vlanif40] mpls rsvp-te [SwitchC-Vlanif40] quit [SwitchC] ospf 1 [SwitchC-ospf-1] opaque-capability enable [SwitchC-ospf-1] area 0.0.0.0 [SwitchC-ospf-1-area-0.0.0.0] mpls-te enable [SwitchC-ospf-1-area-0.0.0.0] quit [SwitchC-ospf-1] quit
- # 配置SwitchD。
[SwitchD] mpls lsr-id 10.4.4.4 [SwitchD] mpls [SwitchD-mpls] mpls te [SwitchD-mpls] mpls rsvp-te [SwitchD-mpls] quit [SwitchD] interface vlanif 40 [SwitchD-Vlanif40] mpls [SwitchD-Vlanif40] mpls te [SwitchD-Vlanif40] mpls rsvp-te [SwitchD-Vlanif40] quit [SwitchD] ospf 1 [SwitchD-ospf-1] opaque-capability enable [SwitchD-ospf-1] area 0.0.0.0 [SwitchD-ospf-1-area-0.0.0.0] mpls-te enable [SwitchD-ospf-1-area-0.0.0.0] quit [SwitchD-ospf-1] quit
- # 配置MPLS TE隧道,并使能IGP Shortcut。
- 在SwitchB上配置MPLS TE隧道,使能IGP Shortcut。
[SwitchB] interface tunnel 1 [SwitchB-Tunnel1] ip address unnumbered interface loopback 0 [SwitchB-Tunnel1] tunnel-protocol mpls te [SwitchB-Tunnel1] destination 10.4.4.4 [SwitchB-Tunnel1] mpls te tunnel-id 100 [SwitchB-Tunnel1] mpls te igp shortcut ospf [SwitchB-Tunnel1] mpls te igp metric relative -10 [SwitchB-Tunnel1] mpls te commit [SwitchB-Tunnel1] quit
- # 查看SwitchB的OSPF路由表,可以看到,MPLS TE隧道已經被建立。
[SwitchB] display ip routing-table Route Flags: R - relay, D - download to fib ------------------------------------------------------------------------------ Routing Tables: Public Destinations : 15 Routes : 15 Destination/Mask Proto Pre Cost Flags NextHop Interface 10.0.0.0/24 Direct 0 0 D 10.0.0.2 Vlanif20 10.0.0.2/32 Direct 0 0 D 127.0.0.1 Vlanif20 10.0.1.0/24 Direct 0 0 D 10.0.1.2 Vlanif30 10.0.1.2/32 Direct 0 0 D 127.0.0.1 Vlanif30 10.0.2.0/24 OSPF 10 2 D 10.0.1.1 Vlanif30 10.0.3.0/24 OSPF 10 2 D 10.2.2.2 Tunnel1 10.1.1.1/32 OSPF 10 1 D 10.0.0.1 Vlanif20 10.2.2.2/32 Direct 0 0 D 127.0.0.1 LoopBack0 10.3.3.3/32 OSPF 10 1 D 10.0.1.1 Vlanif30 10.4.4.4/32 OSPF 10 1 D 10.2.2.2 Tunnel1 10.5.5.5/32 OSPF 10 2 D 10.2.2.2 Tunnel1 127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0 127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0 172.16.1.0/24 OSPF 10 2 D 10.0.0.1 Vlanif20 192.168.3.0/24 OSPF 10 3 D 10.2.2.2 Tunnel1
- # 在被TE-Tunnel穿越的交換機SwitchC上查看組播路由表。
[SwitchC] display multicast routing-table
- 沒有顯示任何組播表項,說明組播報文被丟棄。
- 配置本地MT特性
- # 在SwitchB上使能本地MT特性。
[SwitchB] ospf 1 [SwitchB-ospf-1] local-mt enable [SwitchB-ospf-1] quit
- 驗證配置結果
- # 此時再次查看SwitchC的組播路由表,已經有組播路由。
[SwitchC] display multicast routing-table Multicast routing table of VPN-Instance: public net Total 1 entry 00001. (192.168.3.2, 225.0.0.1) Uptime: 00:00:19 Upstream Interface: Vlanif40 List of 1 downstream interface 1: Vlanif30
- # 在SwitchB上查看MIGP路由表。
[SwitchB] display migp routing-table Route Flags: R - relay, D - download to fib ------------------------------------------------------------------------------ Routing Tables: MIGP Destinations : 4 Routes : 4 Destination/Mask Proto Pre Cost Flags NextHop Interface 10.0.3.0/24 OSPF 10 3 10.0.1.1 Vlanif30 10.4.4.4/32 OSPF 10 2 10.0.1.1 Vlanif30 10.5.5.5/32 OSPF 10 3 10.0.1.1 Vlanif30 192.168.3.0/24 OSPF 10 4 10.0.1.1 Vlanif30
- 原來出接口為TE-Tunnel的路由,其下一跳在MIGP路由表中均被計算為物理出接口。
配置文件
- SwitchA的配置文件
# sysname SwitchA # router id 10.1.1.1 # vlan batch 10 20 # multicast routing-enable # interface Vlanif10 ip address 172.16.1.1 255.255.255.0 pim sm igmp enable igmp version 3 # interface Vlanif20 ip address 10.0.0.1 255.255.255.0 pim sm # interface GigabitEthernet1/0/1 port link-type access port default vlan 10 # interface GigabitEthernet1/0/2 port link-type trunk port trunk allow-pass vlan 20 # interface LoopBack0 ip address 10.1.1.1 255.255.255.255 # ospf 1 area 0.0.0.0 network 10.1.1.1 0.0.0.0 network 10.0.0.0 0.0.0.255 network 172.16.1.0 0.0.0.255 # return
- SwitchB的配置文件
# sysname SwitchB # router id 10.2.2.2 # vlan batch 20 30 # multicast routing-enable # mpls lsr-id 10.2.2.2 mpls mpls te mpls rsvp-te mpls te cspf # interface Vlanif20 ip address 10.0.0.2 255.255.255.0 pim sm # interface Vlanif30 ip address 10.0.1.2 255.255.255.0 pim sm mpls mpls te mpls rsvp-te # interface GigabitEthernet1/0/1 port link-type trunk port trunk allow-pass vlan 20 # interface GigabitEthernet1/0/2 port link-type trunk port trunk allow-pass vlan 30 # interface LoopBack0 ip address 10.2.2.2 255.255.255.255 # interface Tunnel1 ip address unnumbered interface LoopBack0 tunnel-protocol mpls te destination 10.4.4.4 mpls te tunnel-id 100 mpls te igp shortcut ospf mpls te igp metric relative -10 mpls te commit # ospf 1 opaque-capability enable enable traffic-adjustment local-mt enable area 0.0.0.0 network 10.2.2.2 0.0.0.0 network 10.0.0.0 0.0.0.255 network 10.0.1.0 0.0.0.255 mpls-te enable # return
- SwitchC的配置文件
# sysname SwitchC # router id 10.3.3.3 # vlan batch 30 40 # multicast routing-enable # mpls lsr-id 10.3.3.3 mpls mpls te mpls rsvp-te # interface Vlanif30 ip address 10.0.1.1 255.255.255.0 pim sm mpls mpls te mpls rsvp-te # interface Vlanif40 ip address 10.0.2.2 255.255.255.0 pim sm mpls mpls te mpls rsvp-te # interface GigabitEthernet1/0/1 port link-type trunk port trunk allow-pass vlan 30 # interface GigabitEthernet1/0/2 port link-type trunk port trunk allow-pass vlan 40 # interface LoopBack0 ip address 10.3.3.3 255.255.255.255 # ospf 1 opaque-capability enable area 0.0.0.0 network 10.3.3.3 0.0.0.0 network 10.0.1.0 0.0.0.255 network 10.0.2.0 0.0.0.255 mpls-te enable # return
- SwitchD的配置文件
# sysname SwitchD # router id 10.4.4.4 # vlan batch 40 50 # multicast routing-enable # mpls lsr-id 10.4.4.4 mpls mpls te mpls rsvp-te # interface Vlanif40 ip address 10.0.2.1 255.255.255.0 pim sm mpls mpls te mpls rsvp-te # interface Vlanif50 ip address 10.0.3.1 255.255.255.0 pim sm # interface GigabitEthernet1/0/1 port link-type trunk port trunk allow-pass vlan 50 # interface GigabitEthernet1/0/2 port link-type trunk port trunk allow-pass vlan 40 # interface LoopBack0 ip address 10.4.4.4 255.255.255.255 # ospf 1 opaque-capability enable area 0.0.0.0 network 10.4.4.4 0.0.0.0 network 10.0.2.0 0.0.0.255 network 10.0.3.0 0.0.0.255 mpls-te enable # pim c-bsr Vlanif50 c-rp Vlanif50 # return
- SwitchE的配置文件
# sysname SwitchE # router id 10.5.5.5 # vlan batch 50 60 # multicast routing-enable # interface Vlanif50 ip address 10.0.3.3 255.255.255.0 pim sm # interface Vlanif60 ip address 192.168.3.1 255.255.255.0 pim sm # interface GigabitEthernet1/0/1 port link-type trunk port trunk allow-pass vlan 50 # interface GigabitEthernet1/0/2 port link-type access port default vlan 60 # interface LoopBack0 ip address 10.5.5.5 255.255.255.255 # ospf 1 area 0.0.0.0 network 10.5.5.5 0.0.0.0 network 10.0.3.0 0.0.0.255 network 192.168.3.0 0.0.0.255 # return