07-隧道策略配置
本章节下载: 07-隧道策略配置 (239.06 KB)
目 录
隧道策略提供了灵活的隧道选择方法,可以满足MPLS VPN对隧道的多种选择要求,例如指定首选隧道、流量在隧道间负载分担等。当MPLS VPN的两个PE(Provider Edge,服务提供商网络边缘)设备之间存在多种隧道、每种隧道都有多条时,如何利用隧道策略合理地选择隧道,不仅有利于服务提供商网络的管理和规划,还可以降低PE设备的处理开销。
隧道绑定是指将某个目的地址与某条隧道进行绑定,从而使应用了隧道绑定的VPN业务到该目的地址的流量只能承载在该条隧道上。
每条首选隧道对应一个隧道接口、一个隧道捆绑接口或一条SRv6 TE Policy隧道。如果对端PE地址与首选隧道的目的地址相同,则通过该首选隧道转发到达该PE的流量。如果存在多条目的地址相同的首选隧道,可以通过设置优先级的方式优选隧道,系统会选择优先级最高的首选隧道转发数据,如果优先级最高的首选隧道不可用,则选择优先级次高的首选隧道;以此类推。也就是说到达同一个目的地址只能存在一条首选隧道,不会在多条隧道间进行负载分担。该方式为MPLS VPN显式指定了一条MPLS TE隧道、捆绑隧道或SRv6 TE Policy隧道,选择的隧道是明确的、可以预期的,便于网络流量规划。推荐使用该方式配置隧道策略。
选择多条隧道,流量在隧道之间进行负载分担:隧道的选择顺序和负载分担的隧道数目用户可配,隧道类型越靠前,其优先级越高。
采用该方式时,单个VPN的流量分担到多条隧道上,不同隧道的延时差别可能很大,设备或上层应用对报文进行排序处理可能会导致比较大的延迟。因此,不推荐使用此方式配置隧道策略。
如果隧道策略中同时配置了上述方式,则优先选择隧道绑定策略,即:
(1) 如果对端PE地址与某条绑定隧道的目的地址相同,则采用隧道绑定策略指定的隧道转发流量。对于SRv6 TE Policy组,隧道的目的地址为SRv6 TE Policy组目的节点地址。对于SRv6 TE Policy,隧道的目的地址为SRv6 TE Policy的目的节点地址。
(2) 如果不存在隧道目的地址与对端PE地址相同的绑定隧道,则采用隧道目的地址与对端PE地址相同的某条首选隧道,通过首选隧道策略指定的隧道/捆绑隧道/SRv6 TE Policy隧道转发流量。
(3) 如果不存在隧道目的地址与对端PE地址相同的首选隧道,则根据负载分担方式选择隧道。
隧道策略支持多种类型的隧道,包括MPLS LSP、MPLS TE(MPLS Traffic Engineering,MPLS流量工程)隧道、SRv6 TE Policy隧道等。
MPLS TE的详细介绍请参见“MPLS配置指导”中的“MPLS TE”。SRv6 TE Policy的详细介绍请参见“Segment Routing”中的“SRv6 TE Policy”。MPLS VPN的详细介绍请参见“MPLS配置指导”中的“MPLS L3VPN”、“MPLS L2VPN”和“VPLS”。捆绑隧道的详细介绍请参见“MPLS配置指导”中的“MPLS TE”或“MPLS保护倒换”。SRv6 TE Policy的详细介绍请参见“Segment Routing”中的“SRv6 TE Policy”。
图1-1 MPLS VPN隧道选择示例图
如图1-1所示,当PE 1和PE 2之间存在多条隧道,且PE 1和PE 2连接多个MPLS VPN时,可以采用如下方式部署MPLS VPN的流量:
· 隧道绑定策略:在同一隧道策略中为不同MPLS VPN分别指定转发流量的隧道,从而实现不同VPN的流量通过不同的隧道转发。
· 首选隧道策略:配置多个隧道策略,每个隧道策略中分别指定一条首选隧道,不同的MPLS VPN引用不同的隧道策略,从而实现不同VPN的流量通过不同的隧道转发。
· 负载分担策略:在隧道策略中指定隧道的选择顺序和负载分担的隧道数目,配置MPLS VPN引用该隧道策略,从而实现每个VPN的流量都在多条隧道之间进行负载分担。
为了实现某个VPN实例独占某条隧道,需要在隧道策略中使用preferred-path命令将该隧道配置为首选隧道,并只在该VPN实例内引用此隧道策略。
(1) 进入系统视图。
system-view
(2) 进入MPLS TE隧道对应的Tunnel接口视图。
interface tunnel number mode mpls-te
(3) 配置MPLS TE隧道只能用于隧道绑定策略。
mpls te reserved-for-binding
缺省情况下,MPLS TE隧道可以用于各种方式的隧道策略。
(4) 退回系统视图。
quit
(5) 创建隧道策略,并进入隧道策略视图。
tunnel-policy tunnel-policy-name [ default ]
(6) 配置隧道与目的IP进行绑定,从而限制该隧道只能承载特定的VPN业务。
binding-destination dest-ip-address te { tunnel number }&<1-n> [ ignore-destination-check ] [ down-switch ]
binding-destination dest-ipv6-address { srv6-policy { name policy-name | end-point ipv6 ipv6-address color color-value } } [ ignore-destination-check ] [ down-switch ]
缺省情况下,未将目的IP与任何隧道绑定。
同一个隧道策略下可以配置多个不同目的IP地址。
在SRv6 TE Policy组网中,如果路由根据color属性进行隧道迭代,即路由携带了扩展团体属性color值或通过default-color命令指定了color值,则隧道策略中preferred-path命令指定的首选隧道不会生效,设备会根据color属性和select-seq命令指定的隧道优先顺序匹配合适的隧道进行转发。
(1) 进入系统视图。
system-view
(2) 创建隧道策略,并进入隧道策略视图。
tunnel-policy tunnel-policy-name [ default ]
(3) 配置首选隧道。
preferred-path { srv6-policy { name srv6-policy-name | end-point ipv6 ipv6-address color color-value } | tunnel number } [ preference value ]
缺省情况下,未配置首选隧道。
为了提高承载隧道的可靠性,还可以将多条MPLS TE隧道关联,形成一条捆绑隧道,指定该捆绑隧道为首选隧道。
(1) 进入系统视图。
system-view
(2) 创建隧道策略,并进入隧道策略视图。
tunnel-policy tunnel-policy-name [ default ]
(3) 配置隧道的选择顺序和负载分担的隧道数目。
select-seq [ strict ] { cr-lsp | lsp | sr-lsp | srv6-policy | srv6-policy-group } * load-balance-number number
按照LSP隧道->CRLSP->SRLSP隧道->SRv6 TE Policy隧道->SRv6 TE Policy组隧道的优先级顺序选择隧道,负载分担的隧道数目为1。
在完成上述配置后,在任意视图下执行display命令可以显示配置后隧道策略的运行情况,用户可以通过查看显示信息验证配置的效果。
表1-1 隧道策略显示和维护
操作 |
命令 |
显示隧道信息 |
display mpls tunnel { all | statistics | [ vpn-instance vpn-instance-name ] destination { ipv4-address | ipv6-address } } [ slot slot-number ] |
显示IPv6隧道信息 |
display tunnel-info ipv6 { all | destination ipv6-address | statistics } |
显示隧道策略的信息 |
display tunnel-policy [ tunnel-policy-name ] |
PE 1上存在到达PE 2的多条隧道:
· 2条MPLS TE隧道,对应的隧道接口为Tunnel 1和Tunnel 2。
· 1条LDP LSP隧道。
在PE 1上存在两个MPLS VPN实例vpna和vpnb,vpna独占MPLS TE隧道Tunnel 1(即MPLS TE隧道Tunnel 1只转发vpna的流量),vpnb独占MPLS TE隧道Tunnel 2(即MPLS TE隧道Tunnel 2只转发vpnb的流量)。
(1) 在PE 1上配置隧道策略
# 创建隧道策略preferredte1,并指定首选隧道为Tunnel 1。
<PE1> system-view
[PE1] tunnel-policy preferredte1
[PE1-tunnel-policy-preferredte1] preferred-path tunnel 1
[PE1-tunnel-policy-preferredte1] quit
# 创建隧道策略preferredte2,并指定首选隧道为Tunnel 2。
[PE1] tunnel-policy preferredte2
[PE1-tunnel-policy-preferredte2] preferred-path tunnel 2
[PE1-tunnel-policy-preferredte2] quit
(2) 配置MPLS VPN实例,并在实例下引用隧道策略
# 创建MPLS VPN实例vpna,并配置vpna实例引用隧道策略preferredte1。
[PE1] ip vpn-instance vpna
[PE1-vpn-instance-vpna] route-distinguisher 100:1
[PE1-vpn-instance-vpna] vpn-target 100:1
[PE1-vpn-instance-vpna] tnl-policy preferredte1
[PE1-vpn-instance-vpna] quit
# 创建MPLS VPN实例vpnb,并配置vpnb实例引用隧道策略preferredte2。
[PE1] ip vpn-instance vpnb
[PE1-vpn-instance-vpnb] route-distinguisher 100:2
[PE1-vpn-instance-vpnb] vpn-target 100:2
[PE1-vpn-instance-vpnb] tnl-policy preferredte2
PE 1上存在到达PE 2的多条隧道:
· 2条MPLS TE隧道,对应的隧道接口为Tunnel 1和Tunnel 2。
· 在PE 1上存在1个MPLS VPN实例vpna,仅使用MPLS TE隧道Tunnel 1和Tunnel 2转发vpna的流量。
(1) 配置MPLS TE隧道只能用于隧道绑定策略
# 配置MPLS TE隧道Tunnel 1只能用于隧道绑定策略。
<PE1> system-view
[PE1] interface tunnel 1 mode mpls-te
[PE1-Tunnel1] mpls te reserved-for-binding
[PE1-Tunnel1] quit
# 配置MPLS TE隧道Tunnel 2只能用于隧道绑定策略。
[PE1] interface tunnel 2 mode mpls-te
[PE1-Tunnel2] mpls te reserved-for-binding
[PE1-Tunnel2] quit
(2) 在PE 1上配置隧道策略
# 创建隧道策略text,并配置隧道与MP-BGP对等体的IP地址进行绑定,从而限制MPLS TE隧道Tunnel 1和Tunnel 2只能承载特定VPN的业务。
[PE1] tunnel-policy text
[PE1-tunnel-policy-text] binding-destination 2.2.2.2 te tunnel 1 tunnel 2
[PE1-tunnel-policy-text] quit
(3) 配置MPLS VPN实例,并在实例下引用隧道策略
# 创建MPLS VPN实例vpna,并配置vpna实例引用隧道策略text。
[PE1] ip vpn-instance vpna
[PE1-vpn-instance-vpna] route-distinguisher 100:1
[PE1-vpn-instance-vpna] vpn-target 100:1
[PE1-vpn-instance-vpna] tnl-policy text
[PE1-vpn-instance-vpna] quit
PE 1上存在到达PE 2的多条隧道:
· 2条MPLS TE隧道,对应的隧道接口分别为Tunnel1和Tunnel2。
· 1条LDP LSP隧道。
在PE 1上存在多个MPLS VPN实例:vpna、vpnb、vpnc、vpnd和vpne。每个VPN实例使用的隧道策略如表1-2所示。
表1-2 VPN实例使用的隧道策略列表
VPN实例 |
隧道策略 |
vpna、vpnb |
首选MPLS TE隧道Tunnel 1 |
vpnc、vpnd |
首选MPLS TE隧道Tunnel 2 |
vpne |
按照LDP LSP、MPLS TE隧道的顺序选择隧道,负载分担数目为1 |
(1) 在PE 1上配置隧道策略
# 创建隧道策略preferredte1,并指定首选隧道为Tunnel 1。
<PE1> system-view
[PE1] tunnel-policy preferredte1
[PE1-tunnel-policy-preferredte1] preferred-path tunnel 1
[PE1-tunnel-policy-preferredte1] quit
# 创建隧道策略preferredte2,并指定首选隧道为Tunnel 2。
[PE1] tunnel-policy preferredte2
[PE1-tunnel-policy-preferredte2] preferred-path tunnel 2
[PE1-tunnel-policy-preferredte2] quit
# 创建隧道策略select-lsp,按照LDP LSP、MPLS TE隧道的顺序选择隧道,负载分担数目为1。
[PE1] tunnel-policy select-lsp
[PE1-tunnel-policy-select-lsp] select-seq lsp cr-lsp load-balance-number 1
[PE1-tunnel-policy-select-lsp] quit
(2) 配置MPLS VPN实例,并在实例下引用隧道策略
# 创建MPLS VPN实例vpna和vpnb,并配置vpna和vpnb引用隧道策略preferredte1。
[PE1] ip vpn-instance vpna
[PE1-vpn-instance-vpna] route-distinguisher 100:1
[PE1-vpn-instance-vpna] vpn-target 100:1
[PE1-vpn-instance-vpna] tnl-policy preferredte1
[PE1-vpn-instance-vpna] quit
[PE1] ip vpn-instance vpnb
[PE1-vpn-instance-vpnb] route-distinguisher 100:2
[PE1-vpn-instance-vpnb] vpn-target 100:2
[PE1-vpn-instance-vpnb] tnl-policy preferredte1
[PE1-vpn-instance-vpnb] quit
# 创建MPLS VPN实例vpnc和vpnd,并配置vpnc和vpnd引用隧道策略preferredte2。
[PE1] ip vpn-instance vpnc
[PE1-vpn-instance-vpnc] route-distinguisher 100:3
[PE1-vpn-instance-vpnc] vpn-target 100:3
[PE1-vpn-instance-vpnc] tnl-policy preferredte2
[PE1-vpn-instance-vpnc] quit
[PE1] ip vpn-instance vpnd
[PE1-vpn-instance-vpnd] route-distinguisher 100:4
[PE1-vpn-instance-vpnd] vpn-target 100:4
[PE1-vpn-instance-vpnd] tnl-policy preferredte2
[PE1-vpn-instance-vpnd] quit
# 创建MPLS VPN实例vpne,并配置vpne引用隧道策略select-lsp。
[PE1] ip vpn-instance vpne
[PE1-vpn-instance-vpne] route-distinguisher 100:5
[PE1-vpn-instance-vpne] vpn-target 100:5
[PE1-vpn-instance-vpne] tnl-policy select-lsp
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!