目录
引言
本文章了我会先在前五点里用通俗易懂的口吻带入OSPF的大致知识点,让大家全面从区域到链路到端点了解OSPF怎么个存在方式。后用罗马数字标注的5点我会理清逻辑,带大家搞懂OSPF到底怎么个运行方式去实现全网互通。文章我都会图文结合,理清逻辑带大家去学习(大学生易读版嘛)
一.概念
1.介绍
开放式最短路径优先协议,为三大厂商常用最基本的动态路由协议
2.链路状态协议
OSPF属于链路状态协议,与距离矢量协议不同的是,链路状态协议通告的是所在一定范围内的拓扑信息,要满足在规定的范围内每台设备对网络的认知是一样的。
3.基础
OSPF为公有协议,基于IP协议的89号运行的
二.环境拓扑讲解
为了方便大家更好的结合知识,我搭建了如下拓扑便于大家结合接下来陈述知识点理解。

1.如图,圆圈以内为公司甲,R3,R5,R6为其旗下的不同部门,最终以R4为出口路由器与ISP连接,通过R2与R1这一其他服务器连接来获取服务。
2.我们将所有终端去掉,保留路由器。

3.再按照OSPF分成不同区域(马上待讲),最终如下图,本篇文章将以这一拓扑结合解析知识点。 我会从大到小,从区域到链路再到各个角色,最后分析各个角色间发的报文依次解析。

三.区域
1.背景
由于链路状态协议的缘故,OSPF会同步拓扑信息并且互相同步相同的数据库,当网络环境变大的时候,数据库会很庞大,资源消耗也会随之变的庞大,所以提出区域的概念。将OSPF划为不同的区域,每台路由器只负责同步本区域内部的数据库信息,区域和区域之间不进行互相同步,从而大大减少了整个网络资源的消耗。
2.分类
(1).骨干区域
area为0的区域,如上图绿色区域
(2).非骨干区域
area非0的区域,如上图蓝色和灰色区域
(3).特殊区域
在非骨干区域的基础上对区域进行优化处理,过滤内部不需要的路由信息
3.划分要求
(1).非骨干区域一定要连着骨干区域,骨干区域之间一定要直连,不能断开(俩area0区域间有非骨干区域)
(2).不一定非要有骨干区域,但多区域之间互通必须通过骨干区域。

四.链路类型(网络类型)
1.以太网链路
最常见的链路,用于广播多路访问环境,在此链路俩端口间需要进行DR和BDR(马上待讲)的选举,会发送组播hello报文。
2.串行链路
用于点对点环境(p2p),当网络拓扑较小时,不用选举DR,BDR的时候采用,串行链路不需要进行DR,BDR的选举,会发送组播hello报文。
3.回环路接口
网络类型为loopback,相当于一种主机或则终端接口了,在拓普中会学习到其掩码为32位的路由条目
五.角色

1.DR,DBR,DRother
(1)存在背景以及作用
如果网络环境比较大的时候,大量的设备会互相交互信息,如果每俩个路由器都会交互信息建立连接,会对数据链路照成比较大的负担,为了降低负担,会在每一网段选择一性质为“王”的角色,其他“平民”将数据库信息发给“王”,“王”又会依次将数据库汇总信息下发给“民”。

(2)端口角色介绍
DR:指定路由器,作为王的存在,会接受BDR和DRother发来的数据库信息。
BDR:备份指定路由器,当拓扑中指定路由器出问题后,会切换为指定路由器
DRother:普通路由器
(3)选举规则
1.在以太网环境中,每个网段都会选举,在串行链路中每个网段都不选举。
2.会先比较优先级,机制为越大越优先;如果优先级相同,则会比较各自的RID,RID越大越优先。
备注:RID在OSPF环境中具有身份证的作用,会优先采用手动配置的为RID,如果没有则优先采用回环口ip地址为RID,如果还没有则会优先选择接口上ip地址最大的采用为RID。
2.ABR,ASBR
(1).ABR
区域边界路由器(如上图):同时连接着俩个不同区域的路由器,其中一边必须为骨干区域,另外一边必须为非骨干区域。
(2).ASBR
自治系统边界路由器(如上图):同时运行着OSPF和其他协议的设备,负责将OSPF与其他路由协议之间通信。
------------------------------------------------------------------------------------------------------------------------------
以上为大致的专有名词讲解,大家多结合拓扑揣摩揣摩,以下为解释OSPF到底怎么协商获得全网拓扑信息
------------------------------------------------------------------------------------------------------------------------------
Ⅰ.七个状态,五个报文
如何实现数据库交互实现全网互通了?通过报文的交互和状态的更新最终达到full状态以满足要求。
1.五个报文
HELLO报文:用于发现,建立,并维护邻间关系
DBD:数据库摘要,向邻居通告自己所知道的LSA摘要消息,注意:并不是完整信息!!!LSA(链路状态信息)
LSR:链路状态请求包,根据DBD,设备会向邻居发送LSR,以告诉自己需要的LSA信息
LSU:链路状态更新包,根据LSR,来将对端需要的LSA发送出去
LSAck:链路状态确认包,根据对端发来的LSU进行确认(回复:“已收到”)
2.七个状态
理解:一个楼层里要各个住户要在最快时间内知道在当前楼层所有用户信息,怎么实现了?门隔门的邻居之间相互打招呼,知道对方信息。为了防止意见不合,传递信息东窜西窜找不到方向,所以在楼层里面选个老大,把自己知道的信息都发给老大,老大把信息简单汇总发给大家,大家再根据具体需要什么信息请求老大,老大再具体回复,最后实现全楼层互通。


(1)、Down状态
在Down状态下,OSPF进程还没有与任何邻居交换信息。OSPF在等待进入Init状态。
(2)、Init状态
OSPF路由器以固定的时间间隔(10s)发送hello报文,与邻居路由器建立特殊的关系。
(3)、Two-Way(双向)状态
每台OSPF路由器与邻居路由器建立双向状态或双向通信。互相添加对方RID的时候,进入了双向状态。
(4)、ExStart(准启动)状态
两个路由器交换类型1的DBD报文来分出谁是“主”,谁是“从”。
(5)、Exchange(交换)状态
邻居路由器使用类型2的DBD分组来互相发送它们的链路状态信息,但是是摘要,并不是完整的,完整的路由信息在“Loading(加载)”状态下被交换。
(6)、Loading(加载)状态
&n

本文全面介绍了开放式最短路径优先协议(OSPF),包括其概念、环境拓扑、区域分类、链路类型、角色等基础知识,还详细讲解了七个状态、五个报文、LSA报文,以及特殊区域配置、其他技术点应用等内容,最后总结了OSPF的特点。
最低0.47元/天 解锁文章
1万+





