07-隧道策略配置
本章节下载: 07-隧道策略配置 (243.27 KB)
目 录
隧道策略提供了灵活的隧道选择方法,可以满足MPLS VPN对隧道的多种选择要求,例如指定首选隧道、流量在隧道间负载分担等。当MPLS VPN的两个PE(Provider Edge,服务提供商网络边缘)设备之间存在多种隧道、每种隧道都有多条时,如何利用隧道策略合理地选择隧道,不仅有利于服务提供商网络的管理和规划,还可以降低PE设备的处理开销。
隧道绑定是指将某个目的地址与某条隧道进行绑定,从而使应用了隧道绑定的VPN业务到该目的地址的流量只能承载在该条隧道上。
每条首选隧道对应一个隧道接口。如果对端PE地址与隧道接口的目的地址相同,则通过该隧道转发到达该PE的流量。如果存在多条目的地址相同的首选隧道,则选择配置的第一条首选隧道;如果第一条首选隧道不可用,则选择下一条首选隧道;以此类推。也就是说到达同一个目的地址只能存在一条首选隧道,不会在多条隧道间进行负载分担。该方式为MPLS VPN显式指定了一条MPLS TE隧道,选择的隧道是明确的、可以预期的,便于网络流量规划。推荐使用该方式配置隧道策略。
选择多条隧道,流量在隧道之间进行负载分担:隧道的选择顺序和负载分担的隧道数目用户可配,隧道类型越靠前,其优先级越高。
采用该方式时,单个VPN的流量分担到多条隧道上,不同隧道的延时差别可能很大,设备或上层应用对报文进行排序处理可能会导致比较大的延迟。因此,不推荐使用此方式配置隧道策略。
如果隧道策略中同时配置了上述方式,则优先选择隧道绑定策略,即:
· 如果对端PE地址与某条绑定隧道的目的地址相同,则采用隧道绑定策略指定的隧道转发流量。
· 如果不存在隧道目的地址与对端PE地址相同的绑定隧道,则采用与对端PE地址相同的某条首选隧道,通过首选隧道策略指定的隧道转发流量。
· 如果不存在隧道目的地址与对端PE地址相同的首选隧道,则根据负载分担方式选择隧道。
隧道策略支持多种类型的隧道,包括MPLS LSP、MPLS TE(MPLS Traffic Engineering,MPLS流量工程)隧道等。
MPLS TE的详细介绍请参见“MPLS配置指导”中的“MPLS TE”。MPLS VPN的详细介绍请参见“MPLS配置指导”中的“MPLS L3VPN”、“MPLS L2VPN”和“VPLS”。
图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 ]
缺省情况下,未将目的IP与任何隧道绑定。
同一个隧道策略下可以配置多个不同目的IP地址。
(1) 进入系统视图。
system-view
(2) 创建隧道策略,并进入隧道策略视图。
tunnel-policy tunnel-policy-name [ default ]
(3) 配置指定的隧道或捆绑隧道为首选隧道。
preferred-path { tunnel number | tunnel-bundle number }
缺省情况下,未配置首选隧道。
为了提高承载隧道的可靠性,还可以将多条MPLS TE隧道关联,形成一条捆绑隧道,指定该捆绑隧道为首选隧道。
(1) 进入系统视图。
system-view
(2) 创建隧道策略,并进入隧道策略视图。
tunnel-policy tunnel-policy-name [ default ]
(3) 配置隧道的选择顺序和负载分担的隧道数目。
select-seq [ strict ] { cr-lsp | lsp | sr-lsp } * load-balance-number number
缺省情况下,选择的隧道类型优先级依次是LSP、CRLSP、SRLSP,负载分担的隧道数目为1。
在完成上述配置后,在任意视图下执行display命令可以显示配置后隧道策略的运行情况,用户可以通过查看显示信息验证配置的效果。
表1-1 隧道策略显示和维护
操作 |
命令 |
显示隧道信息 |
display mpls tunnel { all | statistics | [ vpn-instance vpn-instance-name ] destination { ipv4-address | ipv6-address } } |
PE 1上存在到达PE 2的多条隧道:
· 2条MPLS TE隧道,对应的隧道接口为Tunnel1和Tunnel2。
· 1条LDP LSP隧道。
在PE 1上存在两个MPLS VPN实例vpna和vpnb,vpna独占MPLS TE隧道Tunnel1(即MPLS TE隧道Tunnel1只转发vpna的流量),vpnb独占MPLS TE隧道Tunnel2(即MPLS TE隧道Tunnel2只转发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> system-view
[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
在MPLS L3VPN网络中,隧道策略配置在VPN实例下,VPN实例下的所有路由根据该策略迭代隧道。隧道策略提供了灵活的隧道选择方法,可以满足MPLS VPN对隧道的多种选择要求。
隧道策略的使用限制:
· 在跨域VPN-OptionB组网中,ASBR设备接收所有PE对等体上发来的VPNv4/v6路由。当前系统为VPNv4/v6路由迭代LSP隧道,而有时为了进行带宽保证,需要为这些VPNv4/v6路由迭代MPLS TE隧道,如果不希望在ASBR上创建VPN实例,则隧道策略无法使用。
· 在跨域VPN-OptionC组网中,对于PE收到的BGP-IPv4/v6标签路由,系统选择的也是LSP隧道。如果需要对隧道的带宽进行保证,则也需要系统为标签路由迭代MPLS TE隧道,只配置隧道策略无法实现。
隧道迭代器可以对BGP VPNv4/v6或带标签的BGP IPv4/IPv6单播路由或BGP标签路由进行过滤,并为通过过滤的路由应用相应的隧道策略,从而根据隧道策略选中符合用户期望的隧道。
过滤器可以看作是隧道迭代器过滤路由的工具,单独配置的过滤器没有任何过滤效果,只有隧道迭代器的相关命令中应用这些过滤器,才能够达到预期的过滤效果。
extcommunity-list仅用于BGP路由的过滤。扩展团体属性列表可以针对两种属性指定匹配条件:
· RT(Route Target,路由目标)扩展团体。
· SoO(Site of Origin,源站点)扩展团体。
一个扩展团体属性列表可以定义多个表项。在匹配过程中,各表项之间是“或”的关系,即只要路由信息通过该列表中的一条表项,就认为通过该团体属性列表。
有关RT扩展团体属性的详细介绍,请参见“MPLS配置指导”中的“MPLS L3VPN”;有关SoO扩展团体属性的详细介绍,请参见“三层技术-IP路由配置指导”中的“BGP”。
在一个隧道迭代器的节点中,可以没有if-match子句,也可以有多个if-match子句。当不指定if-match子句时,如果该节点的匹配模式为允许模式,则所有路由信息都会通过该节点的过滤;如果该节点的匹配模式为拒绝模式,则所有路由信息都会被拒绝。
如果配置了多条相同类型的if-match子句,设备在显示隧道迭代器时,会将这些if-match子句合并为一条if-match子句。如果合并后的if-match子句超过命令行最大长度,则这些相同类型的if-match子句会分成多条显示,这些子句之间是“或”的关系,即满足一个匹配条件,就认为匹配该if-match语句。
(1) 进入系统视图。
system-view
(2) 进入隧道迭代器视图。
tunnel-selector tunnel-selector-name { deny | permit } node node
(3) 配置BGP路由信息的匹配条件。
¡ 配置匹配BGP路由信息的扩展团体属性匹配条件。
if-match extcommunity { ext-comm-list-number | ext-comm-list-name }&<1-32>
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!