IEEE 802.3/802.2 | LLC / SNAP

news2025/2/7 10:37:05

注:本文为 “IEEE 802.3/802.2 | LLC / SNAP” 相关文章合辑

未整理去重。

第三篇部分内容出自第二篇。


802.2 协议

haoay321 2010-01-28 20:52:02

LLC 协议

LLC(Logic Link Control,逻辑链路控制)是 IEEE 802.2 协议中规定的数据链路层中 LLC 子层实现的关键部分。

LLC 功能

IEEE 802.2 LLC 应用于 IEEE 802.3 以太网和 IEEE 802.5 令牌环 LANs,实现以下功能:

  • 管理数据链路通信
  • 链接寻址
  • 定义服务接入点 Service Access Points(SAPs)
  • 排序

LLC 为上层提供了处理任何类型 MAC 的方法,例如以太网 IEEE 802.3 CSMA/CD 或者令牌环 IEEE 802.5 令牌传递(Token Passing)方式。

LLC 操作类型

LLC 是在高级数据链路控制(HDLC:High-Level Data-Link Control)的基础上发展起来的,并使用了 HDLC 规范子集。LLC 定义了三种数据通信操作类型:

  • 类型 1:无连接。该方式对信息的发送通常无法保证接收。
  • 类型 2:面向连接。该方式提供了四种服务:连接的建立、确认和承认响应、差错恢复(通过请求重发接收到的错误数据实现)以及滑动窗口(系数:128)。通过改变滑动窗口可以提高数据传输速率。
  • 类型 3:无连接承认响应服务。

类型 1 的 LLC 无连接服务规定了一种静态帧格式,支持网络协议运行。传输层网络协议通常采用该服务类型。

类型 2 的 LLC 面向连接服务支持可靠数据传输,运用于不需要调用网络层和传输层协议的局域网环境。


【LLC】逻辑链路控制

非常正人类研究中心于 2022-06-06 15:34:41 发布

概述

逻辑链路控制(logical link control,LLC)层位于 OSI 网络模型的数据链路层,由 IEEE802.2 标准定义,用户的数据链路服务通过 LLC 子层为上层(IP 层)提供统一的接口,提供给其他 802 协议(e.g. 802.3, 802.11,etc)使用。MAC 可以在 LLC 层的支持下执行寻址方式和网络层协议识别功能,然后进行封装。

通过 LLC 层,可以实现不同类型网络的数据交互。比如以太网、无线网等的相互转换。

img

802.3/802.2 LLC: IEEE 正式的 802.3 标准,它由 Ethernet II(ARPA)发展而来。它将 Ethernet II 帧头的(上层)协议类型字段替换为帧长度字段 (取值为 0000 05dc; 十进制的 1500);因此相比 Ethernet II,缺少协议类型指示。故加入 802.2 LLC 头用以标志上层协议,LLC 头中包含 DSAP,SSAP 以及 Control 字段,但是能表示的协议类型数量有限。

802.3/802.2 SNAP:IEEE 为保证在 802.2 LLC 上支持更多的上层协议同时更好的支持 IP 协议而发布的标准,与 802.3/802.2 LLC 一样 802.3/802.2 SNAP 也带有 LLC 头,但是扩展了 LLC 属性,新添加了一个 2Bytes 的协议类型域(同时将 SAP 的值置为 AA),从而使其可以标识更多的上层协议类型;另外添加了一个 3Bytes 的 OUI 字段用于代表不同的组织。

LLC 封装方式

封装 LLC 数据的方式有两种。

  • RFC 1042(又称 IETF 封装)
  • 802.1h(又称隧道式封装 (tunnel encapsulation))

RFC 1042 与 802.1h 均衍生自 802.2 的 SNAP(sub-network access protocol),SNAP 作为逻辑链路控制标准的一部分,主要用来在 IEEE 802 网络上封装 IP 数据包、地址解析协议(ARP)的请求和答复。802.11h 与 RFC 1042 之间的唯一差异,在于使用的 OUI。

有些产品可以让使用者在两种封装标准间进行切换,虽然这种功能并不常见。以 Microsoft 操作系统而言,AppleTalk 与 IPX 协议组预设使用 802.1h,其他协议则使用 RFC 1042。目前大部分基站均依循 Microsoft 的做法,不再提供封装方式的切换选项。事实上,由于 Microsoft 所采用的封装方式得到广泛的支持,因此 Wi-Fi 联盟的认证测试计划亦将它包含在内。

