华为数通HCIP-BGP基础

AS(自治系统/路由域)

定义:运行相同路由协议,具有相同管理规则的区域(一般为一个企业网);

指具有相同路由管理策略的区域合集,一般为一个园区网;
    标识:通过AS号进行标识;
       范围:0~65535
          其中 0~64511为公网AS,运营商网络使用,固定;
                  64512~65535为私网AS,企业网络使用,一般向运营商租用;
       **一台路由器只能加入一个AS;

按照传递路由时是否携带掩码分类:

1、有类路由协议

路由传递时,无需携带掩码,对端收到后,根据网段的类别,自动生成掩码;

2、无类路由协议(ospf、isis、BGP)

传递路由时,会携带掩码

使用IGP传递路由

使用BGP传递路由

AS之间专门使用BGPBorder Gateway Protocol,边界网关协议)协议进行路由传递,相较于传统的IGP协议:

BGP基于TCP,只要能够建立TCP连接即可建立BGP

只传递路由信息,不会暴露AS内的拓扑信息。

触发式更新,而不是进行周期性更新。

AS 之间需要直连链路,或通过 VPN 协议构造逻辑直连(例如 GRE Tunnel )进行邻居建立。
AS 之间可能是不同的机构、公司,相互之间无法完全信任,使用 IGP 可能存在暴露 AS 内部的网络信息的风险。
整个网络规模扩大,路由数量进一步增加,路由表规模变大,路由收敛变慢,设备性能消耗加大。

BGP在企业中的应用

BGP(边界网关协议)

作用:实现AS之间的互通,传递AS间的路由;

  特点:
   1、具有十三条选路原则,确保无次优;
   2、具有丰富的防环规则,确保网络无环;
   3、工作在TCP之上,每一份BGP报文被接收后,都需要进行TCP ACK确认;
   4、BGP报文均为单播发送,因此可以跨跳建立BGP邻居
        sip默认为物理接口ip;
        dip为peer的地址;
 

BGP使用TCP作为其传输层协议(端口号为179),使用触发式路由更新,而不是周期性路由更新。
BGP能够承载大批量的路由信息,能够支撑大规模网络。
BGP提供了丰富的路由策略,能够灵活的进行路由选路,并能指导对等体按策略发布路由。
BGP能够支撑MPLS/VPN的应用,传递客户VPN路由BGP提供了路由聚合和路由衰减功能用于防止路由振荡,通过这两项功能有效地提高了网络稳定性。


BGP特征

BGP使用TCP为传输层协议,TCP端口号179。路由器之间的BGP会话基于TCP连接而建立。
运行BGP的路由器被称为BGP发言者(BGP Speaker),或BGP路由器。
两个建立BGP会话的路由器互为对等体(Peer),BGP对等体之间交换BGP路由表。
BGP路由器只发送增量的BGP路由更新,或进行触发式更新(不会周期性更新)。
BGP能够承载大批量的路由前缀,可在大规模网络中应用。
 

BGP通常被称为路径矢量路由协议(Path-Vector Routing Protocol)。
每条BGP路由都携带多种路径属性(Path attribute),BGP可以通过这些路径属性控制路径选择,而不像IS-IS、OSPF只能通过Cost控制路径选择,因此在路径选择上,BGP具有丰富的可操作性,可以在不同场景下选择最合适的路径控制方式。

BGP工作过程


   1、建立TCP连接(三次握手)


          主动端:发送TCP SYN(seq=a),用于请求主动端到被动端的连接
          被动端:发送TCP SYN+ACK(ack=a+1,seq=b),用于确认建立主动端到被动端的连接,以及请求被动端到主动端的连接建立;
          主动端:发送TCP ACK(Seq=a+1,ack=b+1),用于确认被动端到主动端的连接建立;

          主动端如何确定:
      (1)如果使用loopback接口建立BGP邻居,则指定了更新源地址的一端为主动端;
      (2)先启动BGP的一端为主动端;
      (3)router id大的一端为主动端;

    TCP连接建立完成后,BGP报文可以开始交互;

   2、建立BGP邻居(对等体);

建立方式:通过物理接口建立; 
                   通过loopback接口建立;

默认为物理接口ip;

在进行TCP连接时,会进行更新源检查:会检查收到的TCP报文的sip跟自身PEER的地址是否一致,一致则通过,不一致则不通过,无法建立TCP连接;

如果在通过loopback接口建立BGP邻居时,只有一边修改了更新源,则需要修改了更新源的一端作为主动端,可以建立BGP邻居;

BGP邻居分类:
   1、IBGP邻居
        定义:邻居双方处于同一AS;
        一般使用loopback接口建立(一个AS内一般存在多条冗余路径,通过loopback接口建立,可以提高邻居的可靠性);

(1)通过物理接口建立
               bgp 100                                           //进入自身的BGP AS进程;
                peer 10.1.23.3 as-number 100        //peer对端的物理接口,指定对方的AS号;

      (2)通过loopback接口建立
              bgp 100
               peer 2.2.2.2 as-number 100                             //peer对端的loopback接口

                peer 2.2.2.2 connect-interface LoopBack 0      //将自身跟2.2.2.2建立BGP邻居时的更新源修改为自身的loopback 0接口;

              注意事项:1、需要确保peer的地址可达;
                               2、需要修改更新源;
                               3、无需修改多跳(默认建立ibgp邻居时,报文发送的TTL值默认为255)

2、EBGP邻居
        定义:邻居双方处于不同AS;
        一般使用物理接口建立;(一般AS之间的距离较远,处于成本考虑,一般只部署单一链路,使用物理接口配置更方便)

(1)通过物理接口建立
              bgp 100
                peer 10.1.34.4 as-number 65535 

(2)通过loopback接口建立
             bgp 100
                peer 4.4.4.4 as-number 65535 
                peer 4.4.4.4 connect-interface LoopBack 0      //将自身跟4.4.4.4建立BGP邻居时的更新源修改为自身的loopback 0接口;

               peer 4.4.4.4 ebgp-max-hop 2                          //指定跟4.4.4.4建立邻居时,最大跳数为2,发送的报文TTL值修改为2;

 注意事项:1、需要确保peer的地址可达;
                              2、修改更新源;
                              3、修改最大跳数;(默认建立ebgp邻居时,报文发送的TTL值默认为1)

   display bgp peer        //查看BGP邻居


   3、产生、传递BGP路由;

BGP路由的产生方式

1、宣告-network
       前提:需要路由表中存在一摸一样的路由,才能宣告成功;
       注意:宣告可以调用路由策略去修改属性;
       特点:起源属性为i

配置
         BGP   65535
           network 40.1.1.1 32

   2、引入-import
        将其他协议的路由引入到BGP,传递给BGP邻居;
        特点:起源属性为?
       配置
         BGP   65535
           import-route direct

 BGP报文

    结构:BGP——TCP——ip——以太网2;
    发送方式:单播发送;
    分类:
     1、open报文
          作用:用于建立BGP邻居;
          协商内容:
           (1)版本:默认为v4,向下兼容;
           (2)my as:携带发送者的AS号,对方收到后,会对比该字段与自身peer该邻居指定的AS号是否一致,一致则协商通过;
           (3)hold time:指keepalive报文的超时时间,如果两端不一致,则以小的为准;
           (4)router id不能冲突;
           (5)可选字段
                a、多协议扩展能力
                     代表该open报文请求建立的邻居关系;
                     AFI代表建立哪种协议的邻居:IPV4  \  IPV6  \  VPNV4  \  VPNV6.....
                     SAFI代表建立方式:单播/组播

                b、路由刷新能力
                     默认支持

                c、四字节AS号支持能力
                     如果一边是2字节,一边为4字节,则2字节会填充23456与4字节那一端建立BGP邻居

     2、keepalive报文
             作用:用于对open报文进行确认;
                       周期发送维护BGP邻居(默认60s/次,超时为180s)
           bgp 100
             peer 4.4.4.4 timer keepalive 30 hold 90  //修改keepalive周期为30s,超时时间为90s,其中超时时间修改为0,代表邻居永不老化;

    
     3、notification报文
             当双方参数协商不通过时,会发送notification报文,并且进行四次挥手,拆除TCP连接;


  BGP状态机


   1、idle(初始状态)
          设备刚运行BGP,没有收到start事件(没有peer地址/peer的地址不可达);
   2、connect(等待连接状态)
          当设备收到start事件后,会发送TCP连接请求,并且进入该状态;
          如果发送的TCP连接请求,32s内没有收到回应(链路问题、认证不通过),则进入active(重连接)状态,再次发送TCP连接请求,再回到connect状态,如果32s内仍然无法收到回应,则停留在connect状态,直至配置发生改变;

   3、active状态(重连接状态)
          如果发送的TCP连接请求,收到TCP RST回应(拒绝连接)(更新源检测不通过),则进入active状态,并且重新发送TCP连接请求,如果还是收到TCP RST回应则停留在active状态,并且每32s发送一次TCP连接请求;

  4、opensent
          如果TCP连接没有问题,则会在TCP连接建立完成后,由主动端发送open报文,请求BGP邻居的建立,并且进入该状态;

  5、openconfirm
          收到open报文后,协商参数没有问题,则回应keepalive报文进行确认,并且进入该状态;

  6、established
          收到对方的keepalive报文后,进入该状态;
          双方均进入该状态时,代表邻居建立完成;

  注意:bgp路由传递过程中,状态不会改变;
 

猜你喜欢

转载自blog.csdn.net/qq_45179904/article/details/131890653