2.10.3动态路由

2.10.3动态路由

动态路由协议分为距离向量路由(DV)协议和链路状态(LS)路由协议,两种协议各有特点,分述如下。

1.距离向量路由协议

距离向量路由协议使用跳数或向量来确定从一个设备到另一个设备的距离,不考虑每跳链路的速率。距离向量路由协议不使用正常的邻居关系,而是用两种方法获知拓扑结构的改变和路由的超时,一是当路由器不能直接从连接的路由器收到路由更新时;二是当路由器从邻居收到一个网络的某个拓扑发生了变化的更新时。

在小型网络中(少于100个路由器,或需要更少的路由更新和计算环境),距离向量路由协议运行得相当好。当小型网络扩展到大型网络时,该算法计算新路由的收敛速度极慢,而且在它计算的过程中,网络处于一种过渡状态,极可能发生循环并造成暂时的拥塞。再者,当网络底层链路技术多种多样,带宽各不相同时,距离向量算法对此视而不见。距离向量路由协议的这种特性不仅造成了网络收敛的延时,而且消耗了带宽。随着路由表的增大,需要消耗更多的CPU资源,并消耗了内存。

2.链路状态路由协议

链路状态路由协议没有跳数的限制,使用图形理论算法或最短路径优先算法。链路状态路由协议有更短的收敛时间、支持可变长子网掩码(VLSM)和CIDR。

链路状态路由协议在直接相连的路由之间维护正常的邻居关系,允许路由更快收敛。链路状态路由协议在会话期间通过交换Hello包(也叫“链路状态信息”)创建对等关系,这种关系加速了路由的收敛。不像距离向量路由协议那样,更新时发送整个路由表。链路状态路由协议只广播更新的或改变的网络拓扑,这使得更新信息更小,节省了带宽,提高了CPU利用率。另外,如果网络不发生变化,更新包只在特定的时间内发出(通常为30 min到2 h)。