数通--3
一、动态路由
内部 路由器之间要互联互通,必须遵循相同的协议
企业内部用 IGP,企业之间用BGP
RIP(已淘汰,不考) 距离就是长短,矢量就是方向,即路由的出接口
一台路由器 A 配好RIP,就会把自己的路由信息传递给另一台配好 RIP的路由器B,B也会把自己的路由信息传递给A
路由信息是周期性发送,比如隔个30s
网络拓扑大的时候,跳数最多15,超过,cost就标记为16,即无穷大。
路由表太大,30s所有都更新一次太耗性能
OSPF
P-2-P点到点,也就是邻居
每台路由器都能画出整个网络拓扑图。我可以自己算出来,不像 RIP 那样需要别人来告诉我走哪条路最短。
链路状态中的状态就是说这个图中任何一个值都可以变化。实时状态变化


两条路开销相同就负载分担,如果开销不一样,它会选那条开销小的

OSPF 基础1
- IPv4 就用 OSPF Version 2
IPv6 就用 OSPF Version 3 两种协议不兼容 
最底层不在OSPF协议里的就是汇聚交换机下面连的接入层交换机
区域,由人为来规划的
一般不会讨论一个路由器在哪个区域,一般都是一个路由器的哪个接口在哪个区域

Router-ID

有个router-id,还有个OSPF协议的router-id,如果你不重置 OSPF协议, 修改了设备的router-id 不会同步到 OSPF协议上的router-id。尽量不要动协议的 router-id,很可能造成全网瘫痪,因为全网都要重新认识你,重新计算。你会没事改自己的身份证号码嘛?
还可以自己配置协议的 rid, 协议上机会改成这个 rid, 而设备的rid 还是原来的
设备的 rid,即全局的 rid,是设备可以供所有协议使用的。每一个需要rid 的协议也可以自己配置自己的 rid
全局rid 是不重要的,重要你配置的协议 rid
开销值 = 度量值 cost = metric
如果接口带宽大于100M/s,得出是零点几,我们也定义它的cost是 1
大于的话直接取整数位,没有四舍五入。
OSPF协议,华为和华三的环回口的开销是0,思科认为等于1

这种情况就会走低速链路,因为cost小,这不是我们想要的,解决之道是 将 OSPF 接口开销改成= 1000Mbit/接口带宽,就走高速链路了。
要改就要在 OSPF域内全部改
也可以管理员手动改这条链路的开销,自己设置的开销最优先。通过ospf cost命令修改
还会出现下面这种来回路因为接口cost不同,走的路由不同,这是默认允许的,但是你要知道它走的哪条路来后期分析问题出现在哪条路上
解决之道就是把来去都配成一样的cost
建立邻居关系,
把自己的信息摘要发给邻居,你对比下,缺啥,
知道缺啥后,把你需要的发给我
我发给你你需要的
我收到你的确认收到
同一个协议的不同进程是用来隔离路由域的,比如两家公司共用一台路由器A, 在这台路由器开两个协议进程才达到隔离的目的。
注意不同的进程加到的是不同的接口
一般同一个路由域中配置相同的进程号,方便后期运维和管理
OSPF 基础2



协商主从就是邻居两台路由器之间选出主路由器和从路由器
第四步完成之后,我们把它们的关系叫做邻接
two-way状态说明已经建立了邻居关系
通过下面的三次握手两台路由器达到 two-way的邻居状态
启用了OSPF协议的接口都会自动监听 224.0.0.5
ex-start 转变启动状态,就是two way后的状态
I=1 表示我第一次发
More=1 我还会发
M=1 我是master
链路状态信息为null
比较router-id,rid大的为master。这时选举完毕。状态从 ex-start变成 exchange,交换状态
选出master,以后的 seq 序列号就用 master的seq 了
I=0 表示不是第一次发了
More 是否为1,取决于DD报文,就是摘要信息是否发完了
Y+1也是对上一条信息的确认,确认收到了。只有主路由器有序列号加一的权利
交换的就是双方没有对方的 LSA 头部
DD报文的作用就是 差异同步,不用全部同步,性能提升
loading状态
loading不是在exchange结束后才做的,可以在exchange中进行。也就是边同步,边对比
full状态代表拓扑数据库一样,邻居关系就变成邻接了

DR指定路由器,BDR备份的指定路由器
接口协议

P2P点到点。只有一个邻居
帧中继淘汰了,不支持广播和组播
P2MP 点到多点。 为帧中继量身定做的,等于也被淘汰了。
管理员可以随意修改接口的网络类型


如果只有两台路由器,通过以太网接口连接的话,建议改成p2p 优化。
帧中继带宽只能是2M,你还用吗?
DR与BDR
重复是罪魁祸首,引出DR BDR


BDR只收,不会去泛洪了。

DR和BDR是怎么被选举出来的
不选DR,就没人主持LSDB的同步




