「BGP」- 报文格式

  CREATED BY JENKINSBOT

概览格式

BGP 报文格式如图所示:

注:此图并不严谨:BGP Packet 的 Open、Update、Notification … 并非字段,而是不同类型的 BGP Packet 载荷;

Header: BGP Header

主要字段解释如下:

Marker:长度:16-Byte;用于标明 BGP 报文边界,所有 bit 均为“1”;

Length:长度:2-Byte;BGP 报文总长度(包括报文头在内),以 Byte 为单位。

Type:长度:1-Byte;BGP 报文的类型。
其取值从 1-5 来表示 5 种报文,分别表示 Open、Update、Notification、Keepalive、Route-refresh 报文;

Payload: BGP Packet

BGP 存在 5 种类型的报文,不同类型的报文拥有相同的头部(header)。

报文名称,作用,发送时刻:

Open:协商 BGP 对等体参数,建立对等体关系;
BGP TCP连接建立成功之后

Keepalive:标志对等体建立,维持BGP对等体关系
BGP路由器收到对端发送的Keepalive报文,将对等体状态置为已建立,同时后续定期发送keepalive报文用于保持连接

Update,发送 BGP 路由更新
当 BGP Peer 关系建立后,如果有路由需要发送或路由变化,则向对等体发送Update报文

Notification,报告错误信息,中止对等体关系;
当 BGP 在运行中发现错误时,发送 Notification 报文将错误通告给 BGP Peer;

Route-refresh,用于当本端改变路由策略后,要求 BGP Peer 重新发送路由信息。只有支持 Router Refresh 能力的 BGP 设备会发送和响应此报文
当路由策略发生变化时,触发请求对等体重新通告路由