BGP 属性 NextHop

属性分类:

  公认必遵属性:          

    所有BGP设备均识别的属性,且必须存在于update报文中;
            如:
                AS_PATH、origin、next-hop

    傻瓜理解:

      设备支持BGP协议,那么就必须支持这个属性;

        公认任意属性:

            所有BGP设备均识别的属性,但不要求必须存在于update报文中;
            如:
                local_pref    

        可选过度属性

            BGP设备可不识别此属性,它仍接收此属性,在不识别此属性的情况,接收并传递给其他对等体;
            如:
                团地属性(community)

        可选非过度属性

            BGP设备可不识别此属性,它仍接收此属性,不识别情况下会忽略此属性,也不会传递给其它对等体:
            如:
                MED、originator_id、cluster_list

    这里的MED 属性其实就是我们常见的cost ,也就是开销;

NextHop 属性:

  是公认必遵属性的一种,在传递路由时,此属性必带;

  nexthop 属性是记录的路由下一跳信息,BGP与IGP有所不同,它的下一跳不一定是邻居的IP地址;

  属性规则:

    1、bgp speaker 在向ebgp 对等体发布路由时,会将路由的下一跳地址设置为本地与对端建立邻居关系的接口地址;

    2、bgp speaker 在向ibgp 对等体发布本地路由时,会将路由的下一跳地址设置为本地与对端建立邻居关系的接口地址;

    3、bgp speaker 在向ibgp 对等体发布从ebgp邻居学习来的路由时,不会对原路由的nexhop属性进行修改,直接发不出去;

    简单理解:

      1、从EBGP邻居学习来的路由,发送给EBGP 对等体,需要设置路由的nexthop属性为本地与ebgp 邻居建立关系的接口;

      2、从EBGP邻居学习来的路由,发布给IBGP 对等体,不修改nexthop属性,直接发送给IBGP对等体;

      3、从IBGP邻居学习来的路由,发送给EBGP对等体,需要设置路由的nexthop属性为本地与ebgp 邻居建立关系的接口;

      4、本地出发的路由(本地创建),发送给IBGP或EBGP邻居时,都需要设置路由的nexthop属性为本地与ebgp 邻居建立关系的接口;

      总结:

        除了从EBGP 对等体学习到路由发给给IBGP邻居不需要对nexthop 属性修改,其余发布路由的情况,均需改变nexthop 属性;

        修改nexthop 属性为本地与邻居建立BGP关系的接口(包括loopback 接口);

    对nexthop 属性的实验

     实验图

    

    说明

      1、相连的路由器建立邻居关系;

      2、每个路由器宣告回环地址出去;

      3、路由器5、6、7使用环回口建立IBGP 全互联邻居关系;

      4、其余路由器建立BGP邻居关系时使用路由器物理接口地址;

    功能验证

      1、路由器从EBGP 邻居学习来的路由,通告给EBGP邻居时,nexthop 属性设置为本地与EBGP邻居建立连接的接口地址;

        上图的R2学习到的1.1.1.1/32的路由,通告给R3 R4,R3R4 学习到的1.1.1.1/32 路由的nexthop 属性为23.1.1.2 与24.1.1.2;

        如:

[R3]dis bgp routing-table ipv4

 Total number of routes: 6

 BGP local router ID is 3.3.3.3
 Status codes: * - valid, > - best, d - dampened, h - history,
               s - suppressed, S - stale, i - internal, e - external
               a - additional-path
       Origin: i - IGP, e - EGP, ? - incomplete

     Network            NextHop         MED        LocPrf     PrefVal Path/Ogn

* >e 1.1.1.1/32         23.1.1.2                              0       200 100i
* >e 2.2.2.2/32         23.1.1.2        0                     0       200i
* >  3.3.3.3/32         127.0.0.1       0                     32768   i
* >e 5.5.5.5/32         35.1.1.5        0                     0       400i
* >e 6.6.6.6/32         35.1.1.5                              0       400i
* >e 7.7.7.7/32         35.1.1.5                              0       400i
[R4]dis bgp routing-table ipv4

 Total number of routes: 6

 BGP local router ID is 4.4.4.4
 Status codes: * - valid, > - best, d - dampened, h - history,
               s - suppressed, S - stale, i - internal, e - external
               a - additional-path
       Origin: i - IGP, e - EGP, ? - incomplete

     Network            NextHop         MED        LocPrf     PrefVal Path/Ogn

* >e 1.1.1.1/32         24.1.1.2                              0       200 100i
* >e 2.2.2.2/32         24.1.1.2        0                     0       200i
* >  4.4.4.4/32         127.0.0.1       0                     32768   i
* >e 5.5.5.5/32         45.1.1.5        0                     0       400i
* >e 6.6.6.6/32         45.1.1.5                              0       400i
* >e 7.7.7.7/32         45.1.1.5                              0       400i



      2、路由器从EBGP邻居学习来的路由,通告给IBGP邻居时,nexthop 属性 不做设置;

        上图的R5 学习R4的4.4.4.4/32 与R3 的 3.3.3.3/32 的路由通告给R6、R7 即是这种情况;

        那么查看R6 学习到的4.4.4.4/32与3.3.3.3/32 的nexthop 属性应该为45.1.1.4 与35.1.1.3;

    

