网工笔记整理:策略工具Filter-policy的使用
一、概述
Filter-Policy(过滤-策略)是一个很常用的路由信息过滤工具,能够对接收、发布、引入的路由进行过滤,可应用于IS-IS、OSPF、BGP等协议。
- Filter-policy在距离矢量路由协议中的应用
filter-policy import:不发布路由
filter-policy export:不收路由
- Filter-policy在链路状态路由协议中的应用
filter-policy import:不把路由加入到路由表中
filter-policy export:过滤路由信息、过滤从其它协议引入的路由
二、实验配置
1. 实验目的
- 熟悉Filter-policy的应用场景
- 掌握Filter-policy的配置方法
2. 实验拓扑
Filter-policy实验拓扑如图所示:
3. 实验步骤
(1) 网络连通性
R1的配置
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname R1
[R1]undo info-center enable
Info: Information center is disabled.
[R1]interface g0/0/0
[R1-GigabitEthernet0/0/0]ip address 12.1.1.1 24
[R1-GigabitEthernet0/0/0]quit
R2的配置
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.
[Huawei]undo info-center enable
Info: Information center is disabled.
[Huawei]sysname R2
[R2]interface g0/0/1
[R2-GigabitEthernet0/0/1]ip address 12.1.1.2 24
[R2-GigabitEthernet0/0/1]quit
[R2]interface g0/0/0
[R2-GigabitEthernet0/0/0]ip address 23.1.1.2 24
[R2-GigabitEthernet0/0/0]quit
[R2]interface LoopBack 0
[R2-LoopBack0]ip address 2.2.2.2 32
[R2-LoopBack0]quit
R3的配置
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.
[Huawei]undo info-center enable
Info: Information center is disabled.
[Huawei]sysname R3
[R3]interface g0/0/1
[R3-GigabitEthernet0/0/1]ip address 23.1.1.3 24
[R3-GigabitEthernet0/0/1]quit
[R3]interface LoopBack 0
[R3-LoopBack0]ip address 3.3.3.3 32
[R3-LoopBack0]quit
(2) 配置OSPF
R1的配置
[R1]ospf router-id 1.1.1.1
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network 12.1.1.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]quit
R2的配置
[R2]ospf router-id 2.2.2.2
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0
[R2-ospf-1-area-0.0.0.0]network 12.1.1.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 23.1.1.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]quit
R3的配置
[R3]ospf router-id 3.3.3.3
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 23.1.1.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.0
[R3-ospf-1-area-0.0.0.0]quit
4. 实验调试
(1)在R1上创建四个环回口,IP地址分别为192.168.1.0/24,192.168.2.0/24、192.168.3.0/24、192.168.4.0/24,并且全部宣告进OSPF。
[R1]interface LoopBack 0
[R1-LoopBack0]ip address 192.168.1.1 24
[R1-LoopBack0]ip address 192.168.2.1 24 sub
[R1-LoopBack0]ip address 192.168.3.1 24 sub
[R1-LoopBack0]ip address 192.168.4.1 24 sub
[R1-LoopBack0]ospf enable area 0 //接口的地址都宣告在区域0
[R1-LoopBack0]ospf network-type broadcast //网络类型为广播
(2)在R2和R3上分别查看OSPF的路由表
在R2上查看OSPF的路由表
[R2]display ospf routing
OSPF Process 1 with Router ID 2.2.2.2
Routing Tables
Routing for Network
Destination Cost Type NextHop AdvRouter Area
2.2.2.2/32 0 Stub 2.2.2.2 2.2.2.2 0.0.0.0
12.1.1.0/24 1 Transit 12.1.1.2 2.2.2.2 0.0.0.0
23.1.1.0/24 1 Transit 23.1.1.2 2.2.2.2 0.0.0.0
3.3.3.3/32 1 Stub 23.1.1.3 3.3.3.3 0.0.0.0
192.168.1.0/24 1 Stub 12.1.1.1 1.1.1.1 0.0.0.0
192.168.2.0/24 1 Stub 12.1.1.1 1.1.1.1 0.0.0.0
192.168.3.0/24 1 Stub 12.1.1.1 1.1.1.1 0.0.0.0
192.168.4.0/24 1 Stub 12.1.1.1 1.1.1.1 0.0.0.0
Total Nets: 8
Intra Area: 8 Inter Area: 0 ASE: 0 NSSA: 0
在R3上查看OSPF的路由表
[R3]display ospf routing
OSPF Process 1 with Router ID 3.3.3.3
Routing Tables
Routing for Network
Destination Cost Type NextHop AdvRouter Area
3.3.3.3/32 0 Stub 3.3.3.3 3.3.3.3 0.0.0.0
23.1.1.0/24 1 Transit 23.1.1.3 3.3.3.3 0.0.0.0
2.2.2.2/32 1 Stub 23.1.1.2 2.2.2.2 0.0.0.0
12.1.1.0/24 2 Transit 23.1.1.2 1.1.1.1 0.0.0.0
192.168.1.0/24 2 Stub 23.1.1.2 1.1.1.1 0.0.0.0
192.168.2.0/24 2 Stub 23.1.1.2 1.1.1.1 0.0.0.0
192.168.3.0/24 2 Stub 23.1.1.2 1.1.1.1 0.0.0.0
192.168.4.0/24 2 Stub 23.1.1.2 1.1.1.1 0.0.0.0
Total Nets: 8
Intra Area: 8 Inter Area: 0 ASE: 0 NSSA: 0
通过以上输出可以看到路由器R2和R3都学习到了这4条路由
(3)通过Filter-policy实现在R2上看不到192.168.1.0这条路由,但是在R3上可以看到
第一步:抓取路由
[R2]ip ip-prefix ly index 10 permit 192.168.2.0 24 //创建前缀列表ly允许192.168.2.0
[R2]ip ip-prefix ly index 20 permit 192.168.3.0 24 //创建前缀列表ly允许192.168.3.0
[R2]ip ip-prefix ly index 30 permit 192.168.4.0 24 //创建前缀列表ly允许192.168.4.0
第二步:通过Filter-policy调用
[R2]ospf
[R2-ospf-1]filter-policy ip-prefix ly import
【技术要点】
filter-policy import命令对接收的路由设置过滤策略,只有通过过滤策略的路由才被添加到路由表中,没有通过过滤策略的路由不会被添加进路由表,但不影响对外发布出去。
(4)分别查看R3和R2的路由表
第一步:查看R3的OSPF路由表
[R3]display ospf routing
OSPF Process 1 with Router ID 3.3.3.3
Routing Tables
Routing for Network
Destination Cost Type NextHop AdvRouter Area
3.3.3.3/32 0 Stub 3.3.3.3 3.3.3.3 0.0.0.0
23.1.1.0/24 1 Transit 23.1.1.3 3.3.3.3 0.0.0.0
2.2.2.2/32 1 Stub 23.1.1.2 2.2.2.2 0.0.0.0
12.1.1.0/24 2 Transit 23.1.1.2 1.1.1.1 0.0.0.0
192.168.1.0/24 2 Stub 23.1.1.2 1.1.1.1 0.0.0.0
192.168.2.0/24 2 Stub 23.1.1.2 1.1.1.1 0.0.0.0
192.168.3.0/24 2 Stub 23.1.1.2 1.1.1.1 0.0.0.0
192.168.4.0/24 2 Stub 23.1.1.2 1.1.1.1 0.0.0.0
Total Nets: 8
Intra Area: 8 Inter Area: 0 ASE: 0 NSSA: 0
通过以上输出可以看到R3上四条路由都在路由表里
第二步:查看R2的OSPF路由表
[R2]display ospf routing
OSPF Process 1 with Router ID 2.2.2.2
Routing Tables
Routing for Network
Destination Cost Type NextHop AdvRouter Area
2.2.2.2/32 0 Stub 2.2.2.2 2.2.2.2 0.0.0.0
12.1.1.0/24 1 Transit 12.1.1.2 2.2.2.2 0.0.0.0
23.1.1.0/24 1 Transit 23.1.1.2 2.2.2.2 0.0.0.0
3.3.3.3/32 1 Stub 23.1.1.3 3.3.3.3 0.0.0.0
192.168.1.0/24 1 Stub 12.1.1.1 1.1.1.1 0.0.0.0
192.168.2.0/24 1 Stub 12.1.1.1 1.1.1.1 0.0.0.0
192.168.3.0/24 1 Stub 12.1.1.1 1.1.1.1 0.0.0.0
192.168.4.0/24 1 Stub 12.1.1.1 1.1.1.1 0.0.0.0
Total Nets: 8
Intra Area: 8 Inter Area: 0 ASE: 0 NSSA: 0
通过以上输出可以看到这四个路由也在OSPF的路由表里面
第三步:查看全局路由表
[R2]display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 10 Routes : 10
Destination/Mask Proto Pre Cost Flags NextHop Interface
2.2.2.2/32 Direct 0 0 D 127.0.0.1 LoopBack0
12.1.1.0/24 Direct 0 0 D 12.1.1.2 GigabitEthernet0/0/1
12.1.1.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1
23.1.1.0/24 Direct 0 0 D 23.1.1.2 GigabitEthernet0/0/0
23.1.1.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
192.168.2.0/24 OSPF 10 1 D 12.1.1.1 GigabitEthernet0/0/1
192.168.3.0/24 OSPF 10 1 D 12.1.1.1 GigabitEthernet0/0/1
192.168.4.0/24 OSPF 10 1 D 12.1.1.1 GigabitEthernet0/0/1
通过以上输出可以看到全局路由表里面没有192.168.1.0这条路由
【技术要点】
在链路状态路由协议中,各路由设备之间传递的是LSA信息,然后设备根据LSA汇总成的LSDB信息计算出路由表。但是Filter-Policy只能过滤路由信息,无法过滤LSA。
(5)在R1上撤销对192.168.1.0/24、192.168.2.0/24、192.168.3.0/24、192.168.4.0/24这四条路由的宣告,改为引入直连,但是要保证R2和R3上只能收到192.168.1.0这条路由
第一步:撤销路由宣告和Filter-Policy
[R1]interface LoopBack 0
[R1-LoopBack0]undo ospf enable 1 area 0
[R2]undo ip ip-prefix ly
[R2]ospf
[R2-ospf-1]undo filter-policy ip-prefix ly import
第二步:引入直连路由
[R1]ospf
[R1-ospf-1]import-route direct
[R1-ospf-1]quit
第三步:查看R2的路由表
[R2]display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 12 Routes : 12
Destination/Mask Proto Pre Cost Flags NextHop Interface
2.2.2.2/32 Direct 0 0 D 127.0.0.1 LoopBack0
3.3.3.3/32 OSPF 10 1 D 23.1.1.3 GigabitEthernet0/0/0
12.1.1.0/24 Direct 0 0 D 12.1.1.2 GigabitEthernet0/0/1
12.1.1.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1
23.1.1.0/24 Direct 0 0 D 23.1.1.2 GigabitEthernet0/0/0
23.1.1.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
192.168.1.0/24 O_ASE 150 1 D 12.1.1.1 GigabitEthernet0/0/1
192.168.2.0/24 O_ASE 150 1 D 12.1.1.1 GigabitEthernet0/0/1
192.168.3.0/24 O_ASE 150 1 D 12.1.1.1 GigabitEthernet0/0/1
192.168.4.0/24 O_ASE 150 1 D 12.1.1.1 GigabitEthernet0/0/1
通过以上输出可以看到引入了四条外部路由
第四步:查看R3的路由表
<R3>display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 11 Routes : 11
Destination/Mask Proto Pre Cost Flags NextHop Interface
2.2.2.2/32 OSPF 10 1 D 23.1.1.2 GigabitEthernet0/0/1
3.3.3.3/32 Direct 0 0 D 127.0.0.1 LoopBack0
12.1.1.0/24 OSPF 10 2 D 23.1.1.2 GigabitEthernet0/0/1
23.1.1.0/24 Direct 0 0 D 23.1.1.3 GigabitEthernet0/0/1
23.1.1.3/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
192.168.1.0/24 O_ASE 150 1 D 23.1.1.2 GigabitEthernet0/0/1
192.168.2.0/24 O_ASE 150 1 D 23.1.1.2 GigabitEthernet0/0/1
192.168.3.0/24 O_ASE 150 1 D 23.1.1.2 GigabitEthernet0/0/1
192.168.4.0/24 O_ASE 150 1 D 23.1.1.2 GigabitEthernet0/0/1
通过以上输出可以看到也引入了四条外部路由
第五步:通过Filter-policy让R2和R3只能收到192.168.1.0这条路由
[R1]ip ip-prefix ly permit 192.168.1.0 24
[R1]ospf
[R1-ospf-1]filter-policy ip-prefix ly export
【技术要点】
- OSPF通过命令import-route引入外部路由后,为了避免路由环路的产生,通过filter-policy export命令对引入的路由在发布时进行过滤,只将满足条件的外部路由转换为Type5 LSA(AS-external-LSA)并发布出去。
- 当网络中同时部署了IS-IS和其他路由协议时,如果已经在边界设备上引入其他路由协议的路由,缺省情况下,该设备将把引入的全部外部路由发布给IS-IS邻居。如果只希望将引入的部分外部路由发布给邻居,可以使用filter-policy export命令实现。
第六步:查看R2的路由表
[R2]display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 9 Routes : 9
Destination/Mask Proto Pre Cost Flags NextHop Interface
2.2.2.2/32 Direct 0 0 D 127.0.0.1 LoopBack0
3.3.3.3/32 OSPF 10 1 D 23.1.1.3 GigabitEthernet0/0/0
12.1.1.0/24 Direct 0 0 D 12.1.1.2 GigabitEthernet0/0/1
12.1.1.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1
23.1.1.0/24 Direct 0 0 D 23.1.1.2 GigabitEthernet0/0/0
23.1.1.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
192.168.1.0/24 O_ASE 150 1 D 12.1.1.1 GigabitEthernet0/0/1
通过以上输出 可以看到R2的路由表里面只有一条192.168.1.0的外部路由
第七步:查看R3的路由表
[R3]display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 8 Routes : 8
Destination/Mask Proto Pre Cost Flags NextHop Interface
2.2.2.2/32 OSPF 10 1 D 23.1.1.2 GigabitEthernet0/0/1
3.3.3.3/32 Direct 0 0 D 127.0.0.1 LoopBack0
12.1.1.0/24 OSPF 10 2 D 23.1.1.2 GigabitEthernet0/0/1
23.1.1.0/24 Direct 0 0 D 23.1.1.3 GigabitEthernet0/0/1
23.1.1.3/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
192.168.1.0/24 O_ASE 150 1 D 23.1.1.2 GigabitEthernet0/0/1
相关文章:

