设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 694|回复: 0
收起左侧

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

[复制链接]
发表于 2018-9-4 17:26:33 | 显示全部楼层 |阅读模式
本帖最后由 武汉誉天小吴 于 2018-9-5 10:29 编辑

本地路由冲突解决方法:

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



                               
登录/注册后可看大图


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



                               
登录/注册后可看大图


具体的操作是在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的路由。这样就可以实现该需求。



                               
登录/注册后可看大图


具体实现操作是在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呢。



                               
登录/注册后可看大图


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



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




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


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




想要了解更多相关资讯,关注“誉天恒越人才”微信公众号查看。



  誉天教育咨询QQ/微信1746063655 远程+面授




您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2024-4-27 01:11 , Processed in 0.054034 second(s), 8 queries , Redis On.  

  Powered by Discuz!

  © 2001-2024 HH010.COM

快速回复 返回顶部 返回列表