首页 » 技术资讯 » 原创视频 » 【干货|誉天易消愁说网络】华为RS实验漫载(二)—MPLS VPN问题解决方法

【干货|誉天易消愁说网络】华为RS实验漫载(二)—MPLS VPN问题解决方法

本地路由冲突解决方法:

 

如果是专用PE分工明确,每台PE连接一台CE,每个PE只保留自己VPN的路由,P只保留公网的路由,就不存在这个问题了,如下图所示。

RS MPLS VPN_1

但现在是一个PE连接多个CE,将多台PE设备的功能整合再一台PE上完成,那么需要在此台PE上区分不同VPN路由,我们能不能借鉴专用PE的方式来解决。在PE上划分不同的VRF(VPN路由路由转发实例),每个VRF可以看作虚拟的路由器,就像是一台专用的PE。每个虚拟路由器都有一张独立的路由表,只用于本VRF的路由协议,PE同时还维护一个公网的路由表,多个VRF实例相互分离独立。

RS MPLS VPN_2

具体的操作是在PE设备上使用命令ip vpn-instance XXX(“XXX”为VPN实例名称)创建VPN实例,并将相应的接口以及路由路由协议绑定该VPN实例。此后从该接口学习到的路由便放入该VPN实例路由表中,可以通过命令display ip routing-table vpn-instance xxx查看VPN实例的路由表。

 

远端路由区分解决方法:

解决远端路由区分就要在PE上使用特定的策略规则来协调各VRF和全局路由表之间的关系。PE需要分辨收到的路由是属于VPN的路由还是公网的路由,如果是VPN路由那又如何知道该放入那个VRF。能不能通过一个标记来标识不同的路由,PE可以根据这个标记来判断该路由放入那个VRF中。

BGP的扩展团体属性RT分为Export Target与Import Target,前者表示我发出的路由的标记,后者表示对那些标记感兴趣。并且RT的应用非常灵活,每个VRF的Export Target与Import Target都可以配置多个,只要有一个喜欢匹配就会被接受。例如:我对蓝色或橙色的路由都感兴趣,接收时是“或”操作,蓝色、橙色或者两个颜色都携带的路由都会被接受。这样可以实现非常灵活的VPN访问控制。

比如说实例1是公共实例,实例2和实例3是用户实例,现在要实现实例1和实例2、3互通,但实例2和实例3不能互通,如下图。实例1发出路由是蓝色,对蓝色、橙色、绿色路由都感兴趣,所以实例1会接受实例1、2、3的路由。实例2发出路由是橙色,对蓝色、橙色路由感兴趣,所以实例2会接受实例1和2的路由。实例3发出路由是绿色,对蓝色、绿色路由感兴趣,所以实例3会节后实例1和3的路由。这样就可以实现该需求。

RS MPLS VPN_3

具体实现操作是在VPN实例下使用命令vpn-target X import-extcommunity和vpn-target X:X export-extcommunity(“X”为比喻的颜色)来设置自己发出路由的标记以及自己喜好路由的标记。可以通过命令display ip vpn-instance verbose查看VPN实例详细信息。

 

路由传播解决方法:

标准的BGP只能处理IPv4路由,所以如果不同的VPN使用相同的IPv4地址前缀,在接收端就无法分辨不同VPN的路由。通过RT可以解决这个问题,但是有一定局限性。当PE收到不同VPN发过来的路由后,根据RT属性可以决定该路由放进那个VRF;当要撤销路由的时候RT是BGP的团体属性是不会携带的,那么就会导致所有VPN中相同的路由都被撤销掉。必须要有一个标记和IPv4地址绑定到一起来解决这个问题,通过在IPv4地址加上RD之后,就变成VPNv4地址族。

RD和RT结构相似,但是本质是不同的,RD是附加在IPv4地址前作为VNPv4地址的一部分。理论上可以为每个VRF配置一个RD,但要保证这个RD全球唯一,通常建议为每个VPN都配置相同的RD。VPNv4地址仅用于运营商网络内部,在PE发布路由是添加,对端PE接受路由后放在本地路由表中,CE不知道使用的是VPNv4地址。RD是在PE设备路由交换的过程中携带,RD并不会影响不同VRF之间的路由选择以及VPN的形成,这些事情是由RT决定的。

具体操作是在VPN实例下通过命令route-distinguisher X设置该VPN实例的RD值,可以通过命令display ip vpn-instance verbose查看VPN实例详细信息。

 

报文的转发解决方法:

数据转发时接收端PE的两个本地VRF中都有该路由,如何决定将该数据发给那个VRF相连的CE。如下图,有数据访问PE上的10.10.10.10,但是访问的数据流量是不携带RD和RT属性,PE要如何区分该数据要转发给VPN1还是VPN2呢。

RS MPLS VPN_4

所以需要有一个标记来区分它们,公网标签是由MPLS提供的,而且MPLS支持多层标签的嵌套,这个标记可以定义成MPLS标签的格式。路由是私网VPN的,LDP对其一无所知,分配VPN私网路由标签是由扩展的BGP来完成,标签的分配和路由的交换是同时进行的,通过BGP的update报文完成的。对端PE在访问该VPN私网路由时便会携带上我分给它的私网标签,此时我便可以区分该数据是发给那个VPN实例。可通过命令display mpls lsp查看MP-BGP为VPN路由分配的私网标签。


下一节,我们将对骨干网IGP及MPLS进行详细配置讲解。

誉天教育,专业从事华为ICT人才培训。主攻实战型ICT人才培养,作为各大高校和知名企业的传输钮,不仅为众多高校解决了大学生毕业即失业的问题,更为企业解决了用人难,用技术型人才更难的问题。誉天在技术方向的致力,一直是华为认可,学员认可的优质品牌!

本文由誉天数通讲师易老师整理,易老师熟练交换网络中的各项技术、路由协议和配置、网络访问的控制;曾为武汉出版社部署无线覆盖、宜昌林业局网络调试;有着丰富的网络调试及运维经验。实战经验十足,解常人不能解之忧,消常人不能消之愁!

更多