BGP笔记

简介:

1:路径矢量协议


2:AS:单独技术管理域控制下的网络汇聚端;范围可大可小,相对而言;

   AS no.  1-65535,   私有64512-65535

   IGP协议运行在一个相同AS内部,保证该AS的内部连通性,并负责收集该AS内有哪些可达的路由信息;

   BGP运行在不同AS之间;


3:BGP选路是基于策略设置,而不是最优路径;BGP策略可基于AS-AS来设置,也可以基于hop-hop来设置;

 

4:协议基本属性:

   基于TCP:179端口运行;

   只进行增量触发更新;

   通过周期性的发送keepalive消息,来确保两个邻居之间TCP链路的有效性;

   丰富的路径属性;


5:BGP的表:

   邻居表:放置着BGP的邻居;所有的BGP邻居关系都是“单播、双向手工邻居”

   BGP表:包含通过每个邻居学习来的每条BGP网段信息;

          到达这些目标网段的所有路径;

          每条路径的路径属性;

   IP路由表:经过BGP策略选择之后的最优路径;


6:消息类型:所有的BGP消息包都是单播包;

   *OPEN:发现并建立邻居关系;包含hold-time和BGP的RID;

   *keepalive:周期性的发送,维护邻居关系;

   *Update:到达所以目标网段的所有路径,以及每条路径的BGP属性;

   *Notification:当设备运行BGP检测到错误产生时向所有邻居发送,发送之后

                  便将本地的BGP会话关闭;



8:BGP邻居关系:所有的BGP邻居关系建立都是双向手工配置,而且所有BGP邻居之间的消息包都是单播包。

(1)EBGP:在两个位于不同AS内的路由器之间建立的邻居关系叫 EBGP

        缺省:EBGP邻居要使用直连接口地址来建立邻居关系;原因是缺省EBGP邻居之间消息包的TTL=1;

(2)IBGP:在两个位于相同AS内的路由器之间建立的邻居关系叫 IBGP;

        一个BGP路由器不会把从某个IBGP邻居学习来的路由再转发给其他IBGP邻居;目的是为了防环;



9:BGP邻居状态:

    Idle:查找本地路由表中是否存在着到达邻居目标地址的路由条目;

    Connect:已经在本地路由表中查找到相应路由条目,并开始与邻居建立TCP连接,完成3次TCP握手;

    Open send:向该邻居发送Open消息,并开始等待来自邻居的回复确认;

    Open confirm:已经收到对方回复的确认消息,向下进入established状态;

    Active:未收到对方的确认消息将停留在active状态,并有可能在idle和active之间不断循环;





BGP基本配置:

(1)router bgp AS-no.   :自治系统号范围 1-65535,65536-4294967295;

                         该AS号码直接指定了当前路由器所在的AS;

                         也决定了该路由器与其他BGP路由器的邻居关系是EBGP还是IBGP;

                         缺省在一个单独时刻,只能在一个设备上边开启一个BGP进程;


(2)bgp双向手工邻居的配置:

     -router)#neighbor ip-address remote-as as-no

       *ip-address:是邻居路由器上某个可达的IP地址;

                    该ip-address直接指定了本地路由器发往这个bgp邻居,所有BGP消息包的目标IP;

                    而发往该邻居所有BGP消息包的源ip取决于带有该目标ip-address的消息包从本地哪个接口发出去;

                   *而建邻居双方需要满足这样的地址要求:确保本地指向邻居消息包的目标IP,作为邻居向本地回包

                    的源地址;

       *as-no. :邻居路由器所在AS号码;


     -router)#neighbor 2.2.2.2 remote-as 65123

     -router)#neighbor 2.2.2.2 update-source loopbace 0 -->指定本地某个接口(loopback0)的地址作为发往邻居2.2.2.2所有BGP消息包的源地址;


      -config)#router bgp 65300

      -router)#no synchronization

      -router)#bgp log-neighbor-changes

      -router)#neighbor 2.2.2.2 remote-as 65123

      -router)#neighbor 2.2.2.2 ebgp-multihop 5 --->将发往EBGP邻居2.2.2.2的BGP消息包的TTL改成5

      -router)#neighbor 2.2.2.2 update-source Loopback0

      -router)#no auto-summary

      


(4)BGP邻居验证:

     neighbor 2.2.2.2 password 123455   只支持MD5验证



(5)关闭与某个BGP邻居的会话,但并不移除本地有关该邻居的配置信息:

     router)#neighbor 2.2.2.2 shutdown

     router)#no neighbor 2.2.2.2 shutdown



(3)向BGP内宣告路由:

      -rotuer)#network 10.1.1.0 mask 255.255.255.0    

     *只要该路由存在于设备路由表中,就可以将其network进BGP,而无需考虑该条目之前是如何进入本地路由表中;

     *必须保证向BGP内宣告的网段和当前路由表相应条目保持一致;


     缺省,EBGP路由条目在向IBGP邻居宣告时,next-hop-ip保持不变;

      -router)#neighbor 1.1.1.1 next-hop-self --->向IBGP邻居1.1.1.1宣告本地学习到的EBGP路由时,将next-hop-ip指向本地路由器自己;



