CN109756468B - 一种数据包的修复方法、基站及计算机可读存储介质 - Google Patents
一种数据包的修复方法、基站及计算机可读存储介质 Download PDFInfo
- Publication number
- CN109756468B CN109756468B CN201711087286.1A CN201711087286A CN109756468B CN 109756468 B CN109756468 B CN 109756468B CN 201711087286 A CN201711087286 A CN 201711087286A CN 109756468 B CN109756468 B CN 109756468B
- Authority
- CN
- China
- Prior art keywords
- data packet
- layer
- protocol
- verification
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000012795 verification Methods 0.000 claims abstract description 111
- 238000004891 communication Methods 0.000 claims abstract description 88
- 230000005540 biological transmission Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 7
- 230000001360 synchronised effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000008439 repair process Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- HCIBTBXNLVOFER-UHFFFAOYSA-N diphenylcyclopropenone Chemical compound O=C1C(C=2C=CC=CC=2)=C1C1=CC=CC=C1 HCIBTBXNLVOFER-UHFFFAOYSA-N 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007774 longterm 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
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009747 swallowing Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/147—Signalling methods or messages providing extensions to protocols defined by standardisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Communication Control (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本发明公开了一种修复数据包的方法,包括:确定出通信协议栈的第一协议层中数据包校验失败时,将所述数据包向所述通信协议栈的第二协议层投递;所述通信协议栈的第二协议层对所述数据包的第二协议层的标识位进行验证,验证失败时丢弃所述数据包,验证通过后,将所述数据包向第三协议层投递,并由所述通信协议栈的第三协议层的对所述数据包的第三协议层的标识位进行验证,验证失败时丢弃所述数据包,验证通过后,将所述数据包向下一协议层投递,直至所述数据包丢弃或所述通信协议栈的最后协议层验证通过;所述通信协议栈的最后协议层验证通过后,将所述数据包向应用层投递。本发明还公开了一种基站及计算机可读存储介质。
Description
技术领域
本发明涉及无线通信技术,尤其涉及一种数据包的修复方法、基站及计算机可读存储介质。
背景技术
目前,在提供语音业务的长期演进(LTE,Long Term Evolution)网络中,语音的质量是影响服务质量最关键的因素。VoLTE(Voice over LTE)业务在传输过程中,由于存在时延、抖动和丢包等传输因素,会影响到语音业务的质量,在第三代伙伴计划协议(3GPP,3rdGeneration Partnership Project)协议中,针对语音业务的时延要求是端对端时延在200ms以内,丢包率要求在1%以内,这样才可以提供良好的语音业务,其中,丢包率对用户体验影响最大,丢包率过高,会使得语音业务出现失真、吞字、断续、听不清等问题;同时,VoLTE 业务对时延要求也较高,如果时延过大,用户听起来就会出现延迟,回音等影响体验的问题,所以需要无线链路控制(RLC,Radio Link Control)层针对VoLTE 业务配置无应答(UM,Unacknowledged Mode)模式,这将使得在UM模式下如果语音包在物理层解调失败之后,没有挽救的机会而直接丢弃,无法继续通过RLC层进行重传,影响用户体验。
发明内容
有鉴于此,本发明实施例期望提供一种数据包的修复方法、基站及计算机可读存储介质,能够修复本在物理层丢弃的数据包,降低了丢包率,提升了用户体验。
为达到上述目的,本发明实施例提供了一种修复数据包的方法,所述方法包括:
确定出通信协议栈的第一协议层中数据包校验失败时,将所述数据包向所述通信协议栈的第二协议层投递;
所述通信协议栈的第二协议层对所述数据包的第二协议层的标识位进行验证,验证失败时丢弃所述数据包,验证通过后,将所述数据包向第三协议层投递,并由所述通信协议栈的第三协议层的对所述数据包的第三协议层的标识位进行验证,验证失败时丢弃所述数据包,验证通过后,将所述数据包向下一协议层投递,直至所述数据包丢弃或所述通信协议栈的最后协议层验证通过;
所述通信协议栈的最后协议层验证通过后,将所述数据包向应用层投递。
其中,上述第二协议层为介质访问MAC层时,所述数据包的第二协议层的标识位为数据包的报头标识位;
所述通信协议栈的第二协议层对所述数据包的第二协议层的标识位进行验证,验证失败时丢弃所述数据包,验证通过后,将所述数据包向第三协议层投递包括:
根据MAC层协议中预设的数据包报头格式对所述数据包的报头数据进行逐比特位验证,当所述数据包的报头数据中的比特位的数据均符合所述MAC 层协议中预设的数据包报头格式时,确定所述数据包验证通过,将所述数据包向第三协议层投递,当所述数据包的报头数据中存在与所述MAC层协议中预设的数据包报头格式不符的比特位时,丢弃所述数据包。
其中,上述第三协议层为无线链路控制RLC层时,所述数据包的第三协议层的标识位为数据包的RLC无应答模式UM序列号SN值;
所述通信协议栈的第三协议层的对所述数据包的第三协议层的标识位进行验证,验证失败时丢弃所述数据包,验证通过后,将所述数据包向下一协议层投递包括:
将所述数据包的SN值与RLC层预设的窗口范围值进行匹配,当所述数据包的序列号SN值位于所述RLC层预设的窗口范围值之内时,确定所述数据包验证通过,将所述数据包向下一协议层投递,当所述数据包的序列号SN值超出所述RLC层预设的窗口范围值时,丢弃所述数据包。
其中,上述下一协议层为分组数据汇聚协议PDCP层时,所述数据包的 PDCP层的标识位为PDCP序列号SN值;
所述将所述数据包向下一协议层投递之后,所述方法还包括:
将所述数据包的PDCP序列号SN值与PDCP层预设的SN值进行对比,生成对比结果,当所述对比结果小于等于预设阈值时,将所述数据包向通信协议栈中所述PDCP层的下一层投递,当所述对比结果大于预设阈值时,丢弃所述数据包。
其中,上述通信协议栈至少包括:介质访问MAC层、无线链路控制RLC 层、分组数据汇聚协议PDCP层、网络互联协议IP层、
所述通信协议栈还至少包括:传输控制协议TCP层、用户数据协议UDP 层和实时传输协议RTP层。
本发明实施例还提供了一种基站,所述基站包括:
确定模块,用于确定出通信协议栈的第一协议层中数据包校验失败时,将所述数据包向所述通信协议栈的第二协议层投递;
验证模块,用于所述通信协议栈的第二协议层对所述数据包的第二协议层的标识位进行验证,验证失败时丢弃所述数据包,验证通过后,将所述数据包向第三协议层投递,并由所述通信协议栈的第三协议层的对所述数据包的第三协议层的标识位进行验证,验证失败时丢弃所述数据包,验证通过后,将所述数据包向下一协议层投递,直至所述数据包丢弃或所述通信协议栈的最后协议层验证通过;
投递模块,用于所述通信协议栈的最后协议层验证通过后,将所述数据包向应用层投递。
其中,上述第二协议层为介质访问MAC层时,所述数据包的第二协议层的标识位为数据包的报头标识位;
所述验证模块,用于根据MAC层协议中预设的数据包报头格式对所述数据包的报头数据进行逐比特位验证,当所述数据包的报头数据中的比特位的数据均符合所述MAC层协议中预设的数据包报头格式时,确定所述数据包验证通过,将所述数据包向第三协议层投递,当所述数据包的报头数据中存在与所述MAC层协议中预设的数据包报头格式不符的比特位时,丢弃所述数据包。
其中,上述第三协议层为无线链路控制RLC层时,所述数据包的第三协议层的标识位为数据包的RLC无应答模式UM序列号SN值;
所述验证模块,用于将所述数据包的SN值与RLC层预设的窗口范围值进行匹配,当所述数据包的序列号SN值位于所述RLC层预设的窗口范围值之内时,确定所述数据包验证通过,将所述数据包向下一协议层投递,当所述数据包的序列号SN值超出所述RLC层预设的窗口范围值时,丢弃所述数据包。
其中,上述下一协议层为分组数据汇聚协议PDCP层时,所述数据包的 PDCP层的标识位为PDCP序列号SN值;
所述验证模块,还用于将所述数据包的PDCP序列号SN值与PDCP层预设的SN值进行对比,生成对比结果,当所述对比结果小于等于预设阈值时,将所述数据包向通信协议栈中所述PDCP层的下一层投递,当所述对比结果大于预设阈值时,丢弃所述数据包。
其中,上述通信协议栈至少包括:介质访问MAC层、无线链路控制RLC 层、分组数据汇聚协议PDCP层、网络互联协议IP层、
所述通信协议栈还至少包括:传输控制协议TCP层、用户数据协议UDP 层和实时传输协议RTP层。
本发明实施例提供了一种终端,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器用于运行所述计算机程序时,执行:
确定出通信协议栈的第一协议层中数据包校验失败时,将所述数据包向所述通信协议栈的第二协议层投递;
所述通信协议栈的第二协议层对所述数据包的第二协议层的标识位进行验证,验证失败时丢弃所述数据包,验证通过后,将所述数据包向第三协议层投递,并由所述通信协议栈的第三协议层的对所述数据包的第三协议层的标识位进行验证,验证失败时丢弃所述数据包,验证通过后,将所述数据包向下一协议层投递,直至所述数据包丢弃或所述通信协议栈的最后协议层验证通过;
所述通信协议栈的最后协议层验证通过后,将所述数据包向应用层投递。
本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现:
确定出通信协议栈的第一协议层中数据包校验失败时,将所述数据包向所述通信协议栈的第二协议层投递;
所述通信协议栈的第二协议层对所述数据包的第二协议层的标识位进行验证,验证失败时丢弃所述数据包,验证通过后,将所述数据包向第三协议层投递,并由所述通信协议栈的第三协议层的对所述数据包的第三协议层的标识位进行验证,验证失败时丢弃所述数据包,验证通过后,将所述数据包向下一协议层投递,直至所述数据包丢弃或所述通信协议栈的最后协议层验证通过;
所述通信协议栈的最后协议层验证通过后,将所述数据包向应用层投递。
本发明公开了一种修复数据包的方法、基站及计算机可读存储介质,通过确定出通信协议栈的第一协议层中数据包校验失败时,将所述数据包向所述通信协议栈的第二协议层投递;所述通信协议栈的第二协议层对所述数据包的第二协议层的标识位进行验证,验证失败时丢弃所述数据包,验证通过后,将所述数据包向第三协议层投递,并由所述通信协议栈的第三协议层的对所述数据包的第三协议层的标识位进行验证,验证失败时丢弃所述数据包,验证通过后,将所述数据包向下一协议层投递,直至所述数据包丢弃或所述通信协议栈的最后协议层验证通过;所述通信协议栈的最后协议层验证通过后,将所述数据包向应用层投递。如此,可以通过将物理层校验失败的数据包继续向下一层投递,如果下一层对应的协议格式与数据包可以匹配,则继续向下一层投递,直至投递到应用层,在对现有通信网络结构下以改动最小、负面影响最小的情况下,降低了丢包率,减小了时延和抖动,减少了重传数据带来的资源开销,最终提升了用户网络语音业务的体验。
附图说明
图1a为本发明第一实施例一种修复数据包的方法流程示意图;
图1b为本发明第一实施例LTE系统的物理层数据包的误比特率进行模拟仿真示意图;
图2为本发明第二实施例一种基站的组成结构示意图;
图3a、图3b、图3c和图3d为本发明第三实施例MAC层报头结构以及 MAC层验证数据包的流程示意图;
图4为本发明第四实施例的RLC层报头结构示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细说明。
实施例一
图1a为本发明实施例一种修复数据包的方法流程示意图,如图1a所示,本发明实施例修复数据包的方法包括以下步骤:
步骤101:确定出通信协议栈的第一协议层中数据包校验失败时,将所述数据包向所述通信协议栈的第二协议层投递;
在实际应用中,基站侧物理层在进行混合自动重传请求(HARQ,Hybrid AutomaticRepeat reQuest)合并时,需要进行循环冗余(CRC,Cyclic Redundancy Check)校验,只有当CRC校验不通过时,该数据包才会认为HARQ失败,不会向RLC层投递,只有对CRC校验通过的数据包,正常投递RLC,但是,如图1b所示,在对LTE系统的物理层数据包的误比特率进行模拟仿真后,可以确定出数据包的误比特率(图1b中的横坐标BER)在物理层中没有出现超过 50%的情况,也就是说,LTE的物理层中数据包的误比特率均在50%以下,即使在累积分布函数(CDF,Cumulative Distribution Function)(即图1b的竖坐标 CDF)处于78%的概率下,数据包的误比特率也均处于30%以下,因此,对于物理层CRC校验失败的数据包在应用层中还具有较大几率可以被正确的解析。
进一步的,LTE系统内部是通过透传方式进行数据传递的,而在对数据解析时,解析的一般是各个层的报头消息,即使数据包在物理层CRC校验失败,但是只要该数据包的报头的比特信息位没有错误,这个数据包是可以继续往下一协议层进行投递,直至将该数据包投递至应用层,由应用层相关协议或应用对该数据包的内容进行解析。
步骤102:所述通信协议栈的各协议层对所述数据包的对应协议层的标识位进行验证,验证失败时丢弃所述数据包,验证通过后,将所述数据包向下一协议层投递,直至所述数据包丢弃或所述通信协议栈的最后协议层验证通过;
其中,所述通信协议栈的第二协议层对所述数据包的第二协议层的标识位进行验证,验证失败时丢弃所述数据包,验证通过后,将所述数据包向第三协议层投递,并由所述通信协议栈的第三协议层的对所述数据包的第三协议层的标识位进行验证,验证失败时丢弃所述数据包,验证通过后,将所述数据包向下一协议层投递,直至所述数据包丢弃或所述通信协议栈的最后协议层验证通过。
具体地,上述第二协议层可以为介质访问(MAC,Media Access Control) 层时,所述数据包的第二协议层的标识位为数据包的报头标识位。
所述通信协议栈的第二协议层对所述数据包的第二协议层的标识位进行验证,验证失败时丢弃所述数据包,验证通过后,将所述数据包向第三协议层投递包括:
根据MAC层协议中预设的数据包报头格式对所述数据包的报头数据进行逐比特位验证,当所述数据包的报头数据中的比特位的数据均符合所述MAC 层协议中预设的数据包报头格式时,确定所述数据包验证通过,将所述数据包向第三协议层投递,当所述数据包的报头数据中存在与所述MAC层协议中预设的数据包报头格式不符的比特位时,丢弃所述数据包。
其中,上述第三协议层为无线链路控制(RLC,Radio Link Control)层时,所述数据包的第三协议层的标识位为数据包的RLC无应答模式(UM, Unacknowledged Mode)序列号(SN,Sequence Number)值。
所述通信协议栈的第三协议层的对所述数据包的第三协议层的标识位进行验证,验证失败时丢弃所述数据包,验证通过后,将所述数据包向下一协议层投递包括:
将所述数据包的SN值与RLC层预设的窗口范围值进行匹配,当所述数据包的序列号SN值位于所述RLC层预设的窗口范围值之内时,确定所述数据包验证通过,将所述数据包向下一协议层投递,当所述数据包的序列号SN值超出所述RLC层预设的窗口范围值时,丢弃所述数据包。
其中,上述下一协议层为分组数据汇聚协议(PDCP,Packet Data ConvergenceProtocol)层时,所述数据包的PDCP层的标识位为PDCP序列号 SN值;
所述将所述数据包向下一协议层投递之后,所述方法还包括:
将所述数据包的PDCP序列号SN值与PDCP层预设的SN值进行对比,生成对比结果,当所述对比结果小于等于预设阈值时,将所述数据包向通信协议栈中所述PDCP层的下一层投递,当所述对比结果大于预设阈值时,丢弃所述数据包。
其中,上述通信协议栈应至少包括:介质访问MAC层、无线链路控制RLC 层、分组数据汇聚协议PDCP层、括有网络互联协议(IP,Internet Protocol) 层、传输控制协议(TCP,Transmission Control Protocol)层、用户数据协议(UDP, User Datagram Protocol)层和实时传输协议(RTP,Real-time Transport Protocol) 层,其中,RTP层为VoLTE系统特有的,而对于不支持网络语音电话功能LTE 基站则没有所述RTP层。
步骤103:所述通信协议栈的最后协议层验证通过后,将所述数据包向应用层投递。
其中,应用层在进行数据码流解码时,消息内容前后关联,也有一定的容错机制,在误比特率较低的前提下,能正确恢复出正确数据比特的概率也是非常高的,尤其是针对VoLTE网络语音电话业务,RLC层只有一次传输机会的前提下,若将消息内容出错但报头未出错的数据强制投递到应用层强解,应用层有一定概率解析正确所述数据包,应用层的相关解码器通过残存的有效比特,以及前后语音报文的相关信息,可以恢复出语音包的相位及幅度,最大限度的复原出原始的语音波形,使得声音的损失降至最低。因此,本发明实施例所提出的方法不会造成任何时延,实现了实时通信,进一步地,数据包报头的比特位即使出错,还可以通过前后文报头的关联信息进行算法演算,恢复数据包报头的比特信息。
在实际应用中,本发明实施例所提出的修复数据包的方法还可以对基站上行系统针对物理层CRC校验失败的数据包逐层标记,在数据包依次投递的每一协议层,设置报头内容匹配的阈值门限,只有符合所有层阈值门限的数据包,才可以最终投递到应用层,对任何一层都满足不了阈值的数据包进行丢弃操作处理,具体可以通过下述步骤实施:
1)在物理层经过HARQ之后,CRC校验失败的数据包是需要标记的目标数据包,其中,将CRC校验正确的数据包直接投递至高层。
2)将这些标记的数据包继续往下一协议层投递,进行报头的匹配,先进行 LTEMAC报头的匹配,若MAC报头信息正确,继续往RLC层投递,RLC层报头进行匹配,若RLC层报头信息正确,继续往PDCP层投递,PDCP报头信息正确,继续匹配IP报头,TCP报头/UDP报头,RTP报头,若都能匹配正确,将数据包通过S1口发送,其中,具体验证方法可参考上述步骤102所提出的验证方法,这里不再赘述。
3)对于任何一个协议层,对于报头都无法匹配的数据包,直接在该协议层丢弃,按照丢包处理。
综上所述,本发明实施例提供的修复数据包的方法,通过对物理层CRC校验失败的数据包在LTE协议栈逐层进行验证,尤其是针对VoLTE业务的数据包,将各个协议层的报头数据能正确解析出来的数据包强制投递到应用层进行恢复处理,应用层对于该数据包是有一定概率正确的解析出数据包的内容,本发明实施例所提出的方法与目前物理层直接丢弃数据包的策略相比,多了一层保障手段,一方面降低了丢包率,另一方面,提升了用户的体验。
实施例二
图2为本发明实施例基站的组成结构示意图,如图2所示,本发明实施例基站组成包括:确定模块201、验证模块202、投递模块203;其中,
确定模块201,用于确定出通信协议栈的第一协议层中数据包校验失败时,将所述数据包向所述通信协议栈的第二协议层投递;
验证模块202,用于所述通信协议栈的第二协议层对所述数据包的第二协议层的标识位进行验证,验证失败时丢弃所述数据包,验证通过后,将所述数据包向第三协议层投递,并由所述通信协议栈的第三协议层的对所述数据包的第三协议层的标识位进行验证,验证失败时丢弃所述数据包,验证通过后,将所述数据包向下一协议层投递,直至所述数据包丢弃或所述通信协议栈的最后协议层验证通过;
投递模块203,用于所述通信协议栈的最后协议层验证通过后,将所述数据包向应用层投递。
其中,上述第二协议层为介质访问MAC层时,所述数据包的第二协议层的标识位为数据包的报头标识位;
所述验证模块202,用于根据MAC层协议中预设的数据包报头格式对所述数据包的报头数据进行逐比特位验证,当所述数据包的报头数据中的比特位的数据均符合所述MAC层协议中预设的数据包报头格式时,确定所述数据包验证通过,将所述数据包向第三协议层投递,当所述数据包的报头数据中存在与所述MAC层协议中预设的数据包报头格式不符的比特位时,丢弃所述数据包。
其中,上述第三协议层为无线链路控制RLC层时,所述数据包的第三协议层的标识位为数据包的RLC无应答模式UM序列号SN值;
所述验证模块202,用于将所述数据包的SN值与RLC层预设的窗口范围值进行匹配,当所述数据包的序列号SN值位于所述RLC层预设的窗口范围值之内时,确定所述数据包验证通过,将所述数据包向下一协议层投递,当所述数据包的序列号SN值超出所述RLC层预设的窗口范围值时,丢弃所述数据包。
其中,上述下一协议层为分组数据汇聚协议PDCP层时,所述数据包的 PDCP层的标识位为PDCP序列号SN值;
所述验证模块202,还用于将所述数据包的PDCP序列号SN值与PDCP 层预设的SN值进行对比,生成对比结果,当所述对比结果小于等于预设阈值时,将所述数据包向通信协议栈中所述PDCP层的下一层投递,当所述对比结果大于预设阈值时,丢弃所述数据包。
其中,上述通信协议栈包括:介质访问MAC层、无线链路控制RLC层、分组数据汇聚协议PDCP层、网络互联协议IP层、传输控制协议TCP层、用户数据协议UDP层和实时传输协议RTP层。
上述确定模块201、验证模块202、投递模块203可以由任何类型的易失性或非易失性存储设备、或者它们的组合来实现。其中,非易失性存储器可以是只读存储器(ROM,ReadOnly Memory)、可编程只读存储器(PROM, Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器 (EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,Ferromagnetic Random Access Memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,RandomAccess Memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器 (SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器 (SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM, Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本发明实施例描述的存储器204旨在包括但不限于这些和任意其它适合类型的存储器。
在实际应用中,上述确定模块201、验证模块202、投递模块203可由位于基站中的中央处理器(CPU,Central Processing Unit)、微处理器(MPU,Micro Processor Unit)、数字信号处理器(DSP,Digital Signal Processor)、或现场可编程门阵列(FPGA,FieldProgrammable Gate Array)等实现。
需要说明的是,本发明实施例所提出的确定模块201、验证模块202、投递模块203的实现修复数据包的方法具体可参照本发明实施例一中所描述的相关修复数据包方法的内容,这里不再赘述。
实施例三
本发明实施例三为在LTE系统中,对物理层QCI(QoS Class Identifier)1业务中循环冗余校验(CRC,Cyclic Redundancy Check)错误的数据包进行MAC 层报头验证处理的实施例,其中,配置QCI1业务对应的区域设置ID(LCID, Local ID)为5,通过下述表2和表3可以确定出LCID为5时对应的信道是逻辑信道(Logical Channel),即逻辑信道上传输有控制平面信息和编码及加密后的语音或数据;所述MAC层报头数据由多个子报头组成,图3a中具体给出了 MAC层协议数据单元(PDU,Protocol Data Unit)报头数据的组成,图3b和图3c具体给出了MAC层子报头的内容以及含义,具体内容可参照3GPP 36.321 协议中对于MAC层报头格式的详细描述,这里不再赘述。
表2
取值范围 | 报头长度(bit) |
0 | 7 |
1 | 15 |
表3
图3d为本发明实施例根据MAC层协议中预设的数据包报头格式对所述数据包的报头数据进行逐比特位验证,当所述数据包的报头数据中的比特位的数据均符合所述MAC层协议中预设的数据包报头格式时,确定所述数据包验证通过,将所述数据包向第三协议层投递,当所述数据包的报头数据中存在与所述MAC层协议中预设的数据包报头格式不符的比特位时,丢弃所述数据包,如图3d所示,本发明实施例三具体包括以下步骤:
步骤301:判断E字段是否为0,当E字段取值为0时,执行步骤302;当 E字段取值为非0,执行步骤306;
步骤302:当所述当E字段取值为0时,则确定该字报头为MAC报头中的最后一个子报头,该子报头的长度为5Byte;
步骤303:判断该数据包的LDID取值是否为5,当LDID取值是为5时,执行步骤304;当LDID取值是不为5时,执行步骤310;
步骤304:判断L字段的长度是否与SDU的长度是否一致,当一致时,执行步骤305;当不一致时,执行步骤310;
步骤305:确定MAC校验通过,将该数据包投递至下一层;
步骤306:确定该子报头为非最后一个子报头;
步骤307:判断该数据包的LDID取值是否在01011-11000之间,当数据包的LDID取值在01011-11000之间时,执行步骤310;数据包的LDID取值不在 01011-11000之间时,执行步骤308;
步骤308:判断LCID的取值是否等于QCI1的取值,当等于时,执行步骤 309;当不等于时,执行步骤304;
步骤309:结合LCID内容、L、F字段确定出对应的子报头长度,并跳过相应的比特位,对下一子报头进行验证;
步骤310:丢弃该数据包。
通过上述针对投递上来的数据包逐bit解析匹配,按照协议中各个bit位的含义确定子报头的长度,逐子报头确认,当发现有一处不匹配时,丢包处理,例如:对于一个CRC错误的数据包10101000111000……,按照从高位到低位的顺序依次按照协议格式进行比对,按照协议格式,协议上第一个bit是R,R 默认为0,与确定出的无错的的CRC数据包10101000111000……的第一个bit 进行对比,发现第一个bit为1,即为不匹配,认为匹配失败,直接将该数据包在这一协议层丢弃。
实施例四
本发明实施例四为在本发明实施例三的基础上,数据包通过了在MAC层报头验证后,所述数据包投递至了RLC层,根据RCL层的标识数据格式对所述数据包的标识数据进行验证的实施例,其中,所述数据包的标识数据为RLC 无应答模式UM序列号SN值。
在本发明实施例中,将所述数据包的SN值与RLC层预设的窗口范围值进行匹配,当所述数据包的序列号SN值位于所述RLC层预设的窗口范围值之内时,确定所述数据包验证通过,将所述数据包向下一协议层投递,当所述数据包的序列号SN值超出所述RLC层预设的窗口范围值时,丢弃所述数据包。
在实际应用中,可以预先配置RLC层序列号SN的长度为5bit,那么,SN 范围为SN0-SN31,SN的半窗长度为16,根据RCL层的标识数据格式对所述数据包的标识数据进行验证是进行SN的匹配,数据包解析出来的SN需要落在所述RLC的半窗之内即可验证成功。图4为UM模式SN为5bit的SN报头的格式,在实际应用中,对数据包的报头解析时,只需要确定SN的值即可。对于CRC错误但是已经投递到RLC层的数据包,因为SN长度为5bit,RLC的头长度为1Byte。只需要匹配得到的数据包前1Byte的数据格式,若CRC错误,但投递上来的数据包格式最高位1Byte为00101110,根据图4可以解析出SN 大小为01110,即为14,说明当前解析的CRC错误的数据包的SN为14;若在此之前,接收到的RLC SN为1,那么确定为接续错误,丢弃该数据包;若在此之前,接收到的RLC SN为13,那么确定验证成功,将数据包向下一层投递;在通常的情况下,对于CRC正确的数据包,SN解析出来多少即认为是多少,不会丢弃。
实施例五
本发明实施例五为在本发明实施例四的基础上,数据包通过了在RLC层的验证后,所述数据包投递至了DPCP层,根据DPCP层的标识数据格式对所述数据包的标识数据进行验证的实施例,其中,所述数据包的标识数据为PDCP 序列号SN值。
在本发明实施例中,将所述数据包的PDCP序列号SN值与PDCP层预设的SN值进行对比,生成对比结果,当所述对比结果小于等于预设阈值时,将所述数据包向通信协议栈中所述PDCP层的下一层投递,当所述对比结果大于预设阈值时,丢弃所述数据包。
在实际应用中,预先配置PDCP层SN的长度为7bit,PDCP报头匹配的方法主要为:若解析出来的数据包的SN值距离PDCP层最近接收到的SN值较远时,则认为验证失败,对数据包进行丢弃处理;若解析出来的数据包的SN值距离PDCP层最近接收到的SN值较近,则认为验证成功,继续往下一层投递。例如:如果PDCP层已经收到的SN为1,2,3,4,5,可以将所述PDCP层已经收到的SN为1,2,3,4,5设置为预设阈值,此时,针对该数据包报头解析出来的SN为40,与所述PDCP层已经收到的SN为1,2,3,4,5不接近,即确定该数据包有误,进行丢包处理;若解析出来的SN为6,或者7,与所述 PDCP层已经收到的SN为1,2,3,4,5接近,即对改数据包验证成功,将该数据包继续往下一层投递。
如上所述,本发明实施例提出的数据包的修复方法、基站及计算机可读存储介质,通过将物理层校验失败的数据包继续向下一层投递,如果下一层对应的协议格式与数据包可以匹配,则继续向下一层投递,直至投递到应用层,在对现有通信网络结构下以改动最小、负面影响最小的情况下,降低丢包率,减少时延和抖动,减少重传数据带来的资源开销,最终提升了用户网络语音业务的体验。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,其他的类似增加基站将CRC错误的数据包通过各种方式进行处理之后投递的策略,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (13)
1.一种修复数据包的方法,其特征在于,所述方法包括:
确定出通信协议栈的第一协议层中数据包校验失败时,将所述数据包向所述通信协议栈的第二协议层投递,所述第一协议层为物理层;
所述通信协议栈的第二协议层对所述数据包的第二协议层的标识位进行验证,验证失败时丢弃所述数据包,验证通过后,将所述数据包向第三协议层投递,并由所述通信协议栈的第三协议层的对所述数据包的第三协议层的标识位进行验证,验证失败时丢弃所述数据包,验证通过后,将所述数据包向下一协议层投递,直至所述数据包丢弃或所述通信协议栈的最后协议层验证通过;
所述通信协议栈的最后协议层验证通过后,将所述数据包向应用层投递。
2.根据权利要求1所述的方法,其特征在于,所述通信协议栈至少包括:介质访问MAC层、无线链路控制RLC层、分组数据汇聚协议PDCP层。
3.根据权利要求1所述的方法,其特征在于,所述第二协议层为介质访问MAC层时,所述数据包的第二协议层的标识位为数据包的报头标识位;
所述通信协议栈的第二协议层对所述数据包的第二协议层的标识位进行验证,验证失败时丢弃所述数据包,验证通过后,将所述数据包向第三协议层投递包括:
根据MAC层协议中预设的数据包报头格式对所述数据包的报头数据进行逐比特位验证,当所述数据包的报头数据中的比特位的数据均符合所述MAC层协议中预设的数据包报头格式时,确定所述数据包验证通过,将所述数据包向第三协议层投递,当所述数据包的报头数据中存在与所述MAC层协议中预设的数据包报头格式不符的比特位时,丢弃所述数据包。
4.根据权利要求1所述的方法,其特征在于,所述第三协议层为无线链路控制RLC层时,所述数据包的第三协议层的标识位为数据包的RLC无应答模式UM序列号SN值;
所述通信协议栈的第三协议层的对所述数据包的第三协议层的标识位进行验证,验证失败时丢弃所述数据包,验证通过后,将所述数据包向下一协议层投递包括:
将所述数据包的SN值与RLC层预设的窗口范围值进行匹配,当所述数据包的序列号SN值位于所述RLC层预设的窗口范围值之内时,确定所述数据包验证通过,将所述数据包向下一协议层投递,当所述数据包的序列号SN值超出所述RLC层预设的窗口范围值时,丢弃所述数据包。
5.根据权利要求4所述的方法,其特征在于,所述下一协议层为分组数据汇聚协议PDCP层时,所述数据包的PDCP层的标识位为PDCP序列号SN值;
所述将所述数据包向下一协议层投递之后,所述方法还包括:
将所述数据包的PDCP序列号SN值与PDCP层预设的SN值进行对比,生成对比结果,当所述对比结果小于等于预设阈值时,将所述数据包向通信协议栈中所述PDCP层的下一层投递,当所述对比结果大于预设阈值时,丢弃所述数据包。
6.根据权利要求2所述的方法,其特征在于,所述通信协议栈还包括:网络互联协议IP层、传输控制协议TCP层、用户数据协议UDP层和实时传输协议RTP层。
7.一种基站,其特征在于,所述基站包括:
确定模块,用于确定出通信协议栈的第一协议层中数据包校验失败时,将所述数据包向所述通信协议栈的第二协议层投递,所述第一协议层为物理层;
验证模块,用于所述通信协议栈的第二协议层对所述数据包的第二协议层的标识位进行验证,验证失败时丢弃所述数据包,验证通过后,将所述数据包向第三协议层投递,并由所述通信协议栈的第三协议层的对所述数据包的第三协议层的标识位进行验证,验证失败时丢弃所述数据包,验证通过后,将所述数据包向下一协议层投递,直至所述数据包丢弃或所述通信协议栈的最后协议层验证通过;
投递模块,用于所述通信协议栈的最后协议层验证通过后,将所述数据包向应用层投递。
8.根据权利要求7所述的基站,其特征在于,所述第二协议层为介质访问MAC层时,所述数据包的第二协议层的标识位为数据包的报头标识位;
所述验证模块,用于根据MAC层协议中预设的数据包报头格式对所述数据包的报头数据进行逐比特位验证,当所述数据包的报头数据中的比特位的数据均符合所述MAC层协议中预设的数据包报头格式时,确定所述数据包验证通过,将所述数据包向第三协议层投递,当所述数据包的报头数据中存在与所述MAC层协议中预设的数据包报头格式不符的比特位时,丢弃所述数据包。
9.根据权利要求7所述的基站,其特征在于,所述第三协议层为无线链路控制RLC层时,所述数据包的第三协议层的标识位为数据包的RLC无应答模式UM序列号SN值;
所述验证模块,用于将所述数据包的SN值与RLC层预设的窗口范围值进行匹配,当所述数据包的序列号SN值位于所述RLC层预设的窗口范围值之内时,确定所述数据包验证通过,将所述数据包向下一协议层投递,当所述数据包的序列号SN值超出所述RLC层预设的窗口范围值时,丢弃所述数据包。
10.根据权利要求9所述的基站,其特征在于,所述下一协议层为分组数据汇聚协议PDCP层时,所述数据包的PDCP层的标识位为PDCP序列号SN值;
所述验证模块,还用于将所述数据包的PDCP序列号SN值与PDCP层预设的SN值进行对比,生成对比结果,当所述对比结果小于等于预设阈值时,将所述数据包向通信协议栈中所述PDCP层的下一层投递,当所述对比结果大于预设阈值时,丢弃所述数据包。
11.根据权利要求7所述的基站,其特征在于,所述通信协议栈包括:介质访问MAC层、无线链路控制RLC层、分组数据汇聚协议PDCP层、网络互联协议IP层、传输控制协议TCP层、用户数据协议UDP层和实时传输协议RTP层。
12.一种基站,其特征在于,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器用于运行所述计算机程序时,执行权利要求1至6任一所述方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6任一所述方法的步骤。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711087286.1A CN109756468B (zh) | 2017-11-07 | 2017-11-07 | 一种数据包的修复方法、基站及计算机可读存储介质 |
EP18875361.0A EP3709728A4 (en) | 2017-11-07 | 2018-11-07 | PROCEDURE FOR REPAIR OF DATA PACKAGES, BASE STATION, TERMINAL DEVICE AND COMPUTER-READABLE STORAGE MEDIUM |
JP2020524365A JP2021502025A (ja) | 2017-11-07 | 2018-11-07 | パケット修復方法、基地局、端末及びコンピュータ読み取り可能な記憶媒体 |
PCT/CN2018/114349 WO2019091399A1 (zh) | 2017-11-07 | 2018-11-07 | 数据包修复方法、基站、终端及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711087286.1A CN109756468B (zh) | 2017-11-07 | 2017-11-07 | 一种数据包的修复方法、基站及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109756468A CN109756468A (zh) | 2019-05-14 |
CN109756468B true CN109756468B (zh) | 2021-08-17 |
Family
ID=66400146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711087286.1A Active CN109756468B (zh) | 2017-11-07 | 2017-11-07 | 一种数据包的修复方法、基站及计算机可读存储介质 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP3709728A4 (zh) |
JP (1) | JP2021502025A (zh) |
CN (1) | CN109756468B (zh) |
WO (1) | WO2019091399A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114902637B (zh) * | 2019-12-31 | 2024-05-17 | 华为技术有限公司 | 一种数据传输方法及装置 |
EP3920658B1 (en) * | 2020-06-04 | 2024-04-17 | Volkswagen Ag | Vehicle, apparatus, method, and computer program for composing a message at a higher layer of a communications protocol stack |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1863302A (zh) * | 2005-11-03 | 2006-11-15 | 华为技术有限公司 | 多媒体通信方法及其终端 |
WO2008134609A2 (en) * | 2007-04-27 | 2008-11-06 | Interdigital Technology Corporation | Method and apparatus for providing and utilizing radio link control and medium access control packet delivery notification |
CN102318282A (zh) * | 2009-04-20 | 2012-01-11 | 华为技术有限公司 | 一种压缩数据包的传输方法及装置 |
US8443101B1 (en) * | 2005-05-24 | 2013-05-14 | The United States Of America As Represented By The Secretary Of The Navy | Method for identifying and blocking embedded communications |
CN103503511A (zh) * | 2011-05-25 | 2014-01-08 | 华为技术有限公司 | 监测被丢弃数据包的系统和方法 |
CN104025681A (zh) * | 2011-11-04 | 2014-09-03 | 高通股份有限公司 | 用于减少控制信道差错的方法和装置 |
CN104718791A (zh) * | 2012-10-18 | 2015-06-17 | 富士通株式会社 | 多rat系统中的无线通信 |
CN106304127A (zh) * | 2015-05-13 | 2017-01-04 | 苏州简约纳电子有限公司 | 一种lte数据面下行检错纠错方法 |
CN106797380A (zh) * | 2014-07-30 | 2017-05-31 | 奥普图林克公司 | 语音优化实现装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6289023B1 (en) * | 1997-09-25 | 2001-09-11 | Hewlett-Packard Company | Hardware checksum assist for network protocol stacks |
KR100644594B1 (ko) * | 2000-06-10 | 2006-11-13 | 삼성전자주식회사 | 무선 데이터 송수신 장치 및 그 방법 |
US7069495B2 (en) * | 2000-10-30 | 2006-06-27 | Telefonaktiebolaget Lm Ericsson (Publ) | Bit error resilience for an internet protocol stack |
CN101547070A (zh) * | 2008-03-24 | 2009-09-30 | 华为技术有限公司 | 一种数据包类型的判断方法及其装置 |
WO2013126284A2 (en) * | 2012-02-24 | 2013-08-29 | Vid Scale, Inc. | Video coding using packet loss detection |
KR102300300B1 (ko) * | 2015-07-03 | 2021-09-09 | 삼성전자주식회사 | 헤더 압축을 이용한 패킷 통신 방법 및 장치 |
-
2017
- 2017-11-07 CN CN201711087286.1A patent/CN109756468B/zh active Active
-
2018
- 2018-11-07 EP EP18875361.0A patent/EP3709728A4/en not_active Withdrawn
- 2018-11-07 JP JP2020524365A patent/JP2021502025A/ja active Pending
- 2018-11-07 WO PCT/CN2018/114349 patent/WO2019091399A1/zh unknown
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8443101B1 (en) * | 2005-05-24 | 2013-05-14 | The United States Of America As Represented By The Secretary Of The Navy | Method for identifying and blocking embedded communications |
CN1863302A (zh) * | 2005-11-03 | 2006-11-15 | 华为技术有限公司 | 多媒体通信方法及其终端 |
WO2008134609A2 (en) * | 2007-04-27 | 2008-11-06 | Interdigital Technology Corporation | Method and apparatus for providing and utilizing radio link control and medium access control packet delivery notification |
CN102318282A (zh) * | 2009-04-20 | 2012-01-11 | 华为技术有限公司 | 一种压缩数据包的传输方法及装置 |
CN103503511A (zh) * | 2011-05-25 | 2014-01-08 | 华为技术有限公司 | 监测被丢弃数据包的系统和方法 |
CN104025681A (zh) * | 2011-11-04 | 2014-09-03 | 高通股份有限公司 | 用于减少控制信道差错的方法和装置 |
CN104718791A (zh) * | 2012-10-18 | 2015-06-17 | 富士通株式会社 | 多rat系统中的无线通信 |
CN106797380A (zh) * | 2014-07-30 | 2017-05-31 | 奥普图林克公司 | 语音优化实现装置 |
CN106304127A (zh) * | 2015-05-13 | 2017-01-04 | 苏州简约纳电子有限公司 | 一种lte数据面下行检错纠错方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2019091399A1 (zh) | 2019-05-16 |
CN109756468A (zh) | 2019-05-14 |
JP2021502025A (ja) | 2021-01-21 |
EP3709728A1 (en) | 2020-09-16 |
EP3709728A4 (en) | 2021-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11849017B2 (en) | Protocol synchronization for HARQ | |
US11088787B2 (en) | Operating method and apparatus according to data duplicate retransmission in mobile communication system | |
CN107257270B (zh) | 基于混合自动重传请求的数据传输方法及系统 | |
US7254765B2 (en) | Method and devices for error tolerant data transmission, wherein retransmission of erroneous data is performed up to the point where the remaining number of errors is acceptable | |
US7031257B1 (en) | Radio link protocol (RLP)/point-to-point protocol (PPP) design that passes corrupted data and error location information among layers in a wireless data transmission protocol | |
US8711829B2 (en) | Method and apparatus for error correction in MBMS receipt system | |
EP3592101B1 (en) | Data processing method and device | |
JP2011504314A (ja) | 部分的に崩壊したデータパケットからの値の抽出方法 | |
JP2005518142A (ja) | Arqによる再送を実行する方法および装置 | |
EP2521299A1 (en) | Data transmission method and network side device | |
CN102104463B (zh) | 数据报文请求重传方法及装置 | |
CN109756468B (zh) | 一种数据包的修复方法、基站及计算机可读存储介质 | |
EP2191602B1 (en) | Improved data structure boundary synchronization between a transmitter and receiver | |
CN110545161B (zh) | 一种具有冗余的多媒体数据实时传输方法 | |
CN111385158B (zh) | 通信方法和通信装置 | |
Marcille et al. | Performance computation of cross-layer Hybrid ARQ schemes at IP layer in the presence of corrupted acknowledgments | |
US11996936B2 (en) | Bit error correction for Bluetooth low energy | |
US10205562B1 (en) | Method and apparatus for error correction | |
US20240356671A1 (en) | Bit error correction for bluetooth low energy | |
EP2926487B1 (en) | Receiver and method for decoding data packets | |
US11068334B2 (en) | Method and system for enhancing communication reliability when multiple corrupted frames are received |
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 |