CN102291406B - 鲁棒性头压缩处理方法及鲁棒性头压缩处理器 - Google Patents
鲁棒性头压缩处理方法及鲁棒性头压缩处理器 Download PDFInfo
- Publication number
- CN102291406B CN102291406B CN201110230989.1A CN201110230989A CN102291406B CN 102291406 B CN102291406 B CN 102291406B CN 201110230989 A CN201110230989 A CN 201110230989A CN 102291406 B CN102291406 B CN 102291406B
- Authority
- CN
- China
- Prior art keywords
- mark
- packet
- act
- way
- enumerator
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/06—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及一种鲁棒性头压缩处理方法和鲁棒性头压缩器,该方法包括:压缩器采用IP标识随机行为方式处理包流的前若干个数据包,并根据该前若干个数据包确定IP标识行为方式;压缩器根据确定后的IP标识行为方式处理所述包流的后续数据包。鲁棒性头压缩处理方法和鲁棒性头压缩器可以避免无线资源浪费,提高无线资源利用率。
Description
技术领域
本发明涉及在移动通信领域,尤其是一种鲁棒性头压缩处理方法及鲁棒性头压缩处理器中的一种鲁棒性头压缩算法。
背景技术
由于物理条件的限制,移动通信系统中的无线链路与有线链路相比传输速率较低,误码率较高。为了能有效利用有限的无线信道带宽资源,引入了鲁棒性头压缩技术(RObust Header Compress,以下简称ROHC)。ROHC的核心是利用业务流的分组之间的信息冗余来透明的压缩和解压缩直接相连节点间的分组头中的信息。ROHC技术由IETF(互联网工程任务组)的RFC 3095文档进行描述,但在该文档中并没有定义IP头的压缩和解压缩,因此在2004年6月,ROHC工作组不得不在RFC 3843中单独为IP头的压缩解压缩定义了一个框架,并且在2007年2月份IETF对ROHC的相关文档进行了修订,修订文档是RFC 4815。
IP(Internet Protocol,Identifier,因特网协议)标识(IPID)是IPv4(IPversion 4,IP版本4)头中的一个字段,每个IP包都会携带,主要用于IP包的分片与重组。具体的IP标识字段在IPV4头中的位置如图1所示。IP包在网络传输过程中,如果IP包的大小超过底层链路的MTU(Maximum Transmission Unit,最大传输单元)则在IP包允许分片时必须对该IP包进行分片,当分片数据到达下一网络节点时通过IP头部的IPID(IP Identifier,IP标识)来确认这些分片是否属于同一个IP包并进行组装恢复原有IP数据。
IPID是由IP包的生成者按照一定的策略进行分配的,可能采用的策略有随机分配、顺序增长、静态常量。IP包生成者如果采取随机分配方式,那么这些IP包的IPID没有任何规律,是杂乱无章的;IP包的生成者如果采取顺序增长的分配方式,那么后生成的IP包中IPID值会较前一包有所增长;IP包的生成者如果采取静态常量分配方式,那么该生成者生成的所有IP包的IPID字段值均相同。随机分配与顺序递增的方式比较常用,而静态常量分配方式一般用在NAT(Network Address Translation,网络地址翻译)环境中,或者UDP/UDP-Lite(User Datagram Protocol,用户数据报文协议;UDP-Lite,轻量UDP协议)中知道IP头中的DF(Don’t Fragement,不允许分片)字段为1时,将IPID置为常量。
正是因为IPID具有这样的特点,使得我们可以在ROHC中对其采用一定的算法进行压缩和解压缩,尽量避免在无线链路中传输IPID的原始值。对于ROHC来说,不同的IPID分配方式对应了IPID不同的行为,随机分配方式对应了IPID的随机行为,顺序递增的方式对应了IPID的顺序行为,静态常量方式对应了IPID的静态行为。当IPID行为是随机的,我们不得不在每一个压缩包中携带它的原始值;当IPID的行为是顺序的,我们可以使用IPID Offset(偏移)编码方式对其进行编码,将编码后的值发送到对端;当IPID的行为是静态的,我们只需要在开始的时候将原始值发送一次,后续就不用在压缩包中发送IPID相关信息。
在RFC 3095协议中,定义了IPID Offet编码方法。对于顺序递增的IPID,取得IPID与SN(Sequence Number,序列号)之间的差值,然后将差值经过WLSB(Window-based LeastSignificant Bits,基于窗的最低有效比特编码)编码后发送给对端,对端的解压器收到后先进行LSB(Least Significant Bits,最低有效比特编码)解码得到IPID与SN的差值后,结合还原出的SN的值最终恢复IPID原始值。
在RFC 3843中,定义了静态IPID的压缩方法,压缩器通过在初始刷新报文中增加相关标识将IPID为静态的情况告知解压器,并发送原始IPID值给解压器,这样后续的压缩包就不用携带任何IPID信息,解压器也能恢复出IPID的原始值。当IPID是采用静态常量方式分配的,不能使用IPID Offset方法进行编码。
在ROHC的协议中,RFC 3095对IPID的行为做了假定—认为无线蜂窝网络中IPID一般来说只会是顺序递增的。随着ROHC应用场景的增加以及协议的向前发展,显然这个假定过时了。纵观ROHC的相关协议,只描述了如何根据IPID行为的不同做出相关的压缩和解压缩,并没有提供识别IPID行为的方法。当不知道IPID的具体行为时,我们只能认为IPID的行为是随机的,这样我们每次只能发送原始的IPID值,浪费了无线资源,降低了压缩解压缩的效率。
发明内容
本发明要解决的技术问题是提供一种鲁棒性头压缩处理方法和鲁棒性头压缩器,以解决无线资源浪费的问题。
为解决以上技术问题,本发明提供了一种鲁棒性头压缩处理方法,该方法包括:
压缩器采用IP标识随机行为方式处理包流的前若干个数据包,并根据该前若干个数据包确定IP标识行为方式;
压缩器根据确定后的IP标识行为方式处理所述包流的后续数据包。
进一步地,根据所述前若干个数据包确定IP标识行为方式包括:
若数据包中的IP标识持续递增,且持续递增次数的数据包个数达到第一阈值,则确定为IP标识递增行为方式;
若数据包中的IP标识持续保持静态,且持续保持静态的数据包个数达到第二阈值,则确定为IP标识静态行为方式;
否则确定为IP标识随机行为方式。
进一步地,根据所述前若干个数据包确定IP标识行为方式包括:在IP标识行为方式未确定前,针对逐个数据包执行以下步骤:
(a)判断待压缩的数据包的包流是否已存在;
(b)若该数据包的包流未存在,则初始化第一、第二、第三计数器,且且第三计数器加1;否则执行步骤(c);
(c)判断当前数据包中的第一IP标识与前一个数据包中的第二IP标识之间的关系;若第一IP标识大于第二IP标识,则第一计数器加1,第二计数器清零,并转执行步骤(d);若第一IP标识等于第二IP标识,则第二计数器加1,第一计数器清零,并转执行步骤(e);否则执行步骤(f);
(d)判断第一计数器是否达到第一阈值,若是则确定为递增行为方式;否则执行步骤(f);
(e)判断第二计数器是否达到第二阈值,若是则确定为静态行为方式;否则执行步骤(f);
(f)第三计数器加1,并判断所述第三计数器是否达到第三阈值,若是则确定为随机行为方式。
进一步地,根据所述前若干个数据包确定IP标识行为方式包括:在IP标识行为方式未确定前,针对逐个数据包执行以下步骤:
判断待压缩的数据包的包流是否已存在;
若该数据包的包流未存在,则初始化第一、第二计数器;否则判断当前数据包中的第一IP标识与前一个数据包中的第二IP标识之间的关系:
(a)若第一IP标识大于第二IP标识,则第一计数器加1;判断第二计数器是否大于0,若是则确定为随机行为方式,确定IP标识行为方式的流程结束,否则判断第一计数器是否达到第一阈值,若是,则确定为递增行为方式;
(b)若第一IP标识等于第二IP标识,则第二计数器加1;判断第一计数器是否大于0,若是则确定为随机行为方式,否则判断第二计数器是否达到第二阈值,若是,则确定为静态行为方式;
(c)若第一IP标识小于第二IP标识,则确定为随机行为方式。
进一步地,在判断数据包的包流未存在时,初始化IP标识行为标志为第一标识,确定IP标识行为方式后将所述IP标识行为标志置为相应的行为标识;所述压缩器判断所述IP标识行为标志为第一标志时,认为所述数据包的包流的行为方式未确定,否则认为行为方式已确定。
为解决以上技术问题,本发明还提供了一种鲁棒性头压缩器,该鲁棒性头压缩器包括:
行为方式确定单元,用于根据该前若干个数据包确定IP标识行为方式;
数据包处理单元,用于采用IP标识随机行为方式处理包流的前若干个数据包,还用于根据确定后的IP标识行为方式处理所述包流的后续数据包。
进一步地,所述行为方式确定单元包括:
包流判断模块,判断待压缩的数据包的包流是否已存在;
初始化模块,用于在待压缩的数据包的包流未存在时,初始化第一、第二、第三计数器;
前后标识关系判断模块,用于在数据包的包流存在时,判断当前数据包中的第一IP标识与前一个数据包中的第二IP标识之间的关系;
计数器控制模块,用于在第一IP标识大于第二IP标识时,控制第一计数器加1,第二计数器清零,并转执行步骤(d);在第一IP标识等于第二IP标识时,控制第二计数器加1,第一计数器清零;还用于在待压缩的数据包的包流未存在时以及在第一、第二计数器未达到阈值时,控制第三计数器加1;
行为方式确定模块,用于判断第一计数器是否达到第一阈值,若是则确定为递增行为方式;还用于判断第二计数器是否达到第二阈值,若是则确定为静态行为方式,还用于判断所述第三计数器是否达到第三阈值,若是则确定为随机行为方式;以及
用于计数的第一、第二、第三计数器。
进一步地,所述行为方式确定单元包括:
包流判断模块,判断待压缩的数据包的包流是否已存在;
初始化模块,用于在待压缩的数据包的包流未存在时,初始化第一、第二计数器;
前后标识关系判断模块,用于在数据包的包流存在时,判断当前数据包中的第一IP标识与前一个数据包中的第二IP标识之间的关系;
计数器控制模块,用于在第一IP标识大于第二IP标识时,控制第一计数器加1;在第一IP标识等于第二IP标识时,控制第二计数器加1;
行为方式确定模块,用于在第一计数器达到第一阈值且第二计数器为零时,确定为递增行为方式,在第二计数器达到第二阈值且第一计数器为零时,确定为静态行为方式;在第一计数器加1且第二计数器大于0,或,第二计数加1且第一计数器大于0,或,在第一IP标识小于第二IP标识时,则确定为随机行为方式;以及
用于计数的第一、第二计数器。
进一步地,所述初始化模块,还用于在判断数据包的包流未存在时,初始化IP标识行为标志为第一标识,确定IP标识行为方式后将所述IP标识行为标志置为相应的行为标识;所述数据包处理单元,还用于在判断所述IP标识行为标志为第一标志时,认为所述数据包的包流的行为方式未确定,否则认为行为方式已确定。
本发明鲁棒性头压缩处理方法和鲁棒性头压缩器先根据前若干个数据包确定IP标识行为方式,再根据确定的IP标识行为方式进行数据包的压缩处理,从而通过识别出IPID的行为可以有效采取合适的压缩策略,提高了鲁棒性头压缩的压缩解压缩效率以及无线链路带宽的利用率。
附图说明
图1为IPID在IPv4头中的位置示意图;
图2为本发明鲁棒性头压缩处理方法实施例1的示意图;
图3-图4为本发明鲁棒性头压缩处理方法实施例2的流程示意图;
图5为本发明鲁棒性头压缩处理方法实施例3中执行IP标识行为选择过程的流程示意图;
图6为本发明鲁棒性头压缩处理器的模块结构示意图;
图7为图6中行为方式确定单元的一种模块结构示意图;
图8为图6中行为方式确定单元的另一模块结构示意图。
具体实施方式
由于IP包的生成者对IPID的分配方式是一定的,所以在经过一段时间的IPID行为识别后,确定了该包流的IPID行为,则后续的分组数据包不需要进行IPID识别,可以直接使用已经识别出的IPID行为,直至整个包流生命周期结束。基于此,本发明鲁棒性头压缩处理方法和鲁棒性头压缩器的主要思想是先根据前若干个数据包确定IP标识行为方式,再根据确定的IP标识行为方式进行数据包的压缩处理,从而通过识别出IPID的行为可以有效采取合适的压缩策略,提高了鲁棒性头压缩的压缩解压缩效率以及无线链路带宽的利用率。
下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
实施例1
如图2所示,本发明鲁棒性头压缩处理方法实施例1包括:
步骤201:压缩器采用IP标识随机行为方式处理包流的前若干个数据包,并根据该前若干个数据包中IP标识的特点确定IP标识行为方式;
根据所述前若干个数据包中IP标识的特点确定IP标识行为方式包括:
若满足第一条件:数据包中的IP标识持续递增,且持续递增次数的数据包个数达到第一阈值,则确定为IP标识递增行为方式;
若满足第二条件:数据包中的IP标识持续保持静态,且持续保持静态的数据包个数达到第二阈值,则确定为IP标识静态行为方式;
若既不满足第一条件也不满足第二条件,则确定为IP标识随机行为方式。
步骤202:压缩器根据确定后的IP标识行为方式处理所述包流的后续数据包。
本发明中所述的第一阈值和第二阈值不能少于2,优选地,可设置为10至15间的整数,以保证确定为递增行为方式或静态行为方式的准确性。
可理解地,若确定为递增行为方式,则压缩器对原始IPID信息采用Offset(偏置)编码方式编码后发送给对端,对端的解压器收到后先解码得到IPID的Offset后,结合还原出最终恢复IPID原始值。
若确定为静态行为方式后,压缩器无需再携带任何IPID信息,解压器也能恢复出IPID的原始值。
若确定为随机行为方式后,压缩器仍需要每次携带原始的IPID信息,由解压器解压恢复。
可理解地,压缩器无论是在确定IPID的行为方式之前还是之后,都会将相应的IPID的行为方式的信息通知解压器。
实施例2
该方案的总体思路是通过一个标识的设置以及三个计数器的累加来实现对IPID具体行为的识别。
下面结合附图3和图4对本发明所涉及识别IP标识行为及IP标识压缩的实施方案做进一步的详细描述:
步骤S301:压缩器收到待压缩分组数据包,进入步骤S302;
步骤S302:判断该包流是否已经存在,如果不存在进入步骤S303,否则进入步骤S306;
步骤S303:初始化BehaviorFlag(即,IP标识行为标志)及3个计数器Count_rnd、Count_const、Count_Seq,进入步骤S304;
步骤S304:Count_rnd增1,进入步骤S305;
步骤S305:采用随机行为选择IPID的压缩策略,进入步骤S310;
步骤S306:执行IP标识行为选择过程,具体流程详见图4,进入步骤S307;
步骤S307:按照获取到的IP标识行为进行处理,如果IP标识行为是随机行为则进入步骤S305,如果IP标识行为是静态则进入步骤S308,如果IP标识行为是顺序递增则进入步骤S309;
步骤S308:采用静态行为选择IPID的压缩策略,进入步骤S310;
步骤S309:采用顺序行为选择IPID的压缩策略,进入步骤S310;
步骤S310:识别IP标识行为及IP标识压缩流程结束。
下面结合附图4对本发明所涉及的IP标识行为识别的实施方案做进一步的详细描述:
步骤S401:压缩器收到待压缩分组包且该包流已经存在,进入步骤S402;
步骤S402:判断BehaviorFlag是否为0,如果不为0则进入步骤S203,否则进入步骤S404;
步骤S403:将BehaviorFlag标识的IPID的行为记入IpidBehavior,进入步骤S420;
步骤S404:获取前一包数据中的IPID值wPreIpid,进入步骤S405;
步骤S405:获取当前包中的IPID值wCurIpid,进入步骤S406;
步骤S406:判断wPreIpid是否等于wCurIpid,如果相等则进入步骤S207,否则进入步骤S211;
步骤S407:Count_const增1,清除Count_seq计数,进入步骤S408;
步骤S408:判断Count_const是否达到阈值,如果达到阈值则进入步骤S409,否则进入步骤S412;
步骤S409:设置BehaviorFlag为静态行为,进入步骤S410;
步骤S410:将静态行为记入IpidBehavior,进入步骤S420;
步骤S411:判断wPreIpid是否小于wCurIpid,如果小于则进入步骤S416,否则进入步骤S412;
步骤S412:Count_rnd增1,进入步骤S413;
步骤413:将随机行为记入IpidBehavior,进入步骤S414;
步骤S414:判断Count_rnd是否达到阈值,如果达到阈值则进入步骤S415,否则进入步骤S420;
步骤S415:设置BehaviorFlag为随机行为,进入步骤S420;
步骤S416:Count_seq增1,清除Count_const计数,进入步骤S417;
步骤S417:判断Count_seq是否达到阈值,如果达到阈值则进入步骤S418,否则进入步骤S412;
步骤S418:设置BehaviorFlag为顺序递增行为,进入步骤S419;
步骤S419:将顺序递增行为记入IpidBehavior,进入步骤S420;
步骤S420:返回IpidBehavior,IP标识行为识别流程结束。
根据前述图3和图4流程,可见:
1、收到待压缩包,如果该包是新包流则为其建立三个计数器Count_rnd、Count_seq、Count_const,初始值为0,BehaviorFlag置为0,表示未知的IPID行为,该待压缩包压缩后携带原始IPID,也即采用随机行为方式,Count_rnd增1。
2、收到待压缩包,如果该包流已经存在,BehaviorFlag已经置位则按照已识别的IPID行为进行IPID的压缩策略选择。
3、收到待压缩包,如果该包流已经存在,BehaviorFlag未置位则将当前包中的IPID与上一包的IPID进行比较,如果是顺序递增的则清除Count_const值,Count_seq增1,判断Count_seq是否达到阈值,达到则将BehaviorFlag置为顺序行为;如果是静态值则Count_const增1,清除Count_seq值,判断Count_const是否达到阈值,达到则将BehaviorFlag置为静态行为;如果均未达到阈值则Count_rnd增1,判断Count_rnd是否达到阈值,达到则将BehaviorFlag置为随机行为。
4、如果BehaviorFlag未置位且三个计数器均未达到阈值则缺省选择随机方式进行IPID的压缩。
上述实施例2中,判断当前数据包中的IP标识(wCurIpid)与前一个数据包中的IP标识(wPreIpid)之间的关系时,若表现为递增,则第一计数器(Count_seq)加1,第二计数器(Count_const)清零,并转执行步骤(d);若表现为相同,则第二计数器(Count_const)加1,第一计数器(Count_seq)清零,并在判断第一计数器达到第一阈值时,则确定为递增行为方式;第二计数器达到第二阈值是,确定为静态行为方式;在待压缩的数据包的包流未存在时以及在第一、第二计数器未达到阈值时,控制第三计数器(Count_rnd)加1,并判断所述第三计数器是否达到第三阈值,若是则确定为随机行为方式。
以上实施例2中,对于前后两个IP标识(wPreIpid)之间的关系表现为递增或相等时,将对应的计数器加1但将另一计数器清零,体现了流程处理具有对称性,避免了前后两个IP标识未表现为连续递增或未表现为连续相等时,相应的第一计数器和第二计数器持续计数造成的判断不准确的问题。
上述的实施步骤中,Count_rnd、Count_const、Count_Seq计数器的阈值根据实际情况而定,但是Count_rnd计数器的阈值必须大于Count_const、Count_Seq阈值。
为了简化以上流程,以下还提供了一种实施例3。
实施例3
该方案的总体思路是通过一个标识的设置以及两个计数器的累加来实现对IPID具体行为的识别。相比于前述实施例2,实施例3中,对应图3的流程基本相同,不同之处仅在于步骤S303中,仅初始化BehaviorFlag(即,IP标识行为标志)及2个计数器Count_const、Count_Seq,且不执行步骤304,执行IP标识行为选择过程,具体地,如图5所示,包括以下步骤:
步骤S501:压缩器收到待压缩分组包且该包流已经存在,进入步骤S502;
步骤S502:判断BehaviorFlag是否为0,如果不为0则进入步骤S503,否则进入步骤S504;
步骤S503:将BehaviorFlag标识的IPID的行为记入IpidBehavior,进入步骤S520;
步骤S504:获取前一包数据中的IPID值wPreIpid,进入步骤S505;
步骤S505:获取当前包中的IPID值wCurIpid,进入步骤S506;
步骤S506:判断wPreIpid是否等于wCurIpid,如果相等则进入步骤S507,否则进入步骤S512;
步骤S507:Count_const增1,进入步骤S508;
步骤S508:判断Count_seq是否大于0(即Count_const是否持续递增),如果是则进入S513,否则进入步骤509;
步骤S509:判断Count_const是否达到阈值,如果达到阈值则进入步骤S510,否则进入步骤S514;
步骤S510:设置BehaviorFlag为静态行为,进入步骤S511;
步骤S511:将静态行为记入IpidBehavior,进入步骤S520;
步骤S512:判断wPreIpid是否小于wCurIpid,如果小于则进入步骤S514,否则进入步骤S513;
步骤513:设置BehaviorFlag为随机行为,进入步骤S514;
步骤S514:将随机行为记入IpidBehavior,进入步骤S520;
步骤S515:Count_seq增1,进入步骤S515;
步骤S516:判断Count_const是否大于0(即Count_seq是否持续递增),如果是则进入S513,否则进入S17;
步骤517:判断Count_seq是否达到阈值,如果达到阈值则进入步骤S518,否则进入步骤S514;
步骤S518:设置BehaviorFlag为顺序递增行为,进入步骤S519;
步骤S519:将顺序递增行为记入IpidBehavior,进入步骤S520;
步骤S520:返回IpidBehavior,IP标识行为识别流程结束。
根据以上流程可知:
在IP标识行为方式未确定前,针对逐个数据包执行以下步骤:
判断待压缩的数据包的包流是否已存在;
若该数据包的包流未存在,则初始化第一、第二计数器;否则判断当前数据包中的第一IP标识与前一个数据包中的第二IP标识之间的关系:
(a)若第一IP标识大于第二IP标识,则第一计数器加1;判断前一次是否是第二计数器递增,若是则确定为随机行为方式,确定IP标识行为方式的流程结束,否则判断第一计数器是否达到第一阈值,若是,则确定为递增行为方式;
(b)若第一IP标识等于第二IP标识,则第二计数器加1;判断前一次是否是第一计数器递增,若是则确定为随机行为方式,否则判断第二计数器是否达到第二阈值,若是,则确定为静态行为方式;
(c)若第一IP标识小于第二IP标识,则确定为随机行为方式。
可替换地,上述的IP标识行为识别流程也可以通过存储一定个数的IPID值进行判断处理,但是考虑到系统资源占用情况,当前所述方案最佳,故以该实施方案为例进行说明。
本发明方法克服了现有技术中压缩器无法自动识别IPID的行为导致需要在压缩包中发送IPID原始值给解压器的缺陷,且提供了自动识别IPID行为的具体实现方法。
为了实现以上方法,本发明还提供了一种鲁棒性头压缩器,对应于前述方法实施例1-3,如图6所示,该鲁棒性头压缩器包括:
行为方式确定单元,用于根据前若干个数据包中IP标识的特点确定IP标识行为方式;
数据包处理单元,用于采用IP标识随机行为方式处理包流的前若干个数据包,还用于根据确定后的IP标识行为方式处理所述包流的后续数据包。
进一步地,所述行为方式确定单元根据以下条件确定IP标识行为方式:
若数据包中的IP标识持续递增,且持续递增次数的数据包个数达到第一阈值,则确定为IP标识递增行为方式;
若数据包中的IP标识持续保持静态,且持续保持静态的数据包个数达到第二阈值,则确定为IP标识静态行为方式;
否则确定为IP标识随机行为方式。
对应于方法实施例2,如图7所示,所述行为方式确定单元包括:
包流判断模块,判断待压缩的数据包的包流是否已存在;
初始化模块,用于在待压缩的数据包的包流未存在时,初始化第一、第二、第三计数器;
前后标识关系判断模块,用于在数据包的包流存在时,判断当前数据包中的第一IP标识与前一个数据包中的第二IP标识之间的关系;
计数器控制模块,用于在第一IP标识大于第二IP标识时,控制第一计数器加1,第二计数器清零,并转执行步骤(d);在第一IP标识等于第二IP标识时,控制第二计数器加1,第一计数器清零;还用于在待压缩的数据包的包流未存在时以及在第一、第二计数器未达到阈值时,控制第三计数器加1;
行为方式确定模块,用于判断第一计数器是否达到第一阈值,若是则确定为递增行为方式;还用于判断第二计数器是否达到第二阈值,若是则确定为静态行为方式,还用于判断所述第三计数器是否达到第三阈值,若是则确定为随机行为方式;以及
用于计数的第一、第二、第三计数器。
对应于方法实施例3,如图8所示,所述行为方式确定单元包括:
包流判断模块,判断待压缩的数据包的包流是否已存在;
初始化模块,用于在待压缩的数据包的包流未存在时,初始化第一、第二计数器;
前后标识关系判断模块,用于在数据包的包流存在时,判断当前数据包中的第一IP标识与前一个数据包中的第二IP标识之间的关系;
计数器控制模块,用于在第一IP标识大于第二IP标识时,控制第一计数器加1;在第一IP标识等于第二IP标识时,控制第二计数器加1;
行为方式确定模块,用于在第一计数器达到第一阈值且第二计数器为0时,确定为递增行为方式,在第二计数器达到第二阈值且第一计数器为0时,确定为静态行为方式;在第一计数器加1且第二计数器大于0,或,第二计数加1且第一计数器大于0,或,在第一IP标识小于第二IP标识时,则确定为随机行为方式;以及
用于计数的第一、第二计数器。
进一步地,所述初始化模块,还用于在判断数据包的包流未存在时,初始化IP标识行为标志为第一标识,确定IP标识行为方式后将所述IP标识行为标志置为相应的行为标识;所述数据包处理单元,还用于在判断所述IP标识行为标志为第一标志时,认为所述数据包的包流的行为方式未确定,否则认为行为方式已确定。
相较于现有技术,本发明具有以下优点:
快速识别IPID的行为,为IPID的压缩策略选择提供保证;
提高压缩解压缩的效率;
不需要存储多个IPID值,节省系统资源;
最小的压缩包只有1-2个字节,而IPID字段占有2个字节,如果采用随机方式将IPID原始值携带在压缩包中,使得压缩包的空间增大一倍,因此正确的压缩IPID将提高无线带宽利用率。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
Claims (10)
1.一种鲁棒性头压缩处理方法,其特征在于,该方法包括:
压缩器采用IP标识随机行为方式处理包流的前若干个数据包,并根据该前若干个数据包中IP标识的特点确定IP标识行为方式;
压缩器根据确定后的IP标识行为方式处理所述包流的后续数据包;
所述根据前若干个数据包中IP标识的特点确定IP标识行为方式包括:
若数据包中的IP标识持续递增,且持续递增次数的数据包个数达到第一阈值,则确定为IP标识递增行为方式;
若数据包中的IP标识持续保持静态,且持续保持静态的数据包个数达到第二阈值,则确定为IP标识静态行为方式;
否则确定为IP标识随机行为方式。
2.一种鲁棒性头压缩处理方法,其特征在于,该方法包括:
压缩器采用IP标识随机行为方式处理包流的前若干个数据包,并根据该前若干个数据包中IP标识的特点确定IP标识行为方式;
压缩器根据确定后的IP标识行为方式处理所述包流的后续数据包;
所述根据前若干个数据包中IP标识的特点确定IP标识行为方式包括:在IP标识行为方式未确定前,针对逐个数据包执行以下步骤:
(a)判断待压缩的数据包的包流是否已存在;
(b)若该数据包的包流未存在,则初始化第一、第二、第三计数器,且第三计数器加1;否则执行步骤(c);
(c)判断当前数据包中的第一IP标识与前一个数据包中的第二IP标识之间的关系;若第一IP标识大于第二IP标识,则第一计数器加1,第二计数器清零,并转执行步骤(d);若第一IP标识等于第二IP标识,则第二计数器加1,第一计数器清零,并转执行步骤(e);否则执行步骤(f);
(d)判断第一计数器是否达到第一阈值,若是则确定为递增行为方式;否则执行步骤(f);
(e)判断第二计数器是否达到第二阈值,若是则确定为静态行为方式;否则执行步骤(f);
(f)第三计数器加1,并判断所述第三计数器是否达到第三阈值,若是则确定为随机行为方式。
3.如权利要求2所述的方法,其特征在于:在判断数据包的包流未存在时,初始化IP标识行为标志为第一标识,确定IP标识行为方式后将所述IP标识行为标志置为相应的行为标识;所述压缩器判断所述IP标识行为标志为第一标识时,认为所述数据包的包流的行为方式未确定,否则认为行为方式已确定。
4.一种鲁棒性头压缩处理方法,其特征在于,该方法包括:
压缩器采用IP标识随机行为方式处理包流的前若干个数据包,并根据该前若干个数据包中IP标识的特点确定IP标识行为方式;
压缩器根据确定后的IP标识行为方式处理所述包流的后续数据包;
所述根据前若干个数据包中IP标识的特点确定IP标识行为方式包括:在IP标识行为方式未确定前,针对逐个数据包执行以下步骤:
判断待压缩的数据包的包流是否已存在;
若该数据包的包流未存在,则初始化第一、第二计数器;否则判断当前数据包中的第一IP标识与前一个数据包中的第二IP标识之间的关系:
(a)若第一IP标识大于第二IP标识,则第一计数器加1;判断第二计数器是否大于0,若是则确定为随机行为方式,确定IP标识行为方式的流程结束,否则判断第一计数器是否达到第一阈值,若是,则确定为递增行为方式;
(b)若第一IP标识等于第二IP标识,则第二计数器加1;判断第一计数器是否大于0,若是则确定为随机行为方式,否则判断第二计数器是否达到第二阈值,若是,则确定为静态行为方式;
(c)若第一IP标识小于第二IP标识,则确定为随机行为方式。
5.如权利要求4所述的方法,其特征在于:在判断数据包的包流未存在时,初始化IP标识行为标志为第一标识,确定IP标识行为方式后将所述IP标识行为标志置为相应的行为标识;所述压缩器判断所述IP标识行为标志为第一标识时,认为所述数据包的包流的行为方式未确定,否则认为行为方式已确定。
6.一种鲁棒性头压缩器,其特征在于,该鲁棒性头压缩器包括:
行为方式确定单元,用于根据前若干个数据包中IP标识的特点确定IP标识行为方式;
数据包处理单元,用于采用IP标识随机行为方式处理包流的前若干个数据包,还用于根据确定后的IP标识行为方式处理所述包流的后续数据包;
所述行为方式确定单元根据以下条件确定IP标识行为方式:
若数据包中的IP标识持续递增,且持续递增次数的数据包个数达到第一阈值,则确定为IP标识递增行为方式;
若数据包中的IP标识持续保持静态,且持续保持静态的数据包个数达到第二阈值,则确定为IP标识静态行为方式;
否则确定为IP标识随机行为方式。
7.一种鲁棒性头压缩器,其特征在于,该鲁棒性头压缩器包括:
行为方式确定单元,用于根据前若干个数据包中IP标识的特点确定IP标识行为方式;
数据包处理单元,用于采用IP标识随机行为方式处理包流的前若干个数据包,还用于根据确定后的IP标识行为方式处理所述包流的后续数据包;
所述行为方式确定单元包括:
包流判断模块,判断待压缩的数据包的包流是否已存在;
初始化模块,用于在待压缩的数据包的包流未存在时,初始化第一、第二、第三计数器;
前后标识关系判断模块,用于在数据包的包流存在时,判断当前数据包中的第一IP标识与前一个数据包中的第二IP标识之间的关系;
计数器控制模块,用于在第一IP标识大于第二IP标识时,控制第一计数器加1,第二计数器清零;在第一IP标识等于第二IP标识时,控制第二计数器加1,第一计数器清零;还用于在待压缩的数据包的包流未存在时以及在第一、第二计数器未达到阈值时,控制第三计数器加1;
行为方式确定模块,用于判断第一计数器是否达到第一阈值,若是则确定为递增行为方式;还用于判断第二计数器是否达到第二阈值,若是则确定为静态行为方式,还用于判断所述第三计数器是否达到第三阈值,若是则确定为随机行为方式;以及
用于计数的第一、第二、第三计数器。
8.如权利要求7所述的鲁棒性头压缩器,其特征在于:所述初始化模块,还用于在判断数据包的包流未存在时,初始化IP标识行为标志为第一标识,确定IP标识行为方式后将所述IP标识行为标志置为相应的行为标识;所述数据包处理单元,还用于在判断所述IP标识行为标志为第一标识时,认为所述数据包的包流的行为方式未确定,否则认为行为方式已确定。
9.一种鲁棒性头压缩器,其特征在于,该鲁棒性头压缩器包括:
行为方式确定单元,用于根据前若干个数据包中IP标识的特点确定IP标识行为方式;
数据包处理单元,用于采用IP标识随机行为方式处理包流的前若干个数据包,还用于根据确定后的IP标识行为方式处理所述包流的后续数据包;
所述行为方式确定单元包括:
包流判断模块,判断待压缩的数据包的包流是否已存在;
初始化模块,用于在待压缩的数据包的包流未存在时,初始化第一、第二计数器;
前后标识关系判断模块,用于在数据包的包流存在时,判断当前数据包中的第一IP标识与前一个数据包中的第二IP标识之间的关系;
计数器控制模块,用于在第一IP标识大于第二IP标识时,控制第一计数器加1;在第一IP标识等于第二IP标识时,控制第二计数器加1;
行为方式确定模块,用于在第一计数器达到第一阈值且第二计数器为零时,确定为递增行为方式,在第二计数器达到第二阈值且第一计数器为零时,确定为静态行为方式;在第一计数器加1且第二计数器大于0,或,第二计数加1且第一计数器大于0,或,在第一IP标识小于第二IP标识时,则确定为随机行为方式;以及
用于计数的第一、第二计数器。
10.如权利要求9所述的鲁棒性头压缩器,其特征在于:所述初始化模块,还用于在判断数据包的包流未存在时,初始化IP标识行为标志为第一标识,确定IP标识行为方式后将所述IP标识行为标志置为相应的行为标识;所述数据包处理单元,还用于在判断所述IP标识行为标志为第一标识时,认为所述数据包的包流的行为方式未确定,否则认为行为方式已确定。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110230989.1A CN102291406B (zh) | 2011-08-12 | 2011-08-12 | 鲁棒性头压缩处理方法及鲁棒性头压缩处理器 |
EP12824159.3A EP2731374B1 (en) | 2011-08-12 | 2012-04-19 | Robust header compression processing method and robust header compression processor |
US14/238,506 US9591106B2 (en) | 2011-08-12 | 2012-04-19 | Robust header compression processing method and robust header compression processor |
PCT/CN2012/074358 WO2013023458A1 (zh) | 2011-08-12 | 2012-04-19 | 鲁棒性头压缩处理方法及鲁棒性头压缩处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110230989.1A CN102291406B (zh) | 2011-08-12 | 2011-08-12 | 鲁棒性头压缩处理方法及鲁棒性头压缩处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102291406A CN102291406A (zh) | 2011-12-21 |
CN102291406B true CN102291406B (zh) | 2017-02-15 |
Family
ID=45337514
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110230989.1A Active CN102291406B (zh) | 2011-08-12 | 2011-08-12 | 鲁棒性头压缩处理方法及鲁棒性头压缩处理器 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9591106B2 (zh) |
EP (1) | EP2731374B1 (zh) |
CN (1) | CN102291406B (zh) |
WO (1) | WO2013023458A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102291406B (zh) * | 2011-08-12 | 2017-02-15 | 中兴通讯股份有限公司 | 鲁棒性头压缩处理方法及鲁棒性头压缩处理器 |
IN2014CH00621A (zh) * | 2014-02-07 | 2015-08-14 | Samsung R & D Inst India Bangalore Private Ltd | |
US10630610B1 (en) * | 2018-12-26 | 2020-04-21 | Vmware, Inc. | Mechanisms for preventing IPID overflow in computer networks |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1507286A (zh) * | 2002-12-09 | 2004-06-23 | 中国科学技术大学 | 用于MIPv6的鲁棒性头标压缩/解压方法 |
WO2004057829A1 (en) * | 2002-12-23 | 2004-07-08 | Nokia Corporation | On-demand header compression |
CN1595911A (zh) * | 2004-07-16 | 2005-03-16 | 中国科学院计算技术研究所 | 一种鲁棒的IPv6头部压缩方法 |
CN101179564A (zh) * | 2007-08-10 | 2008-05-14 | 华中科技大学 | 基于链路层自动请求重传的tcp分组头部压缩方法及其系统 |
CN101594290A (zh) * | 2008-05-26 | 2009-12-02 | 中兴通讯股份有限公司 | 一种鲁棒性头压缩上下文标识的处理方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6690669B1 (en) * | 1996-11-01 | 2004-02-10 | Hitachi, Ltd. | Communicating method between IPv4 terminal and IPv6 terminal and IPv4-IPv6 converting apparatus |
JP2002247001A (ja) * | 2001-02-21 | 2002-08-30 | Ando Electric Co Ltd | 擬似ランダムパターン送信装置 |
US20020191691A1 (en) * | 2001-05-10 | 2002-12-19 | Holborow Clive Eric | Payload header suppression including removal of fields that vary in known patterns |
US8804765B2 (en) | 2005-06-21 | 2014-08-12 | Optis Wireless Technology, Llc | Dynamic robust header compression |
CN102291406B (zh) | 2011-08-12 | 2017-02-15 | 中兴通讯股份有限公司 | 鲁棒性头压缩处理方法及鲁棒性头压缩处理器 |
-
2011
- 2011-08-12 CN CN201110230989.1A patent/CN102291406B/zh active Active
-
2012
- 2012-04-19 WO PCT/CN2012/074358 patent/WO2013023458A1/zh active Application Filing
- 2012-04-19 EP EP12824159.3A patent/EP2731374B1/en active Active
- 2012-04-19 US US14/238,506 patent/US9591106B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1507286A (zh) * | 2002-12-09 | 2004-06-23 | 中国科学技术大学 | 用于MIPv6的鲁棒性头标压缩/解压方法 |
WO2004057829A1 (en) * | 2002-12-23 | 2004-07-08 | Nokia Corporation | On-demand header compression |
CN1595911A (zh) * | 2004-07-16 | 2005-03-16 | 中国科学院计算技术研究所 | 一种鲁棒的IPv6头部压缩方法 |
CN101179564A (zh) * | 2007-08-10 | 2008-05-14 | 华中科技大学 | 基于链路层自动请求重传的tcp分组头部压缩方法及其系统 |
CN101594290A (zh) * | 2008-05-26 | 2009-12-02 | 中兴通讯股份有限公司 | 一种鲁棒性头压缩上下文标识的处理方法及装置 |
Non-Patent Citations (3)
Title |
---|
《RObust Header Compressing(ROHC):A Compression Profile for IP》;L-E.Jonsson;《RFC 3843.因特网工程任务组》;20040630;全文 * |
《RObust Header Compression(ROHC):Framework and four profiles:RTP,UDP,ESP,and uncompressed》;C.Bormann;《RFC 3095.因特网工程任务组》;20010731;第20、33-35、106、162页 * |
《RObust Header Compression(ROHC):Profiles for User Datagram Protocol(UDP)Lite》;G.Pelletier;《RFC 4019.因特网工程任务组》;20050930;第3-5、13页 * |
Also Published As
Publication number | Publication date |
---|---|
EP2731374A1 (en) | 2014-05-14 |
US20140198809A1 (en) | 2014-07-17 |
CN102291406A (zh) | 2011-12-21 |
US9591106B2 (en) | 2017-03-07 |
WO2013023458A1 (zh) | 2013-02-21 |
EP2731374B1 (en) | 2019-06-12 |
EP2731374A4 (en) | 2015-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2684192C1 (ru) | Способ и устройство для передачи потока службы в гибком ethernet | |
CN103250390B (zh) | 用于提供基于对象的传输协议的方法和装置 | |
JP2021516485A (ja) | ユーザーデバイス及びユーザーデバイスの間の測位信号の送受信方法 | |
JP3778912B2 (ja) | ルーチング方法、ノード、パケット通信システム、プログラム、及び記録媒体 | |
EP2479952A1 (en) | Method for compressing and decompressing time stamp and equipment thereof | |
CN101977402B (zh) | 鲁棒性头压缩中一种上下文重用的方法及装置 | |
JP2006042370A (ja) | 無線ネットワークの規格変化による適応的アドレス再設定方法 | |
CN102291406B (zh) | 鲁棒性头压缩处理方法及鲁棒性头压缩处理器 | |
US8856610B2 (en) | Computer readable storage medium storing error correction program and communication apparatus | |
WO2014135038A1 (zh) | 基于pcie总线的报文传输方法与装置 | |
US11477170B2 (en) | Decoding method and apparatus | |
RU2019131451A (ru) | Способ связи | |
CN102195750B (zh) | 数据传送装置及数据传送系统 | |
CN112737995B (zh) | 以太网帧的处理方法、装置、设备及存储介质 | |
JP6448320B2 (ja) | ノード及びその通信方法並びにコンピュータ読出可能記録媒体 | |
CN106792962B (zh) | 一种多播分簇建立方法和装置 | |
CN107277011A (zh) | 终端设备的数据分类方法及装置 | |
US7281052B2 (en) | Data tracing identifiers | |
CN112312396B (zh) | 一种NoC追踪数据的生成方法及相关装置 | |
CN106302266B (zh) | 信息传输方法、信息获取方法、发送端设备及接收端设备 | |
US20170064046A1 (en) | Communication device, communication method, and computer program product | |
CN111865884B (zh) | 一种报文处理方法、装置及设备 | |
CN104753640A (zh) | 一种基于网络传输链路的适配方法及装置 | |
TWI516140B (zh) | A fault - tolerant method and network node for packet transmission of network nodes | |
da Silva Santos et al. | Routing IPv6 over wireless networks with low-memory devices |
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 |