当前位置: 首页 > news >正文

hcip----ospf

一:动态路由协议
IGP 协议---RIP OSPF ISIS EIGRP
EGP--EGP ---BGP
三个角度的评判一款动态路由协议的优劣
RIP --request response
1.选路--选路依据不好,可能出现环路
2.收敛速度--计时器
3.占用资源--
RIPV1 RIPV2 RIPNG--ipv6
OSPFV1 OSPFV2 OSPV3
RIP V2和OSPFV2
相同点
RIP V2和OSPFV2都是无类别的动态路由协议---子网划分/子网汇总
RIPV2和OSPFV2都使用组播发送数据----RIP --224.0.0.9
OSPF---224.0.0.5 224.0.0.6
OSPF和RIPV2都支持负载均衡
OSPF 之所以能够适应中大型网络环境----结构化部署
ABR --区域边界路由器
ABR --必须同时属于多个区域,一个接口对应一个区域
AREA id--32位二进制构成的
OSPF
AREA id--32位二进制构成的
单区域 OSPF area 0---骨干区域
多区域 OSPF 网络--
区域划分----区域之间必须存在ABR
区域划分必须遵循星形拓扑结构
二:OSPF的数据包

1、OSPF的数据包类型

hello包 --- 周期性发现,建立,保活邻居关系。

hello时间 --- 默认10S(30S)

Deadtime --- 4倍的hello时间

2、RID --- 1,全网唯一;2,格式统一 --- IP地址----区分标识不同的OSPF设备

1)手工配置

2)自动生成 --- 首先先看自己环回接口的IP地址,选择其中数值最大的作为RID;如果没有环回接口,则取物理接口中IP地址最大的作为RID。

  DBD包 --- 数据库描述报文 --- LSDB ---- 链路状态数据库(存放LSA信息的数据库)

  LSR包 --- 链路状态请求报文 --- 基于DBD包请求本地未知的LSA信息

  LSU包 --- 链路状态更新报文 --- 真正携带LSA信息的数据报

  LSACK包 --- 链路状态确认报文 --- 确认包

  LSA --- 链路状态通告

  OSPF存在每30min一次的周期更新

三:OSPF的状态机
Two-Way --- 标志着邻居关系的建立
想要到达2-way状态的条件是收到 hello包中携带的邻居参数包含自身的RID

(条件匹配)--- 条件匹配成功,则进入下一个状态,匹配失败,则仅停留在邻居关

系,使用hello包进行周期保活。

隐性确认

FULL ---- 标志着邻接关系的建立。只有邻接关系,才可以交换LSA信息,而邻居关系仅

使用hello包进行保活。

Down状态 --- 启动OSPF,发出hello包之后进入下一个状态

Init(初始化)状态 --- 收到hello包中存在本地RID,进入到下一个状态

2-way(双向通信)--- 标志着邻居关系的建立(条件匹配)条件匹配成功,则进入下一个状态,匹配失败,则仅停留在邻居关系,使用hello包进行周期保活。

exstart(预启动)状态 --- 使用未携带数据的DBD包进行主从关系选举,RID大的为主,为主可以优先获取LSA信息。

Exchange(准交换)状态 --- 使用携带数据的DBD包交换目录信息

Loading(加载)状态 --- 使用LSR包基于DBD包请求未知的LSA信息,对方发送LSU包携带LSA信

息,需要LSACK进行确认

FULL状态 --- 标志着邻接关系的建立

