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

【学网攻】 第(28)节 -- OSPF虚链路

系列文章目录

目录

系列文章目录

   文章目录

前言

一、什么是OSPF虚链路?

二、实验

1.引入

实验目标

实验背景

技术原理

实验步骤

实验设备

实验拓扑图

实验配置

扩展

实验拓扑图

实验配置

实验验证


 文章目录

  • 【学网攻】 第(1)节 -- 认识网络
  • 【学网攻】 第(2)节 -- 交换机认识及使用
  • 【学网攻】 第(3)节 -- 交换机配置聚合端口
  • 【学网攻】 第(4)节 -- 交换机划分Vlan
  • 【学网攻】 第(5)节 -- Cisco VTP的使用​​​​​​
  • 【学网攻】 第(6)节 -- 三层交换机实现VLAN间路由
  • 【学网攻】 第(7)节 -- 生成树配置
  • 【学网攻】 第(8)节 -- 端口安全
  • 【学网攻】 第(9)节 -- 路由器使用以及原理
  • 【学网攻】 第(10)节 -- 路由器单臂路由配置
  • 【学网攻】 第(11)节 -- 静态路由及默认路由
  • 【学网攻】 第(12)节 -- 动态路由(RIP)
  • 【学网攻】 第(13)节 -- 动态路由(OSPF)
  • 【学网攻】 第(14)节 -- 动态路由(EIGRP)
  • 【学网攻】 第(15)节 -- 标准ACL访问控制列表
  • 【学网攻】 第(16)节 -- 扩展ACL访问控制列表
  • 【学网攻】 第(17)节 -- 命名ACL访问控制列表
  • 【学网攻】 第(18)节 -- 网络地址转换静态NAT
  • 【学网攻】 第(19)节 -- 网络地址转换动态NAT
  • 【学网攻】 第(20)节 -- 网络端口地址转换NAPT配置
  • 【学网攻】 第(21)节 -- DHCP配置
  • 【学网攻】 第(22)节 -- DHCP中继配置
  • 【学网攻】 第(23)节 -- PPP协议
  • 【学网攻】 第(24)节 -- 帧中继(点对点)
  • 【学网攻】 第(25)节 -- 帧中继(多对一)
  • 【学网攻】 第(26)节 -- 综合网络实验一
  • 【学网攻】 第(27)节 -- HSRP(热备份路由器协议)


前言

网络已经成为了我们生活中不可或缺的一部分,它连接了世界各地的人们,让信息和资源得以自由流动。随着互联网的发展,我们可以通过网络学习、工作、娱乐,甚至是社交。因此,学习网络知识和技能已经成为了每个人都需要掌握的重要能力。

本课程博主将带领读者深入了解网络的基本原理、结构和运作方式,帮助读者建立起对网络的全面理解。我们将介绍网络的发展历程、网络的分类和组成、网络的安全和隐私保护等内容,帮助读者掌握网络知识,提高网络素养。

通过学习本篇博客,读者将能够更好地利用网络资源,提高工作效率,拓展人际关系,甚至是保护自己的网络安全。网络世界充满了无限的可能,希望本课程能够帮助读者更好地驾驭网络,享受网络带来的便利和乐趣。


一、什么是OSPF虚链路?

在OSPF(开放式最短路径优先)协议中,虚链路是一种特殊的链路,用于连接不能直接通信的两个不同自治系统(AS)。虚链路允许在不改变现有网络拓扑的情况下,OSPF路由器能够跨越多个AS通告路由信息。

在配置虚链路时,需要指定一个虚链路的传输接口,并为该接口指定一个虚拟的网络号(IP地址),这个IP地址将作为目的AS内的一个路由器的直接连接接口的IP地址。

二、实验

1.引入

实验目标

理解OSPF虚链路的原理及功能;

掌握OSPF虚链路的配置方法;

实验背景

你是某公司的网络管理员,公司现在扩展业务,在保证原有网络拓扑的情况下添加新业务(人事部),现在请你帮忙想办法实验这个功能,

一楼是公司总部,二楼是公司业务部,三楼是公司办公室,四楼是公司人事部

技术原理

