BGP学习一:关于对等体建立和状态组改变
目录
一.BGP基本概念
(1).BGP即是协议也是分类
路由协议分类
那么我们可以发现,按照工作区域BGP是属于EGP,但按照工作机制,BGP好像不属于任何类型。那么我们可以了解到,BGP是一个全新的协议。
1.早期EGP
早期EGP在AS间动态传递路由信息(BGP可以看作是EGP的进化体)。哎,RIP也是传递路由信息,RIP是距离矢量路由信息。
BGP是路径矢量路由协议,不仅是协议,也是一个类型。
2.BGP满足不同需求
早期EGP只传递路由信息,产生次优路径问题。不同的网络有不同的需求,如视频要求时延低,传输文件要求带宽高,EGP不能满足根据不同需求筛选不同网络的需求。
BGP代替EGP,加入很多路径属性,如COST,优先级,掩码,路由来源信息。可以筛选出更能满足需求的路径。
3.BGP区域间传输的优势
(1)安全性——只传递路由信息
OSPF传递,会传递路由信息和拓扑信息,使其他区域网络学习到自己区域的内部网络,不安全
BGP只传递路由信息,其他区域不能学习到自己区域的内部网络,而且BGP因为路由属性多,还可以进行筛选,只传想传的。
(2)跨网段建立邻居
OSPF,ISIS建立邻居时,只能与直连网络建立,而且接口的IP地址/掩码必须属于同一网段
但BGP只要可以Ping通就能建立邻居。
4.BGP总结
(1)BGP封装在传输层,TCP协议中,只要能Ping通就能建立邻居
(2)BGP只传递路由信息,不暴露AS内拓扑
(3)触发式更新(根据路由变化更新),不是周期性更新
5.BGP的应用
(1)大企业内部互通
总部分支互联,专线或运营商
(2)运营商网络(大骨干区域)
二.BGP特点
1.BGP使用TCP三次握手(179端口)建立邻居关系,用自己随机端口向对方TCP179发起三次握手,触发式更新
2.BGP承载大量路由信息,百万级别,ISIS十万,OSPF万级别
3.有丰富的路由策略,路由属性多。
三.BGP对等体关系
BGP对等体类似于邻居关系。
(1).对等体类型
(2)建立Peer关系报文学习
1.Open报文
先BGP使能,TCP3次握手(双向),有两个邻接关系,选择Router ID大的保留
open报文用来协商参数。
(2)
2.BGP Update
与对等体建立无关,触发式更新,第一次建立会发,主要是更新BGPLSBD信息
Withdrawn routes(第2个) :不可达路由信息
path attribute(第4个):路由属性,TLV三元组构成
NLRL(最后一个):可达路由信息
3.TCP连接接口源地址
BGP通过TCP3次握手建立连接,自己随机端口向对方TCP179发起三次握手,触发式更新。
那么这个随机端口就是TCP连接接口源地址,一般会选择出接口的IP地址,那么问题来了
假设BGP建立场景是这样
R1向R3发起3次握手,各个物理链路都可以使用,当R2路由器故障时
可以看到,与R2连接的对端接口也down掉了
那么TCP无法正常建立连接。
我们就可以使用环回地址来发起TCP3次握手,这样比较稳定。
EBGP通过直连方式建立连接,AS单链路,环回口没那么重要。
四.BGP报文
1.BGP Header——BGP报文头部
只有3个参数
Marker:没那么重要,全为1
Length,Type:报文类型
2.BGP Packet——报文类型
我们上面已经提到了关于Open :维持对等体关系,keepalive :维持对等体关系,update.:与维持对等体关系无关。
(1) Open报文参数
version:BGP版本,已经更新到BGP 4,现在常用的是GBP 4+
MY Autonomous System用于区分是IGBP/EBGP
Hold Time可以看作是死亡时间,一般为180S,Keepalive用于维护邻接关系
BGP Identifier:要保证ROuter ID不冲突
(2).BGP Update
Withdrawn routes(第2个) :不可达路由信息
path attribute(第4个):路由属性,TLV三元组构成
NLRL(最后一个):可达路由信息
(3).Notification
:差错报文,终止对等体
(4)Keepalive
参数与BGP报文头部一样
Marker:没那么重要,全为1
Length,Type:报文类型
(5).Router—refresh
路由刷新,重新请求update报文
AFI:地址族标识,IPV4 Res,全为0 SAFI:子地址族
五.BGP状态组
(1)BGP不同状态
1.Idle
初始状态
2.connect
连接状态,正在进行TCP连接
3.Established
3次挥手成功,开始update报文,触发更新
(2)BGP状态组如何改变
connect有3种可能
1.成功TCP3次握手,进入opensent
2.对端没收到3次握手,重复TCP,进入active状态
3.对端拒绝TCP3次握手,回到Idle状态
actvie有两种状态
1.重新发送TCP,对端收到,顺利进入opensent
2.重新发送又没收到TCP握手,回到connect
其他的就只有两种可能,成功顺利进行下一阶段,被拒绝回到Idle状态
BGP状态组非常重要,要记住哦,也可以像我一样,自己画一下过程,很方便记忆
现在附上华为教材中的BGP状态机改变的图
原文地址:https://blog.csdn.net/m0_71203750/article/details/138747625
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!