距离矢量路由协议(distance vector routing protocol)是为小型网络环境设计的。在大型网络环境下,这类协议在学习路由及保持路由将产生较大的流量,占用过多的
带宽。如果在9 0秒内没有收到相邻站点发送的
路由选择表更新,它才认为相邻站点不可达。
每隔30秒,距离向量路由协议就要向相邻站点发送整个
路由选择表,使相邻站点的路由选择表得到更新。这样,它就能从别的站点(直接相连的或其他方式连接的)收集一个网络的列表,以便进行
路由选择。距离向量路由协议使用跳数作为
度量值,来计算到达目的地要经过的
路由器数。
例如,R I P使用B e l l m a n - F o r d算法确定
最短路径,即只要经过最小的跳数就可到达目的地的线路。最大允许的跳数通常定为1 5。那些必须经过1 5个以上的
路由器的终端被认为是不可到达的。
距离矢量路由协议基于贝尔曼-福特
算法,使用D-V算法的路由器通常以一定的时间间隔向相邻的路由器发送他们完整的
路由表。接收到路由表的邻居路由器将收到的路由表和自己的路由表进行比较,新的路由或到已知网络但开销(Metric)更小的路由都被加入到路由表中。相邻路由器然后再继续向外广播它自己的路由表(包括更新后的路由)。距离矢量路由器关心的是到目的网段的
距离(Metric)和矢量(方向,从哪个接口转发数据)。在发送数据前,路由协议计算到目的网段的Metric;在收到邻居路由器通告的路由时,将学到的网段信息和收到此网段信息的接口关联起来,以后有数据要转发到这个网段就使用这个关联的接口。