大型网络所发生的变化

 

首先我们来看一下面临的挑战:

 

这个拓扑就是我们大型网络中所面对的拓扑,一般我们会分为公司总部和分部。那么公司总部和分部之间,我们可以看到是远程传输的,可能利用的是专线,或者MPLS VPN这种情况。

 

这里针对大型网络的话,主要由几个特点:

 

  • 网络规模扩大。
  • 网络可靠性要求提高。
  • 网络异构化趋势加剧。

 

rip和ospf冲突吗 rip ospf区别_rip和ospf冲突吗

 

针对这三个特点,我们对于路由协议的要求肯定是不同的。

 

  • 首先,我们网络规模扩大,就意味着我的用户接入数多了,并且我的网段多了,网段多了也就意味着我们的路由信息更多了,我在这里的路由表也会进行相应的扩大。

 

  • 此时对于我的路由协议来说,我就要去承载更多的路有消息,并且计算路由的速度也必须要相对的较快一点。

 

  • 第二点,关于网络可靠性要求的提高。

 

  • 对于网络可靠性要求的提高,我们在拓扑里网络可靠性的提高,我们可以使用冗余。
  • 针对于做了冗余之后,我相对应的路径选择,我在这里必须有一个科学的路径选择,选择的路径一定是最优,最快的。
  • 另外,对于网络中,我们既然做了多跳冗余链路,如果我的某一个冗余链路断掉了,我肯定是要更快的从主链路切换到备份链路去,此时路由的收敛就要更快。

 

  • 第三点,网络异构化的趋势加剧,这种异构化主要结合在业务方面,以及设备上面。

 

  • 我们可以看到,公司总部的路由器,这个时候我们肯定需要它的性能是最强的,我可能会购买NE的设备,对于我分部公司的话,我可能只需要一个AR的低端系列的路由器就可以了。

 

  • 此时我们就要去考虑我们NE设备承载的路由信息和AR设备能够承载的路由信息肯定是不一样的。
  • 这个时候我的路由协议如果没有一个层次化的考虑和划分,此时会不会影响到我们AR末端区域中路由器,可能会由于承载的路由信息过多而导致我的CPU压力过大,内存存储不足等等。

 

另外一点就是针对业务上来说,对于业务上来说。对于公司由于大型网络,肯定所面临的业务也是不同的。

 

可能有一些是我们的服务器区域,而有一些仅仅是我们的办公区域,另外一些可能是IP电话等等。

这个时候针对不同的业务,我们也要划分为不同的层次,这是我们要考虑的点。

 

RIP

 

RIP在大型网络中部署面临的问题

 

对于RIP来说我们可以来看一下它所面临的问题:

 

rip和ospf冲突吗 rip ospf区别_rip和ospf冲突吗_02

 

RIP特性

带来的问题

逐跳收敛

收敛慢,故障恢复时间长

传闻路由更新机制

缺少对全局网络拓扑的了解

最多有效跳数为15

环型组网中,使远端路由不可达

以”跳数“为度量

存在选择次优路径的风险

 

RIP首先第一点,它的特性是逐跳收敛的。由于逐跳收敛给它带来的问题就是收敛慢,故障恢复时间长。

 

这里我们来看一下它到底是如何逐跳去收敛的:

 

此时RTA首先生成了一条路由到达N1,RTA就要把路由传递给RTE。同样的,RTE也要生成一个路由N2,也要把路由传递给RTA。

 

我们从从左到右的方向来讲解:

 

  • 首先RTA生成了这条路由N1,作为N1它的下一跳肯定是置为自己,所以下一跳是A,并且在这里我的hop,跳数在默认情况下,我从RTA到N1肯定是置0的,因为这是我的直连链路,然后到达RTB。
  • RTB收到了这条路由N1之后,它在这里是先去计算路由,然后再把路由传递过来,此时RTB收到这个路由发现下一跳应该是我的路由器A,然后我去计算路由,发现我到N1的跳数是要经过RTA才能到达N1,跳数就置为1,这是RTB计算出了这条路由,然后再将计算出的路由发送给RTD。
  • RTD收到也是一样的,先计算再发送,那么收到了N1的路由下一跳就变了,我的下一跳应该是RTB,跳数置为2,然后把我计算出的这条路由发送给RTE。
  • RTE再去计算。最后N1网段下一跳是RTD,跳数置为3,此时RTE就计算出了这条路由,可以看到它的整个过程。

 