虚链路技术是Open Shortest Path First (OSPF)路由协议中的一个特性,它允许在不改变网络拓扑的情况下,将一个路由器虚拟接入到另一个区域。

虚链路的工作原理是:在区域边界路由器(ABR)上配置一个目标区域和一个传输区域,ABR会创建一个虚拟接口,用于在这两个区域之间传递路由信息。

实验步骤

新建Packet Tracer拓扑图

(1)公司中的两台路由器与交换机连接,与外网的路由器连接并进行配置公网IP

(2)配置路由器接口IP地址。

(3)验证主机之间的互通性。

实验设备

Route 2811 4台 ,交叉线

实验拓扑图

实验配置

R1,R2,R3,R4基础配置

R1:
Router>en
Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#h R1
R1(config)#int f0/0
R1(config-if)#ip add 10.0.1.1 255.255.255.0
R1(config-if)#no shut
R1(config-if)#exit
R1(config)#route ospf 10
R1(config-router)#net 10.0.1.0 0.0.0.255 area 0R2:
Router>en
Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#h R2
R2(config)#int f0/0
R2(config-if)#ip add 10.0.1.2 255.255.255.0
R2(config-if)#no shut
R2(config-if)#int f0/1
R2(config-if)#ip add 10.0.2.1 255.255.255.0
R2(config-if)#no shut
R2(config-if)#exit
R2(config)#route ospf 10
R2(config-router)#net 10.0.1.0 0.0.0.255 area 0
R2(config-router)#net 10.0.2.0 0.0.0.255 area 1R3:
Router>en
Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#h R3
R3(config)#int f0/0
R3(config-if)#ip add 10.0.2.2 255.255.255.0
R3(config-if)#no shut
R3(config-if)#exit
R3(config)#int f0/1
R3(config-if)#ip add 10.0.3.1 255.255.255.0
R3(config-if)#no shut
R3(config-if)#exit
R3(config)#route ospf 10
R3(config-router)#net 10.0.3.0 0.0.0.255 area 2
R3(config-router)#net 10.0.2.0 0.0.0.255 area 1R4:
Router>en
Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#h R4
R4(config)#int f0/0
R4(config-if)#ip add 10.0.3.2 255.255.255.0
R4(config-if)#no shut
R4(config-if)#exit
R4(config)#route ospf 10
R4(config-router)#net 10.0.3.0 0.0.0.255 area 2

show ip route R1,R2,R3,R4

R1:
R1(config-router)#do show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaN1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGPi - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area* - candidate default, U - per-user static route, o - ODRP - periodic downloaded static routeGateway of last resort is not set10.0.0.0/8 is variably subnetted, 3 subnets, 2 masks
C       10.0.1.0/24 is directly connected, FastEthernet0/0
L       10.0.1.1/32 is directly connected, FastEthernet0/0
O IA    10.0.2.0/24 [110/2] via 10.0.1.2, 00:03:01, FastEthernet0/0R2:
R2(config-if)#do show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaN1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGPi - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area* - candidate default, U - per-user static route, o - ODRP - periodic downloaded static routeGateway of last resort is not set10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
C       10.0.1.0/24 is directly connected, FastEthernet0/0
L       10.0.1.2/32 is directly connected, FastEthernet0/0
C       10.0.2.0/24 is directly connected, FastEthernet0/1
L       10.0.2.1/32 is directly connected, FastEthernet0/1R3:
R3(config-router)#do show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaN1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGPi - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area* - candidate default, U - per-user static route, o - ODRP - periodic downloaded static routeGateway of last resort is not set10.0.0.0/8 is variably subnetted, 5 subnets, 2 masks
O IA    10.0.1.0/24 [110/2] via 10.0.2.1, 00:02:19, FastEthernet0/0
C       10.0.2.0/24 is directly connected, FastEthernet0/0
L       10.0.2.2/32 is directly connected, FastEthernet0/0
C       10.0.3.0/24 is directly connected, FastEthernet0/1
L       10.0.3.1/32 is directly connected, FastEthernet0/1R4(config)#do show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaN1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGPi - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area* - candidate default, U - per-user static route, o - ODRP - periodic downloaded static routeGateway of last resort is not set10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C       10.0.3.0/24 is directly connected, FastEthernet0/0
L       10.0.3.2/32 is directly connected, FastEthernet0/0

