组网需求
如图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特性:
操作步骤
<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
[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
[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] 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] 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] 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] 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
[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] interface vlanif 10 [SwitchA-Vlanif10] igmp enable [SwitchA-Vlanif10] igmp version 3 [SwitchA-Vlanif10] quit
[SwitchD] pim [SwitchD-pim] c-bsr vlanif 50 [SwitchD-pim] c-rp vlanif 50 [SwitchD-pim] quit
[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
[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] 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] 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
[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] 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
[SwitchC] display multicast routing-table
[SwitchB] ospf 1 [SwitchB-ospf-1] local-mt enable [SwitchB-ospf-1] quit
[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] 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
配置文件
# 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
# 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
# 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
# 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
# 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