四:OSPF的工作过程总结
1. 建立邻居 :启动配置之后, ospf 将向本地所有的运行了 ospf 协议 的端口发送hello包224.0.0.5,
hello包中携带自己的RID用来区分不同路由器的身份(不携带路由信息),同时携带自己已知的 邻
居RID,之后会将这些RID存储在自己的邻居表中。
2. 条件匹配 :邻居表建立完成之后,会进行条件匹配,如匹配成功 则开始进入下一个状态,如果匹
配失败则会停留在邻居关系。--- 之后仅hello 包进行保活。
3. 如果匹配成功 ,则开始建立邻接关系 - 之后会使用未携带数据 DBD 包(并没有携带LSDB 的摘要
信息)进行主从关系的选举。主路由器 会优先进入下一个状态,会优先发送摘要进行比对,比对
之后,会 请求自己本地没有的lsa 信息。对端会发送真正携带 lsa 信息的 LSU 请求自己本地没有的lsa
信息。对端会发送真正携带 lsa 信息的 LSU 包,会利用LSACK 进行确认。本地的链路状态数据库建
立完成,生 成本地链路数据库表。---FUll
4. 完成收敛 ---- 基于本地的链路状态数据库收集的 lsa ,根据自己 的spf 算法计算得出最短路径树。生
成路由表。
5. 收敛完成后 ,会使用 hello 包每 10s 发送一次,用来保活邻居关 系。ospf 会每 30min 进行一次周期
更新。
五:OSPF的配置

1、启动OSPF进程

[r1]ospf 1 router-id 1.1.1.1

2、创建区域

[r1-ospf-1]area 0

[r1-ospf-1-area-0.0.0.0]

3、宣告

