距离矢量路由协议中路由环路问题的解决方法概括来讲,主要分为六种:
1.定义最大值;
2.水平分割技术;
3.路由中毒;
4.反向路由中毒;
5.控制更新时间;
6.触发更新。
下面我们就来一一讲解各种解决方法的实现原理:
1.定义最大值:
距离矢量路由算法可以通过IP头中的生存时间(TTL)来纠错,但路由环路问题可能首先要求无穷计数。为了避免这个延时问题,距离矢量协议定义了一个最大值,这个数字是指最大的度量值(如rip协议最大值为16),比如跳数。也就是说,路由更新信息可以向不可到达的网络的路由中的路由器发送15次,一旦达到最大值16,就视为网络不可到达,存在故障,将不再接受来自访问该网络的任何路由更新信息。
2.水平分割:
一种消除路由环路并加快网络收敛的方法是通过叫做“水平分割”的技术实现的。其规则就是不向原始路由更新的方向再次发送路由更新信息(个人理解为单向更新,单向反馈)。比如有三台路由器ABC,B向C学习到访问网络10.4.0.0的路径以后,不再向C声明自己可以通过C访问10.4.0.0网络的路径信息,A向B学习到访问10.4.0.0网络路径信息后,也不再向B声明,而一旦网络10.4.0.0发生故障无法访问,C会向A和B发送该网络不可达到的路由更新信息,但不会再学习A和B发送的能够到达10.4.0.0的错误信息。
3.路由中毒(也称为路由毒化):
定义最大值在一定程度上解决了路由环路问题,但并不彻底,可以看到,在达到最大值之前,路由环路还是存在的。为此,路由中毒就可以彻底解决这个问题。其原理是这样的:假设有三台路由器ABC,当网络10.4.0.0出现故障无法访问的时候,路由器C便向邻居路由发送相关路由更新信息,并将其度量值标为无穷大,告诉它们网络10.4.0.0不可到达,路由器B收到毒化消息后将该链路路由表项标记为无穷大,表示该路径已经失效,并向邻居A路由器通告,依次毒化各个路由器,告诉邻居10.4.0.0这个网络已经失效,不再接收更新信息,从而避免了路由环路。
4.反向中毒(也称为毒化逆转):
结合上面的例子,当路由器B看到到达网络10.4.0.0的度量值为无穷大的时候,就发送一个叫做毒化逆转的更新信息给C路由器,说明10.4.0.0这个网络不可达到,这是超越水平分割的一个特列,这样保证所有的路由器都接受到了毒化的路由信息。
5.控制更新时间(即抑制计时器):
抑制计时器用于阻止定期更新的消息在不恰当的时间内重置一个已经坏掉的路由。抑制计时器告诉路由器把可能影响路由的任何改变暂时保持一段时间,抑制时间通常比更新信息发送到整个网络的时间要长。当路由器从邻居接收到以前能够访问的网络现在不能访问的更新后,就将该路由标记为不可访问,并启动一个抑制计时器,如果再次收到从邻居发送来的更新信息,包含一个比原来路径具有更好度量值的路由,就标记为可以访问,并取消抑制计时器。如果在抑制计时器超时之前从不同邻居收到的更新信息包含的度量值比以前的更差,更新将被忽略,这样可以有更多的时间让更新信息传遍整个网络。
浏览地址: http://www.qqread.com/route/2007/10/i348288.html相关专题
- 路由安全配置专题 (11856篇文章)
- 路由协议专题 (150篇文章)
- OSPF路由协议专题 (486篇文章)
- MPLS路由协议专题 (545篇文章)
- Linux下的路由的配置与应用 (11888篇文章)
- TCP/IP协议 (1919篇文章)
- SIP协议---NGN网络的核心协议 (2109篇文章)
- 交换路由知识答疑 (332篇文章)
- 协议大全 (1720篇文章)
- 路由基础理论知识 (325篇文章)
- Sniffer使用简介(上) (14016次浏览)
- ARP协议的缺陷及ARP欺骗的防范 (11185次浏览)
- IP路由协议配置 (7142次浏览)
- sniffer技术原理及应用,包括编程方法和工具 (6416次浏览)
- Sniffer使用简介(下) (6060次浏览)
- 什么是 ATM 技术,它有什么用途? (5809次浏览)
- Telnet高级入侵攻略 (5428次浏览)
- 使用Ethereal学习TCP/IP协议 (5064次浏览)
- Sniffer--会“抓毒”的网络分析仪 (4357次浏览)
- 新手学堂:解析Ftp协议的两种工作模式 (4129次浏览)



