计算机网络基础 ---- 动态路由---OSPF协议----详解

news/2024/5/10 17:12:55/文章来源:https://blog.csdn.net/MonsterGibson200/article/details/127388220

OSPF协议:

ospf:开放式最短路径优先协议(Open Shortest Path First)

一、基本概念:

  • 是携带真实掩码(无类别链路状态IGP协议);
  • 周期更新(30min) + 触发更新 ---- (在RIP中讲过,不懂的小伙伴可以去RIP篇看看);
  • 在中大型网络中,需要结构化部署(划分区域,合理的 IP地址规划;区域内部传拓扑,区域之间传路由),因为此协议是链路状态协议,更新量随着网络的扩大,指数型的上升;
  • 优先级:10(华为);
  • 使用组播更新:
    • 224.0.0.5(所有OSPF路由器)
    • 224.0.0.6(一个MA网络中的DR/BDR接收的信息地址)

二、OSPF 的5种数据包:

  • Hello包:
    • 邻居的发现,关系的建立;
    • 周期(10s)的保活;
    • 携带Router-id(全网唯一,标识路由器的身份32位二进制组成,由点分十进制形式表示);
  • DBD包:(DB Description)
    • 数据库(拓扑)的描述;
    • 内部包含了所有的拓扑的目录信息;
  • LSR包:(Link State Request)
    • 链路状态的请求;
    • 请求获取未知的链路信息;
  • LSU包:(LS Update Packet)
    • 链路状态的更新;
    • 携带真正的LSA信息的数据包;
  • LSAck包: 链路状态的确认;

补充:

  • lsa:是一种链路状态,具体一条一条的路由信息或拓扑信息;但它不是一个包,是被LSU包携带的;
  • lsdb:链路状态数据库 ---- 所有 lsa 的集合;

三、OSPF 的7种状态机:

  • Down:关闭状态 ---- 一旦启动OSPF协议后,则发出Hello报文,进入下一个状态;
  • Init:初始化状态 ---- 收到的Hello报文中包含本地的Router-ID时,进入下一状态;
  • Two-way:双向通信 ---- 邻居关系建立的标志;
    在这里插入图片描述
    条件匹配: 匹配成功进入下一状态,匹配失败,则停留在邻居关系
  • Exstart:预启动状态 ---- 使用不携带信息的DBD包,进行主从关系的选举,Router-ID大的为主,优先进入下一个状态,解决了目录共享时的无序;
  • Exchange:准交换状态 ---- 使用携带了目录信息的DBD包,共享本地的数据库目录;
    在这里插入图片描述
  • Loading:加载状态 ---- 查看完邻接的 DBD 信息后,对比本地,然后基于本地的 lsa(链路状态)进行查询、lsr 向对端查询、对端使用 lsu 来传输这些 lsa 信息,获取完整的拓扑信息;
  • Full:是邻接关系建立的标志,意味着邻接间的数据库同步;

在这里插入图片描述

四、OSPF 的工作过程:

  • 启动配置完成后,邻居间开始收发 hello 包;hello 包中将携带本地及本地所有已知邻居的 Router-ID;之后生成邻居表;邻居间需要关注是否可以成为邻接的条件;若不能建立为邻接,将保持为邻居关系,仅 hello 包周期保活即可;
  • 若可以建立邻接关系;将使用 DBD进行本地数据库日录的对比;之后基于对比的结果,使用 LSR/LSU/LSack 来获取本地未知的 LSA 信息;使邻接关系间数据库(lsdb)完成同步(一致),生成数据库表;
  • 之后本地基于Isdb,使用spf算法,生成有向图 ==> 最短路径树 ==> 计算本地到达所有未知网段的最短路径,将其加载到本地路由表中;收敛完成;
  • 收敛完成后,邻居和邻接关系间均 hello 每10s 保活;每30min 一次邻接关系间周期数据库比对,保障一致;

五、OSPF 的基础配置:

  • 宣告:
    • 激活,可以手法 ospf 的信息;
    • 被选中接口的拓扑信息,可以共享给邻接;
    • 区域划分;
  • 区域划分的规则:
    • 必须是星形结构,编号为 0 的骨干区域(中心),大于0为非骨干区域(分支),非骨干区域必须直连骨干区域;
    • 必须存在 ABR ---- 区域边界路由器,两个区域间互联的设备;
  • 反掩码: 32位二进制,使用点分十进制表示,由连续的0和连续的1组成,0表示IP的对应位不变,1表示IP对应位可变;
