你搞懂OSPF协议了吗?

简介: 本篇内容记录了OSFP的相关概念和操作。

前言:越往后学越发现网络基础的重要性!掌握好网络的底层原理至关重要!更新一个ospf协议的详解!


因为笔记我记在Onenote上了,所以有的是图片,原谅我偷个小懒 ^ - ^


Wireshark很好用,能更好的理解!汉化版的可以看我主页!


1.它是啥?:


ospf使用组播(224.0.0.5和224.0.0.6)
收敛较快
以开销作为度量值
使用SPF算法可以有效避免环路
触发式更新(30分钟发送定期更新,被称为链路泛洪)
区域设计使OSPF能支持更大规模的网络
通过LSA(链路状态)形式发布路由
不支持自动汇总,支持手动汇总
OSPF直接运行在IP协议之上,使用IP协议号89。


2.它是咋工作的?:


1、发现并建立邻居
2、传播LSA(区别于距离矢量的路由表更新)
  a、Link stat Advertisement,链路状态宣告(路况信息)
  b、链路:路由器接口
  c、状态:描述接口信息(地址、掩码、开销、网络类型、邻居关系等)
3、将LSA泛洪到区域中的所有OSPF路由器,而不仅是直连的路由器
4、收集LSA创建LSDB(链路状态数据库、地图)
5、使用SPF算法计算到每个目标网络的最短距离,并将其置于路由表中


记住三张表
ospf三张表:
邻居表          记录所有邻居关系
链路状态数据库          记录所有链路状态信息
路由表                             记录最佳路由


3. 一个小概念:


运行ospf之前必须选取一个RID
用来标识一台ospf路由器
RID可以手动配置,也可以自动生成
选取规则:
1、手动配置
2、活动回环接口上选取IP地址最高的
3、活动物理接口上选取IP地址最高的
PS:RID选举具有非抢占性,除非重启OSPF进程


4. 它的类型都有啥?:


Hello      建立并维护邻居关系
DBD(Database Description) LSDB摘要(仅含LSA头部)
LSR(Link State Request)请求LSA
LSU(Link State Update)发送LSA
LSACK(Link State Acknowledgment)对LSU确认


图文讲解5类数据包:


1、简单模拟ospf过程,用抓包工具进行分析!


微信图片_20220510113955.png


微信图片_20220510114000.png


微信图片_20220510114005.png


微信图片_20220510114012.png


微信图片_20220510114017.png


5. 它的邻居状态?:


邻居和邻接关系建立的过程如下:


Down:这是邻居的初始状态,表示没有在邻居失效时间间隔内收到来自邻居路由器的Hello数据包。

Init:在此状态下,路由器已经从邻居收到了Hello报文,但是自己不在所收到的Hello报文的邻居列表中,尚未与邻居建立双向通信关系。

2-Way:在此状态下,双向通信已经建立,但是没有与邻居建立邻接关系。这是建立邻接关系以前的最高级状态。

ExStart:这是形成邻接关系的第一个步骤,邻居状态变成此状态以后,路由器开始向邻居发送DD报文。主从关系是在此状态下形成的,初始DD序列号也是在此状态下决定的。在此状态下发送的DD报文不包含链路状态描述。

Exchange:此状态下路由器相互发送包含链路状态信息摘要的DD报文,描述本地LSDB的内容。

Loading:相互发送LSR报文请求LSA,发送LSU报文通告LSA。

Full:路由器的LSDB已经同步。


微信图片_20220510114209.png


微信图片_20220510114214.png


微信图片_20220510114241.png


微信图片_20220510114247.png


微信图片_20220510114255.png


微信图片_20220510114301.png


微信图片_20220510114308.png


微信图片_20220510114313.png


微信图片_20220510114320.png


6.怎么建立邻居关系呢?


微信图片_20220510114550.png


7.老大和老二(DR和BDR)


微信图片_20220510114611.png


微信图片_20220510114615.png


微信图片_20220510114621.png


