BGP边界网关协议 之一

BGP边界网关协议 之一

IGP与EGP

IGP是运行于AS内部的路由协议,主要有: RIP, OSPF及ISIS。IGP着重于发现和计算路由。EGP是运行于AS之间的路由协议,现通常都是指BGP。BGP着重于控制路由的传播和选择最优的路由。

BGP全称Border Gateway Protocol,边界网关协议,是一种AS之间的动态路由协议,BGP采用TCP作为传输协议。

运行BGP路由协议的路由器叫作BGP Speaker,主要包括五种报文。

Open:该消息中包括了BGP的版本以及AS号等信息。

Keepalive:用来维护BGP邻居关系,能够周期性的交换该报文,进而达到判断对等体之间的存活。

Update:用来交互路由信息的报文,也包括撤销路由信息和可达路由信息的路由属性。

Notification:该报文用来检测BGP的差错。

Route-refresh:用来通知对等体自己支持路由刷新能力。

报文格式

BGP报文头

BGP边界网关协议 之一


其中Marker为16字节,固定值为1;Length为2字节,代表消息的总长度;Type为1字节,代表消息类型,即五种报文类型。

Open报文

BGP边界网关协议 之一


Version为1字节,代表BGP的版本号;

My AutonomousSystem为2字节,代表本地AS编号,此字段可以通过比较两端的AS编号来判断是EBGP连接还是IBGP连接;

Hold Time为2字节,如果Hold Time时间内未收到对端发来的Keepalive消息,则认为BGP连接中断;

BGP Identifier为4字节,用来识别BGP路由器。如果没有配置router id那么选择Loopback接口地址中最大的作为RouterID;如果也没有Loopback接口;就从物理接口中选择一个IP地址最大的作为Router ID。

KeepAlive报文

BGP边界网关协议 之一


KeepAlive报文用于检测对等体路由器间的运行状态以及链路。

BGP Speaker建立邻居后,会周期性地向对等体发送KeepAlive 报文,表明该连接是否还可保持。缺省情况下,发送KeepAlive 的时间间隔为 60 秒,Hold Time是180秒。每次从邻居处接收到KeepAlive 报文将重置Hold Time定时器,如果Hold Time定时器超时,就认为对等体Down掉。两边时间不同时,协商Hold Time,Hold Time选择小的。此时当Keepalive大于hold time/3,则为hold time/3;小于则不变。

Update报文

BGP边界网关协议 之一


Withdrawn RoutesLength 代表不可达路由长度;

Withdrawn Routes:(变长) 撤销路由。该字段包括一系列的IP地址前缀信息,以的格式来表示,比如<19,198.18.160.0>表示一个198.18.160.0 255.255.224.0的网络;

Path Attribute Length 代表 路由属性长度;

Path Attributes :(变长)路径属性。每个路径属性都是由三元组所组成:

Network LayerReachability Information :(变长) 网络可达信息,。格式与撤消路由字段一样;

一条UPDATE消息可以发布多条具有相同路由属性的可达路由,这些路由可共享一组路由属性。所有包含在一个给定的Update消息里的路由属性适用于该Update消息中的NLRI字段里的所有目的地(用IP前缀表示)。一条UPDATE消息可以撤销多条不可达路由。

Notification

BGP边界网关协议 之一


Route-Refresh报文

BGP边界网关协议 之一


华为文档解释:

BGP边界网关协议 之一



分享到:


相關文章: