ATM教程:传输层( 二 )


三、AAL1
AAL1是用于A类传输的协议 。A类传输是指实时的、恒定比特率的、面向连接的传输 , 例如非压缩的音频和视频数据 。输入的是比特流 , 不存在报文分界 。对于这种传输 , 并没有使用像停--等这样的错误检测协议 , 因为由超时和重发机制引入的延迟是不能接受的 。但是 , 丢失信元时会通知应用程序 , 由它采取措施(假如可能的话)来进行弥补 。
AAL1使用了一个会聚子层和SAR子层 。会聚子层检测丢失和误入的信元 , 平缓输入的数据速率从而以恒定的速度发送信元 。最后 , 会聚子层将输入的报文或比特流分解为46字节或47字节的单元 , 然后交给SAR子层处理 。在另一端(接收方)它取出这些数据单元 , 重组为原始的输入 。AAL1的会聚子层没有自己的协议头信息 。
相反 , AAL1的SAR子层有自己的协议 。其信元格式如下图 。两种格式都是以1字节的头开始:其中包含3字节的信元序号SN(用于检测是否丢失或误入了信元);该字段之后是3位的序号保护字段SNP(即校验和) , 可以改正信元序号字段中的单个错误并检测出现两个错误的情况 。
当必须保留报文分界时使用P信元 。指针(Pointer)字段用于给出下一段报文起始位置的偏移量 。
四、AAL2
AAL1是针对简单的、面向连接的、实时数据流而设计的 , 除了具有对丢失和误入信元的检测机制外 , 它没有错误检测功能 。对于单纯的未经压缩的音频或视频数据 , 或者其中偶然有一些较重要的位的其他任何数据流都没有什么问题 , AAL1就已经足够了 。
对于压缩的音频或视频数据 , 数据传输速率随时间会有很大的变化 。例如 , 很多压缩方案在传送视频数据时 , 先周期性地发送完整的视频数据 , 然后只发送相邻顺序帧之间的差别 , 最后再发送完整的一帧 。当镜头静止不动并且没有东西发生移动时 , 则差别帧很小 。其次 , 必须要保留报文分界 , 以便能区分出下一个满帧的开始位置 , 甚至在出现丢失信元或坏数据时也是如此 。由于这些原因 , 需要一种更完善的协议 。AAL2就是针对这一目的而设计的 。
像在AAL1中一样 , AAL2的会聚子层没有本身协议而SAR子层有本身协议 。SAR信元的格式如下图:
AAL2的信元格式

序号SN(Sequence Number)字段用于记录信元的编号以便检测信元丢失或误入 。信息类型IT(Information Type)字段用于指明该信元是报文的开始、中间或末尾 。长度指示LI(Length Indicator)字段指明有效载荷是多大 , 单位为字节(有效载荷可能小于45字节) 。最后 , CRC字段是整个信元的校验和 , 可以检测出错误 。
标准中并没有注明各字段的大小 。据说在标准化进程的最后关头 , 委员会成员觉得AAL2有许多问题 , 以致不能投入使用 , 但为时已晚 , 没有办法组织标准化的进程 。最后委员们去掉了所有的字段大小的设定以使正式标准能够按时颁布 , 但这样便没有人能够实际使用它 。
五、AAL3/4
开始时 , ITU为服务类C和D制订了不同的协议(服务类C和D分别是对数据丢失或出错敏感 , 但不具有实时性的面向连接和非连接的数据传输服务类) 。后来ITU发现没有必要指定两套协议 , 于是便将它们合二为一 , 形成了一个单独的协议 , 即AAL3/4 。
AAL3/4可以按两种模式进行操作 , 即流和报文 。在流模式中不保留报文分界信息 。以下将集中讨论流模式 。在每种模式中都可能出现可靠的传输和不可靠的(即不保证可靠性)的传输 。
AAL3/4具有一个其他协议中没有的性能--支持多路复用 。AAL3/4的这一功能答应来自于一台主机的多个会话(如远程登录)沿着同一条虚电路传输并在目的端分离出来 。使用一条虚电路的所有会话得到相同质量的服务 , 因为这是由虚电路本身性质所决定的 。

推荐阅读