07-隧道策略配置
本章节下载: 07-隧道策略配置 (265.03 KB)
MPLS LSP、MPLS TE(Traffic Engineering,流量工程)隧道等多种类型的隧道都可以作为MPLS VPN(Virtual Private Network,虚拟专用网络)的承载隧道。当MPLS VPN的两个PE(Provider Edge,服务提供商网络边缘)设备之间存在多种隧道、每种隧道都有多条时,如何选择隧道,是网络部署必须考虑的重要问题。合理的选择隧道,不仅有利于服务提供商网络的管理和规划,还可以降低PE设备的处理开销。
隧道策略提供了灵活的隧道选择方法,可以满足MPLS VPN对隧道的多种选择要求,例如指定首选隧道、流量在隧道间负载分担等。
MPLS TE的详细介绍请参见“MPLS配置指导”中的“MPLS TE”。MPLS VPN的详细介绍请参见“MPLS配置指导”中的“MPLS L3VPN”、“MPLS L2VPN”和“VPLS”。
隧道策略分为以下两种:
· 只使用一条隧道转发流量:通过preferred-path命令配置首选隧道,每条首选隧道对应一个隧道接口。如果对端PE地址与隧道接口的目的地址相同,则通过该隧道转发到达该PE的流量。如果存在多条目的地址相同的首选隧道,则选择配置的第一条首选隧道;如果第一条首选隧道不可用,则选择下一条首选隧道;以此类推。也就是说到达同一个目的地址只能存在一条首选隧道,不会在多条隧道间进行负载分担。该方式为MPLS VPN显式指定了一条MPLS TE隧道,选择的隧道是明确的、可以预期的,便于网络流量规划。推荐使用该方式配置隧道策略。
· 选择多条隧道,流量在隧道之间进行负载分担:通过select-seq load-balance-number命令配置隧道的选择顺序和负载分担的隧道数目。该命令配置的隧道类型越靠前,其优先级越高。例如:配置了select-seq lsp cr-lsp load-balance-number 3命令,则优先选择LSP;在没有LSP或LSP不足3条的情况下,选用MPLS TE隧道。采用该方式时,选择的隧道具有随机性,不便于网络流量规划。不推荐使用该方式配置隧道策略。
如果隧道策略中同时配置了上述两种方式,则优先选择preferred-path命令指定的首选隧道,即:
· 如果对端PE地址与某条首选隧道的目的地址相同,则采用该隧道转发流量,不会再根据select-seq load-balance-number命令指定的隧道选择顺序和负载分担数目选择隧道。
· 如果不存在隧道目的地址与对端PE地址相同的首选隧道,则根据select-seq load-balance-number命令指定的隧道选择顺序和负载分担数目选择隧道。
图1-1 MPLS VPN隧道选择示例图
如图1-1所示,当PE 1和PE 2之间存在多条隧道,且PE 1和PE 2连接多个MPLS VPN时,可以采用如下方式部署MPLS VPN的流量:
· 配置多个隧道策略,每个隧道策略中分别通过preferred-path命令指定一条首选隧道,不同的MPLS VPN引用不同的隧道策略,从而实现不同VPN的流量通过不同的隧道转发。
· 在隧道策略中通过select-seq load-balance-number命令指定隧道的选择顺序和负载分担的隧道数目,配置MPLS VPN引用该隧道策略,从而实现每个VPN的流量都在多条隧道之间进行负载分担。
采用第二种方式时,单个VPN的流量分担到多条隧道上,不同隧道的延时差别可能很大,设备或上层应用对报文进行排序处理可能会导致比较大的延迟。因此,不推荐使用第二种方式。
表1-1 配置隧道策略
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建隧道策略,并进入隧道策略视图 |
tunnel-policy tunnel-policy-name |
缺省情况下,不存在隧道策略 |
配置指定的隧道为首选隧道 |
preferred-path tunnel number |
缺省情况下,未配置首选隧道 |
配置隧道的选择顺序和负载分担的隧道数目 |
select-seq { cr-lsp | lsp } * load-balance-number number |
缺省情况下,选择的隧道类型优先级依次是LSP、CR-LSP,负载分担的隧道数目为1 |
· 独用隧道是指隧道只能被一个VPN使用,即隧道只能转发一个VPN的流量。通过在隧道策略中使用preferred-path命令配置首选隧道,并保证该隧道策略只能被一个VPN实例引用,可以实现独用隧道。
· 配置隧道策略,不能同时配置EVI或VXLAN,有关EVI和VXLAN的详细介绍,请参见“EVI配置指导”和“VXLAN配置指导”。
在完成上述配置后,在任意视图下执行display命令可以显示配置后隧道策略的运行情况,用户可以通过查看显示信息验证配置的效果。
表1-2 隧道策略显示和维护
操作 |
命令 |
显示隧道信息 |
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隧道,对应的隧道接口分别为Tunnel1和Tunnel2。
· 1条LDP LSP隧道。
在PE 1上存在多个MPLS VPN实例:vpna、vpnb、vpnc、vpnd和vpne。每个VPN实例使用的隧道策略如表1-3所示。
表1-3 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保留在没有任何通知或提示的情况下对资料内容进行修改的权利!