【HCIP学习】OSPF协议基础

news2025/1/25 9:23:17

一、OSPF基础

1、技术背景(RIP中存在的问题)

RIP中存在最大跳数为15的限制,不能适应大规模组网

周期性发送全部路由信息,占用大量的带宽资源

路由收敛速度慢

以跳数作为度量值

存在路由环路可能性

每隔30秒更新

2、OSPF协议特点

没有跳数限制,适合大规模组网

使用组播更新变化的路由和网络信息 

路由收敛快

以COST作为度量值

采用SPF算法有效避免环路

每隔30分钟更新

在互联网上大量使用,是运用最广泛的路由协议

注意:OSPF传递的是拓扑信息和路由信息,RIP传递的是路由表

3、OSPF三张表

邻居表:记录邻居状态和关系

拓扑表:链路状态数据库(LSDB)

路由表:记录由SPF算法计算的路由,存放在OSPF路由表中

4、OSPF数据包(可抓包)

OSPF报文直接封装在IP报文中,协议号89

头部数据包内容:

版本(Version):对于OSPFv2,该字段值恒为2----使用在IPV4中。对于OSPFv3,该字段值恒为3----使用在IPV6中

类型(Type):该OSPF报文的类型。该字段的值与报文类型的对应关系是:1-Hello;2-DD;3-LSR;4-LSU;5-LSAck。

报文长度(Packet Length):整个OSPF 报文的长度(字节数)。

路由器ID (Router Identification):路由器的OSPF Router-ID。

区域ID (Area Identification):该报文所属的区域ID,这是一个32bit 的数值。

校验和(Checksum):用于校验报文有效性的字段。

认证类型(Authentication Type):指示该报文使用的认证类型。

认证数据(Authentication Data):用于报文认证的内容。

(1)hello:hello包携带自己的router ID、被发现的邻居标识,用来周期保活的,发现,建立邻居关系。

网络掩码(Network Mask):一旦路由器的某个接口激活了OSPF,该接口即开始发送Hello报文,该字段填充的是该接口的网络掩码。两台OSPF 路由器如果通过以太网接口直连,那么双方的直连接口必须配置相同的网络掩码,否则影响邻居关系建立。

Hello间隔(Hello Interval):接口周期性发送Hello报文的时间间隔(单位为s)。两台直连路由器要建立OSPF邻居关系,需确保接口的Hello Interval相同,否则邻居关系无法正常建立。

可选项(Options):该字段一共8bit,每个比特位都用于指示该路由器的某个特定的OSPF 特性。Options字段中的某些比特位会被检查,这有可能会直接影响到OSPF邻接关系的建立。(特殊区域的标记)

路由器优先级(Router Priority):路由器优先级,范围:0-255,默认是1,数字越大,代表路由优先级越高,也叫DR优先级,该字段用于DR、BDR 的选举

路由器失效时间(Router Dead Interval):在邻居路由器被视为无效前,需等待收到对方Hello报文的时间(单位为s)。两台直连路由器要建立OSPF 邻居关系,需确保双方直连接口的Router Dead Interval相同,否则邻居关系无法正常建立。缺省情况下,OSPF路由器接口的Router Dead Interval为该接口的Hello Interval的4倍。

指定路由器(Designated Router):网络中DR的接口IP地址。如果该字段值为0.0.0.0,则表示没有DR,或者DR尚未选举出来。

备份指定路由器(Backup Designated Router):网络中 BDR的接口IP地址。如果该字段值为0.0.0.0,则表示网络中没有BDR,或者BDR尚未选举出来。

邻居(Neighbor)。在直连链路上发现的有效邻居,此处填充的是邻居的Router-iD,如果发现了多个邻居,则包含多个邻居字段。

(2)DBD(数据库描述报文):仅包含LSA摘要

接口最大传输单元(Interface Maximum Transmission Unit):接口的MTU。

可选项(Options):路由器支持的OSPF可选项。

DD报文置位符:

          I:init位,I=1,这是第一个DD报文

          M:more位,M=1表示后续还有DD报文

          MS:master位,MS=1,表示本端为主

