动态路由协议——OSPF

目录

一.OSPF来源

二.OSPF术语

1.area id——区域的划分

2.cost——路径开销值

3.route id

4.LSDB表

5.邻居表

6.OSPF路由表

三.OSPF工作过程

1.交互hello报文建立邻居关系

2.选举主从

3.交互LSDB摘要信息

4.LSR,LSU,LSACK同步LSDB表项

5.各自计算路由

四.OSPF交互过程

1.hello报文

2.DD报文

3.LSR报文

4.LSU报文

5.LASK报文

五.DR/BDR


一.OSPF来源

动态路由协议中,IGP类型的有ospf 和RIP已经ISIS,

RIP的缺点就是有跳数限制,最多15跳,不适合大型网络,且属于距离矢量路由协议,不清楚网络拓扑,通过泛洪路由表学习,可靠性低。

那么就有了ospf动态路由协议,属于链路状态路由协议,每台路由器都清楚网络拓扑,可以自行计算路由

链路状态路由协议工作过程

1.建立邻居关系,在hello报文之后

2.泛洪LSA,同步LSDB(链路状态数据库)

3.通过SPF算法计算出一根以自己为根的,无环的,拥有最短路径的书

4.通过路径信息,生成路由,加载到路由表里(OSPF协议路由表)

网络类型

1.p2p

串行,一点对一点(点就是网络中的一个设备)

2.p2mp

点到多点

3.BMA

广播式多路访问,以太网

4.NBMA

非广播式多路访问

二.OSPF术语

现在我们用以下拓扑来学习这些术语

我们下面都用r2来举例

1.area id——区域的划分

不划分区域,一旦出现泛洪,路由器需维持较大的LSDB,网络出现改变会出现大量广播报文,影响网络正常运行。可以通过划分区域控制广播域在较小的范围,减小LSDB规模,减低设备负担

area 0是骨干区域,area 非零是非骨干区域

路由器r2有骨干区域也有非骨干区域  

非骨干区域不能直接相连,需要骨干区域连接

2.cost——路径开销值

目的地址到源地址之间所有入接口之和的开销值,路径优选的因素:最好是100Mbit

3.route id

唯一标识,可以手动指定也可以自行计算。如果配置了环回地址,则选择环回地址IP大的成为route id。没有环回地址就选择接口ip大的(实验中按照配置ip地址的顺序选择)

4.LSDB表

里面包含所有的LSA

5.邻居表

交互HELLO报文后建立邻居关系,加入邻居表

里面有route id ,区域,和接口开销

6.OSPF路由表

ospf 查看命令

来源:《eNSP - OSPF 查看命令》_enfp查看ospf设置命令-CSDN博客

三.OSPF工作过程

1.交互hello报文建立邻居关系

DOWN——INIT——2WAY——邻居建立成功

INIT:从邻居接收报文,但报文邻居列表中还没有自身的route-id

2WAY:收到hello报文,邻居列表中有了自身的route-id

2.选举主从

通过第一个空的DD报文选择主从路由器,route-id大的是主

3.交互LSDB摘要信息

通过DD报文交互

4.LSR,LSU,LSACK同步LSDB表项

同步完LSDB就是邻接关系了

5.各自计算路由

四.OSPF交互过程

1.hello报文

建立并维护邻居关系,属于周期性发送,10S一次

2.DD报文

第一个DD报文是空的,通过第一个空的DD报文选择主从路由器,交互LSDB摘要

3.LSR报文

请求缺少的LSA,注意是一条一条请求

4.LSU报文

响应发送的LSA请求,发送具体LSA ,LSA放在LSU报文上发送

5.LASK报文

确认接受的LSA,FULL,变邻接关系

五.DR/BDR

为了优化网络中邻接数量,有DR/BDR/DRother三种角色,DR/BDR可以和DRother建立邻接关系(FULL),DRother之间停留在邻居关系(2—WAY)

现网中会将BMA改为P2P,避免选举DR

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

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

相关文章

【Linux命令】查看内存占用情况(mem, swap)

1. 方法1(top) # top2.方法2(free) # free -h3. 方法3(swapon) # swapon -s

Spring Boot1

SpringBoot概述 Spring Boot是Spring提供的一个子项目,用于快速构建Spring应用程序 SpringBoot特性 起步依赖 本质上就是一个Maven坐标,整合了完成一个功能所需要的所有坐标 自动配置 遵循约定大于配置的原则,再boot程序启动后&#xff0…

【MySQL】深入解析事务与MVCC

文章目录 1、事务四大特性1.1、原子性1.2、一致性1.3、隔离性1.4、持久性 2、并发事务带来问题2.1、脏读2.2、不可重复读2.3、幻读 3、事务隔离级别3.1、读未提交3.2、读已提交3.3、可重复读3.4、串行化 4、MVCC4.1、InnoDB隐藏字段4.2、undo log版本链4.3、ReadView4.4、MVCC工…

fiddler过滤器使用,隐藏图片、js、css请求

如果抓包过程中不想查看图片、js、css请求,或者只想抓某个ip或者某个网页下的请求,可以在过滤器中设置。 (1)没有开启过滤器 可以看出所有的请求都会抓取,cs、js、图片请求都有 (2)开启过滤器 …

波奇学Linux:网络套接字

