CN101964751A - 数据包的传输方法及装置 - Google Patents
数据包的传输方法及装置 Download PDFInfo
- Publication number
- CN101964751A CN101964751A CN2010105058212A CN201010505821A CN101964751A CN 101964751 A CN101964751 A CN 101964751A CN 2010105058212 A CN2010105058212 A CN 2010105058212A CN 201010505821 A CN201010505821 A CN 201010505821A CN 101964751 A CN101964751 A CN 101964751A
- Authority
- CN
- China
- Prior art keywords
- packet
- reorganization
- bag
- group
- unpackaging
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种数据包的传输方法及装置,所述方法具体包括:首先在上行时,将基本信元进行调度,并进行拼包处理后发送给交换网;所述拼包处理为:将具有相同上行拼包规则的数据包进行拼包;下行,从交换网接收拼包后的数据包,将所述数据包交叉进行解拼包和包重组操作,并将解拼包和包重组后的数据包进行缓存;将缓存的解拼包和包重组后的数据包进行调度后输出。通过上述技术方案的实施,就可以提高上行节点的拼包成功率,减少了对资源的消耗。
Description
技术领域
本发明涉及通信领域,尤其涉及一种数据包的传输方法及装置。
背景技术
为了在网络中传递数据,现有技术提供了一种数据包的传输方法,该方法包括:在上行节点,数据包经过网络处理器处理后交上行流量管理器(IngressTraffic Manager,iTM)完成信元切片形成基本信元(定长)后缓存,将基本信元进行调度后进行拼包处理,然后将经过拼包处理后的基本信元输入到交换网,信元经过交换网后抵达下行节点,下行节点对基本信元完成包重组后缓存,在通过调度后对基本信元进行解拼包后输出数据包。
在实现本发明的过程中,发明人发现现有技术存在如下问题:
由于现有技术提供的方案中的解拼包操作在调度之后,所以在上行节点进行拼包操作时,不仅要满足上行队列处理的一致性,还需要保证下行队列处理的一致性,对上行拼包造成了过多的约束,从而导致上行节点的拼包效率降低。
发明内容
本发明实施例提供一种数据包的传输方法及装置,能够提高上行节点的拼包成功率,减少了对资源的消耗。
本发明实施例提供了一种数据包的传输方法,所述方法包括:
上行,将基本信元进行调度,并进行拼包处理后发送给交换网;所述拼包处理为:将具有相同上行拼包规则的数据包进行拼包;
下行,从交换网接收拼包后的数据包,将所述数据包交叉进行解拼包和包重组操作,并将解拼包和包重组后的数据包进行缓存;
将缓存的解拼包和包重组后的数据包进行调度后输出。
本发明实施例还提供了一种数据包的传输装置,所述装置包括:
拼包处理单元,用于在上行时,将基本信元进行调度后进行拼包处理,并将拼包处理后的数据包发送给交换网;其中,所述拼包处理为:将具有相同上行拼包规则的数据包进行拼包处理。
解拼包和包重组处理单元,用于在下行时,从所述交换网接收数据包,将所述数据包进行解拼包和包重组处理,并将解拼包和包重组之后的数据包进行缓存;
调度输出单元,用于对缓存的解拼包和包重组后的数据包进行调度后输出。
本发明实施例还提供了一种数据包的传输方法,包括:
从交换网接收拼包后的数据包,其中,所述数据包为在被发送至交换网之前具有相同上行虚拟输出队列VOQ的数据包;
对所述数据包交叉进行包重组和解拼包;
将经过包重组和解拼包后得到的数据信息进行缓存;
将缓存中的数据进行调度后输出。
本发明实施例还提供了一种数据包的传输装置,所述装置包括:
解拼包和包重组处理单元,从所述交换网接收数据包,将所述数据包进行包重组和解拼包处理,并将包重组和解拼包之后的数据包进行缓存,其中,所述数据包为在被发送至交换网之前具有相同上行虚拟输出队列VOQ的数据包;
调度输出单元,用于对缓存的解拼包和包重组后的数据包进行调度后输出。
由上述所提供的技术方案可以看出,首先在上行时,将基本信元进行调度,并进行拼包处理后发送给交换网;所述拼包处理为:将具有相同上行拼包规则的数据包进行拼包;下行,从交换网接收拼包后的数据包,将所述数据包交叉进行解拼包和包重组操作,并将解拼包和包重组后的数据包进行缓存;将缓存的解拼包和包重组后的数据包进行调度后输出。通过上述技术方案的实施,就可以提高上行节点的拼包成功率,减少了对资源的消耗。
附图说明
图1为本发明实施例提供的一种数据包传输方法的流程示意图;
图2为本发明一实施例提供的下行节点的结构图;
图3为本发明一实施例提供的ETM结构图;
图4为本发明一实施例提供的一种数据包的传输方法的流程图;
图5为本发明实施例提供的一种数据包传输装置的结构示意图。
具体实施方式
本发明实施例提供了一种数据包的传输方法和装置,该方法实现的技术场景为:预先为下行节点配置重组映射表,该重组映射表的建立方法可以为:建立重组key与组包通道的映射关系,具体的建立方法可以为,如重组key在重组映射表中没有映射关系且组包通道有空闲,则分配一个空闲的组包通道给该重组key,并将该空闲的组包通道和该重组key的映射关系存储在重组映射表中。如组包通道全部占用,则将具有该重组key的数据包丢弃。
上述本发明实施例所提供方法的流程示意图如图1所示,包括:
S11、上行,将基本信元进行调度后进行拼包处理,然后将经过拼包处理后的数据包输入到交换网;
上述S11中拼包处理的规则可以为:将具有相同上行拼包规则的数据包拼在一起,例如:
如果为虚拟输出队列(Virtual Output Queue,VOQ)队列,将相同上行VOQ队列的数据包进行拼包;如为上下文拼包,将相同的上行流队列且丢弃优先级也相同的数据包进行拼包。
更进一步的,所述上行拼包规则还可以包括:
1)同一拼包通道的数据包要求在上行中所有处理要一致;
2)同一拼包通道的数据包不能乱序;
3)小于53字节的数据包不能参与拼包。
总之,在本发明实施例中,上行拼包处理中不需要考虑下行队列处理的一致性。
S12、下行,从交换网接收到数据包后,对该数据包进行解拼包和包重组;将解拼重组后的数据包进行缓存。
在具体实现过程中,由于数据包经过交换网之后,属于不同数据包的信元之间会出现交织的情况,故需要对收到的基本信元进行包重组操作。
上述对数据包进行包重组的实现方法包括:根据数据包中的队列信息从重组映射表中查找出组包通道表(context table)的入口地址,并将数据包的组包信息存入组包通道表(context table)的相应表项中,根据该组包信息对数据包进行包重组操作。上述数据包中的队列信息可以是从信元头中所提取的重组key,并根据该重组key来查找重组映射表,获得对应组包通道表中组包通道的状态(active/idle)和入口地址。
在具体实现过程中,上述的组包信息可以包括:
1)重组报文的包描述符PD(Packet Descriptor);
2)上一个cell的序列号(用于序列号检查);
3)包文累计长度;
4)前一个cell残余字节数;
5)丢弃标记;
6)大包内包含cell的数量;
7)拼包大包内包含的小包个数;
8)timeout标记位等。
另外,在对数据包进行包重组的同时进行解拼包的过程中,要用到上行拼包时打在信元头中的信息,包括:
1)包状态标识ST(status type)。ST={SOP,EOP}。每个信元的信元头中包含包状态标识(ST),当ST=10时,表示该信元为包的首信元;当ST=00时,表示该信元为包的中间信元;当ST=01时,表示该信元为包的尾信元;当ST=11时,表示该信元就是一个完整的包。
2)信元类型标识CT(cell type)。只有当ST=01时,该标识才可能为1。当ST=01且CT=1时,表示该信元为拼包的边界,该信元中包含上一个小包的结尾和下一个小包的开始。上一个小包的结尾的具体位置用下面的“偏移量”来标识。
3)偏移量。表示在拼包边界的信元中,上一个小包结尾的具体位置(距首字节的偏移量)。
通过上述信元头中的信息就可以完成对数据包的解拼包的操作。
S13:将缓存后的数据经过调度后输出。
在该步骤中,缓存的数据可以只包含净荷数据,即将基本信元的信元头剥离后的数据,这样当缓存的数据为净荷数据时,就可以节省缓存空间,提高缓存的利用率,进而提高了效率。
本发明提供的方法下行节点将解拼包的操作安排在下行调度之前,并和包重组操作融合,所以上行在进行拼包操作的时候,只需要考虑拼的数据包属于同一上行队列即可,而无需考虑数据包在下行队列是否属于同一队列,这样就不会对上行拼包造成过多约束,提高了拼包的成功率。同时,将解拼包和包重组操作融合,这样只需在同一个地方进行信元数据的缓存,降低了系统资源的消耗。
下面以具体的例子来对本发明所提供的方法进行详细说明,本例子实现的技术场景为:在上行节点、交换网和下行节点之间完成数据包的传输,这里假设交换网的基本信元长度为64B,上行节点所有的交换网接口卡(FabricInterface Card,FIC)共包含4K个VOQ队列,下行节点的结构如图2所示,其中:下行流量管理器ETM包含有包重组和解拼模块(Re-asssembly&un-packed),用于进行解拼包和包重组操作;缓存管理器(Buffer Manager)用于管理内部信元的共享缓存;控制平面(Ctrl Plane)用于进行数据包的调度。
上述ETM的具体结构如图3所示,图3中包括:入口预处理IP-Pre模块、包重组控制模块(Reassemble Ctrl)、缓存调度PD-Gen模块和解拼包Un-packed模块,其中:
首先,由入口预处理IP_PRE模块从信元头中提取重组key,并发送到包重组控制模块Reassemble Ctrl进行处理;
包重组控制模块根据重组key查找重组映射表获取组包通道表context table中相应的组包通道,并根据该组包通道的组包信息对接收到的数据包进行包重组;
然后,再将经过解拼包和包重组后的数据包在PD-Gen模块中缓存、调度后输出。
在上述过程中,组包通道表context table的个数为1K;由交换网的特性决定了,上行4K个VOQ队列某段时间内同时打向同一个下行的概率很小,故下行采用1K个组包通道动态共享来完成解拼包和包重组就足够了,当然在实际情况中,如果丢包的概率较高,也可以调整组包通道的数量,这样可以节省contexttable以及解拼包缓存的资源。4K重组映射表,该4K重组映射表包括4K个VOQ队列对应的context table的入口地址;需要说明的是,在这里设置4K的重组映射表是为了和上行的VOQ队列一一对映,从而方便包重组模块根据VOQ来查找对应的context table的入口地址。
下面根据上述所举出的例子对处理过程进行详细说明,如图4所示为处理流程图,具体包括:
S41、上行节点将经过拼包处理的数据包发送给交换网;
上述拼包的规则可以为:将条件相同的上行VOQ队列的数据包进行拼包。
S42、下行节点从交换网接收到数据包后,由入口预处理(IP_PRE)模块从信元头中提取重组key后,发送到包重组控制模块(Reassemble Ctrl)处理;
S43、包重组控制模块根据重组key查找重组映射表获取组包通道表中相应的组包通道,并根据该组包通道的组包信息对数据包进行包重组;并将经过解拼包和包重组后的数据包缓存、调度后输出。
上述建立重组映射表的方法可以为:若该重组key并没有分配组包通道且组包通道有空闲idle的通道,则分配一个新的组包通道给该重组key,同时将分配的组包通道的地址写入重组映射表;该新的组包通道用于对具有该重组key的基本信元进行包重组;若该重组key具有组包通道且通道状态为活动active,则根据重组映射表中保存的组包通道入口地址(addr),更新组包通道的contexttable(累加包长等),并将该重组key对应的数据包发送到相应的组包通道上进行包重组;若1K个组包通道全部被占用,则将该重组key的数据包丢弃。
下面以一个实际的例子来说明实现数据包传输的具体方法,这里假设数据包1和数据包2具有同一上行VOQ队列,假设标号为VOQ 1;其对应的重组key为key 1;其中数据包1的数据在4个基本信元中,分别表示为:Fcell 1、Fcell 2、Fcell 3、Fcell 4(拼包);(这里假设Fcell 4中的数据还包括有数据包2的部分数据),数据包2的数据在4个基本信元中,分别表示为:Fcell 4(拼包)、Fcell5、Fcell 6、Fcell 7;假设重组映射表具有空闲的组包通道;则该方法具体可以为:
包重组控制模块接收到Fcell 1后,根据Fcell 1的key 1查找重组映射表,由于没有为key 1分配组包通道,从空闲context entry中取一个空闲重组通道contexttable 1分配给key 1,并将Fcell 1发送到Un-packed进行拆包,去Fcell 1的信元头,并将Fcell 1的信元序列号发送给context table 1;Un-packed完成拆包和去信元头后,由于Fcell 1的剩余数据1(即净荷)没有达到64B,所以将Fcell 1的剩余数据1存储到缓存中;
当包重组控制模块接收到Fcell 2后,根据key 1查找重组映射表得到空闲重组通道context table 1的入口地址后,将Fcell 2发送到Un-packed进行拆包,去Fcell 2的信元头;Un-packed从context table 1的组包信息中得知需要将剩余数据1(即Fcell 1的净荷)和Fcell 2的数据拼在一起,从缓存提取出Fcell 1的剩余数据的净荷,并将Fcell 1剩余数据的净荷和Fcell 2的净荷拼在一起,将拼接后Fcell2的信元序列号再发送给context table 1;由于此时Fcell 1和Fcell 2的净荷数据已经超过了64B,则将64B的数据发送到BM缓存后,将剩余的数据2继续放到缓存中;
当包重组控制模块接收到Fcell 3后,根据key 1查找重组映射表得到空闲重组通道context table 1的入口地址后,将Fcell 3发送到Un-packed进行拆包,去Fcell 3的信元头;Un-packed从context table 1的组包信息中得知需要将剩余数据2(即Fcell 1和Fcell 2的净荷去掉64B的数据)和Fcell 3的数据拼在一起后,从缓存提取出剩余数据2,并将剩余数据2和Fcell 3的净荷拼在一起,将拼接后Fcell 3的信元序列号发送给context table 1;如拼在一起的数据超过了64B,则将64B的数据发送到BM缓存后,将剩余的数据3继续放到缓存中;
当包重组控制模块接收到Fcell 4后,根据key 1查找重组映射表得到空闲重组通道context table 1的入口地址后,将Fcell 4发送到Un-packed,Un-packed进行拆包,去Fcell 4的信元头,由于Fcell 4为数据包1最后一个基本信元,同时也是数据包2的第一个基本信元,所以其具有EOP=1;SOP=1,以及包结尾的偏移量offset;Un-packed从context table 1的组包信息中得知需要将剩余数据3和Fcell4中在offset之前的数据拼在一起后,从缓存提取出剩余数据3,并将剩余数据3和Fcell 4中offset之前的数据拼在一起发送到BM缓存,从而完成数据包1的解拼包和重组过程。同时,将Fcell 4中offset后的数据(即剩余数据4)继续放到缓存中,并更新context table 1后继续进行数据包2的解拼包和重组过程。包重组控制模块还发送数据包1的包描述符(PD1)给PD_GEN模块,由PD_GEN模块从BM中提取解拼重组后的数据包1,并将PD1加载在解拼重组后的数据包1的头信息内后发送给控制平面ctrl plane进行调度后输出。
当包重组控制模块接收到Fcell 5后,根据key 1查找重组映射表得到空闲重组通道context table 1的入口地址后,将Fcell 5发送到Un-packed进行拆包,去Fcell 5的信元头;Un-packed从context table 1的组包信息中得知需要将剩余数据4(即Fcell 4中SOP后的数据)和Fcell 5的数据拼在一起后,从缓存提取出剩余数据4,并将剩余数据4和Fcell 5的净荷拼在一起,在将拼接后Fcell 5的信元序列号发送给context table 1;如拼在一起的数据超过了64B,则将64B的数据发送到BM缓存后,将剩余的数据5放到缓存中。
当包重组控制模块接收到Fcell 6后,根据key 1查找重组映射表得到空闲重组通道context table 1的入口地址后,将Fcell 6发送到Un-packed进行拆包,去Fcell 6的信元头;Un-packed从context table 1的组包信息中得知需要将剩余数据5和Fcell 6的数据拼在一起后,从缓存提取出剩余数据5,并将剩余数据5和Fcell6的净荷拼在一起,再将拼接后Fcell 6的信元序列号发送给context table 1;如拼在一起的数据超过了64B,则将64B的数据发送到BM缓存后,将剩余的数据6放到缓存中。
当包重组控制模块接收到Fcell 7后,根据key 1查找重组映射表得到空闲重组通道context table 1的入口地址后,将Fcell 7发送到Un-packed进行拆包,去Fcell 7的信元头;Un-packed从context table 1的组包信息中得知需要将剩余数据6和Fcell 7的数据拼在一起后,从缓存提取出剩余数据6,并将剩余数据6和Fcell7的净荷拼在一起,再将拼接后Fcell 7的信元序列号发送给context table 1,由于Fcell 7为数据包2最后一个基本信元,所以Fcell 7的EOP=1(由于Fcell 7中全部为数据包2的数据,所以offset为零),Un-packed根据EOP信元得知数据包2重组完毕,并将剩余数据6和Fcell 7的净荷拼在一起的数据发送给BM缓存;包重组模块将数据包2的PD2发送给PD_GEN模块,该PD_GEN模块从BM中提取重组后的数据包2,并将PD2加载在重组后的数据包2的头信息内发送给控制平面ctrl plane进行调度后输出。
在完成上述数据包1和数据包2的解拼包、重组和输出之后,包重组控制模块将context table 1的状态修改成空闲,将context table 1的入口地址写入contextentry,并将重组映射表中context table 1的映射关系删除。
可选的,上述方法还可以包括:在context table中加入超时处理,即当contexttable中的组包通道超时时,将该组包通道释放,即将该组包通道内的信息删除,并将该组包通道的状态调整为空闲。上述超时的判断可以采用多种方法,例如,设定一时间阈值,当组包通道超过时间阈值时,判断为超时,当然在实际情况中还可以为其他的方法,例如轮询通道的方法判断超时,具体可以为:在每个组包通道中设置1bit的超时位,通过状态为活动时,为1,空闲时为0,轮询模块轮询每个通道,将活动状态的组包通道设置为1,如下一轮询的时候,轮询模块重新达到同一通道的时候,如果超时位还为1,则判断该通道超时。
本实施例在加入超时处理后,能避免组包通道长期的占用,提高组包通道的利用率,提高组包的效率。
可选的,上述方法在完成S43后,还可以包括:包重组控制模块记录丢弃的数据包的重组key,将后续接收的具有与丢弃的数据包相同重组key的数据包丢弃。采用该方法丢弃数据包,可以提高组包的流程,因为该重组key中的数据包已经被丢弃,即使进行解拼包和组包处理也不可能成功,所以直接丢弃上述数据包就能够进一步提高组包的成功率,提高组包的效率。
可选的,上述方法还可以包括:在组包过程中,包重组控制模块检测到数据包的SN出现错误,则强行结束上述出现错误的数据包对应的重组key的解拼包和包重组操作。
上述实施例中的方法是以VOQ队列进行说明的,当变成上下文拼包时,与VOQ队列不同的地方仅在于重组key不仅仅与流队列有关,还与丢弃优先级有关,其他的处理流程与VOQ队列相同,这里不在赘述。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本发明实施例还提供了一种数据包的传输装置,如图5所示为本发明实施例所提供数据包传输装置的结构示意图,所述装置包括:
拼包处理单元,用于在上行时,将基本信元进行调度后进行拼包处理,并将拼包处理后的数据包发送给交换网;其中,所述拼包处理为:将具有相同上行拼包规则的数据包进行拼包处理。
解拼包和包重组处理单元,用于在下行时,从所述交换网接收数据包,将所述数据包进行解拼包和包重组处理,并将解拼包和包重组之后的数据包进行缓存;
调度输出单元,用于对缓存的解拼包和包重组后的数据包进行调度后输出。
其中,所述拼包处理单元还可包括:
第一拼包模块,用于将相同上行虚拟输出队列VOQ队列的数据包进行拼包;或,第二拼包模块,用于将相同的上行流队列且丢弃优先级也相同的数据包进行拼包。
上述解拼包和包重组处理单元进一步还可以用于根据数据包中的队列信息从预先建立的重组映射表中查找相应组包通道的入口地址,并将所述数据包的组包信息存入所述组包通道,并根据该组包信息对所述数据包进行解拼包和包重组操作。
上述装置实施例中各个单元的具体实现过程可参考上述方法实施例中所述。
值得注意的是,上述装置实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
综上所述,本发明实施例可以提高上行节点的拼包成功率,减少了对资源的消耗。
以上对本发明实施例进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (17)
1.一种数据包的传输方法,其特征在于,所述方法包括:
上行,将基本信元进行调度,并进行拼包处理后发送给交换网;所述拼包处理为:将具有相同上行拼包规则的数据包进行拼包;
下行,从交换网接收拼包后的数据包,将所述数据包交叉进行解拼包和包重组操作,并将解拼包和包重组后的数据包进行缓存;
将缓存的解拼包和包重组后的数据包进行调度后输出。
2.根据权利要求1所述的方法,其特征在与,所述将具有相同上行拼包规则的数据包进行拼包,具体包括:
将相同上行虚拟输出队列VOQ队列的数据包进行拼包;
或将相同的上行流队列且丢弃优先级也相同的数据包进行拼包。
3.根据权利要求1所述的方法,其特征在于,所述将所述数据包交叉进行解拼包和包重组操作,具体包括:
根据所述数据包中的队列信息从预先建立的重组映射表中查找空闲组包通道的入口地址,并将所述数据包的组包信息存入所述空闲组包通道,并根据该组包信息对所述数据包进行解拼包和包重组操作。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
对所述组包通道设置超时处理,若所述组包通道超时,则释放该组包通道。
5.根据权利要求3所述的方法,其特征在于,所述建立重组映射表的方法具体包括:
若重组密钥key的映射关系不存在重组映射表中,且具有空闲的组包通道时,分配一个空闲组包通道给所述重组key,并将所述重组key与所分配的组包通道的映射关系存储在所述重组映射表中。
6.根据权利要求3所述的方法,其特征在于,所述根据该组包信息对所述数据包进行解拼包和包重组操作,具体包括:
根据该组包信息将数据包的信元头去掉后缓存,将缓存后的数据根据组包信息进行包重组操作。
7.根据权利要求1所述的方法,其特征在于,在将数据包进行解拼包和包重组的过程中,所述方法还包括:
根据数据包得到重组密钥key,并根据所述重组key从预先建立的重组映射表中查找组包通道;
其中,若所述重组key没有对应的组包通道,且所有的组包通道均处于活动状态,则丢弃具有该重组key的数据包。
8.一种数据包的传输装置,其特征在于,所述装置包括:
拼包处理单元,用于在上行时,将基本信元进行调度后进行拼包处理,并将拼包处理后的数据包发送给交换网;其中,所述拼包处理为:将具有相同上行拼包规则的数据包进行拼包处理。
解拼包和包重组处理单元,用于在下行时,从所述交换网接收数据包,将所述数据包进行解拼包和包重组处理,并将解拼包和包重组之后的数据包进行缓存;
调度输出单元,用于对缓存的解拼包和包重组后的数据包进行调度后输出。
9.如权利要求8所述的装置,其特征在于,所述拼包处理单元包括:
第一拼包模块,用于将相同上行虚拟输出队列VOQ队列的数据包进行拼包;
或,第二拼包模块,用于将相同的上行流队列且丢弃优先级也相同的数据包进行拼包。
10.如权利要求8所述的装置,其特征在于,上述解拼包和包重组处理单元进一步还可以用于根据数据包中的队列信息从预先建立的重组映射表中查找相应组包通道的入口地址,并将所述数据包的组包信息存入所述组包通道,并根据该组包信息对所述数据包进行解拼包和包重组操作。
11.一种数据包的传输方法,其特征在于,包括:
从交换网接收拼包后的数据包,其中,所述数据包为在被发送至交换网之前具有相同上行虚拟输出队列VOQ的数据包;
对所述数据包交叉进行包重组和解拼包;
将经过包重组和解拼包后得到的数据信息进行缓存;
将缓存中的数据进行调度后输出。
12.如权利要求11中所述方法,其特征在于,所述对所述数据包交叉进行包重组和解拼包,具体包括:
根据所述数据包中的队列信息从预先建立的重组映射表中查找空闲组包通道的入口地址,并将所述数据包的组包信息存入所述空闲组包通道,并根据该组包信息对所述数据包进行解拼包和包重组操作。
13.根据权利要求12所述的方法,其特征在于,所述方法还包括:
对所述组包通道设置超时处理,若所述组包通道超时,则释放该组包通道。
14.根据权利要求12所述的方法,其特征在于,所述建立重组映射表的方法具体包括:
若重组密钥key的映射关系不存在重组映射表中,且具有空闲的组包通道时,分配一个空闲组包通道给所述重组key,并将所述重组key与所分配的组包通道的映射关系存储在所述重组映射表中。
15.根据权利要求11所述的方法,其特征在于,在对所述数据包交叉进行包重组和解拼包的过程中,所述方法还包括:
根据数据包得到重组密钥key,并根据所述重组key从预先建立的重组映射表中查找组包通道;
其中,若所述重组key没有对应的组包通道,且所有的组包通道均处于活动状态,则丢弃具有该重组key的数据包。
16.一种数据包的传输装置,其特征在于,所述装置包括:
解拼包和包重组处理单元,从所述交换网接收数据包,将所述数据包进行包重组和解拼包处理,并将包重组和解拼包之后的数据包进行缓存,其中,所述数据包为在被发送至交换网之前具有相同上行虚拟输出队列VOQ的数据包;
调度输出单元,用于对缓存的解拼包和包重组后的数据包进行调度后输出。
17.如权利要求16所述的装置,其特征在于,上述解拼包和包重组处理单元进一步还可以用于根据数据包中的队列信息从预先建立的重组映射表中查找相应组包通道的入口地址,并将所述数据包的组包信息存入所述组包通道,并根据该组包信息对所述数据包进行解拼包和包重组操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105058212A CN101964751B (zh) | 2010-09-30 | 2010-09-30 | 数据包的传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105058212A CN101964751B (zh) | 2010-09-30 | 2010-09-30 | 数据包的传输方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101964751A true CN101964751A (zh) | 2011-02-02 |
CN101964751B CN101964751B (zh) | 2013-01-16 |
Family
ID=43517492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010105058212A Active CN101964751B (zh) | 2010-09-30 | 2010-09-30 | 数据包的传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101964751B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104850515A (zh) * | 2015-04-28 | 2015-08-19 | 华为技术有限公司 | 一种缓存信元数据的方法、装置和设备 |
CN104954292A (zh) * | 2015-05-18 | 2015-09-30 | 烽火通信科技股份有限公司 | 基于clos交换网络的数据包切分和重组的系统及方法 |
CN105573711A (zh) * | 2014-10-14 | 2016-05-11 | 深圳市中兴微电子技术有限公司 | 一种数据缓存方法及装置 |
CN105681335A (zh) * | 2016-03-02 | 2016-06-15 | 臧利 | 基站数据处理方法及系统 |
CN108881062A (zh) * | 2017-05-12 | 2018-11-23 | 深圳市中兴微电子技术有限公司 | 一种数据包传输方法和设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001022683A2 (en) * | 1999-09-24 | 2001-03-29 | British Telecommunications Public Limited Company | Packet network interfacing |
CN1665220A (zh) * | 2004-03-02 | 2005-09-07 | 安捷伦科技有限公司 | Aal2和aal5数据的实时分段与重组 |
CN101166148A (zh) * | 2006-10-19 | 2008-04-23 | 中兴通讯股份有限公司 | 二层虚拟专网业务传送的方法 |
CN101599963A (zh) * | 2009-06-10 | 2009-12-09 | 电子科技大学 | 网络疑似威胁信息筛选器及筛选处理方法 |
-
2010
- 2010-09-30 CN CN2010105058212A patent/CN101964751B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001022683A2 (en) * | 1999-09-24 | 2001-03-29 | British Telecommunications Public Limited Company | Packet network interfacing |
CN1665220A (zh) * | 2004-03-02 | 2005-09-07 | 安捷伦科技有限公司 | Aal2和aal5数据的实时分段与重组 |
CN101166148A (zh) * | 2006-10-19 | 2008-04-23 | 中兴通讯股份有限公司 | 二层虚拟专网业务传送的方法 |
CN101599963A (zh) * | 2009-06-10 | 2009-12-09 | 电子科技大学 | 网络疑似威胁信息筛选器及筛选处理方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105573711A (zh) * | 2014-10-14 | 2016-05-11 | 深圳市中兴微电子技术有限公司 | 一种数据缓存方法及装置 |
US10205673B2 (en) | 2014-10-14 | 2019-02-12 | Sanechips Technology Co. Ltd. | Data caching method and device, and storage medium |
CN105573711B (zh) * | 2014-10-14 | 2019-07-19 | 深圳市中兴微电子技术有限公司 | 一种数据缓存方法及装置 |
CN104850515A (zh) * | 2015-04-28 | 2015-08-19 | 华为技术有限公司 | 一种缓存信元数据的方法、装置和设备 |
CN104850515B (zh) * | 2015-04-28 | 2018-03-06 | 华为技术有限公司 | 一种缓存信元数据的方法、装置和设备 |
CN104954292A (zh) * | 2015-05-18 | 2015-09-30 | 烽火通信科技股份有限公司 | 基于clos交换网络的数据包切分和重组的系统及方法 |
CN104954292B (zh) * | 2015-05-18 | 2018-04-20 | 烽火通信科技股份有限公司 | 基于clos交换网络的数据包切分和重组的系统及方法 |
CN105681335A (zh) * | 2016-03-02 | 2016-06-15 | 臧利 | 基站数据处理方法及系统 |
CN108881062A (zh) * | 2017-05-12 | 2018-11-23 | 深圳市中兴微电子技术有限公司 | 一种数据包传输方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101964751B (zh) | 2013-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101607180B1 (ko) | 패킷 재조립 및 재배열 방법, 장치 및 시스템 | |
CN101151851B (zh) | 用于服务器环境中的联网卸载的主机以太网适配器 | |
CN100438481C (zh) | 分组处理装置 | |
CN101199168B (zh) | 监控通信链路的队列的方法、设备和系统 | |
CN101656659B (zh) | 一种混合业务流的缓存处理方法、存储转发方法及装置 | |
CN101964751B (zh) | 数据包的传输方法及装置 | |
US7464201B1 (en) | Packet buffer management apparatus and method | |
CN102045258A (zh) | 数据缓存管理方法及装置 | |
CN1802836A (zh) | 网络协议卸载引擎存储器管理 | |
WO2010075795A1 (zh) | 分片信息处理的方法和装置 | |
CN101557348A (zh) | 一种基于令牌桶的报文转发方法及装置 | |
US7289537B1 (en) | Single-chip multi-port Ethernet switch | |
US7646779B2 (en) | Hierarchical packet scheduler using hole-filling and multiple packet buffering | |
CN101505283B (zh) | 一种报文处理方法及装置 | |
JPH10224380A (ja) | アドレスを備えたヘッダと音声またはビデオなどのストリーミングデータを構成するペイロードとを有するセルを非同期転送モード(atm)で転送するための電気通信システムおよび方法 | |
CN102916902A (zh) | 数据存储方法及装置 | |
CN101217486B (zh) | 基于网络处理器的移动互联网数据负载分配方法 | |
CN111740922B (zh) | 数据传输方法、装置、电子设备及介质 | |
TWI223747B (en) | Increasing memory access efficiency for packet applications | |
CN102299861B (zh) | 一种报文流量控制方法 | |
JP3952395B2 (ja) | 可変長パケットの帯域制御装置 | |
CN114500418B (zh) | 数据统计方法及相关装置 | |
CN102164095B (zh) | 一种星上交换模块的数据报分段与重组系统及实现方法 | |
CN100495974C (zh) | 数据传输过程中的流量整形方法 | |
US6885591B2 (en) | Packet buffer circuit and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |