Advertisement

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 功能

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

  • 负责管理数据链路通信流程
  • 完成链路地址的确定与分配
  • 明确定义用于接入服务的服务接入点(SAPs)
  • 执行排序操作以调整顺序

LLC 支持上层处理各种类型的 MAC 方法,例如说以太网 IEEE 802.3 的 CSMA/CD 方案或者令牌环 IEEE 802.5 的 Token Passing 方式。

LLC 操作类型

LLC 基于高级数据链路控制协议(HDLC:High-Level Data-Link Control)发展而来,并采用 HDLC 标准中的特定子集。具体规定了三种不同种类的数据通信操作类型

  • Type 1: No connection. The method typically cannot ensure that information is successfully received.
    • Type 2: Connection-oriented. This approach provides four services: establishing and confirming connections, acknowledging responses (achieved by acknowledging received error data through retransmit requests), sliding window (coefficient: 128). Adjusting the sliding window size can enhance data transmission rates.
    • Type 3: No-connection acknowledgment response service. This type operates without establishing or confirming a connection, instead automatically responding to requests during the initial phase of communication.

类型1的LLC无连接服务定义了某种静态帧格式,并支持网络协议的实际执行。此类服务常被用于支撑支撑...的传输层网络协议。

该类别的 LLC 面向连接服务提供可靠数据传输功能,并适用于无需调用网络层及传输层协议的局域网环境。


【LLC】逻辑链路控制

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

概述

逻辑链路控制(Logical Link Control, LLC)层处于 OSI 网络模型的数据链路层之上,并由 IEEE802.2 标准进行规范性地规定。该子层为上层(IP 层)提供了统一的接口功能,并被 802 协议族中的多个标准如 802.3 和 802.11 等所采用以支持网络通信需求。MAC 地址则在 LLC 层的支持下实现了寻址功能及网络层协议的识别,并对数据进行封装处理以完成传输过程。

通过 LLC 层能够达成不同类型网络的数据传输;例如,在以太网与无线网之间进行数据转换。

img

802.3/802.2 LLC:IEEE正式采用的802.3标准,其起源于Ethernet II(由ARPA开发)。该标准通过将Ethernet II帧头中的(上层)协议类型字段替换为其长度字段(二进制值为"5dc"即十进制15位),从而实现了数据帧长度信息的有效传输;相比之下,该标准未包含用于标识所属上层协议的信息,为此引入了一个带有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 头字段 。然而 ,该标准对属性进行了扩展 ,新增了一个 2 字节的协议类型域(同时将 SAP 设置为 AA) ,从而能够标识更多类型的上层协议;此外还添加了一个 3 字节的 OUI 字段 ,用于表示不同的组织机构 。

LLC 封装方式

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

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

RFC-753 和 RFC-957 均源自于基于 IEEE 的统一网络接口规范(UNIC)框架下的 SNAPP 协议。SNAP 被用作 IEEE 协议族中的一项核心机制,在这其中它负责将 IP 数据包及其 ARP 查询与回应打包进网络层数据帧。相比于在其基础上采用统一设备标识符(UDI)这一独特标识机制进行升级的 IPv6 配置协议版本,则标准编号为 RFC-1395 的 IPv6 配置协议版本则不具备此特性。

一些产品允许用户在两种封装标准之间实现转换,
尽管这种功能并非普遍配置。
基于微软的操作系统,
AppleTalk 和 IPX 协议组通常采用的是802.1h标准,
而其他协议一般采用的是RFC 1042。
目前大多数基站普遍遵循微软的做法,
不再提供转换封装的选择。
实际上,
微软所采用的技术方案因其广泛的兼容性而受到青睐,
因此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封装来说,在SNAP封装中使用的情况下,在SNAP封装中使用的DSAP和SSAP字段值一般都设置为十六进制AA;而Control字段的默认值通常是十六进制的3;在RFC1918封装中,默认OUI设置为空字节串(即十六进制的零),而在带有8576扩展的帧类型中,则将OUI字段设置为空字节串以外的数据;ETHER_TYPE字段直接继承自传统的以太网帧结构。

在这里插入图片描述

img

fields Bytes description

标识目的服务接入点(DSAP代表Destination Service Access Point)。
其格式为(I/G | D | D | D | D | D | D | D),其中I/G位指示地址类型:当I/G=0时为单个地址;当I/G=1时为群组地址。

常见SAP 编码
IBM SNA 0x04
IP 0x06
3Com 0x80
SNAP 0xAA
Banyan 0xBC
Novell 0xEC
Lan Manager FE -CLNS F4

对于 SNAP 封装而言,该字段通常为 0xAA 。 |
| SSAP| 1| 指示源服务访问点(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 。 |
| Control| 1or2| 指示 LLC 帧类型。高 2 位指示帧类型。
LLC 定义了三种帧:Information帧(I帧)、Supervisory帧(S帧)和Unnumbered帧(U帧)。
不同帧类型其控制字段的长度不一样。

LLC 帧类型 对应控制字段长度 适用场景
Information 帧(I帧) 2bytes 用于面向连接的应用

|
|Supervisory帧(S帧)|2bytes|用于在 LLC 层中进行管理监督

|
|Unnumbered 帧(U帧)|1 bytes|特别用于无连接的应用,用于以太网

|

仅限于 U 帧这一类帧码得到了较为普遍的应用。
U 帧相关的字段配置中,
该字段的默认值一般为UFRAMING default value: UFRAMING_DEFAULT_VALUE

在MIB模型中,
OUI标识符|3|用于标识特定的组织或网络实体。
IP数据以RFC 1042标准的方式封装在LLC层;
根据RFC1725的规定,
在此框架下使用的默认OUI标识符范围是OUI range: OUI_Values from OUI_Initial to OUI_Final

Type字段值|2|则用于标识后续数据所携带的具体通信协议类型,
通常对应于Ethernet类型的通用类型代码。
例如,
当需要支持IPv6时会采用类似的形式编码相应的地址信息。

注释:在虚拟地址空间中,DSAP 和 SSAP 代表的是逻辑地址的位置标记。这些标记用于标识数据链路层中的服务访问点位置,并用于指定LLC通信信息所关联的服务。

img

LLC 通信操作类型

LLC 是建立在 高级别的数据链路控制(High-Level Data-Link Control, HDLC)之上,并采用了其规范子集。

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

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

其中:

类型1的LLC无连接服务明确说明了某种静态帧格式,并为运行网络协议提供了支持;而传输层网络协议通常采用服务类型1的方式进行操作。

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

其他

对于 802.11 的 LLC(Low-Level Congestion)层而言,在 MAC(Media Access Control)层进行 LLC 包数据单元(PDU)的传送工作。MAC 层则采用以下三条基本指令来完成其服务任务。具体包括以下三条指令:

命令 说明
MA-UNITDATA request LLC 利用 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)之上,并负责执行帧同步、流量控制、多路复用以及错误信息的发送与处理。该机制介于数据链路层与网络层之间,并提供了一种通用接口方案,在任何遵循IEEE 802标准的局域网环境中实现无缝集成各种网络协议

该标准中的一个组成部分是 LLC ,它与下一层的媒体访问控制机制共同构成了完整的数据链路层。通过与下一层的媒体访问控制协同作用,在数据链路层上形成了完整的体系。这样的层次结构设计旨在兼顾灵活性和共用性。借助于 LLC 的机制,在同一物理网络中可以实现多种不同协议(如 IP、IPX 和 AppleTalk)之间的通信,并且无需深入关注具体硬件细节。

img

LLC 的主要功能:

  1. 多端复用 / 解码复用:LLC 使得多种网络层协议能够共享同一个数据链路,并通过在每个数据帧中插入类型字段来实现标识区分。
  2. 流量管理:LLC 提供了对数据包发送与接收过程中的流量管理功能,在确保减少数据丢失的同时也避免了缓冲区溢出问题。
  3. 错误识别:尽管不负责实际修复错误信息,在检测到异常的数据包时它会给予标记,并根据具体配置将相关信息反馈至上一层。
  4. 灵活的选择性确认与再传功能:LLC 还提供了可选择性的确认与再传特性,在确保传输可靠性的同时也提升了整体通信效率。

LLC 服务类型:

  1. 不建立逻辑连接的无确认服务:不具备帧确认和错误恢复功能的基本服务类型,在广播与多播场景中广泛应用。
  2. 依赖于逻辑通道的服务:通过设置通信端口地址等方式实现数据传输的数据通信方式。
  3. 无需建立持久逻辑通道但能确保每个数据帧传输成功的服务:介于前两者之间的特定类型通信方式。

二、协议讲解

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

1.DSAP 字段

在逻辑链路控制(LLC)子层中,在此层次结构下使用的 DSAP字段被用来标识为数据分组的目标服务接入点。具体而言,在 LLC 子层中,在此层次结构下使用的 DSAP字段的作用则是指示数据分组应被转发至哪一个上层协议(如 IP、IPX 或其他网络层协议)。

