【计算机网络】第一章:计算机网络体系结构
本篇笔记课程来源:王道计算机考研 计算机网络
【计算机网络】第一章:计算机网络体系结构
- 一、计算机网络的概念
- 1. 理论
- 2. 计算机网络、互连网、互联网的区别
- 二、计算机网络的组成、功能
- 1. 组成
- 2. 功能
- 三、交换技术
- 1. 电路交换
- 2. 报文交换
- 3. 分组交换
- 4. 虚电路交换技术
- 5. 交换技能性能对比
- 四、计算机网络的分类
- 1. 按分布范围分类
- 2. 按传输技术分类
- 3. 按拓扑结构分类
- 4. 按使用者分类
- 5. 按传输介质分类
- 五、计算机网络的性能指标
- 1. 速率
- 2. 带宽
- 3. 吞吐量
- 4. 时延
- 5. 时延带宽积
- 6. 往返时延
- 7. 信道利用率
- 六、计算机网络的分层结构
- 1. 分层的设计思想
- 2. 计算机网络体系结构
- 3. 各层之间的关系
- 4. PDU、SDU、PCI
- 5. 协议三要素
- 七、OSI 参考模型
- 1. 各层的名称、顺序和功能
- 2. 常见网络设备的功能层次
- 八、TCP / IP 模型
- 1. 各层的名称、顺序和功能
一、计算机网络的概念
1. 理论
- 计算机网络(Computer Networking,简称网络) 是一个将众多分散的、自治的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递(数据通信)的系统。
- 计算机网络的组成:由若干 结点(node)和连接这些结点的 链路(link)组成。
- 结点:可以是计算机、集线器(Hub)、交换机(Switch)、路由器(Router)等
- 链路:可以是有线链路、无线链路
2. 计算机网络、互连网、互联网的区别
- 计算机网络(Computer Networking):如上。
- 互连网(internet):通过路由器把两个或多个计算机网络互相连接起来,形成规模更大的计算机网络,也可称为 “互连网”
- 互联网(因特网、Internet):由各大 ISP(Internet Service Provider,互连网服务提供商如电信移动联通)和国际机构组建,覆盖全球范围的互连网。互联网必须使用 TCP / IP 协议 通信,互连网可使用任意协议通信。
二、计算机网络的组成、功能
1. 组成
- 从组成部分看:硬件:软件、 协议
- 硬件:
- 主机(端系统,end system):如电脑、手机、物联网设备
- 通信设备:如集线器、交换机、路由器
- 通信链路:如网线、光纤、同轴电缆
- 软件:方便用户使用,实现资源共享。如 Email 客户端、聊天软件等。
- 协议:
- 规定计算机网络中的通信规则
- 由硬件、软件共同实现,如:网络适配器 + 软件 实现网络通信协议。
- 硬件:
- 从工作方式看:
- 边缘部分:
- 工作方式:直接为用户服务(通信、资源共享)
- 主要由连接到互联网上的主机及其软件组成
- 核心部分:
- 工作方式:为边缘部分提供服务(连通性、交换服务)
- 由大量网络和连接这些网络的路由器组成
- 边缘部分:
- 从逻辑功能看:
- 资源子网
- 计算机网络中运行应用程序,向用户提供可共享的硬件、软件和信息资源的部分
- 主要由连接到互联网上的主机组成
- 通信子网
- 计算机网络中负责计算机间信息传输的部分。即把计算机和其他用户装置互连在一起的所有通信设备和介质的总称。
- 主要由 通信链路 + 通信设备 + 协议 构成
- 主机内部实现信息传输的网络适配器、底层协议属于通信子网的范畴
- 资源子网
2. 功能
- 数据通信 :实现计算机之间数据传输。是最基本、最重要的功能
- 资源共享:共享硬件、软件、数据资源
- 分布式处理:将某个复杂任务分配给网络中多台计算机处理,如大矩阵运算、MapReduce
- 提高可靠性:网络中各台计算机互为替代机,如服务器集群网络、数据冗余备份
- 负载均衡:网络中各台计算机共同分担繁重工作
- 其他:满足社会需求、生活所需。
三、交换技术
1. 电路交换
- 电路交换(Circuit Switching):通过物理线路的连接,动态地分配传输线路资源。
- 电路交换的过程:
- 建立连接(尝试占用通信资源)
- 通信(一直占用通信资源)
- 释放连接(归还通信资源)
- 优点:
- 通信前从主叫端到被叫端建立一条 专用的物理通路,在通信的全部时间内,两个用户 始终占用 端到端的 线路资源。数据直连,传输速率高。
- 缺点:
- 建立 / 释放连接,需要额外的时间开销。
- 线路被通信双方独占,利用率低
- 线路分配的灵活性差
- 交换节点不支持 “差错控制”(无法发现传输过程中的发生的数据错误)
- 适用于:
- 低频次、大量地传输数据
2. 报文交换
- 报文交换(Message Switching):由控制信息和用户数据组成,由存储转发的方式传输数据。
- 存储转发 的思想:把传送的数据单元先存储进中间节点,再根据目的地址转发至下一节点。
- 优点:
- 通信前无需建立连接
- 数据以 “报文” 为单位被交换节点间 “存储转发”,通信线路可以灵活分配
- 在通信时间内,两个用户无需独占一整条物理线路。相比于电路交换,线路利用率高。
- 交换节点支持 “差错控制”(通过校验技术)
- 缺点:
- 报文不定长,不方便存储转发管理
- 长报文的存储转发时间开销大,缓存开销大
- 长报文容易出错,重传代价高
3. 分组交换
- 分组交换将报文(不定长)拆分为控制信息和数据
- 控制信息:包含源地址、目的地址等
- 数据拆分为若干个分组(Packet),每个分组(定长)包含了首部和分组数据
- 首部(Header):即分组的控制信息,包含源地址、目的地址、分组号等
- 优点:
- 通信前无需建立连接
- 数据以 “分组” 为单位被交换节点间 “存储转发”,通信线路可以灵活分配
- 在通信时间内,两个用户无需独占一整条物理线路。相比于电路交换,线路利用率高
- 交换节点支持 “差错控制”(通过校验技术)
- 由上可见,分组交换继承了报文交换的优点,并改进以下问题:
- 分组定长,方便存储转发管理
- 分组的存储转发时间开销小、缓存开销小
- 分组不易出错,重传代价低
- 缺点:
- 相比于报文交换,控制信息占比增加
- 相比于电路交换,依然存在存储转发时延
- 报文被拆分为多个分组,传输过程中可能出现失序、丢失等问题,增加处理的复杂度
4. 虚电路交换技术
- 基于分组交换的交换技术
- 虚电路交换的过程:
- 建立连接(虚拟电路)
- 通信(分组按序、按已建立好的既定路线发送,通信双方不独占线路)
- 释放连接
5. 交换技能性能对比
假设每一跳传播时延 = 1ms,数据传输速率 = 0.5kb/ms,报文大小 = 4kb,存储转发中间节点一定要接受完整个报文后,才能解析并转发。
- 电路交换:建立、释放下一跳连接耗时 = 1ms,接收方处理连接请求需要 2ms。则数据传送耗时 11ms
- 报文交换:报文存储转发时延 = 2ms。则数据传送耗时 29ms。
- 分组交换:分组大小= 1kb,分组存储转发时延 = 0.5ms。则数据传送耗时 17.5ms。
电路交换 | 报文交换 | 分组交换 | |
---|---|---|---|
完成传输所需时间 | 👍 最少 (排除建立 / 释放连接耗时) | 👎🏿 最多 | 👌🏻 较少 |
存储转发时延 | 👍 无 | 👎🏿 较高 | 👌🏻 较低 |
通信前是否需要建立连接? | 👎🏿 是 | 👍 否 | 👍 否 |
缓存开销 | 👍 无 | 👎🏿 高 | 👌🏻 低 |
是否支持差错控制? | 👎🏿 不支持 | 👍 支持 | 👍 支持 |
报文数据有序到达 | 👍 是 | 👍 是 | 👎🏿 否 |
是否需要额外的控制信息 | 👍 否 | 👌🏻 是 | 👎🏿 是 (控制信息占比最大) |
线路分配灵活性 | 👎🏿 不灵活 | 👍 灵活 | 👍 非常灵活 |
线路利用率 | 👎🏿 低 | 👍 高 | 👍 非常高 |
四、计算机网络的分类
1. 按分布范围分类
- 广域网(Wide Area Network,WAN)
- 范围:几十 - 几千公里
- 跨省 / 跨国 / 跨洲
- 城域网(Metropolitan Area Network,MAN)
- 范围:几千米 - 几十千米
- 一个或几个相邻城市
- 通信技术:常采用 “以太网技术”,因此常并入局域网范畴探讨
- 局域网(Local Area Network,LAN)
- 范围:几十米 - 几千米
- 学校 / 企业 / 工作单位 / 家庭
- 通信技术:以太网技术
- 个域网(Personal Area Network,PAN)
- 范围:几十米以内
- 通常是通过无线技术将个人设备连接起来的网络,因此也常称为无线个域网(WPAN)
2. 按传输技术分类
- 广播式网络:
- 当一台计算机发送数据分组时,广播范围内所有计算机都会收到该分组,并通过检查分组的目的地址决定是否接收该分组。
- 例如:所有无线网络都是广播式
- 点对点网络:
- 数据只会从发送方 “点对点” 发到接收方,精准送达。
- 例如:路由器转发的数据分组
3. 按拓扑结构分类
- 总线型结构:
- 数据 “广播式” 传输,存在 “总线争用” 的问题。
- 例如:集线器连接的设备,在物理上是星型拓扑,在逻辑上是总线型拓扑
- 环形结构:
- 数据 “广播式” 传输,通过 “令牌” 解决总线争用问题,令牌顺环形依次传递,拿到令牌者可使用总线。
- 例如:令牌环网
- 星型结构:
- 由中央设备实现数据的 “点对点” 传输,不存在 “总线争用” 问题
- 例如:以太网交换机连接的设备,物理上和逻辑上都是星型结构
- 网状结构:
- 数据通过各中间节点逐一存储转发,属于 “点对点” 传输。
- 灵活、可靠性高、控制复杂、线路成本高。
- 例如:由众多路由器构建的广域网
4. 按使用者分类
- 公用网:
- 向公众开放的网络。
- 例如:宽带、手机使用的互联网
- 专用网:
- 仅供某个组织内部使用的网络。
- 例如:政府、银行的内部网络
5. 按传输介质分类
- 有线网络:如网线、光纤
- 无线网络:如 5G、Wi-Fi、卫星
五、计算机网络的性能指标
1. 速率
- 信道(Channel):表示某一方向传送信息的通道(信道 ≠ 通信线路),一条通信线路在逻辑上往往对应一条发送信道和一条接收信道。
- 速率(Speed):指连接到网络上的节点在信道上传输数据的速率。也称为数据率、比特率、数据传输速率。
- 速率单位:bit/s、b/s、bps。
- 单位区别
K M G T 计网 103 106 109 1012 机组、操作系统 210 220 230 240 - 节点间通信实际能达到的最高速率,由带宽、节点性能共同限制。
2. 带宽
- 带宽(bandwidth):某信道所能传送的最高数据率,单位 bps。
- 通信原理中的带宽与计网中的带宽不同,通信原理中的带宽表示信道允许通过的信号频带范围,单位 Hz。例如光纤带宽约 500MHz。
- 信道带宽越大,传输数据的能力越强。
3. 吞吐量
- 吞吐量(Throughput):指单位时间内通过某个网络(或信道、接口)的实际数据量(实际的综合数据率)。
- 吞吐量受带宽限制、受复杂的网络负载情况影响。
4. 时延
- 时延(Delay):指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间,也成为延迟或迟延。
- 总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延
- 发送时延:又名传输时延,指节点将数据推向信道所花的时间。 发送时延 = 数据长度( b i t ) 发送速率( b i t / s ) 发送时延=\frac{数据长度(bit)}{发送速率(bit/s)} 发送时延=发送速率(bit/s)数据长度(bit)
- 传播时延:电磁波在信道中传播一定的距离所花的时间。 传播时延 = 信道长度( m ) 电磁波在信道中的传播速度( m / s ) 传播时延=\frac{信道长度(m)}{电磁波在信道中的传播速度(m/s)} 传播时延=电磁波在信道中的传播速度(m/s)信道长度(m)
- 处理时延:被路由器处理所花的时间(如:分析首部、查找存储转发表)
- 排队时延:数据排队进入、排队发出路由器所花的时间
H1 给 H2 发送一个数据分组。分组大小 = 1000B,H1 往链路 A 发送数据的速率为 100Mbps,路由器往链路 B 发送数据的速率为 80 Mbps。链路 A 传播时延为 0.01 ms,链路 B 传播时延为 0.05 ms。不考虑路由器的处理时延、排队时延,求传输整个分组的总时延。
- H1 → 链路 A:分组发送时延 = 1000B / 100Mbps = 8000b / 108bps = 8 * 10-5s = 0.08ms
- 路由器 → 链路 B:分组发送时延 = 1000B / 80Mbps = 8000b / 8 * 107bps = 10-4s = 0.1ms
- 总时延 = 0.01 + 0.08 + 0.05 + 0.1 = 0.24ms
5. 时延带宽积
- 时延带宽积,指一条链路中,已从发送端发出但尚未到达接收端的最大比特数。
- 时延带宽积 = 传播时延 × 带宽。单位为 bit。
6. 往返时延
- 往返时延(Round-Trip Time,RTT):表示从发送方发送完数据,到发送方收到来自接收方的确认总共经历的时间。
- 往返时延 RTT = t2 + t3 + t4 + t5
- t2:数据的单向传播时延
- t3:接收方收到数据后的处理时延
- t4:确认的发送时延
- t5:确认的传播时延(通常 t5 与 t2 相等)
7. 信道利用率
- 信道利用率:某个信道有百分之多少的时间是有数据通过的。 信道利用率 = 有数据通过的时间 有数据通过的时间 + 没有数据通过的时间 信道利用率 = \frac{有数据通过的时间}{有数据通过的时间+没有数据通过的时间} 信道利用率=有数据通过的时间+没有数据通过的时间有数据通过的时间
- 利用率低回浪费带宽资源;利用率太高可能导致网络拥塞。
六、计算机网络的分层结构
1. 分层的设计思想
- 将庞大而复杂的问题,转化为若干较小的局部问题。
- 将复杂的计算机网络在逻辑上划分为多个层次,并将各种 “功能” 安排在合适的层次中
- 不同类型的节点,实现的功能层次可能不一样
- 分层结构的设计并不唯一,可以根据实际需求增加或减少层次
- 同一个功能可以在多个层次中重复出现。
2. 计算机网络体系结构
- 网络体系结构(Network Architecture):是计算机网络的各层及其协议的集合,是计算机网络及其构件所应完成的功能的精确定义(不涉及实现)
- 实现(Implementation):是在遵循体系结构的前提下,用何种硬件或软件完成这些功能的问题。
- 体系结构是抽象的,而实现是具体的。 每一层需要支持若干个协议,每一个协议对应实现的若干功能。
- 三种常见的计算机网络体系结构:
- TCP / IP 模型:美国防部阿帕网(ARPANET)项目的后续结果,是事实上的标准。
- OSI 参考模型:由国际标准化组织 ISO 提出的法律标准。
- 五层模型:综合前两者,便于学习,用于教学。
3. 各层之间的关系
- 水平视角:
- 实体:在计算机网络的分层结构中,第 n 层中的活动元素(软件 + 硬件)通常称为第 n 层实体。不同机器上的同一层成为对等层,同一层的实体成为对等实体。
- 协议:即网络协议(Network Protocol),是控制对等实体之间进行通信的规则的集合,是水平的。
- 垂直视角:
- 接口:即同一节点内相邻两层的实体交换信息的逻辑接口,又称为服务访问点(Service Access Point,SAP)
- 服务:服务是指下层为紧邻的上层提供的功能调用,是垂直的。
- 上一层实体通过接口,请求相邻下层的服务。
4. PDU、SDU、PCI
- 协议数据单元(PDU):对等层次之间传送的数据单位。第 n 层的 PDU 记为 n-PDU。
- 服务数据单元(SDU):为完成上一层实体所要求的功能而传送的数据。第 n 层的 SDU 记为 n-SDU。
- 协议控制信息(PCI):控制协议操作的信息。第 n 层的 PCI 记为 n-PCI。
- 三者的关系为:n-SDU + n-PCI = n-PDU = (n-1)-SDU。( 翻译: PDU 由 SDU 和 PCI 组成,本层的 PDU 作为下一层的 SDU)
5. 协议三要素
- 协议由语法、语义 和 同步(时序) 三部分组成。
- 语法:
- 数据与控制信息的格式。
- 例如:协议控制信息(首部)部分占几个字节;每个字节是什么含义;协议的数据部分最多有多少字节
- 语义:
- 需要发出何种控制信息、完成何种动作及做出何种应答。
- 例如:协议中需要明确规定:发送方发完数据后,接收方是否需要应答,以及应答的种类有哪些(如传输成功、传输失败)
- 同步:
- 也叫时序。执行各种操作的条件、时序关系等,即事件实现顺序的详细说明。
- 例如:发送方发完数据后,接收方需要立即应答。如果发送方在 10 秒内未收到传输完成应答,则发送方会再次发送数据。
七、OSI 参考模型
1. 各层的名称、顺序和功能
- 将大的数据拆分成多个更小的数据,叫做数据的 分段
- 将更小的数据组装成大的数据,叫做数据的 重装
- 另外:物理传输媒体(如双绞线)属于第 0 层
- 物理层:
- 单位:比特(bit)
- 实现相邻节点之间比特(0 / 1)的传输
- 定义电路接口参数(如:形状、尺寸、引脚数等)
- 定义传输信号的含义、电气特性 (如:5V 代表 1,1V 代表 0;每比特电信号持续时间 0.1ms)
- 数据链路层:
- 单位:帧(Frame)
- 确保相邻节点之间的链路逻辑上无差错
- 差错控制:检错 + 纠错;或 检错 + 丢弃 + 重传
- 流量控制:协调两个节点的速率
- 网络层:
- 单位:分组、数据报(Packet)
- 把分组从源节点转发到目的节点
- 路由选择:构造并维护路由表,决定分组到达目的节点的最佳路径
- 分组转发:将 “分组” 从合适的端口转发出去
- 拥塞控制:发现网络同色,并采取措施缓解拥塞
- 网际互联:实现异构网络互联
- 其他功能:差错控制、流量控制、连接建立与释放、可靠传输管理
- 传输层:
- 单位:报文段(Segment)
- 实现端到端通信(即实现进程到进程的通信,“端” 指 “端口”)
- 复用和分用:发送端几个高层实体复用一条低层的连接,在接收端再进行分用
- 其他功能:差错控制、流量控制、连接建立与释放、可靠传输管理
- 会话层:
- 管理进程间会话
- 会话管理:采用检查点机制,当通信失效时从检查点继续恢复通信
- 表示层
- 解决不同主机上信息表示不一致的问题
- 数据格式转换:如编码转换、压缩解压、加密解密
- 应用层
- 单位:报文(Message)
- 实现特定的网络应用
- 功能繁多,根据应用需求设计,例如 HTTP 协议
2. 常见网络设备的功能层次
- 主机:1 - 7 层
- 集线器:1 层
- 交换机:1 - 2 层
- 路由器:1 - 3 层
八、TCP / IP 模型
1. 各层的名称、顺序和功能
- 网络接口层:
- 实现相邻节点间的数据传输(为网络层传输 “分组”)。
- 具体怎么传输不作规定(不具体描述网络接口层的功能、协议),具有更强的灵活性、适应性
- 网络层:
- 只保证 “尽最大能力交付”,仅向上层提供无连接不可靠的服务(数据报)
- 网络核心部分(路由器)的功能简单,负载低
- 功能:路由选择、分组转发、拥塞控制、网际互联
- 传输层:
- 在 TCP / IP 模型中,由传输层负责保证数据传输的正确性、可靠性
- 可向上层提供:有连接可靠的服务(TCP)、无连接不可靠的服务(UDP)
- 功能:复用和分用、差错控制、流量控制、连接建立与释放、可靠传输管理
- 应用层:
- 功能:实现特定的网络应用(功能复杂且多样)
- 如果某些应用需要数据格式转换、会话管理功能,就交给应用层去实现
相关文章:
【计算机网络】第一章:计算机网络体系结构
本篇笔记课程来源:王道计算机考研 计算机网络 【计算机网络】第一章:计算机网络体系结构 一、计算机网络的概念1. 理论2. 计算机网络、互连网、互联网的区别 二、计算机网络的组成、功能1. 组成2. 功能 三、交换技术1. 电路交换2. 报文交换3. 分组交换4.…...
实战设计模式之状态模式
概述 作为一种行为设计模式,状态模式允许对象在其内部状态改变时,改变其行为。这种模式通过将状态逻辑从对象中分离出来,并封装到独立的状态类中来实现。每个状态类代表一种特定的状态,拥有自己的一套行为方法。当对象的状态发生变…...
[C++入门]类和对象中(2)日期计算器的实现
目录 一、运算符重载 1、格式 2、简单举例 2、前置,后置 3、日期生成器的实现 1、声明与定义 1、友元函数 2、print函数 3、运算符重载 4、GetMonthDay 5、,-,,-的实现 6、重载流操作符 2、实现 3、定义源码 一、运算…...
数据质量问题的形成与解决
在数字化时代,数据已成为企业和组织发展的核心资产,数据质量的高低直接影响着决策的准确性、业务的高效性以及系统的稳定性。然而,数据质量问题频发,严重阻碍了数据价值的充分发挥。 一、数据质量问题的成因分析 1.信息因素 元数…...
论文阅读(四):Agglomerative Transformer for Human-Object Interaction Detection
论文来源:ICCV(2023) 项目地址:https://github.com/six6607/AGER.git 1.研究背景 人机交互(HOI)检测需要同时定位人与物体对并识别其交互关系,核心挑战在于区分相似交互的细微视觉差异&#…...
【机器学习】工具入门:飞牛启动Dify Ollama Deepseek
很久没有更新文章了,最近正好需要研究一些机器学习的东西,打算研究一下 difyOllama 以下是基于FN 的dify本地化部署,当然这也可能是全网唯一的飞牛部署dify手册 部署 官方手册:https://docs.dify.ai/en/getting-started/install-self-hos…...
课外活动:再次理解页面实例化PO对象的魔法方法__getattr__
课外活动:再次理解页面实例化PO对象的魔法方法__getattr__ 一、动态属性访问机制解析 1.1 核心实现原理 class Page:def __getattr__(self, loc):"""魔法方法拦截未定义属性访问"""if loc not in self.locators.keys():raise Exce…...
面试题总结二
1.mybatis三个范式 第一范式:表中字段不能再分,每行数据都是唯一的第二范式:满足第一范式,非主键字段只依赖于主键第三范式:满足第二范式,非主键字段没有传递依赖 2.MySQL数据库引擎有哪些 InnoDB&#…...
代码随想录算法训练营第六十六天| 图论11—卡码网97. 小明逛公园,127. 骑士的攻击
继续补,又是两个新算法,继续进行勉强理解,也是训练营最后一天了,六十多天的刷题告一段落了! 97. 小明逛公园 97. 小明逛公园 感觉还是有点难理解原理 Floyd 算法对边的权值正负没有要求,都可以处理。核心…...
编程技能:字符串函数07,strncat
专栏导航 本节文章分别属于《Win32 学习笔记》和《MFC 学习笔记》两个专栏,故划分为两个专栏导航。读者可以自行选择前往哪个专栏。 (一)WIn32 专栏导航 上一篇:编程技能:字符串函数06,strcat 回到目录…...
[Java实战]Spring Boot整合RabbitMQ:实现异步通信与消息确认机制(二十七)
[Java实战]Spring Boot整合RabbitMQ:实现异步通信与消息确认机制(二十七) 摘要:本文通过完整案例演示Spring Boot与RabbitMQ的整合过程,深入讲解异步通信原理与消息可靠性保证机制。包含交换机类型选择、消息持久化配…...
数据库中关于查询选课问题的解法
前言 今天上午起来复习了老师上课讲的选课问题。我总结了三个解法以及一点注意事项。 选课问题介绍 简单来说就是查询某某同学没有选或者选了什么课。然后查询出该同学的姓名,学号,课程号,课程名之类的。 sql文件我上传了。大家可以尝试练…...
用 UniApp 开发 TilePuzzle:一个由 CodeBuddy 主动驱动的拼图小游戏
我正在参加CodeBuddy「首席试玩官」内容创作大赛,本文所使用的 CodeBuddy 免费下载链接:腾讯云代码助手 CodeBuddy - AI 时代的智能编程伙伴 起心动念:从一个小游戏想法开始 最近在使用 UniApp 做练手项目的时候,我萌生了一个小小…...
golang 安装gin包、创建路由基本总结
文章目录 一、安装gin包和热加载包二、路由简单场景总结 一、安装gin包和热加载包 首先终端新建一个main.go然后go mod init ‘项目名称’执行以下命令 安装gin包 go get -u github.com/gin-gonic/gin终端安装热加载包 go get github.com/pilu/fresh终端输入fresh 运行 &…...
组态王|组态王中如何添加西门子1200设备
哈喽,你好啊,我是雷工! 最近使用组态王采集设备数据,设备的控制器为西门子的1214CPU, 这里边实施边记录,以下为在组态王中添加西门子1200PLC的笔记。 1、新建 在组态王工程浏览器中选择【设备】→点击【新建】。 2、选择设备 和设备建立通讯要通过对应的设备驱动。 在…...
碎片笔记|PromptStealer复现要点(附Docker简单实用教程)
前言:本篇博客记录PromptStealer复现历程,主要分享环境配置过程中的一些经验。 论文信息:Prompt Stealing Attacks Against Text-to-Image Generation Models. USENIX, 2024. 开源代码:https://github.com/verazuo/prompt-stealin…...
Docker配置SRS服务器 ,ffmpeg使用rtmp协议推流+vlc拉流
目录 演示视频 前期配置 Docker配置 ffmpeg配置 vlc配置 下载并运行 SRS 服务 推拉流流程实现 演示视频 2025-05-18 21-48-01 前期配置 Docker配置 运行 SRS 建议使用 Docker 配置 Docker 请移步: 一篇就够!Windows上Docker Desktop安装 汉化完整指…...
c++学习之--- list
目录 编辑 一、list的定义: 二、list的模拟实现: 1、list的基本框架: 2、list的普通迭代器: 设计思想: 迭代器的一个特殊需求(c 对于重载->的一颗语法糖): 代码实现: 3、cons…...
【C++】set、map 容器的使用
文章目录 1. set 和 multiset 的使用1.1 set类的介绍1.2 set的构造和迭代器1.3 set 的增删查1.4 insert和迭代器调用示例1.5 find和erase使用示例1.6 multiset和set的差异 2. map 和 multimap 的使用2.1 map 类的介绍2.2 pair 类型介绍2.3 map 的构造和迭代器2.4 map 的增删查2…...
实习记录小程序|基于SSM+Vue的实习记录小程序设计与实现(源码+数据库+文档)
实习记录小程序 目录 基于SSM的习记录小程序设计与实现 一、前言 二、系统设计 三、系统功能设计 1、小程序端: 2、后台 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码…...
Git从入门到精通
Git 是什么 Git 是一个分布式版本控制系统,主要用于跟踪和管理文件(尤其是代码)的变更。 Git的下载与安装 进入git官网下载界面,选择Windows系统。 点击选择Git for Windows/x64 Setup,进行安装。 注意: Git GUI 是Git提供的一个图形界面工…...
Binary Prediction with a Rainfall Dataset-(回归+特征工程+xgb)
Binary Prediction with a Rainfall Dataset 题意: 给你每天的天气信息,让你预测降雨量。 数据处理: 1.根据特征值构造天气降雨量的新特征值 2.根据时间构造月和季节特征 3.处理缺失值 建立模型: 1.建立lightgbm模型 2.建立…...
【C++】unordered_map与set的模拟实现
unordered系列map和set,与普通区别 用法几乎相同,键值唯一,区别unordered系列迭代器是单向的并且遍历出来不是有序的。unordered系列在数据规模大且无序的情况下性能更优 底层实现: map 和 set :基于平衡二叉树&…...
老旧设备升级利器:Modbus TCP转 Profinet让能效监控更智能
在工业自动化领域,ModbusTCP和Profinet是两种常见的通讯协议。Profinet是西门子公司推出的基于以太网的实时工业以太网标准,而Modbus则是由施耐德电气提出的全球首个真正开放的、应用于电子控制器上的现场总线协议。这两种协议各有各的优点,但…...
编译原理--期末复习
本文是我学习以下博主视频所作的笔记,写的不够清晰,建议大家直接去看这些博主的视频,他/她们讲得非常好: 基础知识概念: 1.【【编译原理】期末复习 零基础自学】,资料 2.【编译原理—混子速成期末保过】&…...
软件工程各种图总结
目录 1.数据流图 2.N-S盒图 3.程序流程图 4.UML图 UML用例图 UML状态图 UML时序图 5.E-R图 首先要先了解整个软件生命周期: 通常包含以下五个阶段:需求分析-》设计-》编码 -》测试-》运行和维护。 软件工程中应用到的图全部有:系统…...
Go 与 Gin 搭建简易 Postman:实现基础 HTTP 拨测的详细指南
Go 与 Gin 搭建简易 Postman:实现基础 HTTP 拨测的详细指南 文章目录 Go 与 Gin 搭建简易 Postman:实现基础 HTTP 拨测的详细指南项目简介代码结构各部分代码功能说明: 代码实现:main.go代码解释 handlers/probe.go代码解释 probe…...
层次原理图
层次原理图简介 层次原理图(Hierarchical Schematic)是一种常用于电子工程与系统设计的可视化工具,通过分层结构将复杂系统分解为多个可管理的子模块。它如同“设计蓝图”,以树状结构呈现整体与局部的关系:顶层展现系…...
嵌入式硬件篇---拓展板
文章目录 前言 前言 本文简单介绍了拓展板的原理以及使用。...
Redis的主从架构
主从模式 全量同步 首先主从同步过程第一步 会先比较replication id 判断是否是第一次同步假设为第一次同步 那么就会 启动bgsave异步生成RDB 同时fork子进程记录生成期间的新数据发送RDB给从节点 清空本地数据写入RDB 增量同步 对比ReplicationID不同因此选择增量同步在Rep…...
IIS入门指南:原理、部署与实战
引言:Web服务的基石 在Windows Server机房中,超过35%的企业级网站运行在IIS(Internet Information Services)之上。作为微软生态的核心Web服务器,IIS不仅支撑着ASP.NET应用的运行,更是Windows Server系统管…...
【上位机——WPF】布局控件
布局控件 常用布局控件Panel基类Grid(网格)UniformGrid(均匀分布)StackPanel(堆积面板)WrapPanel(换行面板)DockerPanel(停靠面板)Canvas(画布布局)Border(边框)GridSplitter(分割窗口)常用布局控件 Grid:网格,根据自定义行和列来设置控件的布局StackPanel:栈式面板,包含的…...
使用 C# 入门深度学习:线性代数详细讲解
在深度学习的领域中,线性代数是基础数学工具之一。无论是神经网络的训练过程,还是数据的预处理和特征提取,线性代数的知识都无处不在。掌握线性代数的核心概念,对于理解和实现深度学习算法至关重要。在本篇文章中,我们…...
操作系统之EXT文件系统
1.理解硬件 1.1磁盘、服务器、机柜、机房 机械磁盘是计算机中唯一的一个机械设备 磁盘--- 外设慢容量大,价格便宜 1.1.1光盘 1.1.2服务器 1.1.3机房 1.2磁盘的物理结构 1.3磁盘的存储结构 一个盘片又两个面 每个面都有一个磁头 磁头沿着盘面的半径移动 1.3.1…...
继MCP、A2A之上的“AG-UI”协议横空出世,人机交互迈入新纪元
第一章:AI交互的进化与挑战 1.1 从命令行到智能交互 人工智能的发展历程中,人机交互的方式经历了多次变革。早期的AI系统依赖命令行输入,用户需通过特定指令与机器沟通。随着自然语言处理技术的进步,语音助手和聊天机器人逐渐普…...
Java大厂面试:从Web框架到微服务技术的场景化提问与解析
Java大厂面试:从Web框架到微服务技术的场景化提问与解析 场景: 某知名互联网大厂的面试现场。面试官一脸严肃,对面坐着搞笑的程序员谢飞机。以下是他们的对话: 第一轮:Web框架基础与数据库操作 面试官:谢…...
最新缺陷检测模型:EPSC-YOLO(YOLOV9改进)
目录 引言:工业缺陷检测的挑战与突破 一、EPSC-YOLO整体架构解析 二、核心模块技术解析 1. EMA多尺度注意力模块:让模型"看得更全面" 2. PyConv金字塔卷积:多尺度特征提取利器 3. CISBA模块:通道-空间注意力再进化 4. Soft-NMS:更智能的重叠框处理 三、实…...
leetcode hot100刷题日记——2.字母异位词分组
涉及知识点:vector、哈希表 解答我的解答的时间复杂度分析我的解答的空间复杂度分析复习:排序算法的时间复杂度 和第一题需要的知识点相同,所以知识点复习可见 link1《leetcode hot100刷题日记——1.两数之和》 解题思路:是字母异位词的字符…...
elementUI 单选框存在多个互斥的选项中选择的场景
使用 el-radio-group 来使用单选框组,代码如下: <el-radio-group input"valueChangeHandler" v-model"featureForm.type"><el-radio name"feature" label"feature">业务对象</el-radio><…...
基于区块链技术的智能汽车诊断与性能分析
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 钝感力的“钝”,不是木讷、迟钝,而是直面困境的韧劲和耐力,是面对外界…...
基于区块链技术的供应链溯源系统:重塑信任与透明度
在当今全球化的商业环境中,供应链的复杂性不断增加,产品从原材料采购到最终交付消费者手中的过程涉及多个环节和众多参与者。然而,传统供应链管理面临着诸多挑战,如信息不透明、数据易篡改、追溯困难等,这些挑战不仅影…...
基于OpenCV的实时文档扫描与矫正技术
文章目录 引言一、系统概述二、核心代码解析1. 导入必要库2. 辅助函数定义3. 坐标点排序函数4. 透视变换函数5. 主程序流程 三、完整代码四、结语 引言 在日常工作和学习中,我们经常需要将纸质文档数字化。手动拍摄文档照片常常会出现角度倾斜、透视变形等问题&…...
基于STM32F103与Marvell88W8686的WIFI无线监控视频传输系统研发(论文)
基于STM32F103与Marvell88W8686的WIFI无线监控视频传输系统研发 中文摘要 在当今社会信息化进程不断加速的时代背景下,众多领域对于监控系统的需求日益增长,像车内安全监控、电梯运行监控等场景都离不开监控系统的支持。过去,不少领域普遍采用…...
华为云Astro中各种变量与参数的区别与用法
目录 🧠 华为云 Astro 各类变量与参数详解 🧩 一、变量与参数的核心作用是什么? 🖼️ 二、整体分类与结构图 📘 三、逐一详细解析 + 类比说明 + 使用建议 🔹 1. 输入参数(Input Parameter) 🔹 2. 输出参数(Output Parameter) 🔹 3. 变量(本地变量)…...
数字人技术的核心:AI与动作捕捉的双引擎驱动(210)
**摘要:**数字人技术从静态建模迈向动态交互,AI与动作捕捉技术的深度融合推动其智能化发展。尽管面临表情僵硬、动作脱节、交互机械等技术瓶颈,但通过多模态融合技术、轻量化动捕方案等创新,数字人正逐步实现自然交互与情感表达。…...
华为云Astro轻应用创建业务对象(BO)的概念梳理
目录 一、业务对象(BO)是什么?——【详细概念解释】 二、形象理解业务对象(BO) 🍱 类比方式: 📦 举个具体例子:以做一个“智能烟雾报警系统”应用 三、为什么使用BO很重要? 四、小结: 一、业务对象(BO)是什么?——【详细概念解释】 在华为云Astro轻应用…...
MySQL开发规范
目录 一、建表规约 二、索引规约 三、SQL语句 四、 ORM映射 一、建表规约 强制: 1、表达是与否概念的字段,必须使用is_xxx的方式命名(PoJo中不加is前缀),数据类型是unsigned tinyint(1表示是…...
K8s入门教程(一)
Kubernetes(K8s)入门教程:从零开始掌握容器编排 目录 Kubernetes(K8s)入门教程:从零开始掌握容器编排 1. Kubernetes 简介 1.1 什么是 Kubernetes? 1.2 核心功能 2. 环境搭建与 Minikube 安装 2.1 安装 Minikube 安装步骤(以 macOS 为例): 安装 kubectl(Kub…...
k8s备份namespace
在 Kubernetes 中备份 Namespace 有多种方法,以下是几种常见的备份方式: 1.使用 kubectl 命令备份 通过 kubectl 命令可以导出指定 Namespace 中的资源,生成 YAML 文件进行备份。 备份所有资源: kubectl -n <namespace> ge…...
前端动画库 Anime.js 的V4 版本,兼容 Vue、React
前端动画库 Anime.js 更新了 V4 版本,并对其官网进行了全面更新,增加了许多令人惊艳的效果,尤其是时间轴动画效果,让开发者可以更精确地控制动画节奏。 这一版本的发布不仅带来了全新的模块化 API 和显著的性能提升,还…...