1 MPLS VPN的原理及构建( 三 )


4 MP-iBGP 协议
在基于MP-iBGP协议的MPLS VPN体系中,存在两个层面的路由,即域内路由和VPN路由 。所有的PE路由器及P路由器上要运行主干网的域内路由(OSPF或IS-IS等),生成的路由表将触发主干网中LSP的建立(拓扑驱动方式),通过CR-LDP或RSVP等信令协议建立LSP,产生的标签转发表用于VPN分组外层标签的交换 。PE路由器之间运行MP-iBGP协议,该协议跨越主干的P路由器在PE之间分发VPN标签,形成VPN路由,MP-iBGP发布的一条VPN路由包含的信息有:IPv4地址、路由区分符(RD)、路由目标(RT)、VPN标签和下一跳PE地址,其中RD用来消除IPv4地址的歧义,以重用IPv4地址;RT用来控制VRF的导入和导出策略,从而控制网络的连通和拓扑;下一跳PE地址是连接域内路由和VPN路由的纽带,在PE路由器上根据在VRF中得到的下一跳PE地址可以在全局路由表中查找到到达该地址应打上的外层标签 。
由于运行MP-iBGP协议的PE路由器之间必须构成全网状网的会话(因为运行iBGP的路由器不能转发收到的iBGP路由,这种机制用于避免路由环路),因此在大规模的网络应用中存在可扩展性的问题,解决的方法是采用路由反射器或路由域联合,路由反射器答应路由器转发收到的iBGP路由,以避免全网状的会话;采用路由域联合可以将路由域划分成多个区域,这样,只有区域内的路由器需要构成全网状的连接,减少了域内iBGP路由器的邻接数,当然采用路由域联合需考虑对跨域连接的规划 。
5 VPN路由转发实例(VRF)、路由区分符(RD)和路由目标(RT)的概念
5.1 VPN路由转发实例(VRF);
VPN IP路由表及相关的VPN IP转发表被统称为VPN路由和转发实例 。在极端的情况下,可以为连接到PE路由器上的每个站点都分配一个VRF来存放VPN路由,但连接在同一PE路由器上的站点假如满足以下三个条件则可以共享一个VRF:(1)各站点属于同一个VPN; (2)路由信息相同; (3)站点之间答应相互直接通信 。通常PE路由器上每个用户的端口与一个特定的VRF相关联,从该端口输入的VPN分组将根据各自对应的VRF查找其VPN标签和下一跳的出口PE路由器地址 。VRF隔离了不同的VPN 。
5.2 路由区分符(RD);
由于VPN数量巨大且不少原先的VPN用户不愿修改自身的IPv4地址,因此有必要答应不同的VPN客户使用相同的IPv4地址,对于不同VPN中相同的地址,采用RD可以实现IPv4地址的重用 。PE路由器通过MP-iBGP协议通告站点的路由时,将同时携带各路由的RD,即将IPv4地址转化为VPN-IPv4地址,PE路由器在收到MP-iBGP通告的路由后,将查看该路由的RD,然后将VPN-IPv4地址转化成IPv4地址,即将地址中的RD去掉,将其导入到相应的VRF中 。由于不同VPN被VRF隔离了,因此不同VPN中相同的IPv4地址,将被导入到不同的VRF中 。在同一个VPN中,地址必须是唯一的;当多个VPN之间需要相互通信时(例如有公共的站点),则要求地址必须在多个VPN中是唯一的,此时多个VPN只能使用同一个RD 。
5.3 路由目标(RT);
RT来控制VRF的导入和导出策略,以构成各种复杂的VPN拓扑 。一个VPN有可能不止使用一个RT,RT的具体使用与VPN的拓扑结构密切相关, 对于全网状相接的VPN可以用一个RT,对于非全网状相连的VPN,一个VPN往往需要多个RT 。当从PE导出VPN路由时,要用RT对VPN路由进行标记,在往VRF中导入路由时,可以使用多个RT,只要有一个VPN路由中附带的RT与导入路由中的任意RT相同,都将被导入到该VRF中 。


推荐阅读