WO2019091399A1 - 数据包修复方法、基站、终端及计算机可读存储介质 - Google Patents
数据包修复方法、基站、终端及计算机可读存储介质 Download PDFInfo
- Publication number
- WO2019091399A1 WO2019091399A1 PCT/CN2018/114349 CN2018114349W WO2019091399A1 WO 2019091399 A1 WO2019091399 A1 WO 2019091399A1 CN 2018114349 W CN2018114349 W CN 2018114349W WO 2019091399 A1 WO2019091399 A1 WO 2019091399A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data packet
- sublayer
- packet
- data
- protocol
- 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.)
- Ceased
Links
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
Definitions
- the present disclosure relates to, but is not limited to, the field of wireless communication technology.
- the physical layer uses a hybrid automatic repeat request (HARQ) mechanism.
- HARQ hybrid automatic repeat request
- the HARQ mechanism may require more retransmission times.
- voice quality is affected by factors such as delay, jitter, and packet loss rate in the VoLTE (Voice over LTE) service.
- the packet loss rate has a great impact on the user experience. If the packet loss rate is too high, the speech will be distorted, swallowed, intermittent, and unclear. At the same time, the VoLTE service has a higher latency requirement. If the delay is too large, delays, echoes, and the like may affect the user experience.
- 3GPP the requirements for voice services include end-to-end delay within 200ms and packet loss rate within 1%, so as to provide good voice services.
- the radio link control (RLC) layer can be configured with a non-acknowledgment (UM) mode for the VoLTE service, which will cause the voice data packet to be directly discarded after the physical layer is demodulated, which affects the user experience.
- UM non-acknowledgment
- An embodiment of the present disclosure provides a data packet repair method, including: in a case where a verification of a data packet by a first protocol layer of a communication protocol stack fails, the second protocol of the data packet to the communication protocol stack Layer delivery; the second protocol layer of the communication protocol stack verifies the identification bit of the second protocol layer of the data packet; and if the verification of the identification bit of the second protocol layer of the data packet fails, Discard the packet.
- An embodiment of the present disclosure further provides a base station, including: a delivery module configured to determine, in a case where a verification of a data packet in a first protocol layer of a communication protocol stack fails, to forward the data packet to the communication protocol stack a second protocol layer delivery; and a verification module configured to verify, at a second protocol layer of the communication protocol stack, an identification bit of a second protocol layer of the data packet, in a second protocol to the data packet In the case where the verification of the layer's flag bit fails, the packet is discarded.
- Embodiments of the present disclosure also provide a terminal including a processor and a memory, the program storing thereon a program containing executable instructions, and the processor executing the program to implement a data packet repair method of an embodiment of the present disclosure .
- Embodiments of the present disclosure also provide a computer readable storage medium having stored thereon a computer program that, when executed, implements a data repair method of an embodiment of the present disclosure.
- FIG. 1 is a schematic flowchart diagram of a data packet repairing method according to an embodiment of the present disclosure
- FIG. 2 is a schematic flowchart of a data packet repairing method according to an embodiment of the present disclosure
- FIG. 3 is a schematic structural diagram of a base station according to an embodiment of the present disclosure.
- 4a, 4b, 4c, and 4d are schematic diagrams showing the structure of a MAC sublayer header of a data packet according to an embodiment of the present disclosure, and a schematic flowchart of MAC sublayer verification of a data packet according to an embodiment of the present disclosure;
- FIG. 5 is a schematic structural diagram of an RLC sublayer header of a data packet according to an embodiment of the present disclosure.
- FIG. 1 is a schematic flowchart diagram of a data packet repairing method according to an embodiment of the present disclosure. As shown in FIG. 1, the packet repair method of the embodiment of the present disclosure includes the following steps 101 to 103.
- Step 101 In the case that the verification of the data packet by the first protocol layer of the communication protocol stack fails, the data packet is delivered to the second protocol layer of the communication protocol stack.
- the first protocol layer may be a physical layer.
- the physical layer of the base station in the LTE network needs to perform Cyclic Redundancy Check (CRC) check when performing hybrid automatic repeat reQuest (HARQ), when the CRC check is not performed.
- CRC Cyclic Redundancy Check
- HARQ hybrid automatic repeat reQuest
- the bit error rate of the data packet (the abscissa BER in Figure 1) does not appear in the physical layer more than 50.
- bit error rate of data packets in the physical layer of the LTE network is below 50%, even in the cumulative distribution function (CDF, Cumulative Distribution Function) (ie, the ordinate CDF of the chart 1) is 78%. Under the probability, the bit error rate of the data packet is also below 30%. Therefore, the data packet that fails the CRC check of the physical layer has a large probability in the application layer and can be correctly parsed.
- CDF Cumulative Distribution Function
- data is transmitted by means of transparent transmission, and when parsing the data packet, the parsing is generally corresponding to the header message of each protocol layer, even if the CRC of the data packet fails at the physical layer, as long as the data packet There is no error in the bit position data of the header, and the data packet can continue to be delivered to the next protocol layer until the data packet is delivered to the application layer, and the content of the data packet is parsed by the application layer related protocol or application.
- the data packet is delivered to the next protocol layer.
- Step 102 The second protocol layer of the communication protocol stack verifies the identifier of the second protocol layer of the data packet.
- Step 103 If the verification of the identifier bit of the second protocol layer of the data packet fails, the data packet is discarded.
- Step 104 If the verification of the identifier bit of the second protocol layer of the data packet is passed, the data packet is delivered to the application layer.
- the second protocol layer may include a media access control (MAC) sublayer, a radio link control (RLC) sublayer, and a packet data convergence protocol (PDCP, Packet Data Convergence). Protocol) sublayer.
- MAC media access control
- RLC radio link control
- PDCP Packet Data Convergence Protocol
- the verifying, by the second protocol layer of the communication protocol stack, the identifier bit of the second protocol layer of the data packet may include: the header data of the data packet according to a preset data packet header format in the medium access control sublayer Performing bit-by-bit verification, determining that the verification of the data packet is passed if the data of the bit in the header data of the data packet conforms to a format of a packet header preset in the medium access control sublayer, Delivering the data packet to a radio link control sublayer, and if there is a bit in the header data of the data packet that does not conform to a format of a packet header preset in the medium access control sublayer, discarding the a data packet; the radio link control sublayer matches a radio link control sequence number value of the data packet with a window range value preset by the radio link control sublayer, in the wireless of the data packet If the link control sequence number value is located within a preset window range value of the radio link control sublayer, determining that the verification of the data packet passes, and the data
- the aggregation protocol sub-layer delivery discarding the data packet if the radio link control sequence number value of the data packet exceeds a preset window range of the radio link control sublayer; and the packet data convergence protocol
- the sub-layer compares the packet data convergence protocol sequence number value of the data packet with a sequence number value preset by the packet data convergence protocol sub-layer to generate a comparison result, where the comparison result is less than or equal to a preset threshold. And sending the data packet to the application layer, and if the comparison result is greater than a preset threshold, discarding the data packet.
- the radio link control (RLC) sequence number value may be a non-acknowledgment mode (UM, Unacknowledged Mode) radio link control sequence number (SN, Sequence Number) value.
- UM Unacknowledged Mode
- SN Sequence Number
- the application layer when the application layer performs data packet decoding, there is also a certain fault tolerance mechanism. Under the premise of low bit error rate, the probability of recovering correct data packet bits is very high, especially for VoLTE services.
- the application layer On the premise that the RLC sublayer is in the UM mode, if the data packet with the content error but the header is not erroneously forced to be sent to the application layer for decoding, the application layer has a certain probability to parse the data packet, and the relevant decoder of the application layer passes the The remaining valid bits of the data packet and the related information of the preceding and succeeding voice messages can recover the phase and amplitude of the data packet, and can recover the original voice waveform carried by the data packet to the maximum extent, thereby making the voice The loss is minimized.
- the packet recovery method of the embodiment of the present disclosure can effectively reduce the packet loss rate. Further, even in the case where the retransmission mechanism is used, the packet recovery method using the embodiment of the present disclosure can effectively reduce the number of retransmissions. In view of this, the packet recovery method of the embodiment of the present disclosure can improve the delay and facilitate real-time communication.
- the data packet repair method proposed in the embodiment of the present disclosure may further mark a data packet that fails the CRC check at the physical layer in a base station uplink system, and each protocol is sequentially delivered in the data packet.
- Layer set the threshold threshold for which the packet header content should match. Only packets that meet the threshold threshold of all protocol layers can be finally delivered to the application layer, and the data packet that does not satisfy the threshold threshold of any layer is discarded. For example, It can be implemented by the following steps (1) to (3).
- the data packet whose CRC check fails is the target data packet to be marked, and the data packet with the correct CRC check is directly delivered to the next protocol layer.
- the marked data packet is continued to be delivered to the next protocol layer, and the header is matched, for example, the MAC sublayer header is matched first, and if the MAC sublayer header data is correct, the delivery to the RLC sublayer is continued, and the RLC sublayer is performed. If the header of the RLC sublayer is correct, the data is forwarded to the PDCP sublayer, and the PDCP sublayer header is matched. If the PDCP sublayer header data is correct, the data packet can be sent through the S1 interface.
- the discard operation is directly performed at the protocol layer, that is, according to the packet loss processing.
- step 104 in the data packet repair method of the embodiment of the present disclosure is replaced by step 104', that is, the verification of the identification bit of the second protocol layer of the data packet is passed.
- the third protocol layer of the communication protocol stack verifies the identifier of the third protocol layer of the data packet. If the verification of the identifier bit of the third protocol layer of the data packet fails, the data packet is discarded, and if the verification of the identifier bit of the third protocol layer of the data packet is passed, the data packet is forwarded Application layer delivery.
- the third protocol layer of the communication protocol stack may include a network interconnection protocol sublayer, a transmission control protocol sublayer or a user data protocol sublayer, and a real-time transport protocol sublayer.
- step (2) if the PDCP sublayer header data is correct, the matching of the IP sublayer header, the matching of the TCP sublayer header or the matching of the UDP sublayer header, and the matching of the RTP sublayer header may be continued. If the headers of each layer match correctly, the data packet can be sent through the S1 interface.
- mapping the RTP sublayer header is also optional.
- the data packet repair method provided by the embodiment of the present disclosure further verifies the data packet that fails the CRC check of the physical layer, that is, the layer is verified layer by layer in the LTE protocol stack, especially for the VoLTE service.
- the data packet is forcibly delivered to the application layer for recovery processing by the packet data correctly parsed by the header data of each protocol layer, and the application layer has a certain probability for the data packet to correctly parse the content of the data packet. Therefore, the data packet repairing method proposed in the embodiment of the present disclosure can effectively reduce the packet loss rate and improve the user experience compared with the strategy of directly discarding the data packet in which the CRC check fails.
- the packet recovery method using the embodiment of the present disclosure can effectively reduce the number of retransmissions.
- FIG. 3 is a schematic structural diagram of a base station according to an embodiment of the present disclosure.
- the base station of the embodiment of the present disclosure includes a delivery module 201 and a verification module 202.
- the delivery module 201 is configured to determine that the verification of the data packet in the first protocol layer of the communication protocol stack fails, and deliver the data packet to the second protocol layer of the communication protocol stack.
- the verification module 202 is configured to verify the identification bit of the second protocol layer of the data packet at the second protocol layer of the communication protocol stack, and the verification of the identification bit of the second protocol layer of the data packet fails. In the case, the packet is discarded.
- the delivery module is further configured to deliver the data packet to an application layer if the verification of the identification bit of the second protocol layer of the data packet is passed.
- the first protocol layer of the communication protocol stack is a physical layer
- the second protocol layer of the communication protocol stack includes a medium access control sublayer, a radio link control sublayer, and a packet data convergence protocol sublayer.
- the verification module is configured to perform bit-by-bit verification of the header data of the data packet according to a preset packet header format in the medium access control sublayer, in the header data of the data packet.
- the data of the bit conforms to the preset packet header format in the medium access control sublayer, determining that the media access control sublayer performs verification of the data packet, and the header data of the data packet In the case where there is a bit that does not match the preset packet header format in the medium access control sublayer, the data packet is discarded; and the delivery module is configured to determine in the medium access control sublayer In the case where the verification of the data packet is passed, the data packet is delivered to the radio link control sublayer.
- the verification module is further configured to, at the radio link control sublayer, set a radio link control sequence number value of the data packet and a window range value preset by the radio link control sublayer. Performing matching, in a case where the radio link control sequence number value of the data packet is located within a preset window range value of the radio link control sublayer, determining that the radio link control sublayer is in the The verification of the data packet is performed by discarding the data packet if the radio link control sequence number value of the data packet exceeds a window range value preset by the radio link control sublayer; and the delivery module further And configured to deliver the data packet to a packet data convergence protocol sublayer if the verification of the data packet in the radio link control sublayer is determined to pass.
- the verification module is further configured to: at the packet data convergence protocol sublayer, a packet data convergence protocol sequence number value of the data packet and a sequence number value preset by the packet data convergence protocol sublayer. Comparing, generating a comparison result, discarding the data packet if the comparison result is greater than a preset threshold; and the delivery module is configured to: if the comparison result is less than or equal to a preset threshold, The data packet is delivered to the application layer.
- the delivery module is further configured to deliver the data packet to a third protocol layer of the communication protocol stack if the verification of the identification bit of the second protocol layer of the data packet is passed
- the verification module is further configured to verify, at a third protocol layer of the communication protocol stack, an identification bit of a third protocol layer of the data packet, where the identifier of the third protocol layer of the data packet is If the verification fails, the data packet is discarded; and the delivery module is further configured to deliver the data packet to the application layer if the verification of the identification bit of the third protocol layer of the data packet is passed .
- the third protocol layer of the communication protocol stack may include a network interconnection protocol sublayer, a transmission control protocol sublayer or a user data protocol sublayer, and a real-time transport protocol sublayer.
- the real-time transport protocol sublayer is also optional.
- the delivery module 201 and the verification module 202 of the embodiments of the present disclosure may be implemented by software, hardware, or a combination thereof, and the hardware may include, for example, a Central Processing Unit (CPU), a Micro Processor Unit (MPU). A digital signal processor (DSP), a Field Programmable Gate Array (FPGA), a computer, or an integrated circuit, etc., may also include a memory.
- CPU Central Processing Unit
- MPU Micro Processor Unit
- DSP digital signal processor
- FPGA Field Programmable Gate Array
- computer or an integrated circuit, etc., may also include a memory.
- the memory can be any type of volatile or non-volatile memory, or a combination thereof.
- the non-volatile memory may be a Read Only Memory (ROM), a Programmable Read-Only Memory (PROM), or an Erasable Programmable Read-Only Memory (EPROM). ), Electrically Erasable Programmable Read-Only Memory (EEPROM), Ferromagnetic Random Access Memory (FRAM), Flash Memory, Magnetic Surface Memory, Optical Disk Or CD-ROM (Compact Disc Read-Only Memory).
- the magnetic surface memory can be a disk storage or a tape storage.
- the volatile memory can be a random access memory (RAM) that acts as an external cache.
- RAM static random access memory
- SSRAM synchronous static random access memory
- SSRAM Synchronous Static
- Random Access Memory Dynamic Random Access Memory
- DRAM Dynamic Random Access Memory
- SDRAM Synchronous Dynamic Random Access Memory
- DDRSDRAM Double Data Rate Synchronous Dynamic Random Access Memory
- ESDRAM Double Data Rate Synchronous Dynamic Random Access Memory
- SLDRAM Synchronous Dynamic Random Access Memory
- DRAM Dynamic Random Access Memory
- SLDRAM Synchronous Dynamic Random Access Memory
- direct memory bus Take the memory (DRRAM, Direct Rambus Random Access Memory) and so on.
- Memory described in the embodiments of the present disclosure is intended to include, but is not limited to, any suitable type of memory.
- a MAC sublayer header verification process is performed on a packet that fails in a CRC (Cyclic Redundancy Check) in a QoS Class Identifier 1 service.
- the locale ID (LCID, Local ID) of the configurable QCI1 service is 5.
- the corresponding channel is determined to be a logical channel (Logical Channel), that is, the control on the logical channel is controlled. Flat information as well as encoded and encrypted speech or data.
- the MAC sublayer header data may be composed of multiple sub-headers, the composition of the MAC sub-layer header data of the Protocol Data Unit (PDU) is shown in FIG. 4a, and the MAC sub-layer is shown in FIG. 4b and FIG. 4c.
- PDU Protocol Data Unit
- Ranges LCID value 00000 CCCH 00001-01010 Logical channel ID 01011-11000 Reserved 11001 Extended power headroom report 11010 Power headroom report 11011 C-RNTI 11100 Truncated BSR 11101 Short BSR 11110 Long BSR 11111 filling
- FIG. 4d is a flowchart of performing bit-by-bit bit verification on the MAC sub-layer header data of the data packet according to a preset packet header format in the MAC sub-layer according to an embodiment of the present disclosure.
- the step of performing bit-by-bit bit verification on the MAC sub-layer header data of the data packet in the embodiment of the present disclosure includes the following steps 301 to 309.
- Step 301 Determine whether the E field is 0. When the value of the E field is 0, go to step 302. If the value of the E field is non-zero, go to step 306.
- Step 302 When the value of the E field is 0, it is determined that the sub-header is the last sub-header in the MAC sub-layer header, and the length of the sub-header is 5 bytes.
- Step 303 Determine whether the LCID value of the data packet is 5, and when the LCID value is 5, step 304 is performed. When the value of the LCID is not 5, step 310 is performed.
- Step 304 Determine whether the length of the L field is consistent with the length of the service data unit (SDU). If they are the same, go to step 305. If they are inconsistent, go to step 310.
- SDU service data unit
- Step 305 Determine that the MAC sublayer header verification is passed, and deliver the data packet to the next protocol layer.
- Step 306 Determine that the sub-header is not the last sub-header.
- Step 307 It is determined whether the value of the LCID of the data packet is between 01011-11000. When the LCID value of the data packet is between 01011-11000, step 310 is performed, and the LCID value of the data packet is not between 01011-11000. Go to step 308.
- Step 308 Determine whether the value of the LCID is equal to the value of the non-QCI1. If yes, perform step 309. If not, perform step 304.
- Step 309 Determine the length of the corresponding sub-header according to the value of the LCID, the L field, and the F field, and skip the corresponding bit to verify the next sub-header.
- Step 310 Discard the corresponding data packet.
- the length of the sub-header is determined according to the meaning of each bit of the predetermined packet header in the protocol layer, and then the header is confirmed by the sub-header, and when a mismatch is found, , packet loss processing on the packet. For example, for the packet 10101000111000 that fails the CRC check, it is compared with the predetermined packet header format in the protocol layer in order from the high to the low, if the first bit of the packet header format of the protocol layer is R, R defaults to 0, and the first bit of the packet 10101000111000... that fails the CRC check is 1, and does not match the first bit of the predetermined packet header format in the protocol layer, and the header verification of the protocol layer is considered to be unsuccessful.
- the packet can be directly discarded at this protocol layer.
- the RLC sublayer After the data packet passes the header verification of the MAC sublayer, it is delivered to the RLC sublayer. Therefore, the RLC sublayer identifies the RLC sublayer identifier of the data packet according to the identifier bit format of the RCL layer.
- the RLC sublayer identification bit of the data packet is an RLC sublayer sequence number (SN) value of the non-acknowledgment mode.
- the RLC sublayer SN value of the data packet may be matched with a window range value preset by the RLC sublayer, when the RLC sublayer sequence number (SN) value of the data packet is located in the When the RLC sublayer preset window range value is within, determining that the RLC sublayer header of the data packet is verified, the data packet may be delivered to the next protocol layer, when the RLC sublayer serial number of the data packet is When the (SN) value exceeds the window range value preset by the RLC sublayer, the data packet is discarded.
- the length of the RLC sublayer sequence number may be pre-configured to be 5 bits, the SN range is SN0-SN31, and the half window length of the SN is 16, and the data packet is formatted according to the identifier bit format of the RCL sublayer.
- the RLC sub-layer identifier is verified by verifying the RLC sub-layer SN value of the data packet, and the RLC sub-layer SN value parsed according to the data packet falls within a preset half window of the RLC sub-layer, The RLC sublayer header verification of the data packet is passed.
- 5 is a format of a 5 bit SN header of the RLC sublayer SN in the UM mode.
- the RLC sublayer header of the data packet is parsed, only the value of the SN needs to be determined.
- the length of the RLC sublayer header is 1 byte, so only the highest bit of the data packet needs to be verified.
- the data format if the CRC check fails, but the highest bit of the data packet delivered is 00101110, according to Figure 5, the RLC sublayer SN value of the data packet can be parsed as 01110, which is 14, indicating the current resolution.
- the SN of the failed CRC check packet has an SN value of 14. If the RLC sublayer SN value of the data packet received before the current data packet is 1, then the current data packet connection error is determined, and the current data packet is discarded. If the RLC sublayer SN value of the data packet received before the current data packet is 13, it is determined that the RLC sublayer header of the current data packet is verified to pass, and the current data packet is delivered to the next protocol layer.
- the data packet After passing the header verification of the RLC sublayer, the data packet is delivered to the PDCP sublayer, and the PDCP identifier of the data packet is verified according to the identifier bit format of the PDCP sublayer.
- the PDCP flag of the data packet is a PDCP Sublayer Sequence Number (SN) value.
- the PDCP sublayer sequence number (SN) value of the data packet may be compared with a preset SN value of the PDCP sublayer to generate a comparison result, where the comparison result is less than or equal to a preset threshold. And transmitting the data packet to a lower layer of the PDCP sublayer in the communication protocol stack, and discarding the data packet when the comparison result is greater than a preset threshold.
- SN sequence number
- the PDCP sublayer SN may be pre-configured to have a length of 7 bits. If the PDCP sub-layer SN value of the parsed data packet is far from the PDCP sub-layer SN value of the data packet recently received by the PDCP sub-layer, the PDCP sub-layer header verification of the data packet is considered to be invalid, and the data is considered to be The packet is discarded. If the PDCP sub-layer SN value of the parsed data packet is closer to the PDCP sub-layer SN value of the data packet recently received by the PDCP sub-layer, the PDCP sub-layer header of the data packet is verified to pass and continues to the next layer. Deliver the data packet.
- the SN value of the data packet that has been received by the PDCP sublayer may be (1, 2, 2). 3, 4, and 5) are set as preset thresholds, if the PDCP sublayer SN value parsed for the currently received data packet is 40, and the PDCP sublayer SN value of the data packet that has been received by the PDCP sublayer ( 1, 2, 3, 4, and 5) are not close, that is, it is determined that the PDCP sublayer header of the currently received data packet is incorrect, and the currently received data packet is subjected to packet loss processing, and if the currently received data packet is parsed,
- the outgoing PDCP sublayer SN value is 6 or 7, which is close to the PDCP sublayer SN values (1, 2, 3, 4, and 5) of the data packets that have been received by the PDCP sublayer, that is, determined to be currently received.
- the method for verifying the IP sublayer header, the TCP sublayer header/UDP sublayer header, and the RTP sublayer header of the data packet may be a conventional verification method in the field, and details are not described herein again.
- Embodiments of the present disclosure also provide a terminal including a processor and a memory, the program storing thereon a program containing executable instructions, and the processor executing the program to implement a data packet repair method of an embodiment of the present disclosure .
- Embodiments of the present disclosure also provide a computer readable storage medium having stored thereon a computer program that, when executed, implements a packet repair method of an embodiment of the present disclosure.
- the CRC of the physical layer is verified by continuing the data packet of the physical layer whose CRC check fails to be delivered to the next protocol layer. The failed data packet is further verified. If the predetermined header format of the next protocol layer matches the corresponding header data of the data packet, the data packet is continued to be delivered to the next protocol layer until delivery to the application layer, and in the protocol. If the predetermined header format of the layer does not match the corresponding header data of the data packet, the data packet is discarded. In this way, the packet loss rate is reduced when the communication network structure has minimal changes and the negative impact is minimal. And in the case of using the retransmission mechanism, the number of retransmissions is reduced, thereby reducing delay and jitter, reducing the resource overhead caused by retransmission, and ultimately improving the user experience.
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
相关申请的交叉引用
本申请要求于2017年11月7日提交的题为“一种数据包的修复方法、基站及计算机可读存储介质”的中国专利申请NO.201711087286.1的优先权,该中国专利申请的内容通过引用的方式全部合并于此。
本公开涉及但不限于无线通信技术领域。
长期演进(LTE,Long Term Evolution)网络中,物理层使用了混合自动重传请求(HARQ)机制,然而,HARQ机制可能需要较多的重传次数。
此外,VoLTE(Voice over LTE)业务中,语音质量受时延、抖动和丢包率等因素的影响。丢包率对用户的体验影响较大,丢包率过高会使得语音出现失真、吞字、断续、不清楚等问题。同时,VoLTE业务对时延要求也较高,如果时延过大,就会出现延迟、回音等影响用户体验的问题。在第三代伙伴计划协议(3GPP,3rd Generation Partnership Project)协议中,针对语音业务的要求包括端对端时延在200ms以内、丢包率在1%以内,这样才能提供良好的语音业务。无线链路控制(RLC,Radio Link Control)层可针对VoLTE业务配置非确认(UM,Unacknowledged Mode)模式,这将使得语音数据包在物理层被解调失败后直接被丢弃,影响用户体验。
公开内容
本公开的实施例提供一种数据包修复方法,包括:在通信协议 栈的第一协议层对数据包的校验失败的情况下,将所述数据包向所述通信协议栈的第二协议层投递;所述通信协议栈的第二协议层对所述数据包的第二协议层的标识位进行验证;以及对所述数据包的第二协议层的标识位的验证失败的情况下,丢弃所述数据包。
本公开的实施例还提供一种基站,包括:投递模块,配置为确定通信协议栈的第一协议层中对数据包的校验失败的情况下,将所述数据包向所述通信协议栈的第二协议层投递;以及验证模块,配置为在所述通信协议栈的第二协议层对所述数据包的第二协议层的标识位进行验证,在对所述数据包的第二协议层的标识位的验证失败的情况下,丢弃所述数据包。
本公开的实施例还提供一种终端,包括处理器和存储器,所述存储器上存储有包含可执行指令的程序,所述处理器执行所述程序以实现本公开的实施例的数据包修复方法。
本公开的实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述该计算机程序被执行时实现本公开的实施例的数据修复方法。
图1为本公开的实施例的数据包修复方法的流程示意图;
图2为本公开的实施例的数据包修复方法的流程示意图;
图3为本公开的实施例的基站的结构示意图;
图4a、图4b、图4c和图4d为本公开的实施例的数据包的MAC子层报头的结构示意图以及本公开的实施例的数据包的MAC子层验证的流程示意图;
图5为本公开的实施例的数据包的RLC子层报头的结构示意图。
下面结合附图及具体实施例对本公开的技术方案进行详细说明。
图1为本公开的实施例的数据包修复方法的流程示意图。如图1所示,本公开的实施例的数据包修复方法包括以下步骤101至103。
步骤101:在通信协议栈的第一协议层对数据包的校验失败的情况下,将所述数据包向所述通信协议栈的第二协议层投递。
本实施例中,所述第一协议层可以为物理层。
在实际应用中,LTE网络中基站的物理层在进行混合自动重传请求(HARQ,Hybrid Automatic Repeat reQuest)合并时,需要进行循环冗余(CRC,Cyclic Redundancy Check)校验,当CRC校验不通过时,认为针对相应的数据包的HARQ失败,则不会向下一协议层投递该数据包,CRC校验通过的数据包则被投递至下一协议层。但是,如下图表1所示,通过对LTE网络的物理层数据包的误比特率进行模拟仿真可以发现,数据包的误比特率(图表1中的横坐标BER)在物理层中没有出现超过50%的情况,也就是说,LTE网络的物理层中数据包的误比特率均在50%以下,即使在累积分布函数(CDF,Cumulative Distribution Function)(即图表1的纵坐标CDF)处于78%的概率下,数据包的误比特率也处于30%以下,因此,对于物理层的CRC校验失败的数据包在应用层中还具有较大几率可以被正确地解析。
图表1
而且,LTE网络中通过透传方式进行数据传递,而在对数据包进行解析时,解析的一般是对应各个协议层的报头消息,即使数据包在物理层的CRC校验失败,只要该数据包的报头的比特位数据没有错误,该数据包可以继续投递至下一协议层,直至将该数据包投递至应用层,由应用层相关协议或应用对该数据包的内容进行解析。
因此,本实施例中,即使在物理层对数据包的CRC校验失败的情况下,也将所述数据包投递至下一协议层。
步骤102:所述通信协议栈的第二协议层对所述数据包的第二协议层的标识位进行验证。
步骤103:对所述数据包的第二协议层的标识位的验证失败的情况下,丢弃所述数据包。
步骤104:对所述数据包的第二协议层的标识位的验证通过的情况下,将所述数据包向应用层投递。
本实施例中,所述第二协议层可以包括介质访问控制(MAC,Media Access Control)子层、无线链路控制(RLC,Radio Link Control)子层和分组数据汇聚协议(PDCP,Packet Data Convergence Protocol)子层。
所述通信协议栈的第二协议层对所述数据包的第二协议层的标识位进行验证可以包括:根据介质访问控制子层中预设的数据包报头格式对所述数据包的报头数据进行逐比特位验证,在所述数据包的报头数据中的比特位的数据符合所述介质访问控制子层中预设的数据包报头格式的情况下,确定对所述数据包的验证通过,将所述数据包向无线链路控制子层投递,在所述数据包的报头数据中存在与所述介质访问控制子层中预设的数据包报头格式不符的比特位的情况下,丢弃所述数据包;所述无线链路控制子层将所述数据包的无线链路控制序列号值与所述无线链路控制子层预设的窗口范围值进行匹配,在所述数据包的无线链路控制序列号值位于所述无线链路控制子层预设的窗口范围值之内的情况下,确定对所述数据包的验证通过,将所述数据包向分组数据汇聚协议子层投递,在所述数据包的无线链路控制序列号值超出所述无线链路控制子层预设的窗口范围的情况下,丢弃 所述数据包;以及所述分组数据汇聚协议子层将所述数据包的分组数据汇聚协议序列号值与所述分组数据汇聚协议子层预设的序列号值进行对比,生成对比结果,在所述对比结果小于或等于预设阈值的情况下,将所述数据包向应用层投递,在所述对比结果大于预设阈值的情况下,丢弃所述数据包。
本实施例中,无线链路控制(RLC,Radio Link Control)序列号值可以为非确认模式(UM,Unacknowledged Mode)无线链路控制序列号(SN,Sequence Number)值。
本实施例中,应用层在进行数据包解码时,也有一定的容错机制,在误比特率较低的前提下,能恢复出正确数据包比特的概率是非常高的,尤其是针对VoLTE业务,在RLC子层处于UM模式的前提下,若将内容出错但报头未出错的数据包强制投递到应用层进行解码,应用层有一定概率解析所述数据包,应用层的相关解码器通过所述数据包的残存的有效比特、以及前后语音报文的相关信息,可以恢复出所述数据包的相位及幅度,能够最大限度地复原出所述数据包所携带的原始的语音波形,从而使得语音的损失降至最低。因此,本公开的实施例的数据包恢复方法能有效降低丢包率。此外,即使在使用了重传机制的情况下,利用本公开的实施例的数据包恢复方法也能够有效减少重传次数。鉴于此,本公开的实施例的数据包恢复方法能够改善时延,有利于实时通信。
在实际应用中,本公开的实施例所提出的数据包修复方法还可以在基站上行系统中对在物理层的CRC校验失败的数据包进行逐层标记,在数据包依次投递的每一协议层,设置数据包报头内容应当匹配的阈值门限,只有符合所有协议层阈值门限的数据包,才可以最终投递到应用层,对不满足任何一层的阈值门限的数据包进行丢弃操作处理,例如,可通过如下步骤(1)至(3)实施。
1)在物理层经过HARQ之后,CRC校验失败的数据包是需要标记的目标数据包,CRC校验正确的数据包直接投递至下一协议层。
2)将标记的数据包继续往下一协议层投递,并进行报头的匹配,例如先进行MAC子层报头的匹配,若MAC子层报头数据正确,继续往 RLC子层投递,进行RLC子层报头的匹配,若RLC子层报头数据正确,继续往PDCP子层投递,进行PDCP子层报头的匹配,若PDCP子层报头数据正确,可将数据包通过S1接口发送。
3)对任何一层报头不匹配的数据包,直接在该协议层进行丢弃操作处理,即,按照丢包处理。
在一些实施方式中,如图2所示,本公开的实施例的数据包修复方法中的步骤104被步骤104’替代,即,对所述数据包的第二协议层的标识位的验证通过的情况下,将所述数据包向所述通信协议栈的第三协议层投递,所述通信协议栈的第三协议层对所述数据包的第三协议层的标识位进行验证,对所述数据包的第三协议层的标识位的验证失败的情况下,丢弃所述数据包,对所述数据包的第三协议层的标识位的验证通过的情况下,将所述数据包向应用层投递。
所述通信协议栈的第三协议层可包括网络互联协议子层、传输控制协议子层或用户数据协议子层、以及实时传输协议子层。
例如,在上述步骤(2)中,若PDCP子层报头数据正确,可继续进行IP子层报头的匹配、TCP子层报头的匹配或UDP子层报头的匹配、以及RTP子层报头的匹配,若各层报头都能正确匹配,可将数据包通过S1接口发送。
实际应用中,由于RTP子层例如为VoLTE业务特有,因此,进行RTP子层报头的匹配也是可选的。
综上所述,利用本公开的实施例提供的数据包修复方法,通过对物理层的CRC校验失败的数据包进行进一步验证,即,在LTE协议栈逐层进行验证,尤其是针对VoLTE业务的数据包,将各个协议层的报头数据能正确解析出来的数据包强制投递到应用层进行恢复处理,应用层对于该数据包有一定概率能正确解析出数据包的内容。因此,本公开的实施例所提出的数据包修复方法与在物理层直接丢弃CRC校验失败的数据包的策略相比,能够有效降低丢包率,提升了用户的体验。另一方面,即使在使用了重传机制的情况下,利用本公开的实施例的数据包恢复方法也能够有效减少重传次数。
图3为本公开的实施例的基站的结构示意图。如图3所示,本公开的实施例的基站包括投递模块201和验证模块202。
投递模块201配置为确定通信协议栈的第一协议层中对数据包的校验失败的情况下,将所述数据包向所述通信协议栈的第二协议层投递。
验证模块202配置为在所述通信协议栈的第二协议层对所述数据包的第二协议层的标识位进行验证,在对所述数据包的第二协议层的标识位的验证失败的情况下,丢弃所述数据包。
在一些实施方式中,所述投递模块还配置为:在对所述数据包的第二协议层的标识位的验证通过的情况下,将所述数据包向应用层投递。
所述通信协议栈的第一协议层为物理层,所述通信协议栈的第二协议层包括介质访问控制子层、无线链路控制子层和分组数据汇聚协议子层。
在一些实施方式中,所述验证模块配置为根据介质访问控制子层中预设的数据包报头格式对所述数据包的报头数据进行逐比特位验证,在所述数据包的报头数据中的比特位的数据符合所述介质访问控制子层中预设的数据包报头格式的情况下,确定所述介质访问控制子层中对所述数据包的验证通过,在所述数据包的报头数据中存在与所述介质访问控制子层中预设的数据包报头格式不符的比特位的情况下,丢弃所述数据包;以及所述投递模块配置为在确定所述介质访问控制子层中对所述数据包的验证通过的情况下,将所述数据包向无线链路控制子层投递。
在一些实施方式中,所述验证模块还配置为在所述无线链路控制子层将所述数据包的无线链路控制序列号值与所述无线链路控制子层预设的窗口范围值进行匹配,在所述数据包的无线链路控制序列号值位于所述无线链路控制子层预设的窗口范围值之内的情况下,确定所述无线链路控制子层中对所述数据包的验证通过,在所述数据包的无线链路控制序列号值超出所述无线链路控制子层预设的窗口范围值的情况下,丢弃所述数据包;以及所述投递模块还配置为在确定 所述无线链路控制子层中对所述数据包的验证通过的情况下,将所述数据包向分组数据汇聚协议子层投递。
在一些实施方式中,所述验证模块还配置为在所述分组数据汇聚协议子层将所述数据包的分组数据汇聚协议序列号值与所述分组数据汇聚协议子层预设的序列号值进行对比,生成对比结果,在所述对比结果大于预设阈值的情况下,丢弃所述数据包;以及所述投递模块配置为在所述对比结果小于或等于预设阈值的情况下,将所述数据包向应用层投递。
在一些实施方式中,所述投递模块还配置为对所述数据包的第二协议层的标识位的验证通过的情况下,将所述数据包向所述通信协议栈的第三协议层投递;所述验证模块还配置为在所述通信协议栈的第三协议层对所述数据包的第三协议层的标识位进行验证,在对所述数据包的第三协议层的标识位的验证失败的情况下,丢弃所述数据包;以及所述投递模块还配置为在对所述数据包的第三协议层的标识位的验证通过的情况下,将所述数据包向应用层投递。
所述通信协议栈的第三协议层可包括网络互联协议子层、传输控制协议子层或用户数据协议子层、以及实时传输协议子层。
实际应用中,实时传输协议子层也是可选的。
本公开的实施例的投递模块201和验证模块202可以由软件、硬件或其结合实现,所述硬件例如可包括中央处理器(CPU,Central Processing Unit)、微处理器(MPU,Micro Processor Unit)、数字信号处理器(DSP,Digital Signal Processor)、现场可编程门阵列(FPGA,Field Programmable Gate Array)、计算机、或集成电路等,还可包括存储器。
所述存储器可以为任何类型的易失性或非易失性存储器、或者它们的组合。非易失性存储器可以是只读存储器(ROM,Read Only 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,Random Access Memory),其用作外部高速缓存。作为示例性但不是限制性说明,许多形式的RAM也可用于本公开的实施例的实施,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,Synchronous Dynamic 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)等。本公开的实施例描述的存储器旨在包括但不限于任意适合类型的存储器。
以下通过示例详细说明本公开的实施例中对数据包的各协议层报头的验证。
例如在LTE网络中,对物理层QCI(QoS Class Identifier)1业务中循环冗余校验(CRC,Cyclic Redundancy Check)失败的数据包进行MAC子层报头验证处理。可配置QCI1业务对应的区域设置ID(LCID,Local ID)为5,通过下表2和表3可以确定出LCID为5时对应的信道是逻辑信道(Logical Channel),即逻辑信道上传输有控制平面信息以及编码和加密后的语音或数据。
所述MAC子层报头数据可由多个子报头组成,图4a中示出了协议数据单元(PDU,Protocol Data Unit)的MAC子层报头数据的组成,图4b和图4c示出了MAC子层子报头的内容以及含义,具体内容 可参照3GPP 36.321协议中对于MAC子层报头格式的详细描述,这里不再赘述。
| 取值范围 | LCID值 |
| 00000 | CCCH |
| 00001-01010 | 逻辑信道ID |
| 01011-11000 | 保留 |
| 11001 | 扩展功率余量报告 |
| 11010 | 功率余量报告 |
| 11011 | C-RNTI |
| 11100 | 截短BSR |
| 11101 | 短BSR |
| 11110 | 长BSR |
| 11111 | 填充 |
表2
| 取值范围 | 报头长度(比特) |
| 0 | 7 |
| 1 | 15 |
表3
图4d为本公开的实施例中根据MAC子层中预设的数据包报头格式对所述数据包的MAC子层报头数据进行逐比特位验证的流程图。当所述数据包的MAC子层报头数据中的比特位的数据符合所述MAC子层中预设的数据包报头格式时,确定所述数据包的MAC子层验证通过,将所述数据包向下一协议层投递,当所述数据包的MAC子层报头数据中存在与所述MAC子层中预设的数据包报头格式不符的比特位时,丢弃所述数据包。如图4d所示,本公开的实施例中对数据包的MAC子层报头数据进行逐比特位验证的步骤包括以下步骤301至309。
步骤301:判断E字段是否为0,当E字段取值为0时,执行步骤302,当E字段取值为非0,执行步骤306。
步骤302:当E字段取值为0时,则确定子报头为MAC子层报头 中的最后一个子报头,该子报头的长度为5字节。
步骤303:判断数据包的LCID取值是否为5,当LCID取值为5时,执行步骤304,当LCID取值是不为5时,执行步骤310。
步骤304:判断L字段的长度是否与服务数据单元(SDU)的长度是否一致,当一致时,执行步骤305,当不一致时,执行步骤310。
步骤305:确定MAC子层报头验证通过,将数据包投递至下一协议层。
步骤306:确定子报头为非最后一个子报头。
步骤307:判断数据包的LCID取值是否在01011-11000之间,当数据包的LCID取值在01011-11000之间时,执行步骤310,数据包的LCID取值不在01011-11000之间时,执行步骤308。
步骤308:判断LCID的取值是否等于非QCI1的取值,当等于时,执行步骤309,当不等于时,执行步骤304。
步骤309:结合LCID的取值、L字段、F字段确定出对应的子报头长度,并跳过相应的比特位,对下一子报头进行验证。
步骤310:丢弃对应数据包。
通过上述针对数据包的报头进行逐比特位解析和匹配,按照协议层中预定的数据包报头的各个比特位的含义确定子报头的长度,然后逐子报头进行确认,当发现有一处不匹配时,对数据包进行丢包处理。例如:对于CRC校验失败的数据包10101000111000……,按照从高位到低位的顺序依次与协议层中预定的数据包报头格式进行比对,如果协议层预定的数据包报头格式的第一位是R,R默认为0,CRC校验失败的数据包10101000111000……的第一位为1,与协议层中预定的数据包报头格式的第一位不匹配,则认为该协议层的报头验证失败,可直接将该数据包在这一协议层丢弃。
数据包通过了MAC子层的报头验证后,被投递至RLC子层,因此在RLC子层根据RCL层的标识位格式对所述数据包的RLC子层标识位进行验证。
在一些实施方式中,所述数据包的RLC子层标识位为非确认模式的RLC子层序列号(SN)值。
本公开的实施例中,可将所述数据包的RLC子层SN值与RLC子层预设的窗口范围值进行匹配,当所述数据包的RLC子层序列号(SN)值位于所述RLC子层预设的窗口范围值之内时,确定所述数据包的RLC子层报头验证通过,可将所述数据包向下一协议层投递,当所述数据包的RLC子层序列号(SN)值超出所述RLC子层预设的窗口范围值时,丢弃所述数据包。
在实际应用中,可以预先配置RLC子层序列号(SN)的长度为5比特,SN范围为SN0-SN31,SN的半窗长度为16,根据RCL子层的标识位格式对所述数据包的RLC子层标识位进行验证是对所述数据包的RLC子层SN值进行验证,根据数据包解析出来的RLC子层SN值落在所述RLC子层预设的半窗之内,则所述数据包的RLC子层报头验证通过。
图5为UM模式下RLC子层SN的长度为5比特的SN报头的格式,在实际应用中,对数据包的RLC子层报头解析时,只需要确定SN的值即可。对于CRC校验失败但是已经投递到RLC子层的数据包,因为RLC子层SN的长度为5比特,RLC子层报头的长度为1字节,因此只需要验证数据包的最高位1字节的数据格式,若CRC校验失败,但投递上来的数据包的最高位1字节为00101110,根据图5可以解析出该数据包的RLC子层SN值为01110,即为14,说明当前解析的CRC校验失败的数据包的SN值为14。若在当前数据包之前接收到的数据包的RLC子层SN值为1,那么确定当前数据包接续错误,丢弃当前数据包。若在当前数据包之前接收到的数据包的RLC子层SN值为13,那么确定当前数据包的RLC子层报头验证通过,将当前数据包向下一协议层投递。
在通常的情况下,对于CRC校验通过的数据包,无论解析出的RLC子层SN值是多少,都不会丢弃该数据包。
数据包通过了RLC子层的报头验证后,被投递至PDCP子层,并根据PDCP子层的标识位格式对所述数据包的PDCP标识位进行验证。
在一些实施方式中,所述数据包的PDCP标识位为PDCP子层序 列号(SN)值。
本公开的实施例中,可将所述数据包的PDCP子层序列号(SN)值与PDCP子层预设的SN值进行对比,生成对比结果,当所述对比结果小于或等于预设阈值时,将所述数据包向通信协议栈中所述PDCP子层的下一层投递,当所述对比结果大于预设阈值时,丢弃所述数据包。
在实际应用中,可以预先配置PDCP子层SN的长度为7比特。若解析出来的数据包的PDCP子层SN值距离PDCP子层最近接收到的数据包的PDCP子层SN值较远时,则认为所述数据包的PDCP子层报头验证失败,对所述数据包进行丢弃处理。若解析出来的数据包的PDCP子层SN值距离PDCP子层最近接收到的数据包的PDCP子层SN值较近,则认为所述数据包的PDCP子层报头验证通过,继续往下一层投递所述数据包。例如,如果PDCP子层已经收到的数据包的PDCP子层SN值为1、2、3、4和5,可以将所述PDCP子层已经收到的数据包的SN值(1、2、3、4和5)设置为预设阈值,若针对当前接收到的数据包解析出来的PDCP子层SN值为40,与所述PDCP子层已经收到的数据包的PDCP子层SN值(1、2、3、4和5)不接近,即确定当前接收到的数据包的PDCP子层报头有误,将当前接收到的数据包进行丢包处理,若针对当前接收到的数据包解析出来的PDCP子层SN值为6或者7,与所述PDCP子层已经收到的数据包的PDCP子层SN值(1,2,3,4和5)接近,即确定对当前接收到的数据包的PDCP子层报头验证通过,将当前接收到的数据包继续往下一协议层投递。
对数据包的IP子层报头、TCP子层报头/UDP子层报头、以及RTP子层报头的验证的方法可以为本领域的常规验证方法,在此不再赘述。
本公开的实施例还提供一种终端,包括处理器和存储器,所述存储器上存储有包含可执行指令的程序,所述处理器执行所述程序以实现本公开的实施例的数据包修复方法。
本公开的实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被执行时实现本公开的实施例的数据包 修复方法。
利用本公开的实施例提出的数据包修复方法、基站、终端及计算机可读存储介质,通过将物理层的CRC校验失败的数据包继续向下一协议层投递,对物理层的CRC校验失败的数据包进行进一步验证,如果下一协议层预定的报头格式与该数据包的对应报头数据匹配,则所述数据包被继续向下一协议层投递,直至投递到应用层,而在协议层预定的报头格式与数据包的对应报头数据不匹配的情况下,则将所述数据包丢弃,以此方式,在对通信网络结构改动最小、负面影响最小的情况下,降低了丢包率,并且在使用了重传机制的情况下,减少了重传次数,从而减少了时延和抖动,减少了重传带来的资源开销,最终提升了用户体验。
所描述的实施例及实施方式仅为示例,并非用于限定本公开的保护范围,在不脱离本公开的本质和范围的情况下,本领域普通技术人员可对本公开的实施例及实施方式进行各种修改和变型,例如,本公开的实施例及实施方式中的特征可任意组合,本公开的实施例及实施方式中的特征可被等价替换,实际应用中可能包括比本公开的实施例及实施方式的特征更多或更少的特征,等等,这些修改和变型均应视为落入本公开的保护范围之内。
Claims (18)
- 一种数据包修复方法,包括:在通信协议栈的第一协议层对数据包的校验失败的情况下,将所述数据包向所述通信协议栈的第二协议层投递;所述通信协议栈的第二协议层对所述数据包的第二协议层的标识位进行验证;以及对所述数据包的第二协议层的标识位的验证失败的情况下,丢弃所述数据包。
- 根据权利要求1所述的方法,还包括:对所述数据包的第二协议层的标识位的验证通过的情况下,将所述数据包向应用层投递。
- 根据权利要求1或2所述的方法,其中,所述通信协议栈的第一协议层为物理层,所述通信协议栈的第二协议层包括介质访问控制子层、无线链路控制子层和分组数据汇聚协议子层。
- 根据权利要求3所述的方法,其中,所述通信协议栈的第二协议层对所述数据包的第二协议层的标识位进行验证包括:根据介质访问控制子层中预设的数据包报头格式对所述数据包的报头数据进行逐比特位验证,在所述数据包的报头数据中的比特位的数据符合所述介质访问控制子层中预设的数据包报头格式的情况下,确定对所述数据包的验证通过,将所述数据包向无线链路控制子层投递,在所述数据包的报头数据中存在与所述介质访问控制子层中预设的数据包报头格式不符的比特位的情况下,丢弃所述数据包。
- 根据权利要求4所述的方法,其中,所述无线链路控制子层将所述数据包的无线链路控制序列号值与所述无线链路控制子层预设的窗口范围值进行匹配,在所述数据包的无线链路控制序列号值位 于所述无线链路控制子层预设的窗口范围值之内的情况下,确定对所述数据包的验证通过,将所述数据包向分组数据汇聚协议子层投递,在所述数据包的无线链路控制序列号值超出所述无线链路控制子层预设的窗口范围的情况下,丢弃所述数据包。
- 根据权利要求5所述的方法,其中,所述分组数据汇聚协议子层将所述数据包的分组数据汇聚协议序列号值与所述分组数据汇聚协议子层预设的序列号值进行对比,生成对比结果,在所述对比结果小于或等于预设阈值的情况下,将所述数据包向应用层投递,在所述对比结果大于预设阈值的情况下,丢弃所述数据包。
- 根据权利要求1所述的方法,还包括:对所述数据包的第二协议层的标识位的验证通过的情况下,将所述数据包向所述通信协议栈的第三协议层投递;所述通信协议栈的第三协议层对所述数据包的第三协议层的标识位进行验证;以及对所述数据包的第三协议层的标识位的验证失败的情况下,丢弃所述数据包,对所述数据包的第三协议层的标识位的验证通过的情况下,将所述数据包向应用层投递。
- 根据权利要求7所述的方法,其中,所述通信协议栈的第三协议层包括网络互联协议子层、传输控制协议子层或用户数据协议子层、以及实时传输协议子层。
- 一种基站,包括:投递模块,配置为确定通信协议栈的第一协议层中对数据包的校验失败的情况下,将所述数据包向所述通信协议栈的第二协议层投递;以及验证模块,配置为在所述通信协议栈的第二协议层对所述数据包的第二协议层的标识位进行验证,在对所述数据包的第二协议层的 标识位的验证失败的情况下,丢弃所述数据包。
- 根据权利要求1所述的基站,其中,所述投递模块还配置为:在对所述数据包的第二协议层的标识位的验证通过的情况下,将所述数据包向应用层投递。
- 根据权利要求9或10所述的基站,其中,所述通信协议栈的第一协议层为物理层,所述通信协议栈的第二协议层包括介质访问控制子层、无线链路控制子层和分组数据汇聚协议子层。
- 根据权利要求11所述的基站,其中,所述验证模块配置为根据介质访问控制子层中预设的数据包报头格式对所述数据包的报头数据进行逐比特位验证,在所述数据包的报头数据中的比特位的数据符合所述介质访问控制子层中预设的数据包报头格式的情况下,确定所述介质访问控制子层中对所述数据包的验证通过,在所述数据包的报头数据中存在与所述介质访问控制子层中预设的数据包报头格式不符的比特位的情况下,丢弃所述数据包;以及所述投递模块配置为在确定所述介质访问控制子层中对所述数据包的验证通过的情况下,将所述数据包向无线链路控制子层投递。
- 根据权利要求12所述的基站,其中,所述验证模块还配置为在所述无线链路控制子层将所述数据包的无线链路控制序列号值与所述无线链路控制子层预设的窗口范围值进行匹配,在所述数据包的无线链路控制序列号值位于所述无线链路控制子层预设的窗口范围值之内的情况下,确定所述无线链路控制子层中对所述数据包的验证通过,在所述数据包的无线链路控制序列号值超出所述无线链路控制子层预设的窗口范围值的情况下,丢弃所述数据包;以及所述投递模块还配置为在确定所述无线链路控制子层中对所述数据包的验证通过的情况下,将所述数据包向分组数据汇聚协议子层 投递。
- 根据权利要求13所述的基站,其中,所述验证模块还配置为在所述分组数据汇聚协议子层将所述数据包的分组数据汇聚协议序列号值与所述分组数据汇聚协议子层预设的序列号值进行对比,生成对比结果,在所述对比结果大于预设阈值的情况下,丢弃所述数据包;以及所述投递模块配置为在所述对比结果小于或等于预设阈值的情况下,将所述数据包向应用层投递。
- 根据权利要求9所述的基站,其中,所述投递模块还配置为对所述数据包的第二协议层的标识位的验证通过的情况下,将所述数据包向所述通信协议栈的第三协议层投递;所述验证模块还配置为在所述通信协议栈的第三协议层对所述数据包的第三协议层的标识位进行验证,在对所述数据包的第三协议层的标识位的验证失败的情况下,丢弃所述数据包;以及所述投递模块还配置为在对所述数据包的第三协议层的标识位的验证通过的情况下,将所述数据包向应用层投递。
- 根据权利要求15所述的基站,其中,所述通信协议栈的第三协议层包括网络互联协议子层、传输控制协议子层或用户数据协议子层、以及实时传输协议子层。
- 一种终端,包括处理器和存储器,所述存储器上存储有包含可执行指令的程序,所述处理器执行所述程序以实现根据权利要求1至8中任一项所述方法。
- 一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被执行时实现根据权利要求1至8中任一项所述方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| 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 | パケット修復方法、基地局、端末及びコンピュータ読み取り可能な記憶媒体 |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201711087286.1A CN109756468B (zh) | 2017-11-07 | 2017-11-07 | 一种数据包的修复方法、基站及计算机可读存储介质 |
| CN201711087286.1 | 2017-11-07 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2019091399A1 true WO2019091399A1 (zh) | 2019-05-16 |
Family
ID=66400146
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2018/114349 Ceased WO2019091399A1 (zh) | 2017-11-07 | 2018-11-07 | 数据包修复方法、基站、终端及计算机可读存储介质 |
Country Status (4)
| Country | Link |
|---|---|
| EP (1) | EP3709728A4 (zh) |
| JP (1) | JP2021502025A (zh) |
| CN (1) | CN109756468B (zh) |
| WO (1) | WO2019091399A1 (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2025087152A1 (zh) * | 2023-10-25 | 2025-05-01 | 维沃移动通信有限公司 | 通信方法、装置及终端 |
Families Citing this family (4)
| 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 |
| WO2022027311A1 (zh) * | 2020-08-05 | 2022-02-10 | 华为技术有限公司 | 一种通信方法及装置 |
| CN116032734B (zh) * | 2022-12-13 | 2025-08-08 | 优地机器人(无锡)股份有限公司 | 协议栈通信的数据检测方法及机器人 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| 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 |
| CN104025681A (zh) * | 2011-11-04 | 2014-09-03 | 高通股份有限公司 | 用于减少控制信道差错的方法和装置 |
| CN104718791A (zh) * | 2012-10-18 | 2015-06-17 | 富士通株式会社 | 多rat系统中的无线通信 |
Family Cites Families (12)
| 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 |
| US7725595B1 (en) * | 2005-05-24 | 2010-05-25 | The United States Of America As Represented By The Secretary Of The Navy | Embedded communications system and method |
| CN100466725C (zh) * | 2005-11-03 | 2009-03-04 | 华为技术有限公司 | 多媒体通信方法及其终端 |
| CN101547070A (zh) * | 2008-03-24 | 2009-09-30 | 华为技术有限公司 | 一种数据包类型的判断方法及其装置 |
| WO2010121409A1 (zh) * | 2009-04-20 | 2010-10-28 | 华为技术有限公司 | 一种压缩数据包的传输方法及装置 |
| US8576709B2 (en) * | 2011-05-25 | 2013-11-05 | Futurewei Technologies, Inc. | System and method for monitoring dropped packets |
| US20150264359A1 (en) * | 2012-02-24 | 2015-09-17 | Vid Scale, Inc. | Video coding using packet loss detection |
| WO2016019155A1 (en) * | 2014-07-30 | 2016-02-04 | Optulink Inc. | Voice optimization enablement apparatus |
| CN106304127B (zh) * | 2015-05-13 | 2019-11-01 | 苏州简约纳电子有限公司 | 一种lte数据面下行检错纠错方法 |
| KR102300300B1 (ko) * | 2015-07-03 | 2021-09-09 | 삼성전자주식회사 | 헤더 압축을 이용한 패킷 통신 방법 및 장치 |
-
2017
- 2017-11-07 CN CN201711087286.1A patent/CN109756468B/zh active Active
-
2018
- 2018-11-07 JP JP2020524365A patent/JP2021502025A/ja active Pending
- 2018-11-07 EP EP18875361.0A patent/EP3709728A4/en not_active Withdrawn
- 2018-11-07 WO PCT/CN2018/114349 patent/WO2019091399A1/zh not_active Ceased
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| 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 |
| CN104025681A (zh) * | 2011-11-04 | 2014-09-03 | 高通股份有限公司 | 用于减少控制信道差错的方法和装置 |
| CN104718791A (zh) * | 2012-10-18 | 2015-06-17 | 富士通株式会社 | 多rat系统中的无线通信 |
Non-Patent Citations (2)
| Title |
|---|
| See also references of EP3709728A4 * |
| ZTE: "Consideration on the ECN in NR", 3GPP TSG RAN WG2 MEETING #99 R2-1708149, 25 August 2017 (2017-08-25), XP051318052 * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2025087152A1 (zh) * | 2023-10-25 | 2025-05-01 | 维沃移动通信有限公司 | 通信方法、装置及终端 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP3709728A4 (en) | 2021-05-12 |
| CN109756468A (zh) | 2019-05-14 |
| EP3709728A1 (en) | 2020-09-16 |
| JP2021502025A (ja) | 2021-01-21 |
| CN109756468B (zh) | 2021-08-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2019091399A1 (zh) | 数据包修复方法、基站、终端及计算机可读存储介质 | |
| US11088787B2 (en) | Operating method and apparatus according to data duplicate retransmission in mobile communication system | |
| JP5047472B2 (ja) | フレーム集約と共に使用されるmacヘッダ圧縮 | |
| US8958375B2 (en) | Framing for an improved radio link protocol including FEC | |
| JP5461414B2 (ja) | 部分的に崩壊したデータパケットからの値の抽出方法 | |
| CN104993916B (zh) | 用于在移动通信系统中通过终端来处理数据的方法和装置 | |
| US11290214B2 (en) | Data processing method and device | |
| TWI526019B (zh) | 用於在無線區域網路系統中處理封包之方法及裝置 | |
| US8589586B2 (en) | Method and apparatus for managing transmission of TCP data segments | |
| CN106254041A (zh) | 数据传输方法、数据接收方法、及其装置 | |
| CN114124840B (zh) | 一种接收pdcp包的方法、装置及终端设备 | |
| CN109039548A (zh) | Pdcp状态报告的发送方法、装置及计算机可读存储介质 | |
| US11258721B2 (en) | Radio link control (RLC) acknowledged mode (AM) data reception | |
| WO2019241931A1 (zh) | 一种数据包重传方法及装置 | |
| US8483238B2 (en) | Radio link control protocol data unit size selection | |
| CN111756482B (zh) | 一种确认反馈方法、装置和计算机可读存储介质 | |
| US9698943B2 (en) | Receiving unit in a wireless communication network and method for generating an automatic repeat request feedback message | |
| CN106888072A (zh) | 数据传输方法及装置 | |
| CN115865282A (zh) | 数据重传方法、装置、设备及存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18875361 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2020524365 Country of ref document: JP Kind code of ref document: A |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 2018875361 Country of ref document: EP Effective date: 20200608 |
