路由环路是指数据包在一系列路由器之间不断传输却始终无法到达其预期目的网络的一种现象。当两台或多台路由器的路由信息中存在错误地指向不可达目的网络的有效路径时,就可能发生路由环路。

 
造成环路的可能原因有:
  • 静态路由配置错误
  • 路由重分布配置错误(重分布表示将来自一种路由协议的路由信息转给另一种路由协议的过程,将在 CCNP 级别的课程中介绍)
  • 发生了改变的网络中收敛速度缓慢,不一致的路由表未能得到更新
  • 错误配置或添加了丢弃的路由
 
距离矢量路由协议的工作方式比较简单。其简单性导致它容易存在诸如路由环路之类的缺陷。在链路状态路由协议中,路由环路较为少见,但在某些情况下也会发生。
 
注:IP 协议自身包含防止数据包在网络中无休止传输的机制。IP 设置了生存时间 (TTL) 字段,每经过一台路由器,该值都会减 1。如果 TTL 变为零,则路由器将丢弃该数据包。
 
路由环路会造成什么影响?
路由环路会对网络造成严重影响,导致网络性能降低,甚至使网络瘫痪。
 
路由环路可能造成以下后果:
  • 环路内的路由器占用链路带宽来反复收发流量。
  • 路由器的 CPU 因不断循环数据包而不堪重负。
  • 路由器的 CPU 承担了无用的数据包转发工作,从而影响到网络收敛。
  • 路由更新可能会丢失或无法得到及时处理。这些状况可能会导致更多的路由环路,使情况进一步恶化。
  • 数据包可能丢失在“黑洞”中。

路由环路不仅会耗尽带宽,而且会耗尽路由器资源,导致网络缓慢甚至瘫痪。

 
路由环路一般是由距离矢量路由协议引发的,目前有多种机制可以消除路由环路。这些机制包括:
  • 定义最大度量以防止计数至无穷大
  • 抑制计时器
  • 水平分割
  • 路由毒化或毒性反转
  • 触发更新