BGP邻居建立过程

BGP(Border Gateway Protocol)是一种用于自治系统(Autonomous System)之间的动态路由协议。BGP使用TCP作为其传输层协议(监听端口号为179)。

BGP对等体间通过以下5种报文进行交互,其中Keepalive报文为周期性发送,其余报文为触发式发送:

? Open报文:用于建立BGP对等体连接。
? Update报文:用于在对等体之间交换路由信息。
? Notification报文:用于中断BGP连接。
? Keepalive报文:用于保持BGP连接。
? Route-refresh报文:用于在改变路由策略后请求对等体重新发送路由信息。只有支持路由刷新(Route-refresh)能力的BGP设备会发送和响应此报文。

Open报文:

是TCP连接建立后发送的第一个报文,用于建立BGP邻居之间的连接关系。BGP邻居在接收到Open报文并协商成功后,将发送Keepalive报文确认并保持连接的有效性。确认后,BGP邻居间可以进行Update、Notification、Keepalive和Route-refresh报文的交换。

Keepalive报文:

BGP路由器会周期性的向邻居发出Keepalive报文,用来保持连接的有效性。

Update报文:

用于在BGP邻居之间交换路由信息。Update报文可以发布多条属性相同的可达路由信息,也可以撤销多条不可达路由信息。

Route-refresh报文:

Route-refresh用于在改变路由策略后请求对等体重新发送路由信息。

Notification报文:

当BGP路由器检测到错误状态时,就向邻居发出Notification报文,之后BGP连接会立即中断。