BGP消息格式及错误代码
BGPBGP 消息格式及错误代码消息格式及错误代码 一,BGP 包头格式: 当TCP目的端口号为 179 时, 说明下个包头是 BGP包。 下面是BGP 包的包头格式。 Maker(16 字节)-------全为 1,否者,标记的值要使用认证机制来计 算(认证机制是通过认证信息的一部分来指定的)。标记可以用来探测BGP 对端的同步丢失, 认证进入的 BGP 消息。 Length(2 字节)-------BGP 包全长,长度的值必须最少 19 字节最大 4096 字节。 Type(1 字节)--- 1 - OPEN 2 - UPDATE 3 - NOTIFICATION 4 – KEEPALIVE 二、OPEN 消息格式: z Version(1 字节)-----当前的 BGP 版本号为 4 My Autonomous System(2 字节)----发送者自制系统号 Hold Time(2 字节)----BGP hold time 为 180 秒。 BGP Identifier(4)----发送者的 BGP router-ID. Optional Parameters Length(可选参数长度)(1 字节):如果这个 域是 0,说明没有可选参数。 Optional Parameters(可选参数): 三、UPDATE 报文格式 Unfeasible Routes Length(不可用路由长度)----2 字节,指示了撤 销路由的字节总长度。0 说明没有撤销路由, UPDATE 消息内部没有撤销路 由。 Withdrawn Routes (撤销路由)----如果没有撤销路由则无此字段, 如果有撤销路由,此字段列出所撤销的路由条目。 Total Path Attribute Length(总的路径属性长度)----2 字节,0 代表在 UPDATE 消息中没有网络层可达信息域。 Path Attributes(路径属性): 在每一个 UPDATE 消息中有可能有多个路径属性对。每一个路径属性对包括 Attribute Flags 、Attribute type code 、Attribute Data Length 三个字段。 Attribute Flags 、Attribute type code 各占位 1 个字节。 1.Attribute Flags 的八位分别表示: 第一高位 第二高位 第三高位 代表意义 可选比特 转发比特 部分比特 若为 0 公认属性 非转发属性 若为 1 可选属性 转发属性 包括在可选转发属包括在可选转发属 性内的信息是部分性内的信息是完整 的的 属性长度为 1 字节属性长度为 2 字节 没有被使用,置零 第四高位 后四位 扩展长度比特 没有定义 2. Attribute type code:指明是什么属性。其中: 1: ORIGIN 2:AS_PATH 3:NEXT_HOP 4:MULTI_EXIT_DISC 5:LOCAL_PREF 6:ATOMIC_AGGREGATE 7: AGGREGATOR 3.如果果属性标志字节的扩展长度比特被设置为 0,路径属性的第三个字 节包含了属性数据的字节长度。 如果属性标志字节的扩展长度比特设置为 1,那末路径属性的第三和第四 个字节包含了属性数据的字节长度。 Network Layer Reachability Ination(网络层可达信息): 四、keepalive 报文只包含 BGP 包头 19 字节 五、NOTIFICATION 报文格式: 错误码如下: 错误子码如下: