当前位置:文档之家› 11 BGP路由协议

11 BGP路由协议

DA000011 BGP路由协议 ISSUE2.0 错误!未找到引用源。错误!未找到引用源。BGP的报文和状态机边界网关协议

1.1 报文种类

BGP报文种类

●BGP报文有四种类型:

→Open:打招呼“你好,跟我交个朋友吧!”

→KeepAlive:我还活着呢,别不理我

→Update:有新闻......

→Notification:我不跟你玩了!

EGP 内部网关协议

BGP 控制路由划分边界

BGP 采用的TCP路由协议

Ospf 采用的是ipv4

Ospf 的端口号是89

BGP的端口号是179

运行两个层次之间的

IBGP LOOPBACK

EBGP 物理接口

BGP有4种类型的报文,分别为OPEN、UPDATE、NOTIFICATION和KEEPALIVE。

BGP对等体间通过发送OPEN报文来交换各自的版本、自治系统号、保持时间、BGP标识符等信息,进行协商。

UPDATE报文携带的是路由更新信息。其中包括撤销路由信息和可达路由信息及其路径属性。

当BGP检测到差错(连接中断、协商出错、报文差错等)时,发送NOTIFICATION 报文,关闭同对等体的连接。

KEEPALIVE报文在BGP对等体间周期地发送,以确保连接保持有效。

OPEN报文主要用于建立邻居(BGP对等体)关系,它是BGP路由器之间的初始握手消息,应该发生在任何通告消息之前。其他在收到OPEN消息之后,即以KEEPALIVE消息作为响应。一旦握手成功,则这些BGP邻居就可以进行UPDATE(更新)、KEEPALIVE(保持激活)以及NOTIFICATION (通知)等消息的交换操作。

DA000011 BGP路由协议 ISSUE2.0 错误!未找到引用源。错误!未找到引用源。

1.2 报文内容及格式

BGP报文头

BGP报文的格式是一样的,都是”报文头+报文体“的格式,下面

给出的是BGP报文头:

Marker(16 byte)

Length(2 byte)Type(1 byte)

BGP报文头的格式如图所示,每行的宽度为4个字节。

BGP 是发现控制路由协议

Marker 鉴权信息:16 字节,全1。这个标记的作用主要是用来检测BGP对等体之间的同步是否丢失,并对进来的BGP消息进行验证。

Length 消息的长度:2 字节,指示整个消息的长度,包括头标长度,最小的BGP消息长度是19字节(Keepalive报文),最大的长度是4096字节。

Type 消息的类型:1 字节,指示报文类型,如OPEN、UPDATE报文等。

1 :OPEN

2 :UPDATE

3 :NOTIFICATION

4 :KEEPALIVE

Open报文

Open报文是由报文头加如下结构构成的。

Vision

My Autonomous System

Hold Time

BGP Identifier

Optional Paramenters

Length

Optional Paramenters

Version :(1字节)发端BGP版本号

My Autonomous System :(2字节无符号整数)本地AS号

Hold Time :(2字节无符号整数)发端建议的保持时间 BGP Identifier :(4字节)发端的路由器标识符

Optional parameters Len :(1字节)可选的参数的长度

Optional Parameters :(变长)可选的参数

消息的开始部分包括BGP的版本号和发送方的自治系统编号。接下来是保持时间(HOLD TIME)字段,这是发送方提供建议的保持定时器的设定秒数。保持定时器规定了BGP邻居认为发送方信息有效的时间长度。再下一个字段是BGP标识(BGP ID),也就是BGP发送方的标识。该值是在BGP对等体之间进行握手操作的过程中确定的,并且在每个本地接口及每个BGP对等体之间是保持不变的。

DA000011 BGP路由协议 ISSUE2.0 错误!未找到引用源。错误!未找到引用源。

KeepAlive报文

KeepAlive报文只有报文头。

Marker(16 byte)

Length(2 byte)Type(1 byte)

KeepAlive 报文主要用于对等体路由器间的运行状态以及链路的可用性确认。KeepAlive 报文的组成只包括一个BGP数据报头。KeepAlive 消息在对等路由器间的交换频度以保证对方保持定时器不超时为限。

当一台路由器与其邻居建立BGP连接之后,将以Keepalive-interval设定的时间间隔周期性地向对等体发送Keepalive 报文,表明该连接是否还可保持。

缺省情况下,发送Keepalive 的时间间隔为 60 秒。

Update报文

Update报文由报文头加如下结构构成。

Unfeasible Routes Length

Withdrawn Routes

Path Attribute Length

Path Attribute

Network Layer Reachability Information

Unfeasible Routes Len :(2字节无符号整数)不可达路由长度

Withdrawn Routes :(变长)撤消路由

Path Attribute Len :(2字节无符号整数)路径属性长

Path Attributes :(变长)路径属性(以下详细说明)

Network Layer Reachability Information :(变长)网络可达信息(目标)

其中撤消路由和目标地址的表示方法为一 的二元组。length一个字节,指示地址前缀的长度。prefix为地址前缀,长度1至4字节。

UPDATE 报文是BGP系统中最重要的信息,用于在同伴之间交换路由信息,它最多由三部分构成:不可达路由(unreachable)、路径属性(path attributes)、网络可达性信息(NLRI,network layer reachability information)。

UPDATE 消息可以向BGP对等体通告一条路由,也可以撤消多条“行不通”的路由。不可达路由字段包括一个所撤消路由的IP地址前缀列表。路径属性字段是一个路径属性的列表,包括:属性类型、属性长度和属性值等。网络可达字段包括了BGP路由器所知道的且可到达的IP地址前缀列表。

一个UPDATE 消息一次只能通告一个路由,但它可以携带多个路径属性。

一个UPDATE 消息一次也可通告多条路由,但它的路径属性必须相同。

相关主题