VPN:虚拟专用网络,在公共网络上实现私有网络通信。
VPN在技术上需要隧道来解决。
通过隧道技术对私有报文重新封装,利用封装后的包头执行转发。

背景

单纯的MPLS技术目前已经失去价值,因为现在的硬件都是并行查表,专用芯片,效率极高,不再需要通过标签转发来提高速率。
MPLS目前更多的是利用它的隧道能力,支持MPLS VPN,VPLS,MPLS-TE(MPLS的流量工程)等业务。

名词解释

PE:运营商边缘设备,负责用于私网路由的接入。
CE:用户边缘设备。

实施MPLS-VPN的思路

1、PE如果接入多个私有网络,而私有网络路由冲突,当对端发过来报文时,由于路由冲突,导致本端PE无法正确处理,应该怎样解决冲突问题呢?

@site 独享PE:通过不同的PE解决PE上私网路由冲突的问题,但是花费太大。
@site 共享PE:在PE上创建虚拟路由表(VRF)和CE进行私网路由的学**习,每张虚拟的路由表运行独立的路由协议和独立的地址空间,相互隔离避免路由冲突。
• 配置RD来区分不同私网的路由。
• 虚拟的路由表绑定一组接口,运行独立路由协议,成为VPN-instance。
• PE需要维护公网路由信息,也要维护不同VPN-instance路由信息。


2、将vpn实例中的路由引入到BGP协议时,BGP如何区分该路由是来自哪个实例?
将VPN-instance的路由引入到BGP时,为这些路由添加RD,形成vpnv4格式的路由,这样PE就可以分清楚这些路由是来自于哪个实例。
vpnv4路由,即添加了RD参数的IPV4路由(用户的私网路由)。
RD 路由区分符,每个vpn-instance只能配置一个RD,在同一台PE上不同的vpn-instance配置不同的RD.
RD的作用:
@区分不同vpn-instance中相同的私网路由。
@对端PE收到vpnv4路由,根据RD可以判断vpnv4路由是否来自于同一个vpn-instance。

RD的规划:

@所有的vpn-instance配置全网唯一。

@同一个VPN可以配置相同的RD,不同VPN不能配置相同的RD。

@VPN:可以实现互通的site组成的私有网络。



3、如何将实例中的IGP路由变成实例中的BGP路由?如何将BGP的ipv4路由变成MP-BGP的vpnv4路由?

@将实例中的IGP路由变成实例中的BGP路由,通过import-route。

@当引入后,事例中的BGP的ipv4路由会自动变成MP-BGP的vpnv4路由。

@instance ipv4 IGP import route instance BGP ipv4 自动 MP-BGP vpnv4

EBGP路由可以自动引入到实例BGP表中。



4、用哪种协议适合在公网上传递私网路由?

BGP协议可以跨设备建立邻居,来传递私网路由。

BGP只能传递IPV4单播帧,需要建立MP-IBGP邻居,就可以传递vpnv4的路由了。

MP-BGP 多协议BGP,即可以传递多种不同格式(ipv4,vpnv4等等格式)路由的BGP协议。



6、当对端PE收到vpnv4路由后,如何确定应该将vpnv4路由引入到本地哪些vpn-instance中,成为ipv4的BGP路由呢?

MP-BGP vpnv4 _RT instance BGP ipv4

@可以通过RT来解决,事先给vpn-instance配置。

MPLS PE CE mpls pe ce定义_运维

为什么是“或”而不是“与”呢?
如果是“与”,那么所有的兴趣爱好都需要一样才可以引入到该vpn-instance中,将会变得很不灵活,跟配置成相同的RD一样的效果;
如果是“或”,只要兴趣爱好有一个一样就可以引入到该vpn-instance中,将会变得很灵活。

@如果通过RD是否相同来解决,若相同就可以引入,但是这种方法不够灵活。

MPLS PE CE mpls pe ce定义_华为_02

7、私网路由传递的问题解决后,私网报文如果直接发送到公网,肯定不通,如何解决?
通过LSP隧道技术来解决。


8、当PE从网络侧收到一个报文,该用哪个实例的路由表执行转发呢?
PE上的MP-BGP协议为本地所有vpnv4路由分配一个本地唯一的私网标签,并和vpnv4路由一起传递出去;
当PE收到报文后,查看自己分配的私网标签,确定应该用哪个事例的路由表进行转发。


9、当确定了用哪个实例表进行转发,那么PE如何将实例中的BGP路由引入到IGP实例中或EBGP中呢?
@IGP实例:通过import-route,在IGP实例中直接将实例中的BGP路由引入。
instance BGP ipv4 import-route instance ipv4 IGP
@EBGP:不需要转换,自动传。

总结:一开始总感觉RT和私网标签是不是作用类似,经过思考和查证,得到以下结论。
	    @RT是在传递路由信息的时候用到,让对端PE可以根据规则选择接受的路由,形成路由表项;
	    @私网标签是在数据转发的时候用到,让PE能够确定用哪个实例的路由表进行转发,二者工作的体系结构不同。