OSPF 开放式最短路径优先协议

目录

技术产生原因:因为RIP存在不足

OSPF优点:

RIPV2和OSPFV2比较:

相同点:

不同点:

OSPF的结构化部署 --- 区域划分

区域划分的主要目的:

区域边界路由器 --- ABR :

区域划分的要求:

OSPF的数据包(共5个)

RID:

RID的生成方式:

OSPF的状态机:

OSPF的工作过程

邻居表:

数据库表:

关系选举:

条件匹配

结构突变情况:

OSPF的基本配置

1,启动OSPF进程

2,创建区域

3,宣告

路由相关信息:

拓展配置


技术产生原因:因为RIP存在不足

OSPF存在3个版本 :

OSPFV1(实验室阶段就夭折了)

OSPFV2 --- 适用IPV4

OSPFV3 --- 适用IPV6

OSPF优点:

1,OSPF本身是链路状态型协议,所以,计算出的路径不会存在环路;并且使用带宽作为选

路依据,所以,在选路的角度上优于RIP;

2,OSPF的计时器时间也短于RIP,所以,收敛速度会快于RIP;

3,因为OSPF协议传递的是LSA信息,所以,单个数据包的资源占用远大于RIP;但是,因为

RIP存在30S一次的周期更新,而OSPF并没有如此高频率的周期更新,并且,OSPF协议存在

许多针对资源占用的优化措施,所以,从整体的角度看,OSPF资源占用上应该小优于RIP。

RIPV2和OSPFV2比较:

相同点:

1,OSPFV2和RIPV2一样,都是无类别的路由协议,都支持VLSM和CIDR;

2,OSPFV2和RIPV2一样,都是使用组播发送数据;

组播地址:

RIPV2 --- 224.0.0.9

OSPFV2 --- 224.0.0.5和224.0.0.6

3,OSPFV2和RIPV2都支持等开销负载均衡;

不同点:

RIP协议只能适用于小型网络环境中,而OSPF协议可以应用在中大型网络环境中,即

OSPF协议可以实现结构化部署(划分区域)。

OSPF的结构化部署 --- 区域划分

区域划分的主要目的:

区域内部传递拓扑信息---LSA,区域之间传递路由信息。( --- 链路状态型协议的距离矢量特征)

如果一个OSPF网络只存在一个区域,这个网络称为单区域OSPF网络

如果一个OSPF网络存在多个区域,这样的网络称为多区域OSPF网络

区域边界路由器 --- ABR

同时属于多个区域,一个接口对应一个区域,必须有一个接口在区域0中,将区域内的拓扑信息收集计算成路由信息,之后进行传递。

(总结:区域之间可以存在多个ABR设备,一个ABR设备可以处于多个区域。)

区域划分的要求:

1,区域之间必须存在ABR设备;

2,区域划分必须按照星型拓扑结构进行划分。(星型拓扑的中间区域就是骨干区域。)

为了方便区分和标识不同的区域,我们给每一个区域都定义一个区域ID---area id

        area id 由 32位二进制构成,有两种表示方法:

                1,直接使用十进制进行表示;

                2,使用点分十进制进行表示。(骨干区域的区域ID定义为区域0。)

OSPF的数据包(共5个)

(OSPF协议具有周期更新机制,每个30MIN发送一次。)

1.hello包 :包携带自己的router id(RID)周期性的发送,建立和保活邻居关系。

        发送hello的周期时间 = 10S(以太网)/ 30S

        死亡时间(dead time) = 4倍的hello时间

(当周期时间不同时无法建立联系)

2.DBD包 :数据库(链路状态数据库 (LSDB))描述报文,包携带LSA摘要 ---- “菜单”

        LSA:装载和传输链路状态信息。(有多种类型)

3.LSR包 : 链路状态请求报文,基于DBD包,请求未知的LSA信息。 --- “点菜”

        LSA三元组:链路状态类型、链路状态ID、通告路由器。

                (通过三个参数能够标识出一条唯一的LSA)

4.LSU包 : 链路状态更新报文 --- 真正携带LSA的数据包 --- “上菜”

5.LSACK包 : 链路状态确认报文 --- 确认包

RID:

区分和标识不同的路由器 ,本质由32位二进制构成

特点:1,格式统一;2,全网唯一

RID的生成方式:

1,手工配置

2,自动生成:

首先,设备将优先选择环回接口的IP地址作为RID,如果存在多个环回接口,则将选择所有环回接口中IP地址最大的作为RID;如果没有配置环回接口,则将使用设备的物理接口的IP地址作为RID,如果物理接口存在多个,则选择IP地址最大的作为RID;

