华为配置OSPF的Stub区域示例
配置OSPF的Stub区域示例
组网图形
Stub区域简介
Stub区域的ABR不传播它们接收到的自治系统外部路由,在Stub区域中路由器的路由表规模以及路由信息传递的数量都会大大减少。为保证到自治系统外的路由依旧可达,该区域的ABR将生成一条缺省路由,并发布给Stub区域中的其他非ABR路由器。
例如H公司有一台设备通过单链路与骨干区域连接,这台设备的性能较低,路由表规格也比较小。对于这台设备来说,这个区域需要访问其他区域,或者是OSPF域外的网段的时候,它的路由的下一跳都是这个单链路所对应的下一跳核心设备的IP。所以这个区域没有必要学习到大量的OSPF外部路由,此时就可以考虑将该区域配置成Stub区域。这样就能减小这个区域的路由表规模,降低对设备性能资源的消耗。
配置注意事项
- 骨干区域不能配置成Stub区域。
- Stub区域内不能存在ASBR,即自治系统外部的路由不能在本区域内传播。
- 虚连接不能穿过Stub区域。
- 如果要将一个区域配置成Stub区域,则该区域中的所有路由器都要配置Stub区域属性。
- 如果要将一个区域配置成Totally Stub区域,该区域中的所有路由器必须配置stub命令,而其中该区域的ABR路由器需要配置stub no-summary命令。
- stub no-summary命令仅能用于ABR上,用于禁止ABR向Stub区域内发布3类LSA。在ABR上配置该命令以后该区域成为Totally Stub区域,这时区域内的路由表项进一步减少,只有区域内路由和ABR通告的一条缺省路由。
- 本举例适用的产品包括:
- V200R011C10及之后版本的S2720-EI
- S3700-EI、S3700-HI
- S5700-EI、S5700-HI、S5710-EI、S5710-HI、S5720-LI、S5720S-LI、S5720-SI、S5720S-SI、S5720I-SI、S5720-EI、S5720-HI、S5730-HI、S5730-SI、S5730S-EI、S5731-H、S5731-S、S5731S-S、S5731S-H、S5731-H-K、S5732-H、S5732-H-K、S2730S-S、S5735-L-I、S5735-L1、S300、S5735-L、S5735S-L1、S5735S-L、S5735S-L-M、S500、S5735-S、S5735S-S、S5735-S-I、S5735S-H、S5736-S
- S6700-EI、S6720-LI、S6720S-LI、S6720-SI、S6720S-SI、S6720-EI、S6720S-EI、S6720-HI、S6730-H、S6730-S、S6730S-S、S6730S-H、S6730-H-K
- S7703、S7706、S7712、S7710、S7703 PoE、S7706 PoE、S7905、S7908
- S9703、S9706、S9712
-
本举例中产品的默认适用版本请参见“案例适用的产品和版本说明”中的表1。
如需了解交换机软件配套详细信息,请点击Info-Finder,在选择产品系列或产品型号后,在“硬件中心”进行查询。
S5731-L和S5731S-L属于远端模块,不支持Web管理、YANG和命令行,仅支持通过中心交换机对其下发配置,相关操作请参见《S300, S500, S2700, S5700, S6700 V200R022C00 配置指南-设备管理》中的“智能极简园区网络配置(小行星方案)”。
组网需求
如图1所示,三台交换机之间运行OSPF协议,整个OSPF网络被划分为Area0和Area1两个区域,其中SwitchB作为ASBR与OSPF外部网络实现互通。现要求在不影响通信的情况下减少SwitchC上OSPF路由表的规模。
配置思路
采用如下的思路配置OSPF Stub区域:
-
在各交换机上配置OSPF基本功能,实现OSPF网络的基本互通。
-
在SwitchB上配置静态路由,并引入到OSPF路由表中,实现OSPF网络到外部网络路由可达。
-
配置Area1为Stub区域,初步减少SwitchC上OSPF路由表的规模。
-
在Area1的ABR(SwitchA)上配置禁止向Stub区域通告Type3 LSA,即将Area1配置为Totally Stub区域,达到最大限度减少SwitchC上OSPF路由表规模的目的。
操作步骤
- 配置各接口所属的VLAN
# 配置SwitchA。SwitchB和SwitchC的配置与SwitchA类似。<HUAWEI> system-view [HUAWEI] sysname SwitchA [SwitchA] vlan batch 10 20 [SwitchA] interface gigabitethernet 0/0/1 [SwitchA-GigabitEthernet0/0/1] port link-type trunk [SwitchA-GigabitEthernet0/0/1] port trunk allow-pass vlan 10 [SwitchA-GigabitEthernet0/0/1] quit [SwitchA] interface gigabitethernet 0/0/2 [SwitchA-GigabitEthernet0/0/2] port link-type trunk [SwitchA-GigabitEthernet0/0/2] port trunk allow-pass vlan 20 [SwitchA-GigabitEthernet0/0/2] quit
- 配置各VLANIF接口的IP地址
# 配置SwitchA。SwitchB和SwitchC的配置与SwitchA类似。[SwitchA] interface vlanif 10 [SwitchA-Vlanif10] ip address 192.168.0.1 24 [SwitchA-Vlanif10] quit [SwitchA] interface vlanif 20 [SwitchA-Vlanif20] ip address 192.168.1.1 24 [SwitchA-Vlanif20] quit
- 配置OSPF基本功能
# 配置SwitchA。[SwitchA] ospf 1 router-id 10.1.1.1 [SwitchA-ospf-1] area 0 [SwitchA-ospf-1-area-0.0.0.0] network 192.168.0.0 0.0.0.255 [SwitchA-ospf-1-area-0.0.0.0] quit [SwitchA-ospf-1] area 1 [SwitchA-ospf-1-area-0.0.0.1] network 192.168.1.0 0.0.0.255 [SwitchA-ospf-1-area-0.0.0.1] quit [SwitchA-ospf-1] quit # 配置SwitchB。[SwitchB] ospf 1 router-id 10.2.2.2 [SwitchB-ospf-1] area 0 [SwitchB-ospf-1-area-0.0.0.0] network 192.168.0.0 0.0.0.255 [SwitchB-ospf-1-area-0.0.0.0] quit [SwitchB-ospf-1] quit # 配置SwitchC。[SwitchC] ospf 1 router-id 10.3.3.3 [SwitchC-ospf-1] area 1 [SwitchC-ospf-1-area-0.0.0.1] network 192.168.1.0 0.0.0.255 [SwitchC-ospf-1-area-0.0.0.1] quit [SwitchC-ospf-1] quit
- 配置SwitchB引入静态路由
[SwitchB] ip route-static 10.0.0.0 8 null 0 [SwitchB] ospf 1 [SwitchB-ospf-1] import-route static type 1 //SwitchB作为ASBR,引入外部路由 [SwitchB-ospf-1] quit # 查看SwitchC的OSPF路由表信息,可以看到OSPF路由表中存在AS外部的路由。[SwitchC] display ospf routingOSPF Process 1 with Router ID 10.3.3.3Routing TablesRouting for NetworkDestination Cost Type NextHop AdvRouter Area192.168.1.0/24 1 Transit 192.168.1.2 10.3.3.3 0.0.0.1192.168.0.0/24 2 Inter-area 192.168.1.1 10.1.1.1 0.0.0.1Routing for ASEsDestination Cost Type Tag NextHop AdvRouter10.0.0.0/8 3 Type1 1 192.168.1.1 10.2.2.2Total Nets: 3Intra Area: 1 Inter Area: 1 ASE: 1 NSSA: 0
- 配置Area1为Stub区域
# 配置SwitchA。[SwitchA] ospf 1 [SwitchA-ospf-1] area 1 [SwitchA-ospf-1-area-0.0.0.1] stub //配置area 1区域为stub区域,area 1内的所有路由器都要配置stub命令 [SwitchA-ospf-1-area-0.0.0.1] quit [SwitchA-ospf-1] quit # 配置SwitchC。[SwitchC] ospf 1 [SwitchC-ospf-1] area 1 [SwitchC-ospf-1-area-0.0.0.1] stub //配置area 1区域为stub区域,area 1内的所有路由器都要配置stub命令 [SwitchC-ospf-1-area-0.0.0.1] quit [SwitchC-ospf-1] quit # 查看SwitchC的OSPF路由表信息,发现此时AS外部的路由10.0.0.0/8已经消失,但是多了一条通往区域外部的缺省路由。[SwitchC] display ospf routingOSPF Process 1 with Router ID 10.3.3.3Routing TablesRouting for NetworkDestination Cost Type NextHop AdvRouter Area192.168.1.0/24 1 Transit 192.168.1.2 10.3.3.3 0.0.0.10.0.0.0/0 2 Inter-area 192.168.1.1 10.1.1.1 0.0.0.1192.168.0.0/24 2 Inter-area 192.168.1.1 10.1.1.1 0.0.0.1Total Nets: 3Intra Area: 1 Inter Area: 2 ASE: 0 NSSA: 0
- 配置Area1为Totally Stub区域
[SwitchA] ospf 1 [SwitchA-ospf-1] area 1 [SwitchA-ospf-1-area-0.0.0.1] stub no-summary //配置area 1区域为Totally Stub区域,area 1内的ABR要配置stub no-summary命令,其他设备配置stub命令 [SwitchA-ospf-1-area-0.0.0.1] quit [SwitchA-ospf-1] quit
- 验证配置结果
# 查看SwitchC的OSPF路由表,发现目的地址为192.168.0.0/24的区域间路由也消失了,仅保留了区域内的OSPF路由以及一条通往区域外部缺省路由。[SwitchC] display ospf routingOSPF Process 1 with Router ID 10.3.3.3Routing TablesRouting for NetworkDestination Cost Type NextHop AdvRouter Area192.168.1.0/24 1 Transit 192.168.1.2 10.3.3.3 0.0.0.10.0.0.0/0 2 Inter-area 192.168.1.1 10.1.1.1 0.0.0.1Total Nets: 2Intra Area: 1 Inter Area: 1 ASE: 0 NSSA: 0
配置文件
-
SwitchA的配置文件# sysname SwitchA # vlan batch 10 20 # interface Vlanif10ip address 192.168.0.1 255.255.255.0 # interface Vlanif20ip address 192.168.1.1 255.255.255.0 # interface GigabitEthernet0/0/1port link-type trunkport trunk allow-pass vlan 10 # interface GigabitEthernet0/0/2port link-type trunkport trunk allow-pass vlan 20 # ospf 1 router-id 10.1.1.1area 0.0.0.0network 192.168.0.0 0.0.0.255area 0.0.0.1network 192.168.1.0 0.0.0.255stub no-summary # return SwitchB的配置文件# sysname SwitchB # vlan batch 10 # interface Vlanif10ip address 192.168.0.2 255.255.255.0 # interface GigabitEthernet0/0/1port link-type trunkport trunk allow-pass vlan 10 # ospf 1 router-id 10.2.2.2import-route static type 1area 0.0.0.0network 192.168.0.0 0.0.0.255 # ip route-static 10.0.0.0 255.0.0.0 NULL0 # return SwitchC的配置文件# sysname SwitchC # vlan batch 20 # interface Vlanif20ip address 192.168.1.2 255.255.255.0 # interface GigabitEthernet0/0/1port link-type trunkport trunk allow-pass vlan 20 # ospf 1 router-id 10.3.3.3area 0.0.0.1network 192.168.1.0 0.0.0.255stub # return
相关文章:

