CN101291194B - 报文保序的方法和系统 - Google Patents

报文保序的方法和系统 Download PDF

Info

Publication number
CN101291194B
CN101291194B CN2008100978837A CN200810097883A CN101291194B CN 101291194 B CN101291194 B CN 101291194B CN 2008100978837 A CN2008100978837 A CN 2008100978837A CN 200810097883 A CN200810097883 A CN 200810097883A CN 101291194 B CN101291194 B CN 101291194B
Authority
CN
China
Prior art keywords
message
outgoing interface
sequence number
expectation
serial number
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.)
Expired - Fee Related
Application number
CN2008100978837A
Other languages
English (en)
Other versions
CN101291194A (zh
Inventor
梁斌
赵鸽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Digital Technologies Chengdu Co Ltd
Original Assignee
Huawei Symantec Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Symantec Technologies Co Ltd filed Critical Huawei Symantec Technologies Co Ltd
Priority to CN2008100978837A priority Critical patent/CN101291194B/zh
Publication of CN101291194A publication Critical patent/CN101291194A/zh
Application granted granted Critical
Publication of CN101291194B publication Critical patent/CN101291194B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明的实施例公开了一种报文保序的方法和系统,涉及网络通信技术,为提高报文保序处理的性能,减少报文的阻塞而发明。所述方法包括:比较出接口的报文序号与期望发送序号的大小;若出接口的报文序号等于期望发送序号,则直接发送该报文;若出接口的报文序号大于期望发送序号,判断从期望发送序号到该报文序号之间所有待发送报文的出接口号是否都已经查到,如果有部分出接口号未查到,则该报文入缓存队列;如果所有出接口号都已经查到,判断该报文与所述所有待发送报文的出接口号是否有相同的出接口号,若无相同的出接口,则直接发送该报文;若有相同的出接口,则该报文入缓存队列。本发明的实施例通过增加对出接口的判断能够减少报文的阻塞。

Description

报文保序的方法和系统
技术领域
本发明涉及网络通信技术,尤其涉及一种在多核处理器中使用的报文保序的方法和系统。
背景技术
宽带网络发展迅速,对网络报文的处理的要求越来越高,除了路由转发之外,还要求对网络报文的状态和内容等进行检查,出现了很多对性能要求很高的网络安全设备和内容处理设备,因此灵活的网络处理器或者通用多核处理器也越来越多的应用在网络设备上,这两者都属于多核处理器的范畴。
对网络报文的处理要求,除了高的转发性能之外,还要有低的延迟和抖动,并且报文的顺序要有保证,这些都是与网络处理性能相关的,网络上的语音和视频等报文的处理要求更高。
多核处理器的应用,将报文的处理分散到多个处理单元处理。虽然单个处理器内核的性能有限,但是多个处理器内核集合起来就可以提供很高的处理能力。但是利用多核处理器对网络报文进行处理也带来很大的复杂性,如图1所示,由于每个报文从入接口到出接口的停留时间不同,所以在出接口之前要进行保序处理。所谓保序处理,就是保证从同一个入接口接收到的报文,从同一个出接口发送出去的时候还保持原来的顺序。
现有技术的保序处理,是在报文分发处理中,为每个进入接口的报文打上序号,每进入一个报文,序号递增1。报文在每个处理器中处理完后,由保序单元进行保序处理。对同一个入接口的报文数据严格按照序号发送出去,即在保序单元中维护一个先入先出缓存队列(FIFO,First in first out),如果应该发送序号的报文没有到达,则比这个报文序号大的报文就要等待。
在实现本发明的过程中,发明人发现现有技术中至少存在以下问题:
没有考虑不同的出接口发送情形,如果先到达出接口的报文的报文序号比期望发送序号大,即使不是由同一个出接口发送,也需要等待:一方面,在遇到某个报文处理时间比较长时,将导致出接口处的报文阻塞;另一方面,对于报文在处理中被丢弃的情形,后续报文将等待较长时间,也会导致出接口处的报文堵塞。
发明内容
本发明实施例要解决的技术问题是提供一种报文保序的方法和系统,能够提高报文保序处理的性能,减少报文的阻塞。
为实现上述目的,本发明的实施例是通过以下技术方案实现的:
一方面,本发明的实施例提供了一种报文保序的方法,包括以下步骤:
为每个入接口的报文添加报文序号,查找每个入接口的报文的出接口号,在缓存队列的相应位置设置每个入接口的报文的出接口号;
比较出接口的报文序号与期望发送序号的大小;
若出接口的报文序号等于期望发送序号,则直接发送该报文;
若出接口的报文序号大于期望发送序号,判断从期望发送序号到该报文序号之间所有待发送报文的出接口号是否都已经查到,如果有部分出接口号未查到,则该报文入缓存队列;如果所有出接口号都已经查到,判断该报文与所述所有待发送报文的出接口号是否有相同的出接口号,若无相同的出接口,则直接发送该报文;若有相同的出接口,则该报文入缓存队列。
本发明的实施例提供的报文保序的方法,对于到达出接口的报文,通过比较出接口的报文序号与期望发送序号的大小,对于出接口的报文序号大于期望发送序号的报文,通过检查判断从期望发送序号到该报文序号之间所有待发送报文的出接口号,在所述所有待发送报文的出接口号都已经查到并且与该报文出接口号不同时,直接发送该报文。这样,通过在进行报文保序处理时增加了对出接口的判断,使不是同一个出接口发送的先到达报文可以直接发送出去,增加了报文吞吐量,减少了网络报文流量的抖动,因此提高了报文保序处理的性能,减少了报文的堵塞。
另一方面,本发明的实施例提供了一种报文保序的系统,包括:
接收报文处理单元,用于为每个入接口的报文添加报文序号,查找每个入接口的报文的出接口号,在缓存队列的相应位置设置每个入接口的报文的出接口号;
序号比较单元,用于比较出接口的报文序号与期望发送序号的大小;若出接口的报文序号等于期望发送序号,则进入报文发送单元;若出接口的报文序号大于期望发送序号,则进入出接口号检查单元;
出接口号检查单元,用于在出接口的报文序号大于期望发送序号时,检查从期望发送序号到该报文序号之间所有待发送报文的出接口号,如果有部分出接口号未查到,则进入缓存队列;如果所有出接口号都已经查到,则进入出接口号判断单元;
出接口号判断单元,用于在所述所有缓存报文出接口号都已经查到,判断该报文与所述所有待发送报文的出接口号是否有相同的出接口号,若无相同的出接口,则进入报文发送单元;若有相同的出接口,则进入缓存队列;
报文发送单元,用于直接发送该报文;
缓存队列,用于缓存报文。
本发明的实施例提供的报文保序的系统,由序号比较单元比较出接口的报文序号与期望发送序号的大小,对于出接口的报文序号大于期望发送序号的报文,通过出接口号检查单元和出接口号判断单元对从期望发送序号到该报文序号之间所有待发送报文的出接口号进行检查判断,在所述所有待发送报文的出接口号都已经查到并且与该报文出接口号不同时,直接发送该报文。这样,通过在进行报文保序处理时增加了对出接口的判断,使不是同一个出接口发送的先到达报文可以直接发送出去,增加了报文吞吐量,减少了网络报文流量的抖动,因此提高了报文保序处理的性能,减少了报文的堵塞。
附图说明
图1为现有技术中报文保序处理的原理图;
图2为本发明实施例一提供的缓存队列结构图;
图3为本发明实施例二提供的报文保序的方法的流程图;
图4为本发明实施例三提供的报文保序的系统的结构图;
图5为本发明实施例四提供的报文保序的系统的结构图;
图6为本发明报文保序处理的一个具体实例的流程示意图。
具体实施方式
为使本发明的技术方案更加清楚,下面结合附图及具体实施例对本发明进行详细说明。
参见图2,为本发明实施例一提供的缓存队列结构图,缓存队列为多个,对应每个入接口设置,一个缓存队列用于缓存来自同一入接口的出接口的报文,其数据结构包括报文序号、出接口号、丢弃状态、发送状态及报文指针字段,其中,所述报文序号在接收报文时添加,用于标识进入接口的报文顺序;所述出接口号在接收报文时查找设置,用于标识报文对应的出接口号;所述丢弃状态用于标识缓存位置的报文的状态是否为已丢弃;所述发送状态用于标识缓存位置的报文的状态是否为已发送;所述缓存报文指针用于指向下一个缓存位置的报文。
缓存队列的长度取2的整数倍,最好取2的整数次幂,这样可以直接用报文序号的低位找到报文在缓存队列的位置,比如缓存队列长度为16,即2的4次方,则取报文序号(以二进制表示)的后4位作为其缓存队列的位置,例如对于报文序号是76的报文,用二进制表示是1001100,后四位是1100,换成10进制是12,则该报文入缓存队列12的位置。
对应每个入接口维护一个期望发送序号(ESN,Expected Serial Number),ESN的初始化可以有多种方式,可以是进入此接口的第一个报文的序号,也可以从0开始计数,不做限定。维护的方式是每发送一个报文,ESN增加1。
基于本发明实施例一提供的缓存队列,本发明实施例二提供了一种报文保序的方法,如图3所示,包括:
步骤301,比较出接口的报文序号与期望发送序号的大小。
对于进入接口的报文,系统为每个入接口的报文添加报文序号,序号随着报文数量递增,用于标识进入接口的报文顺序;在报文处理中,查找入接口报文的出接口号,一旦查到立即在缓存队列的相应位置中设置该报文的出接口号。
此时需要考虑丢弃报文的情况:如果缓存报文位置与ESN报文位置相差太远,则认为是异常报文,直接丢弃。通常缓存队列会设置比较大,按照多核处理器处理的速度,要处理的报文序号都应该在ESN附近,如果某个报文在处理器中停留了很长时间,或者是处理过程中发生了错误,那么这个报文的序号就会偏离ESN太多,这样的报文就需要丢弃,这种情况是对保序机制的一种保护,避免引起其他报文的混乱,这时不需要更新ESN。比如当前的ESN是100,突然来了一个序号是500的报文,这个报文是异常报文,就要丢弃。
对于出接口的报文序号小于期望发送序号的报文,该报文不入缓存队列,直接进行丢弃,不更新期望发送序号。
步骤302,若出接口的报文序号等于期望发送序号,则直接发送该报文。
对于出接口的报文序号等于期望发送序号的报文,该报文不入缓存队列,直接发送出去,并更新期望发送序号,即对当前期望发送序号加1。在更新期望发送序号步骤之后将触发以下操作:
检查更新后期望发送序列指向的缓存位置的报文的状态,若该缓存位置的报文状态为已发送或者为已丢弃,更新期望发送序号,即对当前期望发送序号加1;若该缓存位置的报文状态为未发送,则直接发送该报文,并更新期望发送序号。
步骤303,若出接口的报文序号大于期望发送序号,判断从期望发送序号到该报文序号之间所有待发送报文的出接口号是否都已经查到,如果有部分出接口号未查到,则转入步骤304;如果所有出接口号都已经查到,转入步骤305。
所述从期望发送序号到该报文序号之间所有待发送报文不包括报文状态设置为已发送或已丢弃的报文。
步骤304,该报文入所述缓存队列。
步骤305,判断该报文与所述所有待发送报文的出接口号是否有相同的出接口号,若无相同的出接口,则转入步骤303;若有相同的出接口,则转入步骤305。
报文在处理过程中如果被多核处理器丢弃,则检查被丢弃的报文序号与期望发送序号的大小,如果等于期望发送序号,则直接更新ESN;如果大于,则设置该报文缓存位置的状态为已丢弃,这时不需要立即更新ESN,因为ESN的报文还没有被发送走,只有当ESN更新到这个缓存位置的报文时,检查状态是已丢弃,则ESN再加1;如果小于,则直接丢弃该报文,不更新期望发送序号。
本发明实施例二提供的报文保序的方法,对于到达出接口的报文,不但在报文序号等于期望发送序号时进行直接报文发送,而且对于不同出接口的报文,即使在报文序号大于期望发送序号的情形下,也可有条件的进行直接发送,这样,在进行报文保序处理时考虑到了出接口,使不是同一个出接口发送的先到达报文可以无需等待而直接发送出去,减少了报文的阻塞,提高了报文保序处理的性能。
同时,本发明实施例在接收报文处理时,为每个进入接口的报文添加报文序号,并查找每个报文的出接口号,一旦查找到立即在缓存队列的相应位置设置该报文的出接口号,节省了报文后续处理时间,减少了报文堵塞。
而且,本发明实施例对丢弃报文的情况做出了处理,如果某个报文在处理器中停留了很长时间,或者是处理过程中发生了错误,那么这个报文的序号就会偏离ESN太多,这样的报文就需要丢弃,这种情况是对保序机制的一种保护,使后续报文无需等待较长时间,避免引起其他报文的混乱,提高了报文保序处理的性能。
基于本发明实施例二提供的报文保序的方法,本发明实施例三提供了一种报文保序的系统,如图4所示,包括:
序号比较单元401,用于比较出接口的报文序号与期望发送序号的大小;若出接口的报文序号等于期望发送序号,则进入报文发送单元405;若出接口的报文序号大于期望发送序号,则进入出接口号检查单元402;
出接口号检查单元402,用于在出接口的报文序号大于期望发送序号时,检查从期望发送序号到该报文序号之间所有待发送报文的出接口号,如果有部分出接口号未查到,则进入缓存队列;如果所有出接口号都已经查到,则判断该报文与所述所有待发送报文的出接口号是否有相同的出接口号,若无相同的出接口,则进入报文发送单元405;若有相同的出接口,则进入缓存队列406;
所述从期望发送序号到该报文序号之间所有待发送报文的出接口号,不包括报文状态设置为已发送或已丢弃的报文。
出接口号判断单元403,用于在所述所有缓存报文出接口号都已经查到,判断该报文与所述所有待发送报文的出接口号是否有相同的出接口号,若无相同的出接口,则进入报文发送单元405;若有相同的出接口,则进入缓存队列406;
报文发送单元404,用于直接发送该报文;
缓存队列405,用于缓存报文。
本发明实施例三提供的报文保序的系统,对于到达出接口的报文,首先由序号比较单元401对报文序号与期望发送序号的大小进行比较,对于报文序号等于期望发送序号的报文由报文发送单元404进行直接发送,对于报文序号大于期望发送序号的报文由出接口号检查单元402和出接口号判断单元403对从期望发送序号到该报文序号之间所有待发送报文的出接口号进行检查判断,在所述所有待发送报文的出接口号都已经查到并且与该报文出接口号不同时,直接发送该报文。这样,在进行报文保序处理时考虑到了出接口,使不是同一个出接口发送的先到达报文可以无需等待而直接发送出去,增加了报文吞吐量,减少了网络报文流量的抖动和堵塞,提高了报文保序处理的性能。
图5所示为本发明实施例四提供的报文保序的系统的结构图,在本发明实施例三提供系统的基础上,所述系统还包括:
接收报文处理单元501,用于为每个入接口的报文添加报文序号,查找每个入接口的报文的出接口号,在缓存队列的相应位置设置每个入接口的报文的出接口号。
丢弃报文处理单元502,用于处理在处理过程中被丢弃的报文,若被丢弃的报文序号等于期望发送序号,更新期望发送序号;若被丢弃的报文序号大于期望发送序号,设置该报文缓存位置的状态为已丢弃。
所述报文发送单元404还用于在报文序号等于期望发送序号,更新期望发送序号;在报文序号大于期望发送序号时,设置该报文缓存位置的状态为已发送。所述缓存队列405为多个,一个缓存队列用于缓存来自同一入接口的出接口的报文。
更进一步,在所述报文发送单元404之后,所述系统还包括:
缓存报文处理单元503,用于检查更新后期望发送序列指向的缓存位置的报文的状态,若该缓存位置报文的状态为已发送或者为已丢弃,更新期望发送序号;若该缓存位置报文的状态为未发送,则直接发送该报文,并更新期望发送序号。
报文丢弃单元504,用于在出接口的报文序号或者被丢弃的报文序号小于期望发送序号,则直接丢弃该报文。
本发明实施例四提供的报文保序的系统,由接收报文处理单元501在接收入接口的报文时,为每个入接口的报文添加报文序号,查找每个入接口的报文的出接口号,在缓存队列的相应位置设置每个入接口的报文的出接口号,从而节省了报文后续处理时间,减少了报文堵塞。
并且,由丢弃报文处理单元502,对在处理过程中被丢弃的报文做出处理:若被丢弃的报文序号等于期望发送序号,更新期望发送序号;若被丢弃的报文序号大于期望发送序号,设置该报文缓存位置的丢弃状态为已丢弃。这种处理是对保序机制的一种保护,使后续报文无需等待较长时间,提高了报文保序处理的性能。
同时,所述报文发送单元404在出接口的报文序号等于期望发送序号或被丢弃的报文序号等于期望发送序号时,更新期望发送序号,并触发缓存报文处理单元503,对更新后的期望发送序列指向的缓存位置的报文做检查,进行相应的缓存队列报文的处理,所述缓存队列405为多个,一个缓存队列用于缓存来自同一入接口的出接口的报文:若该缓存位置报文的状态为已发送或者为已丢弃,更新期望发送序号;若该缓存位置报文的状态为未发送,则直接发送该报文,并更新期望发送序号。这样,可以避免引起其他报文的混乱,从而提高了报文保序处理的性能。
最后,对本发明实施例提供的报文保序的处理过程举例进行说明:
如图6所示,在入接口1由接收报文处理单元501接收10个报文,报文序号依次为0至9,有两个出接口号(出接口号1和出接口号2),假设偶数序号报文由出接口号2发送,奇数序号报文由出接口号1发送;针对入接口1,发明实施例需要维护1个缓存队列405,假设缓存长度为8,ESN初始化为0。到达出接口的报文序号依次为0、1、3、2、6、5、8、4、9、7,其中报文序号6的报文在处理过程中,被多核处理器丢弃,由丢弃报文处理单元502进行相应的处理。报文处理的过程如下:
1)序号为0的报文到达出接口号2,符合ESN,则此报文发送,ESN更新(加1)后为1。
2)序号为1的报文到达出接口号1,符合ESN,则此报文发送,ESN更新(加1)后为2。
3)序号为3的报文到达出接口号1,不符合ESN,分为两种情况,a,ESN此时指向的缓存位置是2,查不到缓存位置2的出接口号,则此报文入缓存队列中序号为3的位置;b,在ESN指向的缓存位置2可以查到出接口号(虽然此时报文2还没有到达出接口号,但是已经在报文接收处理过程中查到了出接口号为2,并设置了缓存队列位置2的出接口号为2),发现序号3的报文出接口号与ESN的不同,则序号3的报文直接发送,并在缓存位置3中置为已发送。此步骤中ESN不需要更新。
4)序号为2的报文到达出接口号2,此时报文序号与ESN相同,此报文直接发送,ESN更新为3,根据步骤3),后续有两种处理方式,a,缓存位置3中有报文,则发送此缓存位置的报文,ESN更新为4;b,缓存位置3的状态为已发送,ESN直接更新为4。
5)序号为6的报文在处理过程中被丢弃,则置缓存位置6的状态为已丢弃。ESN不更新。
6)序号为5的报文到达出接口号1,处理方法同步骤3):a,假设没有查到报文4的出接口号,则序号为5的报文入缓存位置5;b,假设已经在报文接收处理过程中查到了报文4的出接口号为2,并设置了缓存队列位置4的出接口号为2,发现序号5的报文出接口号为1,与ESN的不同,则序号5的报文直接发送,并在缓存位置5中置为已发送。此时ESN不更新。
7)序号为8的报文到达出接口号2,查当前报文位置8到ESN缓存位置4的信息,a,查不到缓存位置7的出接口号信息,那么,此报文入缓存队列位置0(8的后3位都是0);b,查到缓存位置7的出接口号为1,ESN为4,对应的出接口号为2,与序号为8的报文出接口号相同,那么,此报文入缓存队列位置0,注意,此时无需检查序号为5(已发送)和序号为6(已丢弃)的出接口号。
8)序号为4的报文到达出接口号2,等于ESN,直接发送,并更新ESN为5;进一步地,相应于步骤6),a,若检查发现缓存位置5有报文,则发送缓存位置为5的报文,ESN更新为6;b,若检查发现缓存位置5的报文置为已发送,则直接更新ESN为6;再进一步地,检查缓存队列6的位置,发现状态为已丢弃,ESN直接更新为7。
9)序号为9的报文到达出接口号1,a,假设此时未查到序号为7报文的出接口号,则当前报文入缓存队列位置1(9的后3位);b,假设此时序号为7的报文已经查到出接口号,并已经置缓存位置7的出接口号为1,并检查到缓存位置0(也就是序号为8报文的缓存位置)的出口为2,当前报文出接口号与缓存位置7的报文的出接口号相同,则当前报文入缓存队列位置1。
10)序号为7的报文到达出接口号1,与ESN相同,直接发送,更新ESN为8;检查缓存位置为0的报文,发现序号为8,则直接发送,更新ESN为9;检查缓存位置1的报文,发现序号为9,则直接发送,更新ESN为10。
至此,进入接口1的报文全部处理完毕。在本发明具体实施例中,如果在接收报文处理中,由路由器查找到每个进入接口报文的出接口号,并立即在缓存队列中设置该报文序号的出接口号,那么所有的保序处理过程都将按照b方式进行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,所述存储介质可以是只读存储器、磁盘或光盘等。
当然,本发明的实施例还可有多种,在不背离本发明的实施例精神及其实质的情况下,本领域技术人员当可根据本发明的实施例做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明的实施例所附的权利要求的保护范围。

