专利名称:在atm适配层实现混合分片重组的方法
技术领域:
本发明涉及一种在ATM适配层实现混合分片重组SAR(Segmentationand Reassembly)的方法,特别是涉及一种AAL2(Asynchronous TransferMode Adapter Layer2,ATM适配层2)和AAL5(Asynchronous TransferMode Adapter Layer5,ATM适配层5)混合SAR分片重组的通用方法,尤其适用于采用网络处理器或DSP(Digital Signal Processing,数字信号处理)来编程处理同时具有AAL2和AAL5的ATM接口的场合。
背景技术:
ATM(Asynchronous Transmission Mode,异步传输模式)技术是在分组交换技术上发展起来的快速分组交换,克服了分组交换和电路交换方式的局限性,综合吸取了分组交换的高效率与电路交换的高速率的优点。目前,ATM技术经过多年的发展,已经逐步被许多通信网所采用。
ITU-T的I.321建议中定义的B-ISDN协议参考模型,它包括三个面用户面、控制面和管理面,而在每个面中又是分层的,分为物理层、ATM层、AAL层(Asynchronous T ransfer Mode A dapter Layer,ATM适配层)和高层。
如图1所示,为ATM适配层结构示意图。AAL的目标是向应用提供有用的服务,并将它们与在发送端将数据分割为信元(Cell)、在接收端将信元重新组织为数据的机制隔离开来。图2所示为ATM信元头的数据模式,图2-1为用户/网络接口(UNI),图2-2为网络/网络接口(NNI),都用8位表示,其中,GFC表示通用流量控制,VPI表示虚路径标识,VCI表示虚信道标识,HEC表示信元头错误校验,DT表示数据类型,CI表示拥塞指示,AUU表示用户到用户指示,CLP表示信元丢弃优先级。
ALL层上面部分称为会聚子层CS(Convergence Sublayer),其作用是向应用程序提供一个接口,用来加入控制信息,为分割做准备,并根据控制信息恢复用户数据。会聚子层又分为公共部分会聚子层CPCS(CommonPart Convergence Sublayer),和业务特定会聚子层SSCS(Service SpecificConvergence Sublayer)。
在发送端,会聚子层负责接收来自于应用程序的比特流数据或随机长度的报文,并将它们分为44-48字节的单元,以便传输。确切的大小有赖于所用的协议,因为一些协议要占用48字节ATM载荷中的一部分作为自己的头。在接收端该子层将信元重组为原始的报文。通常情况下报文分界(如果存在)是要保留的。
AAL下面的部分称为分片和重组SAR(Segmentation and Reassembly)子层,它将会聚子层交给它的数据单元加上头和尾,从而构成信元有效载荷。接着,这些载荷被交给ATM层进行传送。在接收端SAR子层将信元重组为报文。SAR子层基本上只涉及信元,而会聚子层则与报文打交道。业务特定会聚子层SSCS可以为空,而公共部分会聚子层CPCS和分片和重组子层SAR都是必须存在的,也统称为公共部分子层CPS(Common PartSublayer)。
ATM适配层目前共有6种类型AAL0、AALl、AAL2、AAL3、AAL4和AAL5。ATM适配层的作用是把来自协议栈高层的用户通信业务量转换成可以纳入ATM信元的定长字节与格式,并在目的地地址把它转换成原来的形式,也可以完成不同速率和特性的业务入网适配。
随着第三代移动通讯的蓬勃发展以及ATM技术的越来越成熟,在用户面采用AAL2协议承载语音和在控制面采用AAL5协议来承载信令的接口方式得到大规模使用。如采用ATM接入的WCDMA的Iub、Iur和IuCS接口,CDMA2000(Code Division Multiple Access)的A3/A7接口。
AAL2的CPS部分定义了组建微信元,以及将微信元复用在ATM标准信元中传送,接收时识别和恢复出对应微信元的一套机制。CPS中有两种数据结构单元CPS_Packet(即微信元)和CPS_PDU(公共子层协议数据单元)。
图3为AAL2公共部分子层CPS-Packet(CPS报文)的数据格式,其中CID表示CPS信道标识,LI表示长度指示,UUI表示用户用户指示,HEC表示CPS头差错控制,CPS-PH表示CPS头部,CPS-PP表示CPS载荷部分。图4为AAL2子层CPS-PDU(CPS协议数据单元)的数据格式,其中,OSF表示偏移量,SN表示序列编号,P表示奇偶校验位,PAD表示填充数据,STF表示开始域(1字节),CPS-PDU负载区47字节。
图5为AAL2处理的数据流图,在AAL2处理过程中,业务特定传输误差检测子层S STED(Service Specific Transmission Error Detection Sublayer)和业务特定分片重组子层SSSAR(Service Specific Segmentation andReassembly Sublayer)都不是必须的,SSTED子层具有与AAL5类似的CRC校验的功能,当SSSAR-SDU包长大于64时,需要SSSAR子层。在实际使用中,一般实现SSSAR子层,但不实现SSTED子层。
AAL5向其应用程序提供了几种服务,一种选择是可靠服务,即采用流控机制来保证传输,以防过载;另一种选择是不可靠服务,即不提供数据传输保证措施,通过选项使校验错的信元或者丢失或者传送给应用程序(但被标识为坏信元)。AAL5支持报文模式和流模式,在报文模式中应用程序可以将长度为1字节-65535字节的数据报传送到AAL层。当到达会聚子层时,将报文填充至有效载荷字段并加上尾部信息,选择填充数据(0-47字节),以使整个报文(包括填补的数据和尾部信息)为48字节的整数倍。AAL5没有会聚子层头,只有一个8字节的尾。图6为AAL5处理的数据流图,不包括SSCS子层。
目前业界普遍采用网络处理器或DSP来完成AAL2和AAL5的处理,并且在处理AAL2和AAL5时分别调用不同的资源来独立实现。图7所示为AAL2和AAL5的传统处理方式,其使用独立的处理器资源,分别实现AAL2SAR和AAL5 SAR。它们可以共享ATM层处理,也可以分别进行ATM层处理。
在实际使用中,控制面(采用AAL5)和用户面(采用AAL2)的数据流量一般各占ATM层流量的20%和80%,在网络处理器中可使用的资源模块是有限的,若某资源模块已确定为实现某种协议处理后就无法再用于其它协议的处理。如果需要在同一个系统中同时实现AAL2和AAL5功能,则可能会因受具体开发所使用的软硬件资源的限制,而影响到系统的性能。因此若使用独立的实现方式,则不但需要独立的资源,重复的开发,关键是资源利用率不高。
由于ITU-T(ITU Telecommunication Standardization Sector)组织对于AAL5的SSCS层的规范制定工作还没有完成,且在实际使用中该层可以为空。而AAL2和AAL5的CPS子层差异又很大,不可能使用统一的实现方法;但AAL5 CPS层处理方式与AAL2的SSCS层很相近,都是实现把业务数据单元SDU(Service Data Unit)分片成一系列协议数据单元PDU(ProtocolData Unit)或把一系列PDU重组为SDU并进行循环冗余检验CRC(CyclicRedundancy Check)计算和验证的功能,流程相近,因此具备采用统一实现的基础。考虑到AAL5的数据量与AAL2的数据量成正比例关系,当接口流量固定时可承载的用户信息是有限的,因此对于AAL2处理而言,当SSCS的SDU越大时可承载的用户信息就越少,也就是AAL5的数据量会减少。因此,能否将AAL2 SSCS和AAL5 CPS在共用的物理资源中进行混合SAR处理,已经成为业界亟待解决的问题。
发明内容
本发明所要解决的技术问题在于克服AAL2 SSCS和AAL5 CPS单独实现所造成的资源浪费与流程重复的缺点,减小系统实现的难度,给系统带来更大的弹性和适用性。
为了实现上述目的,本发明提供一种在ATM适配层实现混合重组的方法,包括如下步骤(1)接收协议数据单元数据,并根据ATM链路判断ATM适配层的类型属于AAL2还是AAL5;(2)根据ATM适配层类型查询重组表取得重组信息,判断所述收到的协议数据单元的位置,根据位置进行重组,包括如果是第一个协议数据单元数据,则分配缓冲区用于重组;对重组进行有效性检查;根据重组信息将所述协议数据单元数据重组为业务数据单元数据,并计算新的部分循环冗余检验;如果是最后一个协议数据单元,则读取相关的尾部信息;(3)如果循环冗余检验正确,则将所述业务数据单元数据转发出去;(4)更新所述重组表表项,准备下一个协议数据单元的处理。
所述步骤(1),是根据ATM链路的虚路径标识和虚信道标识来判断ATM适配层类型。
所述步骤(2),重组信息包括缓冲区指针、偏移量以及部分循环冗余检验。
所述步骤(2),如果重组发生异常,则释放当前协议数据单元的资源,并设置标记和更新表项所述步骤(2),重组完成后释放所述协议数据单元资源。
所述AA2与AAL5可以使用相同的表及关键字,也可以使用不同的表及关键字。
本发明还提供一种在ATM适配层实现混合分片的方法,包括如下步骤(一)接收业务数据单元数据,并根据ATM链路判断ATM适配层类型是属于AAL2还是AAL5,根据AAL类型设置协议数据单元的长度;(二)对所述业务数据单元数据添加尾部信息,根据所述协议数据单元长度将所述业务数据单元数据进行分片以生成协议数据单元数据,同时计算循环冗余检验,;(三)分配资源并存储所述协议数据单元;(四)转发所述协议数据单元数据。
所述步骤(一),是根据ATM链路的虚路径标识和虚信道标识来判断ATM适配层类型。
所述步骤(一),如果判断为第5类适配层,则计算填充域的数据长度。
所述步骤(二),完成分片后释放所述业务数据单元资源。
使用本发明,由于AAL2 SSCS和AAL5 CPS统一实现,共用ATM层和混合SAR处理模块,可以直接减少软硬件的开发难度和成本;并且由于方法统一,减少了后期维护的成本,而且在总流量不变的情况下,混合SAR模块可以进行动态负荷调整,它可以全部用于处理AAL2 SSCS,也可以全部用于AAL5 CPS,亦或其它任何比例的AAL2 SSCS和AAL5 CPS的组合,给实际组网提供了更高的适应性。它不仅适用于WCDMA的Iub、Iur和IuCS接口,CDMA2000(Code Division Multiple Access)的A3/A7接口,还适用于小容量的IuCs和IuPs的合一局。
图1是ATM适配层的协议模型;图2是ATM信元头的数据模式;图3是AAL2公共部分子层CPS-Packet(CPS报文)的数据格式;图4是AAL2子层CPS-PDU(CPS协议数据单元)的数据格式;图5是AAL2处理的数据流图;图6是AAL5处理的数据流图,不包括SSCS子层;图7是传统的AAL2和AAL5处理方式;图8是本发明采用混合SAR方法后的AAL2和AAL5处理方式;图9是本发明分片和重组的数据流示意图;图10是本发明混合SAR重组方法的流程图;图11是本发明混合SAR分片方法的流程图;图12是AAL类型表数据格式图;图13是AAL2/AAL5重组表数据格式图;图14是AAL5CPCS-SDU(CPS-SDU)经混合SAR分片模块处理的数据流图;图15是AAL2SSCS-SDU经混合SAR分片模块处理的数据流图;图16是AAL5 CPS-PDU经混合SAR重组模块处理的数据流图;图17是AAL2 SSSAR-PDU经混合SAR重组模块处理的数据流图。
具体实施例方式
图8为根据本发明,AAL2和AAL5采用混合SAR方法实现的示意图。其采用公共的软、硬件资源,统一实现。AAL2层的功能由CPS和混合SAR模块组成;而AAL5的处理只需要混合SAR处理模块。
图9是本发明中分片和重组的数据流图一个SAR-SDU加上尾部经分片得到若干SAR-PDU,其中第一个SAR-PDU为BOP(Begin OfPacket),有且只有一个;最后一个SAR-PDU为EOP(End OfPacket),有且只有一个;其余为MOP(Middle Of Packet),可以没有,有1个或多个。EOP和BOP也可以是同一个SAR-PDU。重组是分片的逆过程,由一系统SAR-PDU,经重组后再去除尾部即得到SAR-SDU。
图10以一具体实施例来说明本发明的重组方法步骤501接收SAR-PDU,取得PDU的长度,判断AAL类型,是AAL2还是AAL5,AAL的类型通过ATM链路来进行区别,即AAL5和AAL2业务数据承载在不同的ATM链路上(VPI+VCI)。可以在混合SAR模块进行查表得到AAL的类型,也可以在ATM模块传递AAL类型指示给混合SAR模块。AAL类型表结构如图12所示,关键字使用VPI和VCI来唯一标识。
步骤502查询重组表,从表中取得缓冲区指针,偏移和部分CRC等相关信息;如果是BOP,则分配缓冲区用于重组,AAL2和AAL5可以使用不同的关键字,也可以使用相同的关键字,一条ATM链路(VPI和VCI)和该链路上的一个CID唯一标识了一个AAL2用户;一个VPI和VCI也唯一标识了一条AAL5链路,因此,AAL2处理查表关键字可以取值为包含VPI、VCI、CID信息一种组合;AAL5处理查表关键字可以取值为包含VPI、VCI信息的一种组合,也可以是包含VPI、VCI、CID信息一种组合,其中CID取值为0。
查表关键字举例说明VPI的取值为0~4095(网络网络接口)或者0~255(用户网络接口),VCI的取值为0~65535,CID的取值为1~255(CID为0表示填充数据,因此可以用于AAL5数据的重组)。
设,x为ATM链路的虚路径标识,y为ATM链路的虚信道标识,z为用户的CID信息,key为AAL2的查字关键字。根据VPI、VCI和CID的定义,key最多只需要36位(VPI 12位,VCI 16位,CID 8位)的二进制数即可表示key可以取值为x左移24位加上y左移8位再加上z(式1)或者y左移24位加上x左移8位再加上z(式2)或者z左移28位加上x左移1 6位再加上y(式3)等等,只要关键字的取值不丢失用户标识的信息(即能唯一地标识用户,与用户一一对应)即可。如果服务的链路是有限多条,VPI和VCI的信息还可以压缩,即只取VPI和VCI的低位有效数据。
AAL2/AAL5重组表项的数据格式如附图13所示。表中的每一项与一个用户相对应,如果查表失败,即使用关键字没有查到相关的表项,则表示当前的用户为非法用户,该用户的数据应当丢弃。该重组表表项可以由业务模块维护,混合SAR重组模块只存取表中的数据,而不用添加和删除表项。
步骤503如果重组发生异常,则释放当前SAR-PDU的资源;并且设置相关标记和更新表项;当重组出的数据大于SAR-SDU的最大长度时,即认为是重组发生异常。
步骤504完成当前SAR-PDU的重组,并重新计算部分CRC;释放SAR-PDU资源。
步骤505如果是EOP,读取相关的尾部(Trailer)信息,并且如果CRC正确(即CRC计算结果是特征值0xC704DD7B),则把SDU转发给下一处理模块;判断BOP、MOP、EOP的方法AAL2UUI等于27为BOP或MOP,UUI小于27为EOP,UUI大于27保留;AAL5AUU为0表示BOP或MOP;为1表示EOP;步骤506更新表项中部分CRC,偏移,缓冲区等信息,准备下一个PDU的处理;如果是EOP,则所有信息被复位成初始状态(部分CRC为0,偏移为0,缓冲区指针为空)。
该实施例的重组方法实现了AAL2 SSCS和AAL5 CPS重组的全部功能。其流程可分为接收、查表、验证、重组、更新和发送六个部分。AAL2和AAL5可以使用独立的表,也可以使用不同的表。使用相同的表和查表关键字,可以节省查表资源,便于统一管理。在AAL2处理过程中,SSTED和SSSAR都不是必须的,混合SAR模块根据需要决定是否进行透传。
图11以一具体实施例说明了本发明的混合SAR分片方法步骤601,接收SAR-SDU数据,判断AAL类型,是AAL2还是AAL5;如果是AAL5,计算PAD数据长度;根据AAL类型设置SAR-PDU的长度;AAL的类型通过ATM链路来进行区别。可以在混合SAR模块进行查表得到AAL的类型,也可以在上级模块传递AAL类型指示给混合SAR模块。
步骤602,按SAR-PDU的长度对SAR-SDU进行分片,同时计算CRC。
步骤603,分配资源并存储SAR-PDU;步骤604,如果是EOP则给EOP添加Trailer,把SAR-PDU转发给下一个处理模块;如果是EOP则释放SAR-SDU资源,准备接收下一个SAR-SDU数据;如果不是EOP,则转到步骤602,继续进行分片处理。
混合SAR分片方法实现了AAL2 SSCS和AAL5 C PS分片的全部功能。其流程大致可分为接收、分片、PDU生成和发送四个部分。在AAL2处理过程中,混合SAR模块根据需要决定是否进行透传,即根据需要是否进行SSSAR处理。
图14是AAL5CPCS-SDU(CPS-SDU)经混合SAR分片模块处理的数据流图,为便于理解,现举例说明设有90字节的AAL5用户数据(CPCS-SDU),则CPCS-SDU为90字节,添加46字节的填充数据和8字节的尾,则得到144字节的CPCS-PDU数据;经过SAR模块得到3个长度为48字节(SAR-PDU的长度固定为48字节)的SAR-PDU(也就是CPS-PDU)。图16是图14的逆过程,不再举例。
图15是AAL2SSCS-SDU经混合SAR分片模块处理的数据流图;为便于理解,现举例说明设有90字节的AAL2用户数据(SSCS-SDU),SSSAR分片的最大长度为45(协议缺省值),则SSSTED-SDU为90字节,添加8字节的尾部,得到98字节的SSSTED-PDU协议数据单元;由于SSSAR-SDU长度(98字节)大于64字节,所以必须经过SSSAR模块,按45字节进行分片,得到3个SSSAR-PDU,分别长45字节、45字节和8字节。图17是图15的逆过程,不再举例。
本方法具体实现时,可能会受到相关软硬件的影响而做相应的调整,方法的各个子功能可能会分布在不同的处理器件上。在Motorola(摩托罗拉)的C5和Intel(因特尔)的IXP1200等网络处理器上本方法都可以实现。
混合SAR方法与现有技术相比,达到了方法统一的目的,节省了处理资源,提高了SAR模块的处理能力,同时提高了代码复用率,减少维护成本,而且由于统一的代码实现,混合SAR模块可以处理任何流量分布的AAL2和AAL5。
权利要求
1.一种在ATM适配层实现混合重组的方法,其特征在于包括如下步骤(1)接收协议数据单元数据,并根据ATM链路判断ATM适配层的类型属于AAL2还是AAL5;(2)根据ATM适配层类型查询重组表取得重组信息,判断所述收到的协议数据单元的位置,根据位置进行重组,包括如果是第一个协议数据单元数据,则分配缓冲区用于重组;对重组进行有效性检查;根据重组信息将所述协议数据单元数据重组为业务数据单元数据,并重新进行部分循环冗余检验;如果是最后一个协议数据单元,则读取相关的尾部信息;(3)如果循环冗余检验正确,则将所述业务数据单元数据转发出去;(4)更新所述重组表表项,准备下一个协议数据单元的处理。
2.如权利要求1所述的方法,其特征在于所述步骤(1),是根据ATM链路的虚路径标识和虚信道标识来判断ATM适配层类型。
3.如权利要求1所述的方法,其特征在于所述步骤(2),重组信息包括缓冲区指针、偏移量以及部分循环冗余检验。
4.如权利要求1所述的方法,其特征在于所述步骤(2)中的有效性检查,如果重组发生异常,则释放当前协议数据单元的资源,并设置标记和更新表项。
5.如权利要求1所述的方法,其特征在于所述步骤(2),重组完成后释放所述协议数据单元资源。
6.如权利要求1所述的方法,其特征在于所述AA2与AAL5可以使用相同的表及关键字。
7.如权利要求1所述的方法,其特征在于所述AA2与AAL5可以使用不同的表及关键字。
8.一种在ATM适配层实现混合分片的方法,其特征在于包括如下步骤(一)接收业务数据单元数据,并根据ATM链路判断ATM适配层类型是属于AAL2还是AAL5,根据AAL类型设置协议数据单元的长度;(二)对所述业务数据单元数据添加尾部信息,根据所述协议数据单元长度将所述业务数据单元数据进行分片以生成协议数据单元数据,同时进行循环冗余检验,;(三)分配资源并存储所述协议数据单元;(四)转发所述协议数据单元数据。
9.如权利要求8所述的方法,其特征在于所述步骤(一),是根据ATM链路的虚路径标识和虚信道标识来判断ATM适配层类型。
10.如权利要求8所述的方法,其特征在于所述步骤(一),如果判断为第5类适配层,则计算填充域的数据长度并填充。
11.如权利要求8所述的方法,其特征在于所述步骤(二),完成分片后释放所述业务数据单元资源。
全文摘要
一种在ATM适配层实现混合分片重组的方法,重组时首先接收SDU数据,判断ATM适配层的类型属于AAL2还是AAL5,然后经过查表、验证、重组、发送以及更新步骤实现混合重组,分片时首先接收业务数据单元数据,根据AAL类型设置协议数据单元的长度,然后经过分片、PDU生成以及发送步骤,实现混合分片,本方法由于AAL2 SSCS和AAL5 CPS统一实现,共用ATM层和混合SAR处理模块,因此减少了软硬件的开发难度和成本,并且实现方法统一,减少了后期维护的成本,而且在总流量不变的情况下,混合SAR模块可以进行动态负荷调整。
文档编号H04L12/26GK1529478SQ0313476
公开日2004年9月15日 申请日期2003年9月29日 优先权日2003年9月29日
发明者张军, 张钢钢, 崔炎, 戴庆军, 张 军 申请人:中兴通讯股份有限公司