挑战408——一周网络——网络层(3)

路由选择协议

我们都知道,ip数据报是根据路由表进行转发的,那么路由表又是如何得出的呢?路由选择协议的核心是路由算法,理想的路由算法应当具有如下特点:

  1. 算法必须正确和完整
  2. 算法应该易于计算
  3. 算法要能适应通信量和网络拓扑的变化
  4. 算法应具有稳健性
  5. 算法是公开的
  6. 算法是最佳.即找出最为合适的路由。

从第三点来分,路由策略可以分为两大类,静态路由策略和动态路由策略

分层次的路由选择协议

互联网的规模非常大,且许多单位不愿意对外公开自己的网络拓扑以及路由协议,因此可以把整个互联网划分为较小的AS(自治系统,可以理解为类似于校园网),AS是在单一技术管理下的一组路由器。这样互联网就把路由选择协议分为两大类:
(1).内部网关协议:一个自治系统内部使用的路由选择协议,目前这类路由选择协议使用的最多。比如RIP协议,OSPF协议。
(2).外部网关协议:一个自治系统对外使用的路由选择协议,目前用的最多的路由选择协议为BGP-4.
其中,自治系统之间的路由选择称为域间路由选择,自治系统内部之间的路由选择称为域内路由选择。

内部网关协议RIP协议

RIP协议(路由信息协议),是一种分布式的距离向量的路由选择协议
RIP协议要求网络中每一个路由器都要维护从它自己到每一个目的网路的具体记录(因此这是一组距离,也就是向量)。距离的定义如下: 路由器直接相连的网络定义为1,每经过一个路由器(即一次间接交付),距离加1,允许一条路由器最多不超过15个路由器。因此距离也称为跳数,且RIP协议只适用于小型网络。
分布式路由协议需要不断跟一些其他路由器交换路由信息。RIP协议的特点如下:

  1. 仅仅和相邻路由器交换信息。
  2. 交换的信息是自己的路由表
  3. 按固定时间交换。(通常是30s)

这样,经过一段时间的路由表交换每个路由器都可以知道到达本AS的任意网络的最短距离以及下一跳地址。也就是RIP协议可以收敛(即AS所有的路由节点都得到正确的路由选择信息的过程),且速度较快。

距离向量算法

在讲这个算法之前,我个人的复习方法是,这个不适合直接上理论,拿习题来学更好:
在这里插入图片描述

在这里插入图片描述

  1. 将表b的距离都+1,将下一跳路由器这一列全改成发送方的路由标志R4,对比原有路由表,判断是否更新(这一步是为了便于进行本路由表的更新,从R4发来的路由表信息表明,<Net2,4,R2 >意思是R4经过路由器R2到达Net2的距离是4,那么自然R6经过R4到达Net2的距离为4+1 = 5,于是R6应该将第一条改成<Net2, 5,R4>。)
    在这里插入图片描述
  2. 第一行,原来的a表中没有这条路由信息,于是添加到a表中。
  3. 第二行。下一跳路由器相同,更新后为<Net2, 5,R4>,对比已存在的<Net2, 3,R4>,距离发生了改变,于是更新路由信息。
  4. 第三行,下一跳路由器不同(原表R5,现在的表为R4),于是比较距离,显然2<4.于是更新路由信息。

最终更新的路由表信息为:
在这里插入图片描述

优缺点

优点:

  • 实现简单,开销小

缺点:

  • 当网络出现故障的时候,需要较长时间将信息传送到所有路由器,也就是好消息传的快,坏消息传的慢
  • 使用的网络规模受限(跳数不能超过15)。
内部网关协议OSPF

OSPF协议(开放最短路径优先协议),是一种分布式的链路状态协议
OSPF协议采用Dijkstra的最短路径算法SPF。它是为了克服RIP协议的缺点所开发出来的。原理简单实现起来却很困难。对比之前的RIP协议,OSPF有以下几个特点:

  1. OSPF协议使用洪泛法向所有路由器发送信息。对于洪泛法,大可以这么理解,将拓扑图简化成一棵树,如下图:
    在这里插入图片描述
    洪泛法可以看成是,消息从A发出,发到B,C,然后B,C再继续向下发出,如此反复扩扩散。但是注意此时的扩散是不走回头路的。
  2. 发送的信息是与本路由器相邻的所有路由器的链路状态。所谓的链路状态就是路由器与哪些路由器相邻,以及该链路的花费(cost)。
  3. 只有在链路状态发生变化的时候,OSPF才会发送信息。

各路由器之间频繁的交换链路状态信息,因此所有的路由器最终能建立一个链路状态数据库,这个数据库实际就是全网拓扑接口图。
OSPF有5种分组类型:

  • hello分组:用来发现和维持邻站的可达性。
  • 数据库描述分组
  • 链路状态请求
  • 链路状态更新
  • 链路状态确认

OSPF规定没个10s,两个相邻的路由器就要交换一次问候分组,以确认哪些邻站是可达的。其他的四种是用来进行链路状态数据同步的。

外部网关协议BGP-4

内部网关协议的目的主要是设法使得数据再一个AS中尽可能有效的从源站点送到目的站,且在一个AS内部也不用考虑其他策略。但是对于外部网关协议却不一样,互联网的规模太大,使得各个AS之间路由选择相当困难,并且由于网络中各个AS之间的性能不一样,因此就算由最短路径算出来的距离并不一定是合适的。比如不要经过一些对本AS有害的一些AS,并且是不能“兜圈子”。因此,外部网关协议的主要目的是力求找到达到目的网络的比较好的路由,而这条路由不一样要是最佳的
BGP4采用的是路径向量路由选择协议,通常配置BGP协议的时候,每一个自治系统的管理员都要选择至少一个路由器作为本系统的发言人(即代表本AS,通常是边界路由器)。该“发言人”同时运行内部网关协议和外部网关协议
BGP-4 通常有4种报文:

  • open报文:用于与相邻的另外一个发言人建立联系,使得通信初始化。
  • update报文:用于通报某一路由的信息,以及要列出要撤销的多条路由
  • keepalive报文:用来周期性证实邻站的连通性
  • notification报文:用来发送检测到的错误

PS:这里ospf和bgp4协议只是作为大致的了解,并未做太深讨论,因为做了今年的试题,发现考试的考点并不多,仅作为了解….

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值