OPTION A 需要跨域的VPN在ASBR(AS Boundary Router)间通过专用的接口管理自己的VPN路由,也称为VRF-to-VRF。在需要跨域的VPN数量比较少的情况,可以优先考虑使用。 原理 ASBR之间传递的是IPv4私网路由,通过建立VPN实例来隔离不同私网的路由。然后再将对方传来的IPv4私网路由引入到到MP-BGP中,转化成VPNv4传给PE。传输原理参照单域,两边RD和RT没有关联。 RR和PE接收VPNv4路由的过滤条件: - 本地存在VPN-instance,只有存在VPN-instance,才有接收VPNv4的必要;
- 收到的VPNv4路由的RT属性和本地VPN-instance设置的RT要匹配。
//关闭VPNv4过滤条件,建议在RR上配置该命令,方便RR进行VPNv4的传递。 //pe建议开启过滤条件,避免接收不需要的VPNv4路由,节省内存。 VPNv4路由引入到OSPF协议存在的问题 当VPNv4路由引入到OSPF协议中,形成的3类、5类、7类LSA,DN比特将会置1。PE在VPN-instance中收到DN比特置1的LSA,不进行路由计算。 解决思路: - 使引入的OSPF所形成的LSA的DN比特不要置1;
dn-bit-set disable //关闭DN比特置位功能 - PE在VPN-instance中收到DN比特置1的LSA,忽略DN比特,直接进行路由计算。
vpn-instance-capability simple //禁止路有环路检测,直接进行路由计算 //由于配置vpn-instance-capability simple命令后,OSPF进程不可以引入IBGP路由,需要配合命令import-route bgp permit-ibgp来使用。 dn-bit-check disable //关闭DN比特检测功能,直接进行路由计算 以上三种方法都可以解决路由无法计算的问题。当同时配置了多条命令,vpn-instance-capability simple优先。 OPTION A优点 由于ASBR之间不需要运行MPLS,也不需要为跨域进行特殊配置。 OPTION A缺点 - 由于ASBR管理所有VPN路由,为每个VPN创建VPN实例,导致ASBR上的VPN-IPv4路由数量过大。
- 由于ASBR间是普通的IP转发,要求为每个跨域的VPN使用不同的接口,从而提高了对PE设备的要求。
- 如果跨越多个自治域,中间域必须支持VPN业务,不仅配置量大,而且对中间域影响大。
路由传递过程: 1、PE将IPv4 VPN实例路由引入到BGP中,成为IPv4 VPN实例BGP路由。PE根据VPN实例所设置的RD,生成VPNv4路由,下一跳改为PE自己,并为VPNv4路由生成私网标签。 2、PE将VPNv4路由传递给VPNv4-IBGP邻居-本端ASBR,本端ASBR判断VPNv4路由所携带的RT值与自身VPN实例设置的RT匹配,于是接收并将VPNv4路由转化成IPv4 VPN实例BGP路由。 3、本端ASBR将IPv4 VPN实例BGP路由传递给IPv4-EBGP邻居-对端ASBR,并将下一跳改为本端ASBR自己。 4、对端ASBR将收到的IPv4 VPN实例BGP路由根据VPN实例所设置的RD,生成VPNv4路由,下一跳地址改为对端ASBR自己,并为VPNv4路由生成私网标签。 5、对端ASBR将VPNv4路由传递给VPNv4-IBGP邻居-对端PE。对端PE判断VPNv4路由的RT值与自身的VPN实例设置的RT匹配,于是接收并将VPNv4路由转化成IPv4 VPN实例BGP路由。 6、对端PE将IPv4 VPN实例BGP路由引入至对应的IGP协议进程中,下一跳改为对端PE自己。 数据转发过程: 1、PE收到来自CE的私网IP报文,目标地址为对端CE私网地址,查找对应的VPN实例转发表,查到下一跳为本端ASBR,并且TUNNELID为非0.然后查找标签转发表,打上由本端ASBR产生的VPNv4私网标签。 2、由于PE到本端ASBR不是本地链路可达,于是再查转发表。查到去往本端ASBR的路由下一跳为本端P设备,并且TUNNELID为非0。然后查找标签转发表,打上由本端P设备产生的LDP公网标签。 3、PE到本端P设备为本地链路可达,PE将公网标签报文从出标签对应的出接口发出。 4、本端P设备收到公网标签报文后,查找标签转发表,发现出标签3,是个隐式出标签,于是剥离公网标签。并将私网标签报文从隐式出标签所对应的出接口发出。 5、本端ASBR收到私网标签报文后,查找标签转发表,发现出标签为NULL,于是剥离私网标签,并查找私网标签所对应的VPN实例转发表,将IP报文转发至对端ASBR。 6、对端ASBR收到IP报文后,目标地址为对端CE私网地址,查找对应的VPN实例转发表,查到下一跳为对端PE,并且TUNNELID为非0。然后查找标签转发表,打上由对端PE产生的VPNv4私网标签。 7、由于对端ASBR到对端PE不是本地链路可达,于是再查转发表。查到去往对端PE的路由下一跳为对端P设备,并且TUNNELID为非0。然后查找标签转发表,打上由对端P设备产生的LDP公网标签。 8、对端ASBR到对端P设备为本地链路可达,对端ASBR将公网标签报文从公网标签对应的出接口发出。 9、对端P设备收到公网标签报文后,查找标签转发表,发现出标签为3,是个隐式出标签,于是剥离公网标签。并将私网标签报文从隐式出标签所对应的出接口发出。 10、对端PE收到私网标签报文后,查找标签转发表,发现出标签为NULL,于是剥离私网标签。并查询私网标签所对应的VPN实例转发表,将IP报文转发至对端私网中。
|