网络通信 频道

中小企业网络管理:思科动态路由分析

路由环路的解决方法

  解决的方法主要有以下几种:

  Split Horizon:水平分割

中小企业网络管理:思科动态路由分析
 

  水平分割,它规定由1个接口发送出去的路由信息不能再发回这个接口,这个办法减少了路由信息的不正确性和负载。我们来分析一下,10.10.40.0这个网络的路由信息都是通过Router3的S0口发出去的,就规定不能再发给Router3的S0口,这样就可以避免环路。

  Route Poisoning路由中毒:

  通过将断开的网络地址的路由距离设置为无穷大来阻止网络循环。那有的朋友要问了,这怎么可能避免环路了,这里还用到了一个小技术叫毒性逆转,如一个路由器发现一个网络地址的距离设置为无穷大了,就认为这条网络地址不可达了,也会将自己的相关路由信息设置为down 不可用,由刚才的拓扑图可知10.10.40.0不可用了。那么Router3就将10.10.40.0的路由设置为无穷大,然后Router2仍然会将自己的信息发给Router3,但是此时Router3就会将无穷大的信息发给Router2,那么Router2只要看到这个信息就认为这个网络地址不可达了,这样就保证了所的有都知道那条不可达的路由信息,来阻止循环。

  Holddowns:抑制计时

中小企业网络管理:思科动态路由分析
 

  分析:当一条路由信息无效之后,一段时间内这条路由都处于抑制状态,即在一定时候内不再接收关于同一目的地址的路由更新,因为此时再接收到的更新也可能是不正确的。如果在抑制时间内网络恢复正常了,此时Router3会将自己的路由更新正常,然后再去更新其他路由器的路由信息。

  Triggered update:触发更新

中小企业网络管理:思科动态路由分析
 

  分析:触发更新和一般的更新是不一样的,当路由表发生变化时,更新报文会立即广播给相邻的路由器,而不是等30秒。同样,当一个路由器刚启动RIP时,它广播请求报文。收到此广播的相邻路由器会立即应答一个更新报文,而不是等到下一个更新周期。这样,网络拓扑的变化会最快的在网络上传播开,减少了路由回环产生的可能性。

  Maximum Hop Count:最大跳数

  这个原理很简单就是指定一个最大跳数来阻止循环,我们前面讲产生循环只要是这个距离不断的往上加,没有限制,那现在我们来给它加上一个限制,如RIP定义的最大跳数为15,第16跳就为不可达,这样也可以在一定程度上去除路由循环的问题!

  那么以上我们讨论的是距离矢量协议以及几种路由回环的解决方法!再往下咱们来看一下另一种动态路由算法:

  链路状态路由算法

  链路状态路由协议是目前使用最广的一种域内路由协议。但就其理论来说应该属于CCNP的内容,咱们在这里就简单的看一下:

