配置IPv6 VPN远端交叉路由的隧道负载分担示例
VPN骨干网上PE对等体之间有多条隧道可达时,配置隧道负载分担可以充分利用网络资源,增加VPN业务在骨干网传输的可靠性。
组网需求
在BGP/MPLS IPv6 VPN的MPLS骨干网上,PE对等体之间存在多条隧道时(比如LDP LSP、TE),为使IPv6 VPN流量负载分担到这些隧道上,不造成网络的拥塞,可以配置隧道的负载分担。
如图8-13所示,基本BGP/MPLS IPv6 VPN场景下PE1和PE2之间存在两条链路,PE1-P1-PE2上建立了LDP LSP,PE1-P2-PE2之上建有TE隧道。不配置隧道的负载分担,在转发IPv6 VPN流量时,依照默认的隧道策略流量都会通过LSP隧道转发,可能会造成PE1-P1-PE2链路比较繁忙,而PE1-P2-PE2链路空闲的情况。
要求在MPLS骨干网上的配置隧道负载分担,使得转发IPv6 VPN数据时流量能均匀分担到两条隧道上,不会造成其中一条隧道拥塞,而另一条隧道空闲的情况。
配置思路
采用如下的思路配置IPv6 VPN远端交叉路由的隧道负载分担:
在MPLS骨干网上配置OSPF,实现骨干网互通。
在MPLS骨干网上通过使能MPLS、MPLS LDP建立LDP LSP,通过使能MPLS TE,建立TE隧道。
PE上配置使能IPv6地址族的VPN实例,将CE接入PE。
PE1上创建隧道策略,使PE之间的LDP LSP和TE参与负载分担。
PE1上VPN实例IPv6地址族下应用隧道策略。
操作步骤
- 配置基本BGP/MPLS IPv6 VPN
具体配置请参照配置基本BGP/MPLS IPv6 VPN示例和配置文件,主要包括以下配置:
在MPLS骨干网上配置OSPF,使得PE之间互相学习到Loopback路由;
在PE1、P1、PE2上配置MPLS基本能力和MPLS LDP,PE之间建立LDP LSP;
PE之间建立VPNv6对等体关系;
PE上创建支持IPv6地址族的VPN实例,并将连接CE的接口与VPN实例绑定;
PE与CE之间配置BGP,并将CE的Loopback路由引入BGP。
- 在PE1、P2、PE2上使能MPLS TE,PE之间建立TE隧道,具体配置请参见配置文件。
完成上述配置后,在PE1上执行display ipv6 routing-table vpn-instance命令,可以看到PE1能够学到CE上Loopback接口的路由。
<PE1> display ipv6 routing-table vpn-instance vpn1
Routing Table : vpn1 Destinations : 4 Routes : 4 Destination : 2001:db8:0:1:2::1 PrefixLength : 128 NextHop : ::FFFF:3.3.3.9 Preference : 255 Cost : 0 Protocol : BGP RelayNextHop : :: TunnelID : 0x800011 Interface : GigabitEthernet1/0/0 Flags : RD Destination : 2001:db8:9:: PrefixLength : 28 NextHop : 2001:db8:9::1 Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : LoopBack2 Flags : D Destination : 2001:db8:9::1 PrefixLength : 128 NextHop : ::1 Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : LoopBack2 Flags : D Destination : FE80:: PrefixLength : 10 NextHop : :: Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : NULL0 Flags : D
<PE1> display ipv6 routing-table vpn-instance vpn1 2001:db8:0:1:2::1 verbose Routing Table : vpn1 Summary Count : 1 Destination : 2001:db8:0:1:2::1 PrefixLength : 128 NextHop : ::FFFF:3.3.3.9 Preference : 255 Neighbour : ::3.3.3.9 ProcessID : 0 Label : 1027 Protocol : IBGP State : Active Adv Relied Cost : 0 Entry ID : 21 EntryFlags : 0x80024904 Reference Cnt: 2 Tag : 0 IndirectID : 0x24 Age : 895sec RelayNextHop : :: TunnelID : 0x0000000001004c4ba2 Interface : GigabitEthernet1/0/0 Flags : RD
由上面的显示信息可以看出,由于没有对VPN实例IPv6地址族应用隧道策略,PE1上只会为2001:db8:0:1:2::1/128迭代到一条LSP隧道,且出接口为GigabitEthernet2/0/0。
- PE1上对VPN实例IPv6地址族应用隧道策略
配置隧道类型优先级的隧道策略,按照TE、LSP顺序选择隧道,且负载分担条数为2。
# 配置PE1。
[~PE1] tunnel-policy te-lsp-l2
[*PE1-tunnel-policy-te-lsp-l2] tunnel select-seq cr-lsp lsp load-balance-number 2
[*PE1-tunnel-policy-te-lsp-l2] quit
# 对VPN实例IPv6地址族应用隧道策略。
[*PE1] ip vpn-instance vpn1
[*PE1-vpn-instance-vpn1] ipv6-family
[*PE1-vpn-instance-vpn1-af-ipv6] tnl-policy te-lsp-l2
[*PE1-vpn-instance-vpn1-af-ipv6] quit
[*PE1-vpn-instance-vpn1] quit
[*PE1] commit
- 检查配置结果
上述配置完成后,PE1上执行命令display ipv6 routing-table vpn-instance verbose命令,可以看到对于去往远端CE上Loopback接口的路由,迭代到了两条隧道。
<PE1> display ipv6 routing-table vpn-instance vpn1 2001:db8:0:1:2::1 verbose Routing Table : vpn1 Summary Count : 1 Destination : 2001:db8:0:1:2::1 PrefixLength : 128 NextHop : ::FFFF:3.3.3.9 Preference : 255 Neighbour : :: ProcessID : 0 Label : 1027 Protocol : BGP State : Active Adv Relied Cost : 0 Entry ID : 21 EntryFlags : 0x80024904 Reference Cnt: 2 Tag : 0 IndirectID : 0x24 Age : 895sec RelayNextHop : :: TunnelID : 0x000000000300000001 Interface : Tunnel1 Flags : RD RelayNextHop : :: TunnelID : 0x0000000001004c4ba2 Interface : GigabitEthernet1/0/0 Flags : RD
综上所述,配置IPv6 VPN远端交叉路由的隧道负载分担成功。
配置文件
PE1的配置文件
#
sysname PE1
#
ip vpn-instance vpn1
ipv6-family
route-distinguisher 100:1
apply-label per-instance
tnl-policy te-lsp-l2
vpn-target 1:1 export-extcommunity
vpn-target 1:1 import-extcommunity
#
mpls lsr-id 1.1.1.9
#
mpls
mpls te
mpls te cspf
mpls rsvp-te
#
mpls ldp
#
interface GigabitEthernet1/0/0
undo shutdown
ip address 10.1.1.1 255.255.255.0
mpls
mpls te
mpls rsvp-te
#
interface GigabitEthernet2/0/0
undo shutdown
ip address 10.2.1.1 255.255.255.0
mpls
mpls ldp
#
interface LoopBack1
ip address 1.1.1.9 255.255.255.255
#
interface LoopBack2
ip binding vpn-instance vpn1
ipv6 enable
ipv6 address 2001:db8:9::1 128
#
interface Tunnel1 ip address unnumbered interface LoopBack1 tunnel-protocol mpls te destination 3.3.3.9 mpls te tunnel-id 100 mpls te reserved-for-binding
#
bgp 100
peer 3.3.3.9 as-number 100
peer 3.3.3.9 connect-interface LoopBack1
#
ipv4-family unicast
undo synchronization peer 3.3.3.9 enable
#
ipv6-family vpnv6
policy vpn-target
peer 3.3.3.9 enable
#
ospf 1
opaque-capability enable
area 0.0.0.0
mpls-te enable
network 1.1.1.9 0.0.0.0
network 10.2.1.0 0.0.0.255
network 10.1.1.0 0.0.0.255
#
tunnel-policy te-lsp-l2
tunnel select-seq cr-lsp lsp load-balance-number 2
#
return
P1的配置文件
#
sysname P1
#
mpls lsr-id 2.2.2.9
#
mpls
#
mpls ldp
#
interface GigabitEthernet1/0/0
undo shutdown
ip address 10.2.1.2 255.255.255.0
mpls
mpls ldp
#
interface GigabitEthernet2/0/0
undo shutdown
ip address 10.3.1.1 255.255.255.0
mpls
mpls ldp
#
interface LoopBack1
ip address 2.2.2.9 255.255.255.255
#
ospf 1
opaque-capability enable
area 0.0.0.0
mpls-te enable
network 2.2.2.9 0.0.0.0
network 10.2.1.0 0.0.0.255
network 10.3.1.0 0.0.0.255
#
return
P2的配置文件
#
sysname P2
#
mpls lsr-id 4.4.4.9
#
mpls
mpls te
mpls te cspf
mpls rsvp-te
#
mpls ldp
#
interface GigabitEthernet1/0/0
undo shutdown
ip address 10.1.1.2 255.255.255.0
mpls
mpls te
mpls rsvp-te
#
interface GigabitEthernet2/0/0
undo shutdown
ip address 10.4.1.1 255.255.255.0
mpls
mpls te
mpls rsvp-te
#
interface LoopBack1
ip address 4.4.4.9 255.255.255.255
#
ospf 1
opaque-capability enable
area 0.0.0.0
mpls-te enable
network 4.4.4.9 0.0.0.0
network 10.4.1.0 0.0.0.255
network 10.1.1.0 0.0.0.255
#
return
PE2的配置文件
#
sysname PE2
#
ip vpn-instance vpn1
ipv6-family
route-distinguisher 100:1
apply-label per-instance
vpn-target 1:1 export-extcommunity
vpn-target 1:1 import-extcommunity
#
mpls lsr-id 3.3.3.9
#
mpls
mpls te
mpls te cspf
mpls rsvp-te
#
mpls ldp
#
interface GigabitEthernet1/0/0
undo shutdown
ip address 10.4.1.2 255.255.255.0
mpls
mpls te
mpls rsvp-te
#
interface GigabitEthernet2/0/0
undo shutdown
ip address 10.3.1.2 255.255.255.0
mpls
mpls ldp
#
interface GigabitEthernet3/0/0
undo shutdown
ipv6 enable
ip binding vpn-instance vpn1
ipv6 address 2001:db8:2::1 64
#
interface LoopBack1
ip address 3.3.3.9 255.255.255.255
#
bgp 100
peer 1.1.1.9 as-number 100
peer 1.1.1.9 connect-interface LoopBack1
#
ipv4-family unicast
undo synchronization peer 1.1.1.9 enable
#
ipv6-family vpnv6
policy vpn-target
peer 1.1.1.9 enable
#
ipv6-family vpn-instance vpn1
peer 2001:db8:2::2 as-number 65410
#
ospf 1
opaque-capability enable
area 0.0.0.0
mpls-te enable
network 3.3.3.9 0.0.0.0
network 10.3.1.0 0.0.0.255
network 10.4.1.0 0.0.0.255
#
return
CE1的配置文件
#
sysname CE1
#
interface GigabitEthernet1/0/0
undo shutdown
ipv6 enable
ipv6 address 2001:db8:2::2 64
#
interface LoopBack1
ipv6 enable
ipv6 address 2001:db8:0:1:2::1/128
#
bgp 65410
router-id 10.10.10.10
peer 2001:db8:2::1 as-number 100
#
ipv6-family unicast
undo synchronization network 2001:db8:0:1:2::1 128
peer 2001:db8:2::1 enable
#
return