每种 路由 协议都有自己的算法, 路由 协议在共享和传递 路由更新信息,乃至收敛都因为算法的不同而不同。
路由 协议根据算法可以分为两大类(也有说三类的―混合):距离矢量(Distance Ventor)和链路状态(Link State)。
距离矢量算法是以R.E.Bellman,L.R.Ford和D.R.Fulkerson所做的工作为基础的,鉴于此,我们把距离矢量 路由 协议称为Bellman-Ford或者Ford-Fulkerson算法。
这一节的内容,主要讲述距离矢量 路由 协议。
距离矢量名称的由来是因为 路由是以矢量(距离,方向)的方式被通告出去的,这里的距离是根据度量来决定的。通俗点就是:往某个方向上的距离。
例如:“朝下一个 路由器X的方向可以到达网络A,距此5跳之远”
每台 路由器在信息上都依赖于自己的相邻 路由器,而它的相邻 路由器又是通过自它们自己的相邻 路由器那里学习 路由,依此类推,所以就好象街边巷尾的小道新闻――一传十,十传百,很快就能弄到家喻户晓了。呵呵。正因为如此,我们一般把距离矢量 路由 协议称之为“依照传闻的 路由 协议”
下面列举出一些距离矢量 路由 协议:
1、IP 路由信息 协议�CRIP
2、Xerox网络系统的XNS RIP
3、Novell的IPX RIP
4、Cisco的Internet网关 路由选择 协议�CIGRP
5、DEC的DNA阶段4
6、Apple Talk的 路由选择表维护 协议�CRTMP
在CCNA乃至CCNP中,我们接触的仅仅是RIP和IGRP,其它几种,了解就可以了
接下来,我们谈一下距离矢量的特点,也可以说是它们的通用属性
1、定期更新(Periodic Updates)
既然说到了是定期,那么它们都会在到达某一个时间点上“同时”发送更新信息,更新信息指的是各 路由器各自的直连网络信息。一般这个时间周期为10S到90S。这个周期依照 路由 协议的不同而不同,常用的RIP为30S,而IGRP为90S。这里引发争议的是如果更新信息在网络中过于频繁就会浪费带宽,造成拥塞,如果更新信息发送太慢频率不高,收敛时间又会变长。
2、邻居(Neighbours)
邻居通常意味着共享相同的数据链路的 路由器。距离矢量 路由 协议向邻居 路由器发送更新信息,并依赖邻居向它的邻居传递更新信息,因此,距离矢量 路由 协议可以被看成是以“逐跳更新方式”来进行 路由更新的 协议。
3、广播更新(Broadcast Update)
在一个网络中,当一台 路由器刚刚登录时,该 路由器如何去寻找其他的 路由器呢?它又是如何宣布自己的存在呢?到现实生活中,大家可以想象一下,在人群中,你如何找到你没见过面,但是知道名字的人呢?或者是在一家你新到的公司办公室,你如何向其他同事介绍你自己呢?是一个一个的去自我介绍还是怎么样?――喊一嗓子,啥问题都解决了!在互联网络中也是同样的――广播!在IP网络中,广播地址255.255.255.255。使用相同 路由选择 协议的邻居 路由器会收到广播信息并且采取相应的动作,不关心该 路由更新信息的主机或者其他设备仅仅丢弃报文。但是广播也是有害的!
4、包含整个 路由表的更新
就好象两个知心好友一样,推心置腹……把自己知道的什么玩意儿都掏出来告诉对方。基本上所有的距离矢量 路由 协议都会采用这种简便的办法来向邻居 路由器通告自己所知道的所有信息――告诉其他 路由器自己的整张 路由选择表,邻居在收到该信息后,去其糟粕,取其精华……完善自己的 路由表。
5、依照传闻进行 路由选择
6、 路由计时器(在后面讲解RIP的时候会将到)。讲述距离矢量的几种计时器
7、水平分割(Split Horizon)详见CCNP-BSCI 002距离矢量 路由 协议�C水平分割
8、计数到无穷大(在后面讲解RIP的时候会将到)
9、触发更新(Triggered Update)
触发更新又名快速更新:当 路由收敛后,如果某台 路由器得知自己直连的一条链路的度量变化了,(无论好或者坏)那么该 路由器将立即发送更新信息,不必等到更新计时器的到期。
10、抑制计时器(Holddown Timer)
触发更新为正在进行收敛的网络增加了应变能力,为了降低接受错误 路由信息的可能性,抑制计时器引入了某种程度的怀疑量
如果到一个目标的度量发生改变(无论是增大还是减小),那么 路由器将会将该 路由条目置为抑制状态――即加上一个抑制计时器。直到计时器超时, 路由器才会接受有关此 路由的信息。
它虽然降低了错误 路由的可能性,但是收敛时间却会因此而变长,因为在对其进行配置的时候,一定要根据全网的情况来配置一个合适的值。
11、异步更新(Asynchronous Update)
假设有一组连接在以太网段上的 路由器群,大家都记得,以太网的工作方式。如果每台 路由器都共享一个广播网络的时候,很可能会出现更新同步的情况――几台 路由器的更新时间同时到期,同时更新。那么就会造成报文的碰撞,然后根据CSMA/CD,它们会回退,但是,很可能这样一来影响到整个系统的时延,最终会造成整个网络的同步。所以,我们通常使用两种办法来防止同步保持异步更新:
・每台 路由器的更新计时器都独立于 路由进程,因为不会受到 路由器处理负载的影响
・在每个更新周期中加入一个小的随机偏移量。