• 文章搜索:
  • IP技术专栏

        • 分享到...

        • 新浪微博
        • 腾讯微博
        • 推荐到豆瓣 豆瓣空间
        • 分享到搜狐微博 搜狐微博
        • 分享到QQ空间 QQ空间
        • 分享到腾讯朋友 腾讯朋友
        • 网易微博分享 网易微博
        • 添加到百度搜藏 百度搜藏
        • 转贴到开心网 开心网
        • 转发好友 告诉聊友
    • 推荐
    • 打印
    • 收藏

    ospf sham link浅析

    1.前言

    ospf sham link作为一种mpls vpn/ospf多实例组网方式,在运营商、电力网络中有一定的应用,下面我们介绍下ospf sham link的用途、实现原理、相关注意事项

    2.ospf sham link的典型组网应用

    如图是ospf sham link一个典型的应用组网

    Ø 设备 C、D作为MPLS VPN的PE建立bgp vpnv4邻居关系

    Ø B做为CE设备,A B C D之间运行多实例OSPF 1,

    Ø Back door link A与B之间存在back door link

    此时组网需求是A与B之间的流量需要优先走PE之间MPLS网络,当PE之间的链路故障后,流量走back door link

    大家都知道,对于PE设备来说 可通过ospf 和bgp vpnv4来学习到2个CE的路由,因ospf路由优先级高,则PE上都优选ospf路由,这样CE之间的流量不会优选MPLS网络进行转发,而ospf sham link正是用来满足这个组网需求。

    3.ospf sham link原理

    ospf sham link类似于virtual link:2台PE之间通过各自指定的loopback地址建立了虚拟的类型为p2p的ospf邻居(MPLS网络中PE上的ospf技术)

    对于CE设备来说

    而MPLS网络对与CE来说是透明,这样CE设备上的ospf拓扑可简化为:

    这样很容易通过调整链路的cost值来实现路由优选MPLS网络,如图A-C-D-B

    Cost 为3 而A-B后门链路cost为30

    对于PE设备来说(关键)

    上面我们介绍过对于传统mpls vpn网络来说 PE设备可通过ospf多实例和bgp vpnv4来学习到对端CE的私网路由,而此时会优选ospf路由,从而导致流量不会走mpls vpn网络转发

    sham link通过下面实现方式来屏蔽ospf路由:PEospf多实例路由计算完成后,过滤掉所有下一跳为sham linkospf路由,这样PE上学到对端CE的私网路由就是通过BGP了(通过cost值小优选sham link链路,避免PE直接从本端CE到对端CE,然后又过滤掉下一跳为sham linkospf路由,使得bgp vpnv4路由生效)。

    下面我们来看个例子,如图在B的ospf中network了5.5.5.5/32路由:

    C与D建立ospf sham link邻居:

    <PE-1>DIS OSPF sham-link

    OSPF Process 2 with Router ID 3.3.3.3

    Sham Link:

    Area NeighborId Source-IP Destination-IP State Cost

    0.0.0.0 4.4.4.4 3.3.3.3 4.4.4.4 P-2-P 1

    此时在A上我们查看5.5.5.5的路由,1类LSA中的subnet路由

    Display ospf lsdb router

    Type : Router

    LS ID : 192.168.0.1

    Adv Rtr : 192.168.0.1

    …….

    Link Count: 4

    …….

    Link ID: 5.5.5.5

    Data : 255.255.255.255

    Link Type: StubNet

    Metric : 0

    而此时C上也有整个ospf 1的LSDB,有到5.5.5.5的LSA,计算出下一跳为4.4.4.4(sham link链路)然后ospf会把下一跳为sham link的ospf路由过滤掉,又因在D上会把ospf引入到bgp中,则C通过bgp vpnv4学习到5.5.5.5的路由,此时路由属性为bgp路由:

    <PE-1>DIS IP routing-table vpn-instance 1 5.5.5.5

    Destination/Mask Proto Pre Cost NextHop Interface

    5.5.5.5/32 BGP 255 2 2.2.2.2 NULL0

    4.两个问题

    问题一:在上图sham-link中是否需要在PE上的ospf多实例中引入bgp

    如果就现网这个组网,显然是不需要的,sham-link组网中,CE设备通过ospf即可学习到所有的私网路由,不需要通过bgp vpnv4来传递ospf路由,如果网络中还存在其他的PE,则需要否则C D设备学不到别的PE下的私网路由

    问题二:为什么在sham link的配置中一再强调不能将sham linkloopback地址只能通过bgp发布 而不能通过ospf来发布

    以下图我们来作分析:


    正常情况下,C、D先通过bgp vpnv4来学习到2端建立sham link的loopback地址 4.4.4.4,3.3.3.3,则sham-link建立,后通过sham-link来过滤ospf路由,让bgp路由生效来实现sham-link功能

    如果在ospf中发布了3.3.3.3或4.4.4.4,则存在2种情况:

    1、如果sham link已经建立,此时ospf 计算时会过滤下一跳为sham link的路由,此时PE上还是优选bgp路由:以C为例它通过ospf计算到4.4.4.4 显然是优选sham link的下一跳(cost为1),然后ospf过滤这个路由,依然优选bgp的路由,此时路由达到稳定状态

    2、如果sham link还没UP起来,则C,D通过ospf学习到对端loopback路由,又ospf路由优先级高,则C D会优选ospf路由,bgp路由被抑制,则sham-link会一直UP不起来,A、B之间就优选后门链路

    5.后语

    Sham-link理解起来相对复杂,最重要的是要理解它是如何抑制ospf路由而让bgpv4路由生效,建议先做一个相关实验,然后在结合相关资料进行学习理解

    【发布时间:2012-11-20】