【MPLS VPN】PE-CE之间OSPF网络的设计问题
(2013-02-14 13:21:11)
我们知道,在MPLS VPN的路由架构中,PE-CE之间通常会使用一个动态路由协议,可能是IGP或BGP,对于IGP而言,OSPF应该是一个使用得最为广泛的协议之一。当我们在PE-CE之间部署OSPF来交互VPN路由时。在本地PE上,将OSPF路由注入MP-BGP从而形成VPNv4路由,并传递给远端站点,远端站点的PE再将收到的VPN路由重发布到其本地的OSPF,从而传递给其本地的CE,而此时,重发布进来的OSPF已经变成了外部路由,路由的优先级也更低了,同时也丢失了OSPF网络设计的连续性。
MPLS VPN通过某种机制,保持了OSPF在MPLS VPN环境下部署的连续性。实际上,来自CE的OSPF内部路由(Type-1、Type-2、Type-3 LSA)在被重发布进MP-BGP变成vpnv4路由再被远端PE重发布进其本地的OSPF后,其实是以Type-3 LSA的形式注入到其本地OSPF的(当然还存在许多复杂的情况,这里说的是一般,一般情况),这样可以很好的保持OSPF的连续性。
1. OSPF VRF配置
routerospf 1 vrf ABC
network 10.1.12.2 0.0.0.0 area 0 redistributebgp ? routerbgp 2345
address-family ipv4 vrf ABC
redistributeospf 1 vrf ABC metric 10 match internal external 1 external 2
2. OSPF metric传递
在PE路由器上将OSPF内部和外部路由重发布进BGP的时候,PE路由将使用OSPF metric 来设置BGP MED。
3. 用于OSPF的BGP扩展community
要想让OSPF路由的特征能够穿越MPLS VPN骨干网络,需要额外定义一些BGP扩展community。
可以通过MP-BGP传递的OSPF特性包括:
? ? ? ? ?
路由类型 区域号
OSPF路由器ID 域ID
OSPF外部路由的度量值类型1或2
如下图:
如果OSPF路由类型为Type-1、Type-2、Type-3(且本地PE及远端PE OSPF进程号相同),则路由重发布进来后为LSA3。DomainID告诉远端PE路由器,通告的是否为一条外部OSPF路由。如果PE路由器所收到的路由的DomainID不能匹配特定VRF的OSPF进程ID的话,这条路由将会以一条OSPF外部路由也就是Type-5 LSA的形式通告,以提供对网络中不同OSPF进程之间重发布IP路由的支持。
如果DomainID能够匹配OSPF进程ID,该路由将以内部路由(Type-3 LSA)的形式通告。当然,如果两端PE的OSPF进程号相同,传递过来的路由又是内部路由,但是你又希望路由重发布到本地OSPF后以外部路由的形式注入,那么可以在PE路由器上修改DomainID。命令如下:
routerospf 1 vrf ABC domain-id ?