domain:ipv4 还是ipv6 type:面向字节流还是... 虚拟机 云服务器禁止直接bind公网ip 服务器可以有多个ip,如果只绑定一个ip,只能收到来自一个ip的信息 任意地址绑定 关于port的问题 [0,1024]:系统内定的端口号,一般要用固定的应…

基于SpringBoot+MyBatis框架的智慧生活商城系统的设计与实现(源码+LW+部署+讲解)

目录 前言 需求分析 可行性分析 技术实现 后端框架:Spring Boot 持久层框架:MyBatis 前端框架:Vue.js 数据库:MySQL 功能介绍 前台功能拓展 商品详情单管理 个人中心 秒杀活动 推荐系统 评论与评分系统 后台功能拓…

基于Matlab的眼底图像血管分割,Matlab实现

博主简介: 专注、专一于Matlab图像处理学习、交流,matlab图像代码代做/项目合作可以联系(QQ:3249726188) 个人主页:Matlab_ImagePro-CSDN博客 原则:代码均由本人编写完成,非中介,提供…

光速论文能用吗 #媒体#知识分享#学习方法

光速论文是一个非常有效的论文写作、查重降重工具,它的使用非常简单方便,而且功能强大,是每个写作者必备的利器。 首先,光速论文具有强大的查重降重功能,能够快速检测论文中的抄袭部分,帮助作者避免不必要的…

2021年12月更新千言万语汇聚成一张图

今年的双十二几乎不复存在。 11月11日之后,有读者问我要不要等双十二。 现在看来,房东已经没有多余的粮食了,互联网的冬天比以前来得早得多。 进入12月份,公司同事和项目组的合伙人最近讨论的不再是年终奖,而是项目能…

解决mysql问题: this is incompatible with sql_mode=only_full_group_by

今天在部署一趟测试环境的服务,各种配置文件都配好了,启动服务后台报错,解决后记录一下,小伙伴们也可以看看! ### Cause: java.sql.SQLSyntaxErrorException: Expression #1 of SELECT list is not in GROUP BY clause…

004——内存映射(基于鸿蒙和I.MAX6ULL)

目录 一、 ARM架构内存映射模型 1.1 页表项 1.2 一级页表映射过程 1.3 二级页表映射过程 1.4 cache 和 buffer 二、 鸿蒙内存映射代码学习 三、 为板子编写内存映射代码 3.1 内存地址范围 3.2 设备地址范围 一、 ARM架构内存映射模型 (以前我以为页表机制…

力扣● 84.柱状图中最大的矩形

84.柱状图中最大的矩形 需要找到元素i的上一个更小的元素leftmin和下一个更小的元素rightmin,这样leftmin和rightmin之间的元素都比当前元素i更大,那么矩形的宽就是中间的这些元素:可以从leftmin1延伸到rightmin-1,长即为height[i…

阿里云轻量应用服务器和云服务器ECS有什么区别?

阿里云服务器ECS和轻量应用服务器有什么区别?轻量和ECS优缺点对比,云服务器ECS是明星级云产品,适合企业专业级的使用场景,轻量应用服务器是在ECS的基础上推出的轻量级云服务器,适合个人开发者单机应用访问量不高的网站…

dash 初体验(拔草)

Dash简介 Dash 是一个高效简洁的 Python 框架,建立在 Flask、Poltly.js 以及 React.js 的基础上,设计之初是为了帮助前端知识匮乏的数据分析人员,以纯 Python 编程的方式快速开发出交互式的数据可视化 web 应用。 搭建环境 在学习 Dash 的…

算法之美:数据结构之二叉树

平时写业务代码的时候很少写对应的算法,因为很少会在内存中存储大量数据,在需要比较大量数据的查找时,多会依赖的中间件,而中间件底层就应用了很多不同算法,尤其是树结构的查找存储算法,二分查找算法在树里…

把 Taro 项目作为一个完整分包,Taro项目里分包的样式丢失

现象: 当我们把 Taro 项目作为原生微信小程序一个完整分包时,Taro项目里分包的样式丢失,示意图如下: 原因: 在node_modules/tarojs/plugin-indie/dist/index.js文件里,限制了只有pages目录下会被引入app.w…

C# WPF编程-事件

C# WPF编程-路由事件 路由事件概要路由事件的三种方式 WPF事件WPF最重要的5类事件:生命周期事件 鼠标事件键盘事件多点触控输入原始触控 路由事件概要 路由事件是具有更强传播能力的事件,它们可在元素树中向上冒泡和向下隧道传播,并沿着传播…

稀碎从零算法笔记Day21-LeetCode:单词规律

题型:哈希表、字符串 链接:290. 单词规律 - 力扣(LeetCode) 来源:LeetCode 题目描述 给定一种规律 pattern 和一个字符串 s ,判断 s 是否遵循相同的规律。 这里的 遵循 指完全匹配,例如&am…

uni-app从零开始快速入门

教程介绍 跨端框架uni-app作为新起之秀,在不到两年的时间内,迅速被广大开发者青睐和推崇,得益于它颠覆性的优势“快”,快到可以节省7套代码。本课程由uni-app开发者团队成员亲授,带领大家无障碍快速掌握完整的uni-app…

QT文件读写操作和内容提取

访问IO设备,需要先调用open()来设置正确的OpenMode(例如ReadOnly或ReadWrite) 打开设备后后,使用write() 或putChar() 写入数据到文件和设备,并通过调用read(),readLine() 或readAll() 进行读取;使用完设备后&#xf…