Border Gateway Protocol
用于 AS 之间的路由交换的标准化外部网关协议
报文格式
BGP报文格式是BGP协议中定义的,用于在BGP对等体之间交换路由信息
BGP定义了四种基本的报文类型:
- OPEN:用于打开与另一个BGP对等体的连接
- UPDATE:用于传递路由更新信息
- NOTIFICATION:当检测到错误时,用于通知对等体
- KEEPALIVE:用于验证连接的活跃状态
基本格式
- Marker:16字节,主要用于兼容性目的,用于检查BGP对等体的同步信息是否完整,以及用于BGP验证的计算。不使用验证时所有比特均为1
- Length:2字节,报文总长度
- Type:1字节,指示报文的类型,5个option(OPEN, UPDATE, NOTIFICATION, KEEPALIVE,REFRESH)
对于每种报文类型,其后的数据格式都是特定的
OPEN
- Version:BGP版本号
- My Autonomous System:发送者的 4-byte ASN
- Hold Time:建议的时间间隔,超过此时间未收到 KEEPALIVE 或 UPDATE 报文则认为连接失效
- BGP Identifier:发送者的 BGP router id
- Optional Parameters Length:可选参数的长度
- Optional Parameters:其他可选参数
Optional Parameter: Capability 这里的 4-octet AS number capability 是 BGPsec 的必要条件
UPDATE
- Withdrawn Routes Length:撤回的路由的长度
- Withdrawn Routes:被撤回的路由列表
- Total Path Attribute Length:路径属性的总长度
- Path Attributes:路径属性列表
- Attr. TYPE = Attr. Flags + Attr. Type Code
- Network Layer Reachability Information:可达的网络信息,含要更新的地址前缀列表
NOTIFICATION
- Error Code:错误代码 表示错误类型
- Error Subcode:错误子代码 表示错误细节编号
- Data:与错误相关的数据
KEEPALIVE
没有额外的数据字段
REFRESH
请求 BGP 路由发布者重新发布 UPDATE 报文
- AFI, SAFI:同 UPDATE 中的定义
- Res. :应为0
Reference
Show Comments