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