路由环路是如何产生的?在维护路由表信息时,如果拓扑发生变化,网络收敛缓慢,产生不协调或矛盾的路由表项,就会出现路由环路,那么如何解决这个问题呢?本文介绍D-V解决路由环路的方法。Distance-VectorRoutingProtocols通过定期向所有接口广播路由更新来跟踪整个网络的变化。这些广播包含了完整的路由表,但增加了CPU和带宽的负担。如果聚合更新太慢,就会出现路由环路。如果网络5有问题,不工作,E向C发送更新报告情况,于是C停止通过E向网络5路由信息,但此时A、B、D并不知道有是网络5的问题。所以他们仍然继续发送更新。C向B发送更新说停止路由到网络5。但是此时A和D还没有更新,因此他们认为网络5仍然可用,跳数为3。接下来,A发送更新说:嘿!网络5仍然可用。B、D收到A的更新后,无奈只能通过A到达网络5,认为网络5可用。所以像这样,1目标网络是网络5的数据包,会从A进入到B,然后返回到A...接口发送的数据不能返回到该接口。.这种方法减少了路由信息的不正确性和负载,但在某些环境中,如Frame-Relay的Hub节点,水平分割会带来一些麻烦。毒逆。当一条路径信息失效时,路由器不会立即将其从路由表中删除,而是将其广播为不可达的metric值为16。虽然这会增加路由表的大小,但对于消除路由环路非常有帮助,它会立即清除相邻路由器之间的任何环路。触发更新(triggerupdate)。当路由表发生变化时,立即向所有相邻路由器广播更新消息,而不是等待30秒的更新周期。同样,当路由器首次启动RIP时,它会广播请求消息。收到此广播的相邻路由器立即响应更新消息,而无需等待下一个更新周期。这样,网络拓扑结构的变化将尽快在网络上传播,减少路由环路的可能性。抑制定时器(holddowntimer)。一条路由信息失效后,该路由会被抑制一段时间,即在一定时间内不再接收同一目的地址的路由更新。如果路由器在一个网段上得知一条路径down,它会立即知道该路由在另一个网段上是有效的。这种有效信息通常是不正确的,抑制时序可以避免这个问题。此外,当链路频繁启动和停止时,抑制时序可减少路由波动并提高网络稳定性。即使采用以上4种方法也不能完全解决路由环路问题,但是已经最大限度的减少了。一旦真正发生路由环路,路由项的metric值就会计数到无穷大(CounttoInfinity)。这是因为路由信息是循环传递的,每经过一个路由器,metric值就加1,直到达到16,路径就变得不可达了。RIP巧妙地选择了16作为不可达度量。它大到足以确保大多数网络都能正常运行,但又小到足以最大限度地减少数到无穷大所需的时间。
