摘要:文献中已提出多种解决无穷计算问题的办法。但这些办法一个比一个复杂,一个比一个更不实用。
1.水平分裂算法
文献中已提出多种解决无穷计算问题的办法。但这些办法一个比一个复杂,一个比一个更不实用。这里,只介绍其中的一种方法,并谈一谈其失畋之处。水平分裂(splithori?m)算法与距离向量算法工作过程一样,不同之处仅在于:任意节点到节点X的距离如果是从令点y发送的路由信息中获得的,那么该节点不向y报告其到尤的真实距离(实际上报告的距离值为无穷大)。例如,在图5-22(b)的初始状态下,节点C向D报告其到A的真实距离,但C向节点B报告其到A的距离为无穷大;类似地,D告诉E实情,但向C说它到A的距离为无穷大。
现在,让我们看看A下网后的情况。在第一次交换时,B发现1T达路径已没有了,而C也报告说到A的距离为无穷大,因为两个邻居都到不了A,B便将它到A的距离也设为无穷大。第二次交换时,C发现从它的两个邻居点都不能到达A,它也将A标为不可到达。使用水平分裂法,坏消息以每交换一次路由信息传播一个节点的速度传播,.这比不用水平分裂方法要好得多。
糟糕的是水平分裂法虽然被广泛应用,.但也有失败的时候。考虑如图5-23所示为由4个节点组成的子网,初始化时,A和B到D的距离都为2,到C的距离为1。假设CD线路断开了。使用水平分裂法,A和B告诉C,它们不能到达D。因此,C立即将得到结论,D是不可达的,并告诉A和B。不幸的是,A知道B有一条到D的长度为2的路径,因此,它认为能经过B经3跳到达D。类似地,B也认为能通过A经3跳到达D。下一次交换路由信息后,它们又都将到D的距离增加到4。两个节点5就这样逐渐地将到D的距离增加到无穷大,这正是我们曾力图避免的情况。
返回目录:
编辑推荐:
通信工程师备考资料免费领取
去领取