可以观察到,R1学不到R3与R4之间的IP,这是因为OSPF中area区域,0是骨干,默认的需要与骨干区域相连才可以学习到相应的IP地址,因此我们引入了OSPF虚链路来帮助我们应对这种问题的发生.

OSPF虚链路的配置

R1:
R1(config)#int loopback 0
R1(config-if)#ip add 1.1.1.1 255.255.255.255
R1(config-if)#exit
R1(config-if)#route ospf 10
R1(config-router)#router-id 1.1.1.1R2:
R2(config)#int loopback 0
R2(config-if)#ip add 2.2.2.2 255.255.255.255
R2(config-if)#exit
R2(config)#route ospf 10
R2(config-router)#router-id 2.2.2.2
R2(config-router)#area 1 virtual-link  3.3.3.3R3:
R3(config)#int loopback 0
R3(config-if)#ip address 3.3.3.3 255.255.255.255
R3(config-if)#exit
R3(config)#route ospf 10
R3(config-router)#router-id 3.3.3.3
R3(config-router)#area 1 vir 2.2.2.2R4:
R4(config)#int loopback 0
R4(config-if)#ip add 4.4.4.4 255.255.255.255
R4(config-if)#exit
R4(config-if)#route ospf 10
R4(config-router)#router-id 4.4.4.4如果没有学习到在特权模式下使用命令
R1#clear ip os p
Reset ALL OSPF processes? [no]: y

R1 Ping R4

观察到可以ping通了

扩展

你是某公司的网络管理员,公司现在扩展业务,在保证原有网络拓扑的情况下添加新业务(人事部),公司突然宣布五楼要加入财务部,希望再添加一层

一楼是公司总部,二楼是公司业务部,三楼是公司办公室,四楼是公司人事部,五楼是公司财务部

实验拓扑图

实验配置

R4,R5基础配置

R4:
R4(config)#int f0/1
R4(config-if)#ip add 10.0.4.1 255.255.255.0
R4(config-if)#exit
R4(config)#route ospf 10
R4(config-router)#net 10.0.4.0 0.0.0.255 area 3R5:
Router>en
Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#h R5
R5(config)#int f0/0
R5(config-if)#no shut
R5(config-if)#ip add 10.0.4.0 255.255.255.0
R5(config-if)#exit
R5(config)#int l 0
R5(config-if)#ip add 5.5.5.5 255.255.255.255
R5(config)#route ospf 10
R5(config-router)#net 10.0.4.0 0.0.0.255 area 3
R5(config-router)#router-id 5.5.5.5

Show ip route R1

R1:
R1#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaN1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGPi - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area* - candidate default, U - per-user static route, o - ODRP - periodic downloaded static routeGateway of last resort is not set1.0.0.0/32 is subnetted, 1 subnets
C       1.1.1.1/32 is directly connected, Loopback010.0.0.0/8 is variably subnetted, 5 subnets, 2 masks
C       10.0.1.0/24 is directly connected, FastEthernet0/0
L       10.0.1.1/32 is directly connected, FastEthernet0/0
O IA    10.0.2.0/24 [110/2] via 10.0.1.2, 00:13:53, FastEthernet0/0
O IA    10.0.3.0/24 [110/3] via 10.0.1.2, 00:13:43, FastEthernet0/0
O IA    10.0.4.0/24 [110/4] via 10.0.1.2, 00:00:11, FastEthernet0/0

 

OSPF虚链路的配置

R3:
R3(config)#router ospf 10
R3(config-router)#area 2 vir 4.4.4.4R4:
R4(config)#route ospf 10
R4(config-router)#area 2 vir 3.3.3.3

实验验证

R1 Ping R5 

相关文章:

【学网攻】 第(28)节 -- OSPF虚链路

系列文章目录 目录 系列文章目录 文章目录 前言 一、什么是OSPF虚链路? 二、实验 1.引入 实验目标 实验背景 技术原理 实验步骤 实验设备 实验拓扑图 实验配置 扩展 实验拓扑图 实验配置 实验验证 文章目录 【学网攻】 第(1)节 -- 认识网络【学网攻…...

百面嵌入式专栏(面试题)驱动开发面试题汇总1.0

沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇我们将介绍驱动开发面试题 。 1、Linux驱动程序的功能是什么? 对设备初始化和释放。进行内核与硬件的数据交互。检测和处理设备出现的错误。2、内核程序中申请内存使用什么函数? 答案:kmalloc()、kzalloc()、vm…...

Starknet 的 JavaScript 库:Starknet.js、get-starknet和starknet-react

文章目录 Starknet 的 JavaScript 库Starknet.jsget-starknetstarknet-reactStarknet 的 JavaScript 库Starknet.js 官方:https://www.starknetjs.com/ Starknet.js 是一个与 Starknet 交互的 JavaScript 库,通常以脚本或去中心化形式进行交互应用程序。 Starknet.js 的灵感…...

debian11 安装 k8s,containerd ,阿里云镜像(已成功)

1. 环境准备 系统要求:至少 2GB RAM(建议 4GB 或更多),网络连接。 节点准备:至少 3 台机器,1 台作为 Master 节点,2 台作为 Worker 节点。 安装sudo apt update apt install sudo设置主机名&a…...

Spring Task定时任务

目录 1、介绍 2、cron表达式 2.1、在线生成器 2.2、通配符 3、代码示例 3.1、使用步骤 3.2、 代码开发 3.3、测试 🍃作者介绍:双非本科大三网络工程专业在读,阿里云专家博主,专注于Java领域学习,擅长web应用开发…...

【设计模式】23中设计模式笔记

设计模式分类 模板方法模式 核心就是设计一个部分抽象类。 这个类具有少量具体的方法,和大量抽象的方法,具体的方法是为外界提供服务的点,具体方法中定义了抽象方法的执行序列 装饰器模式 现在有一个对象A,希望A的a方法被修饰 …...

类加载过程介绍

一、类的生命周期 类被加载到jvm虚拟机内存开始,到卸载出内存为止,他的生命周期可以分为:加载->验证->准备->解析->初始化->使用->卸载。 其中验证、准备、解析统一称为链接阶段 1、加载 将类的字节码载入方法区中&#xf…...

pytorch创建模型方式

1.继承自nn.Module的方式 from torch import nn import torch.nn.functional as F 继承自nn.Moduleclass LModel(nn.Module):def __init__(self):super().__init__()self.L1 nn.Linear(10,10)self.L2 nn.Linear(10,64)self.L3 nn.Linear(64,10)self.L4 nn.Linear(10,5)se…...

MySQL 基础知识(五)之数据增删改

目录 1 插入数据 2 删除数据 3 更改数据 创建 goods 表 drop table if exists goods; create table goods ( id int(10) primary key auto_increment, name varchar(14) unique, stockdate date )charsetutf8; 1 插入数据 当要插入的数据为日期/时间类型时,如果…...

紫微斗数双星组合:廉贞天府在辰戌

文章目录 前言内容总结 前言 紫微斗数双星组合:廉贞天府在辰戌 内容 紫微斗数双星组合:廉贞天府在辰戌 性格分析 廉贞天府同坐辰、戌宫,若无煞星冲破,为“天府朝垣格”,也为“府相朝垣格”,富贵双全&am…...

人工智能|深度学习——基于全局注意力的改进YOLOv7-AC的水下场景目标检测系统

代码下载: 基于全局注意力的改进YOLOv7-AC的水下场景目标检测系统.zip资源-CSDN文库 1.研究的背景 水下场景目标检测是水下机器人、水下无人机和水下监控等领域中的重要任务之一。然而,由于水下环境的复杂性和特殊性,水下目标检测面临着许多挑…...

使用 C++23 从零实现 RISC-V 模拟器(1):最简CPU

👉🏻 文章汇总「从零实现模拟器、操作系统、数据库、编译器…」:https://okaitserrj.feishu.cn/docx/R4tCdkEbsoFGnuxbho4cgW2Yntc 本节实现一个最简的 CPU ,最终能够解析 add 和 addi 两个指令。如果对计算机组成原理已经有所了…...

顺序表、链表(ArrayList、LinkedList)