逐跳指的是我在每一跳中我计算路由,并且把计算后的路由再去发送给下一跳,那么这个收敛的时间除了有传输的时间和计算路由的时间,所以它对故障恢复的时间要较长一点。

 

同样的,第二点,传闻路由更新的机制。

 

这里指的是我们在发送路由的过程中,我们每一次所收到的路由都要进行更改,我们可以看到每一个路由器都会更改下一跳和更改跳数,由于在每一跳都更改了我们的路由报文,所以这个时候并不是一个最初的路由信息。这就会导致一些问题。

 

比如:

某一个路由器在更改报文的时候,可能会出现一些错误,现在RTB学习到了错误的报文,然后把下一跳改为了C,此时针对RTB接收了之后,并不会知道这个报文是错误的,那么还会继续进行接收。

 

这里就是缺乏对全网拓扑的了解,有可能会导致环路的问题。

 

第三点,最多有效跳数为15。

 

这里由于我们知道在学习IA的时候已经知道,RIP有一个防环机制,在防环机制里面有非常重要的一点就是16跳不可达。

 

这里最多的有效跳数是15,所以在环型的组网当中就会使得远端的路由不可达。

 

最后一个,以跳数为度量,存在次优路由为风险。

 

这个也非常好理解,我们可以看到,现在在这个网络中,从RTA到达RTE,和从RTA到B->C->D->E这个链路,如果使用RIP来去度量,肯定我们下面是更优一点的链路,但是实际并不是一个更快速的链路

 

假如RTB和RTD之间的带宽是1M,但是对于RTB、C、D之间,它们的链路带宽是1G,此时我们可以看到,对于实际情况来说我们走上面的链路肯定是速度要更快,因为带宽要大得多。

 

RIP以跳数来度量去选择路由,不一定是最优的路由,会存在一个次优路径的风险。

 

解决RIP问题

 

这个时候我们怎么去解决RIP的问题呢?

 

表格中左边列出的是RIP的问题,右边是优化和解决的方式,但是我们知道,右边就是OSPF路由的特性了。

 

RIP的问题

优化或解决的方式

收敛慢,故障恢复时间长

“收到更新->计算路由->发送更新”改为“收到更新->发送更新->计算路由”

缺少对全局网络拓扑的了解

路由器基于拓扑信息,独立计算路由

最多有效跳数为15

不限定跳数

存在选择次优路径的风险

将链路带宽作为选路参考值

 

首先,对于收敛速度慢,故障恢复时间长这个问题,主要是逐跳传递的问题。

 

对于OSPF来说,直接收到更新后,然后就发送更新,等待全网的更新都统一了之后,我再去计算路由。

此时我收敛的时间,只是我收到更新和发送更新这一部分,即发送延迟的时间,就不会再有计算路由的延迟了。

 

第二点,缺少对全局网络拓扑的了解。

 

这时我发送路由的时候:

  • 首先第一点我的报文都是基于拓扑的,并且是独立计算路由的。
  • 第二点对于OSPF来说,我们传递路由称之为一手消息,我们可以看到收到更新之后就会直接发送,也就是说它对于我的路由信息是不做更改的,对于区域内来说路由信息并不做更。

 

我们所有的报文在区域内部所传递的都是一个不做更改的一手消息,这样的路由计算是更稳定更可靠的。

 

第三点,最多有效跳数为15跳。

 

OSPF就不限定跳数。

 

第四点,对于RIP来说,如果使用跳数存在次优路径的分析。

 

那么OSPF就是将链路带宽作为选路参考值,会更加科学的解决次优路径的问题。