博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

OSPF Sham-Link配置示例

Posted on 2019-03-07 15:10  skytwen  阅读(2291)  评论(0编辑  收藏  举报

  在MPLS/VPN环境中,如果PE-CE之间使用OSPF交换路由信息,OSPF route将作为VPNv4 route(携带OSPF domain ID,OSPF Router ID,OSPF Route Type等BGP extended communities)通过MP-BGP在PE Routers之间传播。当PE Router收到VPNv4 Route时,若其所携带的Domain ID与OSPF process的Domain ID相一致,则作为OSPF inter-area Routes(type1, 2 and 3 LSA)或OSPF external Routes(type 5, 7 LSA)通告给CE Router;若Domain ID不一致,则作为OSPF external Routes通告给CE Router。 

  在如下拓扑示例中,若在CE之间建立一条直连链路(OSPF backdoor link),CE将优先选择通过该链路学到的路由信息,因为通过该链路学习到路由信息为OSPF intra-area routes,而PE通告给CE的则是inter-area routes。

  

  若我们期望将MPLS/VPN backbone作为主链路,则需要将经由MPLS/VPN backbone传播的OSPF routes作为intra-area routes通告给CE,且其metric要小于OSPF backdoor link。为此,我们需要在PE Routers之间建立一条intra-area链路,这条链路也就是所谓的OSPF Sham-link。

  对每个与对端PE建立sham link连接的VRF OSPF instance都需要有一个sham link endpoint address与之相关联。

Sham link endpoint address是一个位于VRF地址空间的/32 IPv4地址,该地址不能被OSPF通告,必须作为VPNv4地址由BGP通告。有关OSPF sham link的更多信息可以参见RFC 4577

  在Cisco IOS上使用area sham-link [cost]命令创建sham-link链路,下面是San Jose PE的配置示例片段。

!
hostname SanJose-PE
 !
ip vrf GalaxyTech
   rd 1:50
   route-target export 1:50
   route-target import 1:50
 !
router ospf 100 vrf GalaxyTech
   log-adjacency-changes
   area 0 sham-link 1.1.1.1 2.2.2.2
   redistribute bgp 1 subnets
   network 192.168.1.0 0.0.0.3 area 0
 !
router bgp 100
   no bgp default ipv4-unicast
   bgp log-neighbor-changes
   neighbor 194.22.15.3 remote-as 1
   neighbor 194.22.15.3 update-source Loopback0
   !
   address-family vpnv4
   neighbor 194.22.15.3 activate
   neighbor 194.22.15.3 next-hop-self
   neighbor 194.22.15.3 send-community extended
   exit-address-family
   !
   address-family ipv4 vrf GalaxyTech
   redistribute ospf 100 match internal external 1 external 2
   no auto-summary
   no synchronization
   network 1.1.1.1 mask 255.255.255.255
   exit-address-family
 !

  使用show ip ospf sham-links命令检查sham link链路状态:

  

  从上面的输出可以看到sham link链路已经建立且被视为demand circuit。通过show ip route vrf GalaxyTech命令查看San Jose PE的VRF table:

  

  可以看到经由MP-BGP传播的子网172.16.1.0/24已作为intra-area route被安装到VRF table中了。

  在将OSPF路由信息重分发到MP-BGP时,VPNv4路由所携带的MED为OSPF路由的度量值;当把VPNv4路由重分发到OSPF中时,VPNv4所携带的MED将被还原为OSPF路由的cost。在我们的示例中所有串行链路均为T1线路的速率(1.544Mbps),所以New York PE到New York CE的OSPF cost为108/1.544 = 64,New York CE与子网172.16.1.0/24相连的接口的OSPF cost为1,而子网172.16.1.0/24在New York PE中的度量值为65。因为sham link的默认cost为1,所以其路由度量值在San Jose PE上为66。

   再来看San Jose CE的路由表:

  

  可以看到子网172.16.1.0/24的next-hop已经指向了San Jose PE。

  最后来看下San Jose PE的OSPF database。

  

  从上面的输出可以看到San Jose PE通告了两条type 5 LSA。在MPLS/VPN环境中,PE Router同时扮演着OSPF ABR及ASBR的角色,当BGP路由(非OSPF VPNv4路由)重分发到OSPF中时,将成为OSPF external route。