【备注】因此实现时可以在处理 AppleTalk 时采用 802.1h,而其他时候采用 RFC 1042。

帧格式

L3 数据到达 LLC 层会添加 LLC 子字段和 SNAP 子字段。

LLC 层封装成 802.2 头,其中:

  • 802.2 header = LLC + SNAP
  • LLC = DSAP + SSAP +CTRL
  • SNAP = OUI + ETHER_TYPE

对于 SNAP 封装而言,DSAP 和 SSAP 字段值通常均为 0xAA;Control 字段值通常为 0x03;RFC1042 封装的 OUI 通常为 0x0000,而 802.1h 封装该字段则为 0xF800;ETHER_TYPE 则从以太网帧类型复制而来。
在这里插入图片描述

img

fieldsBytesdescription
DSAP1 指示目的服务访问点(DSAP,Destination Service Access Point)。
DSAP 的格式(I/G|D|D|D|D|D|D|D),I/G 位表示地址类型,I/G=0 表示 Individual 地址,I/G=1 表示是 group 地址。

常见SAP编码
IBM SNA0x04
IP0x06
3Com0x80
SNAP0xAA
Banyan0xBC
Novell0xEC
Lan Manager FE -CLNSF4
对于 SNAP 封装而言,该字段通常为 0xAA
SSAP1 指示源服务访问点(SSAP,Source Service Access Point)。
SSAP 格式为(C/R|S|S|S|S|S|S|S),C/R=0 表示Command,C/R=1 表示 response。 对于 SNAP 封装而言,该字段通常为 0xAA
Control1or2 指示 LLC 帧类型。高 2 位指示帧类型。
LLC 定义了三种帧:Information帧(I帧)、Supervisory帧(S帧)和Unnumbered帧(U帧)。
不同帧类型其控制字段的长度不一样。

LLC 帧类型对应控制字段长度适用场景
Information 帧(I帧)2bytes 用于面向连接的应用
Supervisory帧(S帧)2bytes 用于在 LLC 层中进行管理监督
Unnumbered 帧(U帧)1 bytes 特别用于无连接的应用,用于以太网
其中只有 U 帧被广泛使用。该字段通常为 0x03
OUI3 指示标准组织代码(organizationally unique Identifier, OUI)。
IP 以RFC 1042 标准封装于 LLC;RFC1042规定使用OUI 0x00 - 00 - 00。(有些厂商或许会使用特定的 OUI 作为专属系统传输之用。)
Type2 指示后续数据的协议类型。通常对应Ethernet的类型代码。例如 0x0800 用于封装 IPv4 或者 0x86DD 来支持 IPv6。

注:DSAPSSAP 是逻辑地址,标识数据链路层的服务访问点,以指示 LLC 通讯信息所属的服务

img

LLC 通信操作类型

LLC 是在高级数据链路控制(High-Level Data-Link Control, HDLC)的基础上发展起来的,并使用了 HDLC 规范子集。

LLC 定义了三种数据通信操作类型

数据通信操作类型说明
类型 1无连接。该方式对信息的发送通常无法保证接收。
类型 2面向连接。该方式提供了四种服务:连接的建立、确认和承认响应、差错恢复(通过请求重发接收到的错误数据实现)以及滑动窗口(系数:128)。通过改变滑动窗口可以提高数据传输速率。
类型 3无连接承认响应服务。

其中:

类型 1 的 LLC 无连接服务中规定了一种静态帧格式,并支持运行网络协议。有关传输层网络协议通常是使用服务类型 1 方式。

类型 2 的 LLC 面向连接服务支持可靠数据传输,运用于不需要调用网络层和传输层协议的局域网环境。

其他

对于 802.11,LLC 层利用 MAC 传送 LLC PDU。MAC 层则利用以下三种基础命令来提供服务。LLC 三种基础命令如下:

命令说明
MA-UNITDATA requestLLC 利用 MA-UNITDATA request 来要求 MAC 将一个 PDU 传送给一个或多个指定的 LLC。
MA-UNITDATA indication接收端的 MAC 收到一个 PDU 后,通过 MA-UNITDATA indication 来通知上层的 LLC。
MA-UNITDATA-STATUS indication接收端的 LLC 的响应返回后,发送端的 MAC 利用 MA-UNITDATA-STATUS indication 来提供该请求的结果(成功 / 失败)