Claims (11)

1.一种报文保序的方法,其特征在于,包括以下步骤:
为每个入接口的报文添加报文序号,查找每个入接口的报文的出接口号,在缓存队列的相应位置设置每个入接口的报文的出接口号;
比较出接口的报文序号与期望发送序号的大小;
若出接口的报文序号等于期望发送序号,则直接发送该报文;
若出接口的报文序号大于期望发送序号,判断从期望发送序号到该报文序号之间所有待发送报文的出接口号是否都已经查到,如果有部分出接口号未查到,则该报文入缓存队列;如果所有出接口号都已经查到,判断该报文与所述所有待发送报文的出接口号是否有相同的出接口号,若无相同的出接口,则直接发送该报文;若有相同的出接口,则该报文入缓存队列。
2.根据权利要求1所述的报文保序的方法,其特征在于,在所述直接发送该报文步骤之后还包括:
若报文序号等于期望发送序号,更新期望发送序号;
若报文序号大于期望发送序号,设置该报文缓存位置的发送状态为已发送。
3.根据权利要求1所述的报文保序的方法,其特征在于,所述报文保序的方法还包括步骤:
对于在处理过程中被丢弃的报文,比较被丢弃报文的报文序号与期望发送序号的大小;
若被丢弃的报文序号等于期望发送序号,更新期望发送序号;
若被丢弃的报文序号大于期望发送序号,设置该报文缓存位置的丢弃状态为已丢弃。
4.根据权利要求2或3所述的报文保序的方法,其特征在于,在所述更新期望发送序号步骤之后还包括:
检查更新后期望发送序列指向的缓存位置的报文的状态,若该缓存位置报文的状态为已发送或者为已丢弃,更新期望发送序号;若该缓存位置报文的状态为未发送,则直接发送该报文,并更新期望发送序号。
5.根据权利要求1所述的报文保序的方法,其特征在于,所述报文保序的方法还包括步骤:
若出接口的报文序号或者被丢弃的报文序号小于期望发送序号,则直接丢弃该报文。
6.一种报文保序的系统,其特征在于,包括:
接收报文处理单元,用于为每个入接口的报文添加报文序号,查找每个入接口的报文的出接口号,在缓存队列的相应位置设置每个入接口的报文的出接口号;
序号比较单元,用于比较出接口的报文序号与期望发送序号的大小;若出接口的报文序号等于期望发送序号,则进入报文发送单元;若出接口的报文序号大于期望发送序号,则进入出接口号检查单元;
出接口号检查单元,用于在出接口的报文序号大于期望发送序号时,检查从期望发送序号到该报文序号之间所有待发送报文的出接口号,如果有部分出接口号未查到,则进入缓存队列;如果所有出接口号都已经查到,则进入出接口号判断单元;
出接口号判断单元,用于在所述所有待发送报文出接口号都已经查到,判断该报文与所述所有待发送报文的出接口号是否有相同的出接口号,若无相同的出接口,则进入报文发送单元;若有相同的出接口,则进入缓存队列;
报文发送单元,用于直接发送该报文;
缓存队列,用于缓存报文。
7.根据权利要求6所述的报文保序的系统,其特征在于,所述缓存队列为多个,一个缓存队列用于缓存来自同一入接口的出接口的报文。
8.根据权利要求6所述的报文保序的系统,其特征在于,所述报文发送单元还用于在报文序号等于期望发送序号,更新期望发送序号;在报文序号大于期望发送序号时,设置该报文缓存位置的状态为已发送。
9.根据权利要求6所述的报文保序的系统,其特征在于,所述系统还包括:
丢弃报文处理单元,用于处理在处理过程中被丢弃的报文,若被丢弃的报文序号等于期望发送序号,更新期望发送序号;若被丢弃的报文序号大于期望发送序号,设置该报文缓存位置的状态为已丢弃。
10.根据权利要求6所述的报文保序的系统,其特征在于,所述报文保序的系统还包括:
缓存报文处理单元,用于检查更新后期望发送序列指向的缓存位置的报文的发送状态和丢弃状态,若该缓存位置报文的发送状态为已发送或丢弃状态为已丢弃,更新期望发送序号;若该缓存位置报文的发送状态为未发送,则直接发送该报文,并更新期望发送序号。
11.根据权利要求6所述的报文保序的系统,其特征在于,所述报文保序的系统还包括:
报文丢弃单元,用于在出接口的报文序号或者被丢弃的报文序号小于期望发送序号,则直接丢弃该报文。
CN2008100978837A 2008-05-20 2008-05-20 报文保序的方法和系统 Expired - Fee Related CN101291194B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008100978837A CN101291194B (zh) 2008-05-20 2008-05-20 报文保序的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008100978837A CN101291194B (zh) 2008-05-20 2008-05-20 报文保序的方法和系统