DSAP字段通常占据一个8位长度的位置,在LLC帧头的开头部分。该字段与SSAP(源服务访问点)字段配合使用,用于标识数据帧的来源和服务协议。这样使得LLC层能够正确地将数据帧分配到相应的网络服务。

该机制使在同一物理网络连接上实现了多种不同网络协议的共享使用。通过解析接收的数据帧中的 DSAP字段信息,在LLC层能够对数据帧进行分类,并将相应的数据帧转发给对应的上层协议进行处理。

需要注意的是,在IEEE 802.2 LLC协议标准中定义了DSAP字段这一技术参数。该标准广泛应用于诸如Ethernet、Wi-Fi(即IEEE 802.11)、Token Ring(即IEEE 802/5)等 IEEE 802系列的局域网技术范畴内

DSAP的具体值是由IEEE及其相关机构指定的,用作区分不同上层协议的独特标识.例如,在采用IP over IEEE 802架构时,其具体数值通常会根据IP需求而定,从而保证数据帧能够准确地经过IP协议栈进行处理.

DSAP 字段不同值的含义:

fields Bytes description

该系统中的DSAP标识目的服务访问端点(DSAP, Destination Service Access Point)。 DSAP采用(I/G | D | D | D | D | D | D | D)格式表示地址配置信息, 其中 I/G 位标识地址类型: I/G=0 表示个体地址, I/G=1 表示群体地址

常见SAP 编码
IBM SNA 0x04
IP 0x06
3Com 0x80
SNAP 0xAA
Banyan 0xBC
Novell 0xEC
Lan Manager FE -CLNS F4

对于 SNAP 封装而言,该字段通常为 0xAA 。 |

这些名称基本上标识了一组不同类型的网络协议或网络操作系统,并涵盖了广泛的领域。下面将逐一进行简要介绍:

IBM SNA

IBM推出了SNA网络体系结构(SNA),这是IBM公司在1974年推出的一项重要技术。该架构旨在规范主机与终端设备之间的通信方式。最初设计用于大型机环境,并具有高度复杂的七层架构。如今虽然不再像从前那样流行于整个行业,在一些特定的大型企业环境中仍被采用。这种网络架构展示了当时技术发展的复杂性和实用性。

IP

互联网协议(IP)主要负责在因特网上传输数据包。作为 TCP/IP 协议族的关键成员之一,在处理数据传输方面发挥着核心作用。其中 IPv4 和 IPv6 被广泛采用。

3Com

3Com 公司成立于1975年, 拥有丰富的网络技术历史, 主要生产各种网络硬件设备, 包括以太网交换机、路由器以及相关的网络接口卡等关键组件. 于2010年, 该企业被国际知名的科技巨头 HP 公司成功收购.

SNAP

SNAP 是一种用于在不同网络协议之间实现互操作性的数据链路层协议。在两种不同的网络协议需要在同一物理网络上进行通信的情况下, SNAP 被用作一种转换工具, 以实现不同协议间的兼容性和互联能力.

Banyan

Banyan是一家专注于网络操作系统及相关服务的企业,在该领域具有显著影响力。其最具代表性的产品是 Banyan VINES(Virtual Integrated NEtwork Service),这一创新性产品采用客户端/服务器架构设计的网络操作系统。

Novell

Novell是一家以电子目录服务(包括 Novell Directory Services (NDS))和网络操作系统(包括NetWare)为主的公司。它曾经作为企业级网络操作系统领域的主要解决方案而存在

Lan Manager

Lan Manager 是微软与 IBM 合作开发的一种网络操作系统。它最初是作为 OS/2 的一部分发布的,则最早是由微软与 IBM 合作开发的。后也推出了 Windows 版本。则主要用于提供文件管理和打印服务。

FE-CLNS

FE-CLNS is designed to offer non-stop networking services within the OSI network layer. It typically operates alongside the IS-IS routing protocol, especially in telecommunication networks.

这些技术和协议在整个网络发展历程中各自扮演着重要角色,在这一进程中许多技术或协议逐渐退出了主流应用的范畴

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 位长,并用于标识随后出现的协议类型字段所属于的组织。标准以太网帧通常将 OUI 设置为零值。

协议类型:一般而言该字段由16位组成该字段用于标识数据包中的网络层协议具体来说在IPv4中默认地址通常指定为080808FFFF(即十进制值255.255.255.255)而在IPv6中默认地址则指定为20341973(即十进制值192.34.19.73)。