LSA

(有十一种之多,这里只介绍6种)

OSPF的状态机:

FULL 状态:标志着邻接关系的建立。 ---- 主要目的是为了和之前的邻居关系进行区分,邻居只能通过hello包进行保活,而邻接之间,可以交换LSA信息。

down状态:启动ospf之后,发出hello包进入下一个状态

init(初始化)状态:收到对方的hello包中包含自己本地的RID,则进入到下一个状态

Two-way(双向通信):标志着邻居关系的建立

        条件匹配:匹配成功,则进入到下一个状态;失败则停留在邻居状态,仅使用hello包进行周

期保活

exstart(预启动)状态:通过发送没有携带数据的DBD包来进行主从关系选举,比较RID来进行选举,RID大的为主,为主可以优先进入后面的状态

exchange(准交换)状态:交换携带数据(摘要信息)的DBD包进行LSDB数据库目录共享

loading(加载)状态:基于对端发送的DBD包,使用LSR/LSU/LSACK交换未知的LSA信息

OSPF的工作过程

邻居表:

启动配置完成,ospf协议向本地所有运行协议的接口以组播的形式(224.0.0.5)发送hello包;hello包中携带自己本地RID,以及本地已知的邻居的RID。之后,将收集到的邻居关系记录在一张表中。

数据库表:

邻居关系建立完成后,进行条件匹配。失败则停留在邻居关系,仅hello包进行保活。匹配成功,则开始建立邻接关系。

首先,使用未携带数据的DBD包进行主从关系选举。之后,使用携带数据的DBD包共享目录信息,然后,基本DBD包,通过LSR/LSU/LSACK获取未知的LSA信息,将所有的LSA信息保存本地的LSDB数据库。最后,基于LSDB,使用SPF算法进行计算,得到未知网段的路由信息,将其加载到路由表。收敛完成后,周期性的发送hello包进行保活,每30min一次周期更新。

关系选举:

DR和BDR(DR和BDR是接口的概念)

DR (指定路由器):和广播域内其他设备建立邻接关系

BDR (备份指定路由器) : 和广播域内其他设备建立邻接关系,称为DR设备的备份。

(一个广播域内部,至少需要4台设备才能看到邻居关系。)

条件匹配

在一个广播域中,若所有设备均为邻接关系,将出现大量的重复更新;需要进行DR/BDR的选举,所有DRother之间,仅维持邻居关系即可。

DR/BDR的选举规则 --- 1,先比较优先级,优先级最大的为DR,次大的为BDR;

优先级默认为1 --- 主要目的让人为修改

INTEGER<0-255> Router priority value

注意:如果将一个接口的优先级设置为0,则代表这个接口将放弃DR/BDR的选举。如果优先级相同,则比较RID。RID大的路由器所对应的接口为DR,次大的为BDR。DR/BDR的选举是非抢占模式的 ---- 一旦角色选举出来,则将无法抢占。 ---- 选举时间:40s(等同于死亡时间)

<r1>reset ospf 1 process --- 重启OSPF进程

结构突变情况:

1,突然新增一个网段:触发更新,第一时间将变更信息通过LSU包传递出去,需要ACK

确认

2,突然断开一个网段:触发更新,第一时间将变更信息通过LSU包传递出去,需要ACK

确认

3,无法联系: dead time --- 40后断开

OSPF的基本配置

1,启动OSPF进程

[r1]ospf 1 router-id 1.1.1.1 --- 手工配置RID需要在进程启动时配置

2,创建区域

[r1-ospf-1]area 0

3,宣告

作用

1,激活接口:只有宣告的网段包含的接口会被激活,只有激活的接口可以收发OSPF

的数据。

2,发布路由:只有激活的接口所对应的直连网段的路由才能被发布

        命令:

                [r1-ospf-1-area-0.0.0.0]network 1.1.1.1  0.0.0.0 --- 使用反掩码

                反掩码由连续的0和连续的1组成,0对应位不可变,1对应位可变。

路由相关信息:

优先级:华为设备,OSPF协议的默认优先级为10

COST值 = 参考带宽 / 真实带宽 (华为设备默认的参考带宽为100Mbps)

        (如果计算出来是一个小于1的小数,则直接按照1来算。如果是一个大于1的小数,只取

整数部分。)

参考带宽:[r1-ospf-1]bandwidth-reference 1000 --- 修改参考带宽

拓展配置

1,OSPF的手工认证