IEEE802.2 之 LLC(逻辑链路控制)

小虎随笔已于 2023-09-19 17:14:17 修改

一、概念

IEEE 802.2 是一种用于局域网(LAN)和都会区域网(MAN)的数据链路层逻辑链路控制(LLC)的标准。它是 IEEE 802 系列标准中的一个组成部分,专门用于定义如何在数据链路层内进行帧的多路复用和流量控制。该标准为局域网和都会区域网提供了一个通用的数据链路层接口。

IEEE 802.2 的主要目标是为各种不同的局域网提供一个统一的逻辑链路控制层。这意味着无论下层的物理介质和帧格式如何,上层的网络层和传输层都可以通过一个统一的接口与数据链路层进行交互。

逻辑链路控制(简称 LLC)是数据链路层(Layer 2)的上部子层,用于管理帧同步、流量控制、多路复用和错误通知等任务。LLC 位于数据链路层和网络层之间,提供了一种机制,使得多种网络层协议能够透明地工作在任何 IEEE 802 兼容的局域网上。

LLC 是 IEEE 802.2 标准的一部分,与下层的媒体访问控制(MAC)共同组成了完整的数据链路层。这种分层的目的主要是为了灵活性和可复用性。通过 LLC,多种不同的网络协议(例如,IP、IPX、AppleTalk 等)能够在同一物理网络上进行通信,而不需要关心具体的硬件实现。

img

LLC 的主要功能:

  1. 多路复用 / 解复用:LLC 使得多种网络层协议可以共享同一个数据链路,通过在数据帧中添加类型字段进行标记。
  2. 流量控制:LLC 可为数据帧的发送和接收提供流量控制机制,防止数据的丢失和缓冲区溢出。
  3. 错误检测:虽然 LLC 不负责错误修复,但它能够对错误帧进行标记,并可选择性地传递给上层。
  4. 可选的可靠性服务:LLC 还可以提供可选的确认和重传机制,以增加数据传输的可靠性。

LLC 服务类型:

  1. 无连接的无确认服务:最简单的服务类型,不提供确认和错误恢复机制,通常用于广播和多播。
  2. 有连接的服务:通过建立逻辑连接并使用帧确认和重传机制,提供更可靠的数据传输。
  3. 无连接的有确认服务:这种服务类型介于前两者之间,为单个数据帧提供确认机制,但不需要建立持久的逻辑连接。

二、协议讲解

LLC 头中包含 DSAP,SSAP 以及 Control 字段

1.DSAP 字段

在逻辑链路控制(LLC)子层中,DSAP 字段是 用于标识数据帧目标服务访问点的。换句话说,DSAP 字段用于标明帧应该被传递到哪个上层协议(例如 IP、IPX 或其他网络层协议)

DSAP 字段通常为一个 8 位长的字段,位于 LLC 帧头的开始部分。它与 SSAP(源服务访问点)字段配对使用,以标识帧的源和目标上层协议。这样,LLC 层就能正确地将数据帧路由到相应的网络服务。

这个机制使得在同一物理网络连接上可以多路复用多种不同的网络协议。通过检查收到的数据帧的 DSAP 字段,LLC 层能够将数据帧传递给适当的上层协议处理。

需要注意的是,DSAP 字段是在 IEEE 802.2 LLC 协议标准中定义的,这个标准用于如 Ethernet、Wi-Fi(IEEE 802.11)、Token Ring(IEEE 802.5)等 IEEE 802 系列局域网技术。

DSAP 的具体值是由 IEEE 或其他标准化组织分配的,用于唯一标识不同的上层协议。例如,在 IP over IEEE 802 网络中,DSAP 的值可能会被设置为一个特定于 IP 的值,以确保帧被正确地传递到 IP 协议栈进行处理。

DSAP 字段不同值的含义:

fieldsBytesdescription
DSAP1 指示目的服务访问点(DSAP,Destination Service Access Point)。
DSAP 的格式(I/G|D|D|D|D|D|D|D),I/G 位表示地址类型,I/G=0 表示 Individual 地址,I/G=1 表示是 group 地址。

常见SAP编码
IBM SNA0x04
IP0x06
3Com0x80
SNAP0xAA
Banyan0xBC
Novell0xEC
Lan Manager FE -CLNSF4
对于 SNAP 封装而言,该字段通常为 0xAA

