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,如需转载请自行联系原作者

相关文章
|
运维 Devops Java
阿里巴巴DevOps实践指南(十三)| 测试提效
分布式测试为测试速度插上了翅膀,精准测试有效的识别出了测试的范围,增量覆盖率又为测试的不断完备提供了有利的指引,线上覆盖率帮助我们有效的进行应用瘦身。充分利用好这些技术手段进行测试提效,可以让持续交付的过程更加的顺畅
阿里巴巴DevOps实践指南(十三)| 测试提效
|
2月前
|
人工智能 JavaScript 安全
设计稿一键变代码,VTJ.PRO 让想象与实现再无距离。
VTJ.PRO联合MasterGo推出智能设计识别引擎,助力设计师高效生成Vue组件代码,打通设计与开发协作壁垒,提升团队效率。限时领取百万AI额度,开启智能开发新时代!
88 0
|
4月前
|
数据采集 Kubernetes 网络协议
MyEMS简介
MyEMS是一款领先的开源能源管理系统,基于云计算、物联网、大数据和人工智能技术构建,提供统一且功能强大的综合能源管理服务。系统由资深团队开发维护,支持多种协议(如Modbus TCP、BACnet/IP、MQTT)和多平台部署(如Docker、Kubernetes、各大云平台)。社区版功能全面,涵盖数据分析、设备管理、能耗监测等,适合各类用户需求。企业版则提供更多高级功能,如节能分析、远程控制和多协议支持。代码遵循MIT协议开源,支持品牌定制,适用于免费及商业应用场景。
245 2
|
4月前
|
人工智能 安全 搜索推荐
宜搭AIOA:AI+低代码重构OA生态,打通人财物事数据流,解锁办公效能新高度
AIOA协同办公解决方案基于钉钉+低代码+AI构建,以钉钉为底座,提供快速迭代的OA应用。方案内置三大主线应用(销售、采购、财务费用闭环),支持独立或关联使用,并预置高频OA场景如固定资产、车辆管理等,实现开箱即用。面对传统办公模式挑战,AIOA从单一到协同、人工到智能、人治到数治、分散到聚合全面升级。工作空间角色化、流程管理一体化、专属AI助理智能化,覆盖营销、采购、费控、资产管理等全生命周期,助力企业高效数字化转型。
332 8
|
6月前
|
人工智能 TensorFlow 算法框架/工具
《探索AI与鸿蒙融合的开源宝藏:这些框架你不能错过》
人工智能(AI)与鸿蒙系统的集成开发正引领技术创新潮流,为用户带来更智能、流畅的体验。华为HiAI作为鸿蒙AI生态的核心引擎,提供计算机视觉、语音识别等多领域支持,实现设备间协同共享;TensorFlow Lite for Microcontrollers专为资源受限的物联网设备优化,助力轻量级AI模型运行;MindSpore Lite适合移动和边缘设备,具备高效推理性能;OpenCV for HarmonyOS则在计算机视觉领域大放异彩,赋能图像处理和视频分析。这些开源框架各具优势,为开发者提供了强大工具,推动AI与鸿蒙生态繁荣发展。
232 13
|
测试技术
正交试验测试用例设计及工具推荐
在科研和生产实践中,人们往往要做许多次实验来进行某项研究。实验条件一般包括很多因素,当因素的值不同时,实验的结果也不一样。如果想把每个因素的每个值都要实验一遍,总实验数就等于各因素的值的个数的乘积,而这个数往往很大,超过了可接受的成本。 例如,假设某个实验由A,B,C,D四个因素,每个因素都有10个不同的取值,那么如果想把每个因素都考虑到,我们需要做 10*10*10*10=10000次实验。 为了减少实验数目,我们必须选出那些最有代表性的例子。于是,就要用到了正交表法(Orthogonal Array Testing Strategy)。
583 0
正交试验测试用例设计及工具推荐
WPF界面无法正常显示(资源引用,如转换器),但程序正常运行
WPF界面无法正常显示(资源引用,如转换器),但程序正常运行
WPF界面无法正常显示(资源引用,如转换器),但程序正常运行
|
Web App开发 数据安全/隐私保护 iOS开发
Mac 电脑如何安装Appium?
大家好,我是阿萨。 今天先暂停 Postman 一节课。 学习下Appium 安装教程。废话不多说。直接上干货。
714 0
Mac 电脑如何安装Appium?
|
Go API
用Golang写的定时发送图片及消息的小功能
因为疫情公司流调表每天都要填写,因此负责此事情的同事每天都要往微信群里面发流调的二维码,有时忙的时候还忘记发二维码因此我就想利用github的openwechat这个库去实现这个功能 涉及到的库有: "github.com/eatmoreapple/openwechat" "github.com/robfig/cron/v3" "github.com/skip2/go-qrcode" 心知天气的api
679 0