链路状态路由协议则如同使用地图一样,有了地图,您就可以看到所有潜在的路径并确定自己的首选路径。链路的状态是指与该路由器直连网络的状态,并包含关于网络类型以及那些网络中与该路由器相邻的所有路由器的信息 — 因此得名链路状态路由协议。
链路状态路由协议:
链路状态路由协议又称为 最短路径优先协议,它建基于 Edsger Dijkstra 的 SPF(最短路径优先)算法。
IP 链路状态路由协议:
●OSPF(开放最短路径优先)
●IS-IS(中间系统到中间系统)
SPF算法简介:
Dijkstra 算法通常称为 SPF(最短路径优先)算法。此算法会累计每条路径从源到目的地的开销。尽管 Dijkstra 算法称为最短路径优先算法,但事实上,优先最短路径是所有路由算法的目的。
链路状态路由过程:
拓扑中的所有路由器都会完成下列链路状态通用路由过程来达到收敛:
1. 每台路由器了解其自身的链路(即与其直连的网络)。
这通过检测哪些接口处于工作状态来完成。
2. 每台路由器负责“问候”直连网络中的相邻路由器。
与 EIGRP 路由器相似,链路状态路由器通过直连网络中的其它链路状态路由器互换 Hello 数据包来达到此目的。
3. 每台路由器创建一个链路状态数据包 (LSP),其中包含与该路由器直连的每条链路的状态。
这通过记录每个邻居的所有相关信息(包括邻居 ID、链路类型和带宽)来完成。
4. 每台路由器将 LSP 泛洪到所有邻居,然后邻居将收到的所有 LSP 存储到数据库中。接着,各个邻居将 LSP 泛洪给自己的邻居,直到区域中的所有路由器均收到那些LSP 为止。每台路由器会在本地数据库中存储邻居发来的 LSP 的副本。
5. 每台路由器使用数据库构建一个完整的拓扑图并计算通向每个目的网络的最佳路径。
就像拥有了地图一样,路由器现在拥有关于拓扑中所有目的地以及通向各个目的地的路由的详图。SPF 算法用于构建该拓扑图并确定通向每个网络的最佳路径。
了解直连网络:
链路:
对于链路状态路由协议来说,链路是路由器上的一个接口。链路状态路由协议也需要下列条件才能了解链路:正确配置接口的 IP 地址和子网掩码并将链路设置为 up 状态。必须将接口包括在一条 network 语句中,该接口才能参与链路状态路由过程。
链路状态:
有关各条链路的状态的信息称为链路状态.这些信息包括:
●接口的 IP 地址和子网掩码
●网络类型,例如以太网(广播)链路或串行点对点链路。
●该链路的开销。
●该链路上的所有相邻路由器。
(注:OSPF 将链路开销(OSPF 路由度量)指定为外发接口的带宽。)
向邻居发送Hello数据包:
采用链路状态路由协议的路由器使用 Hello 协议来发现其链路上的所有邻居。这里,邻居 是指启用了相同的链路状态路由协议的其它任何路由器。(当两台链路状态路由器获悉它们是邻居时,将形成一种相邻关系。这些小型 Hello 数据包持续在两个相邻的邻居之间互换,以此实现“保持生存”功能来监控邻居的状态。如果路由器不再收到某邻居的Hello 数据包,则认为该邻居已无法到达,该相邻关系破裂。)