文章目录
前言
MPLS VPN(多协议标签交换虚拟私人网络)的工作原理涉及在网络中使用标签来有效地转发数据包,实现数据的隔离和高效路由。旨在为不同组织或客户之间提供安全、私密的数据传输。MPLS VPN广泛应用于企业网络中,允许不同地点的用户通过公用网络安全地通信。
一、MPLS VPN的组成部分
-
CE (Customer Edge):负责接入客户的本地网络,与PE通信,提供客户流量的接入。
-
PE (Provider Edge):处理来自不同客户的流量,管理VPN实例和标签分发,与P设备进行连接,确保数据安全和隔离。
-
P (Provider):负责高效的数据包转发,隶属于服务提供商网络的核心,支持标签交换技术。
二、MPLS VPN的主要参数
1. VRF (Virtual Routing and Forwarding):
VRF 是在PE路由器上维护的逻辑路由表,每个VRF可以堆叠一个或多个VPN。
作用:使不同客户的流量在同一设备上进行隔离,确保数据不互相干扰。
2. 标签(Label)
标签用于标识MPLS路径并推动数据包在MPLS网络中的转发。
作用:提供高效的数据包转发功能,以及在不同VPN之间进行数据隔离。
3. 路由协议
负责动态学习和分发路由信息,使PE与CE设备之间的路由信息保持一致。
三、MPLS VPN实例图与讲解
解题思路:
1、配置底层的IP地址,与loopback0地址。
2、在骨干网里配置IGP-ospf 100,实现PE与P网络互联。
3、在骨干网配置多协议标签交换标签分发协议(mpls ldp)。
4、在PE上创建vpn实例,并绑定连接CE的接口。包括Route Distinguisher(路由区分符),Route Target(路由目标)。
5、在PE上创建MP-BGP进程,并建立BPG邻居关系。
6、在PE上路由协议进行重发布,使对端学到本端的路由。
基础配置
<CE1>
#
sysname CE1
#
interface GigabitEthernet0/0/0
ip address 10.0.12.1 255.255.255.0
#
interface LoopBack0
ip address 10.0.1.1 255.255.255.255
#
<PE1>
#
sysname PE1
#
#
interface GigabitEthernet0/0/0
ip address 10.0.12.2 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 10.0.23.2 255.255.255.0
#
interface GigabitEthernet0/0/2
#
interface NULL0
#
interface LoopBack0
ip address 10.0.2.2 255.255.255.255
#
<P1>
#
sysname P1
#
interface GigabitEthernet0/0/0
ip address 10.0.34.3 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 10.0.23.3 255.255.255.0
#
interface GigabitEthernet0/0/2
#
interface LoopBack0
ip address 10.0.3.3 255.255.255.255
#
这里只配置了CE2,PE2,P2同上。
在CE,PE,P运行ospf 100
<PE1>
#
ospf 100 router-id 10.0.2.2
area 0.0.0.0
network 10.0.2.2 0.0.0.0
network 10.0.23.0 0.0.0.255
#
<PE2>
#
ospf 100 router-id 10.0.5.5
area 0.0.0.0
network 10.0.5.5 0.0.0.0
network 10.0.45.0 0.0.0.255
#
<P1>
#
ospf 100 router-id 10.0.3.3
area 0.0.0.0
network 10.0.3.3 0.0.0.0
network 10.0.23.0 0.0.0.255
network 10.0.34.0 0.0.0.255
#
<P2>
#
ospf 100 router-id 10.0.4.4
area 0.0.0.0
network 10.0.4.4 0.0.0.0
network 10.0.34.0 0.0.0.255
network 10.0.45.0 0.0.0.255
#
<检查OSPF邻居建立关系与路由>
<P2>display ospf peer brief
OSPF Process 100 with Router ID 10.0.4.4
Peer Statistic Information
----------------------------------------------------------------------------
Area Id Interface Neighbor id State
0.0.0.0 GigabitEthernet0/0/0 10.0.3.3 Full
0.0.0.0 GigabitEthernet0/0/1 10.0.5.5 Full
----------------------------------------------------------------------------
<PE1>display ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : OSPF
Destinations : 5 Routes : 5
OSPF routing table status : <Active>
Destinations : 5 Routes : 5
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.0.3.3/32 OSPF 10 1 D 10.0.23.3 GigabitEthernet
0/0/1
10.0.4.4/32 OSPF 10 2 D 10.0.23.3 GigabitEthernet
0/0/1
10.0.5.5/32 OSPF 10 3 D 10.0.23.3 GigabitEthernet
0/0/1
10.0.34.0/24 OSPF 10 2 D 10.0.23.3 GigabitEthernet
0/0/1
10.0.45.0/24 OSPF 10 3 D 10.0.23.3 GigabitEthernet
0/0/1
OSPF routing table status : <Inactive>
Destinations : 0 Routes : 0
说明骨干网使用网络已经互通了
在骨干网内配置多协议标签
<PE1>
#
mpls lsr-id 10.0.2.2 ##10.0.2.2将在MPLS网络中作为该路由器的标识符。
mpls ##全局使能mpls
#
mpls ldp ##启用LDP(标签分发协议)
#
interface GigabitEthernet0/0/1
mpls ##接口使能mpls
mpls ldp
#
<PE2>
#
mpls lsr-id 10.0.5.5
mpls
#
mpls ldp
#
#
interface GigabitEthernet0/0/1
mpls
mpls ldp
#
<P1>
#
mpls lsr-id 10.0.3.3
mpls
#
mpls ldp
#
#
interface GigabitEthernet0/0/0
mpls
mpls ldp
#
interface GigabitEthernet0/0/1
mpls
mpls ldp
#
<P2>
#
mpls lsr-id 10.0.4.4
mpls
#
mpls ldp
#
#
interface GigabitEthernet0/0/0
mpls
mpls ldp
#
interface GigabitEthernet0/0/1
mpls
mpls ldp
#
<查看mpls是否建立成功>
<P1>display mpls ldp session
LDP Session(s) in Public Network
Codes: LAM(Label Advertisement Mode), SsnAge Unit(DDDD:HH:MM)
A '*' before a session means the session is being deleted.
------------------------------------------------------------------------------
PeerID Status LAM SsnRole SsnAge KASent/Rcv
------------------------------------------------------------------------------
10.0.2.2:0 Operational DU Active 0000:02:09 516/516
10.0.4.4:0 Operational DU Passive 0000:02:08 514/514
## “Operational”表示会话正常工作
## 10.0.2.2的会话处于主动状态(Active),而10.0.4.4的会话处于被动状态(Passive)。
------------------------------------------------------------------------------
TOTAL: 2 session(s) Found.
创建并VPN实例并绑定在连接CE接口
<PE1>
#
ip vpn-instance 25
ipv4-family ##指定了VPN实例将支持IPv4地址族。
route-distinguisher 2345:1 ##创建路由区分符,用于不同流量的转发
vpn-target 2345:11 export-extcommunity ##定义了从该VPN实例中导出路由时的扩展社区属性
vpn-target 2345:11 import-extcommunity ##定义了从该VPN实例中接受路由时的扩展社区属性
#
interface GigabitEthernet0/0/0
ip binding vpn-instance 25
ip address 10.0.12.2 255.255.255.0
#
<PE2>
#
ip vpn-instance 25
ipv4-family
route-distinguisher 2345:1
vpn-target 2345:11 export-extcommunity
vpn-target 2345:11 import-extcommunity
#
#
interface GigabitEthernet0/0/0
ip binding vpn-instance 25
ip address 10.0.56.5 255.255.255.0
#
建立PE对端BGP邻居关系
<PE1>
#
bgp 2345
router-id 10.0.2.2
undo default ipv4-unicast ##撤销路由器上默认启用的IPv4单播(unicast)地址族。
peer 10.0.5.5 as-number 2345 ##与IP为 10.0.5.5 的邻居建立IBGP对等关系
peer 10.0.5.5 connect-interface LoopBack0 ##指定建立BGP邻居LOOBACK 0接口
#
ipv4-family unicast
undo synchronization
peer 10.0.5.5 enable
#
ipv4-family vpnv4 ##进入BGP的VPNv4地址族配置模式。
policy vpn-target
peer 10.0.5.5 enable ##启用与指定邻居的IBGP邻居关系。
#
<PE2>
#
bgp 2345
router-id 10.0.5.5
undo default ipv4-unicast
peer 10.0.2.2 as-number 2345
peer 10.0.2.2 connect-interface LoopBack0
#
ipv4-family unicast
undo synchronization
peer 10.0.2.2 enable
#
ipv4-family vpnv4
policy vpn-target
peer 10.0.2.2 enable
#
<查看BGP邻居是否建立成功>
<PE1>display bgp peer
BGP local router ID : 10.0.2.2
Local AS number : 2345
Total number of peers : 1 Peers in established state : 1
Peer V AS MsgRcvd MsgSent OutQ Up/Down State Pre
fRcv
10.0.5.5 4 2345 156 156 0 02:32:11 Established
0
## Established,表示与邻居已经成功建立了对等关系,并可以开始交换路由信息。
在PE是配置路由重发布,并在CE上运行ospf 1
<CE1>
#
ospf 1 router-id 10.0.1.1
area 0.0.0.0
network 10.0.1.1 0.0.0.0
network 10.0.12.0 0.0.0.255
#
<PE1>
#
ospf 1 vpn-instance 25 ##在特定的 VPN 实例(标识符为 25)中运行。VPN 实例用于支持 MPLS VPN。
import-route bgp ##指定从 BGP 导入路由到这个 OSPF VPN 实例。
area 0.0.0.0
network 10.0.12.0 0.0.0.255 ## 宣告连接CE1网段的路由信息
#
bgp 2345
ipv4-family vpn-instance 25
import-route ospf 1 ##从 OSPF 进程导入路由到 BGP,把本段ospf路由信息引入到BGP内。
#
<CE2>
#
ospf 1 router-id 10.0.6.6
area 0.0.0.0
network 10.0.6.6 0.0.0.0
network 10.0.56.0 0.0.0.255
#
<PE2>
#
ospf 1 vpn-instance 25
import-route bgp
area 0.0.0.0
network 10.0.56.0 0.0.0.255
##
bgp 2345
ipv4-family vpn-instance 25
import-route ospf 1
通过 OSPF 和 BGP 进行路由的动态交换,在特定的 VPN 实例中管理和交换网络路由。PE(边缘路由器)和 CE(客户路由器)之间的相互作用建立了一种多协议标签交换(MPLS)VPN 解决方案,使不同自治系统之间的路由信息可以进行合适的传播和隔离。
查看mpls vpn建立结果
<PE1>display ip routing-table vpn-instance 25
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: 25
Destinations : 7 Routes : 7
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.0.1.1/32 OSPF 10 1 D 10.0.12.1 GigabitEthernet
0/0/0
10.0.6.6/32 IBGP 255 2 RD 10.0.5.5 GigabitEthernet
0/0/1
10.0.12.0/24 Direct 0 0 D 10.0.12.2 GigabitEthernet
0/0/0
10.0.12.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/0
10.0.12.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/0
10.0.56.0/24 IBGP 255 0 RD 10.0.5.5 GigabitEthernet
0/0/1
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
在PE1上看到10.0.6.6是通过IBGP学习到的路由信息,下一条地址为10.0.5.5。
<PE1>display bgp vpnv4 vpn-instance 25 routing-table
BGP Local router ID is 10.0.2.2
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
VPN-Instance 25, Router ID 10.0.2.2:
Total Number of Routes: 4
Network NextHop MED LocPrf PrefVal Path/Ogn
*> 10.0.1.1/32 0.0.0.0 2 0 ?
*>i 10.0.6.6/32 10.0.5.5 2 100 0 ?
*> 10.0.12.0/24 0.0.0.0 0 0 ?
*>i 10.0.56.0/24 10.0.5.5 0 100 0 ?
查看VPN实例25中的BGP路由状态及其属性的详细信息。
查看MPLS 网络中数据包的转发情况
<PE1>tracert -vpn-instance 25 -v -a 10.0.12.2 10.0.6.6
traceroute to 25 10.0.6
.6(10.0.6.6), max hops: 30 ,packet length: 40,press CTRL_C to break
1 10.0.23.3[MPLS Label=1026/1025 Exp=0/0 S=0/1 TTL=1/1] 40 ms 20 ms 40 ms
2 10.0.34.4[MPLS Label=1026/1025 Exp=0/0 S=0/1 TTL=1/2] 30 ms 20 ms 20 ms
3
10.0.56.5 30 ms 20 ms 20 ms
4 10.0.56.6 40 ms 40 ms 40 ms
1 10.0.23.3 [MPLS Label=1026/1025 Exp=0/0 S=0/1 TTL=1/1]:
路由器 IP 地址是 10.0.23.3。
[MPLS Label=1026/1025] 表示这是一个 MPLS(多协议标签交换)标签的显示,两个标签(1026 和 1025)用于转发。
TTL=1/1 表示生存时间(Time To Live),初始 TTL 设置为 1,表示该数据包已被第一个路由器处理并递减到 0。
响应时间为 40 ms, 20 ms, 40 ms,显示了从源 IP 到 10.0.23.3 的往返时间。
2 10.0.34.4 [MPLS Label=1026/1025]:
经过第二个路由器 10.0.34.4,响应时间为 30 ms, 20 ms, 20 ms。
3 10.0.56.5:
第三个路由器 IP 为 10.0.56.5,响应时间为 30 ms, 20 ms, 20 ms。
4 10.0.56.6:
第四个路由器 IP 为 10.0.56.6,响应时间为 40 ms, 40 ms, 40 ms。
在CE上查看是否通过vpn学习到对端网络的信息
<CE1>display ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : OSPF
Destinations : 2 Routes : 2
OSPF routing table status : <Active>
Destinations : 2 Routes : 2
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.0.6.6/32 OSPF 10 3 D 10.0.12.2 GigabitEthernet
0/0/0
10.0.56.0/24 O_ASE 150 1 D 10.0.12.2 GigabitEthernet
0/0/0
OSPF routing table status : <Inactive>
Destinations : 0 Routes : 0
<CE2>display ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : OSPF
Destinations : 2 Routes : 2
OSPF routing table status : <Active>
Destinations : 2 Routes : 2
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.0.1.1/32 OSPF 10 3 D 10.0.56.5 GigabitEthernet
0/0/0
10.0.12.0/24 O_ASE 150 1 D 10.0.56.5 GigabitEthernet
0/0/0
OSPF routing table status : <Inactive>
Destinations : 0 Routes : 0