文章目录

  • OSPF是什么?
  • OSPF的五种报文,你知道哪几个?
  • 那OSPF协议是怎么通过这几个报文运作?
  • OSPF状态机是如何运作的啊?
    • 如果OSPF进程停留在某个状态,问题出至哪里呢?
    • 那OSPF链路状态(拓扑)发生改变时怎么办?
  • 搞懂邻居关系、邻接关系及其区别

  既然要讲到OSPF的五种报文、七种状态,那我们就来看一下OSPF究竟是什么个东西。

OSPF是什么?

  OSPF,Open Shortest Path First,一种链路状态路由协议,更是一种内部网关协议(如下图),封装在IP报文中,协议号为89。简单的理解,部署了该协议的网络会周期性收集拓扑和路由的所有信息,然后计算出到达目的网段的最短路径,并且通过周期更新机制实时监控网络的变化。

按区域自治与否,可分为:IGP(AS内部)、EGP(AS与AS之间)
按路由算法,可分为:
  ①链路状态路由协议
  ②距离矢量路由协议

IGP:工作在AS内,周期更新,收集运行了该协议的路由信息并实时监控网络的变化(如OSPF、ISIS、RIP);
EGP:工作在AS之间,不存在周期更新,存在触发更新,主要用于传递和选择AS间的路由(如BGP);

  • 无环路
      类似于STP生成树协议,每一个OSPF区域(每一朵“云”)相当于一个树干的枝杈,不会构成环路。

  • 收敛快
      这是作为动态路由所特有的特点,每当链路/设备出现故障时,该部署了OSPF的区域会动态的扫描并感知到链路状态异常,从而进行拓扑的链路的更新。

  • 扩展性好
      可以划分为多个OSPF区域,就像树干可以长出多个枝杈一样。

  • 支持认证
      认证,是为了提高网络通信的安全性,OSPF区域下所有设备接口之间的相互认可的一种口令/密钥方式。就像直播房间平台下,你输入对应的密码/房间号才可以进去一样。

OSPF的五种报文,你知道哪几个?

(1)Hello报文:发现、协商、维护(周期发送)OSPF邻居;
 关于邻居的发现,有两种方式:
 ①自动发现:通过发送目的IP地址为224.0.0.5;
 ②手工指定(NBMA)

那两者如何才能成功建立邻居(两者如何通过hello报文协商“邻居的建立”)
 通过查看ospf报文的头部,我们可以知道影响OSPF邻居建立的因素:
 ①version必须要一致;
 ②router id不能一致;
 ③area ID要一致;
 ④authentication-mode要一致,password也要一致;
 ⑤netmask要一致(广播、NBMA网络中有这一要求的);
 ⑥hello/dead time要一致;
 ⑦option字段的N bit和E bit要一致;

N位/E位 代表的功能区域
N=0,E=0 代表stub区域(末节区域)
N=0,E=1 代表普通区域
N=1,E=0 代表NSSA区域 (Not so 末节区域)

N=1,代表支持7类LSA
E=1 ,代表支持5类LSA

(2)DD(Database Description)报文:数据库描述报文,携带LSA的摘要(就像快递单号,仅仅是对快递具体内容的简单描述标识而已);

注意:DD报文携带的LSA摘要有什么字段?

 答:link state typelink state idadvertiser(简称ADV)

(3)LSR(link state request)报文:请求本设备缺少的LSA信息(很容易理解,请求的东西一般是自己没有的),通过携带本设备所缺少的LSA的摘要信息来实现请求;

(4)LSU(link state update)报文:携带LSA信息的报文。(类似于报刊会按照你订阅所需要看、但又还没有收到的报纸的单号进行递送)

  • ①收到了LSR请求报文后,LSU会进行回复;
  • ②默认情况下,LSU报文会周期为1800s动态更新,dead time为3600s;
  • ③当网络发生变化时,也会发送出LSU更新链路状态(触发更新);

(5)LSACK(link state ACK)报文:用来确认收到了LSU的报文,携带了LSA的详细信息(而不仅是LSA摘要了);(快递员给你送完东西,这时候快递员会验收确认,我们这边也要验货看看有无缺损、符不符合当初买的标准和实际的需求)

PS:LS Ack报文携带的仅是LSA的摘要并不会携带完整的LSA,跟DD报文类似。

那OSPF协议是怎么通过这几个报文运作?

 下图很好地描述了其运作的流程:

  上图粗略的描述了ospf路由协议是怎么通过报文运作的。但我还是墙裂建议各位亲自抓取OSPF报文来分析,理解会更深一点。

OSPF状态机是如何运作的啊?

1、down:刚开机时,随即发送第一个hello报文的状态。

2、init:发送了第一个hello报文后,等待收到对方发来hello报文的状态。

  • attempt:跟init状态类似,但它只用于NBMA接口网络类型之中

3、2-way:双向连接,收到了邻居发来的hello报文(其中携带一些信息说明本设备为邻居的route id等),在这个状态里完成DR和BDR的选举

PS:
  DR(Designated Router),指定路由器
  BDR(Backup Designated Router),备份指定路由器

4、exstart:双方开始交换‘空’的DD报文,通过DD报文中序号等摘要信息协商并选举出主从设备。

为什么要选举主从设备?
 选举主从设备用于确定由哪台路由器开始发送DBD包。
 由于ospf主要是建立在IP数据包的基础上,所以没有tcp报文的可靠传输保证,所以需要建立主从关系保证DBD数据库描述信息可靠交互。虽然主从选举表面只是一种关系选举,实际上是一种可靠更新机制,保证数据传输有序、可靠。

  其中主从关系选举与优先级无关,只与Router-ID 有关

  • router id较大的设备(比如选举出的主设备),不一定是DR

5、exchange:双方交换携带了LSA摘要DD报文,用于同步LSDB(可以说双方各自存储着自己的LSA报文数据库即LSDB)。

6、loading:用于加载exchange交换之后各自缺少的LSA报文。(此过程会发送LSR、LSU、LSAck报文)

7、**full:**同步LSDB完成。(此过程拓扑链路发生变化会发送HELLO、DD报文、LSR、LSU、LSAck报文,以进行动态刷新LSDB)

  下面演示七种状态通过OSPF协议如何运作的一个状态机制:

 下图进一步的描述了OSPF协议的状态机大致运作流程。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200310172758110.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyNjA1MzAw,size_16,color_FFFFFF,t_70)

如果OSPF进程停留在某个状态,问题出至哪里呢?

答:
停留在init状态:存在流量过滤,或链路存在单点故障
停留在2-way状态:DR/BDR选举卡住了,通常是路由器中双方或某一方弃权了导致选举不成功(优先级为0时代表弃权)

停留在exstart、exchange、loading状态:通常是本端接口的MTU与对端接口的MRU不一致,本端发送的报文过大,对端接收不过来;(但注意两设备互联接口的MTU不匹配,华为默认不检查的)

那OSPF链路状态(拓扑)发生改变时怎么办?

答:OSPF是链路状态路由协议,当链路状态(拓扑)发生变化时会执行触发更新机制,即:当链路状态发生改变时,运行OSPF的设备就会泛洪发出链路更新报文(LSU),如此很快地就告知给了所有相邻的路由器,然后通过比对链路数据库(LSDB)与路由表(Routing table),找出拓扑变化的部分,进而更新LSDB。

搞懂邻居关系、邻接关系及其区别

1、邻居关系?邻接关系?
 邻居关系:邻居之间只能发送hello报文;
 邻接关系:OSPF的五种报文都可以发送;

2、DR、BDR、DR other

在这之前我们先明白**DR、BDR、DR other是什么角色?**

DR:相当于一个班级(广播网络)里被选举出来的正班长。
BDR:相当于一个班级里选举出来的的副班长。
DR other:该班级学生里面除了上面的正班长、副班长之外的“臣子”了。

3、邻居关系和邻接关系区别?
  理解了DR、BDR 和 DR other所扮演的角色,我们可以这样认为:邻居关系是简单的隔壁关系,邻接关系是更深层次的友好关系。

  • DR/BDR与DR other之间是邻接关系;(班长/副班长与班级同学肯定友好啦)
  • BDR与DR之间是邻接关系;(副班长与班长肯定友好啦)
  • DR other与DR other之间邻居关系;(同学和同学就是毗邻而已,关系不一定友好)