//启动OSPF进程1,并配置rid为1.1.1.1如果不进行手工配置RID,最大环回IP地址>最大物理接口IP地址
[r1]ospf 1 router-id 1.1.1.1 
[r1-ospf-1]area 0                                       //进入骨干区域
[r1-ospf-1-area-0.0.0.0]network 12.1.1.0 0.0.0.255      //宣告,使用反掩码的形式宣告;
[r1-ospf-1-area-0.0.0.0]network 12.1.1.1 0.0.0.0
[r1-ospf-1-area-0.0.0.0]network 0.0.0.0 255.255.255.255
  • 启动配置完成后,邻居间收发 Hello 包,建立邻居关系,生成邻居表
[r1]display ospf peer //查看邻居表
[r1]display ospf peer brief //查看邻居简表
  • 邻居关系建立后,关注条件;匹配失败,保持为邻居关系,仅 hello 包周期保活;匹配成功可以建立邻接关系;邻接关系间,将使用 DBD/LSR/LSU/LSack 来获取本地未知的 LSA 信息; 完善本地的LSDB(数据库表);
[r1]display ospf lsdb              //查看数据库简表
  • 当数据库同步完成后;本地基于SPF算法,将数据库转换为有向图,再将有向图转换为树型结构;之后基于树形结构,以本地为起到到达所有未知网段的最短路径,加载到路由表中;
[r1]display ip routing-table protocol ospf    //查看路由表

六、OSPF 的扩展配置:

(1) DR/BDR选举:

邻居成为邻接关系的条件,与网络类型有关;

  • 网络关型:

    • 点到点 ---- 在一个网段内只能存在两个节点 ---- (串线链路)
    • MA ---- 多路访问 ---- 在一个网段内的节点数量不限制;不是当下连接了几个节点;而是该网络类型允许最终连接多个节点;---- (以太网)
  • 点到点网络邻居关系直接成为邻接关系;

  • 在 MA 网络中,将进行 DR/BDR 选举;

  • 在一个网段中仅 DR/BDR 与其他路由器为邻接关系,非 DR/BDR 之间是邻居关系;

  • 选举规则:

    • 先比较该网段所有参选设备接口的优先级,越大越优;默认优先级为1;取值范围 0-255,0标识不参选
    • 若所有参选者优先级相同;比较参选设备的RID,数值大的优;
  • 干涉选举:

    • DR优先级修改为最大,BDR次大;其他设备修改为0;
    • DR优先级最大,BDR次大 ---- 切记 OSPF 的选举是非抢占性的;故在修改完优先级后需要所有路由器重启OSPF进程;
[r2]interface GigabitEthernet 0/0/0
[r2-GigabitEthernet0/0/0]ospf dr-priority 3修改接口优先级
<r1>reset ospf process     //重启ospf进程
Warning: The OSPF process will be reset. Continue? [Y/N]:y

(2)区域汇总:

  • OSPF协议不支持接口汇.总;
  • 只能在ABR上将 A区域的拓扑计算所得路由共享给B区域时进行汇总;
[r2-ospf-1-area-0.0.0.0]abr-summary 1.1.0.0 255.252.0.0

R为一台连接区域О和其他区域的ABR;以上操作是,R2将通过区域0学习到的拓扑计算所得的路由,传递给其他区域时进行汇总,汇总网段1.1.0.0/22;

(3)被动接口:

  • 仅接受,不发送路由协议信息;
  • 只能用于连接用户终端的接口;
  • 不能用于直连路由器邻居间的接口,否则建立邻居关系;
[r1-ofps-1]silent-interface GigabitEthernet 0/0/0

(4)接口认证:

  • 在直连邻居或邻接的接口上配置,保障更新的安全
  • 模式、编号、密码要求邻居间一致
[r1-GigabitEthernet0/0/1]ospf authentication-mode md5 1 cipher 123456

(5)加快收敛:

  • 邻居间计时器:
    • 10s hello time,40s dead time;
    • 邻居间,修改本端的 hello time,本端的dead time自动4被关系匹配,但 ospf 中邻居间的hello time和 dead time必须完全一致,否则无法建立邻居关系;
