LLC 逻辑链路控制
LLC 协 议
4.2.1 LLC帧格式
LLC协议定义了LLC层之间通信的帧格式,参见图4.3。

图4.3 LLC帧格式
LLC帧格式中各个字段的含义如下:
① 服务访问点(SAP)地址:SAP提供了多个高层协议进程共同使用一个LLC层实体进行通信的机制。在一个网络节点上,一个LLC层实体可能同时为多个高层协议提供服务。为此,LLC协议定义了一种逻辑地址SAP及其编码机制,允许多个高层协议进程使用不同的SAP地址来共享一个LLC层实体进行通信,而不会发生冲突。SAP机制还允许高层协议进程同时使用多个SAP进行通信,但在某一时刻一个SAP只能由一个高层协议进程使用,一次通信结束并释放了SAP后,才能被其它高层协议进程使用。
SSAP和DSAP地址字段分别定义了源LLC SAP地址和目的LLC SAP地址,其中DSAP的最高位为地址类型标志(I/G)位,I/G=0表示DSAP地址是一个单地址,LLC帧由DSAP 标识的惟一目的LLC SAP接收;I/G=1表示DSAP地址是一个组地址,LLC帧由DSAP 标识的一组目的LLC SAP接收。SSAP的最高位为命令/响应标志(C/R)位,C/R=0表示LLC帧是命令帧;C/R=1表示LLC帧是响应帧。
② 控制:用于定义LLC帧类型。LLC定义了三种帧:信息帧(I帧)、监控帧(S帧)和无编号帧(U帧),其含义与HDLC帧相同,但它根据局域网特点进行了调整和简化,参见表4.1。LLC帧中的控制字段可以扩展为两个字节,扩展后的控制字段主要增加了N(S)和N(R)的长度,即由原来的3位增加到7位,序号的模数由原来的8增加到12。

