OSPF的不规则区域
1.远离骨干非骨干区域
2.不连续骨干
解决方案
tunnel ---点到点GRE
在合法与非ABR间建立隧道,然后将其宣告于OSPF协议中;
缺点:1、周期和触发信息对中间穿越区域造成资源占用(当同一条路由来自不同区域,路由器会先选择区域0的,如果都是非0区域,在比较开销值)
2、选路不佳
OSPF虚链路
由合法ABR,给同一区域的非法ARB进行授权,之后非法ABR能够进行区域间路由共享;
[r2]ospf 1
[r2-ospf-1]area 1 两台ABR均存在的区域
[r2-ospf-1-area-0.0.0.1]vlink-peer 4.4.4.4 对端ABR的RID;两台ABR均需配置
优点:没有新的数据链路出现,故选路正常;
缺点:两台ABR之间的周期信息,依然对中间区域造成影响,增加延时
cisco思科--- 取消两台ABR间所有的周期信息,仅存在触发更新-- 不可靠
华为 --- 保留所有的周期信息,对中间区域资源占用严重
多进程双向重发布(推荐)
多进程 --- 一台路由器上允许的多个ospf进程,每个进程运行独立的接口(一个接口只能宣告于一个进程中);存在独立的邻居,生成独立的数据库,且数据库间不做共享;仅将所有数据库计算所得的路由加载于同一路由表中;
可以将非法ABR上,不同区域宣告与不同的OSPF进程,造成独立的协议;之后使用重发布进行,将该非法ABR转换为ASBR,进行协议间路由条目共享即可;
不存在选路不佳问题,不存在周期资源占用,和不可靠问题;
双向重发布
[r4]ospf 1
[r4-ospf-1]import-route ospf 2
[r4-ospf-1]q
[r4]ospf 2
[r4-ospf-2]import-route ospf 1
OSPF的数据库表
<r1>display ospf lsdb 查看数据库目录
OSPF的数据库是由大量的LSA组成;LSA-- 链路状态通告
LSDB--链路状态数据库 -- 各种LSA构成
每一条LSA携带具体的拓扑或者路由信息;不同环境下将产生不同类别的LSA;
<r1>display ospf lsdb network 12.1.1.1 查看具体的一条LSA信息
类别名 link-id
无论哪类LSA,均存在以下基本参数
Type : Router 类型名,此处为1类
Ls id : 1.1.1.1 该条目在目录中的编号(页码号)
Adv rtr : 1.1.1.1 通告者 -- 该条LSA的更新源设备的RID
Ls age : 1666 老化时间,周期1800s刷新,触发马上刷新;最大老化3609s
Len : 48 数据包长度
seq# : 80000015 序列号 更新后变化
chksum : 0x6f95 校验码号 更新后变化
类型名 传播范围 通告者 携带信息
1/ Router 单区域 该区域的每台路由器 本地直连拓扑
2/Network 单区域 单网段内的DR 单个MA网络内的拓扑
3/summary 整个OSPF域 ABR 域间路由
4/asbr 除ASBR所在区域外 ARB ASBR位置
的整个OSPF域(ASBR所在区域使用1类告知位置)
5/Ase 整个OSPF域 ASBR 域外路由
7/nssa 单个NSSA区域内 ASBR 域外路由
类别名 LS-ID 通告者
Router 通告者RID 该区域的每台路由器
Network DR在该网段接口的ip地址 单网段内的DR
Summary 域间路由的目标网络号 ABR 在经过下一台ABR,修改为新的ABR
Asbr ASBR的RID ABR 在经过下一台ABR,修改为新的ABR
Ase 域外路由的目标网络号 ASBR
Nssa 域外路由的目标网络号 ASBR
1类Lsa的类型有四种,分别为p2p、stubnet、transnet、virtual;
Transnet类型:
Link id:表示伪节点的信息
Data:表示自身连接伪节点的IP
link type:描述1类Lsa的类型,transnet表示为广播或NBMA类型
Metric:开销值
P2P类型:
Link id:表示邻居信息;
Data:表示自身与邻居相连的接口;
Link type:描述1类Lsa的类型,p2p表示网络类型为P2P,
Metric:表示链路的开销值。
stubnet类型:
Link id:自身直连的路由网络号;
Data:表示该网络号的掩码;
Link type:表示为节点信息;
Metric:表示链路的开销值。
虚链路的配置为:
[区域]vlink-peer 对端的router id
从而生成一条link type为virtual的一类的lsa。其link id表示虚链路的对端路由的router id,data表示自身去往虚链路的接口。
优化OSPF的LSA 减少LSA的更新量
【1】手工汇总 --- 减少骨干区域的LSA
1) 域间路由汇总 --- 只能在区域间传递3类LSA时,进行手工的路由汇总
在ABR上配置
[r1]ospf 1
[r1-ospf-1]area 2 本地通过该区域的1/2LSA拓扑计算所得路由才能汇总
[r1-ospf-1-area-0.0.0.2]abr-summary 5.5.4.0 255.255.254.0
2) 域外路由汇总--当ASBR将其他协议产生的路由条目重发布进入OSPF域时,可以进行汇总配置
[r4]ospf 1
[r4-ospf-1]asbr-summary 99.1.0.0 255.255.252.0
【2】特殊区域 --- 减少非骨干区域的LSA
不能是骨干区域,不能存在虚链路;
- 不能存在ASBR
1」末梢区域 -- 该区域拒绝,外部进入的4/5的LSA;由该区域连接骨干的ABR,向内部产生一条3类的缺省路由
[r5]ospf 1
[r5-ospf-1]area 2 该区域内所有路由器均需配置
[r5-ospf-1-area-0.0.0.2]stub
2」完全末梢区域 --- 在末梢区域的基础上,仅一步拒绝3类LSA的进入;仅保留一条3类缺省的进入
先将该区域配置为末梢区域
然后仅在ABR上配置完全末梢即可;
[r1]ospf 1
[r1-ospf-1]area 2
[r1-ospf-1-area-0.0.0.2]stub no-summary
不能是骨干区域,不能存在虚链路;
- 存在ASBR
1」NSSA--非完全末梢区域;该区域拒绝4/5的LSA;本地ASBR产生的域外路由,使用7类在本NSSA区域传递,通过ABR进入骨干区域,被转换成5类;由该区域连接骨干的ABR向内部发送一条7类缺省;
其存在的价值,是为了让该区域拒绝其他区域的,ASBR产生的4/5类LSA进入
[r4]ospf 1
[r4-ospf-1]area 1
[r4-ospf-1-area-0.0.0.1]nssa
2」完全NSSA -- 在普通NSSA的基础上,进一步拒绝3的类LSA进入该区域;由该区域连接骨干的ABR向内部发布一条3类缺省
先将区域配置为NSSA,然后仅在连接骨干的ABR上,定义完全即可
[r3]ospf 1
[r3-ospf-1]area 1
[r3-ospf-1-area-0.0.0.1]nssa no-summary
补充:
1、点到点网络类型 down -->init -- >(前提为可以建立邻接)exstart -->exchange-->若查看邻接的DBD目录后发现不用进行LSA直接进入full 若查看后需要进行查询、应答先进入loading,在查询应答完后再进入full;
2、MA网络类型 down -->init -- >2way-->(前提为可以建立邻接,通过DR/BDR选举后来判断)exstart -->exchange-->若查看邻接的DBD目录后发现不用进行LSA直接进入full 若查看后需要进行查询、应答先进入loading,在查询应答完后再进入full;
3、当hello time较大时,状态机在down和init之间将出现尝试等待状态;

