IEEE 802.3/802.2 | LLC / SNAP

注:本文为 “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.rhkb.cn/news/13706.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Elasticsearch】Geo-distance聚合

geo_distance聚合的形状是圆形。它基于一个中心点(origin)和一系列距离范围来计算每个文档与中心点的距离,并将文档分配到相应的距离范围内。这种聚合方式本质上是以中心点为圆心,以指定的距离范围为半径的圆形区域来划分数据。 为…

Chapter 4-1. Troubleshooting Congestion in Fibre Channel Fabrics

This chapter covers the following topics: 本章包括以下内容: Congestion troubleshooting methodology and workflow. Hints and tips for troubleshooting congestion. Cisco MDS NX-OS commands for troubleshooting congestion. Case studies demonstrating troubleshoo…

【字节青训营-7】:初探 Kitex 字节微服务框架(使用ETCD进行服务注册与发现)

本文目录 一、Kitex概述二、第一个Kitex应用三、IDL四、服务注册与发现 一、Kitex概述 长话短说,就是字节跳动内部的 Golang 微服务 RPC 框架,具有高性能、强可扩展的特点,在字节内部已广泛使用。 如果对微服务性能有要求,又希望…

设计模式Python版 享元模式

文章目录 前言一、享元模式二、享元模式示例 前言 GOF设计模式分三大类: 创建型模式:关注对象的创建过程,包括单例模式、简单工厂模式、工厂方法模式、抽象工厂模式、原型模式和建造者模式。结构型模式:关注类和对象之间的组合&…

蓝桥杯嵌入式备赛(三)—— LED +按键 + LCD

目录 一、LED1、原理图介绍2、程序代码 二、按键1、原理图介绍2、程序代码 三、LCD1、原理图介绍2、程序代码 一、LED 1、原理图介绍 如果所示,STM32G431RBT6中有八个LED,由八个GPIO控制,分别为PC8-15,当输出为低电平时点亮。其中…

IDEA 中集成 Maven,配置环境、创建以及导入项目

目录 在 IntelliJ IDEA 中集成 Maven 并配置环境 1. 打开 IDEA 设置 2. 定位 Maven 配置选项 3. 配置 Maven 路径 4. 应用配置 创建 Maven 项目 1. 新建项目 2. 选择项目类型 3. 配置项目信息 4. 确认 Maven 设置 5. 完成项目创建 导入 Maven 项目 1. 打开导入窗口…

javaEE-6.网络原理-http

目录 什么是http? http的工作原理: 抓包工具 fiddler的使用 HTTP请求数据: 1.首行:​编辑 2.请求头(header) 3.空行: 4.正文(body) HTTP响应数据 1.首行:​编辑 2.响应头 3.空行: 4.响应正文…

链式结构二叉树(递归暴力美学)

文章目录 1. 链式结构二叉树1.1 二叉树创建 2. 前中后序遍历2.1 遍历规则2.2 代码实现图文理解 3. 结点个数以及高度等二叉树结点个数正确做法: 4. 层序遍历5. 判断是否完全二叉树 1. 链式结构二叉树 完成了顺序结构二叉树的代码实现,可以知道其底层结构…

复制粘贴小工具——Ditto

在日常工作中,复制粘贴是常见的操作,但Windows系统自带的剪贴板功能较为有限,只能保存最近一次的复制记录,这对于需要频繁复制粘贴的用户来说不太方便。今天,我们介绍一款开源、免费且功能强大的剪贴板增强工具——Dit…

【Unity3D小功能】Unity3D中实现超炫按钮悬停效果

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享QQ群:398291828小红书小破站 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 先来看一下效果图: 感觉这种效果…

优化深度神经网络

训练集、开发集(验证集)、测试集 偏差与方差 正则化 L2正则 Dropout 随机丢弃部分神经元输入,经常用于计算机视觉的神经网络内,因为通常没有足够的训练数据,很容易出现过拟合的问题 数据增强 训练集规一化 可以使其图像更均匀,…

从java角度对比nodejs、fastapi,同步和异步区别

我之前一直用java语言编程,最近一年用python fastapi和nodejs nestjs开发了一些项目,站在java程序员的角度谈谈异步编程和同步编程的区别,主要在两方面 处理请求,java常用的tomcat是多线程处理请求并执行代码,同步阻塞…

《图解设计模式》笔记(五)一致性

十一、Composite模式:容器与内容的一致性 像文件夹与文件一样,文件夹中可以放子文件夹与文件,再比如容器中可以放更小的容器和具体内容。 Composite模式:使容器与内容具有一致性,创造出递归结构。 Composite&#x…

爬虫学习笔记之Robots协议相关整理

定义 Robots协议也称作爬虫协议、机器人协议,全名为网络爬虫排除标准,用来告诉爬虫和搜索引擎哪些页面可以爬取、哪些不可以。它通常是一个叫做robots.txt的文本文件,一般放在网站的根目录下。 robots.txt文件的样例 对有所爬虫均生效&#…

电脑可以自己换显卡吗?怎么操作

电脑是否可以自己换显卡主要取决于电脑的类型(台式机或笔记本)以及电脑的硬件配置。以下是对这一问题的详细解答及操作步骤: 一、判断电脑是否支持更换显卡 台式机:大多数台式电脑都支持更换显卡。只要主板上有PCIe插槽&#xff…

【玩转 Postman 接口测试与开发2_014】第11章:测试现成的 API 接口(下)——自动化接口测试脚本实战演练 + 测试集合共享

《API Testing and Development with Postman》最新第二版封面 文章目录 3 接口自动化测试实战3.1 测试环境的改造3.2 对列表查询接口的测试3.3 对查询单个实例的测试3.4 对新增接口的测试3.5 对修改接口的测试3.6 对删除接口的测试 4 测试集合的共享操作4.1 分享 Postman 集合…

华为支付-免密支付接入免密代扣说明

免密代扣包括支付并签约以及签约代扣场景。 开发者接入免密支付前需先申请开通签约代扣产品(即申请配置免密代扣模板及协议模板ID)。 华为支付以模板维度管理每一个代扣扣费服务,主要组成要素如下: 接入免密支付需注意&#x…

Redis - 全局ID生成器 RedisIdWorker

文章目录 Redis - 全局ID生成器 RedisIdWorker一、引言二、实现原理三、代码实现代码说明 四、使用示例示例说明 五、总结 Redis - 全局ID生成器 RedisIdWorker 一、引言 在分布式系统中,生成全局唯一ID是一个常见的需求。传统的自增ID生成方式在分布式环境下容易出…

YOLOv11实时目标检测 | 摄像头视频图片文件检测

在上篇文章中YOLO11环境部署 || 从检测到训练https://blog.csdn.net/2301_79442295/article/details/145414103#comments_36164492,我们详细探讨了YOLO11的部署以及推理训练,但是评论区的观众老爷就说了:“博主博主,你这个只能推理…

用Python获取股票数据并实现未来收盘价的预测

获取数据 先用下面这段代码获取上证指数的历史数据,得到的csv文件数据,为后面训练模型用的 import akshare as ak import pandas as pd# 获取上证指数历史数据 df ak.stock_zh_index_daily(symbol"sh000001")# 将数据保存到本地CSV文件 df.…