【LLC】逻辑链路控制
概述
逻辑链路控制(logical link control,LLC)层位于OSI网络模型的数据链路层,由IEEE802.2标准定义,用户的数据链路服务通过LLC子层为上层(IP层)提供统一的接口,提供给其他802协议(e.g. 802.3, 802.11,etc)使用。MAC可以在LLC层的支持下执行寻址方式和网络层协议识别功能,然后进行封装。
通过LLC层,可以实现不同类型网络的数据交互。比如以太网、无线网等的相互转换。
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则从以太网帧类型复制而来。
fileds |
Bytes |
description |
||||||||||||||||
DSAP |
1 |
指示目的服务访问点(Destination Service Access Point, DSAP)。 DSAP的格式(I/G|D|D|D|D|D|D|D),I/G位表示地址类型,I/G=0表示Individual地址,I/G=1表示是group地址。
对于SNAP封装而言,该字段通常为0xAA。 |
||||||||||||||||
SSAP |
1 |
指示源服务访问点(Source Service Access Point, SSAP)。 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帧)。不同帧类型其控制字段的长度不一样。
其中只有U帧被广泛使用。该字段通常为0x03。 |
||||||||||||||||
OUI |
3 |
指示标准组织代码(organizationally unique Identifier, OUI)。 IP 以RFC 1042 标准封装于LLC;RFC1042规定使用OUI 0x00-00-00。(有些厂商或许会使用特定的OUI 作为专属系统传输之用。) |
||||||||||||||||
Type |
2 |
指示后续数据的协议类型。通常对应Ethernet的类型代码。 例如0x0800用于封装IPv4或者0x86DD来支持IPv6。 |
注:DSAP和SSAP是逻辑地址,标识数据链路层的服务访问点,以指示LLC通讯信息所属的服务。
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 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来提供该请求的结果(成功/失败) |
【LLC】逻辑链路控制相关推荐
- LLC 逻辑链路控制
LLC 协 议 4.2.1 LLC帧格式 LLC协议定义了LLC层之间通信的帧格式,参见图4.3. 图4.3 LLC帧格式 LLC帧格式中各个字段的含义如下: ① 服务访问点(SAP)地址:SA ...
- 【计算机网络】数据链路层 : 局域网基本概念 ( 局域网分类 | 拓扑结构 | 局域网特点 | 局域网传输介质 | 介质访问控制方法 | IEEE 802 | 链路层 LLC、MAC 控制子层 )
文章目录 一. 局域网 二. 局域网 拓扑结构 三. 局域网 传输介质 四. 局域网 介质访问控制方法 五. 局域网 分类 六. IEEE 802 标准 六. 数据链路层 LLC.MAC 子层 一. ...
- (3)LoraWAN:链路控制、SF BW CR
三.Introduction on LoRaWAN options 本文件描述了一种用于可为移动的或固定在一个固定位置的电池供电的终端设备而优化的LoRaWAN™网络协议.LORA™是一个由Semte ...
- 蓝牙协议规范(射频、基带链路控制、链路管理)
转自:http://blog.csdn.net/xubin341719/article/details/38303881 作者:xubin341719(欢迎转载,请注明作者,请尊重版权,谢谢!) 欢迎 ...
- 蓝牙核心技术概述(三): 蓝牙协议规范(射频、基带链路控制、链路管理)
关键词:蓝牙核心技术协议射频基带链路控制链路管理 作者:xubin341719(欢迎转载,请注明作者,请尊重版权,谢谢!) 欢迎指正错误,共同学习.共同进步!! 下载链接:Bluetooth PROF ...
- 蓝牙核心技术概述: 蓝牙协议规范(射频、基带链路控制、链路管理)
原文出处:https://blog.csdn.net/xubin341719/article/details/38303881 作者:xubin341719(欢迎转载,请注明作者,请尊重版权,谢谢!) ...
- 全链路控制、构建Devops改善中台问题,让IT成为企业核心竞争力
全链路控制.构建Devops改善中台问题,让IT成为企业核心竞争力 2018云栖大会上海峰会ET农业大脑专场,伯俊软件总裁孙一晖带来以"中台赋能让IT成为企业核心竞争力"为题的演讲 ...
- srsLTE源码学习:RLC,无线链路控制子层抓包rlc_pcap.h,rlc_pcap.cc
RLC,无线链路控制子层 RLC(Radio Link Control,无线链路层控制协议)是GPRS/WCDMA/TD-SCDMA/LTE 等无线通信系统中的无线链路控制层协议.在WCDMA系统中, ...
- 在C++程序中添加逻辑流程控制
在C++ 程序中添加逻辑流程控制 问题的引出 在计算机程序中,除了常见的执行流程控制,还有逻辑流程控制:有时,执行流程即为逻辑流程,但在大多数情况下还是有所区别的,例如,假定有一个W ...
最新文章
- JS引用类型(6)——基本包装类型1
- 微型计算机怎么插耳机,让听音更轻松一些,朗琴E10真无线耳机
- 锚文本对网站SEO优化有什么帮助?
- Inline函数使用注意事项
- SiriKit 描述
- HTML5新增语义化标签(HTML5)
- 十代主板改win7_10代cpu装win7系统及bios设置教程(完美支持10代驱动)
- 网站博客搬家工具大全
- php gb2312转big5 函数
- 记录一个可以word,xls,PDF互转思维导图的工具
- oc 中正则表达式不区分中英文分号的问题
- php项目经验总结,php项目心得以及总结
- 2019年6月20日工作总结---CSS篇
- android FM的流程
- UV汞灯-UVLED光源能量计、强度计通用品牌-WKM-UV1
- hashmap底层逻辑
- Ubuntu 16.04 源码编译安装 uhd gnuradio
- 婚姻介绍所怎么做身份实名认证?
- Godot游戏开发实践之一:使用High Level Multiplayer API制作多人游戏(上)
- 2019.10.8 心情日记