MPLS-VPN学习笔记

简介:

为什么要有VPN

最初为了实现两个地点之间跨越公网通信,保护私网的安全,人们通常采用专线来实现私网之间的连接。专线存在:价格昂贵、使用不充分、带宽浪费严重等问题。

 

CE(customer edge)设备:客户边缘设备

PE设备(provider edge):运营商设备,连接客户设备

P设备(provider):运营商网络中的骨干设备

 

 

MPLS VPN的原因

两个客户的VPN存在相同的地址空间,传统VPN网络结构中的设备无法区分客户重叠的路由信息。

 

 

如果要解决地址冲突问题,必须对现有的协议进行大规模的修改,这就要求一个协议具有良好的可扩展性。而具备条件的协议一定是基于TLV(type、length、value)元素的。符合标准的只有EIGRP(思科私有)、BGP、ISIS(基于链路层封装)。

而BGP是最佳选择:

(1) 网络中VPN路由数目可能非常大,BGP是唯一支持大量路由的路由协议;

(2) BGP是基于TCP来建立连接,可以在不直连相连的路由器间交换信息,这使得P路由器中无须包含VPN路由信息;

(3) BGP可以运载附加在路由后的任何信息,作为可选的BGP属性,任何不了解这些属性的BGP路由器都将透明的转发它们,这使在PE路由器间传播路由非常简单。

 

 

要想真正解决地址冲突问题,至少需要有三个难题需要攻克:

(1) 本地路由冲突问题,即:在同一台PE上如何区分不同VPN的相同路由

(2) 路由在网络中的传递问题,两条相同的路由,都在网络中传播,对于接收者如何分辨彼此

(3) 报文的转发问题,即使成功的解决了路由表的冲突,但是当PE接收到一个IP报文时,他又如何能够知道该发给哪个VPN,因为IP报文头中唯一可用的信息就是目的地址,而很多VPN中都可能存在这个地址。

 

解决思路:

(1) 本地路由冲突问题,可以通过在同一台路由器上创建不同的路由表解决,而不同的接口可以分属不同的路由表中,这就相当于将一台共享PE模拟成多台专用PE;

(2) 可以在路由传递的过程中为这条路由再添加一个标识,用以区别不同的VPN

(3) 由于IP报文的格式不可更改,但可以在IP头之外加上一些信息,由始发的VPN打上标记,这样PE在接收报文时可以根据这个标记进行转发。

 

 

 

ip vpn-instance 1 //创建VPN实例1

route-distinguisher 1:1

int g 0/0/0

ip binding vpn-instance 1//绑定VPN实例1

rip 1 vpn-instance 1

version 2

network 12.0.0.0

 

 

VRF:VPN路由转发实例(VPN Routing & Forwarding Instance)

vpn实例的路由表,仅在本地有效

display ip routing-table vpn-instance 1//查看vpn实例1的路由表

RD:(Route Distinguisher)路由标识

每个VPN实例都有一个唯一的RD

RT:路由标签(target),用于将路由正确引入VPN

import:VPN路由的导入

export:VPN路由的导出

对方发来的export和自己的import相等表示可以接收

ip vpn-instance 1

vpn-target 100:1 import

 

 

 

1. 路由传递

 

①CE-->PE

CE的路由通过路由引入到PE的BGP的vpn实例中

②PE-->PE

 

MP_REACH_NLRI属性:多协议可达NLRI

携带路由、RD、私网label(作用是接收方辨别是哪个VRF的包,再从所有属于那个VRF的接口发送出去)

EXTENDED_COMMUNITIES 扩展团体属性

携带RT信息

 

在路由传递时PE给这个路由条目打上了extended_community即RT的值,同时还会打上mp_reach_nlri,包含路由、RD和私网label,这个label就是mpls vpn的内层标签,通过BGP路由通告给BGP邻居;邻居学到路由后,会用RT的import把路由条目过滤出来,得到vpnv4的路由条目,然后再把RD头去掉,得到普通的IPv4路由条目,并存在本地的VRF表中,同时得到私网label,存放在mpls转发表中。

 

入口PE---P---出口PE之间建立LDP邻居关系,用来学习PE之间的label,这个就是MPLS VPN的外层标签,其最终的目的是:把客户的包从入口PE转发到出口PE,然后在根据内层标签来分辨是哪个VRF的包,再从所有属于那个VRF的接口发送出去。

 

 

 

③PE-->CE

通过引入将BGP vpnv4学到的路由引入到CE设备的路由协议中

 

 

 

2. 流量传递

 

两层标签

内层决定查哪个VRF表

 

目录
相关文章
|
弹性计算 安全 Linux
SSL-VPN和客户端配置|学习笔记
快速学习SSL-VPN和客户端配置
SSL-VPN和客户端配置|学习笔记
|
弹性计算 安全 网络安全
VPN网关构建混合云|学习笔记
快速学习VPN网关构建混合云
VPN网关构建混合云|学习笔记
|
弹性计算 网络安全 网络虚拟化
IPsec-VPN配置|学习笔记
快速学习IPsec-VPN配置
IPsec-VPN配置|学习笔记
|
弹性计算 安全 容灾
VPN网关概要|学习笔记
快速学习VPN网关概要
VPN网关概要|学习笔记
|
弹性计算 安全 网络安全
IPsec-VPN接入|学习笔记
快速学习IPsec-VPN接入
|
安全 Linux 网络安全
SSL-VPN接入|学习笔记
快速学习SSL-VPN接入
SSL-VPN接入|学习笔记
|
网络虚拟化
MPLS VPN跨域C2 RR反射器方案(二)
MPLS VPN跨域C2 RR反射器方案
140 0
|
3月前
|
网络协议 Shell 网络虚拟化
手把手教你玩MPLS VPN如何配置
手把手教你玩MPLS VPN如何配置
270 0
|
5月前
|
网络协议 网络虚拟化 网络架构
MPLS VPN协议高级应用
MPLS VPN协议高级应用
|
5月前
|
网络协议 网络虚拟化 虚拟化