毒性逆转(poison reverse)。在基于
路由信息协议的网络中,当一条路径信息变为无效之后,
路由器并不立即将它从
路由表中删除,而是用16,即不可达的
度量值将它广播出去,这叫做毒性逆转。这样虽然增加了路由表的大小,但对消除路由循环很有帮助,它可以立即清除相邻路由器之间的任何环路,
利用毒性逆转进行路径
水平分割(简言之,毒性逆转)包括更新的路径,但将其距离设成无限大。从效果上来说,这就相当于在传播那些路径无法到达的信息。
Poison reverse, 其中一种防止路由环路(Routing loop)出现的技术, 距离矢量路由协议的运作特性是定期向外发送路由表而让网络中其他路由器知道其网络, 例如路由器 A使用RIP作为路由协议, 预设每30秒发送一次路由表更新, 把其路由表向外广播, 而A的邻接路由器B, 正常每30秒会收到从A发送过来的更新。设想若A连接的其中一个网络(假设网络X)中断, 网络X会消失於A中的路由表, 当路由器 A下次发送往外更新资料时, 会不包括X在内, 而路由器 B因为没有收到关於网络 X的更新, 在一定时间内(RIP预设无效时间invalid time为180秒)会误认为网络 X还存在, 并向外告知X的存在, 直至经过180秒後, 路由器 B才认为网络 X出现问题, 在这180秒内整个网络处于一个不正确资料状态, 除路由器 A外, 其他
路由器都不清楚网络 X的问题, 会形成很多传输错误的发生, 亦会因此引起路由环路的产生。毒性逆转的理念是当路由器 A发现网络 X的中断後, 在下次发送路由更新时不会忽略X, 反而会把X包含到路由更新当中, 但将其跳数变更为协议跳数最大值+1(RIP为15+1), 因为跳数超过了最大值, 所以路由器 B收到更新时会立刻知道网络 X为不可达, 而无需等待180秒, 这样便会大大地加快网络收敛的速度。
路由毒化:A发现自己所连的某个网段Down后,将自己关于那个网段的路由信息“毒化”,在
路由表中表示为“infinity
相邻
路由器收到消息后,将自己关于那个网段的路由条目至为“possibly down”,并向A发送信息,说那个网段可能Down了,这个行为可以克服
水平分割的限制,这个行为就称为 “毒化反转”