第五章  传输层
一、ATM中的传输层
二、ATM适配层的结构
三、AAL1
四、AAL2
五、AAL3/4
三、AAL5
七、AAL协议的比较
八、SSCOP--特定服务的面向连接协议


一、ATM中的传输层

很难说清ATM是否有传输层。一方面,ATM层具有网络层的功能,并且其上还有一层(AAL),从分层角度看AAL便是传输层。一些专家同意这一观点。此处所使用的协议之一(AAL5)功能上类似于UDP,而UDP无疑是传输层协议。另一方面,没有任何一个AAL协议像TCP那样提供可靠的端到端的连接(尽管这些协议只需做很小的变化即可)。另外,在多数应用中,在AAL之上还使用了另一个传输层。不再细究了,就在这一章中讨论AAL层及其协议,而不管它是不是真正的传输层。

ATM网络的AAL层与TCP具有本质区别,其主要原因是设计者对传输音频和视频数据流更有兴趣,为此迅速传送比精确地传送更重要。ATM层连续输出53字节的信元。信元中没有差错控制、没有流量控制以及其他种类的控制。所以,它不能很好地满足多数应用的要求。为了弥补这一不足,在建议I.363中,ITU在ATM层之上定义了一个端到端的层。这一层称为ATM适配层AAL(ATM adaptation layer),它经历了一段曲折的历史:充满了错误、反复修订以及未完成的工作。

AAL的目标是向应用提供有用的服务,并将它们与在发送端(方)将数据分割为信元、在接收端(方)将信元重新组织为数据的机制隔离开来。它按照3个坐标轴来组织服务空间:

1、实时服务和非实时服务。
2、恒定比特率服务和变化的比特率服务。
3、面向连接的服务和非连接的服务。

原则上,用3个坐标轴和每个坐标轴上的2个值可以定义8种不同的服务,如下图。ITU觉得只有其中的4个有使用价值,并分别命名为类A、B、C、D。其他几种则未得到支持。从ATM4.0开始,该图有些过时,所以在这里提出它来主要是作为背景信息,以帮助读者了解为什么AAL协议设计为目前这个样子。目前主要的不同是传输类(ABR、CBR、NRT-VBR、RT-VBR和UBR)之间,而不是这些AAL支持的服务类之间。

AAL支持的基本服务类(现已过时)

为了处理这4类服务,ITU定义了4个协议而后来发现对于类C和类D的技术要求十分相似,从而将AAL3和AAL4合为AAL3/4。计算机工业当时昏然不觉,后来才发现它们都不令人满意。后来暂且定义了另一种协议--AAL5来解决这个问题。

二、ATM适配层的结构

ATM适配层的上面部分称为会聚子层(cenvergence sublayer)。其作用是向应用程序提供一个接口。它又是由两个子部分组成:一个是对所有应用程序都通用的公共部分(相对于给定的AAL协议),另一个是与应用程序相关的子部分。其中每个部分的作用都是与协议相关的,但是可以包括报文分帧和错误检测。

在发送端,会聚子层负责接收来自于应用程序的比特流(数据)或随机长度的报文,并将它们分为44~48字节的单元以便传输。确切的大小有赖于所用的协议,因为一些协议要占用48字节ATM载荷中的一部分作为自己的头。在接收端,该子层将信元重组为原始的报文。通常情况下,报文分界(如果存在)是要保留的。

AAL下面的部分称为分割和重组SAR(segmentation and reassembly)子层。它将会聚子层交给它的数据单元加上头和尾从而构成信元有效载荷。接着,这些载荷被交给ATM层进行传送。在接收端,SAR子层将信元重组为报文。SAR子层基本上只涉及信元,而会聚子层则与报文打交道。

SAR子层对于某些(但不是所有的)服务类来说,还有另外一些功能。特别是,它有时候可以进行错误检测和多路复用。SAR子层对于所有服务类都是存在的但功能的强弱则依赖于其特定的协议。

三、AAL1