BGP协议

389 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

图片.png 边界网关协议(BGP)是运行于 TCP 上的一种自治系统路由协议。 BGP 是唯一一个用来处理像因特网大小的网络的协议,也是唯一能够妥善处理好不相关路由域间的多路连接的协议。 BGP 构建在 EGP 的经验之上。

BGP 系统的主要功能是和其他的 BGP 系统交换网络可达信息。网络可达信息包括列出的自治系统(AS)的信息。这些信息有效地构造了 AS 互联的拓扑图并由此清除了路由环路,同时在 AS 级别上可实施策略决策。

图片.png

图片.png BGP对网络拓扑结构没有限制,其特点包括:

(1)实现自治系统间通信,传播网络的可达信息。

(2)多个BGP路由器之间的协调。

(3)BGP支持基于策略的选路(policy-base routing)。

(4)可靠的传输。BGP路由信息的传输采用了可靠地TCP协议。

(5)路径信息。在BGP通告目的网络的可达性信息时,处理指定目的网络的下一跳信息之外,通告中还包括了通路向量(path vector),即去往该目的网络时需要经过的AS的列表,使接受者能够了解去往目的网络的通路信息。

(6)增量更新。

BGP支持无类型编制(CIDR)及VLSM方式。通告的所有网络都以网络(1)前缀加子网掩码的方式表示。

(2)路由聚集。BGP允许发送方把路由信息聚集在一起,用一个条目来表示多个相关的目的网络,以节约网络带宽。

图片.png BGP还允许接收方对报文进行鉴别和认证,以验证发送方的身份。

图片.png BGP使用如下四种消息类型:

Open消息:Open消息是TCP连接建立后发送的第一个消息,用于建立BGP对等体之间的连接关系。

Keepalive消息:BGP会周期性地向对等体发出Keepalive消息,用来保持连接的有效性。

Update消息:Update消息用于在对等体之间交换路由信息。它既可以发布可达路由信息,也可以撤销不可达路由信息。

Notification消息:当BGP检测到错误状态时,就向对等体发出Notification消息,之后BGP连接会立即中断。