Data transmission method, apparatus and system
By using extended protocol authentication and sub-packet identification in passive IoT communication, distinguishing data packets and splitting them into sub-packet transmission, the problem of resource waste of large data transmission is solved and more efficient data transmission is achieved.
Patent Information
- Application Number
- PCT/CN2025/074703
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-02-09
- Filing Date
- 2025-01-24
- Publication Date
- 2025-08-14
AI Technical Summary
In passive IoT communication, especially in application scenarios for inventory equipment and sensor data acquisition such as warehousing and logistics, the large amount of data transmission leads to large overhead and resource waste.
By generating different security fields including Extended Protocol Authenticator (EPD) and sub-packet identifiers (such as security header type SHT or sub-packet serial number FN), the split packet is transmitted to the first sub-packet and at least one second sub-packet, distinguishing between packets that need to be split and do not need to be split, reducing transmission overhead.
Reduces the overhead of data transmission, saves resources, and ensures the integrity and reliability of data transmission.
Smart Images

Figure CN2025074703_14082025_PF_FP_ABST
Abstract
Description
Data transmission method, device and system
[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on February 9, 2024, with application number 202410179005.9 and application name “A Data Transmission Method, Device and System”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of communications, and in particular to a data transmission method, device, and system. Background Art
[0003] In the communications field, the ambient internet of things (Ambient IoT) has been included in the standardization research scope of the 3rd Generation Partnership Project (3GPP). Its application scenarios include simple applications mainly for inventory equipment identification in warehousing and logistics, as well as support for sensor data collection and electronic ink screens. Compared with the aforementioned simple applications, the latter type of application scenarios transmit larger amounts of data between terminals and applications.
[0004] How to avoid the high overhead and waste of resources caused by data transmission in such scenarios with larger data transmission volumes has become an urgent problem to be solved. Summary of the Invention
[0005] The present application provides a communication data transmission method, device and system, which can reduce the overhead of data transmission.
[0006] In a first aspect, the present application provides a communication data transmission method, which is applied to the transmitting end side. Specifically, the method can be executed by each device sending data or a device in the device (such as a chip). The method includes: generating a first data packet, the first data packet including a first security field, the first security field including an extended protocol discriminator (EPD) and a sub-data packet identifier, the sub-data packet identifier being at least one of a security header type (SHT) or a sub-data packet sequence number (FN), the first security field being different from the second security field of a second data packet, and the second data packet being a data packet transmitted without fragmentation; splitting the first data packet into a first sub-data packet including the first security field and at least one second sub-data packet; sending the first sub-data packet and the at least one second sub-data packet, the first sub-data packet including the first security field.
[0007] During data transmission, some data packets need to be split into sub-data packets for transmission, while others do not. This application defines the data packets that need to be split into multiple sub-data packets (the sub-data packets include a first sub-data packet and at least one second sub-data packet) for transmission as first data packets, and the data packets that can be transmitted without splitting are defined as second data packets. In order to distinguish the first data packet from the second data packet, the first security field in the first data packet and the second security field in the second data packet should be distinguished. For example, the first security field includes an EPD and a sub-data packet identifier, the sub-data packet identifier is at least one of SHT or FN, and the second security field includes an EPD and SHT. The first data packet and the second data packet are distinguished by the difference between the field in the first security field and the field in the second security field, or the different values in the field, so that after transmission, the receiving end determines and reassembles the first data packet based on the first security field, so as to reduce transmission overhead and save resources during data transmission.
[0008] In one possible implementation, the sub-packet identifier is the SHT, i.e., the first security field includes an EPD and an SHT, and each second sub-packet includes a third security field, the third security field including an EPD and an SHT. The combination of EPD and SHT in the third security field is different from the combination of EPD and SHT in the first security field, and the combination of EPD and SHT in the third security field is different from the combination of EPD and SHT in the second security field. For a first packet split into multiple sub-packets, the first packet (i.e., the first security field of the first packet) should be different from the other sub-packets, so that the receiving end can determine that this sub-packet is the beginning of the first packet based on the first security field. Similarly, the last sub-packet should also be distinguishable from other packets, i.e., the third security field of the last second sub-packet should be different from the third security fields of other second sub-packets (referred to as intermediate sub-packets). To facilitate differentiation, the security field of the last second sub-packet can also be considered the fourth security field, so that the receiving end can determine that this sub-packet is the end of the first packet based on the fourth security field. Furthermore, to distinguish the first data packet from the second data packet, the third security field is different from the second security field, and the fourth security field is also different from the second security field. By splitting and sending the sub-data packets of the first data packet in this manner, each second sub-data packet can be considered to carry less security field information, thereby reducing transmission overhead.
[0009] In one possible implementation, the sub-packet identifier is the SHT, meaning the first security field includes the EPD, SHT, and a message length (ML) indicating the length of the first packet. In this method, the second sub-packet does not need to carry the security field, further reducing transmission overhead. Based on the ML, the receiving end can determine that all sub-packets of the first packet have been received and can be reassembled into the first packet, thus ensuring the integrity of the transmitted data.
[0010] In one possible implementation, the sub-packet identifier is an FN. Specifically, the first security field includes an EPD and an FN, and each second sub-packet includes a third security field, including an EPD and an FN. The EPD and FN combination in the third security field is different from the EPD and FN combination in the first security field, and the third security field is different from the second security field. To facilitate identification of the last sub-packet of the first data packet (i.e., the last second sub-packet), the value of the FN in the third security field can be pre-agreed between the sender and receiver to a preset value (also known as a predefined special value). For example, the preset value can be the maximum value that the FN can represent. The FN of the first sub-packet can have an initial value, such as 0, 1, or a certain value. The FN of each second sub-packet following the first sub-packet can be incremented. In this way, when the first data packet, after being split and transmitted, is received, the receiver can determine based on the FN that all sub-packets of the first data packet have been received and can reassemble the first data packet. This reduces the information carried by the sub-packets, lowers transmission overhead, and ensures the integrity of the transmitted data.
[0011] In one possible implementation, the method further includes: encapsulating each sub-data packet into a first message, and adding a message sequence number to the first message according to the corresponding sending order when sending the first message. The message sequence number is used to indicate the corresponding sending order of the sub-data packet. This can increase the reliability of transmission. The intermediate node that receives the first message forwards it in a packet-by-packet confirmation manner based on the message sequence number. For example, after receiving the first message, the intermediate node feeds back a confirmation message. If the sending end receives the confirmation message, which carries the message sequence number of the currently sent first message, it indicates that the transmission is successful. The next first message is then sent with an increased message sequence number to distinguish it. If the confirmation message is not received, it is considered that the current first message has failed to be sent and is retransmitted, still carrying the current message sequence number.
[0012] In one possible implementation, the length of each sub-packet is fixed, or the length of each sub-packet is determined based on a preset dynamic adjustment policy. For example, the preset dynamic adjustment policy determines the sub-packet length based on feedback information about transmission link quality. Determining the sub-packet length in different ways can expand the scope of data transmission scenarios.
[0013] In a second aspect, the present application provides a communication data transmission method, which is applied to a receiving end. Specifically, the method can be performed by each device receiving data or a device in the device (e.g., a chip). The method includes: receiving a first sub-data packet, the first sub-data packet including a first security field, the first security field including an EPD and a sub-data packet identifier, the sub-data packet identifier being at least one of SHT or FN, the first security field being different from the second security field of a second data packet, and the second data packet being a data packet transmitted without fragmentation; receiving at least one second sub-data packet; and obtaining a first data packet based on the first sub-data packet and the at least one second sub-data packet.
[0014] In a possible implementation, each of the second sub-data packets includes a third security field, and the third security field includes EPD and SHT, wherein the third security field is different from the first security field, and the third security field is different from the second security field.
[0015] In one possible implementation, the at least one second sub-data packet includes at least one intermediate second sub-data packet and a last second sub-data packet, the third security field of the intermediate second sub-data packet is different from the third security field of the last second sub-data packet, and obtaining the first data packet based on the first sub-data packet and the at least one second sub-data packet includes: if it is determined that the last second sub-data packet has been received based on the third security field, then obtaining the first data packet based on the first sub-data packet and the at least one second sub-data packet that has been received.
[0016] In one possible implementation, the sub-data packet identifier is the SHT, the first security field also includes a message length ML, the ML is used to indicate the length of the first data packet, and obtaining the first data packet based on the first sub-data packet and the at least one second sub-data packet includes: determining that the second sub-data packet in the first data packet has arrived based on the ML; and obtaining the first data packet based on the first sub-data packet and the arrived second sub-data packet.
[0017] In one possible implementation, the sub-data packet identifier is the FN, and each of the second sub-data packet includes a third security field, the third security field includes the EPD and the FN, wherein the third security field is different from the first security field, and the third security field is different from the second security field.
[0018] In one possible implementation, the at least one second sub-data packet includes at least one intermediate second sub-data packet and a last second sub-data packet, and in the third security field of the last second sub-data packet, the FN is a preset value, used to indicate that the second sub-data packet is the last sub-data packet. Obtaining the first data packet based on the first sub-data packet and the at least one second sub-data packet includes: if a second sub-data packet whose FN is the preset value is received, determining that the last second sub-data packet has been received; based on the first sub-data packet and the at least one second sub-data packet that has been received.
[0019] In a possible implementation, the method further includes: receiving a first message, the first message being an encapsulated sub-data packet, the sub-data packet including the first sub-data packet and the second sub-data packet; and sending a confirmation message, the confirmation message carrying a message sequence number corresponding to the sending order of the first message.
[0020] In a possible implementation, the length of each sub-data packet is a fixed value, or the length of each sub-data packet is determined based on a preset dynamic adjustment strategy.
[0021] It should be understood that the second aspect of this application corresponds to the technical solution of the first aspect of this application, and the beneficial effects achieved by each aspect and the corresponding feasible implementation methods are similar, which will not be repeated here.
[0022] In a third aspect, the present application provides a first device, which refers to a device on the sending side, including: a processing module for generating a first data packet, the first data packet including a first security field, the first security field including an EPD and a sub-data packet identifier, the sub-data packet identifier being at least one of SHT or FN, the first security field being different from the second security field of the second data packet, and the second data packet being a data packet transmitted without fragmentation; the processing module is also used to split the first data packet into a first sub-data packet including the first security field, and at least one second sub-data packet; a generating module for sending the first sub-data packet and the at least one second sub-data packet, the first sub-data packet including the first security field.
[0023] In one possible implementation, the sub-data packet identifier is the SHT, and each of the second sub-data packet includes a third security field, the third security field includes EPD and SHT, wherein the third security field is different from the first security field, and the third security field is different from the second security field.
[0024] In a possible implementation, the at least one second sub-data packet includes at least one middle second sub-data packet and a last second sub-data packet, and the third security field of the middle second sub-data packet is different from the third security field of the last second sub-data packet.
[0025] In a possible implementation, the sub-data packet identifier is the SHT, and the first security field further includes an ML, where the ML is used to indicate the length of the first data packet.
[0026] In one possible implementation, the sub-data packet identifier is the FN, and each of the second sub-data packets includes a third security field, the third security field includes the EPD and the FN, wherein the third security field is different from the first security field, and the third security field is different from the second security field.
[0027] In one possible implementation, the at least one second sub-data packet includes at least one intermediate second sub-data packet and a last second sub-data packet, and in the third security field of the last second sub-data packet, the FN is a preset value, used to indicate that the second sub-data packet is the last sub-data packet.
[0028] In one possible implementation, the processing module is further used to encapsulate each sub-data packet into a first message, which includes the first sub-data packet and the second sub-data packet; the sending module is further used to send the first message and add a message sequence number to the first message according to the corresponding sending order, and the message sequence number is used to indicate the corresponding sending order of the sub-data packet.
[0029] In one possible implementation, the sending module is also used to send a first message. If the receiving module receives a confirmation message carrying the message sequence number of the first message, the first message corresponding to the next message sequence number is sent; if the receiving module does not receive the confirmation message, the message is resent.
[0030] In a possible implementation, the length of each sub-data packet is a fixed value, or the length of each sub-data packet is determined based on a preset dynamic adjustment strategy.
[0031] It should be understood that the third aspect of this application corresponds to the technical solution of the first aspect of this application, and the beneficial effects achieved by each aspect and the corresponding feasible implementation methods are similar, which will not be repeated here.
[0032] In a fourth aspect, the present application provides a second device, which refers to a device on the receiving side, including: a receiving module for receiving a first sub-data packet, the first sub-data packet including a first security field, the first security field including an EPD and a sub-data packet identifier, the sub-data packet identifier being at least one of SHT or FN, the first security field being different from the second security field of the second data packet, and the second data packet being a data packet that is not transmitted in fragments; receiving at least one second sub-data packet; and a reassembly module for obtaining a first data packet based on the first sub-data packet and the at least one second sub-data packet.
[0033] In a possible implementation, each of the second sub-data packets includes a third security field, and the third security field includes EPD and SHT, wherein the third security field is different from the first security field, and the third security field is different from the second security field.
[0034] In one possible implementation, the at least one second sub-data packet includes at least one intermediate second sub-data packet and a last second sub-data packet, the third security field of the intermediate second sub-data packet is different from the third security field of the last second sub-data packet, and the reassembly module is specifically configured to obtain the first data packet based on the first sub-data packet and the at least one second sub-data packet that has been received, if it is determined based on the third security field that the last second sub-data packet has been received.
[0035] In one possible implementation, the sub-data packet identifier is the SHT, the first security field also includes an ML, the ML is used to indicate the length of the first data packet, and the reassembly module is specifically used to determine, based on the ML, whether the second sub-data packet in the first data packet has arrived; and obtain the first data packet based on the first sub-data packet and the arrived second sub-data packet.
[0036] In one possible implementation, the sub-data packet identifier is the FN, and each of the second sub-data packet includes a third security field, the third security field includes the EPD and the FN, wherein the third security field is different from the first security field, and the third security field is different from the second security field.
[0037] In one possible implementation, the at least one second sub-data packet includes at least one intermediate second sub-data packet and a last second sub-data packet. In the third security field of the last second sub-data packet, the FN is a preset value, used to indicate that the second sub-data packet is the last sub-data packet. The reassembly module is specifically configured to determine that the last second sub-data packet has been received if a second sub-data packet whose FN is the preset value is received; based on the first sub-data packet and the at least one second sub-data packet that has been received.
[0038] In one possible implementation, the system further includes a sending module. The receiving module is further configured to receive a first message, wherein the first message is an encapsulated sub-data packet, and the sub-data packet includes the first sub-data packet and the second sub-data packet; and the sending module is configured to send a confirmation message, wherein the confirmation message carries a message sequence number corresponding to the order in which the first message was sent. In one possible implementation, the length of each sub-data packet is a fixed value, or the length of each sub-data packet is determined based on a preset dynamic adjustment policy.
[0039] It should be understood that the fourth aspect of this application corresponds to the technical solution of the first aspect of this application, and the beneficial effects achieved by each aspect and the corresponding feasible implementation methods are similar, so they will not be repeated here.
[0040] In a fifth aspect, the present application provides a communication device, which may be a terminal device or a device in a terminal device (e.g., a chip). The communication device includes a module for executing the method described in any one of the above aspects or any possible implementation of any one of the aspects, such as a processing module and a transceiver module. The processing module may be a processor, and the transceiver module may be a transceiver. When the communication device is a terminal device, the transceiver may be a radio frequency module. When the communication device is a device in a terminal device, the transceiver may be an input / output interface, a pin, or a circuit, etc.
[0041] In a sixth aspect, the present application provides a communications device, comprising at least one processor coupled to a storage medium, the storage medium storing instructions, which, when executed by the processor, cause the processor to execute a method as described in any of the above aspects or any possible implementation of any of the aspects. The storage medium may be included in the device or may be located external to the device.
[0042] In a seventh aspect, the present application provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the method described in any one of the above aspects or any possible implementation of any one of the aspects.
[0043] In an eighth aspect, the present application provides a computer program product comprising instructions, which, when executed on a processor, implement the method as described in any one of the above aspects or any possible implementation of any one of the aspects.
[0044] In a ninth aspect, the present application provides a system comprising the communication device as described in the sixth aspect and the communication device as described in the seventh aspect.
[0045] It should be understood that the fifth to ninth aspects of the present application are consistent with or correspond to the technical solutions of the first or second aspect of the present application, and the beneficial effects achieved by each aspect and the corresponding feasible implementation methods are similar, which will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0046] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following briefly introduces the drawings required for use in the description of the embodiments of the present application. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0047] FIG1a is a schematic diagram of a network structure for data transmission according to an embodiment of the present application;
[0048] FIG1b is a second schematic diagram of a network structure for data transmission provided in an embodiment of the present application;
[0049] FIG1c is a third schematic diagram of a network structure for data transmission provided in an embodiment of the present application;
[0050] FIG2a is a flow chart of a data transmission method according to an embodiment of the present application;
[0051] FIG2 b is a second flow chart of a data transmission method provided in an embodiment of the present application;
[0052] FIG3a is a third flow chart of a data transmission method provided in an embodiment of the present application;
[0053] FIG3 b is a fourth flow chart of a data transmission method provided in an embodiment of the present application;
[0054] FIG4 is a schematic diagram of a structure of a split sub-data packet provided in an embodiment of the present application;
[0055] FIG5 is a schematic diagram of a structure of a reassembled sub-data packet provided in an embodiment of the present application;
[0056] FIG6a is a fifth flow chart of a data transmission method provided in an embodiment of the present application;
[0057] FIG6 b is a sixth flow chart of a data transmission method provided in an embodiment of the present application;
[0058] FIG7 is a second schematic diagram of the structure of a split sub-data packet provided in an embodiment of the present application;
[0059] FIG8 is a second schematic diagram of the structure of a reassembled sub-data packet provided in an embodiment of the present application;
[0060] FIG9a is a seventh flow chart of a data transmission method provided in an embodiment of the present application;
[0061] FIG9 b is an eighth flow chart of a data transmission method provided in an embodiment of the present application;
[0062] FIG10 is a third structural diagram of a split sub-data packet provided in an embodiment of the present application;
[0063] FIG11 is a third schematic diagram of the structure of a reassembled sub-data packet provided in an embodiment of the present application;
[0064] FIG12 is a ninth flowchart of a data transmission method provided in an embodiment of the present application;
[0065] FIG13 is a schematic structural diagram of a first device provided in an embodiment of the present application;
[0066] FIG14 is a schematic structural diagram of a second device provided in an embodiment of the present application;
[0067] FIG15 is a schematic structural diagram of a device 30 according to an embodiment of the present application;
[0068] FIG16 is a schematic structural diagram of a device 40 provided in an embodiment of the present application. DETAILED DESCRIPTION
[0069] In order to enable people in this technical field to better understand the solutions in this application, the technical solutions in the embodiments of this application will be clearly and completely described below in combination with the drawings in the embodiments of this application. Obviously, the described embodiments are only part of the embodiments of this application, not all of the embodiments.
[0070] The term "and / or" herein is merely a description of the association relationship between associated objects, indicating that three relationships may exist. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. A and B can be single or multiple. "At least one of the following" or similar expressions is used to indicate any combination of the listed items. For example, at least one of A, B, and / or C can mean: A exists alone, B exists alone, C exists alone, A and B exist at the same time, B and C exist at the same time, A and C exist at the same time, and A, B, and C exist at the same time. A, B, and C can be single or multiple.
[0071] In the description and claims of the embodiments of this application, the terms "first" and "second" are used to distinguish different objects, rather than to describe a specific order of objects. For example, the terms "first target object" and "second target object" are used to distinguish different objects, rather than to describe a specific order of objects.
[0072] In the embodiments of this application, words such as "exemplary" or "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of this application should not be interpreted as being preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.
[0073] In the description of the embodiments of this application, unless otherwise specified, "multiple" means two or more. For example, "multiple processing units" means two or more processing units; "multiple systems" means two or more systems.
[0074] For ease of understanding, the following first explains the relevant nouns or terms used in the embodiments of this application:
[0075] 1. Core access and mobility management function (AMF)
[0076] Primarily used for mobility management and access management. In 5G mobile communication systems, this access management network element can be the access and mobility management function (AMF), which primarily performs mobility management and access authentication / authorization. Furthermore, it is responsible for communicating user policies between the terminal and the policy control function (PCF) network element.
[0077] 2. Tag management function (TMF)
[0078] Used for tag access management, can be set separately or combined with AMF or other network elements.
[0079] 3. Terminal
[0080] It can also be referred to as an Ambient IoT Device, a tag (TAG), an access terminal, a subscriber unit, a user station, a mobile station, a mobile station, a remote station, a remote terminal, a mobile device, a user terminal, a wireless communication device, a user agent, a user device, or a target terminal. The terminal can be a passive device, which can be a passive tag that can collect energy through backscatter technology to send and receive messages. Passive tags include but are not limited to radio frequency identification (RFID), Bluetooth, Zigbee, ambient-enabled passive IoT (Ambient IoT) and other unpowered terminal tags. The terminal may also be a semi-passive device or an active device, where the active device may be a device with wireless transceiver function, such as a mobile phone, a tablet computer, a computer with wireless transceiver function, a virtual reality (VR) terminal, an augmented reality (AR) terminal, a wireless terminal in industrial control, a wireless terminal in self-driving, a wireless terminal in remote medical, a wireless terminal in a smart grid, a wireless terminal in transportation safety, a wireless terminal in a smart city, a wireless terminal in a smart home, a cellular phone, a cordless phone, a session initiation protocol (SIP) phone, a wireless local loop (WLL) station, a personal digital assistant (PDA), a handheld device with wireless communication function, a computing device or other processing device connected to a wireless modem, a vehicle-mounted device, a wearable device, a terminal in a 5G mobile communication system or a terminal in a future evolution network, etc.
[0081] Wearable devices, also known as wearable smart devices, are a general term for wearable devices that use wearable technology to intelligently design and develop wearable devices for daily wear, such as glasses, gloves, watches, clothing, and shoes. Wearable devices are portable devices that are worn directly on the body or integrated into the user's clothing or accessories. Wearable devices are not just hardware devices, but also achieve powerful functions through software support, data interaction, and cloud interaction. In a broad sense, wearable smart devices include those that are fully functional, large in size, and can achieve full or partial functions without relying on smartphones, such as smart watches or smart glasses, as well as those that only focus on a certain type of application function and need to be used in conjunction with other devices such as smartphones, such as various smart bracelets and smart jewelry for vital sign monitoring.
[0082] 4. Base Station
[0083] It can also be called a radio access network (RAN) device. The RAN can manage wireless resources, provide wireless access services for user equipment, and complete the forwarding of user equipment data between the terminal and the core network. Exemplarily, the RAN in the embodiment of the present application can be any communication device with wireless transceiver functions for communicating with the terminal, including but not limited to: evolved Node B (eNB), radio network controller (RNC), Node B (NB), base station controller (BSC), base transceiver station (BTS), home evolved NodeB (HeNB, or home Node B, HNB), baseband unit (BBU), access point (AP) in a wireless fidelity (WIFI) system, wireless relay node, wireless backhaul node, transmission point (TP) or transmission and reception point (TP) It can also be a 5G mobile communication system, such as a gNB in an NR system, or a transmission point (TRP or TP), one or a group of (including multiple antenna panels) antenna panels of a base station in a 5G mobile communication system, or it can also be a network node constituting a gNB or a transmission point, such as a baseband unit (BBU) or a distributed unit (DU), or it can be a reader with a passive IoT reader / writer function, or a UE with a passive IoT reader / writer function, etc.
[0084] In some deployments, a gNB may include a centralized unit (CU) and a DU. The gNB may also include an active antenna unit (AAU). The CU implements some gNB functions, while the DU implements some gNB functions. For example, the CU is responsible for processing non-real-time protocols and services, implementing the functions of the radio resource control (RRC) and packet data convergence protocol (PDCP) layers. The DU is responsible for processing physical layer protocols and real-time services, implementing the functions of the radio link control (RLC), media access control (MAC), and physical (PHY) layers. The AAU implements some physical layer processing functions, RF processing, and active antenna-related functions. RRC layer information is generated by the CU and ultimately encapsulated by the DU's PHY layer into PHY layer information, or is converted from PHY layer information. Therefore, in this architecture, higher-layer signaling, such as RRC layer signaling, can also be considered to be sent by the DU, or by a combination of the DU and the AAU. It is understood that the access network device may be a device including one or more of a CU node, a DU node, and an AAU node. In addition, the CU may be classified as an access network device in the access network, or as an access network device in the core network (CN), which is not limited in this application.
[0085] For example, in a data transmission scenario, there are multiple network architectures including a receiving end and a sending end, such as, Figure 1a is one of the network structure diagrams for data transmission provided in an embodiment of the present application, Figure 1b is the second network structure diagram for data transmission provided in an embodiment of the present application, and Figure 1c is the third network structure diagram for data transmission provided in an embodiment of the present application. Referring to Figure 1a, the tag (TAG) and the AMF communicate through some data transmission, such as the tag (TAG) and the AMF communicate through the NAS message forwarding of the RAN. In one possible implementation method, the AMF implements the access management function of the tag, such as the AMF includes TMF to implement the access management function of the tag. In the transmission of NAS messages, the tag (TAG) can act as a receiving end or a sending end, the AMF can act as a sending end or a receiving end, and the RAN is regarded as an intermediate node. Referring to Figure 1b , a TMF is added to the core network, and the TMF implements the tag access management function. The tag (TAG) and the TMF communicate through some data transmission, such as through NAS message forwarding between the tag (TAG) and the TMF via RAN. In one possible implementation, in the transmission of NAS messages, the tag (TAG) can act as either the receiver or the sender, the AMF can act as either the sender or the receiver, and the RAN is considered an intermediate node. Referring to Figure 1c , a TMF is added to the core network, and the TMF implements the tag access management function. The tag (TAG) and the TMF communicate through some data transmission, such as through NAS message forwarding between the RAN and AMF. In one possible implementation, in the transmission of NAS messages, the tag (TAG) can act as either the receiver or the sender, the AMF can act as either the sender or the receiver, and the RAN and AMF are considered intermediate nodes. In one possible implementation, there can also be other intermediate nodes between the RAN and the tag (TAG), such as the UE.
[0086] It should be noted that in the embodiments of the present application, for the convenience of description, the various fields in the data packet such as the NAS message are abbreviated, such as the EPD field is abbreviated as EPD, the SHT field is abbreviated as SHT, the FN field is abbreviated as FN, the ML field is abbreviated as ML, etc.
[0087] The data transmission method provided in the embodiment of the present application can be applied in scenarios of network architectures such as Figure 1a, Figure 1b or Figure 1c. The sending end can be the AMF provided in Figure 1a, or the TMF provided in Figure 1b and Figure 1c, or the sending end can also be the tag (TAG) in Figure 1a, Figure 1b or Figure 1c, etc. When other execution entities act as the sending end, they can refer to the operations of this example and will not be given examples. Figure 2a is one of the flow diagrams of a data transmission method provided in the embodiment of the present application. As shown in Figure 2a, the method is executed by the sending end, and the method includes: S101 to S104.
[0088] S101. A transmitting end generates a first data packet, where the first data packet includes a first security field. The first security field includes an EPD and a sub-data packet identifier. The sub-data packet identifier is at least one of SHT and FN. The first security field is different from a second security field of a second data packet. The second data packet is a data packet that is not transmitted in fragments.
[0089] Taking the scenario of transmitting NAS messages in the network architecture shown in Figure 1b as an example, generally, the current NAS protocol does not support fragmentation, and the RAN does not support the fragmentation transmission of large NAS message packets (i.e., data packets with longer lengths, such as those that exceed the length supported by the interface and are defined as long). Alternatively, the RAN supports fragmentation transmission of NAS messages, but the total packet length that can be transmitted is limited. For example, a tag (TAG) can initiate a NAS request to the core network (including the AMF and TMF, TMF in the example of the embodiment of this application) through the RAN based on the air interface (Uu interface). Under Ambient IoT technology, the message length supported by the air interface (Uu interface) is generally relatively small, and fragmented transmission of NAS messages may not be supported. If a service requires the transmission of large packets, the data in the large packet needs to be split (i.e., fragmented) into multiple complete NAS messages for transmission. For example, a large packet of data needs to be split into multiple sub-packets, each of which carries a secure NAS header and a normal NAS header for transmission, resulting in a waste of limited air interface transmission resources.
[0090] In an embodiment of the present application, a large packet that needs to be split into multiple sub-packets for transmission is defined as a first data packet, and a data packet that can be transmitted without splitting is defined as a second data packet. In order to distinguish the first data packet from the second data packet, the combination of their security fields (such as the security field set in the header is called a security message header) should be different. For example, the first data packet carries the first security field, and the second data packet carries the second security field. The first security field includes an EPD and a sub-packet identifier, and the sub-packet identifier includes at least one of SHT or FN. For example, in one example, the sub-packet identifier is SHT, and the first security field includes EPD and SHT. In another example, the sub-packet identifier is FN, and the first security field includes EPD and FN. In another example, the sub-packet identifier is SHT and FN, and the first security field includes EPD, SHT, and FN. The second security field may include EPD and SHT, but the first security field and the second security field should be different so that when the receiving end receives the data packet, it can determine whether the security field is the first security field or the second security field based on the content of the security field. If it is the first security field, it means that the first sub-data packet of the first data packet is received, and there should be other sub-data packets (i.e., the second sub-data packet) to be received subsequently, wherein the first sub-data packet and the second sub-data packet are sub-data packets split from the first data packet, and the first sub-data packet includes the first security field; if it is the second security field, it means that the second data packet is received and the data packet has been transmitted.
[0091] Exemplarily, an exemplary description is given with the sub-packet identifier (also known as the fragment identifier) being at least one of SHT or FN, and the values of SHT or FN being different. If the first data packet and the second data packet are both NAS messages, the first security field includes EPD and SHT, wherein the combination of the values of EPD and SHT is to be transmitted with the second data packet, and the second security field uses different values so that the receiver can distinguish between two different NAS messages and perform different processing. For example, if EPD=9, SHT=2 is used to represent a NAS message (second data packet) that is not fragmented and requires encryption and integrity protection, then EPD=10, SHT=2 can be used to represent a NAS message (first data packet) that requires fragmented transmission and requires encryption and integrity protection, or use EPD=9, SHT=5 to represent it; if For example, the first security field includes EPD and FN, where FN can take ascending or descending numerical values to indicate the fragmentation order of the sub-data packets (including the first sub-data packet and at least one second sub-data packet). If EPD=9 and SHT=2 are used to indicate a NAS message (second data packet) that is not fragmented and requires encryption and integrity protection, then EPD=10 can be used to indicate a NAS message (first data packet) that requires fragmented transmission and requires encryption and integrity protection. If the sub-data packet is identified as SHT and FN, the first security field includes EPD, SHT, and FN, and their values can be a combination of the above two examples, or any one of the above two examples can be used.
[0092] S102: The transmitting end splits the first data packet into a first sub-data packet including a first security field and at least one second sub-data packet.
[0093] Optionally, the first data packet is sequentially split into multiple sub-data packets, with the first sub-data packet defined as the first sub-data packet, and all sub-data packets after the first sub-data packet can be defined as second sub-data packets. In one possible implementation, the first data packet is split into two sub-data packets, including a first sub-data packet and a second sub-data packet; in another possible implementation, the first data packet is split into at least three sub-data packets, including a first sub-data packet and multiple second sub-data packets. For ease of description, the last of the multiple second sub-data packets can be defined as the last second sub-data packet, and the other second sub-data packets can be defined as intermediate second sub-data packets.
[0094] S103: The transmitting end sends a first sub-data packet and at least one second sub-data packet, where the first sub-data packet includes a first security field.
[0095] The transmitting end first sends a first sub-data packet, which carries a first security field. This first security field can be set in the header of the first sub-data packet, allowing the receiving end to process the sub-data packet accordingly based on the content of the received first security field. In one possible implementation, the first security field indicates the length of the first data packet. Based on this indication, the receiving end can determine whether several received second sub-data packets belong to the first data packet and thus determine whether the first data packet has been received completely. In another possible implementation, each second sub-data packet carries a corresponding field for identification, allowing the receiving end to reassemble the first data packet based on this field.
[0096] The data transmission method provided in the embodiments of the present application no longer carries a security field and a normal field in each fragmented sub-packet, allowing the sub-packets to be transmitted as a complete message (such as a NAS message). Instead, after fragmenting the first data packet, the first sub-packet carries a first security field to distinguish it from the second security field of the unfragmented second data packet. For example, the distinction is achieved by using a combination of the EPD and sub-packet identifier included in the first security field, which is different from the second security field. After transmission, the receiving end can determine and reassemble the first data packet based on the first security field, thereby reducing transmission overhead and saving resources during data transmission.
[0097] The data transmission method provided in the embodiment of the present application can be applied in scenarios of network architectures such as Figure 1a, Figure 1b or Figure 1c. The receiving end can be the tag (TAG) in Figure 1a, Figure 1b or Figure 1c, or, when the tag (TAG) in Figure 1a, Figure 1b or Figure 1c is the sending end, the receiving end can also be the AMF provided in Figure 1a, or the TMF provided in Figure 1b and Figure 1c, etc. When other execution entities serve as the receiving end, they can all refer to the operations of this example for execution, and no further examples will be given. Figure 2b is a second flow chart of a data transmission method provided in the embodiment of the present application. As shown in Figure 2b, the method is executed by the receiving end, and the method includes: S105 to S107.
[0098] S105. The receiving end receives a first sub-data packet, where the first sub-data packet includes a first security field.
[0099] The first security field refers to S101 and will not be further described.
[0100] S106. The receiving end receives at least one second sub-data packet in sequence.
[0101] The sending end sends packets one by one in the order in which they are split, and the receiving end also receives them one by one in the order in which they are split.
[0102] S107: The receiving end obtains a first data packet according to the first sub-data packet and at least one second sub-data packet.
[0103] If the receiving end receives the first sub-packet, it can determine that it is the first sub-packet of a fragmented first packet based on the contents of the first security field. It then needs to receive other sub-packets of the first packet (i.e., the second sub-packet) and reassemble them into the first packet. If the receiving end receives the second sub-packet, it can determine that it is an unfragmented second packet based on the contents of the second security field and perform appropriate processing. This transmission method can reduce transmission overhead and conserve resources by reducing the information carried by the second sub-packet.
[0104] Below, several examples will be used to illustrate how to use the data transmission method provided in the embodiments of the present application to achieve the effect of reducing transmission overhead during data transmission.
[0105] Figure 3a is a third flow chart of a data transmission method provided in an embodiment of the present application. The method can be executed by the sending end. The sending end can be the AMF provided in Figure 1a, or the TMF provided in Figure 1b and Figure 1c, etc., or the tag (TAG) provided in Figure 1a, Figure 1b and Figure 1c, etc. As shown in Figure 3a, the method includes: S201 to S205.
[0106] S201. The sending end adds a first security field before the payload of a first data packet.
[0107] Adding a first security field before the payload is an example of a general situation. The first security field provided in the embodiment of the present application can be regarded as a simplified security field compared to the security field added in the traditional technology. The first security field may include EPD and SHT, wherein the value of SHT may correspond to whether the message (i.e., the first data packet) is a security-protected message and the type of security protection, or a non-security-protected message. For example, when SHT=0, it may correspond to a non-security-protected message. In this case, the first security field may include EPD, SHT, and message type (MT). Optionally, the first security field may also include other fields that need to be carried; when SHT=1, it may correspond to a message that requires integrity security protection, and when SHT=2, it may correspond to a message that requires encryption and integrity security protection. In this case, the first security field may include EPD, SHT, message authentication code (MAC), sequence number (SN), and MT. Optionally, the first security field may also include other fields that need to be carried.
[0108] For example, to distinguish a fragmented first data packet from an unfragmented second data packet, the combination of the EPD and SHT in the first security field of the first data packet should be different from the combination of the EPD and SHT in the second security field of the second data packet. For example, the EPD in the first security field is different from the EPD in the second security field, and the SHT in the first security field is the same as the SHT in the second security field; or, the EPD in the first security field is the same as the EPD in the second security field, and the SHT in the first security field is different from the SHT in the second security field; or, the EPD in the first security field is different from the EPD in the second security field, and the SHT in the first security field is different from the SHT in the second security field.
[0109] S202: When the first data packet needs security protection, the sending end executes S203; when the first data packet does not need security protection, the sending end executes S204.
[0110] S203. The sending end performs security processing on the first data packet according to the indication of the first security field. If the first security field indicates that the message needs to be encrypted, the message is encrypted. If the first security field indicates that the message needs to be integrity protected, a MAC of the message is calculated and inserted into the MAC of the first security field for the receiving end to verify the message integrity.
[0111] Exemplarily, the sending end performs encryption from the MT to the end of the first data packet.
[0112] Exemplarily, the sending end performs integrity protection and calculates MAC from the first security field to the end of the first data packet. The method of encryption and calculation of MAC is not described in detail here.
[0113] S204: The transmitting end splits the first data packet into a first sub-data packet including a first security field and at least one second sub-data packet.
[0114] FIG4 is one of the structural diagrams of a split sub-packet provided in an embodiment of the present application. The transmitting end can split the first data packet into at least two sub-packets, and the at least two sub-packets include a first sub-packet and at least one second sub-packet. As shown in the example of FIG4 , the first data packet is split into four sub-packets, that is, the payloads in each sub-packet are respectively recorded as: payload 1, payload 2, payload 3, and payload 4. The sub-packet including payload 1 is the first sub-packet, and the sub-packet including the remaining payloads is the second sub-packet. Furthermore, the sub-packet including payload 2 and payload 3 is the middle second sub-packet, and the sub-packet including payload 4 is the last second sub-packet.
[0115] Optionally, the length of the sub-packets of the first data packet may be a fixed value, such as payload 1 to payload 4 in FIG4 , which may have a predetermined length. Alternatively, the length of the sub-packets of the first data packet may be determined based on a preset dynamic adjustment strategy. For example, the preset dynamic adjustment strategy is to determine the length of the sub-packets based on feedback information on the transmission link quality. Referring to FIG4 , if after sending the first sub-packet, based on the feedback information on the transmission link quality, it is determined that the data transmitted on the link supports a longer sub-packet length, the length of payload 2 is increased. If after sending the second sub-packet corresponding to payload 2, based on the feedback information on the transmission link quality, it is determined that the length of the sub-packet can be longer, the length of payload 3 is increased. If after sending the second sub-packet corresponding to payload 3, based on the feedback information on the transmission link quality, it is determined that the length of the sub-packet should be shortened, the length of payload 4 is reduced.
[0116] S205. The transmitting end sends the first sub-data packet and sends at least one second sub-data packet in the split order.
[0117] The first sub-packet sent by the transmitter carries a first security field. After sending the first sub-packet, the intermediate second sub-packets can be sent in sequence, one by one. Before each second sub-packet is sent, a third security field is added to the packet header. Referring to Figure 4, the first sub-packet carries the first security field and payload 1; the intermediate second sub-packets carry the third security field and payload 2; the intermediate second sub-packets carry the third security field and payload 3; and the last second sub-packet carries the third security field and payload 4. The third security field includes an EPD and a SHT. The combination of EPD and SHT in the third security field should be different from the combination of EPD and SHT in the second security field. The combination of EPD and SHT in the third security field should be different from the combination of EPD and SHT in the first security field. Different methods can be referred to the example in S201, and the examples will not be elaborated here. The sending end distinguishes the first sub-data packet from the second data packet, and the first sub-data packet from the second sub-data packet by carrying different security fields for the sub-data packets, so that the receiving end can determine whether the received data packet is the first data packet or the second data packet, and whether it is the first sub-data packet or the second sub-data packet of the first data packet based on the EPD and SHT in the security field when receiving the data packet, and perform corresponding processing.
[0118] In order for the receiving end to know that the received data packet is the last sub-packet after the first data packet is fragmented, that is, the last second sub-packet, the third security field of the last second sub-packet should also be distinguished from the third security fields of other second sub-packets (that is, the middle second sub-packets). To facilitate distinction, the third security field carried by the last second sub-packet can be defined as a fourth security field, wherein the combination of the EPD and SHT of the fourth security field should be different from the combination of the EPD and SHT in the third security field. Different methods can refer to the example in S201. For example, referring to the example of Figure 4, the EPD in the fourth security field of payload 4 can be different from the EPD in the third security field of payload 2 and payload 3, so that the receiving end can determine that the sub-packet is the last sub-packet of the first data packet based on the security field being the fourth security field.
[0119] The order of the fields in the first security field shown in Figure 4 is only an example. In actual transmission, the positions of the fields can be designed based on encoding requirements. For example, the order of the MAC and SN can refer to Figure 4 or be unrestricted. When the message requires encryption, the MT field must be placed after the EPD, SHT, MAC, and SN to support encryption of the MT field while leaving the other fields unencrypted.
[0120] Optionally, EPD can use half a byte or a byte, and SHT can use half a byte or a byte. In this embodiment, an example is provided in which both EPD and SHT use half a byte to reduce the length of the sub-data packet and reduce the transmission overhead.
[0121] Figure 3b is a fourth flow chart of a data transmission method provided in an embodiment of the present application. The method can be executed by the receiving end. When the sending end is the AMF provided in Figure 1a, or the TMF provided in Figure 1b and Figure 1c, the receiving end can be the tag (TAG) provided in the corresponding figure. When the sending end is the tag (TAG) provided in Figure 1a, Figure 1b and Figure 1c, the receiving end can be the AMF or TMF provided in the corresponding figure, etc. As shown in Figure 3b, the method includes: S206 and S207.
[0122] S206: The receiving end receives the first sub-data packet and determines it as the first packet of the first data packet according to the first security field.
[0123] For example, the first security field carried by the first sub-data packet received by the receiving end can refer to the example of S201. Since the first security field of the first sub-data packet is different from that of the second data packet, the receiving end can determine that the first sub-data packet of the first data packet has been received, and it needs to be temporarily stored and wait for the subsequent sub-data packets to arrive before reassembling.
[0124] S207: The receiving end receives at least one second sub-data packet in sequence until it determines that the last second sub-data packet has been received, and sequentially reassembles the first sub-data packet and the at least one received second sub-data packet into a first data packet.
[0125] Exemplarily, the third security field carried by the second sub-data packet received by the receiving end can refer to the example of S205. Since the fourth security field of the last second sub-data packet is different from the third security field of the middle second sub-data packet, the receiving end recognizes the fourth security field, that is, it can be determined that the last sub-data packet of the first data packet has been received, and the first sub-data packet and at least one received second sub-data packet are reassembled into the first data packet in the order of receipt.
[0126] Before reassembly, the receiving end deletes the third security field of each intermediate second sub-packet and the fourth security field of the last second sub-packet, and forms a complete first data packet in the order of receipt. Figure 5 is one of the structural schematic diagrams of a reassembled sub-packet provided in an embodiment of the present application. The receiving end can reassemble payload 2, payload 3, and payload 4 with the security field deleted, and the first sub-packet including the first security field and payload 1, in the order of receipt, that is, payload 1, payload 2, payload 3, and payload 4, into a first data packet.
[0127] Optionally, for the reassembled first data packet, if the first security field indicates that integrity protection needs to be performed on the first data packet, the receiving end may further calculate a MAC to verify the integrity of the first data packet.
[0128] Optionally, the receiving end determines, based on the field before MT in the first security field, that the first security field indicates that the first data packet is encrypted, and needs to perform decryption to obtain the first data packet.
[0129] Figure 6a is a fifth flow chart of a data transmission method provided in an embodiment of the present application. The method can be executed by the sending end. The sending end can be the AMF provided in Figure 1a, or the TMF provided in Figure 1b and Figure 1c, etc., or the tag (TAG) provided in Figure 1a, Figure 1b and Figure 1c, etc. As shown in Figure 6a, the method includes: S301 to S305.
[0130] S301. A transmitting end adds a first security field before the payload of a first data packet. The first security field also includes an ML.
[0131] Optionally, the ML is used to indicate the length of the first data packet. For example, the ML can indicate the length of the payload in the first data packet. The ML carried in the first data packet enables the receiving end to determine whether all sub-data packets of the first data packet have been transmitted based on the ML and the cumulative length of the received second sub-data packets when receiving subsequent second sub-data packets.
[0132] Exemplarily, the first security field may include EPD, SHT, MT and ML, or the first security field may include EPD, SHT, MAC, SN, ML and MT, or the first security field may also include other fields required to be carried according to the application scenario. The fields included in the first security field can refer to the example of S201 and will not be repeated here.
[0133] For example, in order to distinguish the fragmented first data packet from the unfragmented second data packet, the combination of EPD and SHT in the first security field should be different from the combination of EPD and SHT in the second security field. The different methods can also refer to the example of S201 and will not be repeated here.
[0134] S302: The sending end executes S303 when the first data packet needs security protection, and executes S304 when the first data packet does not need security protection.
[0135] S303. The sending end performs security processing on the first data packet according to the indication of the first security field. If the first security field indicates that the message needs to be encrypted, the message is encrypted. If the first security field indicates that the message needs to be integrity protected, a MAC of the message is calculated and inserted into the MAC of the first security field for the receiving end to verify the message integrity.
[0136] Exemplarily, the sending end performs encryption from the MT to the end of the first data packet.
[0137] Exemplarily, the sending end performs integrity protection and calculates MAC from the first security field to the end of the first data packet. The method of encryption and calculation of MAC is not described in detail here.
[0138] S304: The transmitting end splits the first data packet into a first sub-data packet including a first security field and at least one second sub-data packet.
[0139] Figure 7 is a second structural diagram of a split sub-packet provided in an embodiment of the present application. The sending end can split the first data packet into at least two sub-packets. For example, referring to the example of Figure 7, the first data packet is split into four sub-packets, that is, the payloads in each sub-packet are respectively recorded as: payload 1, payload 2, payload 3 and payload 4. The sub-packet including payload 1 is the first sub-packet, and the sub-packet including the remaining payloads is the second sub-packet. Furthermore, the sub-packet including payload 2 and payload 3 is the middle second sub-packet, and the sub-packet including payload 4 is the last second sub-packet.
[0140] Optionally, the length of each sub-data packet of the first data packet (including the first sub-data packet and the second sub-data packet) can be a fixed value, or its length can be determined based on a preset dynamic adjustment strategy. The length determination of each sub-data packet can refer to the example of S204.
[0141] S305: The transmitting end sends the first sub-data packet and sends at least one second sub-data packet in the split order.
[0142] Optionally, the sending end may send the intermediate sub-data packets (including the intermediate second sub-data packet and the last second sub-data packet) in sequence according to the order of splitting. Since the first security field carries ML, it can indicate the length of the first data packet. Therefore, the sending end may not add the third security field when sending the second sub-data packet. Referring to Figure 7, among the sub-data packets sent by the sending end, the first sub-data packet carries the first security field and payload 1; the second sub-data packet, that is, the intermediate second sub-data packet is payload 2; the third sub-data packet, that is, the intermediate second sub-data packet is payload 3; and the fourth sub-data packet, that is, the last second sub-data packet, is payload 4.
[0143] Optionally, the sender can add a third security field before payload 4 to indicate that this is the last subpacket of the first packet. The order of the fields in the first security field shown in Figure 7 is merely an example. In actual transmission, the positions of the fields can be designed based on encoding requirements. For example, the order of the MAC and SN fields can refer to Figure 7 or be unrestricted. When a message requires encryption, the MT field must be placed after the EPD, SHT, MAC, and SN fields to support encryption of the MT field while leaving the other fields unencrypted.
[0144] Optionally, EPD can use half a byte or a byte, and SHT can use half a byte or a byte. In this embodiment, an example is provided in which both EPD and SHT use half a byte to reduce the length of the sub-data packet and reduce the transmission overhead.
[0145] Figure 6b is a sixth flow chart of a data transmission method provided in an embodiment of the present application. The method can be executed by the receiving end. When the sending end is the AMF provided in Figure 1a, or the TMF provided in Figure 1b and Figure 1c, the receiving end can be the tag (TAG) provided in the corresponding figure. When the sending end is the tag (TAG) provided in Figure 1a, Figure 1b and Figure 1c, the receiving end can be the AMF or TMF provided in the corresponding figure, etc. As shown in Figure 6b, the method includes: S306 to S308.
[0146] S306: The receiving end receives the first sub-data packet and determines it as the first packet of the first data packet according to the first security field.
[0147] Exemplarily, the first security field carried by the first sub-data packet received by the receiving end can refer to the example of S201. Since the first security field of the first sub-data packet is different from that of the second data packet, the receiving end can determine that it has received the first sub-data packet of a fragmented first data packet, and in the first security field, ML also indicates the length of the first data packet. The receiving end can compare the cumulative length of the subsequently received second sub-data packets according to the length to wait for the subsequent second sub-data packets to arrive.
[0148] S307: The receiving end receives at least one second sub-data packet in sequence until it determines, based on the length indicated by ML, that all second sub-data packets have arrived.
[0149] Exemplarily, after receiving the first sub-packet, the receiving end determines the total length of the first data packet based on the length indicated by ML in the first security field. If the sending end and the receiving end agree on a fixed length for each sub-packet, the number of second sub-packets to be received can be determined based on the total length of the first data packet and the length of the first sub-packets, and whether all second sub-packets have been received can be determined based on the number of second sub-packets. If the length of each sub-packet is dynamically adjusted, the receiving end calculates the length of each second sub-packet after receiving it, based on the total length of the first data packet, until the sum of the lengths of the received second sub-packets and the lengths of the first sub-packets equals the total length of the first data packet, at which point it determines that all second sub-packets have been received.
[0150] S308: The receiving end reassembles the first data packet according to the first sub-data packet and the received second sub-data packet.
[0151] Optionally, after the receiving end receives each second sub-data packet, if there is a field, such as the third security field, it is deleted; if not, the first sub-data packet and the second sub-data packet obtained in the receiving order are combined into a complete first data packet in the order of reception. Figure 8 is a second structural schematic diagram of a recombined sub-data packet provided in an embodiment of the present application. The receiving end can recombine payload 2, payload 3 and payload 4 with the first sub-data packet including the first security field and payload 1 into a first data packet.
[0152] Optionally, for the reassembled first data packet, if the first security field indicates that integrity protection needs to be performed on the first data packet, the receiving end may further calculate a MAC to verify the integrity of the first data packet.
[0153] Optionally, the receiving end determines, based on the field before MT in the first security field, that the first security field indicates that the first data packet needs to be encrypted, and then decrypts the data packet first.
[0154] The data transmission method provided in the embodiment of the present application further reduces the information carried by the second sub-data packet and reduces the transmission overhead by carrying a simple first security field on the first sub-data packet and carrying ML in the first security field to indicate the length of the first data packet.
[0155] Figure 9a is the seventh flow chart of a data transmission method provided in an embodiment of the present application. The method can be executed by the sending end. The sending end can be the AMF provided in Figure 1a, or the TMF provided in Figure 1b and Figure 1c, etc., or the tag (TAG) provided in Figure 1a, Figure 1b and Figure 1c, etc. As shown in Figure 9a, the method includes: S401 to S405.
[0156] S401. The sending end adds a first security field before the payload of a first data packet. The first security field includes an EPD and a FN.
[0157] Exemplarily, the first security field may include EPD, FN, and MT, or may include EPD, FN, MT, and SHT. The values of EPD and SHT may refer to the example of S201. The FN is used to identify the sequence number of each sub-packet (including the first sub-packet and the second sub-packet). For example, the FN may start at 0 (or other values, such as 1), and the FN value may be incremented in each sub-packet field. For example, the third security field of each second sub-packet may be incremented by 1 according to the order of splitting. To facilitate the receiver's determination of whether the received second sub-packet is the last, the FN in the third security field of the last second sub-packet may use a preset value (also referred to as a predefined special value) agreed upon by the sender and receiver. For example, the preset value may use the maximum value that the FN can represent. Exemplarily, when the FN is represented using 4 bits (i.e., half a byte), the last second sub-packet may be represented by FN = 0xF. When the FN is represented using 8 bits (i.e., one byte), the last second sub-packet may be represented by FN = 0xFF.
[0158] For example, in order to distinguish a fragmented first data packet from an unfragmented second data packet, the EPD in the first security field should be different from the EPD in the second security field, and the EPD in the first security field should also use different values to indicate the different security protection types indicated by the SHT in the second security field. For example, if the second security field EPD=9 and SHT=0 indicates that the second data packet does not require security protection, EPD=9 and SHT=1 indicates that the second data packet requires integrity protection, and EPD=9 and SHT=2 indicates that the second data packet requires encryption and integrity protection, then the first security field can use EPD=10 to indicate that the first data packet does not require security protection, EPD=11 to indicate that the first data packet requires integrity protection, and EPS=12 to indicate that the first data packet requires encryption and integrity protection.
[0159] S402: The sending end executes S403 when the first data packet needs security protection, and executes S404 when the first data packet does not need security protection.
[0160] S403. The sending end performs security processing on the first data packet according to the indication of the first security field. If the first security field indicates that the message needs to be encrypted, the message is encrypted. If the first security field indicates that the message needs to be integrity protected, a MAC of the message is calculated and inserted into the MAC of the first security field for the receiving end to verify the message integrity.
[0161] Exemplarily, the sending end performs encryption from the MT to the end of the first data packet.
[0162] Exemplarily, the sending end performs integrity protection and calculates MAC from the first security field to the end of the first data packet. The method of encryption and calculation of MAC is not described in detail here.
[0163] S404: The transmitting end splits the first data packet into a first sub-data packet including a first security field and at least one second sub-data packet.
[0164] Figure 10 is the third structural schematic diagram of a split sub-packet provided in an embodiment of the present application. The sending end can split the first data packet into at least two sub-packets. For example, referring to the example of Figure 10, the first data packet is split into 4 sub-packets, that is, the payloads in each sub-packet are respectively recorded as: payload 1, payload 2, payload 3 and payload 4. The sub-packet including payload 1 is the first sub-packet, and the sub-packet including the remaining payloads is the second sub-packet. Furthermore, the sub-packet including payload 2 and payload 3 is the middle second sub-packet, and the sub-packet including payload 4 is the last second sub-packet.
[0165] Optionally, the length of each sub-data packet of the first data packet (including the first sub-data packet and the second sub-data packet) can be a fixed value, or its length can be determined based on a preset dynamic adjustment strategy. The length determination of each sub-data packet can refer to the example of S204.
[0166] S405: The transmitting end sends the first sub-data packet and sends at least one second sub-data packet in the split order.
[0167] Referring to the example in Figure 10 , the first sub-packet can carry an EPD and a FN, where the EPD can use one byte and the FN can use one half-byte. In one possible implementation, the first sub-packet can carry an EPD, SHT, and FN, where the EPD and SHT together use one byte and the FN uses one byte. The number of bytes used by each field in the first sub-packet can be defined based on the network requirements for data transmission and is not listed in detail here.
[0168] Exemplarily, the FN in the first sub-data packet can usually be set to 0, so that the receiving end can determine, based on the value, that this is the first sub-data packet after the first data packet is split.
[0169] Optionally, the transmitting end may send the intermediate sub-data packets (including the intermediate second sub-data packets and the last second sub-data packet) in sequence according to the order of splitting, and before sending, add a third security field to the sub-data packet header of each second sub-data packet. Referring to FIG10 , the first sub-data packet, i.e., the first sub-data packet, carries the first security field and payload 1; the second sub-data packet, i.e., the intermediate second sub-data packet, carries the third security field and payload 2; the third sub-data packet, i.e., the intermediate second sub-data packet, carries the third security field and payload 3; and the fourth sub-data packet, i.e., the last second sub-data packet, carries the third security field and payload 4. The third security field includes an EPD and an FN. The FN values corresponding to payload 3, payload 2, and payload 1 may be in ascending or descending order. The FN value corresponding to payload 4 may be a preset value, such as 0xF as exemplified in S401.
[0170] The order of the fields in the first security field provided in Figure 10 is only an example. In actual transmission, the position of each field can be designed according to encoding requirements. For example, the order of MAC and SN can refer to Figure 10 or is not limited. When the message requires encryption, the MT field must be located after the EPD, SHT, MAC, and SN to support encryption of the MT field while other fields are not encrypted.
[0171] Figure 9b is the eighth flow chart of a data transmission method provided in an embodiment of the present application. The method can be executed by the receiving end. When the sending end is the AMF provided in Figure 1a, or the TMF provided in Figure 1b and Figure 1c, the receiving end can be the tag (TAG) provided in the corresponding figure. When the sending end is the tag (TAG) provided in Figure 1a, Figure 1b and Figure 1c, the receiving end can be the AMF or TMF provided in the corresponding figure, etc. As shown in Figure 9b, the method includes: S406 to S308.
[0172] S406: The receiving end receives the first sub-data packet and determines it as the first packet of the first data packet based on the first security field.
[0173] Please refer to S206.
[0174] S407: The receiving end receives at least one second sub-data packet until it determines according to the FN that the last second sub-data packet has been received, and reassembles the first data packet according to the order of the FN.
[0175] For example, the receiving end can determine whether each second sub-data packet arrives in sequence and whether there is any lost second sub-data packet based on FN. If there is a lost second sub-data packet, if the receiving end does not reply to the confirmation message, a retransmission request can be sent to the sending end to request the retransmission of the lost second sub-data packet.
[0176] The receiving end determines that after receiving the last second sub-packet based on FN being equal to a predefined special value, it deletes the third security field of each second sub-packet and reassembles them together with the first sub-packet in the order of FN to form a complete first data packet. Figure 11 is a third structural schematic diagram of a reassembled sub-packet provided in an embodiment of the present application. The receiving end can reassemble payload 2, payload 3, and payload 4 with the third security field deleted, and the first sub-packet of the first sub-packet including the first security field and payload 1 into a first data packet.
[0177] Optionally, for the reassembled first data packet, if the first security field indicates that integrity protection needs to be performed on the first data packet, the receiving end may further calculate a MAC to verify the integrity of the first data packet.
[0178] Optionally, the receiving end determines, based on the field before MT in the first security field, that the first security field indicates that the first data packet needs to be encrypted, and then decrypts the data packet first.
[0179] The data transmission method provided in the embodiment of the present application adds FN to the first security field and the third security field carried in the sub-data packet, so that the receiving end can determine whether the complete first data packet has been received and reassemble it. Since the sub-data packet carries less field information, it can also reduce transmission overhead and save resources.
[0180] Within a communication network, messages between the sender and receiver are typically forwarded through one or more intermediate nodes, and the intermediate nodes are not required to process the message content. For example, the communication between the AMF and the tag (TAG) is encapsulated using the NAS protocol, and the NAS message is forwarded via the RAN. This embodiment provides a reliable transmission method that can be used to transmit each sub-packet in the fragmented first data packet in the above embodiment, further ensuring that the sub-packets can reach the receiver quickly and correctly. Figure 12 is a ninth flowchart of a data transmission method provided in an embodiment of the present application. The method can be performed by a sending end, an intermediate node, and a receiving end, wherein the sending end can be the AMF provided in Figure 1a, or the TMF provided in Figures 1b and 1c, etc., the intermediate node can be the RAN provided in Figures 1a and 1b, or the RAN and AMF provided in Figure 1c, etc., the receiving end can be the tag (TAG) provided in Figures 1a, 1b, and 1c, etc., or the sending end can be the tag (TAG) provided in Figures 1a, 1b, and 1c, the intermediate node can be the RAN provided in Figures 1a and 1b, or the RAN and AMF provided in Figure 1c, etc., the receiving end can be the AMF provided in Figure 1a, or the TMF provided in Figures 1b and 1c, etc. There can also be other intermediate nodes such as UE between the TAG and the RAN. As shown in Figure 12, the method includes: S501 to S505.
[0181] S501: A sending end constructs a first data packet with a first security field.
[0182] Optionally, the information carried in the first security field may refer to the examples of S101, S201, S301 or S401.
[0183] S502: The sending end executes S203 when the first data packet needs security protection, and executes S204 when the first data packet does not need security protection.
[0184] S503: The sending end performs security processing on the first data packet according to the indication of the first security field. If the first security field indicates that the message needs to be encrypted, the message is encrypted. If the first security field indicates that the message needs to be integrity protected, a MAC of the message is calculated and inserted into the MAC of the first security field for the receiving end to verify the message integrity.
[0185] S504: The transmitting end splits the first data packet into a first sub-data packet including a first security field and at least one second sub-data packet.
[0186] Optionally, the first data packet is split into a first sub-data packet including a first security field, and at least one second sub-data packet. When the first security field refers to S101, the second sub-data packet can refer to S102; when the first security field refers to S201, the second sub-data packet can refer to S204; when the first security field refers to S301, the second sub-data packet can refer to S304; when the first security field refers to S401, the second sub-data packet can refer to S404.
[0187] S505: The sending end encapsulates the first sub-data packet into a first message and sends it to the intermediate node. The first message carries a message sequence number.
[0188] Exemplarily, in order to ensure that each sub-packet from the sending end to the intermediate node can arrive correctly and orderly, when sending each sub-packet, the sub-packet can be encapsulated into a first message, and a unique message sequence number is assigned to each sub-packet in the order of sending, and carried in the corresponding first message. The message sequence number is used to indicate the corresponding sending order of the sub-packets. For example, the message sequence number carried in the first message encapsulated by the first sub-packet can start from a certain number, such as starting from 1000. After successful sending, the message sequence number carried in the first message encapsulated by the next sub-packet (i.e., the first and second sub-packets) is increased by 1. Optionally, the message sequence number of each sub-packet in the embodiment of the present application is increased by 1 and then sent. In the actual use scenario, the increased value can be set according to the agreement between the sending end and the receiving end, and is not limited to the example of the embodiment of the present application.
[0189] S506: The intermediate node buffers the first message and sends a confirmation message to the sending end. The confirmation message carries a message sequence number corresponding to the first message.
[0190] For example, after receiving the first message, the intermediate node can also cache it. If the message sequence number of the first message is 1000, a confirmation message is returned to the intermediate node. The message sequence number carried in the confirmation message is also 1000, so that the sending end can determine which first message was sent successfully based on the message sequence number.
[0191] Optionally, the embodiment of the present application refers to Figure 1a and Figure 1b, taking an intermediate node as an example for explanation. There can be multiple intermediate nodes. When multiple intermediate nodes are deployed, their forwarding logic is the same and can be executed with reference to the examples of the embodiment of the present application.
[0192] S507: The sending end sends the first message encapsulated by at least one second sub-data packet in a packet-by-packet confirmation manner.
[0193] After the sending end receives the confirmation message with the message sequence number 1000, it can be determined that the first sub-data packet has been sent successfully, and then the first second sub-data packet after the first sub-data packet is sent in the order of splitting, that is, the second sub-data packet is also encapsulated as the first message and sent with the message sequence number. The message sequence number can be 1001, and so on, until all the second sub-data packets split in the first data packet are sent.
[0194] The packet-by-packet confirmation method means that if the confirmation message received by the receiving end carries the message sequence number corresponding to the first message sent, it is considered that the current sub-packet has been sent successfully. If the sending end does not receive the confirmation message, it is considered that the sending has failed and the current sub-packet must be resent.
[0195] S508: The intermediate node receives the first message encapsulated with the second sub-data, caches it, and sends a confirmation message to the sending end, where the confirmation message carries the message sequence number corresponding to the first message.
[0196] The intermediate node receives the first message corresponding to each second sub-data packet by packet, and carries the corresponding message sequence number in the confirmation message. The intermediate node can cache each first message and forward it to the receiving end.
[0197] For example, let's say that the sender carries a message sequence number of 1000 in the first message encapsulated in the first sub-packet. After sending the first message encapsulated in the first sub-packet, a timer is started. After receiving the first message encapsulated in the first sub-packet, the intermediate node sends a confirmation message to the sender. If the sender receives the confirmation message before the timer expires, it determines that the first sub-packet has been successfully sent. It then encapsulates the first sub-packet into a first message and sends it, carrying a message sequence number of 1001. If the timer expires but the sender still does not receive the confirmation message, it can re-encapsulate the first sub-packet into a first message and send it again. The intermediate node can determine whether the sub-packets were sent correctly and in an orderly manner based on the message sequence numbers in each first message sent by the sender. For example, after the intermediate node receives the first message with the message sequence number 1002, if the next first message received has the message sequence number 1003, it means that the transmission is correct; if after the intermediate node receives the first message with the message sequence number 1002, the message sequence number of the next first message received does not increase in sequence, such as 1005, it means that the first messages with the message sequence numbers 1003 and 1004 are lost, and the intermediate node can instruct the sender to resend (such as carrying the current message sequence number in the confirmation message, and the status can be set to lost). In this case, the intermediate node can cache the first message with the message sequence number 1005 so that there is a chance to restore sequence number synchronization; if after the intermediate node receives the first message with the message sequence number 1002, the next first message received has a message sequence number that is the same as the last one If the received message sequence number is the same, that is, the message sequence number is still 1002, it means that it is a repeated first message, and the repeated first message is discarded. Optionally, after receiving the repeated first message, the intermediate node can also indicate to the sender that the first message is sent repeatedly (such as carrying the current message sequence number in the confirmation message, and the status can be set to repeated); if the intermediate node receives the first message with the message sequence number 1002, and the next first message received has a message sequence number smaller than the last message received, such as the message sequence number 1000 or 1001, it means that the sending is abnormal, and the intermediate node can instruct the sender to resend (such as carrying the last correct message sequence number in the confirmation message, such as the message sequence number 1002, and the status can be set to abnormal, so that the sender resends from the first message with the message sequence number 1003).
[0198] S509: The intermediate node sends the cached first message to the receiving end in a packet-by-packet confirmation manner.
[0199] Exemplarily, the intermediate node transparently stores and forwards the received first message, such as the intermediate node caches and forwards all received messages, such as the first message, or other messages encapsulated from ordinary messages without sub-data packets (such as the second data packet).
[0200] Optionally, the intermediate node can receive and forward simultaneously. As long as the first message is in the cache of the intermediate node, it can be forwarded to the recipient without waiting for all first data packets to arrive before forwarding, thereby saving transmission time.
[0201] Optionally, the communication method provided in the embodiment of the present application mainly transmits messages between the intermediate node and the receiving end, between the intermediate nodes and the intermediate nodes, and between the intermediate nodes and the sending end in a reliable message transmission mode. In the example of Figure 12, reliable transmission is achieved by packet-by-packet confirmation. In actual use, other transmission mechanisms that can ensure that sub-packets arrive correctly in order can also be adopted, such as establishing a reliable transmission protocol between the sending end and the receiving end, such as using the transmission control protocol (TCP) and the stream control transmission protocol (SCTP) to ensure that sub-packets arrive correctly in order. The example of the embodiment of the present application is not limited thereto.
[0202] S510: After receiving each first message, the receiving end sends a confirmation message to the intermediate node. For example, each time the intermediate node sends a sub-data packet, after receiving the confirmation message from the confirmation end, the intermediate node may delete the cached sub-data packet accordingly.
[0203] Optionally, the intermediate node may send the first message corresponding to the next message sequence number after deleting a cached first message.
[0204] S511 , after receiving the last first message, the receiving end reassembles the first data packets according to the order of receipt.
[0205] For example, the receiving end can determine, based on the message sequence number carried in each first message, whether the first sub-packet and each second sub-packet of the first data packet arrived in sequence and whether any second sub-packets were lost. Once all sub-packets of the first data packet have been received, the first data packet is reassembled in the order in which they were received.
[0206] Optionally, after the receiving end decapsulates and obtains the second sub-data packet, it can refer to the examples of S208, S309 and S408 to delete the third security field of the second sub-data packet, and then reassemble it with the first security field and the first sub-data packet to form the first data packet.
[0207] Optionally, for the reassembled first data packet, if the first security field indicates that integrity protection needs to be performed on the first data packet, the receiving end may further calculate a MAC to verify the integrity of the first data packet.
[0208] Optionally, the receiving end determines, based on the field before MT in the first security field, that the first security field indicates that the first data packet needs to be encrypted, and then decrypts the data packet first.
[0209] The data transmission method provided in the embodiment of the present application can reduce the control information required for the reorganization of sub-data packets when transmitting sub-data packets through a segmented packet-by-packet confirmation transmission method, and can improve the transmission rate and save resources through parallel forwarding of intermediate nodes. It can also adapt to more usage scenarios and make data transmission more flexible.
[0210] FIG13 is a schematic diagram of the structure of a first device provided in an embodiment of the present application. The first device can be used in a network architecture scenario such as FIG1a, FIG1b, or FIG1c, as a sending end, such as the AMF provided in FIG1a, or the TMF provided in FIG1b and FIG1c, or the tag (TAG) in FIG1a, FIG1b, or FIG1c. As shown in FIG13, the first device 10 includes a processing module 101, a sending module 102, and a receiving module 103.
[0211] Processing module 101 is used to generate a first data packet, the first data packet includes a first security field, the first security field includes an EPD and a sub-data packet identifier, the sub-data packet identifier is at least one of SHT or FN, the first security field is different from the second security field of the second data packet, and the second data packet is a data packet that is not transmitted in fragments.
[0212] The processing module 101 is further configured to split the first data packet into a first sub-data packet including a first security field and at least one second sub-data packet.
[0213] The generating module 102 is configured to send a first sub-data packet and at least one second sub-data packet, where the first sub-data packet includes a first security field.
[0214] In one possible implementation, the sub-data packet identifier is SHT, each second sub-data packet includes a third security field, the third security field includes EPD and SHT, wherein the third security field is different from the first security field, and the third security field is different from the second security field.
[0215] In a possible implementation, the at least one second sub-data packet includes at least one middle second sub-data packet and a last second sub-data packet, and the third security field of the middle second sub-data packet is different from the third security field of the last second sub-data packet.
[0216] In a possible implementation, the sub-data packet identifier is SHT, and the first security field further includes ML, where ML is used to indicate the length of the first data packet.
[0217] In one possible implementation, the sub-data packet identifier is FN, and each second sub-data packet includes a third security field, the third security field includes EPD and FN, wherein the third security field is different from the first security field, and the third security field is different from the second security field.
[0218] In one possible implementation, at least one second sub-data packet includes at least one intermediate second sub-data packet and a last second sub-data packet, and in the third security field of the last second sub-data packet, FN is a preset value, used to indicate that the second sub-data packet is the last sub-data packet.
[0219] In one possible implementation, processing module 101 is further configured to encapsulate each sub-data packet into a first message, where the sub-data packet includes a first sub-data packet and a second sub-data packet. Sending module 102 is further configured to send the first message and add a message sequence number to the first message according to the corresponding sending order, where the message sequence number indicates the sending order of the sub-data packets.
[0220] In one possible implementation, the sending module 102 is also used to send a first message. If the receiving module 103 receives a confirmation message carrying the message sequence number of the first message, the first message corresponding to the next message sequence number is sent; if the receiving module 103 does not receive the confirmation message, the first message is resent.
[0221] In a possible implementation, the length of each sub-data packet is a fixed value, or the length of each sub-data packet is determined based on a preset dynamic adjustment strategy.
[0222] It should be understood that the modules shown in Figure 13 are only examples, and each module can refer to the method portion in the embodiment of the present application to perform its operation, or perform a variation of its operation. In the examples provided in the embodiment of the present application, other operations can also be performed, and are not limited to the examples in the embodiment of the present application.
[0223] Figure 14 is a structural schematic diagram of a second device provided in an embodiment of the present application. The second device can be used in a scenario of a network architecture such as Figure 1a, Figure 1b or Figure 1c. As a receiving end, when the sending end is the AMF provided in Figure 1a, or the TMF provided in Figure 1b and Figure 1c, the receiving end can be the tag (TAG) provided in the corresponding figure. When the sending end is the tag (TAG) provided in Figure 1a, Figure 1b and Figure 1c, the receiving end can be the AMF or TMF provided in the corresponding figure. As shown in Figure 14, the second device 20 includes: a receiving module 201, a reassembly module 202 and a sending module 203.
[0224] A receiving module 201 is configured to receive a first sub-data packet, the first sub-data packet including a first security field, the first security field including an EPD and a sub-data packet identifier, the sub-data packet identifier being at least one of SHT and FN, the first security field being different from a second security field of a second data packet, and the second data packet being a data packet transmitted without fragmentation; and receive at least one second sub-data packet.
[0225] The reassembly module 202 is configured to obtain a first data packet according to the first sub-data packet and at least one second sub-data packet.
[0226] In a possible implementation, each second sub-data packet includes a third security field, and the third security field includes EPD and SHT, wherein the third security field is different from the first security field, and the third security field is different from the second security field.
[0227] In one possible implementation, the at least one second sub-data packet includes at least one intermediate second sub-data packet and a last second sub-data packet, and the third security field of the intermediate second sub-data packet is different from the third security field of the last second sub-data packet. The reassembly module 202 is specifically configured to obtain the first data packet based on the first sub-data packet and the at least one received second sub-data packet if it is determined based on the third security field that the last second sub-data packet has been received.
[0228] In one possible implementation, the sub-data packet identifier is SHT, the first security field also includes ML, ML is used to indicate the length of the first data packet, and the reassembly module 202 is specifically used to determine whether the second sub-data packet in the first data packet has arrived according to the ML; and obtain the first data packet according to the first sub-data packet and the arrived second sub-data packet.
[0229] In one possible implementation, the sub-data packet identifier is FN, each second sub-data packet includes a third security field, the third security field includes EPD and FN, wherein the third security field is different from the first security field, and the third security field is different from the second security field.
[0230] In one possible implementation, the at least one second sub-data packet includes at least one intermediate second sub-data packet and a last second sub-data packet. In the third security field of the last second sub-data packet, FN is a preset value, which is used to indicate that the second sub-data packet is the last sub-data packet. The reassembly module 202 is specifically configured to determine that the last second sub-data packet has been received if a second sub-data packet with FN being the preset value is received; based on the first sub-data packet and the at least one second sub-data packet that has been received.
[0231] In one possible implementation, the system further includes a sending module 203. The receiving module 201 is further configured to receive a first message, which is an encapsulated sub-data packet including a first sub-data packet and a second sub-data packet. The sending module 203 is configured to send a confirmation message, which carries a message sequence number corresponding to the order in which the first message was sent. In one possible implementation, the length of each sub-data packet is a fixed value, or the length of each sub-data packet is determined based on a preset dynamic adjustment policy.
[0232] It should be understood that the modules shown in Figure 14 are only examples, and each module can refer to the method portion in the embodiment of the present application to perform its operation, or perform a variation of its operation. In the examples provided in the embodiment of the present application, other operations can also be performed, and are not limited to the examples in the embodiment of the present application.
[0233] In addition, as shown in Figure 15, Figure 15 is a schematic diagram of the structure of a device 30 according to an embodiment of the present application. The device 30 shown in Figure 15 includes a transceiver 301 and a processor 302. The device 30 is equivalent to the transmitting end exemplified in the method, and is used to execute methods S101 to S103, or execute S201 to S205, or execute S301 to S305, or execute S401 to S405, or execute S501 to S511 in the above embodiments. The device 30 is equivalent to the receiving end exemplified in the method, and is used to execute methods S105 to S107, or execute S206 to S207, or execute S306 to S308, or execute S406 to S407, or execute S501 to S511 in the above embodiments.
[0234] It should be noted that the division of the various parts in the embodiments of the present application is illustrative and represents only one logical functional division. In actual implementation, other division methods may be used. The various functions in the embodiments of the present application may be integrated into a single processor, or the transceiver and processor may exist separately. The MR may be included in the transceiver, or the MR and transceiver may be separately divided, and so on. The aforementioned integrated devices may be implemented in the form of hardware, such as a chip, or in the form of software functional units.
[0235] In addition, an embodiment of the present application further provides a device 40, as shown in FIG16 , which is a schematic structural diagram of a device 40 provided in an embodiment of the present application. As shown in FIG16 , the device 40 may include a processor 401, a memory 402 coupled to the processor 401, and a transceiver 403. The transceiver 403 may include an MR, an LR, a communication interface, an optical module, etc., for receiving messages or data information, etc. The processor 401 may include a central processing unit (CPU), a network processor (NP), or a combination of a CPU and an NP, for executing the relevant steps of the wake-up signal processing in the device exemplified in the above embodiment. The processor may also be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The above-mentioned PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof. The processor 401 may refer to a single processor or may include multiple processors. The memory 402 may include a volatile memory, such as a random-access memory (RAM); the memory may also include a non-volatile memory, such as a read-only memory (ROM), a flash memory, a hard disk drive (HDD), or a solid-state drive (SSD); the memory 402 may also include a combination of the above types of memory. The memory 402 may refer to a single memory or may include multiple memories for storing program instructions. In one embodiment, the memory 402 stores computer-readable instructions, which include multiple software modules, such as a sending module, a processing module, and a receiving module. After executing each software module, the processor 401 may perform corresponding operations according to the instructions of each software module. In this embodiment, the operation performed by a software module actually refers to the operation performed by the processor 401 according to the instructions of the software module.Optionally, the processor 401 may also store program codes or instructions for executing the embodiments of the present application. In this case, the processor 401 does not need to read the program codes or instructions from the memory 402.
[0236] The device 40 can be used to perform the method in the above embodiment. Specifically, the device 40 is equivalent to the transmitting end exemplified in the method and can perform methods S101 to S103, S201 to S205, S301 to S305, S401 to S405, or S501 to S511 in the above embodiment. The device 40 is equivalent to the receiving end exemplified in the method and is used to perform methods S105 to S107, S206 to S207, S306 to S308, S406 to S407, or S501 to S511 in the above embodiment.
[0237] In addition, embodiments of the present application further provide a communication device. The communication device includes a storage medium and a processor connected to the storage medium. The storage medium stores instructions, and when the instructions are executed by the processor, the processor is configured to implement some or all of the operations of any of the methods in any of the aforementioned embodiments.
[0238] An embodiment of the present application also provides a computer-readable storage medium, which stores instructions. When the computer-readable storage medium is executed on a processor, it implements part or all of the operations in any of the methods in any of the aforementioned embodiments.
[0239] An embodiment of the present application also provides a computer program product, including a computer program, which, when executed on a processor, implements part or all of the operations in any of the methods in any of the aforementioned embodiments.
[0240] The present application also provides a chip including an interface circuit and a processor connected to each other, wherein the processor is configured to cause the chip to execute part or all of the operations in any of the methods in any of the aforementioned embodiments.
[0241] An embodiment of the present application also provides a chip system, including: a processor, the processor is coupled to a memory, the memory is used to store programs or instructions, when the program or instructions are executed by the processor, the chip system implements part or all of the operations of any one of the methods of any one of the embodiments described above.
[0242] Optionally, there may be one or more processors in the chip system. The processor may be implemented in hardware or software. When implemented in hardware, the processor may be a logic circuit, an integrated circuit, etc. When implemented in software, the processor may be a general-purpose processor implemented by reading software code stored in a memory.
[0243] Optionally, the memory in the chip system may be one or more. The memory may be integrated with the processor or may be provided separately from the processor, which is not limited in the embodiments of the present application. For example, the memory may be a non-transient processor, such as a read-only memory (ROM), which may be integrated with the processor on the same chip or provided on different chips. The embodiments of the present application do not specifically limit the type of memory or the configuration of the memory and the processor.
[0244] Exemplarily, the chip system can be an FPGA, an ASIC, a system on chip (SoC), a CPU, an NP, a digital signal processor (DSP), a microcontroller unit (MCU), a programmable logic device (PLD), or other integrated chips.
[0245] The present application also provides a system including one or more of the aforementioned devices, apparatuses, computer-readable storage media, computer program products, chips, or chip systems, which can be applied in the scenarios shown in FIG. 1a , FIG. 1b , or FIG. 1c , but are not limited thereto.
[0246] The terms "first," "second," "third," "fourth," and the like (if any) in the specification and claims of this application and in the accompanying drawings are used to distinguish similar objects and are not necessarily used to describe a particular order or sequential sequence. It should be understood that the terms used in this manner are interchangeable where appropriate so that the embodiments described herein can be implemented in an order other than that illustrated or described herein. In addition, the terms "including" and "having," and any variations thereof, are intended to cover non-exclusive inclusions, e.g., a process, method, system, product, or apparatus comprising a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0247] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0248] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of units is only a logical business division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interface, device or unit, which can be electrical, mechanical or other forms.
[0249] Units described as separate components may or may not be physically separate, and components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.
[0250] In addition, each business unit in each embodiment of the present application can be integrated into a processing unit, each unit can exist physically separately, or two or more units can be integrated into a single unit. The above-mentioned integrated units can be implemented in the form of hardware or software business units.
[0251] If the integrated unit is implemented in the form of a software business unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the technical solution of the present application can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a number of instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, ROM, RAM, Random Access Memory, disk or optical disk, etc. Various media that can store program code.
[0252] Those skilled in the art will appreciate that, in one or more of the examples above, the services described herein may be implemented using hardware, software, firmware, or any combination thereof. When implemented using software, these services may be stored in a computer-readable medium or transmitted as one or more instructions or codes on a computer-readable medium. Computer-readable media include computer storage media and communication media, wherein communication media include any medium that facilitates the transmission of computer programs from one location to another. Storage media may be any available medium that can be accessed by a general-purpose or special-purpose computer.
[0253] The above specific implementation methods further describe in detail the purpose, technical solutions and beneficial effects of this application. It should be understood that the above are only specific implementation methods of this application.
[0254] The above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.
Claims
1. A data transmission method, characterized in that: include: Generate a first data packet, the first data packet including a first security field, the first security field including an extended protocol discriminator (EPD) and a sub-data packet identifier, the sub-data packet identifier being at least one of a security header type (SHT) or a sub-data packet sequence number (FN), the first security field being different from a second security field of a second data packet, and the second data packet being a data packet transmitted without fragmentation; Splitting the first data packet into a first sub-data packet including the first security field and at least one second sub-data packet; The first sub-data packet and the at least one second sub-data packet are sent, wherein the first sub-data packet includes the first security field.
2. The method according to claim 1, characterized in that The sub-data packet identifier is the SHT, Each of the second sub-data packets includes a third security field, and the third security field includes EPD and SHT, wherein the third security field is different from the first security field, and the third security field is different from the second security field.
3. The method according to claim 2, characterized in that The at least one second sub-data packet includes at least one middle second sub-data packet and a last second sub-data packet, and the third security field of the middle second sub-data packet is different from the third security field of the last second sub-data packet.
4. The method according to claim 1, wherein The sub-data packet identifier is the SHT, and the first security field further includes a message length ML, and the ML is used to indicate the length of the first data packet.
5. The method according to claim 1, wherein The sub-data packet identifier is the FN. Each of the second sub-data packet includes a third security field, the third security field includes the EPD and the FN, wherein the third security field is different from the first security field, and the third security field is different from the second security field.
6. The method according to claim 5, characterized in that The at least one second sub-data packet includes at least one middle second sub-data packet and a last second sub-data packet. In the third security field of the last second sub-data packet, the FN is a preset value, used to indicate that the second sub-data packet is the last sub-data packet.
7. The method according to any one of claims 1 to 6, characterized in that Also includes: Encapsulating each sub-data packet into a first message, wherein the sub-data packet includes the first sub-data packet and the second sub-data packet; The first message is sent, and a message sequence number is added to the first message according to the corresponding sending order, where the message sequence number is used to indicate the corresponding sending order of the sub-data packets.
8. The method according to claim 7, characterized in that Also includes: After sending a first message, if a confirmation message is received, and the confirmation message carries the message sequence number of the first message, then the first message corresponding to the next message sequence number is sent; if the confirmation message is not received, then it is resent.
9. The method according to any one of claims 1 to 8, characterized in that The length of each sub-data packet is a fixed value, or the length of each sub-data packet is determined based on a preset dynamic adjustment strategy.
10. A data transmission method, characterized in that: include: receiving a first sub-data packet, the first sub-data packet including a first security field, the first security field including an extended protocol discriminator (EPD) and a sub-data packet identifier, the sub-data packet identifier being at least one of a security header type (SHT) or a sub-data packet sequence number (FN), the first security field being different from a second security field of a second data packet, and the second data packet being a data packet transmitted without fragmentation; receiving at least one second sub-data packet; A first data packet is obtained according to the first sub-data packet and the at least one second sub-data packet.
11. The method according to claim 10, characterized in that Each of the second sub-data packets includes a third security field, and the third security field includes EPD and SHT, wherein the third security field is different from the first security field, and the third security field is different from the second security field.
12. The method according to claim 11, characterized in that The at least one second sub-data packet includes at least one middle second sub-data packet and a last second sub-data packet, wherein the third security field of the middle second sub-data packet is different from the third security field of the last second sub-data packet, The obtaining of the first data packet according to the first sub-data packet and the at least one second sub-data packet comprises: If it is determined according to the third security field that the last second sub-data packet has been received, the first data packet is obtained according to the first sub-data packet and the at least one received second sub-data packet.
13. The method according to claim 10, characterized in that The sub-data packet identifier is the SHT, and the first security field further includes a message length ML, and the ML is used to indicate the length of the first data packet. The obtaining of the first data packet according to the first sub-data packet and the at least one second sub-data packet comprises: determining, according to the ML, that the second sub-data packet in the first data packet has arrived; The first data packet is obtained according to the first sub-data packet and the second sub-data packet that has arrived.
14. The method according to claim 10, characterized in that The sub-data packet identifier is the FN, and each of the second sub-data packet includes a third security field, the third security field includes the EPD and the FN, wherein the third security field is different from the first security field, and the third security field is different from the second security field.
15. The method according to claim 14, characterized in that The at least one second sub-data packet includes at least one middle second sub-data packet and a last second sub-data packet, wherein in the third security field of the last second sub-data packet, the FN is a preset value, used to indicate that the second sub-data packet is the last sub-data packet. The obtaining of the first data packet according to the first sub-data packet and the at least one second sub-data packet comprises: If a second sub-data packet with the FN being the preset value is received, it is determined that the last second sub-data packet has been received; According to the first sub-data packet and the at least one second sub-data packet that has been received.
16. The method according to any one of claims 10 to 15, characterized in that Also includes: receiving a first message, where the first message is an encapsulated sub-data packet, and the sub-data packet includes the first sub-data packet and the second sub-data packet; Send a confirmation message, where the confirmation message carries a message sequence number corresponding to the sending order of the first message.
17. The method according to any one of claims 10 to 16, characterized in that The length of each sub-data packet is a fixed value, or the length of each sub-data packet is determined based on a preset dynamic adjustment strategy.
18. A communication device, characterized in that: The communication device comprises a module for executing the method according to any one of claims 1 to 9, or comprises a module for executing the method according to any one of claims 10 to 17.
19. A communication device, characterized in that: The communication device comprises a processor, wherein the processor is configured to execute the method according to any one of claims 1 to 9, or configured to execute the method according to any one of claims 10 to 17.
20. A computer-readable storage medium, characterized in that The computer-readable storage medium comprises instructions, which, when executed, enable the method according to any one of claims 1 to 9 to be implemented, or enable the method according to any one of claims 10 to 17 to be implemented.
21. A computer program product, characterized in that The computer program product comprises instructions which, when executed, cause the method according to any one of claims 1 to 9 to be implemented, or cause the method according to any one of claims 10 to 17 to be implemented.
Citation Information
Patent Citations
Data forwarding method and device
CN103024806A
Data transmission system and method, external equipment and mobile terminal
CN107371150A
Load balancing method and device, computer equipment and readable storage medium
CN111258756A
Device and method for managing session in wireless communication system
US20220210848A1
Method and device for transmitting small data packet
WO2015032037A1