CN115484312A - 以太网包头压缩方法及装置 - Google Patents
以太网包头压缩方法及装置 Download PDFInfo
- Publication number
- CN115484312A CN115484312A CN202110605406.2A CN202110605406A CN115484312A CN 115484312 A CN115484312 A CN 115484312A CN 202110605406 A CN202110605406 A CN 202110605406A CN 115484312 A CN115484312 A CN 115484312A
- Authority
- CN
- China
- Prior art keywords
- ehc
- context
- state
- cid
- ethernet data
- 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
- 230000006835 compression Effects 0.000 title claims abstract description 51
- 238000007906 compression Methods 0.000 title claims abstract description 51
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000001052 transient effect Effects 0.000 claims abstract description 41
- 230000008030 elimination Effects 0.000 claims description 36
- 238000003379 elimination reaction Methods 0.000 claims description 36
- 238000004590 computer program Methods 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 2
- 230000006837 decompression Effects 0.000 abstract description 7
- 206010010099 Combined immunodeficiency Diseases 0.000 description 85
- 230000005540 biological transmission Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000001360 collision-induced dissociation Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种以太网包头压缩方法及装置,该方法包括:接收来自数据源的以太网数据流;在没有与所述以太网数据流对应的EHC上下文的情况下,在非暂态的EHC上下文中选择一个EHC上下文分配给所述以太网数据流;所述非暂态的EHC上下文包括空闲状态的EHC上下文和使用状态的EHC上下文;发送包含所述EHC上下文的CID的FH包,并将所述EHC上下文的状态标记为暂态;接收到包含所述EHC上下文的CID的EHC反馈包后,将所述EHC上下文的状态标记为使用状态。利用本发明方案,可以避免出现压缩方和解压方的EHC上下文不一致的问题。
Description
技术领域
本发明涉及通信技术领域,具体地涉及一种以太网包头压缩方法及装置。
背景技术
EHC(Ethernet Header Compression,以太网头压缩)技术是一种减少以太网包头传输开销的方法,通过EHC减少包头信息的传输量,不仅可以提高NR空中接口上以太网帧的传输效率,同时也降低了无线的传输时延。在4G和5G系统中都支持以太网帧的传输。
EHC压缩器和EHC解压缩器将原始头字段信息存储为EHC上下文。每个EHC上下文由一个唯一的标识符CID(Context ID,上下文标识)标识。EHC上下文必须在压缩器和解压缩器之间同步。
对于以太网数据包流,压缩器建立EHC上下文并将其与CID相关联。然后,压缩器将包含CID的FH(Full Header,完整头)包发送到解压器。压缩器继续发送FH包,直到从解压器收到EHC反馈为止。如果已建立了最大数量的EHC上下文,并且新的以太网流与任何已建立的EHC上下文不匹配,则压缩器应将新的以太网流与已分配的EHC CID之一相关联(覆盖),或者作为不压缩包发送。按照这种方式,在CID覆盖时,有时会出现压缩方和解压方的EHC上下文不一致的问题。
发明内容
本申请实施例提供一种以太网包头压缩方法及装置,以解决现有技术中出现压缩方和解压方的EHC上下文不一致的问题。
为此,本发明实施例提供如下技术方案:
一种以太网包头压缩方法,所述方法包括:
接收来自数据源的以太网数据流;
在没有与所述以太网数据流对应的EHC上下文的情况下,在非暂态的EHC上下文中选择一个EHC上下文分配给所述以太网数据流;所述非暂态的EHC上下文包括空闲状态的EHC上下文和使用状态的EHC上下文;
发送包含所述EHC上下文的CID的FH包,并将所述EHC上下文的状态标记为暂态;
接收到包含所述EHC上下文的CID的EHC反馈包后,将所述EHC上下文的状态标记为使用状态。
可选地,所述方法还包括:
发送所述以太网数据流的第一个包含所述EHC上下文的CID的FH包后,启动对应所述EHC上下文的第一定时器;
在对应所述EHC上下文的第一定时器超时后如果仍未收到包含所述EHC上下文的CID的EHC反馈包,则停止发送所述以太网数据流的FH包,并将所述EHC上下文的状态标记为空闲状态。
可选地,所述方法还包括:
在接收到第一个包含所述EHC上下文的CID的EHC反馈包后,启动对应所述EHC上下文的第二定时器;
在对应所述EHC上下文的第二定时器超时后,将所述EHC上下文的状态标记为使用状态。
可选地,所述在非暂态的EHC上下文中选择一个EHC上下文分配给所述以太网数据流包括:
如果有空闲状态的EHC上下文,则从所述空闲状态的EHC上下文中选择一个EHC上下文分配给所述以太网数据流;
如果没有空闲状态的EHC上下文,则从使用状态的EHC上下文中选择一个EHC上下文进行淘汰,并将该EHC上下文分配给所述以太网数据流。
可选地,所述方法还包括:
将所述EHC上下文的状态标记为使用状态后,记录发送第一个包含所述EHC上下文的CID的CH包的时间;
所述从所述使用状态的EHC上下文中选择一个EHC上下文进行淘汰包括:
根据记录的发送第一个包含各使用状态的EHC上下文的CID的CH包的时间,选择一个EHC上下文进行淘汰。
可选地,所述方法还包括:
在所述EHC上下文的状态由使用状态变更为空闲状态后,累计所述EHC上下文被不同以太网数据流使用的次数;
所述从所述使用状态的EHC上下文中选择一个EHC上下文进行淘汰包括:
从各使用状态的EHC上下文中选择被不同以太网数据流使用次数最少的一个EHC上下文进行淘汰。
可选地,所述从所述使用状态的EHC上下文中选择一个EHC上下文进行淘汰包括:
计算各使用状态的EHC上下文对应的以太网数据流的头压缩增益;
选择对应头压缩增益最小的一个EHC上下文进行淘汰。
一种以太网包头压缩装置,其特征在于,所述装置包括:
第一接收模块,用于接收来自数据源的以太网数据流;
第二接收模块,用于接收包含CID的EHC反馈包;
EHC上下文建立模块,用于在所述第一接收模块接收到以太网数据流、并且没有与所述以太网数据流对应的EHC上下文的情况下,在非暂态的EHC上下文中选择一个EHC上下文分配给所述以太网数据流;所述非暂态的EHC上下文包括空闲状态的EHC上下文和使用状态的EHC上下文;
发送模块,用于发送包含所述EHC上下文的CID的FH包;
状态标记模块,用于在所述发送模块发送包含所述EHC上下文的CID的FH包后,将所述EHC上下文的状态标记为暂态;在所述第二接收模块接收到包含所述EHC上下文的CID的EHC反馈包后,将所述EHC上下文的状态标记为使用状态。
可选地,所述发送模块,还用于在发送所述以太网数据流的第一个包含所述EHC上下文的CID的FH包后,触发启动对应所述EHC上下文的第一定时器;
所述第二接收模块,还用于在对应所述EHC上下文的第一定时器超时后仍未收到包含所述EHC上下文的CID的EHC反馈包时,触发所述发送模块停止发送所述以太网数据流的FH包,并触发所述状态标记模块将所述EHC上下文的状态标记为空闲状态。
可选地,所述第二接收模块,还用于在接收到第一个包含所述EHC上下文的CID的EHC反馈包后,触发启动对应所述EHC上下文的第二定时器;
所述状态标记模块在对应所述EHC上下文的第二定时器超时后,将所述EHC上下文的状态标记为使用状态。
可选地,所述EHC上下文建立模块,具体用于在有空闲状态的EHC上下文的情况下,从所述空闲状态的EHC上下文中选择一个EHC上下文分配给所述以太网数据流;在没有空闲状态的EHC上下文的情况下,从使用状态的EHC上下文中选择一个EHC上下文进行淘汰,并将该EHC上下文分配给所述以太网数据流。
可选地,所述装置还包括:
时间记录模块,用于在所述状态标记模块将所述EHC上下文的状态标记为使用状态后,记录所述发送模块发送第一个包含所述EHC上下文的CID的CH包的时间;
所述EHC上下文建立模块根据所述时间记录模块记录的所述发送模块发送第一个包含各使用状态的EHC上下文的CID的CH包的时间,选择一个EHC上下文进行淘汰。
可选地,所述装置还包括:
计数模块,用于在所述EHC上下文的状态由使用状态变更为空闲状态后,累计所述EHC上下文被不同以太网数据流使用的次数;
所述EHC上下文建立模块从各使用状态的EHC上下文中选择被不同以太网数据流使用次数最少的一个EHC上下文进行淘汰。
可选地,所述装置还包括:
计算模块,用于计算各使用状态的EHC上下文对应的以太网数据流的头压缩增益;
所述EHC上下文建立模块选择对应头压缩增益最小的一个EHC上下文进行淘汰。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述方法的步骤。
为解决上述技术问题,本发明实施例还提供一种电子设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述方法的步骤。
本发明实施例提供的以太网包头压缩方法,对EHC上下文设置不同的状态标记,在接收到来自数据源的以太网数据流,并且没有与所述以太网数据流对应的EHC上下文的情况下,在非暂态的EHC上下文中选择一个EHC上下文分配给所述以太网数据流,发送包含所述EHC上下文的CID的FH包,并将所述EHC上下文的状态标记为暂态;接收到包含所述EHC上下文的CID的EHC反馈包后,将所述EHC上下文的状态标记为使用状态。其中,所述非暂态的EHC上下文只包括空闲状态的EHC上下文和使用状态的EHC上下文,而不包括暂态的EHC上下文,这样在为新的以太网数据流分配EHC上下文时,不会选到暂态的EHC上下文,从而有效地避免了现有技术中压缩方和解压方的EHC上下文不一致的问题。
进一步地,为了避免EHC上下文长时间处于暂态,影响EHC上下文的使用率,在将EHC上下文分配给新的以太网数据流并发送所述以太网数据流的第一个FH包后,启动对应该EHC上下文的第一定时器,在对应该EHC上下文的第一定时器超时后如果仍未收到包含该EHC上下文的CID的EHC反馈包,则停止发送所述以太网数据流的FH包,释放相应的EHC上下文,将该所述EHC上下文的状态标记为空闲状态。
进一步地,考虑到压缩方在收到包含所述EHC上下文的CID的EHC反馈包之前可能发送了多个FH包,为了避免在途FH包的影响,压缩方在收到第一个包含所述EHC上下文的CID的EHC反馈包之后,启动对应该EHC上下文的第二定时器。在所述第二定时器运行期间该EHC上下文的暂态保持不变,直到该第二定时器超时才认为该EHC上下文进入了正常使用状态,即将所述EHC上下文的状态标记为使用状态。
进一步地,在进行CID覆盖时,可以通过多种方式从使用状态的EHC上下文中选择一个EHC上下文进行淘汰,可以更好地满足不同应用场景的需求。
附图说明
图1是现有的以太网数据包格式示意图;
图2是现有技术中EHC操作的流程图;
图3是本发明实施例以太网包头压缩方法的一种流程图;
图4是本发明实施例以太网包头压缩方法的一种流程图;
图5是本发明实施例以太网包头压缩方法的一种流程图;
图6是本发明实施例以太网包头压缩装置的一种结构框图;
图7是本发明实施例以太网包头压缩装置的另一种结构框图;
图8是本发明实施例以太网包头压缩装置的另一种结构框图;
图9是本发明实施例以太网包头压缩装置的另一种结构框图。
具体实施方式
为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
以太网数据包格式如图1所示,包括:前导码、SFD(Start of Frame Delimiter,帧开始符)、MAC目标地址、MAC源地址、802.1Q Tag(标签)、长度/类型、有效载荷、FCS(FrameCheck Sequence,帧校验序列)、扩展字段,EHC压缩的字段有:MAC目标地址、MAC源地址、802.1Q Tag(标签)、长度/类型。
现有技术中,对每个DRB(Data Radio Bearer,数据无线承载)的上行和下行分别单独配置以太网头压缩;EHC压缩器和EHC解压器采用CID将一个上下文标识与以太网头部内容关联;且EHC基于以下机制:对于产生新上下文的以太网流,压缩端至少发送一个包含完整头部和CID的报文/帧,以便于解压器建立上下文,之后压缩器传输压缩后的报文/帧;以太网头压缩产生的数据包的头部至少包括以下字段:CID,用于指示本数据包的头部格式的指示标识(即指示本数据包的头部是完整头部还是压缩后的头部)。
下面结合图2详细说明现有技术中EHC操作的过程,具体过程如下:
1)对于以太网数据包流,压缩器将包含CID的FH包发送到解压器。
2)解压器接收到FH包后,解压器建立EHC上下文,并将EHC反馈包发送给压缩器,以指示在解压器中成功建立了EHC上下文。
3)压缩器接收到EHC反馈包之后,开始向解压器发送CH(Compressed Header,压缩头)包,CH包中包含相关联的CID。不包含存储在EHC上下文中的头字段。
4)解压器接收到CH包后,基于其中相关联的CID标识的EHC上下文恢复原始字段。
按照现有技术,在CID覆盖时,可能出现压缩方和解压方的EHC上下文不一致的问题。比如,假定压缩方只剩余一个空闲的EHC上下文,标识符为CIDa。现在有一个以太网流Sa与任何已建立的EHC上下文都不匹配,那么压缩方选择CIDa对应的上下文,保存头字段信息,并发送FH包到解压方。在未收到对方的EHC反馈包时,压缩方又要发送新的以太网流Sb,将CIDa分配给Sb,在CIDa对应的EHC上下文中保存Sb的头字段信息,并发送Sb的FH包到解压方。解压方收到Sa的FH包,在CIDa对应的EHC上下文中保存Sa的头字段信息,发送Sa的EHC反馈包。但是解压方没有收到Sb的FH包。压缩方收到Sa的EHC反馈包,误以为是针对Sb的FH包的反馈,后面以CIDa对Sb进行压缩。而这时解压方中CIDa对应的却是Sa。这样造成双方EHC上下文不一致,解压方还原出的数据与原始数据不一致。
另外还有一种场景,CID覆盖时如果FH包出现乱序到达解压方,也可能出现双方EHC上下文不一致。与上面类似,压缩方先后发送Sa和Sb的FH包,在CIDa对应的EHC上下文中保存Sb的头字段信息。由于数据传输的原因(比如失败重传),解压方先收到Sb的FH包,再收到Sa的FH包。那么解压方在CIDa对应的EHC上下文中保存的是Sa的头字段信息。
针对上述问题,本发明实施例提供一种以太网包头压缩方法及装置,对EHC上下文设置不同的状态标记,在为新的以太网数据流分配EHC上下文时,排除当前状态为暂态的EHC上下文,以避免压缩方和解压方的EHC上下文不一致的问题。
如图3所示,是本发明实施例以太网包头压缩方法的一种流程图,包括以下步骤:
步骤301,接收来自数据源的以太网数据流。
步骤302,在没有与所述以太网数据流对应的EHC上下文的情况下,在非暂态的EHC上下文中选择一个EHC上下文分配给所述以太网数据流。
其中,所述非暂态的EHC上下文包括空闲状态的EHC上下文和使用状态的EHC上下文,不包括处于暂态的EHC上下文。具体地,可以有以下两种情况:
(1)如果有空闲状态的EHC上下文,则从所述空闲状态的EHC上下文中选择一个EHC上下文分配给所述以太网数据流;
(2)如果没有空闲状态的EHC上下文,则从使用状态的EHC上下文中选择一个EHC上下文进行淘汰,并将该EHC上下文分配给所述以太网数据流,即进行CID覆盖。
当然,在实际应用中,可以根据需要,如果有必要进行CID覆盖,则执行上述第(2)种情况的操作,如果不需要进行CID覆盖、或者没有使用状态的EHC上下文,则可以暂不对所述以太网数据流进行压缩。需要说明的是,具体是否有必要进行CID覆盖可以根据应用场景及相应的覆盖原则来进行,对此本发明实施例不做限定。
步骤303,发送包含所述EHC上下文的CID的FH包,并将所述EHC上下文的状态标记为暂态。
步骤304,接收到包含所述EHC上下文的CID的EHC反馈包后,将所述EHC上下文的状态标记为使用状态。
本发明实施例提供的以太网包头压缩方法,对EHC上下文设置不同的状态标记,在接收到来自数据源的以太网数据流,并且没有与所述以太网数据流对应的EHC上下文的情况下,在非暂态的EHC上下文中选择一个EHC上下文分配给所述以太网数据流,发送包含所述EHC上下文的CID的FH包,并将所述EHC上下文的状态标记为暂态;接收到包含EHC上下文的EHC反馈包后,将所述EHC上下文的状态标记为使用状态。也就是说,对于新的以太网数据流(所谓新的以太网数据流是指该以太网数据流的以太网头在非空闲的各个EHC上下文中找不到),在需要对其进行压缩时,在分配上下文时排除掉暂态的EHC上下文。在收到该EHC上下文的CID的EHC反馈包之前,压缩方都认为该EHC上下文处于暂态。其中,所述非暂态的EHC上下文只包括空闲状态的EHC上下文和使用状态的EHC上下文,而不包括暂态的EHC上下文,这样在为新的以太网数据流分配EHC上下文时,不会选到暂态的EHC上下文,从而有效地避免了现有技术中压缩方和解压方的EHC上下文不一致的问题。
如图4所示,是本发明实施例以太网包头压缩方法的一种流程图,包括以下步骤:
步骤401,接收来自数据源的以太网数据流。
步骤402,在没有与所述以太网数据流对应的EHC上下文的情况下,在非暂态的EHC上下文中选择一个EHC上下文分配给所述以太网数据流。
其中,所述非暂态的EHC上下文包括空闲状态的EHC上下文和使用状态的EHC上下文。在有空闲状态的EHC上下文的情况下,从所述空闲状态的EHC上下文中选择一个EHC上下文分配给所述以太网数据流;在没有空闲状态的EHC上下文的情况下,从使用状态的EHC上下文中选择一个EHC上下文进行淘汰,并将该EHC上下文分配给所述以太网数据流,即进行CID覆盖。
步骤403,发送所述以太网数据流的FH包,并在发送所述以太网数据流的第一个包含所述EHC上下文的CID的FH包后,将所述EHC上下文的状态标记为暂态,并启动对应所述EHC上下文的第一定时器。
步骤404,判断是否接收到包含所述EHC上下文的CID的EHC反馈包;如果是,则执行步骤407;否则,执行步骤405。
步骤405,判断对应所述EHC上下文的第一定时器是否超时;如果是,则执行步骤406;否则,执行步骤404。
步骤406,停止发送所述以太网数据流的FH包,并将所述EHC上下文的状态标记为空闲状态。
步骤407,将所述EHC上下文的状态标记为使用状态。
本发明实施例提供的以太网包头压缩方法,对EHC上下文设置不同的状态标记,在接收到来自数据源的以太网数据流,并且没有与所述以太网数据流对应的EHC上下文的情况下,在非暂态的EHC上下文中选择一个EHC上下文分配给所述以太网数据流,发送所述以太网数据流的FH包,并将所述EHC上下文的状态标记为暂态,而且,在发送所述以太网数据流的第一个包含所述EHC上下文的CID的FH包后,启动对应该EHC上下文的第一定时器,在对应该EHC上下文的第一定时器超时后如果仍未收到包含该EHC上下文的CID的EHC反馈包,则停止发送所述以太网数据流的FH包,释放相应的EHC上下文,将该EHC上下文的状态标记为空闲状态。从而避免了EHC上下文长时间处于暂态,影响EHC上下文的使用率。
如图5所示,是本发明实施例以太网包头压缩方法的一种流程图,包括以下步骤:
步骤501,接收来自数据源的以太网数据流。
步骤502,在没有与所述以太网数据流对应的EHC上下文的情况下,在非暂态的EHC上下文中选择一个EHC上下文分配给所述以太网数据流。
其中,所述非暂态的EHC上下文包括空闲状态的EHC上下文和使用状态的EHC上下文。在有空闲状态的EHC上下文的情况下,从所述空闲状态的EHC上下文中选择一个EHC上下文分配给所述以太网数据流;在没有空闲状态的EHC上下文的情况下,从使用状态的EHC上下文中选择一个EHC上下文进行淘汰,并将该EHC上下文分配给所述以太网数据流,即进行CID覆盖。
步骤503,发送包含所述EHC上下文的CID的FH包,并将所述EHC上下文的状态标记为暂态。
步骤504,接收到第一个包含所述EHC上下文的CID的EHC反馈包后,启动对应所述EHC上下文的第二定时器。
步骤505,判断对应所述EHC上下文的第二定时器是否超时;如果是,则执行步骤506;否则,延迟一定时间后执行步骤505。
步骤506,将所述EHC上下文的状态标记为使用状态。
本发明实施例提供的以太网包头压缩方法,对EHC上下文设置不同的状态标记,在接收到来自数据源的以太网数据流,并且没有与所述以太网数据流对应的EHC上下文的情况下,在非暂态的EHC上下文中选择一个EHC上下文分配给所述以太网数据流,发送包含所述EHC上下文的CID的FH包,并将所述EHC上下文的状态标记为暂态。而且,考虑到压缩方在收到包含所述EHC上下文的CID的EHC反馈包之前可能发送了多个FH包,为了避免在途FH包的影响,压缩方在收到第一个包含所述EHC上下文的CID的EHC反馈包之后,启动对应该EHC上下文的第二定时器。在对应该EHC上下文的第二定时器运行期间该EHC上下文的暂态保持不变,直到对应该EHC上下文的第二定时器超时才认为所述EHC上下文进入了正常使用状态,即将所述EHC上下文的状态标记为使用状态。
需要说明的是,上述图5中第二定时器的设定及使用方式也同样可应用于上述图4所对应的实施例中,也就是说,在本发明方法另一实施例中,可以分别按照上述图4和图5所示的方式设置对应所述EHC上下文的第一定时器和第二定时器,而且这两个定时器在该实施例中的作用与图4和图5所示实施例中相同,对此不再详细描述。
另外,需要说明的是,在上述图3、图4和图5所示实施例中,压缩方对数据包的发送及接收是独立进行的,也就是说,上述图3、图4和图5所示实施例中并不严格限定一些发送和接收操作的顺序,图中的顺序只是为了方便理解。
在前面各实施例中,是否进行CID覆盖可以根据应用需要来决定,在有些应用环境中,在没有空闲状态的EHC上下文时,可以进行CID覆盖;在另一些应用环境中,也可以不进行CID覆盖,对此本发明实施例不做限定。进一步地,在进行CID覆盖时,可以任意选择一个使用状态的EHC上下文进行淘汰,或者按照一定原则从使用状态的EHC上下文中选择一个EHC上下文进行淘汰,对此下面举例说明。
1)在一种实施例中,压缩方将所述EHC上下文的状态标记为使用状态后,记录发送第一个包含EHC上下文的CID的CH包的时间。相应地,可以根据记录的发送第一个包含各使用状态的EHC上下文的CID的时间,选择一个EHC上下文进行淘汰,比如淘汰时间最久或超过一定时间的EHC上下文。
2)在另一种实施例中,压缩方在所述EHC上下文的状态由使用状态变更为空闲状态后,累计所述EHC上下文被不同以太网数据流使用的次数。相应地,可以从各使用状态的EHC上下文中选择被不同以太网数据流使用次数最少的一个EHC上下文进行淘汰。
3)在另一种实施例中,压缩方计算各使用状态的EHC上下文对应的以太网数据流的头压缩增益。相应地,可以选择对应头压缩增益最小的一个EHC上下文进行淘汰。所述头压缩增益可以依据各个以太网数据流在一段时间(如5秒)内的包数与以太网头大小的积来计算。具体可以根据历史统计数据估计未来一段时间内的包数,也可以预估未来一段时间的包数。在已分配上下文的以太网数据流中,选择头压缩增益较小的以太网数据流的EHC上下文进行淘汰。
当然,对需要释放的EHC上下文的选择还可以有其他选择方式,对此本发明实施例不做限定。
相应地,本发明实施例还提供一种以太网包头压缩装置,如图6所示,是该装置的一种结构框图。
在该实施例中,所述装置包括以下各模块:
第一接收模块61,用于接收来自数据源的以太网数据流;
第二接收模块63,用于接收包含CID的EHC反馈包;
EHC上下文建立模块62,用于在所述第一接收模块61接收到以太网数据流、并且没有与所述以太网数据流对应的EHC上下文的情况下,在非暂态的EHC上下文中选择一个EHC上下文分配给所述以太网数据流;
发送模块64,用于发送包含所述EHC上下文的CID的FH包;
状态标记模块65,用于在所述发送模块64发送包含所述EHC上下文的CID的FH包后,将所述EHC上下文的状态标记为暂态;在所述第二接收模块63接收到包含所述EHC上下文的CID的EHC反馈包后,将所述EHC上下文的状态标记为使用状态。
其中,所述非暂态的EHC上下文包括空闲状态的EHC上下文和使用状态的EHC上下文。相应地,所述EHC上下文建立模块62具体用于在有空闲状态的EHC上下文的情况下,从所述空闲状态的EHC上下文中选择一个EHC上下文分配给所述以太网数据流;在没有空闲状态的EHC上下文的情况下,从使用状态的EHC上下文中选择一个EHC上下文进行淘汰,并将该EHC上下文分配给所述以太网数据流。
当然,在实际应用中,可以根据需要,如果有必要进行CID覆盖,则所述EHC上下文建立模块62在没有空闲状态的EHC上下文的情况下,从使用状态的EHC上下文中选择一个EHC上下文进行淘汰,并将该EHC上下文分配给所述以太网数据流;如果不需要进行CID覆盖、或者没有使用状态的EHC上下文,则所述EHC上下文建立模块62可以不用进行CID覆盖操作。需要说明的是,具体是否有必要进行CID覆盖可以根据应用场景及相应的覆盖原则来进行,对此本发明实施例不做限定。
本发明实施例提供的以太网包头压缩装置,对EHC上下文设置不同的状态标记,在接收到来自数据源的以太网数据流,并且没有与所述以太网数据流对应的EHC上下文的情况下,在非暂态的EHC上下文中选择一个EHC上下文分配给所述以太网数据流,发送包含所述EHC上下文的CID的FH包,并将所述EHC上下文的状态标记为暂态;接收到包含所述EHC上下文的CID的EHC反馈包后,将所述EHC上下文的状态标记为使用状态。其中,所述非暂态的EHC上下文只包括空闲状态的EHC上下文和使用状态的EHC上下文,而不包括暂态的EHC上下文,这样在为新的以太网流的EHC上下文分配EHC上下文时,不会选到暂态的EHC上下文,从而有效地避免了现有技术中压缩方和解压方的EHC上下文不一致的问题。
在本发明装置另一实施例中,所述发送模块64还用于在发送所述以太网数据流的第一个包含所述EHC上下文的CID的FH包后,触发启动对应所述EHC上下文的第一定时器。
相应地,所述第二接收模块63还用于在对应所述EHC上下文的第一定时器超时后仍未收到包含所述EHC上下文的EHC反馈包时,触发所述发送模块64停止发送所述以太网数据流的FH包,并触发所述状态标记模块65将所述EHC上下文的状态标记为空闲状态。
本发明实施例提供的以太网包头压缩装置,对EHC上下文设置不同的状态标记,在接收到来自数据源的以太网数据流,并且没有与所述以太网数据流对应的EHC上下文的情况下,在非暂态的EHC上下文中选择一个EHC上下文分配给所述以太网数据流,发送包含所述EHC上下文的CID的FH包,并将所述EHC上下文的状态标记为暂态,而且,在发送所述以太网数据流的第一个包含所述EHC上下文的CID的FH包后,启动对应该EHC上下文的第一定时器,在对应该EHC上下文的第一定时器超时后如果仍未收到包含该EHC上下文的CID的EHC反馈包,则停止发送所述以太网数据流的FH包,释放相应的EHC上下文,将该EHC上下文的状态标记为空闲状态。从而避免了EHC上下文长时间处于暂态,影响EHC上下文的使用率。
在本发明装置另一实施例中,所述第二接收模块63还用于在接收到第一个包含所述EHC上下文的CID的EHC反馈包后,触发启动对应所述EHC上下文的第二定时器。
相应地,在该实施例中,所述状态标记模块65还用于在对应所述EHC上下文的第二定时器超时后,将所述EHC上下文的状态标记为使用状态。
本发明实施例提供的以太网包头压缩装置,对EHC上下文设置不同的状态标记,在接收到来自数据源的以太网数据流,并且没有与所述以太网数据流对应的EHC上下文的情况下,在非暂态的EHC上下文中选择一个EHC上下文分配给所述以太网数据流,发送包含所述EHC上下文的CID的FH包,并将所述EHC上下文的状态标记为暂态。而且,考虑到压缩方在收到包含所述EHC上下文的CID的EHC反馈包之前可能发送了多个FH包,为了避免在途FH包的影响,压缩方在收到第一个包含所述EHC上下文的CID的EHC反馈包之后,启动对应该EHC上下文的第二定时器。在所述第二定时器运行期间该EHC上下文的暂态保持不变,直到该第二定时器超时才认为所述EHC上下文进入了正常使用状态,即将所述EHC上下文的状态标记为使用状态。
需要说明的是,在本发明以太网包头压缩装置的另一实施例中,还可以同时包括上述第一定时器和第二定时器,不仅可以有效地避免现有技术中压缩方和解压方的EHC上下文不一致的问题,而且可以避免在途FH包引起压缩方和解压方的EHC上下文不一致的问题。
在前面各实施例中,是否进行CID覆盖可以根据应用需要来决定,在有些应用环境中,在没有空闲状态的EHC上下文时,可以进行CID覆盖;在另一些应用环境中,也可以不进行CID覆盖,对此本发明实施例不做限定。进一步地,在进行CID覆盖时,可以任意选择一个EHC上下文进行淘汰,或者按照一定原则从使用状态的EHC上下文中选择一个EHC上下文进行淘汰,对此下面举例说明。
为了便于清楚描述,下面举例进行说明。
比如,在图7所示本发明装置的一种变型结构实施例中,所述装置还包括:时间记录模块71,用于在所述状态标记模块65将所述EHC上下文的状态标记为使用状态后,记录所述发送模块64发送第一个包含所述EHC上下文的CID的CH包的时间。
相应地,所述EHC上下文建立模块62可以根据所述时间记录模块71记录的所述发送模块发送第一个包含各使用状态EHC上下文的CID的CH包的时间,选择一个EHC上下文进行淘汰,比如淘汰时间最久或超过一定时间的EHC上下文。
再比如,在图8所示本发明装置的另一种变型结构实施例中,所述装置还可包括:计数模块81,用于在所述EHC上下文的状态由使用状态变更为空闲状态后,累计所述EHC上下文被不同以太网数据流使用的次数。相应地,所述EHC上下文建立模块62可以从各使用状态的EHC上下文中选择被不同以太网数据流使用次数最少的一个EHC上下文进行淘汰。
再比如,在图9所示本发明装置的另一种变型结构实施例中,所述装置还可以包括:计算模块91,用于计算各使用状态的EHC上下文对应的以太网数据流的头压缩增益。相应地,所述EHC上下文建立模块62可以选择对应头压缩增益最小的一个EHC上下文进行淘汰。
当然,对需要释放的EHC上下文的选择还可以有其他选择方式,相应地,本发明装置还可以有其他相应的变型结构,对此本发明实施例不做限定。
需要说明的是,上述各实施例的方法或装置对接收到的以太网数据流进行压缩传送的方案可以应用于各种场景,将所述装置部署在压缩方。相应地,解压方可以按照现有技术对接收的数据包进行解压处理。比如,解压方接收到FH包时,建立EHC上下文,并将EHC反馈包发送给压缩方,以指示在解压方成功建立了EHC上下文;解压方接收到CH包后,基于相关CID标识的EHC上下文恢复原始字段。
在具体实施中,上述以太网包头压缩装置可以对应于网络设备中的芯片,例如SOC(System-On-a-Chip,片上系统)、基带芯片、芯片模组等。
在具体实施中,关于上述实施例中描述的各个装置、产品包含的各个模块/单元,其可以是软件模块/单元,也可以是硬件模块/单元,或者也可以部分是软件模块/单元,部分是硬件模块/单元。
例如,对于应用于或集成于芯片的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于芯片模组的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于芯片模组的同一组件(例如芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片模组内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于终端的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于终端内同一组件(例如,芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于终端内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述各实施例提供的方法的步骤。或者,所述计算机程序被处理器运行时执行上述各实施例提供的方法的步骤。
本发明实施例还提供了另一种以太网包头压缩装置,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述各实施例所提供的方法的步骤。
本发明实施例还提供了一种电子设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述各实施例所提供的方法的步骤。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (16)
1.一种以太网包头压缩方法,其特征在于,所述方法包括:
接收来自数据源的以太网数据流;
在没有与所述以太网数据流对应的EHC上下文的情况下,在非暂态的EHC上下文中选择一个EHC上下文分配给所述以太网数据流;所述非暂态的EHC上下文包括空闲状态的EHC上下文和使用状态的EHC上下文;
发送包含所述EHC上下文的CID的FH包,并将所述EHC上下文的状态标记为暂态;
接收到包含所述EHC上下文的CID的EHC反馈包后,将所述EHC上下文的状态标记为使用状态。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
发送所述以太网数据流的第一个包含所述EHC上下文的CID的FH包后,启动对应所述EHC上下文的第一定时器;
在对应所述EHC上下文的第一定时器超时后如果仍未收到包含所述EHC上下文的CID的EHC反馈包,则停止发送所述以太网数据流的FH包,并将所述EHC上下文的状态标记为空闲状态。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
在接收到第一个包含所述EHC上下文的CID的EHC反馈包后,启动对应所述EHC上下文的第二定时器;
在对应所述EHC上下文的第二定时器超时后,将所述EHC上下文的状态标记为使用状态。
4.根据权利要求1所述的方法,其特征在于,所述在非暂态的EHC上下文中选择一个EHC上下文分配给所述以太网数据流包括:
如果有空闲状态的EHC上下文,则从所述空闲状态的EHC上下文中选择一个EHC上下文分配给所述以太网数据流;
如果没有空闲状态的EHC上下文,则从使用状态的EHC上下文中选择一个EHC上下文进行淘汰,并将该EHC上下文分配给所述以太网数据流。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
将所述EHC上下文的状态标记为使用状态后,记录发送第一个包含所述EHC上下文的CID的CH包的时间;
所述从所述使用状态的EHC上下文中选择一个EHC上下文进行淘汰包括:
根据记录的发送第一个包含各使用状态的EHC上下文的CID的CH包的时间,选择一个EHC上下文进行淘汰。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在所述EHC上下文的状态由使用状态变更为空闲状态后,累计所述EHC上下文被不同以太网数据流使用的次数;
所述从所述使用状态的EHC上下文中选择一个EHC上下文进行淘汰包括:
从各使用状态的EHC上下文中选择被不同以太网数据流使用次数最少的一个EHC上下文进行淘汰。
7.根据权利要求4所述的方法,其特征在于,所述从所述使用状态的EHC上下文中选择一个EHC上下文进行淘汰包括:
计算各使用状态的EHC上下文对应的以太网数据流的头压缩增益;
选择对应头压缩增益最小的一个EHC上下文进行淘汰。
8.一种以太网包头压缩装置,其特征在于,所述装置包括:
第一接收模块,用于接收来自数据源的以太网数据流;
第二接收模块,用于接收包含CID的EHC反馈包;
EHC上下文建立模块,用于在所述第一接收模块接收到以太网数据流、并且没有与所述以太网数据流对应的EHC上下文的情况下,在非暂态的EHC上下文中选择一个EHC上下文分配给所述以太网数据流;所述非暂态的EHC上下文包括空闲状态的EHC上下文和使用状态的EHC上下文;
发送模块,用于发送包含所述EHC上下文的CID的FH包;
状态标记模块,用于在所述发送模块发送包含所述EHC上下文的CID的FH包后,将所述EHC上下文的状态标记为暂态;在所述第二接收模块接收到包含所述EHC上下文的CID的EHC反馈包后,将所述EHC上下文的状态标记为使用状态。
9.根据权利要求8所述的装置,其特征在于,
所述发送模块,还用于在发送所述以太网数据流的第一个包含所述EHC上下文的CID的FH包后,触发启动对应所述EHC上下文的第一定时器;
所述第二接收模块,还用于在对应所述EHC上下文的第一定时器超时后仍未收到包含所述EHC上下文的CID的EHC反馈包时,触发所述发送模块停止发送所述以太网数据流的FH包,并触发所述状态标记模块将所述EHC上下文的状态标记为空闲状态。
10.根据权利要求8或9所述的装置,其特征在于,
所述第二接收模块,还用于在接收到第一个包含所述EHC上下文的CID的EHC反馈包后,触发启动对应所述EHC上下文的第二定时器;
所述状态标记模块在对应所述EHC上下文的第二定时器超时后,将所述EHC上下文的状态标记为使用状态。
11.根据权利要求8所述的装置,其特征在于,
所述EHC上下文建立模块,具体用于在有空闲状态的EHC上下文的情况下,从所述空闲状态的EHC上下文中选择一个EHC上下文分配给所述以太网数据流;在没有空闲状态的EHC上下文的情况下,从使用状态的EHC上下文中选择一个EHC上下文进行淘汰,并将该EHC上下文分配给所述以太网数据流。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
时间记录模块,用于在所述状态标记模块将所述EHC上下文的状态标记为使用状态后,记录所述发送模块发送第一个包含所述EHC上下文的CID的CH包的时间;
所述EHC上下文建立模块根据所述时间记录模块记录的所述发送模块发送第一个包含各使用状态的EHC上下文的CID的CH包的时间,选择一个EHC上下文进行淘汰。
13.根据权利要求11所述的装置,其特征在于,所述装置还包括:
计数模块,用于在所述EHC上下文的状态由使用状态变更为空闲状态后,累计所述EHC上下文被不同以太网数据流使用的次数;
所述EHC上下文建立模块从各使用状态的EHC上下文中选择被不同以太网数据流使用次数最少的一个EHC上下文进行淘汰。
14.根据权利要求11所述的装置,其特征在于,所述装置还包括:
计算模块,用于计算各使用状态的EHC上下文对应的以太网数据流的头压缩增益;
所述EHC上下文建立模块选择对应头压缩增益最小的一个EHC上下文进行淘汰。
15.一种计算机可读存储介质,所述计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行权利要求1至7中任一项所述方法的步骤。
16.一种电子设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110605406.2A CN115484312B (zh) | 2021-05-31 | 2021-05-31 | 以太网包头压缩方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110605406.2A CN115484312B (zh) | 2021-05-31 | 2021-05-31 | 以太网包头压缩方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115484312A true CN115484312A (zh) | 2022-12-16 |
CN115484312B CN115484312B (zh) | 2024-05-17 |
Family
ID=84419096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110605406.2A Active CN115484312B (zh) | 2021-05-31 | 2021-05-31 | 以太网包头压缩方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115484312B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101724231B1 (ko) * | 2016-04-27 | 2017-04-06 | 건국대학교 산학협력단 | 이더넷 헤더 압축을 통한 네트워크 전송 효율 향상 방법 및 장치 |
CN110958646A (zh) * | 2018-09-27 | 2020-04-03 | 华为技术有限公司 | 通信方法与设备 |
US20200314690A1 (en) * | 2019-03-27 | 2020-10-01 | Samsung Electronics Co., Ltd. | Method and apparatus for processing pdcp control data in system supporting high-reliability low-latency service |
WO2020199030A1 (zh) * | 2019-03-29 | 2020-10-08 | Oppo广东移动通信有限公司 | 一种压缩处理方法、解压缩处理方法及相关设备 |
CN112312587A (zh) * | 2019-07-30 | 2021-02-02 | 夏普株式会社 | 用户设备及其执行的方法和基站及其执行的方法 |
CN112351459A (zh) * | 2019-08-09 | 2021-02-09 | 夏普株式会社 | Pdcp实体发送端/接收端的执行方法、pdcp实体及通信设备 |
CN112769743A (zh) * | 2019-11-06 | 2021-05-07 | 大唐移动通信设备有限公司 | 一种报头压缩方法、装置及设备 |
WO2021097686A1 (zh) * | 2019-11-19 | 2021-05-27 | Oppo广东移动通信有限公司 | 用于传输以太网压缩包的方法和设备 |
-
2021
- 2021-05-31 CN CN202110605406.2A patent/CN115484312B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101724231B1 (ko) * | 2016-04-27 | 2017-04-06 | 건국대학교 산학협력단 | 이더넷 헤더 압축을 통한 네트워크 전송 효율 향상 방법 및 장치 |
CN110958646A (zh) * | 2018-09-27 | 2020-04-03 | 华为技术有限公司 | 通信方法与设备 |
US20200314690A1 (en) * | 2019-03-27 | 2020-10-01 | Samsung Electronics Co., Ltd. | Method and apparatus for processing pdcp control data in system supporting high-reliability low-latency service |
WO2020199030A1 (zh) * | 2019-03-29 | 2020-10-08 | Oppo广东移动通信有限公司 | 一种压缩处理方法、解压缩处理方法及相关设备 |
CN112312587A (zh) * | 2019-07-30 | 2021-02-02 | 夏普株式会社 | 用户设备及其执行的方法和基站及其执行的方法 |
CN112351459A (zh) * | 2019-08-09 | 2021-02-09 | 夏普株式会社 | Pdcp实体发送端/接收端的执行方法、pdcp实体及通信设备 |
CN112769743A (zh) * | 2019-11-06 | 2021-05-07 | 大唐移动通信设备有限公司 | 一种报头压缩方法、装置及设备 |
WO2021097686A1 (zh) * | 2019-11-19 | 2021-05-27 | Oppo广东移动通信有限公司 | 用于传输以太网压缩包的方法和设备 |
Non-Patent Citations (3)
Title |
---|
WHAI-EN CHEN等: ""Promising Framework of Ethernet Header Compression in Industrial Internet of Things"", 《2019 INTERNATIONAL CONFERENCE ON INTELLIGENT COMPUTING AND ITS EMERGING APPLICATIONS (ICEA)》, 7 November 2019 (2019-11-07) * |
许伟民: ""非编网存储系统规划与分析"", 《中国优秀硕士学位论文全文数据库》, 15 August 2009 (2009-08-15) * |
郭雨齐: ""面向物联网的短距离传输频率及数据碰撞的检测与修复方法"", 《中国博士学位论文全文数据库》, 15 September 2014 (2014-09-15) * |
Also Published As
Publication number | Publication date |
---|---|
CN115484312B (zh) | 2024-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2310283C2 (ru) | Система и способ двунаправленной пакетной передачи данных | |
US20190268797A1 (en) | Data transmission method and apparatus | |
US10986653B2 (en) | Method and system for sending and receiving data | |
CN110086578B (zh) | 数据传输方法、装置和系统 | |
US20070097205A1 (en) | Video transmission over wireless networks | |
US10299163B2 (en) | Enhancement on header compression | |
US10142206B2 (en) | Method and apparatus for packet communication using header compression | |
CN114208137A (zh) | 以太帧头的压缩、解压方法和装置 | |
CN107645746B (zh) | 一种上下文更新方法、系统及设备 | |
WO2020184191A1 (ja) | 無線通信装置および方法 | |
CN112469084B (zh) | 数据传输方法、装置、设备、存储介质及程序产品 | |
CN105376614A (zh) | 视频质量优化方法和装置 | |
CN115484312B (zh) | 以太网包头压缩方法及装置 | |
EP3185505A1 (en) | Data packet transmission processing method and device | |
CN116963175A (zh) | 数据传输方法、装置及系统 | |
US20050086383A1 (en) | Optimizing the compression efficiency in a packet data communication | |
US10985896B2 (en) | Method and network node for handling signals transmitted from wireless devices | |
CN115668822A (zh) | 用信号通知网络编码操作的暂停和恢复的方法和设备 | |
CN109690991B (zh) | 反馈信息发送方法、接收方法、装置及系统 | |
CN103179094B (zh) | Ip报文头的发送、接收方法、发送装置以及接收装置 | |
CN112351459A (zh) | Pdcp实体发送端/接收端的执行方法、pdcp实体及通信设备 | |
KR101568881B1 (ko) | 헤더 압축 효율 향상 방법 및 그를 위한 패킷 송신 장치 | |
CN112333047B (zh) | 数据传输方法、装置及设备 | |
CN113678501B (zh) | 一种以太网数据包头压缩方法、处理方法及其装置 | |
WO2023143431A1 (zh) | 通信方法及通信装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |