专利名称:报文保序处理方法、保序协处理器和网络设备的制作方法
技术领域:
本发明实施例涉及通信领域,尤其涉及一种报文保序处理方法、保序协处理器和网络设备。
背景技术:
随着互联网、移动通信网络等技术的不断发展,报文的传输可靠性也亟待提高,以尽可能减小网络传输后报文乱序的可能性。所谓报文乱序,是指发送端发出的报文序列,经若干中间节点转发,但没有按照原始顺序到达目的端。报文乱序会严重影响某些网络应用的性能。比如传输控制协议 (Transmission Control Protocol,以下简称TCP)连接因为乱序导致大量的重传;实时压缩协议(Compressed Real-Time Protocol,以下简称CRTP)业务会因为乱序而导致频繁的发送FULL_HEADER报文以同步上下文,从而导致压缩效率大大降低。因此,为了提高网络运行效率,现有通信标准要求网络设备,例如路由器,能够尽量避免报文乱序。但是,目前的网络设备大多采用多线程异步并行处理报文,而不同线程处理报文的速度受众多因素影响,从而使得报文保序的处理更加复杂。因此,如何在多线程异步处理报文的情况下,对报文进行保序处理成为亟待解决的问题。
发明内容
本发明实施例提供一种报文保序处理方法、保序协处理器和网络设备,以在多线程异步处理报文的情况下,对报文进行保序处理。本发明实施例提供一种报文保序处理方法,包括接收线程发送的网络报文,所述网络报文中包含报文标识;确定与所述报文标识对应的保序流,所述保序流与网络设备的一条通道对应且所述保序流中包含的报文处理顺序为网络报文进入所述通道的先后顺序;根据所述报文处理顺序,对所述网络报文进行保序处理。本发明实施例提供一种保序协处理器,包括接收模块,用于接收线程发送的网络报文,所述网络报文中包含报文标识;确定模块,用于确定与所述报文标识对应的保序流,所述保序流与网络设备的一条通道对应且所述保序流中包含的报文处理顺序为网络报文进入所述通道的先后顺序;保序处理模块,用于根据所述报文处理顺序,对所述网络报文进行保序处理。本发明实施例提供一种网络设备,包括依次连接的网络处理器单元、保序协处理器以及协处理器,所述保序协处理器采用上述的保序协处理器。本发明实施例,可以根据线程发送的网络报文中包含的报文标识确定对应的保序流,根据保序流中包含的网络报文进入通道的先后顺序,对网络报文进行保序处理。因此, 即使由于各线程的异步并行处理使得网络报文乱序,通过保序流也可以将网络报文的发送顺序排序为与网络报文进入网络设备通道的顺序一致,从而使得网络报文可以按照进入通道的先后顺序依次被发送。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明报文保序处理方法一个实施例的流程图;图2为本发明报文保序处理方法另一个实施例的流程图;图3为图2所示实施例中生成的报文标识与保序流之间的对应关系的一种结构示意图;图4为本发明报文保序处理方法再一个实施例的流程图;图5为图4所示实施例在一种场景下的处理过程示意图;图6为本发明保序协处理器一个实施例的结构示意图;图7为本发明保序协处理器另一个实施例的结构示意图;图8为本发明保序协处理器再一个实施例的结构示意图;图9为本发明网络设备一个实施例的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1为本发明报文保序处理方法一个实施例的流程图,如图1所示,本实施例的方法可以包括步骤101、接收线程发送的网络报文,所述网络报文中包含报文标识。举例来说,保序协处理器(Order Co-Processor,以下简称0CP)可以接收线程发送的网络报文,该网络报文中可以包含报文标识,本实施例不限定该报文标识的具体形式。本实施例中的OCP可以使用专用集成电路(Application Specific Intergrated Circuits,以下简称AHC)技术实现,可以与网络处理器单元(Network Processer Units, 以下简称NPU) —起封装。具体来说,网络设备,例如路由器,其各通道可以接收其它网络设备发送的网络报文,然后各通道的网络报文可以被分配给多个线程并行处理,每个线程同时只能持有处理一个网络报文。网络报文进入各通道时是具有先后顺序的,也即在各通道中传输时,网络报文的先后顺序是正确的,但是各通道的报文被分配到多个线程进行处理时,由于各线程的处理受诸多因素影响,从各线程发出的网络报文则是乱序的,因此,OCP接收到的网络报文是乱序的。步骤102、确定与所述报文标识对应的保序流,所述保序流与网络设备的一条通道对应且所述保序流中包含的报文处理顺序为网络报文进入所述通道的先后顺序。具体来说,本实施例可以包含多条保序流,每条保序流均与网络设备的一条通道对应,因此,本实施例中的保序流的条数可以等于网络设备的通道数。对于每条保序流来说,其中包含的报文处理顺序可以为网络报文进入该通道的先后顺序。举例来说,以第N个通道对应的保序流η来说,该保序流中可以包括进入第N个通道中的全部网络报文的报文标识,且报文标识可以按照对应的网络报文进入第N个通道的先后顺序排列。举例来说,OCP可以监控各通道接收的报文,对于每个通道来说,OCP可以记录网络报文接收的先后顺序,根据该先后顺序,OCP即可生成该通道对应的保序流,需要说明的是,本实施例并不限定OCP如何获知网络报文进入通道的先后顺序,本领域技术人员还可以采用任意手段对网络报文进入通道的先后顺序进行监控并通知0CP。因此,利用各保序流对网络报文进行保序处理时,可以将乱序的网络报文恢复到网络报文进入通道的先后顺序。在具体实现时,OCP可以从各网络报文中提取报文标识,对于每个报文标识来说, OCP可以确定该报文标识所在的保序流,从而可以确定该报文标识对应的通道,也即可以确定该网络报文对应的保序流或者网络报文进入的通道。由此可知,在执行步骤102之后,OCP可以将从各线程接收的乱序的网络报文分别对应到各个保序流。步骤103、根据所述报文处理顺序,对所述网络报文进行保序处理。对于与每个通道对应的网络报文来说,OCP均可以根据该通道对应的保序流中包含的报文处理顺序,对网络报文进行保序处理,即按照保序流中记录的网络报文进入通道的先后顺序,依次发送网络报文,从而使得经过保序处理的网络报文的发送顺序与该网络报文进入通道的顺序一致。本实施例可以根据线程发送的网络报文中包含的报文标识确定对应的保序流,根据保序流中包含的网络报文进入通道的先后顺序,对网络报文进行保序处理。因此,即使由于各线程的异步并行处理使得网络报文乱序,通过保序流也可以将网络报文的发送顺序排序为与网络报文进入网络设备通道的顺序一致,从而使得网络报文可以按照进入通道的先后顺序依次被发送。图2为本发明报文保序处理方法另一个实施例的流程图,如图2所示,本实施例的方法可以包括步骤201、根据网络报文进入通道的先后顺序,生成与该通道对应的保序流,并生成所述网络报文的报文标识与所述保序流之间的对应关系。OCP可以在网络报文进入通道时,根据网络报文进入通道的先后顺序,生成与该通道对应的保序流,并生成所述网络报文的报文标识与所述保序流之间的对应关系,对于每个保序流来说,网络报文进入通道的先后顺序即为报文处理顺序。本实施例并不限定OCP 获知网络报文进入通道的先后顺序的技术手段。举例来说,该保序流可以采用链表结构,图 3为图2所示实施例中生成的报文标识与保序流之间的对应关系的一种结构示意图,如图3所示,保序流链表(Link)O 保序流link η分别对应网络设备的η+1个通道,Valid表示对应的保序流link有效,head为表头,tail为表尾,next为下一节点的指针,PKT_ID0 H(T_IDm为网络设备各通道上接收的网络报文的标识。举例来说,图3中的箭头所指示的对应关系即为保序流Iinkl与H(T_ID之间的对应关系,其中,保序流Iinkl的表头在H(T_ IDl 处,PKT_ID1 处的 next 指针指向 PKT_ID3,PKT_ID3 处的 next 指针指向 PKT_ID5,PKT_ ID5也是保序流Iinkl的表尾,且H(T_ID1、PKT_ID3以及H(T_ID5进入保序流Iinkl对应的通道时具有先后顺序,以此类推,PKT_ID0 H(T_IDm可以对应到各个保序流link。步骤202、接收各线程发送的网络报文,所述网络报文中包含报文标识。步骤203、缓存各线程发送的网络报文,并生成包含保序处理顺序的保序请求队列,所述保序处理顺序为各线程发送网络报文的先后顺序。具体来说,各线程可以依次向OCP发送保序请求(以下简称REQ),该REQ中包含网络报文的数据内容等。然后OCP即可缓存各线程发送的REQ,例如,将REQ缓存在BUFFER 中。而且,OCP还可以生成保序请求队列,该保序请求队列中包含保序处理顺序,该保序处理顺序为各线程发送网络报文的先后顺序。举例来说,该保序处理顺序可以通过请求描述符(以下简称REQ-ID)体现。表1 为REQ-ID的一种描述方式。表 1
NPU ID THREAD ID PKT ID其中,NPU_ID为并行处理器的标识,THREAD_ID为每个NPU的线程标识。保序处理队列中的每个REQ_ID可以索引一个REQ,REQ_ID的数目等于协处理器(Co-process,以下简称C0P)的个数与线程数的乘积。表2为BUFFER中缓存的REQ的一种描述方式。表2
OPADDRCTRLDATA其中,OP表示REQ的操作类型,例如,读操作的类型为READ、写操作的类型为 WRITE,读写操作的类型为WRITE&READ ;ADDR表示REQ所访问的外设地址;CTRL用于描述 REQ的数据长度,是否保序等控制信息;DATA表示REQ携带的发送给COP的请求数据。BUFFER中缓存的例如表2中的REQ与保序请求队列中例如表1所示的REQ_ID之间具有对应关系。步骤204、根据保序处理顺序,依次确定各网络报文的报文标识对应的保序流。OCP可以根据保序请求队列中的保序处理顺序,依次处理对应的REQ,也即依次处理网络报文。在具体对网络报文进行处理时,OCP可以根据例如表1中的H(T_ID和保序流之间的对应关系,确定各网络报文对应的保序流。步骤205、根据各保序流的报文处理顺序,依次将与各通道对应的网络报文发送到数据总线上。对于对应到每个保序流上的网络报文来说,各网络报文需要按照该保序流中的报
7文处理顺序依次被发送到数据总线BUS上。具体地,对于每个保序流来说,若网络报文的H(T_ID处于该保序流的链表头,则 OCP可以发送该网络报文至总线BUS上,然后OCP可以将该保序流中的下一个H(T_ID设为链表头,从而使得下一次保序处理时是针对下一个网络报文。若该网络报文的H(T_ID未处于保序流的链表头,则OCP可以根据保序请求队列中的REQ_ID,对BUFFER中缓存的下一个 REQ进行保序处理,而当前的REQ则需要等待下一次轮询。本实施例,在网络报文进入各通道时,OCP可以针对每个通道记录网络报文进入的先后顺序,OCP可以将各线程发送的网络报文进行缓存,并根据各线程发送的网络报文中包含的报文标识确定对应的保序流,根据保序流中包含的网络报文进入通道的先后顺序,对网络报文进行保序处理。因此,即使由于各线程的异步并行处理使得网络报文乱序,通过保序流也可以将网络报文的发送顺序排序为与网络报文进入网络设备通道的顺序一致,从而使得网络报文可以按照进入通道的先后顺序依次被发送。对于上述图1或图2所示的实施例来说,其既可以针对NPU侧的线程发送的网络报文进行保序处理,也可以针对COP侧的线程发送的网络报文进行保序处理。在一种应用场景中,NPU侧的线程发送的网络报文需要COP侧的线程发送相应的响应报文。因此,OCP可以针对NPU侧的线程发送的网络报文进行保序处理,在COP侧的线程发送相应的响应报文时,OCP可以针对COP侧的线程发送的响应报文再次进行保序处理。图4为本发明报文保序处理方法再一个实施例的流程图,图5为图4所示实施例在一种场景下的处理过程示意图,如图4和图5所示,不失一般性地,本实施例仅示出了三个线程,即线程A、线程B和线程C,且线程A当前持有的网络报文的H(T_ID为0,线程B当前持有的网络报文的I3KTJD为1,线程C当前持有的网络报文的H(T_ID为2,且这三个网络报文同属于一个通道。与该通道对应的保序流中对应的报文处理顺序为0、1、2,也即网络报文进入通道的先后顺序为0、1、2,而异步线程向OCP发送网络报文的先后顺序则为线程 B、线程A、线程C。依据该场景,本实施例可以包括步骤401、线程B、线程A和线程C依次向OCP发送REQ。线程B、线程A和线程C依次向OCP发送REQ,每个REQ均可以采用表2所示的描述。步骤402、0CP中的REQ BUFFER缓存REQ,并生成REQ_ID队列(以下简称REQ_ID Queue)。在本实施例中,该REQ_ID队列中的保序处理顺序即为1、0、2。步骤403、0CP中的调度单元(以下简称Schedule)从REQ_ID Queue中按保序处理顺序调度一个REQ_ID。步骤404、Schedule判断该REQ_ID是否处于保序流的链表头,若是,则执行步骤 405,否则执行步骤403。步骤405 Jchedule向REQ BUFFER发送REQ授权,将保序流中的下一个REQ_ID设为链表头。步骤406、REQ BUFFER将该REQ_ID对应的REQ发送到BUS上REQ先进先出(First In First Out,以下简称FIFO)队列。具体来说,Schedule可以从 REQ_ID Queue 中调度 REQ_ID “1”,然后,Schedule可以将调度的REQ_ID “1”与保序流的链表头中包含的REQ_ID相比较,从而判断该调度的 REQ.ID “1”是否处于保序流的链表头。在本实施例中,保序流当前的链表头为“0”,因此, Schedule调度的REQ_ID “1”对应的REQ不能发送到BUS FIFO队列上。此时,Schedule可以从REQ_ID Queue中调度REQ_ID “0”,然后,Schedule可以将调度的REQ_ID “0”与保序流的链表头中包含的REQ_ID相比较,从而判断该调度的REQ_ID“1”是否处于保序流的链表头。通过判断可知,REQ_ID “0”处于保序流的链表头,因此,khedule可以向REQ BUFFER 发送REQ授权,从而使得REQ BUFFER将REQ_ID “0”对应的REQ发送到BUS FIFO上,而且, khedule可以将保序流中的下一个REQ_ID “1”设为链表头。接着,Schedule可以从REQ_ ID Queue中调度REQ_ID “2”,然后,Schedule可以将调度的REQ_ID “2”与保序流当前的链表头中包含的REQ_ID相比较,从而判断该调度的REQ_ID “2”是否处于保序流的链表头。 由于,保序流当前的链表头中包含的REQ_ID为“ 1”,因此,khedule调度的REQ_ID “2,对应的REQ不能发送到BUS FIFO队列上。此时,khedule可以从REQ_IDQueue中调度REQ_ ID “1”,然后,khedule可以将调度的REQ_ID “1”与保序流当前的链表头中包含的REQ_ ID相比较,从而判断该调度的REQ_ID “1”是否处于保序流的链表头。通过判断可知,REQ_ ID “1”处于保序流当前的链表头,因此,khedule可以向REQ BUFFER发送REQ授权,从而使得REQ BUFFER将REQ_ID “ 1 ”对应的REQ发送到BUS FIFO上,而且,Schedule可以将保序流中的下一个REQ_ID “2”设为链表头。khedule可以将调度的REQ_ID “2”与保序流当前的链表头中包含的REQ_ID相比较,从而判断该调度的REQ_ID “2”是否处于保序流的链表头。通过判断可知,REQ_ID “2”处于保序流当前的链表头,因此,Schedule可以向REQ BUFFER发送REQ授权,从而使得REQ BUFFER将REQ_ID “2”对应的REQ发送到BUS FIFO 上。对于更多个网络报文来说,其均可以采用上述处理过程,此处不再赘述。通过上述处理过程,REQ FIFO队列中的REQ顺序即为REQA、REQB, REQC。步骤407、REQA, REQB, REQC 按序访问 C0P。对于COP反馈响应消息的处理过程来说,其可以将图5中乱序的响应消息(以下简称RSP),即RSPC、RSPA, RSPB通过采用上述步骤401 407类似的步骤被保序为RSPA、 RSPB、RSPC,从而被发送到对应的线程上。其中,对于RSP_ID以及RSP的描述结构来说,其对应地,与REQ_ID以及REQ的描述结构类似,此处不再赘述。本实施例,在上述图1或图2所示实施例的基础上,进一步地,还可以对COP发送的响应消息进行保序处理。图6为本发明保序协处理器一个实施例的结构示意图,如图6所示,本实施例的 OCP可以包括接收模块11、确定模块12以及保序处理模块13,其中,接收模块11用于接收线程发送的网络报文,所述网络报文中包含报文标识;确定模块12用于确定与所述报文标识对应的保序流,所述保序流与网络设备的一条通道对应且所述保序流中包含的报文处理顺序为网络报文进入所述通道的先后顺序;保序处理模块13用于根据所述报文处理顺序, 对所述网络报文进行保序处理。本实施例的OCP可以用于执行图1所示方法实施例的方法,其实现原理和技术效果类似,此处不再赘述。图7为本发明保序协处理器另一个实施例的结构示意图,如图7所示,本实施例的OCP在图6所示OCP的基础上,进一步地可以包括生成处理模块14和缓存处理模块15,其中,生成处理模块14用于根据所述网络报文进入通道的先后顺序,生成与该通道对应的保序流,并生成所述网络报文的报文标识与所述保序流之间的对应关系;确定模块12具体用于根据所述生成处理模块生成的所述对应关系,确定所述网络标识对应的保序流;缓存处理模块15,该缓存处理模块15用于缓存各线程发送的网络报文,并生成包含保序处理顺序的保序请求队列,所述保序处理顺序为各线程发送网络报文的先后顺序;确定模块12还可以具体用于根据所述保序处理顺序,依次确定各网络报文的报文标识对应的保序流。保序处理模块13包括判断单元131以及处理单元132,其中,判断单元131用于判断所述网络报文的报文标识是否处于所述保序流的链表头;处理单元132用于若所述网络报文的报文标识处于所述保序流的链表头,则发送所述网络报文,并将所述保序流中的下一个报文标识设为链表头;若所述网络报文的报文标识未处于所述保序流的链表头,则根据所述保序处理顺序对下一个网络报文进行保序处理。本实施例的OCP可以用于执行图2所示方法实施例的方法,其实现原理和技术效果类似,此处不再赘述。图8为本发明保序协处理器再一个实施例的结构示意图,如图8所示,本实施例的OCP在图6所示OCP的基础上,进一步地,接收模块11可以包括第一接收单元111和第二接收单元112,其中,第一接收单元111用于接收网络处理器单元侧的线程发送的网络报文;第二接收单元112用于接收协处理器侧的线程发送的网络报文。本实施例的OCP可以用于执行图4所示方法实施例的方法,其实现原理和技术效果类似,此处不再赘述。需要说明的是,本实施例中的第一接收单元111和第二接收单元112也可以择其一存在,其可以执行图1或者图2所示实施例的方法。在图6 8所示的实施例中,保序协处理器均可以采用ASIC技术实现,本领域技术人员可以根据本发明实施例的构思,自行设计具体的电路图,本实施例不作限定。图9为本发明网络设备一个实施例的结构示意图,如图9所示,本实施例的网络设备可以包括依次连接的网络处理器单元1、保序协处理器2以及协处理器3,其中,保序协处理器2可以采用图6 8中任一实施例所示的结构,其对应地可以执行图1、2或4所示方法实施例的方法,其实现原理和技术效果类似,此处不再赘述。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
权利要求
1.一种报文保序处理方法,其特征在于,包括接收线程发送的网络报文,所述网络报文中包含报文标识;确定与所述报文标识对应的保序流,所述保序流与网络设备的一条通道对应且所述保序流中包含的报文处理顺序为网络报文进入所述通道的先后顺序; 根据所述报文处理顺序,对所述网络报文进行保序处理。
2.根据权利要求1所述的方法,其特征在于,所述接收线程发送的网络报文之前,还包括根据网络报文进入通道的先后顺序,生成与该通道对应的保序流,并生成所述网络报文的报文标识与所述保序流之间的对应关系;所述确定与所述报文标识对应的保序流,包括 根据所述对应关系,确定所述网络标识对应的保序流。
3.根据权利要求1或2所述的方法,其特征在于,确定与所述报文标识对应的保序流之前,还包括缓存各线程发送的网络报文,并生成包含保序处理顺序的保序请求队列,所述保序处理顺序为各线程发送网络报文的先后顺序;所述确定与所述报文标识对应的保序流,包括根据所述保序处理顺序,依次确定各网络报文的报文标识对应的保序流。
4.根据权利要求3所述的方法,其特征在于,所述根据所述保序流中的报文处理顺序, 对所述网络报文进行保序处理,包括若所述网络报文的报文标识处于所述保序流的链表头,则发送所述网络报文,并将所述保序流中的下一个报文标识设为链表头;若所述网络报文的报文标识未处于所述保序流的链表头,则根据所述保序处理顺序对下一个网络报文进行保序处理。
5.根据权利要求1或2所述的方法,其特征在于,所述接收线程发送的网络报文,包括接收网络处理器单元侧的线程发送的网络报文;和/或, 接收协处理器侧的线程发送的网络报文。
6.一种保序协处理器,其特征在于,包括接收模块,用于接收线程发送的网络报文,所述网络报文中包含报文标识; 确定模块,用于确定与所述报文标识对应的保序流,所述保序流与网络设备的一条通道对应且所述保序流中包含的报文处理顺序为网络报文进入所述通道的先后顺序; 保序处理模块,用于根据所述报文处理顺序,对所述网络报文进行保序处理。
7.根据权利要求6所述的保序协处理器,其特征在于,还包括生成处理模块,用于根据所述网络报文进入通道的先后顺序,生成与该通道对应的保序流,并生成所述网络报文的报文标识与所述保序流之间的对应关系;所述确定模块,具体用于根据所述生成处理模块生成的所述对应关系,确定所述网络标识对应的保序流。
8.根据权利要求6或7所述的保序协处理器,其特征在于,还包括缓存处理模块,用于缓存各线程发送的网络报文,并生成包含保序处理顺序的保序请求队列,所述保序处理顺序为各线程发送网络报文的先后顺序;所述确定模块,具体用于根据所述保序处理顺序,依次确定各网络报文的报文标识对应的保序流。
9.根据权利要求6或7所述的保序协处理器,其特征在于,所述保序处理模块,包括判断单元,用于判断所述网络报文的报文标识是否处于所述保序流的链表头;处理单元,用于若所述网络报文的报文标识处于所述保序流的链表头,则发送所述网络报文,并将所述保序流中的下一个报文标识设为链表头;若所述网络报文的报文标识未处于所述保序流的链表头,则根据所述保序处理顺序对下一个网络报文进行保序处理。
10.根据权利要求6或7所述的保序协处理器,其特征在于,所述接收模块,包括下述至少一个单元第一接收单元,用于接收网络处理器单元侧的线程发送的网络报文;第二接收单元,用于接收协处理器侧的线程发送的网络报文。
11.根据权利要求6或7所述的保序协处理器,其特征在于,所述保序协处理器采用专用集成电路实现。
12.—种网络设备,其特征在于,包括依次连接的网络处理器单元、保序协处理器以及协处理器,所述保序协处理器采用权利要求6 11任一权利要求所述的保序协处理器。
全文摘要
本发明实施例提供一种报文保序处理方法、保序协处理器和网络设备。报文保序处理方法,包括接收线程发送的网络报文,所述网络报文中包含报文标识;确定与所述报文标识对应的保序流,所述保序流与网络设备的一条通道对应且所述保序流中包含的报文处理顺序为网络报文进入所述通道的先后顺序;根据所述报文处理顺序,对所述网络报文进行保序处理。本发明实施例可以在多线程异步处理报文的情况下,对报文进行保序处理。
文档编号H04L12/56GK102204183SQ201180000530
公开日2011年9月28日 申请日期2011年5月9日 优先权日2011年5月9日
发明者佟兴, 尹永宁, 高亮 申请人:华为技术有限公司