这些名称基本上代表了一组不同类型的网络协议或网络操作系统。下面简要介绍每一个:

IBM SNA

IBM SNA 是 IBM 公司在 1974 年推出的一种网络体系结构,用于定义主机和终端设备之间如何通信。它最初是为大型机环境设计的,并且是一种相当复杂的七层网络体系结构。尽管现在已经不如以前流行,但在某些特定的、通常是大型的企业环境中还是有应用。

IP

互联网协议(IP)是用于在因特网上发送数据包的主要协议。它是 TCP/IP 协议族的核心协议,并负责将数据包从源地址发送到目标地址。IPv4 和 IPv6 是两个最常见的 IP 版本。

3Com

3Com 是一家曾经存在的网络技术公司,负责推出包括以太网交换机和网络接口卡在内的多种网络硬件产品。该公司在 2010 年被 HP 收购。

SNAP

SNAP 是一种用于在不同网络协议之间提供互操作性的数据链路层协议。当两种不同的网络协议需要在同一物理网络上进行通信时,SNAP 被用作一种 “翻译” 机制。

Banyan

Banyan 是一家专门从事网络操作系统和相关服务的公司,最著名的产品是 Banyan VINES(Virtual Integrated NEtwork Service)。这是一个基于客户端 / 服务器体系结构的网络操作系统。

Novell

Novell 是一家主要从事电子目录服务(如 Novell Directory Services 或 NDS)和网络操作系统(如 NetWare)的公司。Novell NetWare 曾经是企业网络环境中最流行的网络操作系统之一。

Lan Manager

Lan Manager 是微软和 IBM 联合开发的一种网络操作系统。它最初是作为 OS/2 的一部分发布的,后来也有 Windows 版本。该系统主要用于文件和打印服务。

FE-CLNS

FE-CLNS 是用于在 OSI 模型的网络层(第三层)提供无连接网络服务的一种协议。通常,这与 IS-IS 路由协议一起使用,特别是在电信网络中。

这些技术和协议在网络历史和发展中都有各自重要的角色,尽管一些现在可能已经不再广泛使用。

img

上图中,DSAP 被设置为 SNAP(子网访问协议),其值为 0xAA

  • 1010 1010(二进制)= 0xAA(十六进制):这个值表示帧应该被传递给 SNAP 子层。SNAP 是一个用于在同一个物理网络(例如 Ethernet、Wi-Fi 等)上多路复用不同网络协议的机制。
  • IG Bit: 这是 DSAP 字段最低有效位上的一个标志位,称为 “个体 / 组群” 标志。如果该位设置为 0,表明这是针对个体地址的帧;如果设置为 1,表示这是一个广播或多播帧。在你给出的例子中,这一位是 0,意味着这是一个发往个体地址的帧。

SNAP 注

SNAP 是一个用于在不同网络协议之间提供一个额外的多路复用层的机制。它最常用于 IEEE 802 局域网和其他数据链路层网络,特别是当数据链路层的协议字段长度不足以包容所有需要多路复用的网络协议时。

SNAP 的主要功能是允许一个单一的数据链路层(如 Ethernet、Wi-Fi 等)同时支持多种不同的网络层协议(如 IP、IPX 等)。这是通过添加一个额外的 SNAP 头实现的,该头包括以下字段:

- OUI(组织唯一标识符): 这通常是一个 24 位字段,用于标识制定了随后出现的协议类型字段的组织。标准的 Ethernet 类型字段则用 OUI 为 0。

- 协议类型:这通常是一个 16 位字段,用于标识数据包的网络层协议。例如,IPv4 可能被标识为 0x0800,而 ARP 可能是 0x0806。

在 IEEE 802.2 LLC 帧中,当 DSAP(Destination Service Access Point)和 SSAP(Source Service Access Point)字段都设置为 0xAA 时,一般会有一个随后的 SNAP 头。这样做可以确保在一个通用的数据链路层框架内,不同的网络层协议能够正确地被识别和路由。

总体而言,SNAP 提供了一种灵活和可扩展的方法,用于在数据链路层中支持多种网络层协议。这是通过引入一个额外的头部和一些附加的字段来实现的,从而使得多种不同的协议可以共享相同的物理和数据链路层基础设施。

img

这是 SNAP 协议 5 个字节的内容。

“Organization Code” 和 “Type” 字段中,组合成一个 5 字节的 SNAP 头:

  1. Organization Code:通常是 3 字节长,用于标识发出该帧的组织或者标识用于解释之后 “Type” 字段的标准。
  2. Type:这是一个 2 字节的字段,用于标识封装在该帧内的上层协议。

在这个例子中:

  • Organization Code 是 00:00:00。虽然这个代码官方属于 Xerox,但在实际应用中它通常用于表示这是一个以太网封装(Ethernet SNAP)。
  • Type 是 0x0800,这通常表示该帧封装了一个 IPv4 数据包。

这两个字段位于 LLC 头的后面,作为数据链路层帧的一部分,紧跟在 LLC 头(包含 DSAP, SSAP 和 Control field)后面。

所以,在 LLC 帧的 DSAP 和 SSAP 字段被设置为 0xAA(表示这是一个 SNAP 帧)之后,额外的 SNAP 头(包括 “Organization Code” 和 “Type”)就会跟在 LLC 头后面,用于进一步标识上层协议。

2. SSAP 字段

 
img

img

SSAP 是用于数据链路层(OSI 模型的第二层)通信中的一个字段,通常出现在 LLC 帧的头部。这个字段用于标识数据帧的源服务访问点,也就是说,它标识了生成该数据帧的上层协议。SSAP 通常是一个 8 位的字段。

在 LLC 帧结构中,SSAP 通常与 DSAP 配对使用,其中 DSAP 标识数据帧的目的服务访问点。

SSAP 字段中的最低位有特殊的意义,称为 C/R 位。这一位用于指示该帧是一个命令帧还是响应帧。

  • 如果 C/R 位是 0,表示这是一个命令帧。
  • 如果 C/R 位是 1,表示这是一个响应帧。

除了 C/R 位外,SSAP 的其他位用于标识特定的上层协议,如 IP、IPX、NetBIOS 等。

总的来说,SSAP 是一种机制,用于在数据链路层中识别和管理来自不同上层协议的数据帧,以便正确地将这些帧路由到它们的目的地。

3. Control 字段

LLC 相关信息
SSAP1 指示源服务访问点(SSAP,Source Service Access Point)。
SSAP 格式为(C/R|S|S|S|S|S|S|S),C/R = 0 表示 Command,C/R = 1 表示 response。 对于 SNAP 封装而言,该字段通常为 0xAA
Control1 or 2 指示 LLC 帧类型。高 2 位指示帧类型。
LLC 定义了三种帧:Information 帧(I 帧)、Supervisory 帧(S 帧)和 Unnumbered 帧(U 帧)。
不同帧类型其控制字段的长度不一样。

LLC 帧类型对应控制字段长度适用场景
Information 帧(I 帧)2 bytes 用于面向连接的应用
Supervisory 帧(S 帧)2 bytes 用于在 LLC 层中进行管理监督
Unnumbered 帧(U 帧)1 byte 特别用于无连接的应用,用于以太网
其中只有 U 帧被广泛使用。该字段通常为 0x03

在 LLC 子层中,Control 字段是用于描述数据帧类型和流量控制信息的。这个字段可以是一个或两个字节长,具体取决于帧类型和操作模式。

在 LLC 协议中,通常有三种基本的帧类型

  1. 信息帧(I-Frame): 用于传送上层数据和进行流量控制。控制字段包括一个 4 位的发送序列号(N (S))和一个 4 位的接收序列号(N ®)。
  2. 监控帧(S-Frame): 主要用于流量控制,没有包含数据部分。控制字段包括 2 位的监控帧类型代码(例如 RR, RNR, REJ 等)和一个 4 位的接收序列号(N ®)。
  3. 非编号帧(U-Frame): 主要用于链路管理。这种帧有一个单字节的控制字段,其中包括 3 位的修饰符(M1, M2, M3)和 5 位的非编号命令 / 响应识别码。

这些帧类型有不同的控制字段格式,但通常都用于实现类似的功能,例如建立、维护或断开数据链路连接,或者进行流量控制。

在 U-Frame 和 S-Frame 中,控制字段一般都是一个字节。然而,在 I-Frame 中,控制字段通常是两个字节,用于携带额外的序列号信息。

总体来说,Control 字段在 LLC 协议中起着至关重要的作用,用于控制数据帧的传输和处理。

img

