路由选择协议

路由选择协议

BGP

BGP (边界网关协议,Border Gateway Protocol)是自治系统之间的路由选择协议。

边界网关协议(BGP)是运行于 TCP 上的一种自治系统的路由协议。BGP是唯一一个用来处理像因特网大小的网络的协议,也是唯一能够妥善处理好不相关路由域间的多路连接的协议。BGP 构建在 EGP 的经验之上。BGP 系统的主要功能是和其他的BGP系统交换网络可达信息。网络可达信息包括列出的自治系统(AS)的信息。这些信息有效地构造了AS互联的拓朴图并由此清除了路由环路,同时在 AS 级别上可实施策略决策。BGP是用来更新路由表的域间路由选择协议(也称为外部路由选择协议)。BGP所基于的路由选择方法称为路径向量路由选择。在这个协议中,分组必须经过的一些自治系统应当显式列出。路径向量路由选择没有距离向量路由选择的不稳定性,也没有环路问题。

简单理解

BGP为边界网关协议,常用于不同网络运行商之间进行路由信息交换,正因为如此那些处于网络运行商边界的路由才能得到相邻的运行商的路由信息,这样就可以实现传输跨越网络运营商的网络包。

由于涉及到不同运营商利益问题,BGP路由选择不仅仅基于距离,同时还考虑了权限问题。边界路由器有权限限制哪些路由器可以互换消息。由于边界路由器一般很少,所以相邻边界路由器及时交换整个路由表信息也不会对网络造成太大的负担,并且路由信息包含了详细的路径信息,这样就可以有效避免当某个路由器崩溃造成的收敛慢问题。

不同运行商之间直接相连的路由交换路由信息有2种方式:

  1. 转接。即相连的运行商把互联网的全部路由的信息全部交换,这样运行商A可以通过运行商B到达网络中的任何位置。
  2. 非转接, 两个运行商之间仅将与各自网络相关的路由信息告知对方。这样,只有双方之间的网络可以互相转发。其他运行商的包则必须也与他们进行交换路由信息,这样才能互发。

区别

BGP与RIP那种基于距离向量的路由协议是不一样的,在RIP中是寻找与目的之间的最短路由,并按照最短路由来转发包,RIP协议中路由器都是平等对待,每个路由器都可以与相邻的路由器之间进行交换。
但运行商之间的BGP则不能基于距离向量来更新路由和转发包,比如有的运营商很有钱,铺设了一道高速网线到欧洲那边,其他运行商没有这么好的条件铺设,那么如果采用基于RIP的协议,那么发往欧洲的包都会被路由器转发到这条线。这样不仅会造成网络堵塞和网络故障,而且由于无法判断是哪个外来运营商发来的,这样原运营商的利润必然受到的影响。
为了排除以上的麻烦,各运营商之间只有在特定的路由器会交换路由信息,运营商就可以只将自己的路由信息与那些交费的运行商进行交换,而未交费的运行商没有交换路由信息,这样路由表上没有相应的表项,所以他们就无法把网络包转发到这里。
可能有的人会说,有的运营商没有交钱从而不能交换路由信息,而我们的包的目标地址正好是要收费的运营商,这样我们不就访问不了吗?放心,这个运营商必然与其他运营商之间有联系,它可以通过其他运行商到达目标运营商。如果它不与其他运营商签订合同进行连接,那么它离倒闭就不远了。

基于距离向量的协议

RIP

  1. 仅和相邻路由器交换信息。如果两个路由器之间的通信不需要经过另一个路由器,那么这两个路由器就是相邻的。RIP协议规定,不相邻的路由器不交换信息。
  2. 路由器交换的信息是当前本路由器所知道的全部信息,即自己的路由表。也就是说,交换的信息是:“我到本自治系统中所有网络的(最短)距离,以及到每个网络应经过的下一跳路由器”。
  3. 按固定的时间间隔交换路由信息,例如,每隔30秒。然后,路由器根据收到的路由信息更新路由表。当网络拓扑发生变化时,路由器也及时向相邻路由器通告拓扑变化后的路由信息。

存在的问题

  1. 好消息传播的快,坏消息传播的慢。当网络中新添加一个路由器时,它的邻居路由器可以很快发现它,并通过和自己邻居交换信息的方式使所在的整个网络知道了这个新添加的路由器。但是如果一个路由器挂掉,它的邻居路由器发现无法通过原始的路径到达,就会尝试其他路径访问,直到试过了所有的路径或者超时,才确定目标路由器确实挂了。
  2. 路由器之间交换的信息为整个路由表,当所在网络规模很大时,势必会造成网络堵塞,影响正常的网络数据包传输。

OSPF

  • 向本自治系统中的所有路由器发送信息,这于RIP是一致的。
  • 发送的信息就是与本路由器相邻的所有路由器的链路状态,而不是整个路由表信息,有效的减缓了网络负担。
  • 只有当链路状态发生变化时(网络中新添或卸载某个路由器),路由器才向所有路由器用泛洪法发送此信息。而不像RIP那样,不管网络拓扑有无发生变化,路由器之间都要定期交换路由表的信息。

你可能感兴趣的:(计算机网络)