DD序列号(DD Sequence Number): DD报文的序列号,在DD报文交互的过程中,DD序列号被逐次加1,用于确保DD报文传输的有序和可靠性。值得注意的是,DD序列号必须是由Master路由器来决定的,而Slave路由器只能使用Master路由器发送的DD序列号来发送自己的DD报文。(route id大的设备会成为master)

LSA头部(LSA Header):当路由器使用DD报文来描述自己的LSDB时,LSA的头部信息被包含在此处。一个DD报文可能包含一条或多条LSA的头部。

二、LSA的头部

LSA是OSPF的一个核心内容,如果没有LSA,OSPF是无法描述网络的拓扑结构及网段信息的,也无法传递路由信息,更加无法正常工作,在OSPFV2中,需要我们掌握的主要有6种。

LSA头部一共20byte,每个字段的含义如下。

链路状态老化时间(Link-State Age):指示该条LSA的老化时间,即它存在了多长时间,单位为秒,

    1800s周期归0,触发当下归0

        MAX age --- 3600S ------ 当一条LSA的老化时间到达最大老化时间时,将被认定失效,将从本地的LSDB中删除掉。

可选项(Options):每一个比特位都对应了OSPF 所支持的某种特性。 ------ 和hello包中的一样,包含特殊区域标记

链路状态类型(Link-State Type): 指示本条LSA的类型。每种 LSA用于描述OSPF 网络的某个部分,所有的LSA类型都定义了相应的类型编号。

链路状态ID(Link-State ID): LSA的标识。不同的LSA类型,对该字段的定义是不同的。

通告路由器(Advertising Router): 始发路由器, 产生该LSA的路由器的Router-ID

链路状态序列号(Link-Sate Sequence Number)

     该LSA的序列号,该字段用于判断LSA的新旧或是否存在重复

链路状态校验和(Link-State Checksum):校验和会参与LSA的新旧比较。当两条LSA三元组相同,并且序列号也相同时,则可以使用校验和比较,和大的认定为新。

长度(Length):一条LSA的总长度

三、6种类型的LSA(课堂演示)

1、type1-LSA:----重要且复杂

(1)定义:router LSA

描述区域内部与路由器直连的链路信息(链路类型、开销值等)

仅在区域内部传输

每台路由器都会产生Type1 LSA

[R1]dis ospf lsdb router  查看Type1 LSA的具体信息

(2)LS ID:发出该LSA的路由器的router-id

(3)Adv Rtr:始发路由器,产生该LSA的路由器的router-id

(4)链路ID:不同的链路类型,对链路ID值的定义是不同的。

(5)链路数据(Link Data):不同的链路类型对链路数据的定义是不同的。

(6)link-type:链路类型,描述该接口的二层类型

transnet:

类型:广播网络或者NBMA

link-id:本网段的DR的IP地址

Date:本路由器在该网段的IP地址

P2P:

类型:ppp

link-id:该网段对端路由器的router-id

Date:本路由器在该网段的与对端路由器相连的接口的IP地址

stubnet(末梢网络):

类型:p2p\环回口

link-id:该网段的网络地址

data:该网段的子网掩码

 Virtual(虚链路):

类型:虚链路

link-id:虚链路邻居的router id

data:去往该虚连接邻居的本地接口的IP地址

(7)VEB标志位(了解):

V位(Virtual Link Endpoint Bit):如果该比特位被设置为1,则表示该路由器为Virtual Link的端点。

E位(External Bit):如果E比特位被设置为1,则表示该路由器为ASBR。在Stub区域中,不允许出现E比特位被设置为1的Type-1 LSA,因此Stub区域内不允许出现ASBR。

B位(Border Bit):如果B比特位被设置为1,则表示该路由器为两个区域的边界路由器,字母B意为Border(边界)。

2、type2-LSA:

(1)定义:

network LSA

描述区域内的MA网络(广播网络、NBMA网络)链路的路由器及掩码信息

仅在区域内部传输

只有DR才会产生type2_LSA