网工笔记整理:策略工具Filter-policy的使用
一、概述 Filter-Policy(过滤-策略)是一个很常用的路由信息过滤工具,能够对接收、发布、引入的路由进行过滤,可应用于IS-IS、OSPF、BGP等协议。 Filter-policy在距离矢量路由协议中的应用 filter-policy import:不发…...
数据结构和算法——查找算法
目录 线性查找法 二分查找法 插值查找法 斐波那契查找法 线性查找法 可以是有序的,也可以是无序的。 public class SeqSearch {public static void main(String[] args) {int[] arr new int[]{1, 9, 11, -1, 34, 89};int res seqSearch(arr, 34);}public st…...

Blender:对模型着色
Blender:使用立方体制作动漫头像-CSDN博客 上一步已经做了一个头像模型,我做的太丑了,就以这个外星人头像为例 首先切换到着色器编辑器 依次搜索:纹理坐标、映射、分离xyz和颜色渐变 这里的功能也是非常丰富和强大,…...

加密市场波动:地缘政治与美股走弱引发不确定性!
伴随着国庆假期的结束,多日波动率维持低位的加密市场也似乎开始苏醒。近期多次突破28000美元未果的比特币,于9日15:00开始从27800美元附近下跌,最低跌至27260美元,同期以太坊也至1550美元左右,创近半个月来新低。 Coin…...

ElementUI编辑表格单元格与查看模式切换的应用
需求:有时候在填写表单的时候,想要在输入的时候是input输入框的状态,但是当鼠标移出输入框失去焦点时,希望是查看的状态,这种场景可以通过 v-if实现 vue2ElementUi里面使用如下: 1.el-table标签注册 cell-…...
spring-创建Webservice服务
Web service是一个平台独立的,松耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。webservice用的是soap协议。 客户通过发送请求…...

Maven系列第3篇:详解maven解决依赖问题
maven系列目标:从入门开始开始掌握一个高级开发所需要的maven技能。 这是maven系列第3篇。 我们先来回顾一下什么是maven? maven是apache软件基金会组织维护的一款自动化构件工具,专注服务于java平台的项目构件和依赖管理。 本文主要内容…...

读书笔记:多Transformer的双向编码器表示法(Bert)-4
多Transformer的双向编码器表示法 Bidirectional Encoder Representations from Transformers,即Bert; 第二部分 探索BERT变体 从本章开始的诸多内容,以理解为目标,着重关注对音频相关的支持(如果有的话)…...

Stable Diffusion XL搭建
本文参考:Stable Diffusion XL1.0正式发布了,赶紧来尝鲜吧-云海天教程 Stable Diffision最新模型SDXL 1.0使用全教程 - 知乎 1、SDXL与SD的区别 (1)分辨率得到了提升 原先使用SD生成图片,一般都是生成512*512&…...
面试题-React(十一):性能优化之PureComponent和memo
一、React性能优化的重要性 随着应用的复杂性增加,React组件的渲染可能成为性能瓶颈。频繁的渲染可能导致不必要的性能开销和卡顿。为了确保应用的高性能和流畅用户体验,我们需要采取一些措施来优化组件的渲染。 二、PureComponent-自动浅比较 PureCo…...

<图像处理> Fast角点检测
Fast角点检测 基本原理是使用圆周长为N个像素的圆来判定其圆心像素P是否为角点,如下图所示为圆周长为16个像素的圆(半径为3);OpenCV还提供圆周长为12和8个像素的圆来检测角点。 相对中心像素的位置信息 //圆周长为16 static c…...
基于centos、alpine制作Java JDK基础镜像
文章目录 前言一、 简介二、制作JDK/Java基础镜像1.准备事项2.制作Dockerfile脚本2.1.基于centos作为基础镜像2.2.基于alpine作为基础镜像3.构建镜像4.测试验证前言 在日常开发中,但凡项目需要docker容器化部署,制作项目镜像前都需要在Dockerfile中配置Java基础镜像。为什么…...

【AI视野·今日Robot 机器人论文速览 第五十二期】Wed, 11 Oct 2023
AI视野今日CS.Robotics 机器人学论文速览 Wed, 11 Oct 2023 Totally 31 papers 👉上期速览✈更多精彩请移步主页 Daily Robotics Papers RoboHive: A Unified Framework for Robot Learning Authors Vikash Kumar, Rutav Shah, Gaoyue Zhou, Vincent Moens, Vittor…...

hive 知识总结
编辑 社区公告教程下载分享问答JD 登 录 注册 01 hive 介绍与安装 1 hive介绍与原理分析 Hive是一个基于Hadoop的开源数据仓库工具,用于存储和处理海量结构化数据。它是Facebook 2008年8月开源的一个数据仓库框架,提供了类似于SQL语法的HQL…...

golang/云原生/Docker/DevOps/K8S/持续 集成/分布式/etcd 教程
3-6个月帮助学员掌握golang后端开发岗位必备技术点 教程时长: 150小时 五大核心专栏,原理源码案例分析项目实战直击工作岗位 golang:解决go语言编程问题 工程组件:解决golang工程化问题 分布式中间件:解决技术栈单一及分布式开发问题 云原生…...

jeecg库login登录过程分析笔记
jeecg库(版本jeecg-boot-v3.5.1last)实现了用户登录功能,二开时为了借鉴jeecg用户登录的方法,跑了一遍登录方法: org.jeecg.modules.system.controller.LoginController#login 定义这个方法的类的路径是:…...

echarts仪表盘vue
<div class"ybptx" ref"btryzb"></div>mounted() {this.getBtData();},getBtData() {var chart this.$echarts.init(this.$refs.btryzb);var data_czzf 88;var option {series: [{name: 内层数据刻度,type: gauge,radius: 80%,min: 0,max: 1…...
管道和重定向分号-连接符
本文介绍shell脚本常用命令连接符:管道符( | )、重定向( < 、>、>>、2> 、&> )、分号( ; ) 本文内容同微信公众号【凡登】,关注不迷路,学习上高速,欢迎关注共同学习。 1、管道 进程的通信方式之一…...
WSL VScode连接文件后无法修改(修改报错)
权限问题 usrname:用户名 dirpath:要修改的文件夹路径 sudo chown -R usrname /dirpath...

迷你Ceph集群搭建(超低配设备)
我的博客原文链接:https://blog.gcc.ac.cn/post/2023/%E8%BF%B7%E4%BD%A0ceph%E9%9B%86%E7%BE%A4%E6%90%AD%E5%BB%BA/ 环境 机器列表: IP角色说明10.0.0.15osdARMv7,512M内存,32G存储,百兆网口10.0.0.16clientARM64…...

使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...

华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...

使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...

免费数学几何作图web平台
光锐软件免费数学工具,maths,数学制图,数学作图,几何作图,几何,AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...

Linux nano命令的基本使用
参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时,显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...

iview框架主题色的应用
1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题,无需引入,直接可…...
Web中间件--tomcat学习
Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...