表4.1 LLC帧类型
③ 信息:用于传送用户数据。信息字段长度为 8 的整数(M倍,M上限取决于所采用的MAC协议。
LLC协议与HDLC协议相比较,有以下的不同:在IEEE 802局域网体系结构中,数据链路层功能由LLC和MAC两个子层实现,LLC帧必须封装在MAC帧中进行传输,而不能单独地通过物理层传输。因此,LLC帧中没有用于帧同步的标志字段以及用于验证帧正确性的帧校验字段;这些字段由MAC协议添加在MAC帧中,而LLC帧被封装在MAC帧的信息字段中。MAC协议则与局域网类型有关。
LLC帧地址字段指示的是服务访问点地址,它是一种逻辑地址,而不是用于指示网络节点的物理地址的,节点的物理地址同样是由MAC帧指示的。
由于IEEE 802局域网采用平衡式链路结构,LLC协议只定义了一种数据传送操作方式:扩展的异步平衡方式(ABME)。因此,LLC协议简化了LLC帧的种类,LLC帧只有14种,而HDLC帧有24种。
4.2.2. LLC服务
在LLC协议中定义了两种服务方式:
●不确认无连接服务。它是在无连接的数据链路上提供数据传输服务的,因此不保证数据传输的正确性。数据传输模式可以是单播(点对点)方式、组播(点对多点)方式和广播(点对全体)方式。这是一种数据报服务。
●面向连接服务。它是在面向连接的数据链路上提供数据传输服务的,因此它必须提供建立、使用、终止以及复位数据链路层连接所需的操作手段,并且还要提供数据链路层的定序、流控和错误恢复等功能。这是一种虚电路服务。
LLC协议通过不同的操作类型来标识这两种服务:
●类型Ⅰ操作:采用不确认无连接的服务方式,使用无编号的信息(UI)帧实现数据传输。与类型Ⅰ操作有关的LLC帧有UI、XID和TEST。
●类型Ⅱ操作: 采用面向连接的服务方式,在建立连接时使用SABME帧;在数据传输时使用有编号的信息(I)帧;在断开连接时使用DISC帧;在数据传输过程中使用RR、RNR和REJ帧实施定序、流控和错误恢复等功能。除了UI、XID和TEST三种帧外,其余的LLC帧都是在类型Ⅱ操作中使用的。
LLC协议的实现可采用两种方法:只支持类型Ⅰ操作的LLC和同时支持两种类型操作的LLC,具体取决于网络产品开发商。在一般网络系统中,LLC协议只支持类型Ⅰ操作。因为在网络体系结构中,面向连接的服务通常是由高层协议(如传输层协议)实现的。
LLC 逻辑链路控制的更多相关文章
- (3)LoraWAN:链路控制、SF BW CR
三.Introduction on LoRaWAN options 本文件描述了一种用于可为移动的或固定在一个固定位置的电池供电的终端设备而优化的LoRaWAN™网络协议.LORA™是一个由Semte ...
- 网络基础tcp/ip协议三
数据链路层:(位于网络层与物理层之间) 数据链路层的功能: 数据链路的建立,维护. 帧包装,帧传输,帧同步. 帧的差错恢复. 流量的控制. 以太网:(工作在数据链路层) CSMA/CD(带冲突检测的载 ...
- ISO七层模型详解
ISO七层模型详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在我刚刚接触运维这个行业的时候,去面试时总是会做一些面试题,笔试题就是看一个运维工程师的专业技能的掌握情况,这个很 ...
- Linux tcpdump命令详解
tcpdump官网:http://www.tcpdump.org/ 转载于:http://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.ht ...
- Linux tcpdump 详解
简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump可以将网络中传送的数据包的 ...
- linux运维中的命令梳理(四)
----------管理命令---------- ps命令:查看进程 要对系统中进程进行监测控制,查看状态,内存,CPU的使用情况,使用命令:/bin/ps (1) ps :是显示瞬间进程的状态,并不 ...
- Linux tcpdump 命令详解
简介用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump可以将网络中传送的数据包的& ...
- tcpdump抓包命令
本文转自 : http://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html http://www.itshouce.com.cn/l ...
- Tcpdump命令详解
简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump可以将网络中传送的数据包的 ...
随机推荐
- mysql截取longblob类型字段内一小块数据的方法
由于longblob类型的字段内容一般都好大,最大限制是4G,所以在数据查询中读取一整块数据的方式是不现实的,这需要要截取的方法来获取需要的数据. 方法如下: hex(substring(A, ind ...
- Java api 入门教程 之 JAVA的Date类与Calendar类
在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理. 一.这里简单介绍一下Date类的使 ...
- 异常处理try-catch-finally
php5.5新增 Finally模块 try { //好好干,出了问题不要怕,外面有人接应} catch (HttpException $e) { //时刻准备着,处理上面抛出的HTTP问 ...
- gdb 定位 oops call trace
[ 1.454380] BUG: unable to handle kernel NULL pointer dereference at 00000000000005d0[ 1.47402 ...
- 留念 C语言第一课简单的计算器制作
留念 C语言第一课简单的计算器制作 学C语言这么久了. /* 留念 C语言第一课简单的计算器制作 */ #include<stdio.h> #include<stdlib.h ...
- keil 怎样新建工程,编写代码?
打开keil uversion 4 新建工程 新建的工程名字,点击保存. 选择 cpu 单片机芯片 Atmel ----> AT89C51 不用将汇编代码加入工程,选择 “否” 新建文件,注意这 ...
- Protobuf语言指南(转)
Protobuf语言指南 l 定义一个消息(message)类型 l 标量值类型 l Optional 的字段及默认值 l 枚举 l 使用其他消息类型 l 嵌套类型 l 更新一个消息类型 ...
- 翻译《Writing Idiomatic Python》(五):类、上下文管理器、生成器
原书参考:http://www.jeffknupp.com/blog/2012/10/04/writing-idiomatic-python/ 上一篇:翻译<Writing Idiomatic ...
- Stunnel使用2
1.首先测试一下stunnel.exe,是否能正常运行,正常的话,不会报错,在桌面右下角位置显示. 2.第一步完成后,打开stunnel.conf,对stunnel进行配置,需要修改一下几项:(mys ...
- 运维利器-ClusterShell集群管理操作记录
在运维实战中,如果有若干台数据库服务器,想对这些服务器进行同等动作,比如查看它们当前的即时负载情况,查看它们的主机名,分发文件等等,这个时候该怎么办?一个个登陆服务器去操作,太傻帽了!写个shell去 ...