在 LLC 协议中,“Control field: U, func=UI (0x03)” 代表一个非编号帧(U-Frame),用于传输未编号信息(Unnumbered Information,UI)。此为一种特殊类型的 LLC 帧,常应用于单向数据传输,无需确认。

  • Control field: U:表明该帧为非编号帧(U-Frame)。
  • func=UI:表示此非编号帧的功能是传输 “未编号信息”。
  • 0x03:这是控制字段的十六进制表示形式,对应 UI 功能。

该控制字段可进一步细分为不同的位:

  • 000. 00… = Command: Unnumbered Information (0x00):这些位用于指定此为未编号信息命令。在此情形下,它是一个无需确认的数据传输帧。
  • …11 = Frame type: Unnumbered frame (0x3):这些位用于指明帧类型为非编号帧(U-Frame)。此类帧用于控制操作,如连接管理,或在此场景中传输未编号信息。

在部分无线和以太网网络中,UI 帧常用于传输上层如 IP 的数据包,原因在于其允许数据传输时无需复杂的确认机制,进而降低了通信的复杂性与延迟。


via:

  • 802.2 协议 - haoay321-ChinaUnix 博客
    http://blog.chinaunix.net/uid-23241716-id-134091.html

  • LLC 层详解:数据链路控制与网络协议交互 - CSDN 博客
    https://blog.csdn.net/jj5830127/article/details/125106031

  • IEEE802.2 之 LLC(逻辑链路控制)_llc 协议 - CSDN 博客
    https://blog.csdn.net/clygo9/article/details/132892408

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2294244.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux】24.进程间通信(3)

文章目录 3.6 systemv共享内存3.6.1 共享内存函数3.6.3 一个简单的共享内存代码实现3.6.4 一个复杂的共享内存代码实现3.6.4 key和shmid的主要区别: 3.7 systemv消息队列(了解)3.8 systemv信号量(了解)进程互斥四个问题理解信号量…

【自然语言处理】TextRank 算法提取关键词(Python实现)

文章目录 前言PageRank 实现TextRank 简单版源码实现jieba工具包实现TextRank 前言 TextRank 算法是一种基于图的排序算法,主要用于文本处理中的关键词提取和文本摘要。它基于图中节点之间的关系来评估节点的重要性,类似于 Google 的 PageRank 算法。Tex…

如何评价镜头的好坏?光学镜头的一种评价标准

1光学传递函数MTF MTF是什么? 光学传递函数(optical transfer function)是指以空间频率为变量,表征成像过程中调制度和横向相移的相对变化的函数。光学传递函数是光学系统对空间频谱的滤波变换。一个非相干照明的光学成像系统&a…

openGauss 3.0 数据库在线实训课程1:学习数据库状态查看

openGauss数据库状态查看 前提 我正在参加21天养成好习惯| 第二届openGauss每日一练活动 课程详见:openGauss 3.0.0数据库在线实训课程 学习目标 学习从操作系统层面和使用openGauss工具查看数据库的状态、版本和数据文件目录。 课程作业 gs_ctl是openGauss提…

Stable Diffusion的入门介绍和使用教程

Stable Diffusion是一个文本到图像的潜在扩散模型,由CompVis、StabilityAI和LAION的研究人员和工程师创建。它使用来自LAION-5B数据库子集的512x512图像进行训练。使用这个模型,可以生成包括人脸在内的任何图像,因为有开源的预训练模型&#…

记一次框架利用接管学工系统

视频教程在我主页简介或专栏里 链接:观看更多 Springboot actuator (1)某学院学工管理系统存在Springboot actuator未授权,泄露了很多接口地址,其他接口就不过多介绍了,这里具体讲述这次利用到的httptrace和jolokia两…

低代码提升交付效率的公式计算

低(无)代码平台(后统称“低代码”)能够提升数字化应用建设、交付效率,已经成为IT从业人员的共识。目前,大部分CIO/CDO都能清晰定位和认知低代码的特点和作用。但仍然有人认为,使用了低代码工具软…

全程Kali linux---CTFshow misc入门(25-37)

第二十五题: 提示:flag在图片下面。 直接检查CRC,检测到错误,就直接暴力破解。 暴力破解CRC的python代码。 import binascii import struct def brute_force_ihdr_crc(filename): # 读取文件二进制数据 with open(filen…

Axure大屏可视化动态交互设计:解锁数据魅力,引领决策新风尚