目录 前言: 顺序表(ArrayList): 顺序表的原理: ArrayList源码: 的含义:​编辑 ArrayList的相关方法:​编辑 向上转型List: 练习题(杨辉三角&#x…...

第11讲投票创建后端实现

投票创建页面实现 文件选择上传组件 uni-file-picker 扩展组件 安装 https://ext.dcloud.net.cn/plugin?nameuni-file-picker 日期选择器uni-datetime-picker组件 安装 https://ext.dcloud.net.cn/plugin?nameuni-datetime-picker iconfont小图标 https://www.iconfont…...

SNMP 简单网络管理协议、网络管理

目录 1 网络管理 1.1 网络管理的五大功能 1.2 网络管理的一般模型 1.3 网络管理模型中的主要构件 1.4 被管对象 (Managed Object) 1.5 代理 (agent) 1.6 网络管理协议 1.6.1 简单网络管理协议 SNMP 1.6.2 SNMP 的指导思想 1.6.3 SNMP 的管理站和委托代理 1.6.4 SNMP…...

计算机设计大赛 深度学习YOLOv5车辆颜色识别检测 - python opencv

文章目录 1 前言2 实现效果3 CNN卷积神经网络4 Yolov56 数据集处理及模型训练5 最后 1 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于深度学习YOLOv5车辆颜色识别检测 ** 该项目较为新颖,适合作为竞赛课题方向&#xff0…...

OpenCV-36 多边形逼近与凸包

目录 一、多边形的逼近 二、凸包 一、多边形的逼近 findContours后的轮廓信息countours可能过于复杂不平滑,可以用approxPolyDP函数对该多边形曲线做适当近似,这就是轮廓的多边形逼近。 apporxPolyDP就是以多边形去逼近轮廓,采用的是Doug…...

transformer中的QKV是如何得到的?

多头自注意力机制:...

console.log导致内存泄露 打包时自动去掉console.log方法

webpack通过工具:terser 使用前需要先安装一下 vue.config.js const { defineConfig } require(vue/cli-servise); module.exports defineConfig({transpileDependencies:true,terser:{terserOptions:{compress:{drop_console:true,drop_debugger:true,},},},}…...

《合成孔径雷达成像算法与实现》FIgure6.20

% rho_r c/(2*Fr)而不是rho_r c/(2*Bw) % Hsrcf exp函数里忘记乘pi了 clc clear close all参数设置 距离向参数设置 R_eta_c 20e3; % 景中心斜距 Tr 2.5e-6; % 发射脉冲时宽 Kr 20e12; % 距离向调频率 alpha_os_r 1.2; …...

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密

在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

【机器视觉】单目测距——运动结构恢复

ps&#xff1a;图是随便找的&#xff0c;为了凑个封面 前言 在前面对光流法进行进一步改进&#xff0c;希望将2D光流推广至3D场景流时&#xff0c;发现2D转3D过程中存在尺度歧义问题&#xff0c;需要补全摄像头拍摄图像中缺失的深度信息&#xff0c;否则解空间不收敛&#xf…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序&#xff0c;以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务&#xff0c;提供稳定高效的数据处理与业务逻辑支持&#xff1b;利用 uniapp 实现跨平台前…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作

一、上下文切换 即使单核CPU也可以进行多线程执行代码&#xff0c;CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短&#xff0c;所以CPU会不断地切换线程执行&#xff0c;从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

如何在最短时间内提升打ctf(web)的水平?

刚刚刷完2遍 bugku 的 web 题&#xff0c;前来答题。 每个人对刷题理解是不同&#xff0c;有的人是看了writeup就等于刷了&#xff0c;有的人是收藏了writeup就等于刷了&#xff0c;有的人是跟着writeup做了一遍就等于刷了&#xff0c;还有的人是独立思考做了一遍就等于刷了。…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf

FTP 客服管理系统 实现kefu123登录&#xff0c;不允许匿名访问&#xff0c;kefu只能访问/data/kefu目录&#xff0c;不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...

音视频——I2S 协议详解

I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议&#xff0c;专门用于在数字音频设备之间传输数字音频数据。它由飞利浦&#xff08;Philips&#xff09;公司开发&#xff0c;以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...

push [特殊字符] present

push &#x1f19a; present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中&#xff0c;push 和 present 是两种不同的视图控制器切换方式&#xff0c;它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...