[R1]dis ospf lsdb network  查看Type2 LSA的具体信息

(2)内容:

LS ID:该网段的DR的IP地址

Adv Rtr:该网段DR的router-id

network mask:该网段DR的IP地址的子网掩码信息

3、type3-LSA:

(1)定义:

Summary LSA(聚合LSA)

在整个OSPF区域内,描述其他区域的链路信息

以子网形式传播,类似直接传递路由

只有ABR会产生type3_LSA

[R1]dis ospf lsdb summary  查看Type3 LSA的具体信息

(2)内容:

LS ID:其他区域某个网段的网络地址

SubAdv Rtv:通告该LSA的ABR的router-id

net mask:该网段的子网掩码

注:3类LSA的传递范围在ABR相邻的单区域中进行,跨区域传递时,需要进行通告者的转换,通告者变了,则将不是同一条LSA

4、type4-LSA:

(1)定义:

Asbr-summary LSA

描述ASBR的信息

只有ABR才会产生TYPE4 LSA

(2)内容:

LS ID:ASBR的router-id

Adv Rtv:通告描述该ASBR的ABR的router-id

[R1]dis ospf lsdb asbr  查看Type4 LSA的具体信息

注:在ASBR本区域的内部路由器,不会产生到达该ASBR的4类LSA

5、type5-LSA:

(1)定义:

AS_extenal LSA,传递域外路由信息

描述AS外部引入的路由信息,会传播到所有区域(特殊区域除外)

只有ASBR才会产生type5_LSA

(2)内容:

LS ID:外部路由的目的网络地址

Adv Rtv:引入该网络路由的ASBR的ABR的router-id

net mask:引入的该目标网段的子网掩码

[R1]dis ospf lsdb ase  查看Type5 LSA的具体信息

6、type7-LSA:

(1)定义:

NSSA  LSA

描述在NSSA区域引入的AS外部路由信息

只会出现在NSSA和totolly NASS区域,不能进入area 0

7类LSA生成路由信息的标记位,O_NSSA,优先级150

(2)内容:

LS ID:外部某个网段的网络地址

Adv Rtv:引入该网络路由的ASBR的ABR的router-id

区域内传拓扑,区域间传路由

四、OSPF的网络类型

1、定义:

对于不同的二层链路类型的网段,OSPF会生成不同的网络类型

不同的网络类型,DR\BDR选举,LSA细节,协议报文发送形式等会有所不同

2、类型:

(1)NBMA(非广播多点可达网络)

非广播多点可达网,帧中继默认的网络类型

单播发送协议报文(天生不支持广播和组播),需手动指定邻居

命令:[r2-ospf-1]peer 192.168.1.1 (邻居IP地址)

需要选举DR\BDR,为了减少LSA的泛洪,减少网络负担

hello-time 是30秒,dead-time 是120秒

(2)P2MP(点到多点网络)

点到多点网络,由其他网络类型手动更改:例如在ospf接口下:ospf network-type 网络类型

模拟组播发送协议报文(帧中继建立子接口模拟组播发报文),需要手动指定邻居;

不选举DR\BDR,因为设备少,所以不选举

hello-time 是10秒,dead-time 是40秒

(3)Broadcast(广播网络)

广播网络,以太网默认的网络类型

组播发送协议报文

需要选举DR\BDR,224.0.0.5是所有运行OSPF的接口会监听,224.0.0.6是所有DR/BDR的接口会监听

hello-time 是30秒,dead-time 是120秒

(4)P2P(点到点网络)

点到点网络,ppp默认网络

组播协议发送报文

不选举DR\BDR

hello-time 是10秒,dead-time 是40秒

五、基于OSPF的MGRE实验

基于ospf的MGRE出现问题:ospf的路由表学习不全

问题1:Tunnel接口类型为P2P类型,不选举DR/BDR,使得设备无法正常建立邻接关系,

解决方法:更改网络中tunnel接口类型为广播

[R2]interface Tunnel 0/0/0

[R2-Tunnel0/0/0]ospf network-type broadcast

问题2:DR和BDR选举混乱,无法正常建邻