相关文章:
OSPF的不规则区域
1.远离骨干非骨干区域 2.不连续骨干 解决方案 tunnel ---点到点GRE 在合法与非ABR间建立隧道,然后将其宣告于OSPF协议中; 缺点:1、周期和触发信息对中间穿越区域造成资源占用(当同一条路由来自不同区域,路由器会先…...
大数据新视界 --大数据大厂之 Ibis:独特架构赋能大数据分析高级抽象层
💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…...
总结TypeScript相关知识
目录 引入认识特点安装使用变量声明类型推导 JS 和 TS 共有类型number类型boolean类型string类型Array类型null和undefined类型object类型symbol类型对象类型函数类型 可选和只读type 和 interface索引签名类型断言非空类型断言类型缩小严格赋值检测现象TS 新增类型字面量类型a…...
pdf怎么编辑修改内容?详细介绍6款pdf编辑器功能
■ pdf怎么编辑修改内容? PDF(Portable Document Format)作为一种广泛使用的文件格式,具有特点包括兼容性强、易于传输、文件安全性高、跨平台性、可读性强、完整性、可搜索性、安全性、可压缩性。 PDF文件本身是不可以直接进行编…...
【Blender Python】4.获取场景对象的几种方式
概述 有时候我们需要获取场景中已经添加或存在的对象。本节就总结在Blender Python中获取场景中对象的一些方法。 通过名称获取 py.data的objects()方法返回一个对象集合,可以使用键名或者下标形式获取具体的对象。 在默认新建的场景中,存在三个对象…...
鸿蒙harmonyos next flutter通信之EventChannel获取ohos系统时间
建立通道 flutter代码: EventChannel eventChannel EventChannel("com.xmg.eventChannel"); ohos代码: //定义eventChannelprivate eventChannel: EventChannel | null null//定义eventSinkprivate eventSink: EventSink | null null//建…...
Python 代码编写规范
本规范旨在为 Python 项目的代码编写提供一致性指南。它遵循 Python 社区的 PEP 8 标准,并结合了通用的编程最佳实践。 1. 编码风格 1.1 缩进 使用 4 个空格 作为缩进,不要使用制表符(Tab)。 def example():if True:print(&quo…...
k8s中pod的管理
一、资源管理 1.概述 说到k8s中的pod,即荚的意思,就不得不先提到k8s中的资源管理,k8s中可以用以下命令查看我们的资源: kubectl api-resources 比如我们现在需要使用k8s开启一个东西,那么k8s通过apiserver去对比etc…...
JavaScript中引用数据类型的浅拷贝
在JavaScript中,数据类型被分为“基本数据类型”和“引用数据类型”两大类。基本数据类型包括数值型、字符型、逻辑型、未定义型(undefined)、空型(null)和ES6新增的Symbol类型,引用数据类型包括数组、对象和函数。 当我们在程序中执行变量赋值操作的时候…...
自闭症寄宿学校陕西:提供综合发展的教育环境
在陕西这片古老而充满希望的土地上,有一所特殊的学校——星贝育园康复中心,它如同一座灯塔,照亮了无数自闭症儿童及其家庭前行的道路。这所全国规模较大的广泛性发育障碍全托寄宿制儿童康复训练机构,不仅以其专业的康复训练和独特…...
JS模块化工具requirejs详解
文章目录 JS模块化工具requirejs详解一、引言二、RequireJS 简介1、什么是 RequireJS2、RequireJS 的优势 三、RequireJS 的使用1、配置 RequireJS1.1、基础配置 2、定义模块3、加载模块 四、总结 JS模块化工具requirejs详解 一、引言 随着前端技术的快速发展,Jav…...
JavaScript中的异步编程:从回调到Promise
在JavaScript中,异步编程是一项至关重要的技能,它允许我们在不阻塞主线程的情况下执行耗时操作,如网络请求、文件读取或定时任务。随着JavaScript的发展,异步编程的模式也在不断演进,从最初的回调函数,到现…...
windows下DockerDesktop命令行方式指定目录安装
windows下DockerDesktop指定目录安装(重新安装) 因为DcokerDesktop占用内存较大, 并且拉去镜像后占用本地空间较多,所以建议安装时就更改默认安装路径和镜像存储路径 这里,展示了从下载到安装的过程: 首先下载DcokerDesktop;找到Docker Desktop Installer.exe 并重命名为 do…...
排查和解决JVM OOM实战
JVM OOM介绍 Java内存区域布局 下面的分析中都是基于JDK 8开始的。关于JMM不过多介绍每个区域的作用。OOM不单只会发生在堆内存,也可能是因为元空间或直接内存泄漏导致OOM,此时在OOM的详细信息中会有不同体现。 Java OOM的类别 java.lang.OutOfMemory…...
【Swift官方文档】7.Swift集合类型
集合类型 使用数组、集合和字典来组织数据。Swift 提供了三种主要的集合类型:数组、集合和字典,用于存储值的集合。数组是有序的值集合。集合是无序的唯一值集合。字典是无序的键值对集合。 Swift 中的数组、集合和字典始终清晰地指明它们可以存储的值…...
QT调用最新的libusb库
一:下载libusb文件 下载最新的库的下载网站:https://libusb.info/ 下载: 解压后目录如下: 二:库文件添加QT中 根据自己的编译器选择库: ①将头文件中添加libusb.h ②源文件中添加libusb-1.0.lib ③添加…...
白嫖EarMaster Pro 7简体中文破解版下载永久激活
EarMaster Pro 7 简体中文破解版功能介绍 俗话说得好,想要成为音乐家,就必须先拥有音乐家的耳朵,相信很多小伙伴都已经具备了一定的音乐素养,或者是说想要进一步得到提升。那我们就必须练好听耳的能力,并且把这种能力…...
使用JavaScript写一个网页端的四则运算器
目录 style(内联样式表部分) body部分 html script 总的代码 网页演示 style(内联样式表部分) <style>body {font-family: Arial, sans-serif;display: flex;justify-content: center;align-items: center;height: 100vh;background-color: #f0f0f0;}.calculator {…...
Linux find命令详解及实用示例
Linux 系统中的 find 命令是一个功能强大的工具,用于在文件系统中搜索文件并执行相应的操作。无论是系统管理员还是普通用户,掌握 find 命令都能极大地提高工作效率。本文将详细介绍 find 命令的用法,并通过多个示例展示其在实际中的应用。 …...
CSS基础-常见属性(二)
6、CSS三大特性 6.1 层叠性 如果样式发生冲突,则按照优先级进行覆盖。 6.2 继承性 元素自动继承其父元素、祖先元素所设置的某些元素,优先继承较近的元素。 6.3 优先级 6.3.1 简单分级 1、内联样式2、ID选择器3、类选择器/属性选择器4、标签名选择器/…...
CTF show Web 红包题第六弹
提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...
shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...
day36-多路IO复用
一、基本概念 (服务器多客户端模型) 定义:单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用:应用程序通常需要处理来自多条事件流中的事件,比如我现在用的电脑,需要同时处理键盘鼠标…...
【WebSocket】SpringBoot项目中使用WebSocket
1. 导入坐标 如果springboot父工程没有加入websocket的起步依赖,添加它的坐标的时候需要带上版本号。 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId> </dep…...
智能职业发展系统:AI驱动的职业规划平台技术解析
智能职业发展系统:AI驱动的职业规划平台技术解析 引言:数字时代的职业革命 在当今瞬息万变的就业市场中,传统的职业规划方法已无法满足个人和企业的需求。据统计,全球每年有超过2亿人面临职业转型困境,而企业也因此遭…...
加密通信 + 行为分析:运营商行业安全防御体系重构
在数字经济蓬勃发展的时代,运营商作为信息通信网络的核心枢纽,承载着海量用户数据与关键业务传输,其安全防御体系的可靠性直接关乎国家安全、社会稳定与企业发展。随着网络攻击手段的不断升级,传统安全防护体系逐渐暴露出局限性&a…...
医疗AI模型可解释性编程研究:基于SHAP、LIME与Anchor
1 医疗树模型与可解释人工智能基础 医疗领域的人工智能应用正迅速从理论研究转向临床实践,在这一过程中,模型可解释性已成为确保AI系统被医疗专业人员接受和信任的关键因素。基于树模型的集成算法(如RandomForest、XGBoost、LightGBM)因其卓越的预测性能和相对良好的解释性…...