通常在 IEEE 802.2 LLC 数据帧中,在 DSAP 和 SSAP 字段均配置为 0xAA 的情况下,默认会紧跟一个 SNAP 头字段。这有助于在一个统一的数据链路层架构下实现不同网络层协议的正确识别与数据转发。

总体而言,在数据链路层中支持多种网络层协议方面

img

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

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

  1. 组织码(Organization Code):通常为3个字节长,在本帧中表示发出该帧的组织或作为依据来解释后续"Type"字段的标准。
  2. 类别(Type):这是一个2个字节字段,在本帧内表示封装于其中的上层协议类型信息。

在这个例子中:

  • 组织码是 00:00:00。尽管该代码通常归 Xerox 所有,在实际应用中它往往用来标识一个以太网封装(Ethernet SNAP)。
  • 类型是 0x0800,则一般用作标识一个包含 IPv4 数据包的帧。

这两个字段紧随在 LLC 头之后,并充当数据链路层帧的一部分,在 LLC 头之后紧跟 DSAP、SSAP及Control字段。

当 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 相关信息

| SSAP| 1| 指示源服务访问点(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 。 |
|---|---|---|

Control| 1位或2位| 通过高2位字段指示LLC帧类型。
LLC划定了三种框架:I类框架(I型)、监督类框架(S型)和无编号类框架(U型)。
各类框架的控制字段长度存在差异。

LLC 帧类型 对应控制字段长度 适用场景
Information 帧(I 帧) 2 bytes 用于面向连接的应用

|
|Supervisory 帧(S 帧)|2 bytes|用于在 LLC 层中进行管理监督

|
|Unnumbered 帧(U 帧)|1 byte|特别用于无连接的应用,用于以太网

|

其中只有 U 帧被广泛使用。该字段通常为 0x03 。 |

在 LLC 子层结构中, Control 字段被用来表示数据帧类型和流量控制参数的信息.该字段的长度为1或2个字节,并由帧类型和操作模式决定.

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

  1. 信息帧(I-Frame) : 该框架设计主要用于传输上层数据并实施流量管理功能。其核心组成部分为4位发送方序列号(N (S))与4位接收方序列号(N ®)。
  2. 监控帧(S-Frame) : 这类框架主要用于执行网络流量管理和不包含实际传输的数据内容特征。其结构由2位监控类型代码构成,并配合4位接收方序列号使用以实现通信目的
  3. 非编号帧(U-Frame) : 这类框架专为实现链路通信而设计,并通过一个单字节的控制字段完成对3个标识位M1、M2、M3以及5个操作码/应答码的位置编码

这些帧类型各自拥有独特的控制字段配置方案,在功能上大致相仿,并主要用于执行类似的网络管理操作。例如,在创建、维持或断开数据链路连接的过程中发挥作用,并负责流量的监控与管理。

在U-Frame和S-Frame框架中,默认情况下每个控制字段占用了1个字节的空间。相比之下,在Issues Frames中则通常会采用2个字节来存储额外的信息编码。

核心字段Controls在LLC协议中扮演关键角色,在接收与发送数据帧方面发挥重要作用。

img

遵循 LLC 协议规定,“控制字段: U, func=UI (0x03)”标识一个非编号帧(U-Frame),表示为无序列号的信息传递(Unnumbered Information, UI)。这种特殊的控制字段通常用于单向数据传输过程,并无需确认机制。

  • Control field is designated as U, which signifies that the current frame belongs to the non-sequential frame type (U-Frame).
    • The functional identifier of this non-sequential frame is UI, indicating its purpose.
    • The hexadecimal notation used here is represented by 0x03, which corresponds to the UI functionality.

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

  • *. . = 指令:未标记的信息(C4) :这些位用于指定此为未标记的信息指令。在这种情况下,默认情况下无需确认的数据传输框架。
    • ....11 = 帧类型:无编号框架(U-Frame) (十进制值 3):这些位用于指明该帧类型为无编号框架(U-Frame)。此类框架主要用于控制操作如连接管理,在这种情况下会默认地传递无编号信息框架。

在一定范围内的无线及以太网网络中通常会采用UI帧来传输诸如IP数据包等上层信息 其原因在于无需复杂的确认机制得以实现 从而降低了通信复杂性和延迟时间


via:

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

LLC层的详细解析:数据链路层的控制与网络协议间的交互 - 博客

IEEE 802.2 协议中的逻辑链路控制(LLC)机制 - 博客

全部评论 (0)

还没有任何评论哟~