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、标签名选择器/…...
相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...
渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止
<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet: https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...
最新SpringBoot+SpringCloud+Nacos微服务框架分享
文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...
DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...
selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...
学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...
【Linux系统】Linux环境变量:系统配置的隐形指挥官
。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量:setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...
Python训练营-Day26-函数专题1:函数定义与参数
题目1:计算圆的面积 任务: 编写一个名为 calculate_circle_area 的函数,该函数接收圆的半径 radius 作为参数,并返回圆的面积。圆的面积 π * radius (可以使用 math.pi 作为 π 的值)要求:函数接收一个位置参数 radi…...
【HarmonyOS 5】鸿蒙中Stage模型与FA模型详解
一、前言 在HarmonyOS 5的应用开发模型中,featureAbility是旧版FA模型(Feature Ability)的用法,Stage模型已采用全新的应用架构,推荐使用组件化的上下文获取方式,而非依赖featureAbility。 FA大概是API7之…...
Django RBAC项目后端实战 - 03 DRF权限控制实现
项目背景 在上一篇文章中,我们完成了JWT认证系统的集成。本篇文章将实现基于Redis的RBAC权限控制系统,为系统提供细粒度的权限控制。 开发目标 实现基于Redis的权限缓存机制开发DRF权限控制类实现权限管理API配置权限白名单 前置配置 在开始开发权限…...
