网络技术之BGP

本文详细介绍了BGP(边界网关协议)的工作原理、特点、配置及其在网络中的应用。内容涵盖BGP的AS号管理、TCP连接建立、邻居关系、路由选择策略、路由反射器、联邦与路由汇总、路由振荡处理、BGP的路由属性和过滤策略等方面。通过实例分析,阐述了BGP在不同场景下的配置技巧和优化措施,旨在帮助读者深入理解BGP在网络中的关键角色和操作实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



              BGP总结

http//bgp.potaroo.netbgp信息更新网站

EGP能适用于AS之间传递路由,就分为2种:EGP,BGPborder gateway protocol),分v1v2v3v4v4+

  bgp中对AS号的管辖非常严格,一个bgp上只能有一个进程,默认情况下bgpigp的同步功能关闭;默认情况下自动汇总也是关闭的,但不是所有的IOS都是默认关闭的,若不知道,则在配置时,先将其关掉(自动汇总可能会导致主类边界,路由黑洞)

   3个管理距离:外部(EBGP)=20,内部(IBGP=200local=200

 

  neighbor后,会向neighbor发送TCPSYN请求,若neighbor没有运行BGP就会回复TCPRST消息

  neighborBGP中的作用:

    【1】向neighbor地址3次握手,目的ipneighbor后的地址,目的端口:179BGP端口号),源端口:随机,源ipFIB出接口ip

    【2】允许neighbor对自己的TCP179端口进行访问

 

 BGPTCP的原因:

    考虑到TCP协议的优点:可靠(丢包低),安全(3次握手)稳定(慢)

 

 BGP的特点:

   【1】可靠性:利用TCP连接,有重传,确认和顺序等,有完整会话,可靠实现方法:ipv4中有:检测环路,使用过滤,检查下一跳,即使撤回对等体中不可达路由

   【2】稳定性:原因:范围太大,不好掌控

       最小宣告时间,路由衰减,软重置和路由刷新,不中断转发或优雅启动

   【3】安全性

   【4】可扩展性:对等会话数量和路由数量;路由反射和联邦是增强BGP网络的可扩展性的两个方法

   【5】灵活性:基于属性的策略

 

BGP的核心:

  bgp没有任何算法(没有数学理论依据),但BGP工作依靠的是其规矩

 

no bgp default ipv4-unicast后,不会主动进行3次握手

 

 若想改变TCP的连接模式或者单向连接(控制bgp建立方向)

   【1】可以过滤别人访问自己的179端口

   【2】在neighbortransport 后有connection连接方式(有主动建立和被动建立)

   【3】默认路由也可能导致单向连接(bgp中不允许默认路由向neighbor发送TCP3次握手),但只要不是0.0.0.0/0的缺省就可以(有了默认是不允许主动3次握手,但可以被动响应)

   【4】利用下面注意中的3中方法使其不能正常建立或者单向建立

注意

   【1FIB没有路由不知道向那个接口发包,也不能建立邻居关系,因此必须要有路由,不管以何种方式学到

   【2】为了增强稳定性,EBGP之间也可以用环回建邻,但是要注意TTL值要匹配,直连检测要通过,但是TTL值不影响建邻,但直连检测就影响建邻,打开ebgp的多跳,人为修改TTL值,neighbor X.X.X.X ebgp-multihop(直接回车,默认为255,且关闭直连检测);或者neighbor X.X.X.X disable-connected-check(关闭直连检测,不管TTL值),此命令之后,TTL值可能会变为255,可能为1;直连检测是判断发包的ip是否是自己的直连路由,不是就不发包,两端都要关闭

  【3】此时还是不能建邻,因为自己是以接口ip访问对方,但对方允许的是我的环回访问他,两个不对应,需要改neighbor对象或者改更新源,neighbor X.X.X.X update-source lo0(改变自己发向neighbor的源地址)

   

 

show tcp brief

clear tcp tcb +tcb会话名

 

使用BGP的环境:

  【1ISP:因为不能写缺省,需要明细BGP路由

  【2】有政治性任务:在特定区域需要临时Internet业务

  【3】公司希望控制自己数据包的出口

 

每个BGP会主要用到3个进程:

 show processes cpu查看运行的进程

  【1BGP I/O:主要记录输入输出,赴俄消息读取,对消息进行发送

  【2BGP routerBGP协议的主进行,主要进行邻接会话,更新路由表,发送路由uodate,铜鼓cli命令收集管理员的命令,执行相关功能

  【3BGP scanner(扫描):对BGP相关参数进行巡逻和监控,是3个中的一个周期性进程,每隔60s扫描一次,所以BGP路由慢,是主要原因

  【4BGP task(任务):有任务时才有

  【5BGP scheduler:有调度机制时会出现

  【6BGP eventevent消息

 