Publications (2)

Publication Number Publication Date
CN101291194A CN101291194A (zh) 2008-10-22
CN101291194B true CN101291194B (zh) 2010-08-25

Family

ID=40035298

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100978837A Expired - Fee Related CN101291194B (zh) 2008-05-20 2008-05-20 报文保序的方法和系统

Country Status (1)

Country Link
CN (1) CN101291194B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101815034B (zh) * 2010-03-26 2012-07-25 迈普通信技术股份有限公司 任务间消息发送方法及通信设备
WO2011120467A2 (zh) * 2011-05-09 2011-10-06 华为技术有限公司 报文保序处理方法、保序协处理器和网络设备
CN102710524B (zh) * 2012-06-15 2015-01-21 大连梯耐德网络技术有限公司 一种多协议网络报文传输保序系统的实现方法
CN102868635B (zh) * 2012-08-24 2016-02-17 汉柏科技有限公司 多核多线程的报文保序方法及系统
CN102891809B (zh) * 2012-09-25 2015-09-16 汉柏科技有限公司 多核网络设备报文按接口保序方法及系统
CN104184671B (zh) * 2013-05-23 2018-02-09 广州思唯奇计算机科技有限公司 一种智能变电站网络风暴的抑制方法和装置
CN103532763B (zh) * 2013-10-21 2017-11-17 迈普通信技术股份有限公司 一种故障定位方法及装置
CN106603588B (zh) * 2015-10-14 2020-05-15 北京国双科技有限公司 服务器节点的处理方法及装置
CN107733813B (zh) * 2016-08-12 2022-11-18 中兴通讯股份有限公司 报文转发方法及装置
CN107483362A (zh) * 2017-07-11 2017-12-15 郑州云海信息技术有限公司 一种基于移位寄存器的报文调度方法
CN109981481B (zh) * 2019-01-16 2022-11-11 北京左江科技股份有限公司 一种多现场保护的设计方法
CN109936514B (zh) * 2019-04-29 2022-06-21 新华三信息安全技术有限公司 一种报文处理方法和装置
CN113259274B (zh) * 2021-06-11 2022-05-31 深圳市网是科技有限公司 多核模式下处理网络报文乱序和负载均衡的方法及存储介质
CN114124854B (zh) * 2021-11-29 2024-02-09 天融信雄安网络安全技术有限公司 报文处理方法、装置、电子设备及可读存储介质