[r1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456

2,手工汇总 --- 区域汇总

在ABR设备上进行配置

[r2-ospf-1-area-0.0.0.0]abr-summary 192.168.0.0 255.255.254.0

3,沉默接口

配置了沉默接口的接口,将只接受不发送路由信息

[r2-ospf-1]silent-interface GigabitEthernet 0/0/2

4,加快收敛 --- 减少计时器的时间

[r1-GigabitEthernet0/0/0]ospf timer hello 5 --- 修改hello时间的方法

[r2-GigabitEthernet0/0/0]ospf timer dead ?

INTEGER<1-235926000> Second(s)

注意:邻居双方的hello时间和死亡时间必须相同,否则将断开邻居关系

5,缺省路由

[r3-ospf-1]default-route-advertise

注意:这个命令要求边界设备自身得具有缺省路由才行

[r3-ospf-1]default-route-advertise always --- 在没有缺省的情况下,强制下发缺省

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么做预约功能_让服务变得更便捷

在快节奏的现代生活中&#xff0c;时间成为了我们最宝贵的财富。无论是工作、学习还是休闲娱乐&#xff0c;我们都希望能够更加高效地利用每一分每一秒。而预约功能的出现&#xff0c;正是为了满足这一需求&#xff0c;让我们的生活变得更加便捷、高效。 工具/原料 微信小程序…

ABAP CONVERSION_EXIT_ATINN_INPUT

CONVERSION_EXIT_ATINN_INPUT 因为在直接使用ZMM015这个特性值会报错 点击执行之后&#xff1a; 然而这个是N类型的&#xff0c;我们的筛选条件是C类型的&#xff0c;数据类型是不匹配的。 这个是经过转换的

第一届AI Agent智能体现场开发大赛报名开启!8月上旬火热开赛~

由联想拯救者、AIGC开放社区、英特尔携手主办的“AI生成未来第二届拯救者杯OPENAIGC开发者大赛”已经正式启动&#xff0c;“2024 AI Agent极限挑战赛”作为特设专项赛道&#xff0c;也将同步于8月上旬开赛&#xff0c;参赛者将在更加紧张刺激的现场比赛中展现其技术与创造力。…

ActiveMQ 任意文件上传漏洞复现

一、使用弱口令登陆 ​ 访问 http://ip:8161/admin/ 进入admin登陆页面&#xff0c;使用弱口令登陆&#xff0c;账号密码皆为 admin&#xff0c;登陆成功后&#xff0c;headers中会出现验证信息 ​ 如&#xff1a; Authorization: Basic YWRtaW46YWRtaW4 # 二、利用PUT协议上…

程序设计语言(LOGO/Scratch/VB/C)

程序设计语言篇 文章目录 程序设计语言篇一、LOGO编程语言二、Scratch语言三、Visual Basic语言3.1 开发工具及语言特点3.2 常量与变量3.3 数据类型3.4 运算符&表达式3.4 常用的内部函数3.5 输入和输出3.6 选择与循环结构3.7 消息对话框四、C语言4.1 开发工具及语言特点4.2…

OpenAI开设首个亚洲办公室,定制GPT-4模型Token成本降低47%|TodayAI

OpenAI今日宣布&#xff0c;在日本东京设立新办公室&#xff0c;标志着该公司在亚洲市场的正式扩展。东京作为全球科技领域的领导者&#xff0c;其独特的服务文化和创新社区&#xff0c;是OpenAI选择作为亚洲第一站的理想地点。公司致力于与日本政府、当地企业和研究机构合作&a…

【解决】Spring Boot创建项目常见问题

&#x1f3a5; 个人主页&#xff1a;Dikz12&#x1f525;个人专栏&#xff1a;Spring学习之路&#x1f4d5;格言&#xff1a;吾愚多不敏&#xff0c;而愿加学欢迎大家&#x1f44d;点赞✍评论⭐收藏 目录 idea无maven选项 无效发行版17 类⽂件具有错误的版本 61.0, 应为 …

Vue 指令

Vue根据不同的指令&#xff0c;针对标签实现不同的功能 指令&#xff1a;带有v-前缀的特殊的标签属性 <!-- Vue指令--> <div v-html"str"></div><!-- 普通标签属性 --> <div class"box"></div> 目录 v-html v-sho…

反爬虫之代理IP封禁-协采云IP池

反爬虫之代理IP封禁-协采云IP池 1、目标网址2、IP封禁4033、协采云IP池 1、目标网址 aHR0cDovL3d3dy5jY2dwLXRpYW5qaW4uZ292LmNuLw 2、IP封禁403 这个网站对IP的要求很高&#xff0c;短时间请求十几次就会遭关进小黑屋。如下图&#xff1a; 明显是网站进行了反爬处理&…

使用剧本批量、自动管理逻辑卷设备实战

目录 1、目的 2、思考&#xff1a;这个时候使用ansible剧本比shell脚本的优势&#xff1a; 3、实战部署 3.1 让设备支持逻辑卷技术 3.2 使用lvol模块创建逻辑卷设备 3.3 使用filesystem模块来完成设备的格式化 3.4 最终剧本 3.5 执行剧本测试 3.6 查看受管主机的逻辑卷…

R语言 并行计算makeCluster报错

问题&#xff1a;使用parallel包进行并行计算&#xff0c; cl <- makeCluster(detectCores()) 出现以下问题&#xff1a; 解决方式&#xff1a;用makeClusterPSOCK命令代替即可 library("future") cl <- makeClusterPSOCK(124, revtunnel TRUE, outfile &…

【JAVA基础篇教学】第十二篇:Java中多线程编程

博主打算从0-1讲解下java基础教学&#xff0c;今天教学第十二篇&#xff1a;Java中多线程编程。 多线程编程是利用多个线程同时执行任务来提高程序的效率和性能。在 Java 中&#xff0c;多线程编程可以通过继承 Thread 类或实现 Runnable 接口来实现。下面是一个简单的多线程…

如何用个人电脑搭建一台本地服务器,并部署项目到服务器详细教程

服务器是一种高性能计算机&#xff0c;作为网络的节点&#xff0c;它存储、处理网络上80%的数据、信息&#xff0c;因此也被称为网络的灵魂。与普通计算机相比&#xff0c;服务器具有高速CPU运算能力、长时间可靠运行、强大I/O外部数据吞吐能力以及更好的扩展性。 服务器的主要…

(最新)华为 2024 届实习招聘-硬件通⽤/单板开发——第十一套和十二套

&#xff08;最新&#xff09;华为 2024 届实习招聘-硬件通⽤/单板开发——第十一套和十二套 部分题目分享&#xff0c;完整版带答案(有答案和解析&#xff0c;答案非官方&#xff0c;未仔细校正&#xff0c;仅供参考&#xff09;&#xff08;共十套&#xff09;获取&#xff…

汽车抗疲劳驾驶测试铸铁试验底座技术要求有哪些

铸铁平台试验台底座的主要技术参数要求 1、 试验台底座设计制造符合JB/T794-1999《铸铁平板》标准。 2、 试验铁底板及所有附件的计量单位全部采用 单位&#xff08;SI&#xff09;标准。 3、铸铁平台平板材质&#xff1a;用细密的灰口铸铁HT250或HT200&#xff0c;强度符…

Windows电脑使用Everything+cpolar搭建在线资料库并实现无公网IP管理文件

文章目录 推荐前言1.软件安装完成后&#xff0c;打开Everything2.登录cpolar官网 设置空白数据隧道3.将空白数据隧道与本地Everything软件结合起来总结 推荐 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家…

草柴返利APP如何查询领取天猫超市优惠券拿天猫超市购物返利?

草柴返利APP是一款购物省钱工具。通过草柴APP可查询到淘宝、天猫、京东隐藏的大额优惠券及购物返利。今天分享&#xff0c;如何使用草柴返利APP查询领取天猫超市商品的优惠券拿天猫超市购物返利。购物前先领券&#xff0c;确认收货后再拿返利&#xff1b; 草柴返利APP如何查询领…

Antd:在文本框中展示格式化JSON

要想将对象转换为格式化 JSON 展示在文本框中&#xff0c;需要用到 JSON.stringify JSON.stringify 方法接受三个参数&#xff1a; value&#xff1a;必需&#xff0c;一个 JavaScript 值&#xff08;通常为对象或数组&#xff09;要转换为 JSON 字符串。replacer&#xff1a…

神经网络压缩图像

简介 典型的压缩管道由四个组件组成&#xff1a; 编码&#xff1a;输入图像 x x x通过编码器函数 ε \varepsilon ε&#xff0c;将其转换为潜在表示 z z z。 量化&#xff1a;截断 z z z以丢弃一些不重要的信息 熵编码&#xff1a;使用某种形式的熵编码&#xff08;例如&…

C语言中的数据结构- -链表(1)

前言 前几节我们学习了C语言中的数据结构--顺序表&#xff0c;该数据结构类型相较于普通的数组而言有很多的优势&#xff0c;但是它还是在一定层面上存在着一些缺陷&#xff0c;可以归纳为以下三点&#xff1a; 1. 中间/头部的插⼊删除&#xff0c;时间复杂度为O(N)【数组的遍…