OSPF(Open Shortest Path First)开放式短路径优先,是动态路由协议的一种,用于不同网络之间的通信
例如公司不同部门之间、总公司与分公司之间、城市与城市之间的通信都可以使用OSPF
举例说明
就像我们去一个地方,通过地图软件导航公交地铁的路径一样,找出一种比较省时间,比较短的路线来到达目的地
OSPF也是如此,你可以通过这个特点分析一下上图结合来理解
工作原理如下:
把上图的所有点位我们比作为路由器,也就是说必须要知道所有路由器的路由表才能通信
我们该如何知道呢?
1.建立链接关系(相互认识一下)
2.读取学习对方的链路状态信息,并且存到自己的数据库内
3.通过Dijkstra算法来计算哪条路径比较短(前文提到的导航原理)
4.通过这条路径树形成相对的路由表
路由表就是到达其他路由器的路径信息,有了路由表就可以相互通信了
OSPF为什么要分区域?
其实运行OSPF的路由器设备是很辛苦的,每台设备都要了解区域内所有设备的链路状态信息
如果一台设备出现了问题,那么区域内所有设备都要跟着来一轮路由计算
为了缩小拓扑变更的AOE范围,OSPF会通过多区域设计,将链路状态信息的传递约束到单个区域内
区域内的设备通过链路状态计算路由,区域外则通过纯路由连接
这样不但可以减少路由信息的交换,还能提高网络的稳定性,资源分配也合理了起来
相对的代价
这样设计实际上也是有代价的,区域之间依靠纯路由相互连接,缺少了路由算法的加持就会有环路危险
为了防止不同区域连成一串搞出几层环路,所以说OSPF规定,所有非骨干区域都必须和区域0直连(骨干网络)
不同区域的数据需要通过区域0中转,这样就从拓扑的角度避免了环路的产生
连接不同区域的路由器被称为Area Border Router(区域边界路由器)
它会同时连接多个区域,且其中一个是区域0,这种路由器可以生成独特的三类LSA,实现跨区域的路由传递