1.BGP的报文和状态
1.1. BGP报文
1.1.1. BGP报文结构
BGP所有的报文都是单播
![1b9c52d843e1f20201877d6f2ae97832.png](https://i-blog.csdnimg.cn/blog_migrate/f796058f035c5039a543ea3c331b1091.jpeg)
1.1.2. BGP报文类型
![c6e238890bd74813e262297ad30a852f.png](https://i-blog.csdnimg.cn/blog_migrate/5e3e519d455c70adbfab62cec9bdfe3b.jpeg)
BGP报文由BGP报文头和具体报文内容两部分组成
消息最长为4096字节,最短为19字节(只包含报文头)
BGP报文报头
![34d25138ea7d14fefdaf037b3ca7e8e7.png](https://i-blog.csdnimg.cn/blog_migrate/346cdd096ac020e071b847e3c7d9f4b1.jpeg)
BGP报文头包括三个部分,总长19字节
Marker(16字节):用于检查BGP对等体的同步信息是否完整,以及用于BGP验证的计算。不使用验证时所有比特均为1(十六进制则全“FF”)。
Length(2个字节):BGP消息总长度(包括报文头在内),以字节为单位。长度范围是19~4096
Type(1个字节):BGP消息的类型。Type有5个可选值,表示BGP报文头后面所接的5类报文(其中,前四种消息是在RFC4271中定义的,而Type5的消息则是在RFC2918中定义的)
![79437eaa4289c136ec11bc243dc70687.png](https://i-blog.csdnimg.cn/blog_migrate/be83b78efbd5081f66b568051134428c.jpeg)
![ed8fa274c95f262309a171201a05a5ff.png](https://i-blog.csdnimg.cn/blog_migrate/99ca2b8adc0f6fa631dd9121bbb8dcf3.jpeg)
Open报文
如果BGP报文头中的TYPE为1,则该报文为OPEN报文,OPEN报文用于建立BGP连接
![932f99af8a37f713cbaffd8695ae127a.png](https://i-blog.csdnimg.cn/blog_migrate/db9185eb684790503b83c4ad369dfb50.jpeg)
version:表示协议的版本号,现在BGP的版本号为4
My autonomous System:发送者自己的AS域号
Hold Time:用于协商BGP对等体间保持建立连接关系,发送Keeplive或Update等报文的时间间隔。BGP的状态机必须在收到对等体的Open报文后,对发送和接收的Open报文的Hold time时间作比较,选择较小的时间作为协商结果。Hold Time的值可为零(不发送Keeplive报文)或大于等于3,系统默认180
BGP Identifier:发送者的router id