Marker(16bytes)Length(6bytes)Type(1byte)
Marker–信息包含信息接收端可预测值。
Length–包含协议头的信息长度。
Type–信息类型。信息可能是:Open、Update、Notification、Keepalive。
打开(Open)分组,用于与邻近的另一个BGP发言人建立联系
更新(Update)分组,用于发送某一路由的信息,以及列出多条要撤销的路由
保活(Keepalive)分组,用于确认打开分组和周期性地确认邻站关系
通知(Notification)分组,用于发送检测到的差错[2]
在传输协议连接建立之后,各端发送的第一个信息是OPEN信息。假如OPEN信息可以接收,会回到发送确认OPEN信息的KEEPALIVE信息。一旦OPEN信息获得确认,UPDATE、KEEPALIVE和NOTIFICATION信息进行相互交换。
报文结构
BGP的报文结构以下所示[1]
标记
长度
类型
报文数据(变长)
16字节2字节1字节
BGP的报文分为报文与报文数据两一部分,在其中,BGP报文数据依据不同的报文类型有所不同,报文头由以下3个字段构成:
(1)标记(Marker)字段。标记字段由16个字节构成。标记字段的值是一个通信双方(对等路由器)都可认可的字节串,双方都统一使用改制来标识一个合法的BGP报文的开始。一般 ,标记字段用于承重鉴别信息。针对通信双方,在任何情况下标记的值都务必保持一致。标记字段用于报文接收的同歩。因为BGP报文使用过TCP来简单化,而TCP协议是一个无结构的流(stream)传输协议。在TCP协议上部位高层提供数据流的结构识别,因而也没法为BGP标识两个报文之间的边界。因为传输协议不特定报文边界,因而,为了确保发送方和接收方的报文边界准确保持同歩,BGO规定在每一个报文的开头放置了一个双方已知的序列,接收方通过该序列来检测报文头的正确性。
(2)报文长度,16比特,制定了以字节为单位计算的报文总长度。最少的报文为19i节,最大允许报文长度为4096字节。
(3)报文类型,1字节,指出报文所属的类型。
报文类型
BGP的路由更新信息一BGP报文方式在路由器间交换,BGP为了完成其功能定义了4种报文类型。[1]
代码
类型
说明
1
OPEN
初始化对等路由器间的通信
2
UPDATE
更新:通知或撤销路由
3
NOTIFICATION
对有误BGP报文的通知
4
KEEPALIVE
检测与对等路由器的连通性
(1)打开(OPEN)报文
当两个BGP对等路由器之间建立以一个TCP连接之后,就各自发送一个打开报文,申明分别的自治系统号,并明确其他操作参数。
路由器接纳到来源于对等路由器的OPEN报文时,BGP将发送一个KEEPALIVE报文。在路由器之间交换选路信息以前,通信双方都务必发送一个OPEN报文,并接纳一个KEEPALIVE报文。KEEPALIVE报文可以作为对OPEN报文的确认。
(2)更新(UPDATE)报文
对等的BGP路由器之间建立了TCP连接,并成功接收到对OPEN报文的KEEPALIVE明确报文,对等路由器之间就可以使用路由更新消息报文来通知网络的可达性信息。通知的的內容可以是新的可达的目的网络,还可以是通知撤销原先的一些目的网络的可达性。
(3)保持激活(KEEPALIVE)报文
保持激活报文用于在两个BGP对等路由器之间按时测试网络连通性,并确认对等路由器的正常工作。因为TCP协议自身沒有提供自动的连接情况的通知机制,对等路由器之间订制交换KEEPALIVE报文可以使BGP实体能够检测TCP连接是不是工作正常。保持激活报文仅包含标准的BGP报文头(类型4),报文长度为19字节。
(4)通知(NOTIFICATION)报文
BGP在发现错误时(或一定要进行控制时),可以运用通知报文来通知对等路由器。一旦通知报文,路由器检测来检查来到出现的错误,BGP就会向对等路由器发送一个通知报文,然后关闭TCP连接终止通信
以上就是BGP的协议结构是什么?桂哥网络为您解答的介绍,
如果你还有其他问题,欢迎进行咨询探讨,希望桂哥网络桂哥网络的专业的解决方案,可以解决你目前遇到的问题。
TikTok千粉号购买平台:https://tiktokusername.com/
TOP