微信图片_20220510114626.png


微信图片_20220510114632.png


微信图片_20220510114641.png


微信图片_20220510114645.png


微信图片_20220510114650.png


微信图片_20220510114655.png


微信图片_20220510114702.png


微信图片_20220510114713.png


8.来个综合


微信图片_20220510115055.png


微信图片_20220510115100.png


微信图片_20220510115110.png

相关文章
|
监控 算法
探秘Guava的RateLimiter:单机流量控制的黄金法宝
探秘Guava的RateLimiter:单机流量控制的黄金法宝
416 0
|
JSON 网络协议 开发工具
对已有的docker容器添加新的目录映射, 端口映射,环境变量,dns等
docker容器已经建立并运行, 需要在已有容器上添加新的目录映射,端口映射,环境变量等
3155 0
|
Java 数据库连接 Maven
IDEA创建SpringBoot的多模块项目教程
IDEA创建SpringBoot的多模块项目教程
807 0
|
运维 关系型数据库 Serverless
PolarDB介绍
阿里云推出PolarDB MySQL Serverless,融合高性能与灵活性,实现数据计算分离和自动弹性扩缩容。用户享受无服务器体验,无需预配置资源,降低运维成本。核心优势在于成本效益、弹性伸缩、简化运维和高性能。适用于流量不可预测、开发测试、临时项目和创新实验场景,是云原生应用的理想选择。
202 2
|
搜索推荐 Docker 容器
生信分析代码之前还好好的,怎么就报错了 Error in Ops. data. frame(guide_loc, panel_loc) :'==' only defined for equally-sized data frames
执行 `DimPlot` 函数时遇到错误 `;Error in Ops. data. frame(g guides_loc, panel_loc) : '==' only defined for equally-sized data frames`。解决方案和办法
2352 0
生信分析代码之前还好好的,怎么就报错了 Error in Ops. data. frame(guide_loc, panel_loc) :'==' only defined for equally-sized data frames
|
数据采集 存储 安全
利用爬虫技术自动化采集汽车之家的车型参数数据
汽车之家是一个专业的汽车网站,提供了丰富的汽车信息,包括车型参数、图片、视频、评测、报价等。如果我们想要获取这些信息,我们可以通过浏览器手动访问网站,或者利用爬虫技术自动化采集数据。本文将介绍如何使用Python编写一个简单的爬虫程序,实现对汽车之家的车型参数数据的自动化采集,并使用亿牛云爬虫代理服务来提高爬虫的稳定性和效率。
865 0
利用爬虫技术自动化采集汽车之家的车型参数数据
|
人工智能 分布式计算 大数据
AI Native平台,跨越AI应用从创新到生产的鸿沟
2024年是AI应用的元年,以大模型为中心的 AI Native 应用大爆发正在从理想变成现实。云计算带来的应用创新潮,经历了虚拟机时代和云原生时代,正在全面拥抱以大模型为核心的 AI Native 阶段,推动大数据与AI的工作流前所未有地紧密结合。领先大模型、高效的AI计算平台和统一的大数据平台是 AI Native 应用广泛落地背后不可获缺的要素。 9月20日,2024云栖大会上,阿里云副总裁、阿里云计算平台事业部负责人汪军华宣布大数据AI平台全面升级,为 AI Native 应用大爆发提供坚实的平台支撑。
|
开发工具
部署安装zookeeper集群
部署安装zookeeper集群
134 0
|
资源调度 分布式计算 Hadoop
Flink 集群安装部署和 HA 配置
我们在这一课时将讲解 Flink 常见的部署模式:本地模式、Standalone 模式和 Flink On Yarn 模式,然后分别讲解三种模式的使用场景和部署中常见的问题,最后将讲解在生产环境中 Flink 集群的高可用配置。
4597 0
Flink 集群安装部署和 HA 配置
|
SQL 算法 关系型数据库
MySQL中表视图使用操作详解
MySQL中表视图使用操作详解
329 1
下一篇
开通oss服务