[r1-GigabitEthernet0/0/0]ospf timer hello 5

(6)缺省路由:

  • 在边界路由器上定义缺省源头信息后,将向内网发送缺省路由;
  • 内部路由器将自动生成缺省路由指向边界路由器的方向;
[r1-ofps-1]default-route-advertise always

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

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

相关文章

Taichi 加速 Python 中图像处理

Taichi 咱来说一说哈 在计算机视觉&#xff08;特别是深度学习图片预处理、模型训练&#xff09;等复杂度较高&#xff0c;技术迭代速度快的领域&#xff0c;用 Python 快速开发出算法原型、验证效果是许多研发人员的首选方案。著名图像处理库 OpenCV 就提供了完整的 Python 封…

Ubuntu Linux 操作系统-清华大学开源软件镜像站下载

Ubuntu 是一个由全球化的专业开发团队建造的操作系统。它包含了所有您需要的应用程序&#xff1a;浏览器、Office 套件、多媒体程序、即时消息等。Ubuntu 是一个 Windows 和 Office 的开源替代品。 Ubuntu 的名称来自非洲南部祖鲁语或豪萨语的 “ubuntu” 一词&#xff08;译为…

总结超参数最优化

1.超参数是什么&#xff1f; 超参数是指的是比如SGD的一个学习率&#xff0c;或者是抑制过拟合时候的一个权重衰减率参数等等&#xff0c;这些参数需要一个合适的值才能很好的提升神经网络的学习效率 2.我们在进行超参数最优化的时候如何去做到超参数最优化&#xff1f; 2.1.设…

盘点十大国内外热门的SaaS点评平台

在B端市场里&#xff0c;企业如何调研、选择企服软件是困扰已久的问题。使用者需要选择合适的企服软件去提升企业内部效率&#xff0c;因此&#xff0c;选择一个合适的SaaS点评平台便非常重要。在SaaS点评平台&#xff0c;使用者可以了解、选择产品&#xff0c;而服务商可以收获…

撰写SCI论文好用的免费工具(下) - 易智编译EaseEditing

书接上文。易智编译再推荐几种好用的写作工具&#xff1a; 7.Grammarly Grammarly是谷歌浏览器的一个扩展程序&#xff0c;可在浏览器任一窗口中检查你文字的拼写和语法。无论是使用Google文档编写&#xff0c;撰写电子邮件还是发布文章&#xff0c;Grammarly都会指出英语错误…

CNN的识别机制

搬来这个给自己学学~~ 所有基础都要写一个 大佬勿怪 只为自己学习 近年来&#xff0c;CNN 因其优异的性能&#xff0c;在计算机视觉、自然语言处理等各个领域受到了研究者们的青睐。但是&#xff0c;CNN 是一个 「黑盒」 模型&#xff0c;即模型的学习内容和决策过程很难用人类…

Blazor组件自做十 : 光学字符识别 OCR 组件

光学字符识别 OCR 组件 演示地址 https://blazor.app1.es/ocr使用方法手机或者电脑点击拍照OCR可启动相机拍照,或者点击文件OCR选择文件,稍等片刻即可获得OCR结果.直接输入Url可识别在线图片AI表格识别 AI Form 演示地址 https://blazor.app1.es/aiform

读《趣学算法》:重开算法之门,时间复杂度与空间复杂度

14天阅读挑战赛 一、前言 程序 数据结构 算法 时过境迁&#xff0c;自己早已把算法的基础忘记得干干净净&#xff0c;最近看到CSDN发起了《趣学算法》的14天阅读挑战赛&#xff0c;兴趣再次油然而起&#xff0c;既然想学&#xff0c;就不用那么计较&#xff0c;马上就开始&a…

web权限提升-令牌窃取烂土豆dll劫持

目录 &#xff08;一&#xff09;Windows2008&7令牌窃取提升-本地 0x01 前置知识——令牌&#xff08;TOKEN&#xff09; 令牌有很多种&#xff1a; MSF伪造令牌实战 0x02 原理和利用范围 &#xff08;二&#xff09;烂土豆提权 1. 原理&#xff1a; 总结 2.环境搭…

Cosmos模块化功能链 走向亿级用户的超级Dapp时代