可视化组件/模板预览:https://8dge09.axshare.com 一、大屏可视化技术概览 在数据驱动决策的时代,大屏可视化技术凭借直观、动态的展示方式,已成为众多行业提升管理效率和优化决策过程的关键工具。它能够将复杂的数据转化为易于理解的图形和…

Verilog语言学习总结

Verilog语言学习! 目录 文章目录 前言 一、Verilog语言是什么? 1.1 Verilog简介 1.2 Verilog 和 C 的区别 1.3 Verilog 学习 二、Verilog基础知识 2.1 Verilog 的逻辑值 2.2 数字进制 2.3 Verilog标识符 2.4 Verilog 的数据类型 2.4.1 寄存器类型 2.4.2 …

软件工程-数据流图DFD

数据流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中经受的变换。 数据流图是系统逻辑功能和图形表示,即使不是专业的计算机人员也容易理解它,因此是分析员与用户之间极好的通信工具。 设计数…

Java数据结构与算法之“树”

目录 一、什么是树 ​编辑 二、树的相关组成 1. 常用名词 2.需要了解的名词 三、树的分类 (一)初级树 1.普通树 2.二叉树 (二)中级树 1.哈夫曼树HuffmanTree 2.二叉搜索树BST 3.平衡二叉树AVL (三&#x…

基于Python的智能物流路径优化算法研究与应用

基于Python的智能物流路径优化算法研究与应用 摘要 随着电商行业的迅猛发展,物流配送的效率和成本成为影响企业竞争力的关键因素。本论文聚焦于基于Python语言实现智能物流路径优化算法的研究。通过对经典路径优化算法如Dijkstra算法、A*算法等的深入分析&#xff…

Origin2024 软件安装步骤与百度网盘

软件简介: Origin 2024是一款功能强大的科学绘图与数据分析软件,广泛应用于科研和工程领域,支持多种图形绘制、数据分析功能以及便捷的数据导入和管理。 网盘链接: https://pan.baidu.com/s/1MNQG2pD802LWxuIN40JfeA?pwdc85q 提取码:c85…

【算法应用】Alpha进化算法求解二维栅格路径规划问题

目录 1.算法原理2.二维路径规划数学模型3.结果展示4.参考文献5.代码获取 1.算法原理 Alpha进化:一种具有进化路径自适应和矩阵生成的高效进化算法 2.二维路径规划数学模型 栅格法模型最早由 W.E. Howden 于 1968 年提出,障碍物的栅格用黑色表示&#…

嵌入式八股文面试题(一)C语言部分

1. 变量/函数的声明和定义的区别? (1)变量 定义不仅告知编译器变量的类型和名字,还会分配内存空间。 int x 10; // 定义并初始化x int x; //同样是定义 声明只是告诉编译器变量的名字和类型,但并不为它分配内存空间…

Redis企业开发实战(二)——点评项目之商户缓存查询

目录 一、缓存介绍 二、缓存更新策略 三、如何保证redis与数据库一致性 1.解决方案概述 2.双写策略 3.双删策略 3.1延迟双删的目的 4.数据重要程度划分 四、缓存穿透 (一)缓存穿透解决方案 (二)缓存穿透示意图 五、缓存雪崩 (一)缓存雪崩解决方案 (二)缓存雪崩…

RK3568中使用QT opencv(显示基础图像)

文章目录 一、查看对应的开发环境是否有opencv的库二、QT使用opencv一、查看对应的开发环境是否有opencv的库 在开发板中的/usr/lib目录下查看是否有opencv的库: 这里使用的是正点原子的ubuntu虚拟机,在他的虚拟机里面已经安装好了opencv的库。 二、QT使用opencv 在QT pr…

C++模板编程——完美转发与可变参函数模板

1 基础概念 首先介绍几个概念: 假设现在有A、B、C三个函数。 直接调用:在A函数中调用C就叫做直接调用,不拐弯抹角。转发:在A函数中调用B函数,在B函数调用C函数,这就叫做转发。这种情况下,B函数…

蓝桥杯单片机(十)PWM脉宽调制信号的发生与控制

模块训练: 一、PWM基本原理 1.占空比 2.脉宽周期与占空比 当PWM脉宽信号的频率确定时,脉宽周期也确定了,此时改变占空比即可。当利用PWM脉宽周期改变LED灯的亮度时,灯是低电平亮,所以将低电平占空比改成10%即可实现…