(6)常见show命令

   *show ip bgp summary -->查看当前简要的BGP邻居信息

   *show ip bgp neighbor  -->查看当前详细的BGP邻居信息

   *show ip bgp  -->查看本地BGP表

   *show ip route bgp  -->查看BGP路由表

   *show ip bgp rib-filure  -->查看当前BGP表中没有最终进入路由表的路由条目有哪些,以及没有进入路由表的原因



(7)清理BGP会话:使得本地针对邻居修改的BGP策略立即生效

   *硬清:#clear ip bgp *   ----->重置与本地所有BGP邻居的会话

           clear ip bgp 2.2.2.2  ---->只重置本地与邻居2.2.2.2的BGP会话

   *软清:#clear ip bgp * soft  ---->让当前本地针对所有邻居调整的BGP策略立即生效,并不会重置邻居关系;

           clear ip bgp 2.2.2.2 soft  ---->让当前本地针对邻居2.2.2.2调整的BGP策略立即生效,并不会重置邻居关系;



(8):同步规则:当开启bgp同步规则的时候,如果将一条路由信息仅宣告进BGP,而同时没有被宣告进相应的IGP协议,

              在设备本地发生BGP数据库和IGP数据库不同步的情况,那么BGP协议不会使用所学习到的不同步的路由条目,

              也不会把它转发给其他的BGP邻居;



(9):BGP对等体组(peer-group)

    减少多个邻居相同的BGP策略设置;先创建逻辑的对等体组,然后将之前赋予每个邻居的BGP策略赋予到peer-group,

    再将具体邻居加入到peer-group;而对等体组内的成员可单独再设置与其他组成员不同的BGP策略;

    neighbor kaka peer-group

    neighbor kaka remote-as 65123

    neighbor kaka update-source Loopback0

    neighbor kaka next-hop-self

    neighbor 1.1.1.1 peer-group kaka

    neighbor 2.2.2.2 peer-group kaka



(10):BGP选路

  *最高Weight值 (Cisco Only)

  *最高本地优先级

  *本地发起路由(next-hop 0.0.0.0)(network通告的路由优先、从IGP重分布的路由次优、手工汇总路由)

  *最短AS_PATH (跳过这一步:bgp bestpath as-path ignore)

  *比较源头码:IGP优于BGP

               EBGP优于IBGP

               不完整

  *最小MED(默认只比较第一个邻接AS相同的路由;比较不同邻接AS的MED用命令bgp always-compare-med)

  *EBGP优于IBGP(IBGP优于联盟EBGP,联盟EBGP优于联盟IBGP)

         负载均衡输入:maximum-paths 6

   注:负载均衡条件:

    1:邻接关系都是EBGP,且到下一跳IGP度量相等

    2:邻接关系都是IBGP,且到下一跳IGP度量相等(可通过unequal-cost ibgp multipath忽略这步)


  *(1)如果都是EBGP,选取最早学习到的路由;

   (2)如果都是IBGP,选取到下一跳具有最低IGP度量的路由

          *最小Router-ID的下一跳路由(RR环境)

          *最小IP地址的下一跳(建邻居时所指向的IP地址)

       



(11):bgp策略    neighbor 1.1.1.1 route-map kaka in/out -->将名字为kaka的route-map应用到从邻居1.1.1.1学习到(in)的bgp路由或发向(out)邻居1.1.1.1的bgp路由

  *修改weight影响选路结果:

    ! 

    access-list 53 permit 50.1.3.0 0.0.0.255

    !

    route-map wei permit 10

     match ip address 53

     set weight 100

    !         

    route-map wei permit 20

    !



  *修改local-Prf影响选路结果:

    ! 

    access-list 53 permit 50.1.3.0 0.0.0.255

    !

    route-map lpf permit 10

     match ip address 53

     set local-preference 200

    !

    route-map lpf permit 20

    !



  *修改AS-Pathx影响选路结果:针对EBGP邻居来修改

    !

    access-list 53 permit 50.1.3.0 0.0.0.255

    !

    route-map pth permit 10

     match ip address 53

     set as-path prepend 100 200 300

    !

    route-map pth permit 20

    !



   *修改MED影响选路结果:针对EBGP邻居来修改

    !

    access-list 53 permit 50.1.3.0 0.0.0.255

    !

    route-map med permit 10

     match ip address 53

     set metric 20000

    !

    route-map med permit 20

    !










本文转自Grodd51CTO博客,原文链接:http://blog.51cto.com/juispan/1950663,如需转载请自行联系原作者

相关文章
|
3月前
|
缓存 网络协议 安全
【网络工程师】<软考中级>解析协议ARP&路由协议RIP/OSPF/BGP
【1月更文挑战第27天】【网络工程师】<软考中级>解析协议ARP&路由协议RIP/OSPF/BGP
|
网络协议 算法 数据库
|
存储 网络协议 数据库
OSPF深度好文:OSPF 路由汇总
路由汇总是指设备将学习到的部分路由网段按照一定的规则聚合成单个路由的操作,一般来说,路由汇总可以大大减少设备路由表项和转发表项。一方面可以减轻设备的负担,另一方面也可以让设备保存更多不同地址的路由。
157 0
OSPF深度好文:OSPF 路由汇总
|
网络协议 网络架构
|
网络协议 数据库 网络架构
|
网络协议 网络架构
|
缓存 负载均衡 网络协议
|
网络协议 网络架构
|
网络协议