基于华为ENSP的OSPF接口网络类型深入浅出(4)

server/2025/1/13 0:40:48/

本篇技术博文摘要 🌟

  • OSPF的接口在不同网络类型下的工作方式;
  • 不同网络类型下的报文通告方式
  • 深入浅出hub-spoke架构

引言 📘

  • 在这个快速发展的技术时代,与时俱进是每个IT人的必修课。
  • 我是肾透侧视攻城狮,一名什么都会一丢丢的网络安全工程师,也是众多技术社区的活跃成员以及多家大厂官方认可人员,希望能够与各位在此共同成长。

📈个人成就和🌐社区贡献与影响力

👑《荣誉头衔》

  • 华为云云享专家
  • 华为云技术开发者HCCDA认证
  • 华为HCDG成员
  • 2024年度华为云核心贡献者
  • 阿里云专家博主
  • 新华三高级网络工程师认证
  • 腾讯云开发者创作之星
  • 2024年度腾讯云开发者创作之星
  • 腾讯云TDP成员
  • AWS——AI从业者者认证
  • 支付宝开发者社区优秀季度创作博主
  • CSDN网络安全领域新星创作者

💻技术认证:

  • 华为病毒查杀漏洞管理技术认证
  • 华为Web暴力破解漏洞挖掘技术认证
  • 华为HTTPS加密电商网站技术认证
  • 华为博客网站SQL注入攻击以及防御技术认证
  • 华为MySQL数据库迁移上云技术认证
  • 华为企业上云网络规划设计技术认证
  • 阿里云Apsara Clouder基于存储产品快速搭建网盘技术认证
  • 阿里云Apsara Clouder容器应用与集群管理技术认证
  • 阿里云Apsara ClouderECS基础运维管理技术认证
  • 阿里云Apsara Clouder存储应用与数据管理技术认证
  • 阿里云Apsara ClouderSOL基础开发与应用技术认证
  • 阿里云Apsara Clouder基于容器搭建企业级应用技术认证
  • 阿里云Apsara Clouder云原生数据库PolarDB 快速入门技术认证
  • 阿里云Apsara Clouder云数据库RDS快速入门技术认证
  • 阿里云Apsara Clouder大模型- 基于百炼平台构建智能体应用技术认证
  • 阿里云Apsara Clouder企业级ECS集群构建技术认证
  • 腾讯微服务平台TSF技术认证
  • 腾讯EdgeOne网站加速与防护技术认证

🙆曾参与赛事以及荣誉奖项:

  • 曾荣获江苏省新华三网络赛事江苏省一等奖、江苏省华为ICT大赛团队赛江苏省二等奖、江苏省网络安全精英赛事优秀奖、江苏省C4网络技术挑战赛赛事、江苏省红帽挑战赛、腾讯全国安全游戏竞赛、全国网络安全运维管理等CTF赛事
  • 曾荣获南京市CSDN作者周榜第2名、原力月榜第1名;全国原力榜第11名、全国领军人物榜单第22名

欢迎各位彦祖与热巴畅游本人专栏与博客

你的三连是我最大的动力

以下图片仅代表专栏特色 [点击箭头指向的专栏名即可闪现]

➡️网络空间安全——全栈前沿技术持续深入学习 

➡️ 24 Network Security -LJS 

➡️ MYSQL REDIS Advance operation

➡️HCIP;H3C-SE;CCIP—LJS[华为、华三、思科高级网络]

➡️RHCE-LJS[Linux高端骚操作实战篇]​

➡️数据结构与算法[考研+实际工作应用+C程序设计]

➡️RHCSA-LJS[Linux初级及进阶骚技能]

上节回顾

目录

本篇技术博文摘要 🌟

引言 📘

📈个人成就和🌐社区贡献与影响力

👑《荣誉头衔》

💻技术认证:

🙆曾参与赛事以及荣誉奖项:

欢迎各位彦祖与热巴畅游本人专栏与博客

你的三连是我最大的动力

以下图片仅代表专栏特色 [点击箭头指向的专栏名即可闪现]

上节回顾

OSPF的接口网络类型

1.OSPF的接口在不同网络类型下的工作方式

 1.1Poll--->轮询时间间隔

1.2Retransmit

1.3Transmit Delay——LSA延迟时间

2.不同网络类型下的报文通告方式

2.1BMA类型中

2.2P2P类型中

2.3补充如何获取ospf环回口路由

P2MP%E7%8E%AF%E5%A2%83%E4%B8%8B%E6%9D%A5%E8%BF%9B%E8%A1%8C%E7%A4%BA%E4%BE%8B%E9%85%8D%E7%BD%AE-toc" style="margin-left:40px;"> 2.4基于ENSP在P2MP环境下来进行示例配置

hub-spoke%E6%9E%B6%E6%9E%84-toc" style="margin-left:0px;">3.深入浅出hub-spoke架构

3.1为什么华为tunnel口64Kbps? 

3.2why hub无法和spoke点建邻?

解决方法:

3.3 spoke点无法与hub节点建邻如何解决?

解决方法:

3.4DR角色选举在spoke节点肿么办?

