2008-03-28 10:46:33
原创作品,允许转载,转载时请务必以超链接形式标明文章
原始出处 、作者信息和本声明。否则将追究法律责任。
http://steven24.blog.51cto.com/346765/68542
具体分析一下链路状态和距离矢量路由协议的不同
距离矢量(DV)是“传说的路由”,A发路由信息给B,B加上自己的度量值又发给C,路由表里的条目是听来的,虽说“兼听则明,偏信则暗”,但是选出最优路径的同时会引发环路问题,当然,DV协议也使用水平分割,毒性逆转,触发更新等特性来避免,无奈的是,这种问题对于竞争对手LS而言是天生免疫的。
链路状态(LS)是“传信的路由”,A将信息放在一封信里发给B,B对其不做任何改变,拷贝下来,并将自己的信息放在另一封信里,两封信一起给C,这样,信息没有任何改变和丢失,最后所有路由器都收到相同的一堆信,这一堆信就是LSDB。然后,每个路由器运用相同的SPF算法,以自己为根,计算出SPF Tree(即到达目的地的各个方案),选出最佳路径,放入转发数据库中(即路由表)。
链路状态协议有三样看家本领:LSDB,SPF算法,SPF Tree。还有三张表:邻居表,拓扑表,路由表,但这三张表并不是DV和LS的根本区别,EIGRP作为高级的距离矢量路由协议同样有这三张表,关键点在于表的内容和传递信息的过程。
DV的拓扑表事实上是邻居通告的路由条目的集合,依据算法从中选出最佳的放进路由表,它并不完全了解网络拓扑;而LS的拓扑表是真正意义上的网络拓扑,路由器对网络信息完全了解,所以可以独立的做出决策,确定最佳路由。
举例来说,如果我是DV的思维,我从天津大学去滨江道,通过询问知道,我可以在走到六里台车站坐123路车,也可以走到北门车站坐789路车,这样问下来有几种方案,我再选一个最优的,以这样的方式我就知道天津市内的一些地方该怎么去;而如果我是LS的思维,我会先去四下打听,搜集信息然后汇总成一张天津市区的地图,然后依据这张地图自己决定如何去滨江道以及其它地方。
Distribute-list对DV和LS的影响也是不同的。运行DV的路由器基于自身的路由表来通告路由信息,其结果是Distribute-list将会对通告产生影响,我们也可以利用这个选择性的进行通告。
运行LS的路由器是基于LSDB来计算出自己的路由,Distribute-list对LSA通告和LSDB建立没有影响,所以只会影响本路由器的路由表的安装,正是因为这种特性,路由过滤器主要被用在进入链路状态域的重新分配点上,即在ASBR执行重发布时,控制那些要进入或离开的路由。