LLC子层
在前文的介绍中提到了MAC子层形成的帧结构,包括IEEE802.3的帧和ETHERNET_II帧。在ETHERNET_II帧中,由Type字段区分上层协议,这时候就没有必要实现LLC子层,仅包含一个MAC子层。
IEEE802.3帧中的LLC子层除了定义传统的链路层服务之外,还增加了一些其他有用的特性。这些特性都由DSAP、SSAP和Control字段提供。
例如以下三种类型的点到点传输服务:
无连接的数据包传输服务
目前的以太网实现就是这种服务。
面向连接的可靠的数据传输服务
预先建立连接再传输数据,数据在传输过程中可靠性得到保证。
无连接的带确认的数据传输服务。
该类型的数据传输服务不需要建立连接,但它在数据的传输中增加了确认机制,使可靠性大大增加。
下面通过一个例子来说明SSAP和DSAP的应用。假设终端系统A和终端系统B要使用面向连接的可靠的数据传输服务,这时候会发生如下过程:
A给B发送一个数据帧,请求建立一个面向连接的可靠连接。
B接收到以后,判断自己的资源是否够用(即是否建立了太多的连接),如果够用,则返回一个确认信息,该确认信息中包含了识别该连接的SAP值。
A接收到回应后,知道B已经在本地建立了跟自己的连接。A也创建一个SAP值,来表示该连接,并发一个确认给B,连接建立。
A的LLC子层把自己要传送的数据进行封装,其中DSAP字节填写的是B返回的SAP,SSAP字节填写的是自己创建的SAP,然后发给MAC子层。
A的MAC子层加上MAC地址和LENGTH字段之后,发送到数据链路上。
B的MAC子层接收到该数据帧之后,提交给LLC子层,LLC子层根据DSAP字段判断出该数据帧属于的连接。
B根据该连接的类型进行相应的校验和确认,通过这些校验和确认后,才向上层发送。
数据传输完毕之后,A给B发送一个数据帧来通知B拆除连接,通信结束。