子广播也选出来一个DR
新设备并进来后,会发生什么? DR和BDR 不具备抢夺性
即使新设备优先级高,也不会撼动原来DR和BDR 的地位
如果你以前是 DR BDR, 如果把你的优先级改为0,你马上成为DRother。所以不能全为0
P2P网络就没有必要选DR BDR,因为它没有传来传去的问题


ABR必须连着 Area 0和其他Area
在区域0中的路由器就叫BR, ABR也是BR 骨干路由器
ASBR — 连接其他OSPF网络或者其他协议的路由器
可以通过相同协议用不同的进程隔离路由域,也可以通过不同的协议隔离路由域,都是在一台路由器上做隔离
OSPF 配置
ospf进程的进程号 1-65535,实际项目中提前规划好
谁加入到OSPF进程,才会在LSA中体现
反掩码如果哪个位上是0,那么那个位上的数字必须完全匹配。用0.0.0.255就能把路由器中一个网络段的所有接口ip加到OSPF中
但是这种不够精确,只能通过计算得出更精确的范围(不推荐) 。推荐用直接敲 ip,或者写范围,不要计算
环回口没改之前是P2P,改成 network-type broadcast 就不是1.1.1.1/32了,就是你设置的1.1.1.0/24。
环回口的开销是0


这个网络有4个DR,每个broadcast接口都是一个链路,都要选出一个DR
相关文章:
数通--3
一、动态路由 内部 路由器之间要互联互通,必须遵循相同的协议 企业内部用 IGP,企业之间用BGP RIP(已淘汰,不考) 距离就是长短,矢量就是方向,即路由的出接口 一台路由器 A 配好RIP,…...
SpringBoot基础(五):集成JUnit5
SpringBoot基础系列文章 SpringBoot基础(一):快速入门 SpringBoot基础(二):配置文件详解 SpringBoot基础(三):Logback日志 SpringBoot基础(四):bean的多种加载方式 SpringBoot基础(五):集成JUnit5 目录 一、JUnit…...
正点原子学习笔记之汇编LED驱动实验
1 汇编LED原理分析 为什么要写汇编 需要用汇编初始化一些SOC外设 使用汇编初始化DDR、I.MX6U不需要 设置sp指针,一般指向DDR,设置好C语言运行环境 1.1 LED硬件分析 可以看到LED灯一端接高电平,一端连接了GPIO_3上面…...
网络学习第二篇
认识网关和路由器 这里大家先了解一下什么三层设备。 三层设备 三层设备是指在网络架构中能够工作在第三层(网络层)的设备,通常包括三层交换机和路由器。这些设备可以根据IP地址进行数据包的转发和路由选择,从而在不同的网络之间…...
一些小结汇总
1.常用浏览器及对应内核 Safari浏览器(苹果浏览器):Webkit内核 Google浏览器:Blink内核 Firefox:Gecko内核 Edge浏览器:Chromium内核 IE浏览器:Trident内核 2.10个块标签和10个行标签 …...
20240720 科大讯飞 笔试
文章目录 1、选择题1.11.21.31.41.51.61.71.81.91.101.111.122、编程题2.12.22.33、选择题(Linux 选做)3.13.23.34、选择题(C++ 选做)4.14.24.34.44.54.64.75、选择题(数据库选做)5.15.25.3岗位:嵌入式开发工程师 题型: 必做:12 道选择题,3 道编程题 选做:Linux(3…...
【AIGC】寻找ChatGPT最佳推理步骤:CoT思维链技术的探索与应用
博客主页: [小ᶻZ࿆] 本文专栏: AIGC | ChatGPT 文章目录 💯前言💯CoT思维链概述💯CoT思维链在大型语言模型中的应用💯CoT思维链改变对模型推理能力的理解和改进方式多样化应用场景挑战与未来发展总结 Ὂ…...
一、安装VMWARE和CentOS
一、安装VMware 1、基本说明 学习Linux需要一个环境,我们需要创建一个虚拟机,然后在虚拟机上安装一个Centos系统来学习 先安装virtual machine 15.5再安装Linux(CentOS 7.6/centos8.1)原理示意图 2、vmware15.5下载 官方地址:https://www.vmware.com/…...
岩石分类检测数据集 4700张 岩石检测 带标注 voc yolo 9类
岩石分类检测数据集 4700张 岩石检测 带标注 voc yolo 9类 岩石分类检测数据集 (Rock Classification and Detection Dataset) 描述: 本数据集旨在支持对不同类型的岩石进行自动分类和检测,特别适用于地质勘探、矿物识别、环境监测等领域。通过使用该数据集训练的模…...
电脑基础知识:mfc110.dll丢失的解决方法
1.mfc110.dll 丢失常见原因 mfc110.dll 文件的丢失或损坏是Windows系统中常见的问题,它可能由多种原因引起,以下是一些主要的因素: 不完全的软件卸载 在卸载程序时,如果相关的 DLL 文件没有被正确移除,可能会导致文件…...
Lua 协同程序(coroutine)
Lua 协同程序(coroutine) 概述 Lua 语言以其轻量级和易于嵌入的特点,在游戏开发、脚本编写等领域广受欢迎。Lua 中的协同程序(coroutine)是其并发编程的核心特性之一。协同程序提供了一种不同于多线程的并发执行方式,它允许多个代码段交替执行,而不是同时执行。这种机制…...
NASA:ARCTAS 区域的二级 FIRSTLOOK 气溶胶产品子集。 它包含气溶胶光学深度和粒子类型,以及相关的大气数据
目录 简介 信息 代码 引用 网址推荐 知识星球 机器学习 MISR L2 FIRSTLOOK Aerosol Product subset for the ARCTAS region V001 简介 这是 ARCTAS 区域的二级 FIRSTLOOK 气溶胶产品子集。 它包含气溶胶光学深度和粒子类型,以及相关的大气数据,…...
go clean command
文章目录 1.简介2.格式3.选项4.示例5.应用场景6.小结参考文献 1.简介 在 Go 语言的开发过程中,管理依赖和构建缓存是非常重要的。随着项目的迭代,旧的缓存和不再需要的依赖可能会影响构建的效率和准确性。 Go 提供了一个非常实用的命令 go clean&#…...
鸿蒙NEXT开发-动画(基于最新api12稳定版)
注意:博主有个鸿蒙专栏,里面从上到下有关于鸿蒙next的教学文档,大家感兴趣可以学习下 如果大家觉得博主文章写的好的话,可以点下关注,博主会一直更新鸿蒙next相关知识 专栏地址: https://blog.csdn.net/qq_56760790/…...
HTML 入门
1. 什么是 HTML HTML(Hyper Text Markup Language),超文本标记语言 超文本:比文本要强大,通过链接和交互方式来组织和呈现信息的文本形式,不仅有文本,还可能包含图片、音频、或者自己已经审阅…...
前端面试题(十五)
83. ES6 中的 let 和 const let 和 const 的区别是什么? let 和 const 是 ES6 引入的用于声明变量的新方式,相比于传统的 var,它们具有以下特性: 块级作用域:let 和 const 声明的变量在其所在的块级作用域内有效&…...
如何成为 Rust 核心贡献者?Rust 开发的核心是什么?Rust 重要技术专家揭秘
10 月 17 - 18日,由 GOSIM 开源创新汇主办、CSDN 承办的 GOSIM CHINA 2024 将在北京盛大启幕。作为 GOSIM 开源年度大会的第三届盛会,本次活动邀请了 60 多位国际开源专家,汇聚了来自全球百余家顶尖科技企业、知名高校及开源社区的技术大咖、…...
springboot + nacos + sofarpc 整合后报错403
springboot版本 2.2.2 nacos 版本 1.4.2 rpc-sofa-boot 版本 3.2.0 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.2.RELEASE</version></parent>…...
小米路由器R3Gv2安装openwrt记录
前言 小米路由器R3Gv2的硬件配置与小米路由器4A千兆版一致,但bootloader有所不同,因此openwrt的固件不要互刷。另外,R3Gv2和R3G、4A百兆版是不同的设备,切勿混淆。 硬件信息 OpenWrt参数页-Xiaomi MiWiFi 3G v2 CPU:…...
记录一下,android studio 登录不上github的问题
android studio 2023.3.1.18 版本的编译器,出现问题,之前连接过的项目可以正常提交和拉取到github。 但是新建立的项目无法上传到github,提示错误cannot load information for github.com/:request response;access to this site,…...
大数据学习栈记——Neo4j的安装与使用
本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...
Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)
引言 工欲善其事,必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后,我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集,就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...
Leetcode33( 搜索旋转排序数组)
题目表述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...
基于鸿蒙(HarmonyOS5)的打车小程序
1. 开发环境准备 安装DevEco Studio (鸿蒙官方IDE)配置HarmonyOS SDK申请开发者账号和必要的API密钥 2. 项目结构设计 ├── entry │ ├── src │ │ ├── main │ │ │ ├── ets │ │ │ │ ├── pages │ │ │ │ │ ├── H…...
Kubernetes 节点自动伸缩(Cluster Autoscaler)原理与实践
在 Kubernetes 集群中,如何在保障应用高可用的同时有效地管理资源,一直是运维人员和开发者关注的重点。随着微服务架构的普及,集群内各个服务的负载波动日趋明显,传统的手动扩缩容方式已无法满足实时性和弹性需求。 Cluster Auto…...
ui框架-文件列表展示
ui框架-文件列表展示 介绍 UI框架的文件列表展示组件,可以展示文件夹,支持列表展示和图标展示模式。组件提供了丰富的功能和可配置选项,适用于文件管理、文件上传等场景。 功能特性 支持列表模式和网格模式的切换展示支持文件和文件夹的层…...
Django RBAC项目后端实战 - 03 DRF权限控制实现
项目背景 在上一篇文章中,我们完成了JWT认证系统的集成。本篇文章将实现基于Redis的RBAC权限控制系统,为系统提供细粒度的权限控制。 开发目标 实现基于Redis的权限缓存机制开发DRF权限控制类实现权限管理API配置权限白名单 前置配置 在开始开发权限…...



















