CN111865820A - 数据发送方法、装置、接收端、通信***、设备及介质 - Google Patents
数据发送方法、装置、接收端、通信***、设备及介质 Download PDFInfo
- Publication number
- CN111865820A CN111865820A CN202010665072.3A CN202010665072A CN111865820A CN 111865820 A CN111865820 A CN 111865820A CN 202010665072 A CN202010665072 A CN 202010665072A CN 111865820 A CN111865820 A CN 111865820A
- Authority
- CN
- China
- Prior art keywords
- pdcp pdu
- pdcp
- sent
- rlc layer
- discard
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本发明公开一种数据发送方法、装置、接收端、通信***、设备及介质,该方法包括:接收到TCP/IP包后,将TCP/IP包组包成待发送的PDCP PDU,同时启动丢弃定时器;向RLC层发送待发送的PDCP PDU;当所述丢弃定时器定时超时时,若PDCP PDU未在RLC层进行过组包操作,丢弃所述PDCP PDU;统计当前连续丢弃的PDCP PDU的数量;判断连续丢弃的PDCP PDU的数量是否达到预设的阈值,其中,阈值不大于2^(SN bit size‑1)‑1,SN bit size表示所述PDCP PDU的序号SN占用的bit数;当所述连续丢弃的PDCP PDU的数量达到所述阈值时,无论下一个待发送的PDCP PDU在所述丢弃定时器的定时时长内是否在RLC层进行过组包,停止丢弃下一个待发送的PDCP PDU。本发明可以解决因丢包严重导致发送端与接收端HFN不匹配而引起的解密失败问题,提高用户体验。
Description
技术领域
本发明涉及通信领域,尤其涉及一种数据发送方法、装置、接收端、通信***、设备及介质。
背景技术
在现有LTE(Long Term Evolution,长期演进)和NR(New Radio,新空口)***以及未来可能出现的通信***中,为了保证经过空口传输的数据在接收端可以被按序地传递到应用层,因此在发送端采用了为数据包分配序号的方法,即在PDCP(Packet DataConvergence Protocol,分组数据汇聚协议)层按照待发送的PDCP PDU(Packet DataUnit,协议数据单元)数据包的顺序为数据包分配计数值(COUNT)。所述计数值包含两个部分:高位的超帧号(HFN,Hyper Frame Number)和低位的序号(SN,Sequence Number),SN的取值范围为0~(2^(SN bit size)-1),在本申请中,SN bit size表示SN占用的bit(比特)数。
在数据传送过程中,发送端将计数值COUNT中的序号SN与数据内容组装成如图1所示的PDCP PDU数据包后通过空口发送给接收端。在图1中,PDCP PDU SN bit size示出为7bit,然而并不限制PDCP PDU中各种信息的位置、内容、以及SN在PDCP PDU中所占用的bit数目。
在数据传送过程中,发送端和接收端需要各维护一个HFN,两侧的HFN必须保持同步。具体来说,SN初始值为0,HFN初始值为0,发送端每发送一个数据包,其对应的SN加1,SN的最大值为2^(SN bit size)-1,当SN最大值的PDU发送后,下一个PDCP PDU的SN时重置为0,同时HFN加1。当接收端接收到数据包后,会根据Last_Submitted_PDCP_RX_SN(最后一个接收成功的PDCP PDU所携带的SN),Next Expected SN(下一个期望接收的SN)以及当前收到的PDU中的SN来更新接收端的HFN、SN、Last_Submitted_PDCP_RX_SN、Next Expected SN。此外,接收端设置有收接窗,接收窗大小取值为2^(SN bit size-1),若最后一个接收成功的PDCP PDU所携带的SN(Last_Submitted_PDCP_RX_SN)与当前接收到的PDCP PDU中SN之间的差距大于接收窗大小2^(SN bit size-1),则判定接收到的数据包为窗外数据包,将其丢弃,否则,将数据包解密后发送给TCP IP。具体细节可以参考NR/LTE PDCP协议。
为了保护用户数据不被篡改或者监听,一般会对用户数据进行加密发送,接收端接收到数据后再根据协议进行解密。如图1A所示,为PDCP层的数据包加解密过程,发送端使用COUNT及其他参数(包括KEY、BEARER、DIRECTION、LENGTH、NEA/EEA)对数据包进行加密,并在包头携带该数据包对应的PDCP SN发送给接收端。在图1A中,Sender表示发送端;Receiver表示接收端;KEY表示秘钥,由发送端和接收端各自维护,并且保持相同;BEARER表示承载用户数据的承载编号;DIRECTION表示数据的方向,上行取值为0,下行取值为1;Length表示要执行加解密的数据的长度;NEA表示NR加密算法(NR EncryptionAlgorithm);EEA表示EUTRAN加密算法(EUTRAN Encryption Algorithm);KEYSTREAM表示秘钥流,与加解密数据bit长度相同,未加密的数据(即PLAINTEXT)与该流执行与或操作后变为加密数据(即CIPHERTEXT),加密数据与该流执行与或操作得到加密前的数据。
从图1A可以看出,只有发送端和接收端的KEY、COUNT、BEARER、DIRECTION、LENGTH和NEA/EEA都相同时,才能正常解密并进行数据交互,若不相同,使会导致解密出错。在实际网络中,KEY、BEARER、DIRECTION、LENGTH、EEA/NEA均是半静态数据,不易出错。而对于COUNT而言,由于发送端仅发送其中的PDCP SN,接收端需要根据接收到的PDCP SN维护其HFN,并将接收到PDCP SN和自己维护的HFN一起拼接组成COUNT,再利用COUNT对接收到的数据包进行解密。由于COUNT在每次接收到PDCP数据包时均动态更新,因而容易出错,导致解密失败。
具体地,在LTE网络和NR网络中,发送端PDCP层在接收到一个TCP/IP包后,将启动discard timer(丢弃定时器),同时根据TCP/IP包组装成一个PDCP PDU数据包发送给RLC层,当discard timer超时、PDCP PDU仍未在RLC层组包成RLC PDU时,则将其丢弃。因而,当LTE/NR无线条件差导致大量的PDCP PDU被丢弃时,则可能发送端的HFN已经进行自动加1,而接收端再次收到非丢弃包时,仍认为HFN不变。这样,发送端加密时使用的COUNT和接收端解密使用的COUNT将不匹配,从而造成解密失败。
为了便于描述技术方案,图2以PDCP PDU的SN bit size=12bit,则PDU SN的取值范围为0~4095,接收端的接收窗大小为2048为例,示例性示出了导致发送端和接收端HFN不匹配的过程,包括以下三个阶段:
第一阶段:LTE/NR无线链路正常,发送端和接收端当前的HFN均为9,发送端发送SN=4095的PDU后,发送端的HFN更新为10,下一个待发送的PDU的SN更新为0;接收端接收到SN=4095的PDU后,将其HFN更新为10,下一个期望接收的PDCP PDU的SN更新为0,最后一个接收成功的PDCP PDU所携带的SN号更新为4095。
第二阶段:LTE/NR无线条件较差,导致发送端发送的SN为0~2047的数据包均因discard timer超时而丢弃;发送端发送SN为2048~4095的数据包后,HFN更新为11,下一个待发送的数据包SN更新为0;SN为2048~4095的数据包可能发送成功也可能无法发送成功,即使发送成功,由于此时接收端最后一个接收成功的PDCP PDU所携带的SN号为4095,根据协议PDCP接收端即判定SN为2048~4095的PDU是窗外数据而将其丢弃。从而,不会引起接收端HFN的变化,所以HFN仍然保持10不变。
第三阶段:发送端开始发送SN=0的数据包,此时发送端HFN=11、SN=0,根据两者构造COUNT对数据包进行加密。若SN=0的数据包发送成功,由于此时接收端最后一个接收成功的PDCP PDU所携带的SN号为4095,下一个期望接收的SN为0,则接收到的数据包正好在窗内,不会丢弃;而后接收端采用其维护的HFN=10、以及接收到的SN=0组成COUNT对数据包进行解密,由于解密用的COUNT与发送端加密用的COUNT不一致,因而将导致解密失败,并且后续所有发送的数据包都会因为发送端和接收端的HFN不匹配而导致解密失败。对用户来说,解密失败将导致业务无法正常运行,如无法打开网页、电话无声或者噪音、游戏界面冻结等等,影响用户体验。
发明内容
针对上述现有技术的不足,本发明的目的在于提供一种数据发送方法、装置、接收端、通信***、设备及介质,以解决上述因丢包严重导致发送端与接收端HFN不匹配而引起的解密失败问题,提高用户体验。
为了实现上述目的,本发明提供一种数据发送方法,包括:
接收到TCP/IP包后,将所述TCP/IP包组包成待发送的PDCP PDU,同时启动丢弃定时器;
向RLC层发送待发送的PDCP PDU;
当所述丢弃定时器定时超时,检测所述PDCP PDU是否在RLC层进行过发送,若未在RLC进行过发送,丢弃所述PDCP PDU;
统计当前连续丢弃的PDCP PDU的数量;
判断所述连续丢弃的PDCP PDU的数量是否达到预设的阈值,其中,所述阈值不大于2^(SN bit size-1)-1,SN bit size表示所述PDCP PDU的序号SN占用的bit数;
当所述连续丢弃的PDCP PDU的数量达到所述阈值时,无论下一个待发送的PDCPPDU在所述丢弃定时器的定时时长内是否在RLC层执行过组包,停止丢弃下一个待发送的PDCP PDU。
在本发明一个优选实施例中,所述方法还包括:在启动丢弃定时器之前,设置所述丢弃定时器的定时时长。
在本发明一个优选实施例中,当所述连续丢弃的PDCP PDU的数量未达到所述阈值时,若下一个待发送的PDCP PDU在所述丢弃定时器的定时时长内未在RLC层进行过组包,则允许丢弃下一个待发送的PDCP PDU。
为了实现上述目的,本发明还提供一种数据发送装置,包括:
PDCP组包模块,用于在接收到TCP/IP包后,将所述TCP/IP包组包成待发送的PDCPPDU,同时启动丢弃定时器;
发送模块,用于向RLC层发送待发送的PDCP PDU;
检测模块,用于在所述丢弃定时器定时超时时,检测所述PDCP PDU是否在RLC层进行过组包;
丢弃模块,用于在所述PDCP PDU未在RLC层进行过组包时,丢弃所述PDCP PDU;
统计模块,用于统计当前连续丢弃的PDCP PDU的数量;
判断模块,用于判断所述连续丢弃的PDCP PDU的数量是否达到预设的阈值,其中,所述阈值不大于2^(SN bit size-1)-1,SN bit size表示所述PDCP PDU的序号SN占用的bit数;
停止丢弃模块,用于在所述连续丢弃的PDCP PDU的数量达到所述阈值时,无论下一个待发送的PDCP PDU在所述丢弃定时器的定时时长内是否在RLC层进行过组包,指令所述丢弃模块停止丢弃下一个待发送的PDCP PDU。
在本发明一个优选实施例中,所述装置还包括:设置模块,用设置所述丢弃定时器的定时时长。
在本发明一个优选实施例中,所述装置还包括:允许丢弃模块,用于在所述连续丢弃的PDCP PDU的数量未达到所述阈值时,若下一个待发送的PDCP PDU在所述丢弃定时器的定时时长内未在RLC层进行过组包,则允许所述丢弃模块丢弃下一个PDCP PDU。
为了实现上述目的,本发明还提供一种发送端,所述发送端包括前述数据发送装置。
为了实现上述目的,本发明还提供一种通信***,所述通信***包括发送端和接收端,期中所述发送端采用前述发送端。
为了实现上述目的,本发明还提供一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述方法的步骤。
为了实现上述目的,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述方法的步骤。
通过上述技术方案,本发明相对于现有技术具有以下技术效果:
本发明通过限制发送端连续丢弃的PDCP PDU个数不超过阈值,当出现连续阈值个PDCP PDU丢失时,无论下一个待发送的PDCP PDU在所述丢弃定时器的定时时长内是否在RLC层进行过组包,停止丢弃下一个待发送的PDCP PDU,以确保第“阈值+1”个待发送的PDCPPDU能够成功能送到接收端并且在接收端的接收窗大小范围内,从而保证接收端能够及时更新HFN,维护其HFN与发送端的HFN同步,避免解密失败的情况发生。
附图说明
图1为典型PDCP PDU的数据结构图;
图1A为典型PDCP层数据包加解密过程的原理图;
图2为采用现有技术发送数据包的一个示例的过程示意图;
图3为本发明基于的移动通信***的结构示意图;
图4为本发明实施例1基于的LTE/NR***中无线协议栈的示意图;
图4A为本发明实施例1中步骤S1的流程图;
图5为本发明实施例1的数据发送方法的流程图;
图5A为本发明实施例1的数据发送方法的原理图;
图6为采用本发明实施例1的方法发送数据包的一个示例的过程示意图;
图7为本发明实施例2的数据发送装置的结构框图;
图8为本发明实施例5的电子设备的硬件架构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
示意性地,参考图3,其示出了本申请基于的移动通信***的结构示意图。该移动通信***包括发送端1和接收端2。发送端1和接收端2通过无线空口建立无线连接。
可选地,该无线空口是基于第五代移动通信网络技术(5G)标准的无线空口,比如该无线空口是NR;或者,该无线空口也可以是基于4G或5G的更下一代移动通信网络技术标准的无线空口。
可选地,发送端1为终端或者基站,接收端2为终端或者基站。可选地,终端是指向用户提供语音和/或数据连通性的端。终端可以经无线接入网(Radio Access Network,RAN)与一个或多个核心网进行通信。可选地,终端可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置。例如,订户单元(Subscriber Unit)、订户站(Subscriber Station)、移动站(Mobile Station)、移动台(Mobile)、远程站(Remote Station)、接入点(AccessPoint)、远程终端(Remote Terminal)、接入终端(Access Terminal)、用户装置(UserTerminal)、用户代理(User Agent)、用户端(User Device)、或用户终端(UserEquipment)。可选地,基站可以是5G***中的gNB;或者,也可以是4G***中的eNB;或者,还可以是其它通信***中的接入网端。
参考图4,其示出了本申请基于的LTE/NR***的无线协议栈的结构示意图。LTE/NR***中的无线协议栈包括PDCP层、RLC(Radio Link Control,无线链路层控制协议)层、MAC(Medium Access Control,介质访问控制)层以及PHY(Physical,物理)层。其中,PDCP层负责在接收到由TCP/IP发送的IP包后组包成PDCP PDU,并将PDCP PDU发送到RLC层;RLC层负责将PDCP PDU重组包成适当的大小,得到RLC PDU。
基于上述无线协议栈,发送端向接收端发送数据的完整过程如图4A所示,包括以下步骤:
S11,当发送端PDCP层接收到由TCP/IP层发送的IP包后,启动discard timer,并根据IP包组装成待发送的PDCP PDU(携带SN)发送给发送端RLC层。
S12,发送端RLC层接收到PDCP PDU后,根据MAC的调度信息组包成RLC PDU发送给接收端。
S13,接收端RLC层接收到RLC PDU后,剥离RLC PDU的头部信息,使其转换成PDCPPDU发送给接收端PDCP层。
S14,接收端RLC层接收到RLC PDU之后,通过空口向发送端RLC层发送RLC状态报告(RLC STATUS PDU),以通知发送端前述RLC PDU已经接收成功。
S15,发送端RLC层接收到RLC STATUS PDU之后,向发送端PDCP层发送所述待发送的PDCP PDU发送成功的确认信息。
当发送端PDCP层接收到所述待发送的PDCP PDU发送成功的确认信息时,表示发送成功;反之,表示发送失败。
实施例1
本实施例提供一种数据发送方法,适用于LTE/NR***的发送端,如图5和5A所示,该方法包括以下步骤:
S20,接收到TCP/IP包后,根据PDCP协议将所述TCP/IP包组包成待发送的PDCPPDU,同时启动丢弃定时器。其中,丢弃定时器的定时时长根据实际需求预先设置。
S21,向RLC层发送待发送的PDCP PDU,并启动丢弃定时器(discard timer)。
S22,当所述丢弃定时器定时超时时,检测所述待发送的PDCP PDU是否在RLC层进行过组包(即该PDCP PDU是否被RLC执行过组RLC PDU的操作)。
S23,若所述丢弃定时器定时结束时,所述待发送的PDCP PDU未在RLC层进行过组包,则将所述待发送的PDCP PDU丢弃。
S24,统计当前连续丢弃的PDCP PDU的数量。
S25,判断所述连续丢弃的PDCP PDU的数量是否达到预设的阈值,其中,所述阈值不大于2^(SN bit size-1)-1,SN bit size表示PDCP PDU的序号占用的bit数。为了不影响业务的正常运行,阈值优选接近于2^(SN bit size-1)-1,取2^(SN bit size-1)-1时为最佳。
S26,当所述连续丢弃的PDCP PDU的数量达到所述阈值时,无论下一个待发送的PDCP PDU在所述丢弃定时器的定时时长内是否在RLC层进行过组包,停止丢弃下一个待发送的PDCP PDU,以确保下一个待发送的PDCP PDU能够发送成功。
S27,当所述连续丢弃的PDCP PDU的数量未达到所述阈值时,若下一个待发送的PDCP PDU在所述丢弃定时器的定时时长内未在RLC层进行过组包,则允许丢弃下一个PDCPPDU。
本实施例通过对连续丢弃的PDCP PDU个数进行限制,可以避免出现接收端HFN与发送端HFN不匹配的问题。为了便于描述技术方案,假定PDCP PDU的SN bit size=12bit,此时PDU SN的取值为0~4095,接收窗大小为2048,阀值设为2047。下面通过图6来解释为何对连续丢弃的PDCP PDU个数进行限制,可以避免发送端与接收端HFN不匹配导致的解密失败问题,如图6所示,包括以下三个阶段:
第一阶段:LTE/NR无线链路正常,发送端和接收端当前的HFN均为9。发送端发送SN=4095的PDU后,将HFN更新为10,下一个待发送的PDU的SN更新为0。接收端接收到SN=4095的数据包后,将HFN更新为10,下一个期望接收的PDCP PDU的SN更新为0,最后一个接收成功的PDCP PDU的SN号更新为4095。
第二阶段:发送端发送的SN为0~2046的连续数据包均因为discard timer超时而丢弃,由于连续丢弃的PDCP PDU的数量达到阀值2047个,则SN为2047的PDCP PDU不论其对应的丢弃定时器是否超时,都不对其执行丢弃操作,以保证SN=2047的数据包不被丢弃,确保其发送至接收端。
当接收端接收到SN为2047的PDU之后,由于此时接收端最后一个接收成功的PDCPPDU的SN号为4095,下一个期望接收的SN为0,则根据协议接收端将判定SN为2047的PDCPPDU是窗内数据,使用HFN=10、SN=2047对其进行解密,然后将最后一个接收成功的PDCPPDU的SN(即Last_Submitted_PDCP_RX_SN)更新为2047。
当发送端发送的SN为2048~4094的数据包再次因为discard timer超时而丢弃时,由于连续丢弃的PDCP PDU的数量达到阀值2047个,SN为4095的PDCP PDU不论其对应的丢弃定时器是否超时,都不对其执行丢弃操作,以保证SN=4095的数据包不被丢弃,确保其发送给接收端。
当接收端接收到SN为4095的PDU之后,由于此时接收端对应的Last_Submitted_PDCP_RX_SN为2047,下一个期望接收的SN为2048,那么下一个期望接收的SN(即2048)与当前接收到的SN(即4095)之间的差距小于接收窗大小2048,则接收端将判定SN为4095的PDU是窗内数据,使用HFN=10、SN=4095对其进行解密,然后将HFN更新为11,Last_Submitted_PDCP_RX_SN为4095,下一个期望接收的PDU SN更新为0。
第三阶段:发送端开始发送SN=0的数据包,此时发送端HFN=11、SN=0,根据两者构造COUNT对数据包进行加密。当SN=0的数据包发送成功时,由于此时接收端最后一个接收成功的PDCP PDU的SN号为4095,下一个期望接收的SN为0,则接收到的数据包正好在接收窗内,不会丢弃;而后采用HFN=11、SN=0组成的COUNT对数据包进行解密,由于解密用的COUNT与发送端加密用的COUNT一致,因而能够对其正确解密。
从上述流程可以看出,本实施例通过限制发送端连续丢弃的PDCP PDU个数不超过2^(SN bit size-1)-1个,当出现连续的不超过2^(SN bit size-1)-1个数据包丢失时,无论下一个待发送的PDCP PDU在所述丢弃定时器的定时时长内是否在RLC层进行过组包,停止丢弃下一个待发送的PDCP PDU,以确保下一个待发送的PDCP PDU能够成功能送到接收端并且在接收端的接收窗大小范围内,从而保证接收端能够及时更新HFN,维护其HFN与发送端的HFN同步,避免解密失败的情况发生。
对于本实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本实施例并不受所描述的动作顺序的限制,因为依据本实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本实施例所必须的。
实施例2
本实施例提供一种数据发送装置,如图7所示,该装置3包括:
PDCP组包模块,用于在接收到TCP/IP包后,根据DPCP协议将所述TCP/IP包组包成待发送的PDCP PDU,同时启动丢弃定时器;
发送模块31,用于向RLC层发送待发送的PDCP PDU,并启动丢弃定时器(discardtimer)。在本实施例中,发送模块31采用图5A所示的流程发送PDCP PDU,具体过程参考实施例1。
检测模块32,用于在所述丢弃定时器定时超时时,检测所述PDCP PDU是否在RLC层进行过组包(即该PDCP PDU是否被RLC执行过组RLC PDU的操作)。
丢弃模块33,用于在检测模块32检测到所述待发送的PDCP PDU未在RLC层进行过组包时,将所述待发送的PDCP PDU丢弃。
统计模块34,用于统计当前连续丢弃的PDCP PDU的数量。
判断模块35,用于判断所述连续丢弃的PDCP PDU的数量是否达到预设的阈值,其中,所述阈值不大于2^(SN bit size-1)-1,SN bit size表示PDCP PDU的序号占用的bit数。
停止丢弃模块36,用于在所述连续丢弃的PDCP PDU的数量达到所述阈值时,无论下一个待发送的PDCP PDU在所述丢弃定时器的定时时长内是否在RLC层进行过组包,指令所述丢弃模块33停止丢弃下一个待发送的PDCP PDU,以确保下一个PDCP PDU能够发送成功。
允许丢弃模块37,用于在所述连续丢弃的PDCP PDU的数量未达到所述阈值时,若下一个待发送的PDCP PDU在所述丢弃定时器的定时时长内未在RLC层进行过组包,则允许所述丢弃模块33丢弃下一个PDCP PDU。
此外,本实施例的装置3还可以包括设置模块,用于根据实际需求,设置丢弃定时器的初始定时时长。
需要说明的是,为了不影响业务的正常运行,前述阈值优选接近于2^(SN bitsize-1)-1,取2^(SN bit size-1)-1时为最佳。
本实施例通过限制发送端连续丢弃的PDCP PDU个数不超过2^(SN bit size-1)-1个,当出现连续的不超过2^(SN bit size-1)-1个数据包丢失时,无论下一个待发送的PDCPPDU在所述丢弃定时器的定时时长内是否在RLC层进行过组包,停止丢弃下一个待发送的PDCP PDU,以确保下一个待发送的PDCP PDU能够成功能送到接收端并且在接收端的接收窗大小范围内,从而保证接收端能够及时更新HFN,维护其HFN与发送端的HFN同步,避免解密失败的情况发生。
实施例3
本实施例提供一种发送端,其中,该发送端包含实施例2的数据发送装置3。
本实施例通过在发送端内集成实施例2的数据发送装置3,可以维护发送端HFN与接收端的HFN同步,避免解密失败的情况发生。
实施例4
本实施例提供一种通信***,该通信***包括发送端和接收端,其中发送端采用实施例3所示的发送端。
本实施例通过采用实施例3的发送端,可以维护发送端HFN与接收端的HFN同步,避免解密失败的情况发生。
实施例5
本实施例提供一种电子设备,电子设备可以通过计算设备的形式表现(例如可以为服务器设备),包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中处理器执行计算机程序时可以实现实施例1提供的数据发送方法。
图8示出了本实施例的硬件结构示意图,如图8所示,电子设备9具体包括:
至少一个处理器91、至少一个存储器92以及用于连接不同***组件(包括处理器91和存储器92)的总线93,其中:
总线93包括数据总线、地址总线和控制总线。
存储器92包括易失性存储器,例如随机存取存储器(RAM)921和/或高速缓存存储器922,还可以进一步包括只读存储器(ROM)923。
存储器92还包括具有一组(至少一个)程序模块924的程序/实用工具925,这样的程序模块924包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
处理器91通过运行存储在存储器92中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明实施例1所提供的数据发送方法。
电子设备9进一步可以与一个或多个外部设备94(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口95进行。并且,电子设备9还可以通过网络适配器96与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器96通过总线93与电子设备9的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备9使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID(磁盘阵列)***、磁带驱动器以及数据备份存储***等。
应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
实施例6
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现实施例1所提供的数据发送方法的步骤。
其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行实现实施例1所述的数据发送方法的步骤。
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,所述程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
Claims (10)
1.一种数据发送方法,其特征在于,包括:
接收到TCP/IP包后,将所述TCP/IP包组包成待发送的PDCP PDU,同时启动丢弃定时器;
向RLC层发送待发送的PDCP PDU;
当所述丢弃定时器定时超时时,检测所述PDCP PDU是否在RLC层进行过组包,若未在RLC层进行过组包,丢弃所述PDCP PDU;
统计当前连续丢弃的PDCP PDU的数量;
判断所述连续丢弃的PDCP PDU的数量是否达到预设的阈值,其中,所述阈值不大于2^(SN bit size-1)-1,SN bit size表示所述PDCP PDU的序号SN占用的bit数;
当所述连续丢弃的PDCP PDU的数量达到所述阈值时,无论下一个待发送的PDCP PDU在所述丢弃定时器的定时时长内是否在RLC层进行过组包,停止丢弃下一个待发送的PDCPPDU。
2.根据权利要求1所述的数据发送方法,其特征在于,所述方法还包括:
在启动丢弃定时器之前,设置所述丢弃定时器的定时时长。
3.根据权利要求1所述的数据发送方法,其特征在于,当所述连续丢弃的PDCP PDU的数量未达到所述阈值时,若下一个待发送的PDCP PDU在所述丢弃定时器的定时时长内未在RLC层进行过组包,则允许丢弃下一个待发送的PDCP PDU。
4.一种数据发送装置,其特征在于,包括:
PDCP组包模块,用于在接收到TCP/IP包后,将所述TCP/IP包组包成待发送的PDCP PDU,同时启动丢弃定时器;
发送模块,用于向RLC层发送待发送的PDCP PDU;
检测模块,用于在所述丢弃定时器定时超时时,检测所述PDCP PDU是否在RLC层进行过组包;
丢弃模块,用于在所述PDCP PDU未在RLC层进行过组包时,丢弃所述PDCP PDU;
统计模块,用于统计当前连续丢弃的PDCP PDU的数量;
判断模块,用于判断所述连续丢弃的PDCP PDU的数量是否达到预设的阈值,其中,所述阈值不大于2^(SN bit size-1)-1,SN bit size表示所述PDCP PDU的序号SN占用的bit数;
停止丢弃模块,用于在所述连续丢弃的PDCP PDU的数量达到所述阈值时,无论下一个待发送的PDCP PDU在所述丢弃定时器的定时时长内是否在RLC层进行过组包,指令所述丢弃模块停止丢弃下一个待发送的PDCP PDU。
5.根据权利要求4所述的数据发送装置,其特征在于,所述装置还包括:
设置模块,用于设置所述丢弃定时器的定时时长。
6.根据权利要求4所述的数据发送装置,其特征在于,所述装置还包括:允许丢弃模块,用于在所述连续丢弃的PDCP PDU的数量未达到所述阈值时,若下一个待发送的PDCP PDU在所述丢弃定时器的定时时长内未在RLC层进行过组包,则允许所述丢弃模块丢弃下一个PDCP PDU。
7.一种发送端,其特征在于,所述发送端包含根据前述权利要求4-6任一项所述的数据发送装置。
8.一种通信***,包含发送端和接收端,其特征在于,所述发送端采用前述权利要求7所述的发送端。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至3中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010665072.3A CN111865820B (zh) | 2020-07-10 | 2020-07-10 | 数据发送方法、装置、接收端、通信***、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010665072.3A CN111865820B (zh) | 2020-07-10 | 2020-07-10 | 数据发送方法、装置、接收端、通信***、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111865820A true CN111865820A (zh) | 2020-10-30 |
CN111865820B CN111865820B (zh) | 2023-06-27 |
Family
ID=72984254
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010665072.3A Active CN111865820B (zh) | 2020-07-10 | 2020-07-10 | 数据发送方法、装置、接收端、通信***、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111865820B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024017395A1 (zh) * | 2022-07-22 | 2024-01-25 | ***通信有限公司研究院 | 数据处理方法、装置及通信设备 |
WO2024031403A1 (zh) * | 2022-08-09 | 2024-02-15 | 北京小米移动软件有限公司 | 信息处理方法及装置、通信设备及存储介质 |
WO2024093725A1 (zh) * | 2022-11-04 | 2024-05-10 | 华为技术有限公司 | 数据包的处理方法和通信装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050245276A1 (en) * | 2002-06-05 | 2005-11-03 | Johan Torsner | Synchronizing method and apparatus using error detection of sequence numbers to avoid synchronizing failure |
CN1829187A (zh) * | 2005-02-28 | 2006-09-06 | 华为技术有限公司 | 一种保持分组数据协议汇聚子层序列号同步的方法 |
CN102137435A (zh) * | 2010-10-21 | 2011-07-27 | 上海华为技术有限公司 | 数据处理方法、装置和*** |
CN102469511A (zh) * | 2010-11-15 | 2012-05-23 | 中兴通讯股份有限公司 | 一种分组数据汇聚协议层处理数据的方法及*** |
US20120300614A1 (en) * | 2011-05-23 | 2012-11-29 | Samsung Electronics Co., Ltd. | Method and apparatus for error correction ciphering in mobile communication system |
US20130170496A1 (en) * | 2011-12-29 | 2013-07-04 | Lg Electronics Inc. | Pdcp packet transmission method |
WO2016137381A1 (en) * | 2015-02-26 | 2016-09-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Handling of hyper frame number de-synchronization incidents |
CN108540401A (zh) * | 2017-03-03 | 2018-09-14 | 中兴通讯股份有限公司 | 通讯协议的数据共享方法及*** |
-
2020
- 2020-07-10 CN CN202010665072.3A patent/CN111865820B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050245276A1 (en) * | 2002-06-05 | 2005-11-03 | Johan Torsner | Synchronizing method and apparatus using error detection of sequence numbers to avoid synchronizing failure |
CN1829187A (zh) * | 2005-02-28 | 2006-09-06 | 华为技术有限公司 | 一种保持分组数据协议汇聚子层序列号同步的方法 |
CN102137435A (zh) * | 2010-10-21 | 2011-07-27 | 上海华为技术有限公司 | 数据处理方法、装置和*** |
CN102469511A (zh) * | 2010-11-15 | 2012-05-23 | 中兴通讯股份有限公司 | 一种分组数据汇聚协议层处理数据的方法及*** |
US20120300614A1 (en) * | 2011-05-23 | 2012-11-29 | Samsung Electronics Co., Ltd. | Method and apparatus for error correction ciphering in mobile communication system |
US20130170496A1 (en) * | 2011-12-29 | 2013-07-04 | Lg Electronics Inc. | Pdcp packet transmission method |
WO2016137381A1 (en) * | 2015-02-26 | 2016-09-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Handling of hyper frame number de-synchronization incidents |
CN108540401A (zh) * | 2017-03-03 | 2018-09-14 | 中兴通讯股份有限公司 | 通讯协议的数据共享方法及*** |
Non-Patent Citations (3)
Title |
---|
ERICSSON, ST-ERICSSON: "R2-112378 \"Limitation of PDCP SN and FMS-fields in LTE Rel-10\"", 3GPP TSG_RAN\\WG2_RL2, no. 2 * |
UMAR TOSEEF等: "LTE system performance optimization by discard timer based PDCP buffer management", 《8TH INTERNATIONAL CONFERENCE ON HIGH-CAPACITY OPTICAL NETWORKS AND EMERGING TECHNOLOGIES》, pages 116 - 121 * |
方一鸣: "LTE-A终端***分组数据汇聚协议层与无线链路控制层的实现与测试", 《中国优秀硕士学位论文数据库》, pages 1 - 101 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024017395A1 (zh) * | 2022-07-22 | 2024-01-25 | ***通信有限公司研究院 | 数据处理方法、装置及通信设备 |
WO2024031403A1 (zh) * | 2022-08-09 | 2024-02-15 | 北京小米移动软件有限公司 | 信息处理方法及装置、通信设备及存储介质 |
WO2024093725A1 (zh) * | 2022-11-04 | 2024-05-10 | 华为技术有限公司 | 数据包的处理方法和通信装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111865820B (zh) | 2023-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6765885B2 (en) | Determination of acceptable sequence number ranges in a communications protocol | |
CN111865820B (zh) | 数据发送方法、装置、接收端、通信***、设备及介质 | |
EP1913723B1 (en) | Method and apparatus to transmit and/or receive data via wireless network and wireless device | |
JP5215413B2 (ja) | 再送プロトコルのためのステータス報告 | |
US6925298B2 (en) | Initialization for hyper frame number of signaling radio bearers | |
CN102137435B (zh) | 数据处理方法、装置和*** | |
AU2008239082B2 (en) | Retransmission request transmitting method and receiving side apparatus | |
CN111818630B (zh) | 状态变量维护方法、装置及用户设备 | |
KR20090083867A (ko) | Rlc 무한 재전송 오류를 검출하고 처리하는 방법 | |
WO2017049647A1 (zh) | 一种数据发送方法、数据接收方法和相关设备 | |
CN106797376B (zh) | 移动通信网络中处理分组丢失的方法和装置 | |
KR100954925B1 (ko) | 상위로 PDCP 데이터 유닛(data unit)을 전달하는 방법 | |
US20080120728A1 (en) | Method and apparatus for performing integrity protection in a wireless communications system | |
CN102137441B (zh) | 数据传输方法、设备及*** | |
US20080101608A1 (en) | Method and apparatus for handling protocol error in a wireless communications system | |
US20030076859A1 (en) | Modification of ciphering activation time by RLC reset procedure during ciphering configuration change procedure in a wireless communications protocol | |
CN112996052B (zh) | 数据发送控制方法及装置、终端、基站和介质 | |
US20080137574A1 (en) | Method and apparatus for handling data delivery in a wireless communications system | |
US20080148111A1 (en) | Method and apparatus for recovering protocol error in a wireless communications system | |
EP1944938A1 (en) | Methods and apparatuses for performing integrity protection for a concatenated message | |
US9124558B2 (en) | Method and apparatus of handling data decryption for a packet data convergence protocol layer in a wireless communication system | |
WO2009088342A1 (en) | Reordering timer for a retransmission protocol | |
JP6654828B2 (ja) | 送信機 | |
CN112333850B (zh) | 防止下行失步方法、通信装置和可读存储介质 | |
CN112469080B (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 |