BGP3张表:

   peer(邻居):show ip bgp neighbor(最全的,但太多了),show ip bgp summary(摘要信息)

   databaseBGP table):show ip bgp

   路由表:show ip route bgp

  

 

AS内部建立BGP的前提是要存在路由,不管是静态还是动态学习

 

在建邻的两端,只要一端有update-source就可以建立TCP会话,但一般建议两端都写,可以存在备份,一端出问题,另一端还可以建立TCP会话

 

BGP建邻中,若neighbor两端的AS号一样时,TTL255,没有直连检测;若neighbor两端的AS号不一样时,TTL1,存在直连检测;因此存在IBGPEBGP,存在的原因还是安全性,同一个ASTTL可以大一点,可以不直连检测,不同ASTTL小可以保证安全,也要直连检测,但这种可靠性只是邻居建立,和路由的可靠性恰好相反(因为希望能通过更好的方式(IGP)进行路由通告)

 

BGP中,EBGP之间用直连建邻不需要改跳数和关闭直连检测;但用环回建立时要注意直连检测问题

 

关掉对等体命令:

      neighbor X.X.X.X shutdown

 

BGP的数据报文:

     opentype1version4my as;

hold time :180s   BGP identifier:bgp router-id; 选项:所支持的IGP协议栈;用于建立邻居关系

     keeplivetype4;维持邻居关系,keeplive time 60s

     updatetype2

     notification:通告消息,通知邻居出错,type3;错误代码,错误子代码

     route-reflesh message:路由刷新,不是所有厂商都有

 

 

注意:

  【1BGP中的openkeeplive消息相当于IGP中的helloopen用来发现和建立邻居,keeplive用来保持邻居关系

  【2一个update消息一次可以只通告一条路由,携带多个属性;一个update消息一次可以通告多条路由,但他们的属性必须相同;一个update消息可以同时撤销多条路由(在update包中带一个withdrawn字段)

  【3只有BGP头部的报文是keeplive,其中有markertypelength

 

 BGP的有限状态机:

   idle:在这个状态下路由器会查找路由表,看路由表中有没有我要建立邻接管理地址的路由,如果有的话就进行3次握手。如果没有的话会一直停在这个状态

   activeBGP过程试图与邻居建立一个TCP连接,主动一方

     【1】如果连接成功,BGP过程将connectionretyr计时器清0.完成初始化,给邻居发送open报文并转移到发送open消息状态,hoid time 4mins

   connect:该状态下BGP过程连接,被动方

 

以下才是真正BGP消息,之前都是TCP消息

   open sent :主动发的一方

   open confirm:被动发的一方

   establish

 

建立BGP邻居的条件:

    【1有路由

    【2EBGP之间注意直连检测

  open报文中:

    【3AS号必须正确

    【4version向下兼容,所以version不同不影响建邻

    【5hold time不管改没改,一直用双方协商小的那个,所以不影响建邻

   注意:在time修改时,双方协商,协商后选择小的那个keeplive不携带,协商后发现自己的keeplive time小于或等于hold time1/3就不变否则自动调为1/3,总之hold一定相同,keeplive不一定相同,且永远小于等于hold time1/3;当hold time0时,keeplive不再发送

    【6bgp router-id相同无法建立邻居关系

 

BGProuting table version可以判断路由震荡,每有一次变化加加1,若变化太快则可能出现出现问题(show ip bgp时能看到)

 

BGP time

  bgp scan-time +time5-60

  scan-time:扫描时间,默认60sscanner

可以管理入向和出向,入向管理,下一跳等;出向管理,有无新增路由需要发送出去,属性有无变化

 

  advertisement-interval

     neighbor X.X.X.X advertisement-interval+time

    通告间隔,只有达到最小的通告时间间隔后,才生成更新,EBGP30sIBGP5s

 

   BGP connectretry:重连接计时器,默认120s,第一次60s,第二次120s240480……,不能改,只能由研发修改

 

注意:在做BGP时,先将路由做好,确定179端口是否能互访,之后再配BGP

 

 

BGP的路由引入:

   network X.X.X.X mask X.X.X.X(必须和路由表中掩码相同)

  在传递路由时,传递给EBGP时,下一跳会改为本地(邻居neighbor中的地址),传递给IBGP时,下一跳不变,若想变就用next-hop-self,想去谁,将将谁的neighbor

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值