计算机网络学习--边界网关协议BGP(7)

外部网关协议:BGP(边界网关协议)

BGP:不同自制系统AS路由器之间交换路由信息的协议。

内部网关协议RIP或者OSPF,主要是让一个数据报在一个AS中尽可能的从源站传到目的站。但是外部网关协议BGP的使用环境却不一样。主要是由于以下两个原因:

(1)   因特网规模太大,使得AS之间路由选择非常困难。

(2)   AS之间路由的选择必须考虑有关策略。

由于上述情况,边界网关协议只能是力求寻找一条到达目的网络且比较好的路由,而并非要找到一条最佳路由。

BGP采用了路径向量路由选择协议,而不是距离向量路由选择协议或者是链路状态路由选择协议。

每一个自制系统AS的管理员都会选择一个至少一个路由器作为本AS的发言人,称为“BGP发言人”,一般把边界路由器选为“BGP发言人”,当然也可以不选边界路由器。

当BGP发言人需要其他AS的BGP发言人进行路由交换时,需要先建立TCP连接(端口号位179),然后通过此连接交换BGP报文以进行BGP会话,如新增了路由,撤销过时路由等。

需要注意的是:每个BGP发言人除了运行BGP协议外还要运行内部网关协议(RIP或者是OSPF)。



自制系统AS2的BGP发言人会通知主干网AS1发言人说:“到达网络N1,N2,N3,N4可经过AS2”,主干网在收到这个BGP报文后会向相邻的BGP发言人发出通知:“到达N1,N2,N3,N4网络可以经过(AS1,AS2)”。

从上面我们可以知道,BGP协议交换路由信息的节点数和自制系统的个数成正比,而不再是和网络的个数成正比。

BGP-4有四种报文类型:

(1)   OPEN报文:用来和相邻BGP发言人建立关系,使通信初始化。

(2)   UPDATE报文:用来通知某一路由的信息,以及列出要撤销的多条路由。

(3)   KEEPALIVE报文:用来周期性的证实相邻路由器的可达性。

(4)   NOTIFICATION报文:用来发送检测到的错误。

那么BGP报文的格式是什么样子的呢?下面看一看…


四种报文含有相同的报文首部,由19个字节组成。包含标记,长度和类型三个字段。

标记,占16个字节,用来鉴别BGP报文,如果不适用鉴别,则该字段置全‘1’。

长度,占2个字节,指出包括BGP首部在内的整个BGP报文的长度,最小为19个字节(即首部的长度)。

类型,占一个字节,取值范围为1-4。对应BGP的四种报文类型。

下面简单说说四种报文的组成。

(1)              OPEN报文:包含6个字段,版本号(占1个字节),本自制系统号(占2个字节,由ICANN分配的全球唯一的16位自制系统号),保持时间(占2个字节,以秒为单位),BGP标识符(占4个字节,通常指该BGP发言人的IP地址),可选参数长度(占1个字节),和可选参数。

(2)              UPDATE报文:包含5个字段,不可行路由长度(占2个字节,指出下一个字段的长度),撤销的路由(列出所有要撤销的路由),路径属性总长度(占2个字节,用于指出下一个字段的长度),路径属性(定义在这个报文中增加的路径的属性)和网络层可达性信息(定义发送该报文的网络,包括网络前缀的位数,IP地址前缀)。

(3)              KEEPALIVE报文:只包含通用首部的19个字节。

(4)              NOTIFICATION报文:包含3个字段,差错代码(占1个字节),差错子代码(占1个字节)和差错数据。

下面简单谈谈这四种报文怎么工作的。

假设有两个属于不同自制系统AS的BGP发言人需要交换路由信息,那么这里需要一个商谈的过程,因为对方BGP发言人可能由于路由器的负荷已经过重而不想再进行路由交换。首先一个BGP发言人发送一个OPEN报文给相邻的BGP发言人,如果相邻BGP发言人接受了,则会回送一个KEEPALIVE报文响应,这样两者的连接就建立了。

一旦连接建立,就需要维持这种连接关系,这就需要相互连接的BGP发言人要周期性的发送KEEPALIVE报文信号,以保证这种相邻关系是一致存在的。一般30秒发送一次。

如果要发送路由更新信息,那么就需要发送UPDATE报文,需要说明的是这个报文可以一次性撤销多个路由信息,单如果增加路由时,则每个报文只能增加一条路由信息。

到此为止,大概了解外部网关协议BGP(边界网关协议)的基本情况了吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值