OSPF(Open Shortest Path First/开放最短路径优先)协议---链路状态路由选择协议
一.简介
OSPF是一个最常见的内部网关路由协议,使用链路状态而不是距离矢量进行路由选择,使用链路状态路由选择协议时,它们之间交换的是链路状态信息,每台路由器都完全了解整个区域的网络拓扑,能够准确的根据网络拓扑信息独立地作出路由决策。OSPFv2支持IPv4,OSPFv3支持IPv6。
由于OSPF只通过传播LSA(链路状态通告),而不是路由表更新(交换整个路由表),因此OSPF网络能够以较快的方式收敛。
二.知识准备
1.首先了解并归纳一下OSPF的一些特性
①独立传输:OSPF工作在IP上层,使用协议号:89。它不依赖于传输层协议TCP/UDP的支持。
②采用高效的更新机制:
③采用组播/单播的方式来发送消息:
(单播如何理解:虽然IP地址是组播的地址 ,发送的是组播的请求消息,但应答的路由器/主机通过单播的方式进行回应。)
④支持可变长子网掩码(VLSM),无类域间路由(CIDR)和非连续网络。---即在路由更新时需携带子网信息。
⑤支持手工路由汇总,默认时是不进行自动汇总的。
⑥支持多重认证:支持明文,MD5,以及SHA认证。
2.OSPF具体工作流程
①建立邻居邻接关系(构建邻居表):OSPF路由器必须与其邻居建立邻接关系之后才能共享消息。OSPF路由器会从所有启用OSPF的接口发送Hello包,确定这些链路上是否有OSPF邻居,并试图与该邻居建立邻接关系。
②交换链路状态通告:邻接关系建立后,路由器交换LSA(链路状态通告)。LSA包含每条直连链路的状态和开销。路由器将LSA泛洪给它所有邻接的的邻居,接收到LSA的邻接邻居立即将LSA泛洪给其他的直连邻居,直到区域内所有的路由器都有相同的LSA为止。
③构建拓扑表:收到LSA后,OSPF路由器会基于收到LSA构建LSDB(链路状态数据库/拓扑表),此数据库中最终将拥有网络拓扑的所有信息。对于区域中所有的路由器来说,LSDB中一定都要有相同的信息。
④执行SPF算法:路由器执行SPF算法。SPF算法构建SPF树。
⑤构建路由表:路由器把SPF树中的最优路径放入到路由表中,并基于路由表中的条目做出路由决策。
原文:https://www.cnblogs.com/315sky/p/10885949.html