华为配置OSPF的Stub区域示例
配置OSPF的Stub区域示例 组网图形 图1 配置OSPF Stub区域组网图 Stub区域简介配置注意事项组网需求配置思路操作步骤配置文件 Stub区域简介 Stub区域的ABR不传播它们接收到的自治系统外部路由,在Stub区域中路由器的路由表规模以及路由信息传递的数量都会大大减少…...

学会Web UI框架--Bootstrap,快速搭建出漂亮的前端界面
✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 所属的专栏:前端泛海 景天的主页:景天科技苑 文章目录 Bootstrap1.Bootstrap介绍2.简单使用3.布局容器4.Bootstrap实现轮播…...
C语言学习大纲
笔者看了下某二本的C语言考研大纲,供平常学习参考,主要考察知识点: C语言概述 (1) 了解程序设计语言的语法 (2) 掌握C语言的特点 (3) 掌握问题求解的过程数据描述 (1&am…...

Unity URP 如何写基础的曲面细分着色器
左边是默认Cube在网格模式下经过曲面细分的结果,右边是原状态。 曲面细分着色器在顶点着色器、几何着色器之后,像素着色器之前。 它的作用时根据配置信息生成额外的顶点以切割原本的面片。 关于这部分有一个详细的英文教程,感兴趣可以看一…...
android pdf框架-8,图片缓存
解码会产生很多图片,滑过后不要显示,如果直接回收,会浪费不少资源. 在没有缓存的情况下,会看到gc还是比较频繁的. 有了缓存后,明显gc少了. 目录 常用的缓存 自定义缓存 显示相关的内存缓存 解码缓存池 内存缓存实现: 解码缓存池实现: 常用的缓存 lrucache,这是最常用…...

UE5.2 SmartObject使用实践
SmartObject是UE5新出的一项针对AI的功能,可为开发者提供如公园长椅、货摊等交互对象的统一外观封装,如UE的CitySample(黑客帝国Demo)中就运用到了SmartObject。 但SmartObject实践起来较为繁琐,主要依赖于AI及行为树…...

奇舞周刊第521期:实现vue3响应式系统核心-MVP 模型
奇舞推荐 ■ ■ ■ 实现vue3响应式系统核心-MVP 模型 手把手带你实现一个 vue3 响应式系统,代码并没有按照源码的方式去进行组织,目的是学习、实现 vue3 响应式系统的核心,用最少的代码去实现最核心的能力,减少我们的学习负担&…...
Mybatis-plus手写SQL如何使用条件构造器和分页
Mybatis-plus手写SQL如何使用条件构造器和分页插件 前言:在使用mybatis-plus过程中,使用条件构造器和分页插件非常效率的提升开发速度,但有些业务需要使用连表查询,此时还想使用条件构造器和使用分页时应该如何操作呢?…...
Vue的table组件合并行方法
/*** param {Array} data - 原始数据集合* param {string} addParamer - 这个是自定义的参数,向每个对象中添加一个参数 按照这个参数的个数进行合并* param {} args - 剩余参数 这个是合并规则 ,比如按照时间合并 那就传入对象中的时间参数date…...
5. C语言字符串处理常用方法
在 C 语言中,字符串是以字符数组的形式表示的,以空字符 \0 结尾。C 语言提供了一系列的字符串处理函数,可以用于字符串的操作、查找、比较等。以下是一些常用的 C 语言字符串处理函数: 1. 字符串定义与初始化 #include <stdio.h> #include <string.h>int mai…...

ts--(入门到离职系列)
TS 与 JS 的区别 TypeScript[4] 是一种由微软开发的自由和开源的编程语言。它是 JavaScript 的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程。-- 官方文档 说人话就是 TS 拓展了 JS 的一些功能,解决了 JS 的一些缺点&#…...
java后端常见问题
java面向对象的特征,如何应用 面向对象编程是利用类和对象的编程思想万物皆成类,对象是类的具体体现,面向对象的三大基础特性,继承封装多态。、封装:封装隐藏了类的具体内部实现机制,可以在不影响使用的情…...

windows系统玩游戏找不到d3dx9_43.dll缺失,无法启动此程序的解决方法
今日,我们要深入讨论d3dx9_43.dll文件的重要性及其缺失问题。最近,我也遇到了这个文件丢失的困扰,因此想借此机会与大家分享如何解决d3dx9_43.dll缺失的问题。 一.电脑d3dx9_43.dll丢失会提示什么? 关于电脑提示d3dx9_43.dll丢失…...
MATLAB中mapminmax函数用法
目录 语法 说明 示例 使用 mapminmax 函数格式化矩阵 mapminmax函数的功能是通过将行最小值和最大值映射到 [-1 1] 来处理矩阵。 语法 [Y,PS] mapminmax(X,YMIN,YMAX) [Y,PS] mapminmax(X,FP) Y mapminmax(apply,X,PS) X mapminmax(reverse,Y,PS) dx_dy mapminmax(d…...
数据结构导航 -- 38篇
数据结构实现代码 线性表 顺序表代码-C-CSDN博客 单链表代码-C-CSDN博客 双链表代码-C-CSDN博客 有序表概述-CSDN博客 栈 栈代码数组实现-C-CSDN博客 栈代码链表实现(链栈)-C-CSDN博客 队列 队列与环形队列顺序存储代码数组实现-C-CSDN博客 队…...

前端性能优化 | CDN缓存
前言 CDN(Content Delivery Network)是一种分布式的网络架构,通过在全球各地部署节点服务器来快速传输和分发网络内容。CDN的主要目标是提供快速、可靠的内容传输,以提升用户体验。 本文主要从以下方面讲解CDN 什么是CDNCDN的作…...

【C#语言入门】17. 事件详解(上)
【C#语言入门】17. 事件详解(上) 一、初步了解事件 定义:单词Event,译为“事件” 通顺的解释就是**“能够发生的什么事情”**,例如,“苹果”不能发生,但是“公司上市”这件事能发生。在C#中事…...
Charles无法打开导出的har文件解决方法
打开出错:MalformedJson: Use JsonReader.setLenient(true) to accept malformed JSON at line1 column 1368184 path $.log.entries[41].request.postData.text 一、解决办法 用json.dumps格式化一下里面内容,保存为新文件再打开 import jsondef modify…...
FFmpeg--FlvPaser源码:解析.flv输出.h264
文章目录 程序功能:函数调用流程:部分FlvParse.h部分FlvParse.cpp 程序功能: 解析flv文件,重写一个h264文件,如输入movie.flv , 输出movie.h264 (只有视频,没有声音) 函数调用流程: 1 Proce…...

【项目笔记】java微服务:黑马头条(day02)
文章目录 app端文章查看,静态化freemarker,分布式文件系统minIO1)文章列表加载1.1)需求分析1.2)表结构分析1.3)导入文章数据库1.3.1)导入数据库1.3.2)导入对应的实体类 1.4)实现思路1.5)接口定义1.6)功能实现1.6.1):导入heima-leadnews-article微服务&am…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...

家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...
JDK 17 新特性
#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的ÿ…...

自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...
ip子接口配置及删除
配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...

HDFS分布式存储 zookeeper
hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...
LRU 缓存机制详解与实现(Java版) + 力扣解决
📌 LRU 缓存机制详解与实现(Java版) 一、📖 问题背景 在日常开发中,我们经常会使用 缓存(Cache) 来提升性能。但由于内存有限,缓存不可能无限增长,于是需要策略决定&am…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能
1. 开发环境准备 安装DevEco Studio 3.1: 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK 项目配置: // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...