解决方法:

​编辑

P2MP%2FNBMA%E4%B8%8Bospf%E5%A6%82%E4%BD%95%E5%AD%A6%E4%B9%A0%E4%BB%A5%E5%8F%8A%E6%80%8E%E6%A0%B7%E5%8F%91%E9%80%81%E4%BD%95%E7%B1%BB%E5%9E%8B%E7%9A%84%E6%8A%A5%E6%96%87%EF%BC%9F-toc" style="margin-left:40px;"> 3.5 在P2MP/NBMA下ospf如何学习以及怎样发送何类型的报文?

P2MP%E7%8E%AF%E5%A2%83%E4%B8%AD-toc" style="margin-left:80px;">在P2MP环境中

在NBMA环境中


OSPF的接口网络类型

1.OSPF的接口在不同网络类型下的工作方式

网络类型OSPF接口的工作方式
BMABroadcast;可以建立多个邻居关系。需要进行DR选举。hello 10S;dead 40S。
P2PP2P;只能建立一个邻居关系,不需要进行DR选举。Hello 10S;dead 40S。
环回接口(虚拟接口)P2P,华为设备定义为P2P类型,而思科定义为loopback类型。环回接口默认学习32位主机路由。
P2MP;可以建立多个邻居关系,不需要进行DR选举;hello 30S,dead 120S。
NBMA(帧中继)NBMA,可以建立多个邻居关系,需要DR选举;hello 30S,dead 120S。无法自动建立邻居关系。
Vlink;hello 10S,dead 40S。不需要DR选举。以单播形式发送hello报文。

image-20240330160326537

image-20240330160715384

 1.1Poll--->轮询时间间隔

  • 在NBMA网络上,当邻居失效后,路由器将按照设定好的轮询时间间隔定期发送hello报文。以检测邻居是否上线。
  • 该时间在修改时最少为hello时间的四倍

1.2Retransmit

  • 邻居路由器重传LSA的间隔时间

1.3Transmit Delay——LSA延迟时间

  • 该字段是针对LSA设置的,因为OSPF网络需要保证全网的LSDB数据库相同,而LSDB数据库中的每一个LSA是具备一个老化时间参数的,该参数也需要统一。
  • 而LSA在链路中传递时,老化时间不会改变,导致最终数据不统一

2.不同网络类型下的报文通告方式

2.1BMA类型中

image-20240330163716704

  • Hello、LSU、LSAck三种报文以组播形式通告,而其他报文以单播形式通告

2.2P2P类型中

  • 所有报文使用组播形式发送

image-20240413141611190

2.3补充如何获取ospf环回口路由

  • 所有通过OSPF学习到的环回接口的路由,掩码信息均为32位主机路由

  • 因为环回接口是一个模拟的接口,实际上并没有连接用户,所以没有其余的IP地址存在于环回接口之下,只有一个可用IP地址,故而使用32位掩码来直接标识。

  • 避免了环路或者路由黑洞的产生

  • 在OSPF中,环回接口的开销值恒定为0。

  • 在条件匹配中,会存在一个waiting计时器,该计时器等于该接口的死亡时间,当该时间超时,则代表DR选举失败,此时接口认为自己为DR设备,并且进入exstart状态

  • DR选举失败指的是Waiting计时器超时。而条件匹配失败,指的是建立邻居的双方没有任何一方是DR或BDR的身份

P2MP%E7%8E%AF%E5%A2%83%E4%B8%8B%E6%9D%A5%E8%BF%9B%E8%A1%8C%E7%A4%BA%E4%BE%8B%E9%85%8D%E7%BD%AE" style="background-color:transparent;"> 2.4基于ENSP在P2MP环境下来进行示例配置

image-20240413143204074

[r3-LoopBack0]ospf network-type broadcast   ----修改OSPF接口的网络类型参数为BMAinterface Tunnel0/0/0ip address 192.168.4.7 255.255.255.0 tunnel-protocol gre p2mpsource 107.0.0.7interface Tunnel0/0/0ip address 192.168.4.8 255.255.255.0 tunnel-protocol gre p2mpsource GigabitEthernet0/0/0nhrp entry 192.168.4.7 107.0.0.7 register[r7-Tunnel0/0/0]nhrp entry multicast dynamic 

hub-spoke%E6%9E%B6%E6%9E%84" style="background-color:transparent;">3.深入浅出hub-spoke架构

image-20240413143204074

image-20240413160106221

3.1为什么华为tunnel口64Kbps? 

  •  华为将tunnel接口的传输速率定义为64Kbps。这是因为华为想人为的将tunnel接口的开销值改大,从而让OSPF的选路尽量避开tunnel接口,而走其他接口。
  • 因为隧道接口会进行封装和解封装操作,导致资源消耗增加,数据转发效率降低

image-20240413160106221

3.2why hub无法和spoke点建邻?

  • 因为hub节点无法发送OSPF报文,原因在于在MGRE环境下,不允许组播行为出现,且hub节点发送的是单播报文,而hub节点的nhrp映射表中存在多个映射关系,无法选择,故数据报文无法发送

