1.2 LLC协议

在IEEE 802局域网标准中,LLC层对应于ISO/OSI参考模型的数据链路层,实现了数据链路层的大部分功能,还有一些功能由MAC层实现。LLC协议是根据局域网的特点,对HDLC通信规程进行了适当的简化和重定义而制定的。

LLC层协议定义了对等LLC层实体之间进行数据通信的服务规范,提供了两种服务,有不确认无连接服务和面向连接的服务,还定义了网络层与LLC层接口、LLC层与MAC层接口。

1.LLC帧格式

LLC协议定义了LLC层之间通信的帧格式,见图1-3。

图1-3 LLC帧格式

LLC帧格式中各个字段的含义如下。

(1)服务访问点(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帧是响应帧。

(2)控制:用于定义LLC帧类型。LLC定义了三种帧,包括信息帧(I帧)、监控帧(S帧)和无编号帧(U帧),其含义见表1-1。LLC帧中的控制字段可以扩展为两个字节,扩展后的控制字段主要增加了N(S)和N(R)的长度,即由原来的3位增加到7位,序号的模数由原来的8增加到128。

表1-1 LLC帧类型

(3)信息:用于传送用户数据。信息字段长度为8的整数(M)倍,M的上限取决于所采用的MAC协议。

LLC协议是HDLC协议的子集,与HDLC协议相比,LLC协议有如下不同。

(1)在IEEE 802局域网体系结构中,数据链路层功能由LLC和MAC两个子层实现,LLC帧必须封装在MAC帧中进行传输,而不能单独地通过物理层传输。因此,LLC帧中没有用于帧同步的标志字段以及用于验证帧正确性的帧校验字段;这些字段由MAC协议添加在MAC帧中,而LLC帧被封装在MAC帧的信息字段中。MAC协议则与局域网类型有关。

(2)LLC帧地址字段指示的是服务访问点地址,它是一种逻辑地址,而不是指示网络节点的物理地址,节点的物理地址同样是由MAC帧指示的。

(3)由于IEEE 802局域网采用平衡式链路结构,LLC协议只定义了一种数据传送操作方式:扩展的异步平衡方式(ABME)。因此,简化了LLC帧的种类,LLC帧只有14种,而HDLC帧有24种。

2.LLC服务

在LLC协议中定义了两种服务方式。

(1)不确认无连接服务。它是在无连接的数据链路上提供数据传输服务的,因此不保证数据传输的正确性。数据传输模式可以是单播(点对点)方式、组播(点对多点)方式和广播(点对全体)方式。这是一种数据报服务。

(2)面向连接服务。它是在面向连接的数据链路上提供数据传输服务的,因此它必须提供建立、使用、终止以及复位数据链路层连接所需的操作手段,并且还要提供数据链路层的定序、流控和错误恢复等功能。这是一种虚电路服务。

LLC协议通过不同的操作类型来标识这两种服务。

(1)类型Ⅰ操作:采用不确认无连接的服务方式,使用无编号的信息(UI)帧实现数据传输。与类型Ⅰ操作有关的LLC帧有UI、XID和TEST。

(2)类型Ⅱ操作:采用面向连接的服务方式,在建立连接时使用SABME帧;在数据传输时使用有编号的信息建立在(I)帧;在断开连接时使用DISC帧;在数据传输过程中使用RR、RNR和REJ帧实施定序、流控和错误恢复等功能。除了UI、XID和TEST三种帧,其余的LLC帧都是在类型Ⅱ操作中使用的。

LLC协议的实现可采用两种方法:只支持类型Ⅰ操作的LLC和同时支持两种类型操作的LLC,具体取决于网络产品开发商。在一般网络系统中,LLC协议只支持类型Ⅰ操作。因为在网络体系结构中,面向连接的服务通常是由高层协议(如传输层协议)提供的。