Also Published As

Publication number Publication date
CN101291194A (zh) 2008-10-22

Similar Documents

Publication Publication Date Title
CN101291194B (zh) 报文保序的方法和系统
US6922408B2 (en) Packet communication buffering with dynamic flow control
US7251219B2 (en) Method and apparatus to communicate flow control information in a duplex network processor system
US8121035B2 (en) Apparatus and method for packet buffer management in IP network system
CN100451975C (zh) 实现多核cpu进行报文联合处理的系统及方法
EP2051459B1 (en) A backpressure method, system and intermediate stage switch node
WO2006063298A1 (en) Techniques to manage flow control
CA2470758A1 (en) Deferred queuing in a buffered switch
AU4435699A (en) Optimizing the transfer of data packets between lans
JP2001127766A (ja) ラインインターフェース装置、及び、パケット交換機
US6721335B1 (en) Segment-controlled process in a link switch connected between nodes in a multiple node network for maintaining burst characteristics of segments of messages
JP2001292164A (ja) パケット・スイッチおよびその切替方法
US7486689B1 (en) System and method for mapping InfiniBand communications to an external port, with combined buffering of virtual lanes and queue pairs
US20080062960A1 (en) Systems and methods for packet forward control
US6445706B1 (en) Method and device in telecommunications system
EP1351439B1 (en) Embedded system for broadcast traffic congestion control in communication network
CN101911612A (zh) 分组丢失得以降低的网络卸载
US20140185629A1 (en) Queue processing method
US8006006B2 (en) System and method for aggregating transmit completion interrupts
KR100310288B1 (ko) 라우터 시스템에서의 파이프 라인 룩업 처리를 위한포워딩 엔진장치
JP2007259374A (ja) ネットワーク送受信装置
JP2015507408A (ja) 効率的なネットワークアドレス変換およびアプリケーションレベルゲートウェイ処理のための装置および方法
US10581759B1 (en) Sharing packet processing resources
US20040249933A1 (en) Network interface parameters
JP2007267051A (ja) パケット受信回路

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: CHENGDU CITY HUAWEI SAIMENTEKE SCIENCE CO., LTD.

Free format text: FORMER OWNER: HUAWEI TECHNOLOGY CO., LTD.

Effective date: 20090424

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20090424

Address after: Qingshui River District, Chengdu high tech Zone, Sichuan Province, China: 611731

Applicant after: Chengdu Huawei Symantec Technologies Co., Ltd.

Address before: Headquarters office building, Bantian HUAWEI base, Longgang District, Guangdong, Shenzhen Province, China: 518129

Applicant before: Huawei Technologies Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: HUAWEI DIGITAL TECHNOLOGY (CHENGDU) CO., LTD.

Free format text: FORMER NAME: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES CO., LTD.

CP01 Change in the name or title of a patent holder

Address after: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee after: Huawei Symantec Technologies Co., Ltd.

Address before: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee before: Chengdu Huawei Symantec Technologies Co., Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100825

Termination date: 20180520