配置OSPF本地MT特性示例
举例介绍配置OSPF本地MT特性的配置过程,包括配置思路、数据准备、操作步骤和配置结果。
组网需求
网络中同时部署了组播和MPLS TE-Tunnel,且TE-Tunnel配置了IGP Shortcut,IGP计算出来的路由的出接口可能不再是实际的物理接口,而是TE-Tunnel接口。路由器根据到达组播源地址的单播路由,从TE-Tunnel接口发送组播加入报文,这样,被TE-Tunnel跨越的路由器就无法感知到组播加入报文,因而不会建立组播转发表项。
例如,如图5-14所示。DeviceA、DeviceB、DeviceC、DeviceD、DeviceE都运行OSPF协议。DeviceB和DeviceD之间建立了一条MPLS TE-Tunnel10,并且在DeviceB的Tunnel10上使能了IGP Shortcut。DeviceB计算出来的路由的出接口可能不再是实际的物理接口GE0/2/0,而是TE-Tunnel接口。DeviceB根据到达组播源地址的单播路由,从TE-Tunnel10接口发送组播加入报文。这样,被TE-Tunnel10跨越的DeviceC就无法感知到组播加入报文,因而不会建立组播转发表项。
为了解决上述问题,在DeviceB使能OSPF本地MT特性。如果计算出来的路由出接口为IGP-Shortcut类型的TE-Tunnel,路由管理模块会为组播协议创建单独的MIGP路由表,并为该路由计算出实际的物理出接口,将其加入到MIGP路由表中,组播利用MIGP路由表中的路由进行转发。
配置思路
采用如下的思路配置OSPF本地MT特性:
在各路由器上使能OSPF,配置OSPF基本功能。
在各路由器上使能组播PIM-SM功能。
配置MPLS RSVP-TE隧道。
在DeviceB上配置MPLS TE-Tunnel,并使能IGP-Shortcut。
在DeviceB上使能OSPF本地MT特性。
数据准备
为完成此配置例,需准备如下的数据:
各路由器接口的IP地址如表5-5。
隧道接口为TE-Tunnel10,借用Loopback0的IP地址,隧道封装协议为MPLS TE-Tunnel,目的地址为4.4.4.4,隧道ID为100,隧道信令协议为rsvp-te。
操作步骤
- 配置各接口的IP地址。
请参见图5-14,配置各接口的IP地址,具体配置过程请参考配置文件。
- 配置OSPF基本功能。
请参见配置OSPF的基本功能,具体配置过程请参考配置文件。
- 配置组播PIM-SM功能。
# 在DeviceA上使能组播PIM-SM功能。
[*DeviceA] multicast routing-enable
[~DeviceA] interface Gigabitethernet 0/2/0
[*DeviceA-GigabitEthernet0/2/0] pim sm
[*DeviceA-GigabitEthernet0/2/0] quit
[*DeviceA] interface Gigabitethernet 0/1/0
[*DeviceA-GigabitEthernet0/1/0] pim sm
[*DeviceA-GigabitEthernet0/1/0] commit
[~DeviceA-GigabitEthernet0/1/0] quit
所有路由器上都要使能组播PIM-SM功能。DeviceB、DeviceC、DeviceD和DeviceE上的配置过程与DeviceA上的配置相似,配置过程省略。# 在DeviceA连接用户主机的接口上使能IGMP功能。
[~DeviceA] interface Gigabitethernet 0/1/0
[*DeviceA-GigabitEthernet0/1/0] igmp enable
[*DeviceA-GigabitEthernet0/1/0] igmp version 3
[*DeviceA-GigabitEthernet0/1/0] commit
[~DeviceA-GigabitEthernet0/1/0] quit
# 配置C-BSR和C-RP。在DeviceD上配置RP通告的服务范围,及C-BSR和C-RP的位置。
[*DeviceD] pim
[*DeviceD-pim] c-bsr Gigabitethernet 0/1/0
[*DeviceD-pim] c-rp Gigabitethernet 0/1/0
[*DeviceD-pim] commit
[~DeviceD-pim] quit
# 查看DeviceC的组播路由表。
[~DeviceC] display multicast routing-table
Multicast routing table of VPN-Instance: public net Total 3 entries 00001. (192.168.3.8, 224.31.31.31) Uptime: 15:03:04 Upstream Interface: GigabitEthernet0/2/0 List of 1 downstream interface 1: GigabitEthernet0/1/0 00002. (192.168.3.9, 224.31.31.31) Uptime: 15:03:04 Upstream Interface: GigabitEthernet0/2/0 List of 1 downstream interface 1: GigabitEthernet0/1/0 00003. (192.168.3.10, 224.31.31.31) Uptime: 15:03:04 Upstream Interface: GigabitEthernet0/2/0 List of 1 downstream interface 1: GigabitEthernet0/1/0
可以看出,DeviceC显示了组播转发表的信息。
- 配置MPLS RSVP-TE隧道。
# 配置DeviceB。
[*DeviceB] mpls lsr-id 2.2.2.2
[*DeviceB] mpls
[*DeviceB-mpls] mpls te
[*DeviceB-mpls] mpls rsvp-te
[*DeviceB-mpls] mpls te cspf
[*DeviceB-mpls] commit
[~DeviceB-mpls] quit
[~DeviceB] interface Gigabitethernet 0/2/0
[*DeviceB-GigabitEthernet0/2/0] mpls
[*DeviceB-GigabitEthernet0/2/0] mpls te
[*DeviceB-GigabitEthernet0/2/0] mpls rsvp-te
[*DeviceB-GigabitEthernet0/2/0] commit
[~DeviceB-GigabitEthernet0/2/0] quit
[~DeviceB] ospf 1
[*DeviceB-ospf-1] enable traffic-adjustment
[*DeviceB-ospf-1] opaque-capability enable
[*DeviceB-ospf-1] area 0.0.0.0
[*DeviceB-ospf-1-area-0.0.0.0] mpls-te enable
[*DeviceB-ospf-1-area-0.0.0.0] commit
[~DeviceB-ospf-1-area-0.0.0.0] quit
# 配置DeviceC。
[*DeviceC] mpls lsr-id 3.3.3.3
[*DeviceC] mpls
[*DeviceC-mpls] mpls te
[*DeviceC-mpls] mpls rsvp-te
[*DeviceC-mpls] commit
[~DeviceC-mpls] quit
[~DeviceC] interface Gigabitethernet 0/1/0
[*DeviceC-GigabitEthernet0/1/0] mpls
[*DeviceC-GigabitEthernet0/1/0] mpls te
[*DeviceC-GigabitEthernet0/1/0] mpls rsvp-te
[*DeviceC-GigabitEthernet0/1/0] commit
[~DeviceC-GigabitEthernet0/1/0] quit
[~DeviceC] interface Gigabitethernet 0/2/0
[*DeviceC-GigabitEthernet0/2/0] mpls
[*DeviceC-GigabitEthernet0/2/0] mpls te
[*DeviceC-GigabitEthernet0/2/0] mpls rsvp-te
[*DeviceC-GigabitEthernet0/2/0] commit
[~DeviceC-GigabitEthernet0/2/0] quit
[~DeviceC] ospf 1
[*DeviceC-ospf-1] opaque-capability enable
[*DeviceC-ospf-1] area 0.0.0.0
[*DeviceC-ospf-1-area-0.0.0.0] mpls-te enable
[*DeviceC-ospf-1-area-0.0.0.0] commit
[~DeviceC-ospf-1-area-0.0.0.0] quit
# 配置DeviceD。
[*DeviceD] mpls lsr-id 4.4.4.4
[*DeviceD] mpls
[*DeviceD-mpls] mpls te
[*DeviceD-mpls] mpls rsvp-te
[*DeviceD-mpls] commit
[~DeviceD-mpls] quit
[~DeviceD] interface Gigabitethernet 0/1/0
[*DeviceD-GigabitEthernet0/1/0] mpls
[*DeviceD-GigabitEthernet0/1/0] mpls te
[*DeviceD-GigabitEthernet0/1/0] mpls rsvp-te
[*DeviceD-GigabitEthernet0/1/0] commit
[~DeviceD-GigabitEthernet0/1/0] quit
[~DeviceD] ospf 1
[*DeviceD-ospf-1] opaque-capability enable
[*DeviceD-ospf-1] area 0.0.0.0
[*DeviceD-ospf-1-area-0.0.0.0] mpls-te enable
[*DeviceD-ospf-1-area-0.0.0.0] commit
[~DeviceD-ospf-1-area-0.0.0.0] quit
- 配置MPLS TE-Tunnel,并使能IGP Shortcut。
# 在DeviceB上配置MPLS TE-Tunnel,并使能IGP Shortcut。
[~DeviceB] interface Tunnel 10
[*DeviceB-Tunnel10] ip address unnumbered interface loopback 0
[*DeviceB-Tunnel10] tunnel-protocol mpls te
[*DeviceB-Tunnel10] destination 4.4.4.4
[*DeviceB-Tunnel10] mpls te tunnel-id 100
[*DeviceB-Tunnel10] mpls te igp shortcut ospf
[*DeviceB-Tunnel10] mpls te igp metric relative -10
[*DeviceB-Tunnel10] commit
[~DeviceB-Tunnel10] quit
# 查看DeviceB的OSPF路由表,可以看到,已经建立MPLS TE-Tunnel。
[~DeviceB] display ip routing-table
Route Flags: R - relay, D - download to fib, T - to vpn-instance, B - black hole route ---------------------------------------------------------------------------- Routing Tables : _public_ Destinations : 14 Routes : 14 Destination/Mask Proto Pre Cost Flags NextHop Interface 2.2.2.2/32 Direct 0 0 D 127.0.0.1 InLoopBack0 3.3.3.3/32 OSPF 10 1 D 10.0.1.1 GigabitEthernet0/2/0 4.4.4.4/32 OSPF 10 1 D 2.2.2.2 Tunnel10 5.5.5.5/32 OSPF 10 2 D 2.2.2.2 Tunnel10 10.0.0.0/24 Direct 0 0 D 10.0.0.2 GigabitEthernet0/1/0 10.0.0.2/32 Direct 0 0 D 127.0.0.1 InLoopBack0 10.0.1.0/24 Direct 0 0 D 10.0.1.2 GigabitEthernet0/2/0 10.0.1.2/32 Direct 0 0 D 127.0.0.1 InLoopBack0 10.0.2.0/24 OSPF 10 2 D 10.0.1.1 GigabitEthernet0/2/0 OSPF 10 2 D 10.0.1.1 Tunnel10 10.0.3.0/24 OSPF 10 2 D 2.2.2.2 Tunnel10 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 GigabitEthernet0/2/0 192.168.3.0/24 OSPF 10 3 D 2.2.2.2 Tunnel10
# 查看DeviceC的组播路由表。
[*DeviceC] display multicast routing-table
没有显示任何组播表项,说明组播报文被丢弃。
- 配置OSPF本地MT特性。
# 在DeviceB上使能OSPF本地MT特性。
[~DeviceB] ospf
[*DeviceB-ospf-1] local-mt enable
[*DeviceB-ospf-1] commit
[~DeviceB-ospf-1] quit
- 验证配置结果
# 查看DeviceC的组播路由表。
[~DeviceC] display multicast routing-table
Multicast routing table of VPN-Instance: public net Total 3 entries 00001. (192.168.3.8, 224.31.31.31) Uptime: 00:00:19 Upstream Interface: GigabitEthernet0/2/0 List of 1 downstream interface 1: GigabitEthernet0/1/0 00002. (192.168.3.9, 224.31.31.31) Uptime: 00:00:19 Upstream Interface: GigabitEthernet0/2/0 List of 1 downstream interface 1: GigabitEthernet0/1/0 00003. (192.168.3.10, 224.31.31.31) Uptime: 00:00:19 Upstream Interface: GigabitEthernet0/2/0 List of 1 downstream interface 1: GigabitEthernet0/1/0
可以看出,DeviceC显示了组播转发表的信息。
配置文件
DeviceA的配置文件
#
sysname DeviceA
#
router id 1.1.1.1
#
multicast routing-enable
#
interface GigabitEthernet0/2/0
undo shutdown
ip address 10.0.0.1 255.255.255.0
pim sm
igmp version 3
#
interface GigabitEthernet0/1/0
undo shutdown
ip address 172.16.1.1 255.255.255.0
pim sm
igmp enable
#
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
#
ospf 1
area 0.0.0.0
network 172.16.1.0 0.0.0.255
network 10.0.0.0 0.0.0.255
#
return
DeviceB的配置文件
#
sysname DeviceB
#
router id 2.2.2.2
#
multicast routing-enable
#
mpls lsr-id 2.2.2.2
mpls
mpls te
mpls rsvp-te
mpls te cspf
#
ospf 1
opaque-capability enable
enable traffic-adjustment
local-mt enable
area 0.0.0.0
network 10.0.0.0 0.0.0.255
network 10.0.1.0 0.0.0.255
network 2.2.2.2 0.0.0.0
mpls-te enable
#
interface GigabitEthernet0/1/0
undo shutdown
ip address 10.0.0.2 255.255.255.0
pim sm
#
interface GigabitEthernet0/2/0
undo shutdown
ip address 10.0.1.2 255.255.255.0
pim sm
mpls
mpls te
mpls rsvp-te
#
interface LoopBack0
ip address 2.2.2.2 255.255.255.255
pim sm
#
interface Tunnel10
ip address unnumbered interface LoopBack0
tunnel-protocol mpls te
destination 4.4.4.4
mpls te tunnel-id 100
mpls te igp shortcut ospf
mpls te igp metric relative -10
#
pim
C-BSR LoopBack0
C-RP LoopBack0
#
return
DeviceC的配置文件
#
sysname DeviceC
#
multicast routing-enable
#
mpls lsr-id 3.3.3.3
mpls
mpls te
mpls rsvp-te
#
ospf 1
opaque-capability enable
area 0.0.0.0
network 10.0.1.0 0.0.0.255
network 10.0.2.0 0.0.0.255
network 3.3.3.3 0.0.0.0
mpls-te enable
#
interface GigabitEthernet0/1/0
undo shutdown
ip address 10.0.1.1 255.255.255.0
pim sm
mpls
mpls te
mpls rsvp-te
#
interface GigabitEthernet0/2/0
undo shutdown
ip address 10.0.2.2 255.255.255.0
pim sm
mpls
mpls te
mpls rsvp-te
#
interface LoopBack0
undo shutdown
ip address 3.3.3.3 255.255.255.255
#
return
DeviceD的配置文件
#
sysname DeviceD
#
router id 4.4.4.4
#
multicast routing-enable
#
mpls lsr-id 4.4.4.4
mpls
mpls te
mpls rsvp-te
#
interface GigabitEthernet0/1/0
undo shutdown
ip address 10.0.3.1 255.255.255.0
pim sm
#
interface GigabitEthernet0/2/0
undo shutdown
ip address 10.0.2.1 255.255.255.0
pim sm
mpls
mpls te
mpls rsvp-te
#
interface LoopBack0
ip address 4.4.4.4 255.255.255.255
pim sm
#
ospf 1
opaque-capability enable
area 0.0.0.0
network 10.0.2.0 0.0.0.255
network 10.0.3.0 0.0.0.255
network 4.4.4.4 0.0.0.0
mpls-te enable
#
pim
C-BSR GigabitEthernet0/1/0
C-RP GigabitEthernet0/1/0
#
return
DeviceE的配置文件
#
sysname DeviceE
#
router id 5.5.5.5
#
multicast routing-enable
#
interface GigabitEthernet0/1/0
undo shutdown
ip address 10.0.3.2 255.255.255.0
pim sm
#
interface GigabitEthernet0/2/0
undo shutdown
ip address 192.168.3.1 255.255.255.0
pim sm
#
interface LoopBack0
ip address 5.5.5.5 255.255.255.255
pim sm
#
ospf 1
area 0.0.0.0
network 10.0.3.0 0.0.0.255
network 192.168.3.0 0.0.0.255
network 5.5.5.5 0.0.0.0
#
return