专利名称:采用地址冗余技术实现包重组的方法、装置及系统的制作方法
技术领域:
本发明涉及通信技术领域,尤其涉及一种采用地址冗余技术实现包重组的方法、 装置及系统。
背景技术:
现有的交换网包括线卡和交换板卡两部分,其中线卡又有入口线卡和出口线卡之分,如图1所示,其为现有交换网的基本结构图。目前,高速路由器通常采用定长信元交换机制,将到达的交换网的数据包拆分成多个固定长度的信元。信元可以通过不同的交换板卡到达出口线卡。由于信元经过不同交换板卡的时延可能不同,由此导致本属于一个数据包的信元,会以混乱次序到达出口线卡。在多个入口线卡同时向一个出口线卡发送数据包的情况下,不同数据包的信元会间插在一起,加大乱序的程度。如图2所示,有N个入口线卡同时向出口线卡送数据包,这些数据包到达出口线卡后呈乱序状态。为了将信元还原成数据包,必须在出口线卡内采用包重组技术。现有技术中,为了实现出口线卡的包重组,通常采用两种技术(1)信元保序的技术,在交换板卡的输出端口使用较大容量缓存对这些信元重新排序,即对交换板卡输出端口的信元发送顺序进行控制,以解决定长信元在通过交换板卡的信元失序问题。采用信元保序技术时,必须在交换板卡的输出端口进行信元顺序控制。目前,大多以信元进入交换网的时间作为控制的依据,通过比较不同信元进入交换网的时间,实现最早离开入口线卡进入交换板卡的信元,最早离开交换板卡,再进入出口线卡。因此,信元保序技术需要在信元的头部开销中增加时间信息,并对时间信息进行比较。由此,其存在以下缺陷1、信元的头开销增大,降低了交换网的交换效率;2、在高速路由器当中,系统需要较高频率的时钟。对时间信息的比较是建立在时间同步的基础之上的,而将交换网中各个板卡和线卡之间的时钟进行高精度的同步本身比较困难。同时,系统的稳定性难以得到保障;为了实现信元保序,需要在交换板卡中开设较大的缓存,增加了交换网所需的系统资源。(2)基于CAM (Content-addressable memory,内容可寻址存储器)的重组技术,在出口线卡侧设置足够的缓存对乱序信元进行存储,再通过CAM对信元进行查找和排序,以还原数据包。基于CAM的重组技术利用CAM基于内容查找的特点,根据信元头部信息找到相邻的信元的位置,采用链表技术将属于同一个数据包的信元进行串接,以还原信元顺序。该方法存在以下缺陷1、CAM资源成本较高,不适合大规模使用;2、基于CAM的查找速度受系统时钟和CAM的深度的影响,在线卡处理速度较高及乱序信元较多的情况下难以达到线速处理。
发明内容
本发明的主要目的在于提供一种采用地址冗余技术实现包重组的方法、装置及系统,旨在以较低的资源成本实现数据包的快速重组。本发明提出一种采用地址冗余技术实现包重组的方法,包括出口线卡接收来自交换板卡的信元,分离出所述信元的头开销部分和净荷部分;根据所述头开销以及预设的信元指针列表对所述信元所属数据包进行重组并输出ο优选地,所述根据头开销以及预设的信元指针列表对所述信元所属数据包进行重组并输出的步骤包括根据空闲指针列表的头指针为所述净荷分配一地址指针;将所述净荷按照所述地址指针对应的地址存放于出口线卡的缓存内;根据所述头开销将所述地址指针存放于所述信元指针列表中;当所述信元指针列表中地址指针的数量等于所述信元所属数据包所拥有的信元数量时,按照信元指针列表中地址指针的排列顺序从出口线卡缓存中依次获取对应的净荷组成数据包输出。优选地,所述信元格式包括信元的种类编号、信元所属入口线卡的ID号、信元所属数据包的ID号、信元在其所属数据包中的ID号、信元所属数据包拥有的信元数量以及信元净荷。优选地,所述信元指针列表包括信元净荷的地址指针、与所述地址指针对应的信元所属入口线卡的ID号、与所述地址指针对应的信元所属数据包的ID号以及与所述地址指针对应的信元的ID号。优选地,所述根据头开销将地址指针存放于信元指针列表中的步骤包括从所述头开销获取所述信元的ID号;将所述地址指针存放于所述信元指针列表中对应所述信元的ID号的位置。本发明还提出一种采用地址冗余技术实现包重组的装置,包括信元接收和解析模块,用于接收来自交换板卡的信元,分离出所述信元的头开销部分和净荷部分;数据包重组模块,用于根据所述头开销以及预设的信元指针列表对所述信元所属数据包进行重组并输出。优选地,所述数据包重组模块包括空闲指针列表单元,用于根据空闲指针列表的头指针为所述净荷分配一地址指针;信元缓存单元,用于将所述净荷按照所述地址指针对应的地址存放于出口线卡的缓存内;信元指针列表单元,用于根据所述头开销将所述地址指针存放于信元指针列表中;数据包管理单元,用于当所述信元指针列表中地址指针的数量等于所述信元所属数据包所拥有的信元数量时,按照信元指针列表中地址指针的排列顺序从出口线卡缓存中依次获取对应的净荷组成数据包输出。优选地,所述信元格式包括信元的种类编号、信元所属入口线卡的ID号、信元所属数据包的ID号、信元在其所属数据包中的ID号、信元所属数据包拥有的信元数量以及信元净荷。优选地,所述信元指针列表包括信元净荷的地址指针、与所述地址指针对应的信元所属入口线卡的ID号、与所述地址指针对应的信元所属数据包的ID号以及与所述地址指针对应的信元的ID号。优选地,所述信元指针列表单元包括信元ID号获取子单元,用于从所述头开销获取所述信元的ID号;地址指针存放子单元,用于将所述地址指针存放于所述信元指针列表中对应所述信元的ID号的位置。本发明还提出一种采用地址冗余技术实现包重组的系统,包括入口线卡、交换板卡以及出口线卡,其中所述入口线卡,用于向所述交换板卡发送信元;所述交换板卡,用于将所述入口线卡发送的信元转发给所述出口线卡;所述出口线卡,用于接收来自交换板卡的信元,分离出所述信元的头开销部分和净荷部分;根据所述头开销以及预设的信元指针列表对所述信元所属数据包进行重组并输
出ο优选地,所述出口板卡包括如上所述的装置。本发明提出一种采用地址冗余技术实现包重组的方法、装置及系统,利用地址冗余技术对进入出口线卡的信元进行处理,使每个信元以其在所属数据包中的序号作为寻址依据,将其地址指针存放在序号所对应的信元指针列表中,通过信元的序号快速确定信元与信元之间的相对位置,再将各信元依次排列重新组成数据包输出,避免了现有技术中为了确定信元之间相对关系而进行的搜索和查找,在节省了系统资源的同时,提升了数据包重组的速度,且无需在交换板卡中设置额外的缓存,降低了系统成本;不需要在信元头部增加额外的开销,提升了交换网的效率;无需使用CAM资源,在降低了成本的同时,提升了系统的可扩展性。
图1是现有技术交换网的基本结构示意图;图2是现有技术中多个入口线卡同时向一个出口线卡发送数据时的数据流量模型示意图;图3是本发明采用地址冗余技术实现包重组的方法一实施例流程示意图;图4是本发明采用地址冗余技术实现包重组的方法一实施例中信元格式示意图;图5是本发明采用地址冗余技术实现包重组的方法一实施例中根据头开销、预设的空闲指针列表以及信元指针列表对信元所属数据包进行重组并输出的流程示意图;图6是本发明采用地址冗余技术实现包重组的方法一实施例中根据头开销将地址指针存放于信元指针列表中的流程示意图7是本发明采用地址冗余技术实现包重组的装置一实施例结构示意图;图8是本发明采用地址冗余技术实现包重组的装置一实施例中数据包重组模块的结构示意图;图9是本发明采用地址冗余技术实现包重组的装置一实施例中信元指针列表单元的结构示意图;图10是本发明采用地址冗余技术实现包重组的系统一实施例结构示意图。为了使本发明的技术方案更加清楚、明了,下面将结合附图作进一步详述。
具体实施例方式本发明实施例解决方案主要是利用地址冗余技术对进入出口线卡的信元进行处理,使每个信元以其在所属数据包中的序号作为寻址依据,将其地址指针存放在序号所对应的信元指针列表中,通过信元的序号快速确定信元与信元之间的相对位置,再将各信元依次排列重新组成数据包输出,以降低出口线卡包重组的难度、提升包重组的速度,并节省系统资源。如图3所示,本发明一实施例提出一种采用地址冗余技术实现包重组的方法,包括步骤S101,出口线卡接收来自交换板卡的信元,分离出信元的头开销部分和净荷部分; 本实施例方法运行环境涉及交换网内的交换板卡以及入口线卡和出口线卡,入口线卡将接收的数据包中的各个信元分别通过不同的交换板卡发往同一个出口线卡,以便出口线卡对接收的各个信元进行数据包重组。在本实施例中,通过地址冗余技术对出口线卡接收的各信元进行相应处理,实现对数据包的重组。出口线卡内设有空闲指针列表、信元指针列表、数据包管理单元等,数据包管理单元由多个寄存器组组成,每个寄存器组用来管理一个数据包以及该数据包所对应的信元指针列表;空闲指针列表用来管理出口线卡缓存中的空闲存储区,实现出口线卡缓存的循环利用;信元指针列表用来存放信元存放于出口线卡缓存中的地址指针。出口线卡中内部结构及功能描述详见下一实施例。在本实施例中,在出口线卡接收到来自交换板卡的信元时,将信元的头开销部分和净荷部分分离出来,以便在进行数据包重组时,可根据数据包中各信元的头开销部分将净荷进行有规则的存放,将数据包还原。信元包括头开销部分和净荷部分,其中信元的格式如图4所示,信元格式包括TYPE 信元的种类编号,用来区分信元的用途;IC_ID 代表信元所属的入口线卡angress Card)的ID号;PKG_ID 代表信元所属数据包的ID号;CELL_ID 信元ID号,代表信元属于数据包的第几个切片,即信元在所属数据包中的ID号;PACKET_LEN 代表信元所属的数据包拥有的信元数量;PAYL0AD 信元净荷。 其中,IC_ID和PKG_ID共同表示数据包在当前交换网中的唯一编号。TYPE、IC_ID、PKG_ID、CELL_ID以及PACKET_LEN构成信元的头开销部分。步骤S102,根据头开销、预设的空闲指针列表以及信元指针列表对信元所属数据包进行重组并输出。如图5所示,步骤S102包括步骤S1021,根据空闲指针列表的头指针为净荷分配一地址指针;在本实施例中,为了对接收的各信元按照其原有的相对位置关系进行排序,以便快速的将各信元组成数据包发送出去,需要对信元中的净荷进行缓存,因为各个信元达到出口线卡的时间并不相同,需要等待整个数据包的信元到齐,重新组合成数据包之后再发送出去ο本实施例在对信元中的净荷进行缓存时,需要记录该净荷在出口线卡缓存中的存储地址,具体通过空闲指针列表中头指针来指定对应的地址。根据空闲指针列表的头指针为信元的净荷分配一个地址指针,以便出口线卡按照地址指针对应的地址将该净荷存放于出口线卡的缓存中相应的位置。步骤S1022,将净荷按照地址指针对应的地址存放于出口线卡的缓存内;步骤S1023,根据头开销将地址指针存放于信元指针列表中;其中,信元指针列表反映了信元净荷的地址指针、与所述地址指针对应的信元所属入口线卡的ID号、与地址指针对应的信元所属数据包的ID号、与地址指针对应的信元的 ID号之间的对应关系。可以根据信元头开销中的信元ID号,将该信元所对应的地址指针存放于信元指
针列表中信元ID号所对应的位置,比如将各信元净荷的地址指针按照序号0、1、2......等
的顺序依次存放。由于每个地址指针对应一个信元的净荷在出口线卡缓存中的地址,因此, 可以根据信元ID号从信元指针列表中查找对应的地址指针,然后根据地址指针对应的地址从出口线卡的缓存中获取该信元的净荷,当整个数据包中的所有信元到齐后,依次排序重新组合成数据包,从而完成数据包的重组。步骤S1024,当信元指针列表中地址指针的数量等于信元所属数据包所拥有的信元数量时,按照信元指针列表中地址指针的排列顺序从出口线卡缓存中依次获取对应的净荷组成数据包输出。其中,信元所属数据包所拥有的信元数量可以从信元头开销部分中获取,当信元指针列表中地址指针的数量达到信元所属数据包所拥有的信元数量时,说明数据包中所有的信元均已到达出口线卡,可以进行数据包的重组。如上所述,可以根据信元ID号从信元指针列表中查找对应的地址指针,然后根据地址指针对应的地址从出口线卡的缓存中获取该信元的净荷,对所有信元依次排序重新组合成数据包,完成数据包的重组。本实施例利用地址冗余技术对进入出口线卡的信元进行处理,使每个信元以其处于数据包中的序号作为寻址的依据,并将其指针存放在信元ID号所对应的信元指针列表中相应位置。由于数据包的长度是不定的,每个信元指针列表都是按照最长数据包分配的地址,当数据包不为最长包时,其所分配的地址会产生冗余。因此成为地址冗余技术。通过信元的ID号可以快速确定信元的位置,避免了现有技术当中为了确定信元之间相对关系而进行的搜索和查找,在节省了系统资源的同时,提升了数据包重组的速度。下面举例说明本实施例进行数据包重组的工作原理假设系统中最长数据包一共由113个信元组成;一次性同时发包的数量为38个
8(即产生乱序的包的数量)。当出口线卡接收到来自交换板卡的信元时,分离出该信元的头开销部分和净荷部分,发送给数据包管理模块。如上所述,数据包管理模块由多个寄存器组组成,每个寄存器组用来管理一个数据包以及该数据包所对应的信元指针列表。假设数据包管理模块由38个寄存器组组成,则每个寄存器组包括以下几个寄存器IC_ID+Packet_ID 为当前寄存器组管理的数据包的唯一标识;Packet_len 为当前寄存器组管理的数据包的长度(信元个数);Cell_counter 为当前寄存器组管理的数据包已经到达的信元数量;Current state 指示当前寄存器组的状态。寄存器组工作状态包括空闲态、准备态和结束态。当前寄存器组没有任何管理对象时为空闲态;当有属于新的数据包的信元到来时,需要申请新的寄存器组来管理,被选择的寄存器组进入准备态;当该寄存器组所管理的数据包的所有信元全部到达以后,寄存器组进入结束态,在数据包被完整发送后,恢复到空闲态。依次循环。数据包管理模块通过包管理组列表管理上述各寄存器。当有一个新的信元CELLO到来时,出口线卡通过数据包管理模块进行数据包重组的过程为1、当有一个新的信元CELLO到来时,信元从空闲指针列表获得当前空闲头指针, 根据该空闲头指针为净荷分配一地址指针;2、将IC_ID和Packet_ID与数据包管理模块中的38个IC_ID和Packet_ID进行匹配;3、将信元的净荷按照地址指针对应的地址存放到出口线卡的缓存中,并更新空闲头指针;4、如果第2步匹配上第0组的IC_ID和I^acketJD,则用寄存器组GroupO管理IC_ ID+Packet_ID所代表的数据包。(如果没有任何一条匹配上,则新建一个寄存器组Group) 将GroupO中的CellCoimter加一,将信元在缓存中的地址对应的地址指针写入信元指针列表(Cell_p0inter_liStO)中的信元ID号对应位置;5、判断GroupO中的Celljen是否与Cellcounter相等,若相等,则说明该数据包的信元已经全部到齐,则输出完整的数据包并释放相应的寄存器组。如图6所示,步骤S1023包括步骤S10231,从头开销获取信元的ID号;步骤S10232,将地址指针存放于信元指针列表中对应信元的ID号的位置。如图7所示,本发明一实施例提出一种采用地址冗余技术实现包重组的装置,包括信元接收和解析模块701以及数据包重组模块702,其中信元接收和解析模块701,用于接收来自交换板卡的信元,分离出信元的头开销部分和净荷部分;在本实施例中,在出口线卡信元接收和解析模块701接收到来自交换板卡的信元时,将信元的头开销部分和净荷部分分离出来,以便在进行数据包重组时,可根据数据包中各信元的头开销部分将净荷进行有规则的存放,将数据包还原。
信元包括头开销部分和净荷部分,其中信元的格式如图4所示,信元格式包括TYPE 信元的种类编号,用来区分信元的用途;IC_ID 代表信元所属的入口线卡angress Card)的ID号;PKG_ID 代表信元所属数据包的ID号;CELL_ID 信元ID号,代表信元属于数据包的第几个切片,即信元在所属数据包中的ID号;PACKET_LEN 代表信元所属的数据包拥有的信元数量;PAYL0AD 信元净荷。其中,IC_ID和PKG_ID共同表示数据包在当前交换网中的唯一编号。TYPE、IC_ID、 PKG_ID、CELL_ID以及PACKET_LEN构成信元的头开销部分。数据包重组模块702,用于根据头开销、预设的空闲指针列表以及信元指针列表对信元所属数据包进行重组并输出。如图8所示,数据包重组模块702包括空闲指针列表单元7021、信元缓存单元7022、信元指针列表单元7023以及数据包管理单元70M,其中空闲指针列表单元7021,用于根据空闲指针列表的头指针为净荷分配一地址指针;在本实施例中,为了对接收的各信元按照其原有的相对位置关系进行排序,以便快速的将各信元组成数据包发送出去,需要对信元中的净荷进行缓存,因为各个信元达到出口线卡的时间并不相同,需要等待整个数据包的信元到齐,重新组合成数据包之后再发送出去ο本实施例在对信元中的净荷进行缓存时,需要记录该净荷在出口线卡缓存中的存储地址,具体通过空闲指针列表中头指针来指定对应的地址。空闲指针列表单元7021用来管理出口线卡缓存中的空闲存储区,实现出口线卡缓存的循环利用,根据空闲指针列表的头指针为信元的净荷分配一个地址指针,以便出口线卡按照该地址指针对应的地址将该净荷存放于出口线卡的缓存中相应的位置。信元缓存单元7022,用于将净荷按照地址指针对应的地址存放于出口线卡的缓存内;信元指针列表单元7023,用于根据头开销将地址指针存放于信元指针列表中;其中,信元指针列表反映了信元净荷的地址指针、与所述地址指针对应的信元所属入口线卡的ID号、与地址指针对应的信元所属数据包的ID号、与地址指针对应的信元的 ID号之间的对应关系。可以根据信元头开销中的信元ID号,将该信元所对应的地址指针存放于信元指
针列表中信元ID号所对应的位置,比如将各信元净荷的地址指针按照序号0、1、2......等
的顺序依次存放。由于每个地址指针对应一个信元的净荷在出口线卡缓存中的地址,因此, 可以根据信元ID号从信元指针列表中查找对应的地址指针,然后根据地址指针对应的地址从出口线卡的缓存中获取该信元的净荷,当整个数据包中的所有信元到齐后,依次排序重新组合成数据包,从而完成数据包的重组。数据包管理单元70M,用于当信元指针列表中地址指针的数量等于信元所属数据
10包所拥有的信元数量时,按照信元指针列表中地址指针的排列顺序从出口线卡缓存中依次获取对应的净荷组成数据包输出。其中,信元所属数据包所拥有的信元数量可以从信元头开销部分中获取,当信元指针列表中地址指针的数量达到信元所属数据包所拥有的信元数量时,说明数据包中所有的信元均已到达出口线卡,可以进行数据包的重组。如上所述,可以根据信元ID号从信元指针列表中查找对应的地址指针,然后根据地址指针对应的地址从出口线卡的缓存中获取该信元的净荷,对所有信元依次排序重新组合成数据包,完成数据包的重组。以下详细说明本实施例进行数据包重组的工作原理假设系统中最长数据包一共由113个信元组成;一次性同时发包的数量为38个 (即产生乱序的包的数量)。信元接收和解析模块701接收来自交换板卡的信元,并且分离出该信元的头开销部分和净荷部分,发送给数据包重组模块702中数据包管理单元70M。如上所述,数据包管理单元70 由多个寄存器组组成,每个寄存器组用来管理一个数据包以及该数据包所对应的信元指针列表。假设数据包管理单元70M由38个寄存器组组成,则每个寄存器组包括以下几个寄存器IC_ID+Packet_ID 为当前寄存器组管理的数据包的唯一标识;Packet_len 为当前寄存器组管理的数据包的长度(信元个数);Cell_counter 为当前寄存器组管理的数据包已经到达的信元数量;Current state 指示当前寄存器组的状态。寄存器组工作状态包括空闲态、准备态和结束态。当前寄存器组没有任何管理对象时为空闲态;当有属于新的数据包的信元到来时,需要申请新的寄存器组来管理,被选择的寄存器组进入准备态;当该寄存器组所管理的数据包的所有信元全部到达以后,寄存器组进入结束态,在数据包被完整发送后,恢复到空闲态。依次循环。数据包管理单元70M通过包管理组列表管理上述各寄存器。当有一个新的信元CELLO到来时,数据包重组模块702进行数据包重组的过程为1、当有一个新的信元CELLO到来时,信元从空闲指针列表获得当前空闲头指针, 根据该空闲头指针为净荷分配一地址指针;2、将IC_ID和Packet_ID与数据包管理模块中的38个IC_ID和Packet_ID进行匹配;3、将信元的净荷按照地址指针对应的地址存放到出口线卡的缓存中,并更新空闲头指针;4、如果第2步匹配上第0组的IC_ID和I^acketJD,则用寄存器组GroupO管理IC_ ID+Packet_ID所代表的数据包。(如果没有任何一条匹配上,则新建一个寄存器组Group) 将GroupO中的CellCoimter加一,将信元在缓存中的地址对应的地址指针写入信元指针列表(Cell_p0inter_liStO)中的信元ID号对应位置;5、判断GroupO中的Celljen是否与Cellcounter相等,若相等,则说明该数据包的信元已经全部到齐,则输出完整的数据包并释放相应的寄存器组。如图9所示,信元指针列表单元7023包括信元ID号获取子单元70231以及地址
11指针存放子单元70232,其中信元ID号获取子单元70231,用于从头开销获取信元的ID号;地址指针存放单元70232,用于将地址指针存放于信元指针列表中对应信元的ID 号的位置。如图10所示,本发明一实施例提出一种采用地址冗余技术实现包重组的系统,包括入口线卡801、交换板卡802以及出口线卡803,其中入口线卡801,用于向交换板卡发送信元;交换板卡802,用于将入口线卡发送的信元转发给出口线卡803 ;出口线卡803,用于接收来自交换板卡802的信元,分离出信元的头开销部分和净荷部分;根据头开销、预设的空闲指针列表以及信元指针列表对信元所属数据包进行重组并输出。具体用于根据空闲指针列表的头指针为该净荷分配一地址指针;将净荷按照地址指针对应的地址存放于出口线卡803的缓存内;根据头开销将地址指针存放于信元指针列表中;当信元指针列表中地址指针的数量等于信元所属数据包所拥有的信元数量时,按照信元指针列表中地址指针的排列顺序从出口线卡803缓存中依次获取对应的净荷组成数据包输出。出口板卡803包括上述实施例所述的装置。本发明实施例采用地址冗余技术实现包重组的方法、装置及系统,利用地址冗余技术对进入出口线卡的信元进行处理,使每个信元以其在所属数据包中的序号作为寻址依据,将其地址指针存放在序号所对应的信元指针列表中,通过信元的序号快速确定信元与信元之间的相对位置,再将各信元依次排列重新组成数据包输出,避免了现有技术中为了确定信元之间相对关系而进行的搜索和查找,在节省了系统资源的同时,提升了数据包重组的速度,且无需在交换板卡中设置额外的缓存,降低了系统成本;不需要在信元头部增加额外的开销,提升了交换网的效率;无需使用CAM资源,在降低了成本的同时,提升了系统的可扩展性。以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
1权利要求
1.一种采用地址冗余技术实现包重组的方法,其特征在于,包括出口线卡接收来自交换板卡的信元,分离出所述信元的头开销部分和净荷部分;根据所述头开销、预设的空闲指针列表以及信元指针列表对所述信元所属数据包进行重组并输出。
2.根据权利要求1所述的方法,其特征在于,所述根据头开销、预设的空闲指针列表以及信元指针列表对所述信元所属数据包进行重组并输出的步骤包括根据空闲指针列表的头指针为所述净荷分配一地址指针;将所述净荷按照所述地址指针对应的地址存放于出口线卡的缓存内;根据所述头开销将所述地址指针存放于所述信元指针列表中;当所述信元指针列表中地址指针的数量等于所述信元所属数据包所拥有的信元数量时,按照信元指针列表中地址指针的排列顺序从出口线卡缓存中依次获取对应的净荷组成数据包输出。
3.根据权利要求1或2所述的方法,其特征在于,所述信元格式包括信元的种类编号、信元所属入口线卡的ID号、信元所属数据包的ID号、信元在其所属数据包中的ID号、 信元所属数据包拥有的信元数量以及信元净荷。
4.根据权利要求3所述的方法,其特征在于,所述信元指针列表包括信元净荷的地址指针、与所述地址指针对应的信元所属入口线卡的ID号、与所述地址指针对应的信元所属数据包的ID号以及与所述地址指针对应的信元的ID号。
5.根据权利要求4所述的方法,其特征在于,所述根据头开销将地址指针存放于信元指针列表中的步骤包括从所述头开销获取所述信元的ID号;将所述地址指针存放于所述信元指针列表中对应所述信元的ID号的位置。
6.一种采用地址冗余技术实现包重组的装置,其特征在于,包括信元接收和解析模块,用于接收来自交换板卡的信元,分离出所述信元的头开销部分和净荷部分;数据包重组模块,用于根据所述头开销、预设的空闲指针列表以及信元指针列表对所述信元所属数据包进行重组并输出。
7.根据权利要求6所述的装置,其特征在于,所述数据包重组模块包括空闲指针列表单元,用于根据空闲指针列表的头指针为所述净荷分配一地址指针;信元缓存单元,用于将所述净荷按照所述地址指针对应的地址存放于出口线卡的缓存内;信元指针列表单元,用于根据所述头开销将所述地址指针存放于信元指针列表中;数据包管理单元,用于当所述信元指针列表中地址指针的数量等于所述信元所属数据包所拥有的信元数量时,按照信元指针列表中地址指针的排列顺序从出口线卡缓存中依次获取对应的净荷组成数据包输出。
8.根据权利要求6或7所述的装置,其特征在于,所述信元格式包括信元的种类编号、信元所属入口线卡的ID号、信元所属数据包的ID号、信元在其所属数据包中的ID号、 信元所属数据包拥有的信元数量以及信元净荷。
9.根据权利要求8所述的装置,其特征在于,所述信元指针列表包括信元净荷的地址指针、与所述地址指针对应的信元所属入口线卡的ID号、与所述地址指针对应的信元所属数据包的ID号以及与所述地址指针对应的信元的ID号。
10.根据权利要求9所述的装置,其特征在于,所述信元指针列表单元包括信元ID号获取子单元,用于从所述头开销获取所述信元的ID号;地址指针存放子单元,用于将所述地址指针存放于所述信元指针列表中对应所述信元的ID号的位置。
11.一种采用地址冗余技术实现包重组的系统,其特征在于,包括入口线卡、交换板卡以及出口线卡,其中所述入口线卡,用于向所述交换板卡发送信元;所述交换板卡,用于将所述入口线卡发送的信元转发给所述出口线卡;所述出口线卡,用于接收来自交换板卡的信元,分离出所述信元的头开销部分和净荷部分;根据所述头开销、预设的空闲指针列表以及信元指针列表对所述信元所属数据包进行重组并输出。
12.根据权利要求11所述的系统,其特征在于,所述出口板卡包括权利要求6-10中任一项所述的装置。
全文摘要
本发明涉及一种采用地址冗余技术实现包重组的方法、装置及系统,其方法包括出口线卡接收来自交换板卡的信元,分离出信元的头开销部分和净荷部分;根据头开销、预设的空闲指针列表以及信元指针列表对信元所属数据包进行重组并输出。本发明利用地址冗余技术对进入出口线卡的信元进行处理,使每个信元以其在所属数据包中的序号作为寻址依据,提升了数据包重组的速度,节省了系统资源,提升了交换网的效率以及系统的可扩展性。
文档编号H04L29/12GK102447607SQ20101050200
公开日2012年5月9日 申请日期2010年10月8日 优先权日2010年10月8日
发明者徐健, 黄师 申请人:中兴通讯股份有限公司