<R5>dis bgp routing-table ipv4

 Total number of routes: 9

 BGP local router ID is 5.5.5.5
 Status codes: * - valid, > - best, d - dampened, h - history,
               s - suppressed, S - stale, i - internal, e - external
               a - additional-path
       Origin: i - IGP, e - EGP, ? - incomplete

     Network            NextHop         MED        LocPrf     PrefVal Path/Ogn

* >e 1.1.1.1/32         35.1.1.3                              0       300 200 100i
*  e                    45.1.1.4                              0       300 200 100i
* >e 2.2.2.2/32         35.1.1.3                              0       300 200i
*  e                    45.1.1.4                              0       300 200i
* >e 3.3.3.3/32         35.1.1.3        0                     0       300i
* >e 4.4.4.4/32         45.1.1.4        0                     0       300i
* >  5.5.5.5/32         127.0.0.1       0                     32768   i

      3、路由器从IBGP学习来的路由,通告给EBGP邻居时,nexthop 属性设置为本地与EBGP邻居建立连接的接口地址;

        上图的R5 学到的R6 与R7的路由(6.6.6.6/32、7.7.7.7/32),通告给R3、R4的时候,即满足这种情况;

        所以R3、R4学习到的路由的nexthop 属性应该为35.1.1.5 与45.1.1.5,查看R3、R4的路由:

[R3]dis bgp routing-table ipv4

 Total number of routes: 6

 BGP local router ID is 3.3.3.3
 Status codes: * - valid, > - best, d - dampened, h - history,
               s - suppressed, S - stale, i - internal, e - external
               a - additional-path
       Origin: i - IGP, e - EGP, ? - incomplete

     Network            NextHop         MED        LocPrf     PrefVal Path/Ogn

* >e 1.1.1.1/32         23.1.1.2                              0       200 100i
* >e 2.2.2.2/32         23.1.1.2        0                     0       200i
* >  3.3.3.3/32         127.0.0.1       0                     32768   i
* >e 5.5.5.5/32         35.1.1.5        0                     0       400i
* >e 6.6.6.6/32         35.1.1.5                              0       400i
* >e 7.7.7.7/32         35.1.1.5                              0       400i

 

      4、路由器本地直接通告的路由,通告到IBGP或EBGP邻居时,nexthop 属性设置为本地与EBGP邻居建立连接的接口地址;

        上图的R5 的5.5.5.5/32 是直接通告出去的,那么通告给EBGP邻居R3、R4 、IBGP邻居R6、R7的时候,应该都是用建立邻居关系的接口地址;

        即:R3 的nexthop 属性为35.1.1.5、R6的属性为5.5.5.5;

        查看路由的信息:

        

[R3]dis bgp routing-table ipv4

 Total number of routes: 6

 BGP local router ID is 3.3.3.3
 Status codes: * - valid, > - best, d - dampened, h - history,
               s - suppressed, S - stale, i - internal, e - external
               a - additional-path
       Origin: i - IGP, e - EGP, ? - incomplete

     Network            NextHop         MED        LocPrf     PrefVal Path/Ogn

* >e 1.1.1.1/32         23.1.1.2                              0       200 100i
* >e 2.2.2.2/32         23.1.1.2        0                     0       200i
* >  3.3.3.3/32         127.0.0.1       0                     32768   i
* >e 5.5.5.5/32         35.1.1.5        0                     0       400i
* >e 6.6.6.6/32         35.1.1.5                              0       400i
* >e 7.7.7.7/32         35.1.1.5                              0       400[R6]dis bgp routing-table ipv4

 Total number of routes: 7


[R6]dis bgp routing-table ipv4

 Total number of routes: 7

 BGP local router ID is 6.6.6.6
 Status codes: * - valid, > - best, d - dampened, h - history,
               s - suppressed, S - stale, i - internal, e - external
               a - additional-path
       Origin: i - IGP, e - EGP, ? - incomplete

     Network            NextHop         MED        LocPrf     PrefVal Path/Ogn

   i 1.1.1.1/32         35.1.1.3                   100        0       300 200 100i
   i 2.2.2.2/32         35.1.1.3                   100        0       300 200i
   i 3.3.3.3/32         35.1.1.3        0          100        0       300i
   i 4.4.4.4/32         45.1.1.4        0          100        0       300i
* >i 5.5.5.5/32         5.5.5.5         0          100        0       i
* >  6.6.6.6/32         127.0.0.1       0                     32768   i
* >i 7.7.7.7/32         7.7.7.7         0          100        0       i

  

 

posted @ 2024-07-31 11:08  橘子飞飞  阅读(68)  评论(0编辑  收藏  举报