更改网络类型后,广播网络中中心站点和分支站点处于同一个广播域,此时需要进行DR和BDR的选举,但是在分支站点的世界里只和中心站点认识,分支站点和分支站点不认识,这就会发生多个分支站点和一个中心站点互相竞选DR和BDR,这样会造成选举结果混乱,可在中心站点看到混乱的场景                   

解决方法:将分支站点的dr选举优先级变0,这样就能保证中心站点是整个广播网络中唯一的DR

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1600627.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用python采集VIP会电商平台商品数据②单页数据采集

获取标头: 响应:服务器返回的数据 预览:查看响应得数据 载荷:查询参数/请求参数 标头:查看请求的网址/请求的标头/请求方法 数据包地址:https://mapi.vip.com/vips-mobile/rest/shopping/pc/product/mo…

2024五一杯数学建模A题思路分析

文章目录 1 赛题思路2 比赛日期和时间3 组织机构4 建模常见问题类型4.1 分类问题4.2 优化问题4.3 预测问题4.4 评价问题 5 建模资料 1 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 2 比赛日期和时间 报名截止时间:2024…

如何在TestNG中生成报告

在这篇文章中&#xff0c;我们将学习如何在TestNG中生成测试报告。我们将使用ReportNG生成报告&#xff0c;因为它生成的报告比默认的TestNG报告更好。 我们将遵循一些简单的步骤来生成报告。 添加ReportNG依赖项 <!-- https://mvnrepository.com/artifact/org.uncommons…

GPT 浅析

GPT 浅析 文章目录 GPT 浅析GPT 1无监督预训练有监督微调任务相关的输入变换 GPT2GPT3 GPT 1 在模型架构上&#xff0c;GPT-1基于Transformer构造&#xff0c;这是因为与其他卷积神经网 络或者循环神经网络相比&#xff0c;Transformer提供了效率更高的方法来处理文本 中的长期…

kkFileView基于pdf.js实现多词高亮

参考文档&#xff1a; 1.文件文档在线预览转换解决方案和应用 2.kkfileview预览pdf格式文件&#xff0c;实现多关键词高亮和定位_kkfileview高亮方案-CSDN博客 3.PDF.js实现搜索多个不同的关键词高亮显示效果 最终效果&#xff1a; 需求描述&#xff1a; 预览文件时&#xff0…

Kafka服务端(含Zookeeper)一键自启软件

1. 前言 本文介绍了一款集成图形化界面配置和一键自启功能的Kafka与Zookeeper服务管理软件。该软件通过直观易用的图形界面&#xff0c;使用户能够轻松完成Kafka和Zookeeper的配置工作&#xff0c;有效避免了手动编辑配置文件可能带来的错误和不便。同时&#xff0c;软件还提供…

Django中的实时通信:WebSockets与异步视图的结合【第167篇—实时通信】

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 在现代Web应用程序中&#xff0c;实时通信已经成为了必不可少的功能之一。无论是在线聊天、…

云计算: OVN 集群 部署分布式交换机

目录 一、实验 1.环境 2.OVN 集群 部署云主机 3.中心端添加DVS分布式大二层交换机 二、问题 1.南向控制器查看主机名只显示localhost 2.中心端如何添加DVR分布式⼤三层路由器 一、实验 1.环境 (1) 主机 表1 宿主机 主机架构软件主要服务IP备注ovn_central中心端 ovn…

Unity 点击次数统计功能

介绍 &#x1f4a1;.调用方便&#xff0c;发生点击事件后直接通过"xxx".CacheClick缓存 &#x1f4a1;. 在允许的时间间隔内再次点击会累计点击次数&#xff0c;直到超出后触发事件 传送门&#x1f448;

WebLogic 数据源连接泄露

编码时&#xff0c;有时会忘记释放使用的数据源连接&#xff0c;造成连接泄露&#xff0c;没有连接资源可用。 现象 java.sql.SQLException: Cannot obtain XAConnectionat weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1691)at weblogic.jdbc.jta.…

汉字编码实验

