CN112333850B - 防止下行失步方法、通信装置和可读存储介质 - Google Patents
防止下行失步方法、通信装置和可读存储介质 Download PDFInfo
- Publication number
- CN112333850B CN112333850B CN202011334934.0A CN202011334934A CN112333850B CN 112333850 B CN112333850 B CN 112333850B CN 202011334934 A CN202011334934 A CN 202011334934A CN 112333850 B CN112333850 B CN 112333850B
- Authority
- CN
- China
- Prior art keywords
- downlink data
- data packet
- data packets
- length
- received
- 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 62
- 238000004891 communication Methods 0.000 title claims abstract description 34
- 238000012795 verification Methods 0.000 claims abstract description 50
- 230000005540 biological transmission Effects 0.000 claims abstract description 27
- 230000008569 process Effects 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 11
- 238000012790 confirmation Methods 0.000 claims description 5
- 239000012634 fragment Substances 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 230000003993 interaction Effects 0.000 description 6
- 238000013467 fragmentation Methods 0.000 description 5
- 238000006062 fragmentation reaction Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000002265 prevention Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/20—Manipulation of established connections
- H04W76/27—Transitions between radio resource control [RRC] states
-
- 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
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/30—Connection release
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/686—Types of network addresses using dual-stack hosts, e.g. in Internet protocol version 4 [IPv4]/Internet protocol version 6 [IPv6] networks
Abstract
本发明实施例提供了一种防止下行失步方法、通信装置和可读存储介质,其中方法包括:终端设备通过分组数据汇聚协议PDCP实体对下行数据包进行因特网互联协议IP校验;若连续N个下行数据包的IP校验失败,且所述终端设备的传输模式为确认AM模式,则所述终端设备触发本地释放流程,可以有效防止下行HFN失步。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种防止下行失步方法、通信装置和可读存储介质。
背景技术
在通信系统中,完整性保护和加密时使用的COUNT值是由数据包中的超帧号(Hyper Frame Number,HFN)和分组数据汇聚协议序列号(Packet Data ConvergenceProtocol Sequence Number,PDCP SN)两部分组成的。一般来说,终端设备与网络设备各自维护HFN,两者之间传输的协议数据单元(Protocol Data Unit,PDU)中携带有SN,终端设备与网络设备根据本地维护的HFN和PDU携带的SN对PDU进行加密和解密。网络设备发送给终端设备的各个PDU的SN按照0至2^(SN size)-1递增,其中通信系统中预先配置SN的大小(SNsize),在SN达到SN的最大值2^(SN size)-1时,HFN增加1,SN继续按照0至2^(SN size)-1)递增;终端设备按照解析出的SN维护本地的HFN,在当前接收到的PDU中SN满足一定条件时,确定该PDU中的SN已进入下一轮0至2^(SN size)-1,将本地维护的HFN加1。而当网络设备下行连续丢包过多,或者终端设备接收出现问题时,由于终端设备没有接收到相应的PDU,终端设备的HFN没有更新,而网络设备的HFN已经更新,导致终端设备与网络设备维护的HFN不一致,导致下行HFN失步,从而使得终端设备接收到PDU无法正确解密,成为无效数据,进而导致数据业务的中断。
发明内容
本发明实施例提供了一种防止下行失步方法、通信装置和可读存储介质,可以有效地防止下行HFN失步。
本发明实施例第一方面提供了一种防止下行失步方法,该方法包括:
终端设备通过分组数据汇聚协议PDCP实体对下行数据包进行因特网互联协议IP校验;
若连续N个下行数据包的IP校验失败,且所述终端设备的传输模式为确认AM模式,则所述终端设备触发本地释放流程;所述N为大于或等于1的整数。
本发明实施例第二方面提供了一种通信装置,所述通信装置包括校验模块和处理模块,其中:
所述校验模块,用于通过分组数据汇聚协议PDCP实体对下行数据包进行因特网互联协议IP校验;
所述处理模块,用于若连续N个下行数据包的IP校验失败,且所述终端设备的传输模式为确认AM模式,则触发本地释放流程;所述N为大于或等于1的整数。
本发明实施例第三方面提供了一种通信装置,包括处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第一方面的方法。
本发明实施例第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。
本发明实施例第五方面提供一种计算机程序产品,所述计算机程序产品包括计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述第一方面的方法。
在本发明实施例中,终端设备通过分组数据汇聚协议PDCP实体对下行数据包进行因特网互联协议IP校验;若连续N个下行数据包的IP校验失败,则认为下行存在HFN失步。若终端设备的传输模式为确认AM模式,则终端设备触发本地释放流程。即终端设备从RRC连接(connect)态变为空闲(idle)态,使得终端设备与网络设备的状态变量都清零,终端设备和网络设备的HFN会被重置,有效地防止下行HFN失步。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的一种通信系统的结构示意图;
图1b是本发明实施例提供的终端设备和网络设备之间的信息交互过程的示意图;
图1c是本发明实施例提供的的PDCP数据包加解密过程的流程示意图;
图1d是本发明实施例提供的COUNT值的示意图;
图1e是本发明实施例提供的下行HFN失步的示意图;
图1f是本发明实施例提供的版本类型为IPv4的数据包中头部字段的结构示意图;
图1g是本发明实施例提供的版本类型为IPv6的数据包中头部字段的结构示意图;
图2是本发明实施例提供的一种防止下行失步方法的流程示意图;
图3是本发明实施例提供的另一种防止下行失步方法的流程示意图;
图4是本发明实施例提供的一种具体的防止下行失步方案的流程示意图;
图5是本发明实施例提供的一种通信装置的结构示意图;
图6是本发明实施例提供的一种通信装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1a,图1a为本发明实施例提供的一种防止下行失步方法所涉及通信系统的结构示意图。该通信系统包括至少一个终端设备101和至少一个网络设备102,该终端设备101可以是智能手机、平板电脑、笔记本电脑、台式电脑等等。该网络设备102可以是基站。该通信系统可以是长期演进(long term evolution,LTE)系统、5G通信系统(例如新空口(new radio,NR))、多种通信技术融合的通信系统(例如LTE技术和NR技术融合的通信系统)、或者后续演进通信系统。在通信系统中,终端设备101可以与网络设备102进行数据交互,并且终端设备101之间可以通过网络设备102进行数据交互。例如,网络设备102可向终端设备101发送执行业务所需的下行数据包。
在具体进行数据交互时,请参阅图1b,图1b为本发明实施例提供的一种防止上行失步方法所涉及终端设备和网络设备之间的信息交互过程,在图1a中所涉及的终端设备和网络设备中都包括物理层实体(physical,PHY)、介质访问控制层(Media Access Control,MAC)实体、无线链路层控制协议(Radio Link Control,RLC)实体和分组数据汇聚协议(Packet Data Convergence Protoco,PDCP)实体。在终端设备和网络设备进行数据交互时,终端设备和网络设备通过协议栈中的每层协议进行通信。例如,以网络设备的PDCP实体发送数据包给终端设备的PDCP实体为例,网络设备的PDCP实体将数据包通过网络设备的RLC实体、MAC实体和PHY实体发送到终端设备的PHY实体,然后终端设备的PHY实体通过终端设备的MAC实体、RLC实体将数据最终发送给PDCP实体。
其中,PDCP实体可对接收到的数据包进行加密和解密,并对数据包添加SN以及维护HFN。RLC实体可实现数据包的分段级联、按序递交、自动重传请求(Automatic Repeatrequest,ARQ)等数据传输保障,且有对重复传输的PDU进行去重等功能。上述RLC实体支持三种传输模式,分别为:非确认模式
(unacknowledged mode,UM)、透明模式(transparent mode,TM)和确认模式(acknowledged mode,AM)。RLC实体在传输数据包时,在UM模式和TM模式下,由于RLC实体没有重传机制,因此当数据包丢失后,不会重传丢失的数据包,只会向上层报告已丢包。在AM模式下,RLC实体有重传机制,可通过ARQ进行纠错处理。
请参阅图1c,图1c为分组数据汇聚协议(Packet Data Convergence Protocol,PDCP)数据包加解密过程示意图。终端设备与网络设备之间发送数据包时,一般在PDCP层时会对PDCP数据包加密以及解密。若网络设备向终端设备发送PDCP数据包(PDU)时,需要在PDCP实体对PDCP数据包进行加密。网络设备的PDCP实体会利用COUNT值、承载标识、上下行方向和密钥流长度输入指定加密模型后,生成密钥流块。然后将密钥流块与明文块进行异或,得到密文块,从而实现对PDCP数据包加密,并将加密后的数据包发送给终端设备。当终端设备的PDCP实体接收到加密后的PDCP数据包后,终端设备利用与网络设备相同的COUNT值、承载标识、上下行方向和密钥流长度对加密的数据包进行解密。其中,COUNT值是加解密过程中的较为重要的输入参数之一,如图1d,图1d为COUNT值示意图。可以看出该COUNT值包括由超帧号(Hyper frame number,HFN)和序列号(Sequence number,SN)两部分组成,共32bit,高位为HFN,低位为SN。其中PDCP SN size(PDCP SN的大小)为网络配置,HFN的长度根据网络配置的PDCP SN size变化。
终端设备和网络设备都会各自维护自己的HFN,在SN达到2^(SN size)-1时,SN就会从0重新开始,与此同时,HFN也会增加1。正常情况下,终端设备和网络设备的HFN都是保持同步的。但当网络设备给终端设备发送的数据包丢包太多时,如图1e所示,假如在HFN为1时,SN从0到2^(SN size)-1对应的数据包因为无线环境太差导致全部丢失,网络设备继续发送SN为0的数据包时,其HFN会增加到2,但是由于终端设备并未接收到在HFN为1的情况下,SN从0到2^(SN size)-1对应的数据包,因此该终端设备中的HFN并没有变化。在网络设备将SN为0,HFN为2的数据包发送给终端设备时,由于终端设备的HFN依然为1,此时终端设备和网络设备的HFN出现失步的情况,终端设备后续收到的数据包都会因为HFN失步问题,导致解密后的数据是有问题的无效数据包,进而数据业务的中断。
本发明实施例提供一种防止下行失步方法,可有效防止下行HFN失步,使得终端设备接收到下行数据包可以正确解密,保证业务的正常进行。在具体实现中,终端设备可通过分组数据汇聚协议PDCP实体对下行数据包进行因特网互联协议(Internet Protocol,IP)校验,若连续N个下行数据包的IP校验失败,且终端设备的传输模式为确认(AM)模式,则终端设备触发本地释放流程。由于本申请实施例中涉及到对下行数据包的因特网互联协议IP的校验。因此,接下来对IP的版本类型以及对应版本类型的数据包的头部字段的结构进行介绍,该IP的版本类型包括网际协议版本4(Internet Protocol version 4,IPv4)和网际协议版本6(Internet Protocol version 6,IPv6)。
如图1f所示,版本类型是为IPv4的数据包中头部字段可由以下几部分构成:
版本号(version):长度为4位,标识目前采用的IP协议的版本号。针对IPv4而言,该版本号的取值为4。
头部长度(Header Length):长度为4位,用来描述IP包头长度。标识该IP头部有多少个32bit(即4字节)。因为4位最大能表示15,所以IP头部最长是60字节。
服务类型(Type Of Service,TOS):长度为8位,包括一个3位的优先权字段(现在已经被忽略),4位的TOS字段和1位保留字段(必须置0)。4位的TOS字段分别表示:最小延时,最大吞吐量,最高可靠性和最小费用。其中最多有一个能置为1。
总长度(total length):长度为16位,表示整个IP数据报的长度,以字节为单位,因此IP数据报的最大长度为65535(216-1)字节。但由于最大传输单元(MaximumTransmission Unit,MTU)的限制,长度超过MTU的数据报都将被分片传输,所以实际传输的IP数据报(或分片)的长度都远远没有达到最大值。接下来的3个字段则描述了如何实现分片。
标识(identification):长度为16位,唯一标识主机发送的每一个数据报。其初始值由系统随机生成;每发送一个数据报,其值就加1。该值在数据报分片时被复制到每个分片中,因此同一个数据报的所有分片都具有相同的标识值。
标志(flag):长度为3位,标志字段的第一位保留。第二位(Don’t Fragment,DF)表示“禁止分片”。如果设置了第二位,IP模块将不对数据报进行分片。在这种情况下,如果IP数据报长度超过MTU的话,IP将丢弃该数据报并返回一个互联网控制消息协议(InternetControl Message Protocol,ICMP)差错报文。第三位(More Fragment,MF)表示“更多分片”。除了数据报的最后一个分片外,其他分片都要把它置1。
分片偏移(fragmentation offset):长度为13位,分片偏移是分片相对原始IP数据报开始处(仅指数据部分)的偏移。实际的偏移值是该值左移3位(乘8)后得到的。由于这个原因,除了最后一个IP分片外,每个IP分片的数据部分的长度必须是8的整数倍(这样才能保证后面的IP分片拥有一个合适的偏移值)。
生存时间(Time To Live,TTL):长度为8位,生存时间是数据报到达目的地之前允许经过的路由器跳数。TTL值由发送端设置(常见的值是64)。数据报在转发过程中每经过一个路由,该值就被路由器减1。当TTL值减为0时,路由器将丢弃数据报,并向发送端发送一个ICMP差错报文。TTL值可以防止数据报陷入路由循环。
协议(protocol):长度为8位,用来区分上层协议。
头部校验和(header checksum):长度为16位,头部校验和是有由发送端填充,接收端对其使用循环冗余校验(Cyclic Redundancy Check,CRC)算法以检验IP数据报头部(注意,仅检验头部)在传输过程中是否损坏。
源端IP地址和目的端IP地址:都是32位,用来标识数据报的发送端和接收端。一般情况下,这两个地址在整个数据报的传递过程中保持不变,而不论它中间经过多少个中转路由器。
选项字段(option):可变长的可选信息。这部分最多包含40字节,因为IP头部最长是60字节(其中还包含20字节的固定部分)。可用的IP选项包括:记录路由(record route),时间戳(timestamp),松散源路由选择(loose source routing)和严格源路由选择(strictsource routing)。
如图1g所示,版本类型为IPv6的数据包中头部字段可由以下几部分构成:
版本号(version):长度为4位,标识目前采用的IP协议的版本号。针对IPv6而言,该版本号的取值为6。
通信分类(Traffic Class):通信分类字段用来标识对应IPv6的通信流类别,或者说是通信优先级别,长度为8位,类似于IPv4中的ToS(服务类型)字段。
流标签(Flow Label):流标签字段是IPv6数据报中新增的一个字段,长度为20位,可用来标记报文的数据流类型,以便在网络层区分不同的报文。流标签字段有源节点分配,通过流标签、源地址、目的地址三元组方式就可以唯一标识一条通信流,而不用像IPv4那样需要使用五元组方式(源地址、目的地址、源端口、目的端口和传输层协议号)。这样发动的最大好处有两点:一是流标签可以和任意的关联,需要标识不同类型的流(可以是非五元组)时,无需对流标签做改动;二是流标签在IPv6基本头中,使用互联网协议安全(InternetProtocol Security,IPSec)时此域对转发路由器可见,因此转发路由器可以在使用IPv6报文IPSec的情况下仍然可以通过三元组(流标签、源地址、目的地址)针对特定的流进行QoS(质量服务)处理。
有效载荷长度(PayLoad Length):有效载荷长度字段是以字节为单位的标识IPv6数据报中有效载荷部分(包括所有扩展报头部分)的总长度,也就是除了IPv6的基本报头以外的其他部分的总长度,长度为20位。
下一个头部(Next Header):下一个头部字段用来标识当前报头(或者扩展报头)的下一个头部类型,长度为8位。每种扩展报头都有其对应的值。下一个头部字段内定义的扩展报头类型与IPv4中的协议字段值类似,但在IPv6数据报中,紧接着IPv6报头的可能不是上层协议头部(当没有扩展报头或者为最后一个扩展报头时才是上层协议头),而是IPv6扩展报头。
跳数限制(Hop Limit):跳数限制于IPv4报文中的TTL字段类似,指定了报文可以有效转发的次数,长度为8位。报文每经过一个路由器结点,跳数值就减1,当此字段值减到0时,则直接丢弃该报文。
源端IP地址(Source IP Address):源IP地址字段标识了发送该IPv6报文源节点的IPv6地址,占128位。
目的端IP地址(Destination IP Address):目的IP地址字段标识了IPv6报文的接受节点的IPv6地址,占128位。
在本申请实施例中涉及到对下行数据包的因特网互联协议IP的校验时,主要是对下行数据包的IP版本类型进行校验;当下行数据包满足IP版本类型时,还涉及到对下行数据包的数据包长度进行校验,从而保证对下行数据包校验的准确率。
基于上述提供的通信系统以及IP的版本类型,请参阅图2,图2为本发明实施例提供的一种防止下行失步方法的流程示意图。该防止下行失步方法可由终端设备执行,更为具体的可由终端设备的PDCP实体执行,该方法可包括以下步骤S201-S202:
S201、终端设备通过分组数据汇聚协议PDCP实体对下行数据包进行IP校验。
其中,下行数据包为协议数据单元(Protocol Data Unit,PDU)。在具体实现中,终端设备可通过PDCP实体中保存的HFN对下行数据包进行解密,并对解密完成的下行数据包进行IP校验(即IP check)。
在一种可行的实施例中,终端设备通过分组数据汇聚协议PDCP实体对下行数据包进行IP校验之前,终端设备可通过PDCP实体确定接收到连续M个乱序的下行数据包,其中,M为大于或等于1的整数。在具体实现中,可先在终端设备的PDCP实体中设置一乱序计数器,该乱序计数器可统计终端设备的PDCP实体连续接收乱序下行数据包的个数。终端设备的PDCP实体每接收到一个乱序下行数据包,终端设备将乱序计数器加1。若乱序计数器统计到乱序下行数据包的个数达到乱序阈值M,则可认为终端设备接收到了连续M个乱序下行数据包。然后终端设备通过PDCP实体开始对接下来接收到的下行数据包进行IP校验。
需要说明的是,当终端设备在通过乱序计数器统计,PDCP实体接收到的乱序下行数据包的个数时,若终端设备通过PDCP实体接收到了一个非乱序的下行数据包,则终端设备会将该乱序计数器清零。因此当计数器统计的乱序下行数据包的个数达到计数阈值M时,可认为接收到的连续M个下行数据包都是乱序的下行数据包。
S202、若连续N个下行数据包的IP校验失败,且终端设备的传输模式为AM模式,则终端设备触发本地释放流程。
其中,N为大于或等于1的整数。
在一种可行的实施例中,终端设备可对IP校验失败的下行数据包进行统计。在具体实现中,可设置一校验计数器,该校验计数器用以统计下行数据包IP校验失败的次数。若终端设备通过PDCP实体对下行数据包的IP校验失败,则终端设备将校验计数器加1;若终端设备通过PDCP实体对下行数据包的IP校验成功,则终端设备将校验计数器清零。当校验计数器统计的次数大于或等于校验阈值N时,则认为连续N个下行数据包的IP校验都失败,则终端设备确定当前存在下行HFN失步。然后终端设备可确定自身的传输模式。若终端设备的传输模式为AM模式,则终端设备触发本地释放流程。由于终端设备在AM模式下,走链路重建不会清除状态变量,因此在AM模式下,终端设备触发本地释放流程。即终端设备从RRC连接(connect)态变为空闲(idle)态,使得终端设备与网络设备的状态变量都清零。终端设备和网络设备的HFN会被清除重置,保持一致,从而防止下行HFN失步。
在一种可行的实施例中,若连续N个下行数据包的IP校验失败,且终端设备的传输模式为UM模式,则终端设备触发链路重建。在UM模式下,终端设备触发链路重建会清除状态变量,使得终端设备与网络设备的状态变量都被清零。终端设备和网络设备的HFN会被清除重置,保持一致,从而防止下行HFN失步。
在本申请实施例中,终端设备通过分组数据汇聚协议PDCP实体对下行数据包进行因特网互联协议IP校验;若连续N个下行数据包的IP校验失败,则认为下行存在HFN失步。若终端设备的传输模式为AM模式,则终端设备触发本地释放流程,有效防止下行HFN失步。
基于上述提供的通信系统以及IP的版本类型,请参阅图3,图3为本发明实施例提供的一种防止下行失步方法的流程示意图。该防止下行失步方法可由终端设备执行,更为具体的可由终端设备的PDCP实体执行,该方法可包括以下步骤S301-S303:
S301、终端设备通过PDCP实体对下行数据包的IP进行解密,得到下行数据包的版本类型和数据包长度。
在具体实现中,当PDCP实体接收到下行数据包后,终端设备可通过PDCP实体中保存的HFN对接收到的下行数据包的IP进行解密,得到下行数据包的版本类型和下行数据包的数据包长度。其中,版本类型可包括第一类型和第二类型。例如,第一类型可以是IPv4,第二类型可以是IPv6。
在一种可行的实施例中,从上述提供的IPv4和IPv6的结构可以看出,前4个bit是版本号(version)域,终端设备可通过该version域可以知道解密完后的数据包的版本类型是IPv4还是IPv6。在得到下行数据包的版本类型后,终端设备可将下行数据包的版本类型与IP的版本进行对比,若下行数据包的版本类型属于IP版本,则执行步骤S302;若下行数据包的版本类型不属于IP版本,则终端设备可直接确定下行数据包校验失败。其中,IP版本可包括第一类型和第二类型,例如,第一类型可以是IPv4,第二类型可以是IPv6。
在一种可行的实施例中,由于在IP版本中,针对IPv4,version域的取值为4;针对IPv6,version域的取值为6。因此,终端设备可判断下行数据包的版本类型对应的数值是否等于预设值,若下行数据包的版本类型对应的数值等于预设值,则认为下行数据包的版本类型属于IP版本,并执行步骤S302;若下行数据包的版本类型对应的数值不等于预设值,则终端设备确定下行数据包校验失败。其中,该预设值可为4和6中的至少一种取值。
S302、若下行数据包的版本类型属于IP版本,则终端设备根据数据包长度和版本类型对下行数据包进行校验。
在具体实现中,终端设备在确定下行数据包的版本类型属于IP版本后,说明该下行数据包是个IP包,但可能该下行数据包的内容可能存在问题。因此,为了保证对下行数据包的IP校验的准确性,终端设备可根据数据包长度和版本类型对下行数据包进行进一步地校验。其中,针对版本类型的不同,根据数据包长度和版本类型对下行数据包的校验方式不同。
在一种可行的实施例中,若下行数据包的版本类型为第一类型(如该第一类型为IPv4),由于第一类型中的总长度(total length)域是包含IP头长度加上有效载荷长度(payload length)。因此终端设备可判断下行数据包的数据包长度与第一类型的数据包总长度(total length)是否相等。若下行数据包的数据包长度与第一类型的数据包总长度相等,则终端设备确定下行数据包校验成功;若下行数据包的数据包长度与第一类型的数据包总长度不相等,则终端设备确定下行数据包校验失败。
在另一种可行的实施例中,若下行数据包的版本类型为第二类型(如该第二类型为IPv6),由于第二类型中的有效载荷长度(payload length)仅仅指示有效载荷长度,不包括第二类型的头长度。因此,终端设备可获取第二类型的有效载荷长度和头长度,并根据有效载荷长度和头长度确定第二类型的目标长度。然后终端设备判断下行数据包的数据包长度与第二类型的目标长度是否相等;若下行数据包的数据包长度与第二类型的目标长度相等,则终端设备确定下行数据包校验成功;若下行数据包的数据包长度与第二类型的目标长度不相等,则终端设备确定下行数据包校验失败。其中,第二类型的头长度一般为40字节。
需要说明的是,针对终端设备的PDCP实体接收到的任一下行数据包,都可按照上述校验方式对任一下行数据包进行IP校验。
S303、若连续N个下行数据包的IP校验失败,且终端设备的传输模式为AM模式,则终端设备触发本地释放流程。
其中,N为大于或等于1的整数。步骤S303的具体实现方式可参见上述实施例中的步骤S202的具体实现方式,在此不再赘述。
在本申请实施例中,终端设备通过PDCP实体对下行数据包的IP进行解密,得到下行数据包的版本类型和数据包长度;若下行数据包的版本类型属于IP版本,则终端设备根据数据包长度和版本类型对下行数据包进行校验,可以保证对下行数据包校验的准确性。若连续N个下行数据包的IP校验失败,则认为下行存在HFN失步,若终端设备的传输模式为AM模式,则终端设备触发本地释放流程,有效防止下行HFN失步。
基于上述提供的防止下行失步方法,本申请实施例还提供一种具体的防止下行失步方案。请参见图4,该防止下行失步方案的具体流程为:终端设备接收到下行数据包,并判断接收到的下行数据包是否是乱序下行数据包。若接收到的下行数据包不是乱序下行数据包,则将乱序计数器清零。若接收到的下行数据包是乱序下行数据包,则终端设备可将乱序计数器加1。然后终端设备判断该乱序计数器是否达到阈值N1,若该乱序计数器未达到阈值N1,则无动作,即终端设备继续对下一个接收的下行数据包是否是乱序的数据包进行判断;若该乱序计数器达到阈值N1,则终端设备对接下来接收到下行数据包进行因特网互联协议校验(IP check),当终端设备对下行数据包进行IP check失败,则将校验计数器加1。进一步地,终端设备判断校验计数器是否达到阈值N2,若校验计数器达到阈值N2,则终端设备确定自身的传输模式。若终端设备的传输模式为确认模式,则终端设备触发本地释放流程。若终端设备的传输模式为非确认模式,则终端设备触发链路重建流程。
需要说明的是,本发明实施例提供的防止下行失步方法除可解决下行HFN失步问题外,还可用于解决当网络设备或者终端设备处理异常时,导致终端设备对下行数据包解析错误的问题。其中,网络设备处理异常可以是指:网络设备发送的数据包本身有异常,这样导致终端设备对异常的数据包进行解密解出来的数据就有问题。终端设备处理异常可以是指:终端设备自身实现有问题,比如数字信号处理(Digital Signal Processing,DSP)错误上报,或者PDCP实体对数据包解密有问题等等。
基于上述防止下行失步方法,请参阅图5,图5为本发明实施例提供的一种通信装置的结构示意图。该通信装置可部署在终端设备执行。本实施例中所描述的通信装置,包括:
校验模块501,用于通过分组数据汇聚协议PDCP实体对下行数据包进行因特网互联协议IP校验;
处理模块502,用于若连续N个下行数据包的IP校验失败,且所述终端设备的传输模式为确认AM模式,则触发本地释放流程;所述N为大于或等于1的整数。
在一种可行的实施例中,所述处理模块502,还用于:若连续N个下行数据包的IP校验失败,且所述终端设备的传输模式为非确认UM模式,则所述终端设备触发链路重建。
在一种可行的实施例中,所述校验模块501,具体用于:
通过PDCP实体对所述下行数据包的IP进行解密,得到所述下行数据包的版本类型和数据包长度;
若所述下行数据包的版本类型属于IP版本,则根据所述数据包长度和所述版本类型对所述下行数据包进行校验。
在一种可行的实施例中,所述校验模块501,具体用于:
若所述下行数据包的版本类型不属于IP版本,则确定所述下行数据包校验失败。
在一种可行的实施例中,所述下行数据包的版本类型为第一类型,所述校验模块501,具体用于:
判断所述下行数据包的数据包长度与所述第一类型的数据包总长度是否相等;
若是,则确定所述下行数据包校验成功;
若否,则确定所述下行数据包校验失败。
在一种可行的实施例中,所述下行数据包的版本类型为第二类型,所述校验模块501,具体用于:
获取第二类型的有效载荷长度和头长度,并根据所述有效载荷长度和所述头长度确定所述第二类型的目标长度;
判断所述下行数据包的数据包长度与所述第二类型的目标长度是否相等;
若是,则确定所述下行数据包校验成功;
若否,则确定所述下行数据包校验失败。
在一种可行的实施例中,在所述终端设备通过PDCP实体对下行数据包进行IP校验之前,所述处理模块502,还用于:通过PDCP实体确定接收到连续M个乱序的下行数据包,所述M为大于或等于1的整数。
可以理解的是,本实施例的通信装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例图2和图3,此处不再赘述。
请参见图6,为本发明实施例提供的一种通信装置的结构示意图。如图6所示的本实施例中的通信装置可以是上述的终端设备,可以包括:处理器601、输入设备602,输出设备603和存储器604。上述处理器601、输入设备602、输出设备603和存储器604通过总线605连接。存储器604用于存储计算机程序,所述计算机程序包括程序指令,处理器601用于执行存储器604存储的程序指令。
在本发明实施例中,处理器601通过运行存储器604中的可执行程序代码,执行如下操作:通过分组数据汇聚协议PDCP实体对下行数据包进行因特网互联协议IP校验;若连续N个下行数据包的IP校验失败,且所述终端设备的传输模式为确认AM模式,则触发本地释放流程;所述N为大于或等于1的整数。
在一种可行的实施例中,所述处理器601,还用于:
若连续N个下行数据包的IP校验失败,且所述终端设备的传输模式为非确认UM模式,则所述终端设备触发链路重建。
在一种可行的实施例中,所述处理器601,具体用于:通过PDCP实体对所述下行数据包的IP进行解密,得到所述下行数据包的版本类型和数据包长度;若所述下行数据包的版本类型属于IP版本,则根据所述数据包长度和所述版本类型对所述下行数据包进行校验。
在一种可行的实施例中,所述处理器601,还用于:若所述下行数据包的版本类型不属于IP版本,则确定所述下行数据包校验失败。
在一种可行的实施例中,所述下行数据包的版本类型为第一类型,所述处理器601,具体用于:判断所述下行数据包的数据包长度与所述第一类型的数据包总长度是否相等;若是,则确定所述下行数据包校验成功;若否,则确定所述下行数据包校验失败。
在一种可行实施例中,所述下行数据包的版本类型为第二类型,所述处理器601,具体用于:获取第二类型的有效载荷长度和头长度,并根据所述有效载荷长度和所述头长度确定所述第二类型的目标长度;判断所述下行数据包的数据包长度与所述第二类型的目标长度是否相等;若是,则确定所述下行数据包校验成功;若否,则确定所述下行数据包校验失败。
在一种可行的实施例种,在所述终端设备通过PDCP实体对下行数据包进行IP校验之前,所述处理器601,还用于:通过PDCP实体确定接收到连续M个乱序的下行数据包,所述M为大于或等于1的整数。
应当理解,在本申请实施例中,所称处理器601可以是中央处理单元(CentralProcessing Unit,CPU),该处理器601还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器604可以包括只读存储器和随机存取存储器,并向处理器601提供指令和数据。存储器604的一部分还可以包括非易失性随机存取存储器。
该输入设备602可以包括键盘、触控模式输入等,并向处理器601输入数据信息;该输出设备603可以包括显示器等。
具体实现中,本发明实施例中所描述的处理器601、输入设备602、输出设备603和存储器604可执行本发明实施例图2和图3提供的一种防止下行失步方法的流程中所描述的实现方式,在此不再赘述。
本发明实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,可执行上述防止下行失步方法实施例图2和图3中所执行的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
Claims (8)
1.一种防止下行失步方法,其特征在于,包括:
在通过分组数据汇聚协议PDCP实体确定接收到连续M个乱序的下行数据包之后,终端设备通过PDCP实体对所述M个乱序的下行数据包之后所接收到的下行数据包的IP进行解密,得到所述M个乱序的下行数据包之后所接收到的下行数据包的版本类型和数据包长度;
若所述M个乱序的下行数据包之后所接收到的下行数据包的版本类型属于IP版本,则所述终端设备根据所述数据包长度和所述版本类型对所述M个乱序的下行数据包之后所接收到的下行数据包进行校验;
若所述M个乱序的下行数据包之后所接收到的连续N个下行数据包的IP校验失败,且所述终端设备的传输模式为确认AM模式,则所述终端设备触发本地释放流程;所述N为大于或等于1的整数,所述M为大于1的整数。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若连续N个下行数据包的IP校验失败,且所述终端设备的传输模式为非确认UM模式,则所述终端设备触发链路重建。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述M个乱序的下行数据包之后所接收到的下行数据包的版本类型不属于IP版本,则所述终端设备确定所述M个乱序的下行数据包之后所接收到的下行数据包校验失败。
4.根据权利要求1所述的方法,其特征在于,所述M个乱序的下行数据包之后所接收到的下行数据包的版本类型为第一类型,所述终端设备根据所述数据包长度和所述版本类型对所述M个乱序的下行数据包之后所接收到的下行数据包进行校验,包括:
所述终端设备判断所述M个乱序的下行数据包之后所接收到的下行数据包的数据包长度与所述第一类型的数据包总长度是否相等;
若是,则所述终端设备确定所述M个乱序的下行数据包之后所接收到的下行数据包校验成功;
若否,则所述终端设备确定所述M个乱序的下行数据包之后所接收到的下行数据包校验失败。
5.根据权利要求1所述的方法,其特征在于,所述M个乱序的下行数据包之后所接收到的下行数据包的版本类型为第二类型,所述终端设备根据所述数据包长度和所述版本类型对所述M个乱序的下行数据包之后所接收到的下行数据包进行校验,包括:
所述终端设备获取第二类型的有效载荷长度和头长度,并根据所述有效载荷长度和所述头长度确定所述第二类型的目标长度;
所述终端设备判断所述M个乱序的下行数据包之后所接收到的下行数据包的数据包长度与所述第二类型的目标长度是否相等;
若是,则所述终端设备确定所述M个乱序的下行数据包之后所接收到的下行数据包校验成功;
若否,则所述终端设备确定所述M个乱序的下行数据包之后所接收到的下行数据包校验失败。
6.一种通信装置,其特征在于,包括校验模块和处理模块,其中:
所述校验模块,用于在通过分组数据汇聚协议PDCP实体确定接收到连续M个乱序的下行数据包之后,通过PDCP实体对所述M个乱序的下行数据包之后所接收到的下行数据包的IP进行解密,得到所述M个乱序的下行数据包之后所接收到的下行数据包的版本类型和数据包长度;
若所述M个乱序的下行数据包之后所接收到的下行数据包的版本类型属于IP版本,则根据所述数据包长度和所述版本类型对所述M个乱序的下行数据包之后所接收到的下行数据包进行校验;
所述处理模块,用于若所述M个乱序的下行数据包之后所接收到的连续N个下行数据包的IP校验失败,且终端设备的传输模式为确认AM模式,则触发本地释放流程;所述N为大于或等于1的整数,所述M为大于1的整数。
7.一种通信装置,其特征在于,包括处理器和存储器,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1至5中任一项所述的方法。
8.一种计算机可读存储介质,其特征在于,所述可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1至5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011334934.0A CN112333850B (zh) | 2020-11-24 | 2020-11-24 | 防止下行失步方法、通信装置和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011334934.0A CN112333850B (zh) | 2020-11-24 | 2020-11-24 | 防止下行失步方法、通信装置和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112333850A CN112333850A (zh) | 2021-02-05 |
CN112333850B true CN112333850B (zh) | 2022-08-16 |
Family
ID=74308289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011334934.0A Active CN112333850B (zh) | 2020-11-24 | 2020-11-24 | 防止下行失步方法、通信装置和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112333850B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115460135A (zh) * | 2022-11-10 | 2022-12-09 | 易方信息科技股份有限公司 | 一种资源展示方法、系统及存储介质和终端设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1466340A (zh) * | 2002-06-24 | 2004-01-07 | �人��������������ι�˾ | 以策略流方式转发数据的方法和数据转发设备 |
WO2016171008A1 (ja) * | 2015-04-24 | 2016-10-27 | ソニー株式会社 | 送信装置、送信方法、受信装置、及び、受信方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100202451A1 (en) * | 2008-10-31 | 2010-08-12 | Enfora, Inc. | Modified internet protocol (ip) data packet for asynchronous ip communications |
US20150280905A1 (en) * | 2014-04-01 | 2015-10-01 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for detecting and correcting pdcp hyper frame number (hfn) desynchronization |
US20170289841A1 (en) * | 2014-09-25 | 2017-10-05 | Nokia Solutions And Networks Oy | Method and apparatus for improving communication efficiency |
WO2018229657A1 (en) * | 2017-06-16 | 2018-12-20 | Telefonaktiebolaget Lm Ericsson (Publ) | Apparatuses and methods for handling of data radio bearer integrity protection failure in new radio (nr) network |
US10785817B2 (en) * | 2017-09-28 | 2020-09-22 | Apple Inc. | Signaling radio bearer type 3 (SRB3) and secondary cell group (SCG) failure handling |
-
2020
- 2020-11-24 CN CN202011334934.0A patent/CN112333850B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1466340A (zh) * | 2002-06-24 | 2004-01-07 | �人��������������ι�˾ | 以策略流方式转发数据的方法和数据转发设备 |
WO2016171008A1 (ja) * | 2015-04-24 | 2016-10-27 | ソニー株式会社 | 送信装置、送信方法、受信装置、及び、受信方法 |
Non-Patent Citations (1)
Title |
---|
全IP网络端到端的性能测量研究;沙霏;《中国优秀硕士学位论文全文数据库》;20110915;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112333850A (zh) | 2021-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20150280905A1 (en) | Method and apparatus for detecting and correcting pdcp hyper frame number (hfn) desynchronization | |
JP5036868B2 (ja) | 移動通信システムにおけるセキュリティエラー検出方法及び装置 | |
TWI486016B (zh) | 通信終端機及將狀態報告自接收終端機發送至發送終端機之方法 | |
US8085669B2 (en) | Session relay device and session relay method | |
US20090319850A1 (en) | Local drop control for a transmit buffer in a repeat transmission protocol device | |
JP4608000B2 (ja) | セキュアで帯域効率の良い暗号化同期方法 | |
US20080101609A1 (en) | Method and apparatus for handling protocol error in a wireless communications system | |
US20060203823A1 (en) | Method of CRC Residue Error Detection and Handling | |
KR20090031239A (ko) | 성공적으로 수신했으나 헤더 압축 복원에 실패한 패킷의 처리 방법 | |
EP3186912B1 (en) | Method and apparatus for handling packet loss in mobile communication network | |
CN111262660B (zh) | 数据传输方法、设备及系统 | |
US10932159B2 (en) | Data transmission method, data receiving device, and data sending device | |
CN113765626B (zh) | 一种移动通信系统的数据传输方法和装置 | |
EP3198759B1 (en) | Forward error correction in cellular networks | |
CN112996052B (zh) | 数据发送控制方法及装置、终端、基站和介质 | |
CN112333850B (zh) | 防止下行失步方法、通信装置和可读存储介质 | |
WO2024051419A1 (zh) | 一种数据无线承载完整性保护验证失败的处理方法及装置 | |
WO2024032742A1 (zh) | 业务处理方法、装置、设备、存储介质及程序产品 | |
CN111865820A (zh) | 数据发送方法、装置、接收端、通信系统、设备及介质 | |
CN111769914B (zh) | 数据通信方法和存储介质 | |
EP3729750A1 (en) | Congestion notification by data packet from intermediate node | |
CN111385158B (zh) | 通信方法和通信装置 | |
CN115714991A (zh) | 时间明晰网络数据包的传输方法、设备及存储介质 | |
US9900768B2 (en) | Method and device for synchronizing uplink ciphering parameter in unacknowledged mode | |
CN114826634A (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 |