链路状态路由协议也称为最短路径优先协议,它基于 Edsger Dijkstra 的 SPF(最短路径优先)算法。用于 IP 路由的链路状态路由协议有两种:OSPF(开放最短路径优先)协议和 IS-IS(中间系统到中间系统)协议。
链路状态路由过程可总结如下:
1. 每台路由器了解与其直连的网络。
2. 每台路由器负责“问候”直连网络中的相邻路由器。
3. 每台路由器创建一个链路状态数据包 (LSP),其中包含与该路由器直连的每条链路的状态。
4. 每台路由器将 LSP 泛洪到所有邻居,然后邻居将收到的所有 LSP 存储到数据库中。
5. 每台路由器使用数据库构建一个完整的拓扑图并计算通向每个目的网络的最佳路径。
链路是路由器上的接口。链路状态是指有关接口的信息,包括接口的 IP 地址和子网掩码、网络类型、链路开销以及该链路上的相邻路由器。
每台路由器确定其自身的链路状态,并将该信息泛洪给该区域内的其它所有路由器。结果是,每台路由器构建一个链路状态数据库 (LSDB),其中包含来自其它所有路由器的链路状态信息。所有路由器将拥有相同的 LSDB。每台路由器将使用 LSDB 中的信息运行 SPF 算法并创建一个 SPF 树,路由器位于树的根部。每条链路都与其它链路连通后,SPF 树即创建完成。这样,路由器即可自行确定通向树中每个网络的最佳路径,并将此最佳路径信息存储在其路由表中。
链路状态路由协议会为网络构建一个本地拓扑图,该拓扑图使每台路由器均可确定通向给定网络的最佳路径。仅当拓扑发生变化时,才会发送新的 LSP。当路由器上发生链路添加、删除或修改时,该路由器会将新的 LSP 泛洪给其它所有路由器。路由器收到新的 LSP 后,会更新其 LSDB,重新运行 SPF 算法,创建新的 SPF 树,并更新其路由表。
一般来说,链路状态路由协议的收敛时间比距离矢量路由协议的收敛时间短。不过 EIGRP 是一个明显的例外。然而,链路状态路由协议对内存和 CPU 有着更高的要求,不过对于如今的新型路由器来说,这不是什么问题。
转载于:https://blog.51cto.com/07net01/583940