点击学习精彩网络技术老师:华为HCIA和HCIP数通eNSP实战视频课、华三、锐捷、WLAN、IPv6等全套视频课程
举例说明通过IS-IS本地MT特性实现组播报文在IS-IS网络中通过TE-Tunnel转发的配置方法。
组网需求
当网络中同时部署了组播和MPLS TE-Tunnel时,且TE-Tunnel上配置了IGP Shortcut,即IS-IS协议在进行SPF计算时会使用处于Up状态的TE-Tunnel,因此,IS-IS路由计算得到的出接口可能不是实际的物理接口。当转发组播报文时,根据IS-IS计算的路由表,报文会通过TE-Tunnel转发,造成被TE-Tunnel跨越的NE无法感知组播报文,也不能建立组播转发表项,从而导致组播报文被丢弃。
Local MT(Local Multicast Topology,本地组播拓扑)特性可以实现在本地为组播创建单独的拓扑,当IGP计算出的路由的出接口为IGP-Shortcut(AA)类型的TE-Tunnel时,同时为该路由计算出一个(或一组)实际的物理出接口,可以有效解决TE-Tunnel与组播的冲突问题。
如图1所示:
DeviceA、DeviceB、DeviceC、DeviceD和DeviceE都运行IS-IS,IS-IS级别为Level-2
从DeviceB到DeviceD之间建立一条TE隧道;
在DeviceB上使能IGP Shortcut。
设备名称 | 接口 | IP地址 |
DeviceA | GE0/1/0 | 172.16.1.1/24 |
GE0/2/0 | 10.0.0.1/24 | |
DeviceB | GE0/1/0 | 10.0.0.2/24 |
GE0/2/0 | 10.0.1.2/24 | |
DeviceC | GE0/1/0 | 10.0.1.1/24 |
GE0/2/0 | 10.0.2.2/24 | |
DeviceD | GE0/1/0 | 10.0.3.1/24 |
GE0/2/0 | 10.0.2.1/24 | |
DeviceE | GE0/1/0 | 10.0.3.3/24 |
GE0/2/0 | 192.168.3.1/24 |
配置思路
采用如下的思路配置本地MT特性:
在各NE上使能IS-IS基本功能。
配置组播PIM-SM。
配置MPLS RSVP-TE隧道,并使能IGP Shortcut。
使能本地MT特性。
数据准备
为完成此配置例,需准备如下的数据。
各NE接口的IP地址如图1,区域地址为10,起始的系统ID为0000.0000.0001并递增,各NE为Level-2级别的NE;
隧道接口为TE-Tunnel10,借用Loopback0的IP地址,隧道封装协议为MPLS TE,目的地址为4.4.4.4,隧道ID为100。
操作步骤
- 配置各接口的IP地址,并使能IS-IS
按照图1配置各接口的IP地址和掩码,配置IS-IS路由协议,具体配置过程略。
- 配置PIM-SM
# 在所有NE上使能组播功能,在各接口上使能PIM-SM功能(除DeviceA的GigabitEthernet0/1/0外)。DeviceB、DeviceC、DeviceD和DeviceE上的配置过程与DeviceA上的配置相似,配置过程略。
[~DeviceA] multicast routing-enable
[*DeviceA] interface gigabitethernet 0/2/0
[*DeviceA-GigabitEthernet0/2/0] pim sm
[*DeviceA-GigabitEthernet0/2/0] commit
[~DeviceA-GigabitEthernet0/2/0] quit
# 在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
# 配置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
# 通过使用display multicast routing-table命令可以查看NE组播路由表。以DeviceC为例。
[~DeviceC] display multicast routing-table
Multicast routing table of VPN-Instance: public net
Total 1 entry
00001. (192.168.3.2, 224.31.31.31)
Uptime: 15:03:04
Upstream Interface: GigabitEthernet0/2/0
List of 1 downstream interface
1: GigabitEthernet0/1/0
- 配置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] 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] quit
[*DeviceB] isis 1
[*DeviceB-isis-1] cost-style wide
[*DeviceB-isis-1] traffic-eng level-2
[*DeviceB-isis-1] commit
[~DeviceB-isis-1] quit
# 配置DeviceC。
[~DeviceC] mpls lsr-id 3.3.3.3
[*DeviceC] mpls
[*DeviceC-mpls] mpls te
[*DeviceC-mpls] mpls rsvp-te
[*DeviceC-mpls] mpls te cspf
[*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] 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] quit
[*DeviceC] isis 1
[*DeviceC-isis-1] cost-style wide
[*DeviceC-isis-1] traffic-eng level-2
[*DeviceC-isis-1] commit
[~DeviceC-isis-1] quit
# 配置DeviceD。
[~DeviceD] mpls lsr-id 4.4.4.4
[*DeviceD] mpls
[*DeviceD-mpls] mpls te
[*DeviceD-mpls] mpls rsvp-te
[*DeviceD-mpls] mpls te cspf
[*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] quit
[*DeviceD] isis 1
[*DeviceD-isis-1] cost-style wide
[*DeviceD-isis-1] traffic-eng level-2
[*DeviceD-isis-1] commit
[~DeviceD-isis-1] quit
# 配置MPLS TE隧道,并使能IGP Shortcut。
在DeviceB上配置MPLS TE隧道,使能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 isis
[*DeviceB-Tunnel10] mpls te igp metric relative -10
[*DeviceB-Tunnel10] isis enable 1
[*DeviceB-Tunnel10] commit
[~DeviceB-Tunnel10] quit
# 查看DeviceB的路由表,IGP Shortcut已经被使能。
[~DeviceB] display isis route
Route information for ISIS(1)
-----------------------------
ISIS(1) Level-2 Forwarding Table
--------------------------------
IPV4 Destination IntCost ExtCost ExitInterface NextHop Flags
--------------------------------------------------------------------------------
3.3.3.3/32 10 NULL GE0/2/0 10.0.1.1 A/-/-/-
172.16.1.0/24 20 NULL GE0/1/0 10.0.0.1 A/-/-/-
2.2.2.2/32 0 NULL Loop0 Direct D/-/L/-
192.168.3.0/24 25 NULL Tun0/1/0 2.2.2.2 A/S/-/-
5.5.5.5/32 15 NULL Tun0/1/0 2.2.2.2 A/S/-/-
10.0.0.0/24 10 NULL GE0/1/0 Direct D/-/L/-
10.0.1.0/24 10 NULL GE0/2/0 Direct D/-/L/-
4.4.4.4/32 5 NULL Tun0/1/0 2.2.2.2 A/S/-/-
10.0.2.0/24 15 NULL Tun0/1/0 2.2.2.2 A/S/-/-
10.0.3.0/24 15 NULL Tun0/1/0 2.2.2.2 A/S/-/-
Flags: D-Direct, A-Added to URT, L-Advertised in LSPs, S-IGP Shortcut,
U-Up/Down Bit Set
Protect Type: L-Link Protect, N-Node Protect
# 在被TE-Tunnel穿越的DeviceC上查看组播路由表。
[~DeviceC] display multicast routing-table
没有显示任何组播表项,说明组播报文被丢弃。
- 配置本地MT特性
# 在DeviceB上使能本地MT特性。
[~DeviceB] isis
[~DeviceB-isis-1] local-mt enable
[*DeviceB-isis-1] commit
- 验证配置结果
# 此时再次查看DeviceC的组播路由表,已经有组播路由。
[~DeviceC] display multicast routing-table
Multicast routing table of VPN-Instance: public net
Total 1 entry
00001. (192.168.3.2, 224.31.31.31)
Uptime: 00:00:19
Upstream Interface: GigabitEthernet0/2/0
List of 1 downstream interface
1: GigabitEthernet0/1/0
# 在DeviceB上查看MIGP路由表。
[~DeviceB] display migp routing-tableRoute Flags: R - relay, D - download to fib, T - to vpn-instance, B - black hole route
------------------------------------------------------------------------------
Routing Table: MIGP
Destinations : 5 Routes : 5
Destination/Mask Proto Pre Cost Flags NextHop Interface
4.4.4.4/32 ISIS 15 20 10.0.1.1 GE0/2/0
5.5.5.5/32 ISIS 15 30 10.0.1.1 GE0/2/0
10.0.2.0/24 ISIS 15 20 10.0.1.1 GE0/2/0
10.0.3.0/24 ISIS 15 30 10.0.1.1 GE0/2/0
192.168.3.0/24 ISIS 15 40 10.0.1.1 GE0/2/0
原来出接口为TE-Tunnel接口的路由,其下一跳在MIGP路由表中均被计算出物理出接口。
配置文件
DeviceA的配置文件
#
sysname DeviceA
#
router id 1.1.1.1
#
multicast routing-enable
#
isis 1
is-level level-2
cost-style wide
network-entity 10.0000.0000.0001.00
#
interface GigabitEthernet0/2/0
ip address 10.0.0.1 255.255.255.0
isis enable 1
pim sm
#
interface GigabitEthernet0/1/0
ip address 172.16.1.1 255.255.255.0
isis enable 1
igmp enable
#
interface LoopBack0
ip address 1.1.1.1 255.255.255.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
#
isis 1
is-level level-2
cost-style wide
network-entity 10.0000.0000.0002.00
traffic-eng level-2
local-mt enable
#
interface GigabitEthernet0/1/0
ip address 10.0.0.2 255.255.255.0
isis enable 1
pim sm
#
interface GigabitEthernet0/2/0
ip address 10.0.1.2 255.255.255.0
isis enable 1
pim sm
mpls
mpls te
mpls rsvp-te
#
interface LoopBack0
ip address 2.2.2.2 255.255.255.255
isis enable 1
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 isis
mpls te igp metric relative -10
isis enable 1
pim sm
#
pim
C-BSR LoopBack0
C-RP LoopBack0
#
return
DeviceC的配置文件
#
sysname DeviceC
#
router id 3.3.3.3
#
multicast routing-enable
#
mpls lsr-id 3.3.3.3
mpls
mpls te
mpls rsvp-te
mpls te cspf
#
isis 1
is-level level-2
cost-style wide
network-entity 10.0000.0000.0003.00
traffic-eng level-2
#
interface GigabitEthernet0/1/0
ip address 10.0.1.1 255.255.255.0
isis enable 1
pim sm
mpls
mpls te
mpls rsvp-te
#
interface GigabitEthernet0/2/0
ip address 10.0.2.2 255.255.255.0
isis enable 1
pim sm
mpls
mpls te
mpls rsvp-te
#
interface LoopBack0
ip address 3.3.3.3 255.255.255.255
isis enable 1
#
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
mpls te cspf
#
isis 1
is-level level-2
cost-style wide
network-entity 10.0000.0000.0004.00
traffic-eng level-2
#
interface GigabitEthernet0/1/0
ip address 10.0.3.1 255.255.255.0
isis enable 1
pim sm
#
interface GigabitEthernet0/2/0
ip address 10.0.2.1 255.255.255.0
isis enable 1
pim sm
mpls
mpls te
mpls rsvp-te
#
interface LoopBack0
ip address 4.4.4.4 255.255.255.255
isis enable 1
pim sm
#
return
DeviceE的配置文件
#
sysname DeviceE
#
router id 5.5.5.5
#
multicast routing-enable
#
isis 1
is-level level-2
cost-style wide
network-entity 10.0000.0000.0005.00
#
interface GigabitEthernet0/1/0
ip address 10.0.3.3 255.255.255.0
isis enable 1
pim sm
#
interface GigabitEthernet0/2/0
ip address 192.168.3.1 255.255.255.0
isis enable 1
pim sm
#
interface LoopBack0
ip address 5.5.5.5 255.255.255.255
isis enable 1
pim sm
#
return