宣告的目的 --- 1,激活接口;2,发布路由

  [r1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0 --- 反掩码 --- 由连续的0和连续的1组成,0代表不

可变,1代表可变

  [r1]display ospf peer --- 查看邻居表

  [r1]display ospf peer brief --- 查看邻居关系简表

  [r1]display ospf lsdb --- 查看链路状态数据库

  [r1]display ospf lsdb router 2.2.2.2 --- 查看具体LSA信息

COST = 参考带宽/真实带宽 --- 华为设备默认的参考带宽为100Mbps

 [r1-ospf-1]bandwidth-reference 1000 --- 注意:如果一台设备的参考带宽修改了,则所有设备的参

考带宽必须改成相同的。

开销值计算,如果出现小数,如果是小于1的小数,则直接按照1来看;如果是大于1的

小数,则直接取整数部分。

4、条件匹配

指定路由器 --- DR --- 和MA网络中其他设备建立邻接关系。

备份指定路由 --- BDR --- 和MA网络中其他设备建立邻接关系。

六:OSPF的结构突变

1,突然新增一个网段 --- 触发更新,直接发送LSU包,需要ACK确认

2,突然断开一个网段 --- 触发更新,直接发送LSU包,需要ACK确认

3,无法沟通 ---- 死亡时间

相关文章:

hcip----ospf

一:动态路由协议 IGP 协议---RIP OSPF ISIS EIGRP EGP--EGP ---BGP 三个角度的评判一款动态路由协议的优劣 RIP --request response 1.选路--选路依据不好,可能出现环路 2.收敛速度--计时器 3.占用资源-- RIPV1 RIPV2 RIPNG--ipv6 OSPFV1 OSPFV…...

vue中如何写过滤器

全局注册 (可以在main.js中进行全局注册 vue.fifler(test’&#xff0c;function(v){return v0? ‘终止’&#xff1a;v1?进行中:异常 })在组件页面使用 <view>{{state|test}}</view> <script> export default {data(){return {state: 1// state 1 进行中…...

c语言-文件的读写操作(下)

文章目录 前言一、文件的随机读写1.1 fseek()1.2 ftell()1.3 rewind() 总结 前言 本篇文章介绍c语言中文件的随机读写 一、文件的随机读写 1.1 fseek() fseek()函数的作用是根据文件指针的位置和偏移量定位文件指针 int fseek ( FILE * stream, long int offset, int origi…...

android学习笔记----SQLite数据库

用SQLite语句执行&#xff1a; 首先看到界面&#xff1a; 代码如下&#xff1a; MainActivity.java import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.text.TextUtils; import android.view.View; import android.widget.EditTe…...

开发知识点-Flutter移动应用开发

支持 安卓 IOS Android 鸿蒙 第一章dart基础章节介绍 移动电商——Flutter-广告Banner组件制作 移动电商——Flutter实战课程介绍 Flutter实例——路由跳转的动画效果...

视频尺寸魔方:分层遮掩3D扩散模型在视频尺寸延展的应用

▐ 摘要 视频延展(Video Outpainting)是对视频的边界进行扩展的任务。与图像延展不同&#xff0c;视频延展需要考虑到填充区域的时序一致性&#xff0c;这使得问题更具挑战性。在本文中&#xff0c;我们介绍了一个新颖的基于扩散模型的视频尺寸延展方法——分层遮掩3D扩散模型(…...

openssl3.2/test/certs - 061 - other@good.org not permitted by CA1

文章目录 openssl3.2/test/certs - 061 - othergood.org not permitted by CA1概述笔记END openssl3.2/test/certs - 061 - othergood.org not permitted by CA1 概述 openssl3.2 - 官方demo学习 - test - certs 笔记 /*! * \file D:\my_dev\my_local_git_prj\study\openSS…...

如何实现无公网ip远程访问本地websocket服务端【内网穿透】

文章目录 1. Java 服务端demo环境2. 在pom文件引入第三包封装的netty框架maven坐标3. 创建服务端,以接口模式调用,方便外部调用4. 启动服务,出现以下信息表示启动成功,暴露端口默认99995. 创建隧道映射内网端口6. 查看状态->在线隧道,复制所创建隧道的公网地址加端口号7. 以…...

pip清华源怎么换回来

怎么临时使用清华源 pip install scrapy -i https://pypi.Python.org/simple/怎么永久换源 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple修改清华源后怎么换回来 删掉/home/XXX/.config/pip/pip.conf...

[Go]认识Beego框架

对比Gin的简洁&#xff0c;自己之前基于Gin撸了一个架子&#xff0c;确实比beego目录看着舒服多了&#xff0c;不过最近接触到beego的项目&#xff0c;beego的bee工具使用还是很方便&#xff0c;来简单梳理下细节&#xff1b; Beego是一个开源的Go语言Web应用框架&#xff0c;…...

JWT登录

JWT JSON Web Token&#xff08;JSON Web令牌&#xff09; 是一个开放标准(rfc7519)&#xff0c;它定义了一种紧凑的、自包含的方式&#xff0c;用于在各方之间以JSON对象安全地传输信息。此信息可以验证和信任&#xff0c;因为它是数字签名的。jwt可以使用秘密〈使用HNAC算法…...

MySQL和Redis的事务有什么异同?

MySQL和Redis是两种不同类型的数据库管理系统&#xff0c;它们在事务处理方面有一些重要的异同点。 MySQL事务&#xff1a; ACID属性&#xff1a; MySQL是一个关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;支持ACID属性&#xff0c;即原子性&#xff08;Ato…...

【C#】基础巩固

最近写代码的时候各种灵感勃发&#xff0c;有了灵感&#xff0c;就该实现了&#xff0c;可是&#xff0c;实现起来有些不流畅&#xff0c;总是有这样&#xff0c;那样的卡壳&#xff0c;总结下来发现了几个问题。 1、C#基础内容不是特别牢靠&#xff0c;理解的不到位&#xff…...

基于Skywalking开发分布式监控(一)

接手为微服务系统搞链路监控项目一年多&#xff0c;也和skywalking打了一年多的交道&#xff0c;也应该有个总结&#xff0c;主要谈一下搭建监控系统遇到的难点和解决方案。 说明&#xff1a; 本文的代码均由本地演示代码替代&#xff0c;非实际代码 为啥选skywalking&#xf…...

高防服务器什么意思

高防服务器什么意思&#xff0c;为什么要用高防服务器&#xff0c;小编为您整理发布高防服务器什么意思的解读。 高防服务器是指具备较高防御能力的服务器&#xff0c;能够抵御DDoS/CC等网络攻击。 高防服务器通常用于保护游戏、APP、金融、电商等业务&#xff0c;这些领域因为…...

C/C++ - Auto Reference

目录 auto Reference auto 当使用auto​​关键字声明变量时&#xff0c;C编译器会根据变量的初始化表达式推断出变量的类型。 自动类型推断&#xff1a;auto​​关键字用于自动推断变量的类型&#xff0c;使得变量的类型可以根据初始化表达式进行推导。 初始化表达式&#x…...

springboot项目快速引入knife4j

引入依赖 <dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><version>3.0.3</version> </dependency>knife4j配置文件 basePackage改为自己存放接口的包名 /*** Kn…...

SpringBlade微服务开发平台

采用前后端分离的模式&#xff0c;前端开源两个框架&#xff1a;Sword (基于 React、Ant Design)、Saber (基于 Vue、Element-UI)后端采用SpringCloud全家桶&#xff0c;并同时对其基础组件做了高度的封装&#xff0c;单独开源出一个框架&#xff1a;BladeToolBladeTool已推送至…...

【运维】Ubuntu18.04系统docker方式安装ElasticSearch和kibana

前言 最近需要搭建一套测试环境&#xff0c;用到了ElasticSearch( 简称es)搜索引擎&#xff0c;安装过程有些曲折&#xff0c;记录下来作为经验。 正文 环境 Ubuntu18.04 操作系统Docker Server Version: 20.10.7ElasticSearch Version: 8.5.3Kibana Version: 8.5.3 说明 E…...

五种单例模式

在整个程序中&#xff0c;保持只有一个实例对象&#xff0c;就是单例模式。 单例模式可以减少构建&#xff0c;GC的次数&#xff0c;提升性能&#xff0c;还能减少堆内存的开销。 1. 懒汉式 在需要使用对象的时候&#xff0c;才进行创建 通过private构造方法&#xff0c;确保…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

Spring数据访问模块设计

前面我们已经完成了IoC和web模块的设计&#xff0c;聪明的码友立马就知道了&#xff0c;该到数据访问模块了&#xff0c;要不就这俩玩个6啊&#xff0c;查库势在必行&#xff0c;至此&#xff0c;它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据&#xff08;数据库、No…...

AspectJ 在 Android 中的完整使用指南

一、环境配置&#xff08;Gradle 7.0 适配&#xff09; 1. 项目级 build.gradle // 注意&#xff1a;沪江插件已停更&#xff0c;推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...

MySQL账号权限管理指南:安全创建账户与精细授权技巧

在MySQL数据库管理中&#xff0c;合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号&#xff1f; 最小权限原则&#xf…...

通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器

拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件&#xff1a; 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...

QT开发技术【ffmpeg + QAudioOutput】音乐播放器

一、 介绍 使用ffmpeg 4.2.2 在数字化浪潮席卷全球的当下&#xff0c;音视频内容犹如璀璨繁星&#xff0c;点亮了人们的生活与工作。从短视频平台上令人捧腹的搞笑视频&#xff0c;到在线课堂中知识渊博的专家授课&#xff0c;再到影视平台上扣人心弦的高清大片&#xff0c;音…...

Docker环境下安装 Elasticsearch + IK 分词器 + Pinyin插件 + Kibana(适配7.10.1)

做RAG自己打算使用esmilvus自己开发一个&#xff0c;安装时好像网上没有比较新的安装方法&#xff0c;然后找了个旧的方法对应试试&#xff1a; &#x1f680; 本文将手把手教你在 Docker 环境中部署 Elasticsearch 7.10.1 IK分词器 拼音插件 Kibana&#xff0c;适配中文搜索…...

使用 uv 工具快速部署并管理 vLLM 推理环境

uv&#xff1a;现代 Python 项目管理的高效助手 uv&#xff1a;Rust 驱动的 Python 包管理新时代 在部署大语言模型&#xff08;LLM&#xff09;推理服务时&#xff0c;vLLM 是一个备受关注的方案&#xff0c;具备高吞吐、低延迟和对 OpenAI API 的良好兼容性。为了提高部署效…...

LTR-381RGB-01RGB+环境光检测应用场景及客户类型主要有哪些?

RGB环境光检测 功能&#xff0c;在应用场景及客户类型&#xff1a; 1. 可应用的儿童玩具类型 (1) 智能互动玩具 功能&#xff1a;通过检测环境光或物体颜色触发互动&#xff08;如颜色识别积木、光感音乐盒&#xff09;。 客户参考&#xff1a; LEGO&#xff08;乐高&#x…...