解决方法:

  • 在hub节点开启伪广播功能,用单播实现组播行为

image-20240413160106221

3.3 spoke点无法与hub节点建邻如何解决?

  • 由于hub节点的tunnel接口此时在OSPF的工作模式为P2P,故只能存在一个邻居,而导致其他spoke节点无法与hub节点建立邻居关系

解决方法:

  • 将hub节点的接口网络类型进行修改
  • 如果是hub节点此时只能与一个spoke节点建立邻接关系,其他节点处于邻居关系,原因在于此时的所有spoke节点都不需要进行DR选举,而hub节点需要进行选举,最终导致选举失败。那么可以所有节点的接口网络类型均进行修改

3.4DR角色选举在spoke节点肿么办?

  • 在Hub-Spoke架构中,只有中心节点可以连接每一个分支,而如果DR角色选举在spoke节点,就会导致LSA信息学习和分发不完整,导致全网路由学习缺失。

解决方法:

  • 干涉DR选举,将DR的位置固定在hub节点让spoke节点放弃选举

image-20240413160106221


P2MP%2FNBMA%E4%B8%8Bospf%E5%A6%82%E4%BD%95%E5%AD%A6%E4%B9%A0%E4%BB%A5%E5%8F%8A%E6%80%8E%E6%A0%B7%E5%8F%91%E9%80%81%E4%BD%95%E7%B1%BB%E5%9E%8B%E7%9A%84%E6%8A%A5%E6%96%87%EF%BC%9F"> 3.5 在P2MP/NBMA下ospf如何学习以及怎样发送何类型的报文?

image-20240413160106221

  • OSPF接口的网络类型修改,是全局操作,所有设备均需要修改为相同类型

P2MP%E7%8E%AF%E5%A2%83%E4%B8%AD" style="text-align:justify;">P2MP环境中

  • hello报文组播发送,其他报文单播发送。
  • P2MP环境下,OSPF会主动学习邻居设备接口的IP地址,且自动生成该IP地址所对应的主机路由信息

在NBMA环境中

  • 所有的OSPF数据报文均以单播形式发送。该环境中不允许组播或广播行为,故需要给每一台运行OSPF协议的设备手工指定其邻居IP地址,在OSPF进程中通过Peer IP命令,双方均需要配置。


http://www.ppmy.cn/server/157216.html

相关文章

AJ-Report:一款开源且非常强大的数据可视化大屏和报表工具

嗨,大家好,我是小华同学,关注我们获得“最新、最全、最优质”开源项目和工作学习方法 AJ-Report是一个基于Java的开源报表工具,它集成了ECharts、Ant Design Vue等前端技术,致力于为企业提供一站式的数据可视化解决方案…

通过 crontab 每天定时启动一个 Java JAR 包并调用特定的 `main` 方法

要通过 crontab 每天定时启动一个 Java JAR 包并调用特定的 main 方法,你需要创建一个 cron 作业。这个作业将会在每天的指定时间运行。以下是步骤: 1. **确保环境变量配置正确**:首先,确保你的系统上已经安装了 Java&#xff0c…

Rust的对web生态的影响

Rust Rust 编译的前端工具(如 Vite、esbuild、SWC、Parcel 的一部分,以及 Turbopack 等)在性能上优于传统的 JavaScript 实现(如 Webpack)的主要原因是 Rust 的语言特性和工具链的设计理念,而前端圈重构现…

Scala语言的面向对象编程

Scala语言的面向对象编程 Scala是一种静态类型的编程语言,它融合了面向对象编程和函数式编程的特性。自2003年由马丁奥德斯基(Martin Odersky)推出以来,Scala逐渐被广泛应用于开发大数据处理、分布式计算和高性能计算等领域。本文…

Ruby语言的软件开发工具

Ruby语言的软件开发工具概述 引言 Ruby是一种简单且功能强大的编程语言,它以优雅的语法和灵活性而闻名。自1995年首次发布以来,Ruby已经被广泛应用于各种开发领域,特别是Web开发。随着Ruby语言的普及,相关的开发工具也日益丰富。…

WD5105同步降压转换器:9.2V-95V宽电压输入,4.5A大电流输出,95%高效率,多重保护功能

概述 • WD5105同步降压转换器 • 封装形式:QFN-20封装 • 应用场景:适用于车载充电器、电动车仪表、电信基站电源、电源适配器等 性能特点 • 输入电压范围:9.2V至95V • 输出电流:可提供4.5A连续负载电流 • 效率:高…

RK3568-uboot/kernel/buildroot编译命令

导入交叉编译链 export PATH$PATH:/home/forlinx/git/OK3568-linux-source/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin编译uboot cd /u-boot make ARCHarm CROSS_COMPILEaarch64-linux-gnu- distclean make ARCHarm CROSS_COMP…

Backend - C# EF Core 执行迁移 Migrate

目录 一、创建Postgre数据库 二、安装包 (一)查看是否存在该安装包 (二)安装所需包 三、执行迁移命令 1. 作用 2. 操作位置 3. 执行(针对visual studio) 查看迁移功能的常用命令: 查看…