你的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:

触发重新发送路由给邻居

为了方便广大网络爱好学习者一起学(聚)习(众)交(搞)流(基),特开设思科干货交流群,里面已经上传大量学习资料,欢迎广大网络工程师进群学习!

扫描下方二维码   进群充点儿电吧~

球分享

球点赞

球在看

(0)

相关推荐