路由器使用动态路由协议来促进路由器间路由信息的交换。 动态路由协议的用途包括:发现远程网络,维护最新的路由信息,选择到达目的网络的最佳路径,在当前路径不再可用时能够找出新的最佳路径。 虽然动态路由协议需要的管理开销比静态路由少,但是它们却需要占用一部分路由器资源(包括 CPU 时间和网络链路带宽)来运行协议。

网络通常将静态路由和动态路由结合使用。 对于大型网络而言,动态路由是最佳选择,而对于末节网络而言,静态路由则更好一些。

路由协议负责发现远程网络和维护准确的网络信息。 当拓扑结构发生变化时,路由协议会在整个路由域中传播该信息。 使所有路由表达到一致的过程称为收敛,在路由表一致的状态下,同一路由域或区域中的所有路由器包含关于网络的完整准确的信息。 一些路由协议比其他的路由协议收敛得更快。

路由协议可以分为有类协议和无类协议,距离矢量和链路状态,内部网关协议和外部网关协议。

距离矢量协议将路由器作为通往最终目的地的路径上的“路标”。 路由器唯一了解的远程网络信息就是到该网络的距离(即度量)以及可通过哪条路径或哪个接口到达该网络。 距离矢量路由协议并不了解确切的网络拓扑图。

配置了链路状态路由协议的路由器可以通过获取所有其他路由器的信息来创建网络的完整视图(即拓扑结构)。

路由协议使用度量来确定到达目的网络的最佳路径(即最短路径)。 不同的路由协议可能会使用不同的度量。 通常,度量值越低表示路径越佳。 度量可能取决于跳数、带宽、延迟、可靠性和负载。

有时,路由器会同时通过静态路由和动态路由协议获取到达到同一目的网络的多个路由。 如果路由器从多个路由来源获取到目的网络信息,Cisco 路由器会使用管理距离值来确定使用哪一个路由来源的信息。 每个动态路由协议都有唯一的管理距离值,静态路由和直连网络也不例外。 管理距离值越低,路由来源的优先级别越高。 直连网络始终是优先选用的路由来源,其次是静态路由,然后是各种动态路由协议。

show ip protocols 命令会显示路由器当前配置的 IPv4 路由协议设置。 对 IPv6 请使用 show ipv6 protocols

对于链路状态路由协议(如 OSPF)而言,链路是路由器上的一个接口。 有关各条链路的状态的信息称为链路状态。 所有链路状态路由协议应用 Dijkstra 算法来计算最佳路径。 Dijkstra 算法通常称为 SPF(最短路径优先)算法。 此算法使用每条路径从源到目标的累计开销来确定路由的总开销。