前言 加密不缺故事&#xff0c;而 Aptos 贡献了一次事故。 Move 生态的威力不应被轻视&#xff0c;跟随 Aptos 主网上线的&#xff0c;已经有域名服务 Aptos Names、钱包 Pontem、多签钱包 Momentum Safe、NFT 市场 Souffl3、借贷协议 Argo。 这是第一次众多应用和主网一起上…

【预测模型-DELM分类】基于哈里斯鹰算法改进深度学习极限学习机实现数据分类附matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

Kubernetes—k8s介绍

文章目录k8s是什么kubernetes的主要概念PodReplicaSetDeploymentLabelServiceKubernetes 架构及组件Kubernetes架构kubernetes组件k8s是什么 官方介绍&#xff1a; Kubernetes 也称为 K8s&#xff08;中间8个字母&#xff0c;省略好记&#xff09;&#xff0c;是用于自动部署、…

垂钓图解教程: 鱼钩 All In One

垂钓图解教程: 鱼钩 All In One 鱼钩分类 鱼钩选择 线组搭配垂钓图解教程: 鱼钩 All In One 鱼钩分类有倒刺,无倒刺伊势尼 伊豆 新关东型号1, 2, 3, 4, 5, 6, 7, 8, 9 ...鱼钩选择依据目标鱼的类型 淡水鱼,海水鱼 底层鱼,中层鱼,上层鱼 食草性鱼,杂食性鱼,食肉性鱼目标鱼…

选择和循环结构的机器级表示

if-else两种机器级表示 注意区分条件转移和无条件转移指令 switch-case机器级表示 此处机器级代码是先判断了a>17和a<10时的default情况&#xff0c;然后10到17引用了跳转表&#xff0c;跳转表在目标文件的只读节中&#xff0c;按4字节边界对齐 但对于范围较大的swith-…

Spring Cloud Sleuth系列(1) — Sleuth环境搭建以及Feign整合调用分析

文章目录前言一、基础环境搭建1、项目环境搭建2、zipkin server启动3、基于Feign进行服务调用二、Sleuth Feign调用源码分析1、调用链分析2、Sleuth针对Feign进行的改造总结前言 该篇文章&#xff0c;主要介绍Spring Cloud Sleuth Zipkin基础环境搭建&#xff0c;以及基于源…

文华财经多个非常实用的期货指标公式,文华财经支撑压力自动画线公式

期货指标公式是通过数学逻辑角度计算而来&#xff0c;仅是期货分析环节中的一个辅助工具。期货市场具有不确定性和不可预测性的&#xff0c;请正常对待和使用指标公式! 期货指标公式信号本身就有滞后性&#xff0c;周期越大&#xff0c;滞后性越久。指标公式不是100%稳赚的工具…

畅享云原生超融合技术成果

作者&#xff1a;Vishal Ghariwala&#xff0c;SUSE 亚太及大中华区 CTO 超融合是服务器虚拟化和 VSAN 存储的必然发展结果。通过将存储、计算和网络这三大要素相集成&#xff0c;理论上数据中心对基础设施的控制能力可以无限扩展。这与超大规模运营商的发展目标高度契合&#…

电影主题HTM5网页设计作业成品——爱影评在线电影(10页面)使用dreamweaver制作采用DIV+CSS进行布局

HTML实例网页代码, 本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置&#xff0c;有div的样式格局&#xff0c;这个实例比较全面&#xff0c;有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。 文章目录一、网页介绍一…

【AGC035E】Develop(图论,DP)

对于某个集合 S⊆{1,⋯,n}S\subseteq\{1,\cdots,n\}S⊆{1,⋯,n}&#xff0c;考虑能不能删去 SSS。 对于任意 x∈Sx\in Sx∈S&#xff0c;连边 x→x−2x\to x-2x→x−2&#xff08;如果 x−2∈Sx-2\in Sx−2∈S&#xff09;及 x→xkx\to xkx→xk&#xff08;如果 xk∈Sxk\in Sx…

Ajax的概念及jQuery中的Ajax的3种方法,模仿jQuery封装自己的Ajax函数

目录一、网页中如何请求数据资源的请求方式二、Ajax1、什么是Ajax2、Ajax的特点3、Ajax工作原理4、同步与异步的区别三、jQuery中的Ajax1、$.get()函数2、$.post()函数3、$.ajax()函数四、模仿jQuery封装自己的Ajax函数实现效果1、定义options参数选项2、定义resoveData()函数处…