你的BGP报文学习笔记(一)已抄送完毕,请查收!
01
BGP报文Header:
① Marker:16bit,用于检查BGP对等体的同步信息是否完整,以及用于BGP验证的计算。不使用验证时所有比特均为1(十六进制则全“FF”)
② Length:占2个字节,BGP消息总长度(包括报文头在内),以字节为单位。长度范围是19~4096
③ Type:1字节,表示BGP消息的类型
Ø Type 1:OPEN
Ø Type 2:UPDATE
Ø Type 3:NOTIFICATION
Ø Type4:KEEPALIVE
Ø Type5:REFRESH(RFC2918)
02
BGP报文分别为:
1)open报文
2) KeepAlive报文
3)update报文
4) notification报文
5)Route-refresh报文
03
open报文:
负责和对等体建立邻居关系。
① Version:版本,目前使用为v4
② My Autonomous System:本端AS号
③ Hold Time:KeepAlive老化时间,默认为180S
④ BGP Identifier:发送者的router id
⑤ Opt Param Len:表示Optional Parameter的长度。如果此值为0,表示没有可选参数
⑥ Optional Parameters:为BGP可选参数列表,使用TLV承载
Optional Parameters详解:
① Type:1Byte,当Type为2时,默认为2,表示携带的参数为协商能力
② Length:1Byte,为Parameter Value的长度。
③ Value:根据Type的不同值填写不同的参数内容,在Type为2表示协商能力时,Value
是表示所支持的各种协商能力的列表,列表中的每一个单元是一个TLV三元组
4字节的AS号-----My AS: 23456 仅仅起标识作用----实际的AS号看4字节的那个。
eg:1.0 = 65536
在邻居建立时,在Open报文中的Optional Parameters中表示自己当前支持的扩展性。
① AFI:地址协议簇
② SAFI:子地址协议簇
04
Update报文:
BGP为触发更新的路由传递机制,只发送增量路由或失效路由,使用Update报文在对等体之间传递增量路由信息。Update报文传递的路由信息分为可达路由信息和不可达路由信息,可达路由信息为对端更新的路由信息,不可达路由信息让对端删除路由信息。
每条路由都携带大量的路由属性,相同属性的路由在一个Update报文中,不同属性的路由使用多个Update报文分别发送。
① Path Attribute:路由属性信息
Ø 路由可达,使用Path Attribute
Ø 路由不可达,使用Withdrawn Routes
② NLRI:网络层可达信息,路由信息,包含网段信息和网络掩码
注:如果是MP BGP协议,则报文格式发生变化:
路由前缀放在Path-Attribut中,使用MP_REACK_NLRI来承载VPNv4路由前缀,其中还包含AFI和SAFI,Nex_HOP信息
05
Notification报文:
当BGP 对端检测到错误的时候,就发送该报文给对端,当对端接收到Notification后,会将TCP连接断掉。
错误主要包括:
① 消息头错误
② OPEN消息错误
③ Update消息错误
④ 指定对端AS号码错误
⑤ 保持时间超时
⑥ 状态机错误
⑦ 终止,例如管理员使用命令reset bgp all
06
KeepAlive报文:
只有一个头部,该消息在对等体之间周期性发送,用以维护连接。默认60S发送一次,Died时间为180S。
BGP speaker会在以下两种情况发送KeepAlive报文:
① 维护邻居关系,默认60S发送一次
② 回复对端发送Open报文,同意建立邻居关系
07
Route-refresh报文:
使用此报文通告对等体进行路由刷新。
(1)refresh bgp all import:
通告对端刷新对本地BGP收到的路由
(2)refresh bgp all export:
触发重新发送路由给邻居
为了方便广大网络爱好学习者一起学(聚)习(众)交(搞)流(基),特开设思科干货交流群,里面已经上传大量学习资料,欢迎广大网络工程师进群学习!
扫描下方二维码 进群充点儿电吧~
球分享
球点赞
球在看