配置P2MP TE隧道示例
本例介绍了如何在IP/MPLS骨干网部署P2MP TE隧道。
组网需求
当前IP/MPLS骨干网上的IP组播承载技术由于其技术本身依赖于IP单播且不具有QoS能力,因此不能为组播业务提供良好的带宽保证、QoS能力以及可靠性保证,尤其是对带宽、可靠性和实时性要求较高的组播业务,比如IPTV、网络实时游戏对战等。P2MP TE隧道则恰好可以解决此问题,它可以在不增加网络层次的同时,很容易的部署在现有IP/MPLS骨干网上,并且具有P2MP TE FRR技术,能够很好的满足上述业务的需求。
图3-26为IP/MPLS网络,以LSRA为隧道入节点,LSRC、LSRE、LSRF为叶子,建立一条1000Kbit/s的P2MP TE隧道。各个节点的IP地址请看表3-17。
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
---|---|---|---|---|---|
LSRA |
GigabitEthernet0/1/1 |
10.1.1.1/24 |
LSRE |
GigabitEthernet0/1/0 |
10.4.1.2/24 |
Loopback1 |
1.1.1.1/32 |
Loopback1 |
5.5.5.5/32 |
||
LSRB |
GigabitEthernet0/1/1 |
10.1.1.2/24 |
LSRD |
GigabitEthernet0/1/0 |
10.2.1.2/24 |
GigabitEthernet0/1/0 |
10.2.1.1/24 |
GigabitEthernet0/1/2 |
10.4.1.1/24 |
||
GigabitEthernet0/1/2 |
10.3.1.1/24 |
GigabitEthernet0/1/1 |
10.5.1.1/24 |
||
Loopback1 |
2.2.2.2/32 |
Loopback1 |
4.4.4.4/32 |
||
LSRC |
GigabitEthernet0/1/2 |
10.3.1.2/24 |
LSRF |
GigabitEthernet0/1/1 |
10.5.1.2/24 |
Loopback1 |
3.3.3.3/32 |
Loopback1 |
6.6.6.6/32 |
配置思路
采用如下思路配置P2MP TE隧道:
配置各节点接口的IP地址和作为LSR ID的Loopback接口地址。
配置IS-IS协议发布各节点接口所连网段和LSR ID的主机路由,使得各节点IP路由可达。
使能各节点全局MPLS、MPLS TE、MPLS RSVP-TE,P2MP TE以及入节点的CSPF能力,使得各个节点具备MPLS转发能力。
使能各节点的IGP TE能力,保证MPLS TE的信息发布能力。
使能各节点接口的MPLS TE能力,并配置接口的链路属性,使得这些接口能传递RSVP信令消息。
在入节点LSRA上配置显式路径、叶子列表,确定P2MP TE隧道的叶子。
在入节点LSRA上配置P2MP TE隧道接口,保证入节点能按照接口下的配置建立P2MP TE隧道。
数据准备
为完成此配置例,需准备如下的数据:
网络中各设备接口的IP地址,具体数值参见图3-26。
使用的IGP路由协议为IS-IS,IS-IS的进程号为1,各节点的IS-IS System ID 由各节点Loopback1的IP地址转换得到,IS-IS级别为Level-2。
各个节点的MPLS LSR-ID采用对应的Loopback接口地址。
隧道沿途链路的出接口的最大可预留带宽为10000Kbit/s、BC0带宽为10000Kbit/s。
各个叶子所使用的显式路径名称分别为toLSRB、toLSRE和toLSRF,叶子列表名称为iptv1,各个叶子的地址为出节点的MPLS LSR-ID
隧道接口编号Tunnel10、隧道的ID为100、隧道接口的IP地址借用Loopback接口地址、隧道的带宽为1000Kbit/s。
操作步骤
- 配置各接口的IP地址
- 配置IS-IS协议发布各节点接口所连网段和LSR-ID的主机路由
在各个节点上配置IS-IS,使各设备间网络能互通。具体配置过程请参见配置文件。
- 使能各节点全局MPLS、MPLS TE、MPLS RSVP-TE、P2MP TE以及入节点的CSPF能力
# 配置LSRA。
<LSRA> system-view
[~LSRA] mpls lsr-id 1.1.1.1
[*LSRA] mpls
[*LSRA-mpls] mpls te
[*LSRA-mpls] mpls te p2mp-te
[*LSRA-mpls] mpls rsvp-te
[*LSRA-mpls] mpls te cspf
[*LSRA-mpls] commit
[~LSRA-mpls] quit
# 配置LSRB。
<LSRB> system-view
[~LSRB] mpls lsr-id 2.2.2.2
[*LSRB] mpls
[*LSRB-mpls] mpls te
[*LSRB-mpls] mpls te p2mp-te
[*LSRB-mpls] mpls rsvp-te
[*LSRB-mpls] commit
[~LSRB-mpls] quit
# 配置LSRC。
<LSRC> system-view
[~LSRC] mpls lsr-id 3.3.3.3
[*LSRC] mpls
[*LSRC-mpls] mpls te
[*LSRC-mpls] mpls te p2mp-te
[*LSRC-mpls] mpls rsvp-te
[*LSRC-mpls] commit
[~LSRC-mpls] quit
# 配置LSRD。
<LSRD> system-view
[~LSRD] mpls lsr-id 4.4.4.4
[*LSRD] mpls
[*LSRD-mpls] mpls te
[*LSRD-mpls] mpls te p2mp-te
[*LSRD-mpls] mpls rsvp-te
[*LSRD-mpls] commit
[~LSRD-mpls] quit
# 配置LSRE。
<LSRE> system-view
[~LSRE] mpls lsr-id 5.5.5.5
[*LSRE] mpls
[*LSRE-mpls] mpls te
[*LSRE-mpls] mpls te p2mp-te
[*LSRE-mpls] mpls rsvp-te
[*LSRE-mpls] commit
[~LSRE-mpls] quit
# 配置LSRF。
<LSRF> system-view
[~LSRF] mpls lsr-id 6.6.6.6
[*LSRF] mpls
[*LSRF-mpls] mpls te
[*LSRF-mpls] mpls te p2mp-te
[*LSRF-mpls] mpls rsvp-te
[*LSRF-mpls] commit
[~LSRF-mpls] quit
- 使能各节点的IGP TE能力
# 配置LSRA。
[~LSRA] isis 1
[~LSRA-isis-1] cost-style wide
[*LSRA-isis-1] traffic-eng level-2
[*LSRA-isis-1] commit
[~LSRA-isis-1] quit
# 配置LSRB。
[~LSRB] isis 1
[~LSRB-isis-1] cost-style wide
[*LSRB-isis-1] traffic-eng level-2
[*LSRB-isis-1] commit
[~LSRB-isis-1] quit
# 配置LSRC。
[~LSRC] isis 1
[~LSRC-isis-1] cost-style wide
[*LSRC-isis-1] traffic-eng level-2
[*LSRC-isis-1] commit
[~LSRC-isis-1] quit
# 配置LSRD。
[~LSRD] isis 1
[~LSRD-isis-1] cost-style wide
[*LSRD-isis-1] traffic-eng level-2
[*LSRD-isis-1] commit
[~LSRD-isis-1] quit
# 配置LSRE。
[~LSRE] isis 1
[~LSRE-isis-1] cost-style wide
[*LSRE-isis-1] traffic-eng level-2
[*LSRE-isis-1] commit
[~LSRE-isis-1] quit
# 配置LSRF。
[~LSRF] isis 1
[~LSRF-isis-1] cost-style wide
[*LSRF-isis-1] traffic-eng level-2
[*LSRF-isis-1] commit
[~LSRF-isis-1] quit
- 使能各节点接口的MPLS TE能力,并配置接口的链路属性
# 配置LSRA。
<LSRA> system-view
[~LSRA] interface gigabitethernet 0/1/1
[~LSRA-GigabitEthernet0/1/1] mpls
[*LSRA-GigabitEthernet0/1/1] mpls te
[*LSRA-GigabitEthernet0/1/1] mpls rsvp-te
[*LSRA-GigabitEthernet0/1/1] mpls te bandwidth max-reservable-bandwidth 10000
[*LSRA-GigabitEthernet0/1/1] mpls te bandwidth bc0 10000
[*LSRA-GigabitEthernet0/1/1] commit
[~LSRA-GigabitEthernet0/1/1] quit
# 配置LSRB。
<LSRB> system-view
[~LSRB] interface gigabitethernet 0/1/0
[~LSRB-GigabitEthernet0/1/0] mpls
[*LSRB-GigabitEthernet0/1/0] mpls te
[*LSRB-GigabitEthernet0/1/0] mpls rsvp-te
[*LSRB-GigabitEthernet0/1/0] mpls te bandwidth max-reservable-bandwidth 10000
[~LSRB-GigabitEthernet0/1/0] mpls te bandwidth bc0 10000
[~LSRB-GigabitEthernet0/1/0] quit
[*LSRB] interface gigabitethernet 0/1/2
[*LSRB-GigabitEthernet0/1/2] mpls
[*LSRB-GigabitEthernet0/1/2] mpls te
[*LSRB-GigabitEthernet0/1/2] mpls rsvp-te
[*LSRB-GigabitEthernet0/1/2] mpls te bandwidth max-reservable-bandwidth 10000
[*LSRB-GigabitEthernet0/1/2] mpls te bandwidth bc0 10000
[*LSRB-GigabitEthernet0/1/2] quit
[*LSRB] interface gigabitethernet 0/1/1
[*LSRB-GigabitEthernet0/1/1] mpls
[*LSRB-GigabitEthernet0/1/1] mpls te
[*LSRB-GigabitEthernet0/1/1] mpls rsvp-te
[*LSRB-GigabitEthernet0/1/1] mpls te bandwidth max-reservable-bandwidth 10000
[*LSRB-GigabitEthernet0/1/1] mpls te bandwidth bc0 10000
[*LSRB-GigabitEthernet0/1/1] commit
[~LSRB-GigabitEthernet0/1/1] quit
# 配置LSRC。
<LSRC> system-view
[~LSRC] interface gigabitethernet 0/1/2
[~LSRC-GigabitEthernet0/1/2] mpls
[*LSRC-GigabitEthernet0/1/2] mpls te
[*LSRC-GigabitEthernet0/1/2] mpls rsvp-te
[*LSRC-GigabitEthernet0/1/2] mpls te bandwidth max-reservable-bandwidth 10000
[*LSRC-GigabitEthernet0/1/2] mpls te bandwidth bc0 10000
[*LSRC-GigabitEthernet0/1/2] commit
[~LSRC-GigabitEthernet0/1/2] quit
# 配置LSRD。
<LSRD> system-view
[~LSRD] interface gigabitethernet 0/1/0
[~LSRD-GigabitEthernet0/1/0] mpls
[*LSRD-GigabitEthernet0/1/0] mpls te
[*LSRD-GigabitEthernet0/1/0] mpls rsvp-te
[*LSRD-GigabitEthernet0/1/0] mpls te bandwidth max-reservable-bandwidth 10000
[*LSRD-GigabitEthernet0/1/0] mpls te bandwidth bc0 10000
[*LSRD-GigabitEthernet0/1/0] quit
[*LSRD] interface gigabitethernet 0/1/2
[*LSRD-GigabitEthernet0/1/2] mpls
[*LSRD-GigabitEthernet0/1/2] mpls te
[*LSRD-GigabitEthernet0/1/2] mpls rsvp-te
[*LSRD-GigabitEthernet0/1/2] mpls te bandwidth max-reservable-bandwidth 10000
[*LSRD-GigabitEthernet0/1/2] mpls te bandwidth bc0 10000
[*LSRD-GigabitEthernet0/1/2] quit
[*LSRD] interface gigabitethernet 0/1/1
[*LSRD-GigabitEthernet0/1/1] mpls
[*LSRD-GigabitEthernet0/1/1] mpls te
[*LSRD-GigabitEthernet0/1/1] mpls rsvp-te
[*LSRD-GigabitEthernet0/1/1] mpls te bandwidth max-reservable-bandwidth 10000
[*LSRD-GigabitEthernet0/1/1] mpls te bandwidth bc0 10000
[*LSRD-GigabitEthernet0/1/1] commit
[~LSRD-GigabitEthernet0/1/1] quit
# 配置LSRE。
<LSRE> system-view
[~LSRE] interface gigabitethernet 0/1/0
[~LSRE-GigabitEthernet0/1/0] mpls
[*LSRE-GigabitEthernet0/1/0] mpls te
[*LSRE-GigabitEthernet0/1/0] mpls rsvp-te
[*LSRE-GigabitEthernet0/1/0] mpls te bandwidth max-reservable-bandwidth 10000
[*LSRE-GigabitEthernet0/1/0] mpls te bandwidth bc0 10000
[*LSRE-GigabitEthernet0/1/0] commit
[~LSRE-GigabitEthernet0/1/0] quit
# 配置LSRF。
<LSRF> system-view
[~LSRF] interface gigabitethernet 0/1/1
[~LSRF-GigabitEthernet0/1/1] mpls
[*LSRF-GigabitEthernet0/1/1] mpls te
[*LSRF-GigabitEthernet0/1/1] mpls rsvp-te
[*LSRF-GigabitEthernet0/1/1] mpls te bandwidth max-reservable-bandwidth 10000
[*LSRF-GigabitEthernet0/1/1] mpls te bandwidth bc0 10000
[*LSRF-GigabitEthernet0/1/1] commit
[~LSRF-GigabitEthernet0/1/1] quit
- 在入节点LSRA上配置显式路径、叶子列表
# 在LSRA上分别配置到LSRC、LSRE和LSRF的显式路径。
[~LSRA] explicit-path tolsrc
[*LSRA-explicit-path-tolsrc] next hop 10.1.1.2
[*LSRA-explicit-path-tolsrc] next hop 10.3.1.2
[*LSRA-explicit-path-tolsrc] quit
[*LSRA] explicit-path tolsrf
[*LSRA-explicit-path-tolsrf] next hop 10.1.1.2
[*LSRA-explicit-path-tolsrf] next hop 10.2.1.2
[*LSRA-explicit-path-tolsrf] next hop 10.5.1.2
[*LSRA-explicit-path-tolsrf] commit
[*LSRA-explicit-path-tolsrf] quit
[*LSRA] explicit-path tolsre
[*LSRA-explicit-path-tolsre] next hop 10.1.1.2
[*LSRA-explicit-path-tolsre] next hop 10.2.1.2
[*LSRA-explicit-path-tolsre] next hop 10.4.1.2
[*LSRA-explicit-path-tolsre] commit
[~LSRA-explicit-path-tolsre] quit
# 在LSRA上分别配置叶子列表,并添加各个叶子的地址。
[~LSRA] mpls te leaf-list iptv1
[*LSRA-mpls-te-leaf-list-iptv1] destination 3.3.3.3
[*LSRA-mpls-te-leaf-list-iptv1-destination-3.3.3.3] path explicit-path tolsrc
[*LSRA-mpls-te-leaf-list-iptv1-destination-3.3.3.3] quit
[*LSRA-mpls-te-leaf-list-iptv1] destination 5.5.5.5
[*LSRA-mpls-te-leaf-list-iptv1-destination-5.5.5.5] path explicit-path tolsre
[*LSRA-mpls-te-leaf-list-iptv1-destination-5.5.5.5] quit
[*LSRA-mpls-te-leaf-list-iptv1] destination 6.6.6.6
[*LSRA-mpls-te-leaf-list-iptv1-destination-6.6.6.6] path explicit-path tolsrf
[*LSRA-mpls-te-leaf-list-iptv1-destination-6.6.6.6] commit
[~LSRA-mpls-te-leaf-list-iptv1-destination-6.6.6.6] quit
- 在入节点LSRA上配置P2MP TE隧道接口
# 配置LSRA。
[~LSRA] interface Tunnel 10
[*LSRA-Tunnel10] ip address unnumbered interface loopback 1
[*LSRA-Tunnel10] tunnel-protocol mpls te
[*LSRA-Tunnel10] mpls te p2mp-mode
[*LSRA-Tunnel10] mpls te tunnel-id 100
[*LSRA-Tunnel10] mpls te leaf-list iptv1
[*LSRA-Tunnel10] mpls te bandwidth ct0 1000
[*LSRA-Tunnel10] commit
[~LSRA-Tunnel10] quit
完成此步骤后,P2MP TE隧道已配置完成。
- 检查配置结果配置完成后,在LSRA上执行display mpls te p2mp tunnel-interface Tunnel10,可发现在LSRA的Tunnel10的状态为“Up”,其下的所有Sub-LSP状态也都为“Up”。
[~LSRA] display mpls te p2mp tunnel-interface Tunnel10
------------------------------------------------------------------------------ Tunnel10 ------------------------------------------------------------------------------ Tunnel State : UP Session ID : 100 Ingress LSR ID : 1.1.1.1 P2MP ID : 0x1010101 Admin State : UP Oper State : UP Primary LSP State : UP ------------------------------------------------------------------------------ Main LSP State : UP LSP ID : 8 ------------------------------------------------------------------------------ S2L Dest Addr : 3.3.3.3 State : UP S2L Dest Addr : 5.5.5.5 State : UP S2L Dest Addr : 6.6.6.6 State : UP
配置文件
LSRA的配置文件
# sysname LSRA # mpls lsr-id 1.1.1.1 # mpls mpls te mpls te p2mp-te mpls rsvp-te mpls te cspf # explicit-path tolsrc next hop 10.1.1.2 next hop 10.3.1.2 # explicit-path tolsrf next hop 10.1.1.2 next hop 10.2.1.2 next hop 10.5.1.2 # explicit-path tolsre next hop 10.1.1.2 next hop 10.2.1.2 next hop 10.4.1.2 # mpls te leaf-list iptv1 # destination 3.3.3.3 path explicit-path tolsrc # destination 5.5.5.5 path explicit-path tolsre # destination 6.6.6.6 path explicit-path tolsrf # isis 1 is-level level-2 cost-style wide network-entity 00.0005.0000.0000.0001.00 traffic-eng level-2 # interface GigabitEthernet0/1/1 undo shutdown ip address 10.1.1.1 255.255.255.0 isis enable 1 mpls mpls te mpls te bandwidth max-reservable-bandwidth 10000 mpls te bandwidth bc0 10000 mpls rsvp-te # interface LoopBack1 ip address 1.1.1.1 255.255.255.255 isis enable 1 # interface Tunnel10 ip address unnumbered interface LoopBack1 tunnel-protocol mpls te mpls te p2mp-mode mpls te bandwidth ct0 1000 mpls te leaf-list iptv1 mpls te tunnel-id 100 # return
LSRB的配置文件
# sysname LSRB # mpls lsr-id 2.2.2.2 # mpls mpls te mpls te p2mp-te mpls rsvp-te mpls te cspf # isis 1 is-level level-2 cost-style wide network-entity 00.0005.0000.0000.0002.00 traffic-eng level-2 # interface GigabitEthernet0/1/0 undo shutdown ip address 10.2.1.1 255.255.255.0 isis enable 1 mpls mpls te mpls te bandwidth max-reservable-bandwidth 10000 mpls te bandwidth bc0 10000 mpls rsvp-te # interface GigabitEthernet0/1/2 undo shutdown ip address 10.3.1.1 255.255.255.0 isis enable 1 mpls mpls te mpls te bandwidth max-reservable-bandwidth 10000 mpls te bandwidth bc0 10000 mpls rsvp-te # interface GigabitEthernet0/1/1 undo shutdown ip address 10.1.1.2 255.255.255.0 isis enable 1 mpls mpls te mpls te bandwidth max-reservable-bandwidth 10000 mpls te bandwidth bc0 10000 mpls rsvp-te # interface LoopBack1 ip address 2.2.2.2 255.255.255.255 isis enable 1 # return
LSRC的配置文件
# sysname LSRC # mpls lsr-id 3.3.3.3 # mpls mpls te mpls te p2mp-te mpls rsvp-te mpls te cspf # isis 1 is-level level-2 cost-style wide network-entity 00.0005.0000.0000.0003.00 traffic-eng level-2 # interface GigabitEthernet0/1/2 undo shutdown ip address 10.3.1.2 255.255.255.0 isis enable 1 mpls mpls te mpls te bandwidth max-reservable-bandwidth 10000 mpls te bandwidth bc0 10000 mpls rsvp-te # interface LoopBack1 ip address 3.3.3.3 255.255.255.255 isis enable 1 # return
LSRD的配置文件
# sysname LSRD # mpls lsr-id 4.4.4.4 # mpls mpls te mpls te p2mp-te mpls rsvp-te mpls te cspf # isis 1 is-level level-2 cost-style wide network-entity 00.0005.0000.0000.0004.00 traffic-eng level-2 # interface GigabitEthernet0/1/0 undo shutdown ip address 10.2.1.2 255.255.255.0 isis enable 1 mpls mpls te mpls te bandwidth max-reservable-bandwidth 10000 mpls te bandwidth bc0 10000 mpls rsvp-te # interface GigabitEthernet0/1/2 undo shutdown ip address 10.4.1.1 255.255.255.0 isis enable 1 mpls mpls te mpls te bandwidth max-reservable-bandwidth 10000 mpls te bandwidth bc0 10000 mpls rsvp-te # interface GigabitEthernet0/1/1 undo shutdown ip address 10.5.1.1 255.255.255.0 isis enable 1 mpls mpls te mpls te bandwidth max-reservable-bandwidth 10000 mpls te bandwidth bc0 10000 mpls rsvp-te # interface LoopBack1 ip address 4.4.4.4 255.255.255.255 isis enable 1 # return
LSRE的配置文件
# sysname LSRE # mpls lsr-id 5.5.5.5 # mpls mpls te mpls te p2mp-te mpls rsvp-te mpls te cspf # isis 1 is-level level-2 cost-style wide network-entity 00.0005.0000.0000.0005.00 traffic-eng level-2 # interface GigabitEthernet0/1/0 undo shutdown ip address 10.4.1.2 255.255.255.0 isis enable 1 mpls mpls te mpls te bandwidth max-reservable-bandwidth 10000 mpls te bandwidth bc0 10000 mpls rsvp-te # interface LoopBack1 ip address 5.5.5.5 255.255.255.255 isis enable 1 # return
LSRF的配置文件
# sysname LSRF # mpls lsr-id 6.6.6.6 # mpls mpls te mpls te p2mp-te mpls rsvp-te mpls te cspf # isis 1 is-level level-2 cost-style wide network-entity 00.0005.0000.0000.0006.00 traffic-eng level-2 # interface GigabitEthernet0/1/1 undo shutdown ip address 10.5.1.2 255.255.255.0 isis enable 1 mpls mpls te mpls te bandwidth max-reservable-bandwidth 10000 mpls te bandwidth bc0 10000 mpls rsvp-te # interface LoopBack1 ip address 6.6.6.6 255.255.255.255 isis enable 1 # return