ATM教程:传输层( 三 )


和AAL1、AAL2不一样 , AAL3/4具有会聚子层协议和SAR子层协议 。从应用程序到达会聚子层的报文最大可达65535字节 。首先将其填充为4的整数倍字节 。接着加上头和尾信息 。在会聚子层对保温进行了重构 , 并加上了头和尾信息后 , 便将报文传送给SAR子层 , 由SAR子层将报文分为最大44字节的数据片 。
AAL3/4具有两层协议开销:每个报文需要增加8字节 , 每个信元增加4字节 。总之 , 它是一种开销极大的机制 , 尤其是对短的报文 。
六、AAL5
从AAL1到AAL3/4协议主要是由电信工业设计的并被ITU标准化 , 它没有太多地考虑计算机工业的要求 。由于两个协议层所导致的复杂性及低效性 , 再加上校验和字段十分短(仅10位) , 使一些研究人员萌生了一个制订新的适配层协议的念头 。该协议被称为简单有效的适配层SEAL(simple efficient adaptation layer) , 经过论证 , ATM论坛接受了SEAL , 并为它起名叫AAL5 。
AAL5向其应用程序提供了几种服务 。一种选择是可靠服务(即采用流控机制来保证传输 , 以防过载);另一种选择是不可靠服务(即不提供数据传输保证措施) , 通过选项使校验错的信元或者丢失或者传送给应用程序(但被标识为坏信元) 。AAL5支持点到点方式和多点播送方式的传输 , 但多点播送方式未提供数据传输的保证措施 。
像AAL3/4一样 , AAL5支持报文模式和流模式 。在报文模式中 , 应用程序可以将长度从1字节~65535字节的数据报传送到AAL层 。当到达会聚子层时 , 将报文填充至有效载荷字段并加上尾部信息 , 选择填充数据(0字节~47字节) , 以使整个报文(包括填补的数据和尾部信息)为48字一节的整数倍 。AAL5没有会聚子层头 , 只有一个8字节的尾 。
用户到用户UU(User to User)字段不用于AAL层本身 , 而是为了自己的目的供更高一层(可能是会聚子层的特定服务子部分)使用 , 例如 , 排序或者多路复用 。长度(Length)字段指出真正的有效载荷是多少 , 以字节为单位 , 不包括填充的字节数 。0值用于终止未传送完毕的报文 。CRC字段是基于整个报文的标准32位校验和 , 包括填充数据和尾部信息(CRC字段设置为0) 。尾部的一个8位的字段留作将来使用 。
报文交给SAR子层 , 然后发送出去 。在SAR子层不增加任何头、尾信息 , 而是将报文分成48字节的单元 , 并将每个单元送到ATM层进行传输 。它还通知ATM层将最后信元的PTI字段置为1 , 以便保留报文分界 。(这时出现了一个问题:这是一种不正确的协议层混合体 , 因为AAL层不该使用ATM层的头部信息 。)
AAL5较AAL3/4的主要优点是更加高效 。虽然AAL3/4对每个报文只增加4字节的头信息 , 但它还要为每个信元增加4字节的头信息 , 因而使有效载荷的容量减少到44字节 , 对于长的报文 , 无效数据占8% 。AAL5的每个报文有一个稍大的尾部(8字节) , 但每个信元无额外开销 。信元中没有顺序号 , 可以通过长的校验和来弥补 , 从而可以检测丢失的、误插的或错误的信元 , 而不需要使用顺序号 。
在因特网中 , 与ATM网接口的一般方法是使用AAL5的有效载荷字段来传输IP分组 。与这种方法相关的各种问题在RFC 1483和RFC 1577中进行了讨论 。
七、AAL协议的比较
各种AAL协议似乎不必要地相似 , 并且考虑得很不周到 , 把会聚子层和SAR子层区分开也是有疑问的 , 尤其是因为AAL5的SAR子层并无任何自己的特点 。用稍微增强一些的ATM层头部信息来提供像排序、多路复用和数据分帧的功能便足够了 。
AAL给人的整体印象是变体很多 , 变体之间存在很多细微的差别 , 而且尚未完工 。原来的4个服务类A、B、C、D实际上已被废除 。AAL1可能确实没有必要存在;AAL2不完整;AAL3和AAL4永无出头之日;AAL3/4效率低而且校验和字段位数太少 。

推荐阅读