最通俗易懂的OSPF五种报文+七种状态相关推荐

  1. 华为OSPF抓包分析七种状态

    前言: OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(Auto ...

  2. 3.OSPF的协议报文和链路状态通告

    0x01.OSPF报文 1.报文:Packet 2.链路状态通告:LSA 3.OSPF是动态路由协议,需要报文来维护关系 4.IP承载OSPF报文: | Link Layer Header | IP ...

  3. 优化 | 浅谈旅行商(TSP)的七种整数规划模型

    作者:彭澜 纽约州立大学水牛城分校工业工程系在读博士生,研究方向:车辆路径规划问题(VRP) 旅行商问题(TSP)是运筹学领域最知名的问题之一.本文将从整数规划模型建模的角度,介绍七种不同的建模方式, ...

  4. 华为——OSPF单区域实验配置,实验抓包分析,五种报文分析,六种LSA介绍,以及如何建立邻接关系的七种状态

    华为--OSPF单区域实验配置,实验抓包分析,五种报文分析,六种LSA介绍,以及如何建立邻接关系的七种状态 前言 一:OSPF简介 1.1:工作原理 1.1.1:架构介绍 1.1.2:信息传递 1.1 ...

  5. 关于OSPF的五种报文类型介绍、OSPF八种状态机变化与报文交互介绍。

    4.2.2 路由 OSPF(OSPF的5种报文.8种状态机.邻居与邻接的形成) 目录 OSPF的5种报文 Hello报文 报文字段简介 DD/DBD报文 DD报文字段简介(首个DD报文) DD报文字段 ...

  6. 【HCIP】OSPF协议的五种报文格式

    G Z H : 数通那点事   一起分享数通ia,ip,ie相关资料 在Hcia阶段,我们简单介绍了OSPF的5种报文,分别是Hello报文,DD报文,LSR报文,LSU报文,LSACK报文.今天,我 ...

  7. 报文如何截取时间_5种报文、8种邻居状态机详解OSPF工作原理

    上一章节介绍了OSPF相比RIP具有无环路.路由收敛速度快.可扩展性好的特点.知识卡片 | 链路状态路由协议OSPF凭什么会取代RIP? 我们知道路由协议的最终目的是为了计算最优路由加入路由表来指导I ...

  8. ospf四类,五类和七类LSA详解

    ospf四类,五类和七类LSA详解 前三类的LSA可以看ospf的一类,二类和三类LSA详解 ospf的四类和五类LSA只有在有外部路由的时候才会出现 第五种L:AS-External-LSA 由AS ...

  9. 列举ospf的5种报文类型_ospf报文类型有哪些_ospf的5种报文类型

    ospf报文 OSPF协议使用一种称之为Hello的报文来建立和维护相邻邻居路由器之间的链接关系.这个报文很简单的,容量很小,仅用来向邻居路由器证明自己的存在,就像人与人之间的打招呼一样.我们在第8章 ...

最新文章

  1. Python 开源项目大集合,跨 15 个领域,181 个项目
  2. C#利用Attribute实现简易AOP介绍 (转载)
  3. Microsoft Azure_Fabric
  4. linux裸设备文件系统,Linux当中的文件系统
  5. 怎样写 OpenStack Neutron 的 Extension (四)
  6. python模拟登陆
  7. StringBuilder 和 String拼接10万个字符串的速度测试差别太大了
  8. 高压特种作业考试易错总结
  9. vue-router区分hash模式和history模式
  10. 实现自动带密码登陆远程机执行shell命令(linux)
  11. heatmap(热图)
  12. linux系统下tar打包压缩命令的使用总结
  13. vue echarts动态数据定时刷新
  14. Convert.ToInt32()与int.Parse()的区别
  15. C#之数据库编程:从入门到精通
  16. 应用安全 - 操作系统安全 - Linux系统加固
  17. [洛谷P2463][SDOI2008]Sandy的卡片
  18. grads插值_GrADS中填色标尺cbarn用法
  19. matlab地理数据导入,基于Matlab的栅格地理数据处理-快速入门系列(1)
  20. Ubuntu关机(shut down)(power off)后不断电的问题

热门文章

  1. 2018美团CodeM 题解
  2. GEE遥感云大数据在林业中的应用
  3. 2022N1叉车司机考试题库及模拟考试
  4. nyoj166-小珂的数学题
  5. 打印样式CSS的技巧和要点介绍
  6. 苹果笔记本有uefi启动吗_联想和华硕笔记本重装系统时新BIOS无法设置u盘启动怎么办...
  7. Python pandas数据分列,分割符号固定宽度
  8. Andorid去掉音量后面多余的图标
  9. IllegalStateException:AnnotationConfigServletWebServerApplicationContext@73ba6fe6 has been closed
  10. 免激活Vista并合法使用1年的方法