中小企业网络管理:思科动态路由分析
 

  链路状态协议和刚才介绍的距离矢量协议是不同的。在DV算法中,每个路由器是将自己的更新路由表发给其他路由器,而链路状态协议不是,它将将它到周围邻居的链路状态向全网的其他路由器传递,也就是说DV传递的是具体的路由条目,而链路状态传递的是一个链路的状态,说的形象一点,传的是一个“地图”。当然在链路状态中术语叫LSA,链路状态宣告,告诉我的邻居,我还有哪些邻居?我连接的有哪些网段?也就是说我所知道的网络的拓扑结构的详细情况发给对方,然后我的邻居再将这些信息再告诉它的邻居,这样网络中的路由器就会得到网络中比较精确的一个网络拓扑状态。举个例子来说,在实际生活中,我们每个人对我们所生活的这一块区域是比较熟悉的,但对离你比较远的区域是不熟悉的,那如果你有一天要去某个地方办事,但你不知道该怎么走?但你的一个朋友对那个地方比较熟悉,他有可能会给你画一张那个地方的地图,那么你通过他的描述就可以计算我应该怎么去那儿,路径应该怎么走,等等信息!所以你得到的是一个地图,而不是一个具体的路径,这和链路状态是一致的,每个路由器得到的也是一个网络的“地图”,也不是一个具体的路由条目。然后根据这个地图来计算去对方应该怎么走,这个计算还是比较精确的。主要是使用Dijkstra算法来查找到达目标网络中的非常好的路由。所有的路由器拥有相同的拓扑后,把自己放进树中的根里,然后根据每条链路的耗费,选出耗费最低的做为非常好的路径。然后把这个非常好的路径放进自己的路由表。这个计算用的是这个链路上的带宽,如用一个常数去除带宽,得到的数越小,就说明代价越小。就会优先选择此条链路。在这里我们结合OSPF协议来说,每个运行OSPF协议的路由器中都存放着三张表:

  第一张表是邻居表,记录着它的邻居信息;第二张表是链路状态数据库又称为拓扑表,记录着网络的完整的拓扑结构,并且在同一个区域内的每一个路由器的这个拓扑表应该是一样的;第三张表是路由表,是根据拓扑表所描述的信息然后根据带宽来计算去到达对方的非常好的路由然后存放到路由表中。所以对于运行OSPF协议的路由器来说这三张表非常重要,并且它们不会像DV一样每隔一个周期就发送一个路由表的信息,在OSPF的网络里只要网络是稳定的,就不会发LSA宣告,只有当网络拓扑发生改变时才会发送相应的LSA宣告。关键是每个路由器自己计算如何到达对方,这做是比较科学精确,不会像DV算法存放回环的问题!但是要求运行链路状态协议的网络必须有一定的层次结构,要求分为两个层一次,一个是骨干区域,其他的为非骨干区域也称为普通区域,一般来说骨干区域都定义为Area0,普通区域为Area1,Area2……即可,并且严格规定普通区域必须要和骨干区域Area0相连。为什么采用区域的概念,主要是因为在链路状态路由协议中,所有的路由器都保持有LSDB,也就是网络拓扑结构,路由器越多,LSDB就越大,这可能对了解完整的网络信息有所帮助,但是随着网络的增长,LSDB数据库就会显的庸肿,而且不利用网络扩展,所以就引入了区域这个概念。 如图所示:

中小企业网络管理:思科动态路由分析
 

  在某一个区域里的路由器只保持有该区域中所有路由器和链路的详细信息和其他区域的一般信息。当某个路由器或某条链路出故障以后,信息只会在那个区域内传递,该区域之外的路由器不会收到该信息。所以OSPF必须要求层次化的网络设计,而且普通区域之间是不能连接的,它们都必须通过backbone area0进行连接。这中间用到两个术语

  BR:骨干路由器,同骨干区域中的路由器 如上图中的A和B

  ABR:区域边界路由器,用来连接骨干区域和普通区域的路由器,上图中的 C D E

  链路状态路由协议的优势是:

  1 对网络发生的变化能够快速响应,当网络发生变化的时候发送触发式更新。

  2 路由没有环路 因为每个路由器都知道整个网络(整个区域的网络)的拓扑,LSA是有序可靠的传递。

  3 层次化的设计更加有利于网络的扩展。

  以上是关于链路状态的一些浅显的分析,还有些内容我们会结合OSPF再做讨论。

  平衡混合算法(Balanced Hybrid)

  思科公司提供了平衡混合路由算法,它具有距离矢量和链路状态两种路由选择协议的特点。平衡混合路由选择协议使用具有更精确度量标准的距离适量来确定目的网络的非常好的路径。但是,它们与大多数距离矢量协议不一样的地方是它们使用拓扑改变来触发路由表的更新,而不是周期性的更新,并且收敛速度快,它与距离矢量以及链路状态协议不同的是使用更少的带宽、内存和处理器开销。平衡混合协议的例子有中间系统到中间系统(IS-IS)和增强内部网关路由选择协议(EIGRP)。

0
相关文章