Logisim的简介和安装 首先要知道什么是logisim? Logisim是一种用于数字电路设计和模拟的开源工具&#xff0c;Logisim在2014年10月11日无限期暂停。因它足够简单&#xff0c;可以帮助学习逻辑电路相关的基本概念而闻名。Logisim被世界各地大学的学生在课程中使用。 Logisim的…

有回显命令执行-命令拼接+关键字绕过

[题目信息]&#xff1a; 题目名称题目难度有回显命令执行-命令拼接&#xff08;训练题&#xff09;2 [题目考点]&#xff1a; 远程命令执行漏洞&#xff0c;用户通过浏览器提交执行命令&#xff0c;由于服务器端没有针对执行函数做过滤&#xff0c;导致在没有指定绝对路径的…

快速切换node.js版本方法(使用开源项目方便切换版本)

1、安装nvm nvm下载地址&#xff1a;https://github.com/coreybutler/nvm-windows/ 2、输入nvm -v 3、查看可以安装的node.js版本 4、安装你想要的版本 5、查看是否安装成功&#xff08;*表示目前你使用的版本&#xff09; 6、切换版本 7、查询当前使用的版本

使用docker配置DSP-SLAM

一.Docker环境配置 1.简单介绍 –docker容器技术–。 简单理解&#xff1a;Anaconda用于隔离不同的python环境&#xff1b;docker可以理解成在你的机器里面安装了一个独立的系统&#xff0c;因此它可以隔离不同的CUDA环境&#xff0c;还有着独立的文件系统&#xff0c;防止别…

Matlab方程组拟合【案例源码+视频教程】

专栏导读 作者简介&#xff1a;工学博士&#xff0c;高级工程师&#xff0c;专注于工业软件算法研究本文已收录于专栏&#xff1a;《复杂函数拟合案例分享》本专栏旨在提供 1.以案例的形式讲解各类复杂函数拟合的程序实现方法&#xff0c;并提供所有案例完整源码&#xff1b;2.…

记一次Mysql数据库宕机This could be because you hit a bug.

Hi I’m Shendi 今天收到消息说所有软件不能用了&#xff0c;网页都打不开&#xff0c;遇到了问题&#xff0c;于是在这里记录一下 记一次Mysql数据库宕机This could be because you hit a bug. 起因 为了节省成本&#xff0c;对于小公司而言服务器数量通常不会太多&#xff…

HTTP协议安全传输教程

HTTP协议有多个版本&#xff0c;包括但不限于HTTP/0.9、HTTP/1.0、HTTP/1.1、HTTP/2和HTTP/3。这些版本各自具有不同的特点和改进&#xff0c;以适应网络技术的发展和满足不同的需求。例如&#xff0c;HTTP/1.0使用文本格式传输数据&#xff0c;简单易用且兼容性好&#xff0c;…

OpenCV基本图像处理操作(六)——直方图与模版匹配

直方图 cv2.calcHist(images,channels,mask,histSize,ranges) images: 原图像图像格式为 uint8 或 float32。当传入函数时应 用中括号 [] 括来例如[img]channels: 同样用中括号括来它会告函数我们统幅图 像的直方图。如果入图像是灰度图它的值就是 [0]如果是彩色图像 的传入的…

热门动画插件DoTween的使用

热门动画插件DoTween的使用 做游戏基本都会用到插件&#xff0c;它能让你的效率更高&#xff0c;因为它里面都是写好了的方法&#xff0c;只要用就可以了。在众多动画插件中&#xff0c;DoTween脱颖而出&#xff0c;因为它用起来很简单也很方便&#xff0c;自然用的人就多了。…

计算机视觉动作识别——YOWO用于实时时空动作定位与识别的算法解析

摘要 时空动作定位要求将两种信息源整合到设计的架构中&#xff1a;(1) 来自先前帧的时间信息和(2) 来自关键帧的空间信息。当前的最先进方法通常使用单独的网络提取这些信息&#xff0c;并使用额外的机制进行融合以获得检测结果。YOWO是一个用于视频流中实时时空动作定位的统…