WO2021204090A1 - Procédé et appareil de traitement de paquets de protocole de tunneling gprs (gtp) - Google Patents

Procédé et appareil de traitement de paquets de protocole de tunneling gprs (gtp) Download PDF

Info

Publication number
WO2021204090A1
WO2021204090A1 PCT/CN2021/085422 CN2021085422W WO2021204090A1 WO 2021204090 A1 WO2021204090 A1 WO 2021204090A1 CN 2021085422 W CN2021085422 W CN 2021085422W WO 2021204090 A1 WO2021204090 A1 WO 2021204090A1
Authority
WO
WIPO (PCT)
Prior art keywords
gtp
packet
field
packets
header
Prior art date
Application number
PCT/CN2021/085422
Other languages
English (en)
Chinese (zh)
Inventor
唐飞龙
胡伟华
李汉成
吴广雄
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2021204090A1 publication Critical patent/WO2021204090A1/fr

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • H04W28/065Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information using assembly or disassembly of packets

Definitions

  • the embodiments of the present application relate to the field of communication technologies, and in particular, to a method and device for processing a GPRS tunneling protocol GTP packet.
  • the method of compressing the packet header is usually used for data packet transmission.
  • n Real-time Transport Protocol (RTP) packets with the same length are sequentially placed in the user data
  • the payload of the user datagram protocol (UDP) packet is used as a compressed packet, thus saving n-1 Internet Protocol (IP) packet headers and UDP packet headers corresponding to n-1 packets; the receiving device is receiving After the message is received, the content is read from the UDP payload according to a fixed length as an RTP message. And because the fixed-length messages are combined, the length of each segment does not need to be processed during message compression and parsing.
  • RTP Real-time Transport Protocol
  • the above compression method uses two attributes of most types of RTP streams: (1) Most fields in the IP, UDP, and RTP headers will not change during the life cycle of the RTP session. These constant value fields It can be represented by fewer bits with session context during transmission; (2) For consecutive packets in the stream, RTP header fields such as sequence number and timestamp are increased by a constant amount.
  • GTP General Packet Radio Service tunneling protocol
  • the embodiments of the present application provide a method and device for processing a GPRS tunnel protocol GTP packet, which can reduce the amount of data transmission, thereby greatly improving the bandwidth utilization rate of the network.
  • an embodiment of the present application provides a method for processing GPRS tunneling protocol GTP packets, which is applied to a first device.
  • the method includes: determining n first GTP packets to be sent, and the n first GTP packets have the same The destination network protocol IP address, n is a positive integer; merge the GTP header and content in the n first GTP packets to obtain the second GTP packet; use the destination IP address as the destination IP address of the second GTP packet, And send the second GTP packet to the second device.
  • the first device After the first device determines the n first GTP packets to be sent, it can combine the GTP headers and contents in the n first GTP packets, so that the first device can be compatible with the traditional GTP protocol on the premise of Compression and merging of GTP packets can ensure that the original GTP header information is retained during the transmission process, and the amount of data transmission can be reduced, thereby greatly improving the bandwidth utilization of the network.
  • the combining the GTP headers and contents in the n first GTP packets to obtain the second GTP packet includes: dividing the n first GTP packets by the first and first GTP packets. GTP headers and contents of other first GTP packets other than a GTP packet are sequentially merged into the content part of the first first GTP packet to obtain the second GTP packet.
  • the GTP headers and contents of the first GTP packets other than the first GTP packet in the n first GTP packets are sequentially merged into the content part of the first first GTP packet,
  • the second GTP packet after the merger can be obtained. Since the n first GTP packets can multiplex the IP header and the UDP header, the second GTP packet after the merger can save the space of n-1 IP headers and UDP headers. .
  • the IP header of the second GTP packet includes a first field, and the first field is used to indicate the total length of the second GTP packet.
  • the GTP header of the first GTP packet includes a second field, and the second field is used to indicate the length of the GTP header and content of the first GTP packet .
  • the first field is used to indicate the total length of the second GTP packet
  • the GTP header of each first GTP packet includes the second field.
  • the second field is used to indicate the GTP header and content of the first GTP packet.
  • the combining the GTP header and content in the n first GTP packets to obtain the second GTP packet includes: respectively: each first GTP in the n first GTP packets The GTP headers of the packets are merged to obtain the merged GTP header; the content parts of each first GTP packet in the n first GTP packets are merged to obtain the merged content; the merged content is added to After the merged GTP packet header, the second GTP packet is obtained.
  • the header of the second GTP packet obtained after merging is divided into a fixed length, which is beneficial to improve the efficiency of parsing the second GTP packet by the second device.
  • each first GTP packet is The GTP packet headers are centrally placed, and the GTP content in each first GTP packet is centrally placed, so that parallel processing of messages can be realized, which is beneficial to improve the efficiency of message processing.
  • the respectively combining the GTP headers of each first GTP packet in the n first GTP packets to obtain the combined GTP header includes: separately the n first GTP packets The second field, the third field, and the fourth field in the GTP header of each first GTP packet are combined to obtain a combined GTP header, where the third field is used to indicate the flag bit, and the second field is used To indicate the length of the GTP header and content of the first GTP packet, the fourth field is used to indicate the message type of the first GTP packet; correspondingly, each of the n first GTP packets should be Merging the content parts of to obtain the merged content, including: separately merging the remaining fields in the GTP header and the content part of each first GTP packet in the n first GTP packets to obtain the merged content; Wherein, the remaining fields include other fields in the GTP header except the second field, the third field, and the fourth field.
  • the merging method in this solution makes the header of the second GTP packet obtained after merging divided into a fixed length, which is beneficial to improve the efficiency of parsing the second GTP packet by the second device.
  • the data in each first GTP packet is GTP packet headers are centrally placed, and the GTP content in each first GTP packet is centrally placed, so that parallel processing of messages can be realized, which is beneficial to improve the efficiency of message processing.
  • the combining the GTP headers and contents of the n first GTP packets to obtain the second GTP packet includes: the first GTP headers of the n first GTP packets The second field, the third field, and the fifth field are sequentially merged into the extension header of the first first GTP packet, and then the remaining fields and content parts in the GTP header of the n first GTP packets are sequentially merged into the After the first extension header of the first GTP packet, the second GTP packet is obtained, where the remaining fields include other fields in the GTP header except the second field, the third field, and the fifth field.
  • the merging method in this solution divides the header of the second GTP packet obtained after merging into a fixed length, which is beneficial to improve the efficiency of parsing the second GTP packet by the second device.
  • the GTP headers in a GTP packet are centrally placed, and the GTP content in each first GTP packet is centrally placed, so that parallel processing of messages can be realized, which is beneficial to improve the efficiency of message processing.
  • this encapsulation method is effective The encapsulation changes of the existing GTP packets are small, which improves the efficiency of message processing.
  • the total length field included in the GTP header of each first GTP packet in the n first GTP packets occupies 1 byte.
  • the total length field occupies 1 byte, which can reduce the space occupied by the first GTP packet.
  • the combining the GTP header and content in the n first GTP packets to obtain the second GTP packet includes: each first GTP packet in the n first GTP packets The included target tunnel endpoint identifier TEID field is compressed to obtain n compressed first GTP packets; the GTP header and content in the n compressed first GTP packets are combined to obtain the second GTP packet.
  • compressing the target tunnel endpoint identifier TEID field included in each first GTP packet in the n first GTP packets includes: according to each of the n first GTP packets A target TEID included in a GTP packet, query whether there is a mapping value corresponding to each target TEID in the hash table, and the hash table includes the correspondence between multiple TEIDs and the mapping value; if the hash table exists with each target TEID corresponding mapping value, the target TEID included in each first GTP packet in the n first GTP packets is replaced with a corresponding mapping value, wherein the size of the space occupied by the mapping value is smaller than that occupied by the target TEID The size of the space.
  • the GTP of the first GTP packet can be reduced after replacing the target TEID included in the first GTP packet with the mapping value.
  • the overhead of the packet header then reduces the space occupied by the second GTP packet and improves the bandwidth utilization.
  • the method further includes: if the mapping value corresponding to the first target TEID does not exist in the hash table, determining the target mapping value corresponding to the first target TEID, and combining the first target TEID The corresponding relationship between the TEID and the target mapping value is stored in the hash table.
  • the first target TEID is any one of the multiple target TEIDs; correspondingly, the sending of the second GTP packet to the second device includes : Send the corresponding relationship between the first target TEID and the target mapping value, and the second GTP packet to the second device.
  • the corresponding relationship between the first target TEID and the target mapping value is stored in the hash table, so that the target mapping value corresponding to the first target TEID will not be calculated in the next query, but It is sufficient to directly replace the first target TEID with the target mapping value, thereby improving the efficiency of compression of the target TEID field in the GTP packet.
  • the method further includes: determining whether there are target first GTP packets with the same message type field in the n first GTP packets; if there are target first GTP packets with the same message type field, then Keep the message type field in the first GTP packet of the first target, and delete the message type field in the first GTP packet of other targets.
  • the message type field in the first target first GTP packet is retained, and the message type fields in other target first GTP packets are deleted In this way, the space occupied by the GTP header of the first GTP packet can be saved, which is beneficial to improve bandwidth utilization.
  • the sending the second GTP packet to the second device includes: putting the second GTP packet into a buffer queue; when the length of the buffer queue reaches a preset length or the waiting time exceeds a preset length When the value is set, the second GTP packet in the buffer queue is sent to the second device.
  • the second GTP packet in the buffer queue is sent to the second device, which can improve bandwidth utilization.
  • the waiting time exceeds a preset value, the second GTP packet in the buffer queue is sent to the second device, thereby reducing the waiting time delay and improving the sending efficiency of the GTP packet.
  • the method further includes: the m consecutive second GTP packets are all sent when the waiting time exceeds a preset value, then the length of the buffer queue is reduced, where m is a positive integer; Alternatively, if the second GTP packet is sent t consecutive times when the length of the buffer queue reaches the preset length, the length of the buffer queue is increased, where t is a positive integer.
  • the length and waiting time of the buffer queue by dynamically adjusting the length and waiting time of the buffer queue, it is possible to balance the efficiency between waiting delay and merging efficiency according to the continuous link packet transmission and reception in real time, and increase the dynamics and dynamics of GTP packet transmission. flexibility.
  • the maximum queue length of the buffer queue can be dynamically reduced, and the first GTP packet merging degree can be reduced, so that the system bandwidth can be efficiently used.
  • the degree of merging of the first GTP packet can be increased, and the link bandwidth utilization rate can be further increased.
  • an embodiment of the present application provides a method for processing GPRS tunneling protocol GTP packets, which is applied to a second device, and the method includes: receiving a second GTP packet sent by the first device, and the second GTP packet is a combination of n The GTP packet header and content in the first GTP packet are combined; the second GTP packet is parsed to obtain n first GTP packets, and the n first GTP packets have the same destination IP address.
  • the first device After the first device determines the n first GTP packets to be sent, it can combine the GTP headers and contents in the n first GTP packets, so that the first device can be compatible with the traditional GTP protocol on the premise of Compression and merging of GTP packets can ensure that the original GTP header information is retained during the transmission process, and the amount of data transmission can be reduced, thereby greatly improving the bandwidth utilization of the network.
  • parsing the second GTP packet to obtain n first GTP packets includes: parsing n GTP headers from the second GTP packet, and comparing them with the n GTP headers The content part corresponding to each GTP header; each GTP header and the content part corresponding to the GTP header are combined to obtain the n first GTP packets.
  • the IP header of the second GTP packet includes a first field, and the first field is used to indicate the total length of the second GTP packet.
  • the GTP header of the first GTP packet includes a second field, and the second field is used to indicate the length of the GTP header and content of the first GTP packet .
  • the first field is used to indicate the total length of the second GTP packet
  • the GTP header of each first GTP packet includes the second field.
  • the second field is used to indicate the GTP header and content of the first GTP packet.
  • parsing the second GTP packet to obtain n first GTP packets includes: parsing n second fields and n third fields from the header of the second GTP packet Field and p fourth fields; where p is a positive integer less than or equal to n; the remaining fields of n GTP headers and n content parts are parsed from the content of the second GTP packet, where the remaining fields include The other fields in the GTP header except the second field, the third field, and the fourth field; the second field, the third field, the fourth field, the remaining fields, and the content part are combined to obtain n The first GTP package.
  • the second device can parse the n second fields, n third fields, and p fourth fields, and then parse the remaining fields and n content parts of the n GTP headers, and then separate the second Fields, the third field, the fourth field, the remaining fields, and the content part are combined to obtain n first GTP packets, which is beneficial to improve the efficiency of data analysis.
  • parsing the second GTP packet to obtain n first GTP packets includes: sequentially parsing the remaining fields of the n GTP packet headers from the extension header of the second GTP packet, and n content parts, where the remaining fields include other fields in the GTP header except the second field, the third field, and the fifth field; and sequentially parse out n second fields from the extension header of the second GTP packet Fields, n third fields, and n fifth fields; the second field, the third field, the fifth field, the remaining fields, and the content part are respectively combined to obtain n first GTP packets.
  • the total length field included in the GTP header of each first GTP packet in the n first GTP packets occupies 1 byte.
  • the total length field occupies 1 byte, which can reduce the space occupied by the first GTP packet.
  • the method further includes: for each first GTP packet in the n first GTP packets, according to the mapping value in the first GTP packet, query whether the hash table is related to the The target tunnel endpoint identifier TEID corresponding to the mapping value, and the hash table includes multiple correspondences between TEIDs and the mapping value; if there is a target TEID corresponding to the mapping value in the hash table, the first GTP packet is included The included mapping value is replaced with the corresponding target TEID to obtain the processed first GTP packet; wherein the size of the space occupied by the mapping value is smaller than the size of the space occupied by the target TEID.
  • the second device replaces the mapping value included in the first GTP packet with the queried target TEID by querying the hash table, so as to ensure the accuracy of the restored first GTP packet.
  • the method further includes: receiving a correspondence between the target TEID and the mapping value from the first device.
  • an embodiment of the present application provides a processing device for GPRS tunneling protocol GTP packets, including: a processing unit, configured to determine n first GTP packets to be sent, and the n first GTP packets have the same destination network protocol IP address, n is a positive integer; the processing unit is also used to merge the GTP header and content in the n first GTP packets to obtain a second GTP packet; the sending unit is used to use the destination IP address as the The destination IP address of the second GTP packet, and send the second GTP packet to the second device.
  • the processing unit is specifically configured to: respectively, in the n first GTP packets, excluding the first first GTP packet, GTP headers and contents, in sequence The content part of the first first GTP packet is merged to obtain the second GTP packet.
  • the IP header of the second GTP packet includes a first field, and the first field is used to indicate the total length of the second GTP packet.
  • the GTP header of the first GTP packet includes a second field, and the second field is used to indicate the length of the GTP header and content of the first GTP packet .
  • the processing unit is specifically configured to: respectively merge the GTP headers of each first GTP packet in the n first GTP packets to obtain a combined GTP header; The content parts of each first GTP packet in the first GTP packets are combined to obtain the combined content; the combined content is added to the back of the combined GTP packet header to obtain the second GTP packet.
  • the processing unit is specifically configured to: perform the second field, the third field, and the fourth field in the GTP header of each first GTP packet in the n first GTP packets.
  • the combined GTP header is obtained, where the third field is used to indicate the flag bit, the second field is used to indicate the length of the GTP header and content of the first GTP packet, and the fourth field is used to indicate the first
  • the message type of the GTP packet the remaining fields in the GTP header and the content part of each first GTP packet in the n first GTP packets are combined to obtain the combined content; wherein, the remaining fields include the GTP Other fields in the packet header except the second field, the third field, and the fourth field.
  • the processing unit is specifically configured to: respectively merge the second field, the third field, and the fifth field in the GTP header of the n first GTP packets into the first first field in sequence.
  • the remaining fields and content parts of the GTP header of the n first GTP packets are sequentially merged into the extension header of the first GTP packet to obtain the second GTP packet , Where the remaining fields include other fields in the GTP header except the second field, the third field, and the fifth field.
  • the total length field included in the GTP header of each first GTP packet in the n first GTP packets occupies 1 byte.
  • the processing unit is specifically configured to: compress the target tunnel endpoint identifier TEID field included in each first GTP packet in the n first GTP packets to obtain n compressed The first GTP packet; the GTP header and content in the n compressed first GTP packets are combined to obtain the second GTP packet.
  • the processing unit is specifically configured to: according to the target TEID included in each first GTP packet in the n first GTP packets, query whether there is a corresponding target TEID in the hash table
  • the mapping value, the hash table includes the correspondence between multiple TEIDs and the mapping value; if there is a mapping value corresponding to each target TEID in the hash table, each first GTP in the n first GTP packets
  • the target TEID included in the packet is replaced with a corresponding mapping value, wherein the size of the space occupied by the mapping value is smaller than the size of the space occupied by the target TEID.
  • the processing unit is specifically configured to: if the mapping value corresponding to the first target TEID does not exist in the hash table, determine the target mapping value corresponding to the first target TEID, and combine the The corresponding relationship between the first target TEID and the target mapping value is stored in the hash table.
  • the first target TEID is any one of the multiple target TEIDs; correspondingly, the sending unit is specifically used to: The second device sends the correspondence between the first target TEID and the target mapping value, and the second GTP packet.
  • the processing unit is specifically configured to: determine whether there are target first GTP packets with the same message type field in the n first GTP packets; if there are target first GTP packets with the same message type field, Packet, the message type field in the first GTP packet of the first target is retained, and the message type field in the first GTP packet of other targets is deleted.
  • the sending unit is specifically configured to: put the second GTP packet into a buffer queue; when the length of the buffer queue reaches a preset length or the waiting time exceeds a preset value, buffer the second GTP packet.
  • the second GTP packet in the queue is sent to the second device.
  • the processing unit is specifically configured to: if the m consecutive second GTP packets are all sent when the waiting time exceeds a preset value, the length of the buffer queue is reduced, where m is A positive integer; or, if the second GTP packet is sent t consecutive times when the length of the buffer queue reaches the preset length, the length of the buffer queue is increased, where t is a positive integer.
  • an embodiment of the present application provides an apparatus for processing a GPRS tunneling protocol GTP packet, including: a receiving unit, configured to receive a second GTP packet sent by a first device, and the second GTP packet is a combination of n first GTP packets. The GTP header and content in the packet are combined; the processing unit is configured to parse the second GTP packet to obtain n first GTP packets, and the n first GTP packets have the same destination IP address.
  • the processing unit is specifically configured to: parse out n GTP headers from the second GTP packet, and content parts corresponding to each GTP header in the n GTP headers; separately Combine a GTP packet header and a content part corresponding to the GTP packet header to obtain the n first GTP packets.
  • the IP header of the second GTP packet includes a first field, and the first field is used to indicate the total length of the second GTP packet.
  • the GTP header of the first GTP packet includes a second field, and the second field is used to indicate the length of the GTP header and content of the first GTP packet .
  • the processing unit is specifically configured to: parse out n second fields, n third fields, and p fourth fields from the header of the second GTP packet; where p is A positive integer less than or equal to n; the remaining fields of n GTP headers and n content parts are parsed from the content of the second GTP packet, where the remaining fields include the GTP header except for the second field and the first The three fields and other fields except the fourth field; the second field, the third field, the fourth field, the remaining fields, and the content part are respectively combined to obtain n first GTP packets.
  • the processing unit is specifically configured to: sequentially parse out the remaining fields and n content parts of the n GTP headers from the extension header of the second GTP packet, where the remaining fields include the Other fields in the GTP packet header except the second, third, and fifth fields; from the extension header of the second GTP packet, n second fields, n third fields, and n fifth fields are sequentially parsed Fields; respectively combine the second field, the third field, the fifth field, the remaining fields, and the content part to obtain n first GTP packets.
  • the total length field included in the GTP header of each first GTP packet in the n first GTP packets occupies 1 byte.
  • the processing unit is specifically configured to: for each first GTP packet in the n first GTP packets, according to the mapping value in the first GTP packet, query whether the hash table is There is a target tunnel endpoint identifier TEID corresponding to the mapping value, and the hash table includes multiple correspondences between TEIDs and the mapping value; if there is a target TEID corresponding to the mapping value in the hash table, the first The mapping value included in the GTP packet is replaced with the corresponding target TEID to obtain the processed first GTP packet; wherein the size of the space occupied by the mapping value is smaller than the size of the space occupied by the target TEID.
  • the apparatus further includes: a receiving unit configured to receive the correspondence between the target TEID and the mapping value from the first device.
  • an embodiment of the present application provides a processing device for GPRS tunneling protocol GTP packets.
  • the device includes a processor and a memory.
  • the memory stores a computer program.
  • the processor executes the computer program stored in the memory to enable The device executes the method of the first aspect or the second aspect.
  • an embodiment of the present application provides a processing device for GPRS tunneling protocol GTP packets, including: a processor and an interface circuit; the interface circuit is configured to receive code instructions and transmit them to the processor; and the processor is configured to The code instruction is executed to execute the method as described in the first aspect or the second aspect.
  • the device mentioned in the third aspect of this application can be a network device or a chip in a network device.
  • the network device or chip has the ability to implement the above-mentioned aspects or any possible design of the GPRS tunneling protocol GTP packet processing method Function.
  • the function can be realized by hardware, or the corresponding software can be executed by hardware.
  • the hardware or software includes one or more units corresponding to the above-mentioned functions.
  • the network device includes a processing unit and a transceiving unit.
  • the processing unit may be a processor, the transceiving unit may be a transceiver, and the transceiver includes a radio frequency circuit.
  • the network device further includes a storage unit, and the storage unit may be a memory, for example.
  • the storage unit is used to store computer-executed instructions
  • the processing unit is connected to the storage unit, and the processing unit executes the computer-executed instructions stored by the storage unit, so that the network device executes the above aspects or any possible design GPRS tunnel protocol GTP packet processing method.
  • the chip includes a processing unit and a transceiver unit.
  • the processing unit may be a processor, and the transceiver unit may be an input/output interface, pin, or circuit on the chip.
  • the processing unit can execute the computer-executable instructions stored in the storage unit, so that the chip executes the GPRS tunneling protocol GTP packet processing method in the above aspects or any possible design.
  • the storage unit may be a storage unit in the chip (for example, a register, a cache, etc.), and the storage unit may also be a storage unit (for example, read-only memory, ROM) located outside the chip in the terminal device. )) or other types of static storage devices (for example, random access memory (RAM)) that can store static information and instructions.
  • the aforementioned processor may be a central processing unit (CPU), a microprocessor or an application specific integrated circuit (ASIC), or one or more for controlling the above aspects or It is an integrated circuit for program execution of any possible design of the GPRS tunneling protocol GTP packet processing method.
  • CPU central processing unit
  • ASIC application specific integrated circuit
  • the device mentioned in the fourth aspect of this application can be a serving gateway (SGW) or a chip in the SGW.
  • SGW or chip has the GPRS tunnel protocol GTP package that implements the above aspects or any possible design.
  • the function of the processing method can be realized by hardware, or the corresponding software can be executed by hardware.
  • the hardware or software includes one or more units corresponding to the above-mentioned functions.
  • the SGW includes a processing unit and a transceiving unit.
  • the processing unit may be a processor, the transceiving unit may be a transceiver, and the transceiver includes a radio frequency circuit.
  • the SGW further includes a storage unit, and the storage unit may be a memory, for example.
  • the storage unit is used to store computer execution instructions
  • the processing unit is connected to the storage unit, and the processing unit executes the computer execution instructions stored in the storage unit, so that the SGW executes the above aspects or any possible design of GPRS
  • the processing method of the tunneling protocol GTP packet The processing method of the tunneling protocol GTP packet.
  • the chip includes a processing unit and a transceiver unit.
  • the processing unit may be a processor, and the transceiver unit may be an input/output interface, pin, or circuit on the chip.
  • the processing unit can execute the computer-executable instructions stored in the storage unit, so that the chip executes the GPRS tunneling protocol GTP packet processing method in the above aspects or any possible design.
  • the storage unit may be a storage unit in the chip (for example, a register, a cache, etc.), and the storage unit may also be a storage unit (for example, read-only memory, ROM) located outside the chip in the SGW. ) Or other types of static storage devices (for example, random access memory (RAM)) that can store static information and instructions.
  • RAM random access memory
  • the aforementioned processor may be a central processing unit (CPU), a microprocessor or an application specific integrated circuit (ASIC), or one or more for controlling the above aspects or It is an integrated circuit for program execution of any possible design of the GPRS tunneling protocol GTP packet processing method.
  • CPU central processing unit
  • ASIC application specific integrated circuit
  • an embodiment of the present application provides a GPRS tunneling protocol GTP packet processing system, which includes the network device according to the third aspect and the SGW according to the fourth aspect.
  • an embodiment of the present application provides a readable storage medium for storing an instruction, and when the instruction is executed, the method according to the first aspect or the second aspect of the claim is realized.
  • the embodiments of the present application provide a computer program product containing instructions, which when run on a computer or a processor, cause the computer or the processor to execute any aspect of the first aspect to the second aspect of the embodiments of the present application Provide the processing method of GPRS tunnel protocol GTP packet.
  • the method and device for processing GPRS tunneling protocol GTP packets determine the n first GTP packets to be sent, the n first GTP packets have the same destination IP address, n is a positive integer, and n
  • the GTP header and content in the first GTP packet are combined to obtain the second GTP packet, and then the destination IP address is used as the destination IP address of the second GTP packet, and the second GTP packet is sent to the second device.
  • n first GTP packets can be obtained.
  • the first device After the first device determines the n first GTP packets to be sent, it can combine the GTP headers and contents in the n first GTP packets, so that the first device can be compatible with the traditional GTP protocol on the premise of Compression and merging of GTP packets can ensure that the original GTP header information is retained during the transmission process, and the amount of data transmission can be reduced, thereby greatly improving the bandwidth utilization of the network.
  • FIG. 1 is a schematic diagram of the architecture of a communication system provided by an embodiment of this application.
  • FIG. 2 is a schematic diagram of the architecture of another communication system provided by an embodiment of this application.
  • FIG. 3 is a signaling interaction diagram of the GTP packet processing method of this application.
  • Figure 4 is a schematic diagram of the structure of the first GTP packet
  • FIG. 5 is a schematic diagram of a structure of a second GTP packet after merging
  • FIG. 6 is another schematic diagram of the structure of the combined second GTP packet
  • FIG. 7 is another schematic diagram of the structure of the combined second GTP packet
  • FIG. 8 is a schematic diagram of the first GTP packet after TEID is compressed
  • FIG. 9 is a schematic diagram of the first GTP packet after the message type field is compressed.
  • FIG. 10 is a schematic structural diagram of a GPRS tunneling protocol GTP packet processing device provided by an embodiment of this application.
  • FIG. 11 is a schematic structural diagram of a processing device for GPRS tunneling protocol GTP packets provided by an embodiment of the application;
  • FIG. 12 is a schematic structural diagram of a network device provided by an embodiment of this application.
  • FIG. 13 is a schematic structural diagram of an SGW provided by an embodiment of the application.
  • the unit in this application refers to a functional unit or a logical unit. It can be in the form of software, and its function is realized by the processor executing the program code; it can also be in the form of hardware.
  • the first device may be a network device, and the second device may be a serving gateway (SGW).
  • the first device may be a device with sending capability
  • the second device may be a device with receiving capability.
  • the first device is the network device and the second device is the SGW as an example.
  • the first device is the network device, and the second device is the network device.
  • the equipment is similar to the SGW, and will not be repeated in this application.
  • FIG. 1 is a schematic diagram of the architecture of a communication system provided by an embodiment of this application.
  • the communication system may include at least one network device 10 and at least one terminal device located within the coverage area of the network device 10.
  • the terminal device can be a fixed location, or it can be movable.
  • Fig. 1 is only a schematic diagram.
  • the communication system may also include other equipment, such as core network equipment, and the network equipment is connected to the core network equipment in a wireless or wired manner.
  • the core network equipment and the network equipment can be separate and different physical equipment.
  • the functions of the core network equipment and the logical functions of the network equipment can also be integrated on the same physical equipment, or part of the core network equipment can be integrated on the same physical equipment.
  • the communication system may also include other network devices, such as wireless relay devices and wireless backhaul devices, which are not shown in FIG. 1.
  • the embodiments of the present application do not limit the number of core network equipment, network equipment, and terminal equipment included in the communication system.
  • the network device 10 can send downlink information to one or a few of the terminal device 11 to the terminal device 16.
  • the terminal device 11 to the terminal device 15 that can directly communicate with the network device 10 may also send uplink information to the network device 10 separately or at the same time.
  • a network device is an entity used to transmit or receive signals on the network side, such as a generation NodeB (gNodeB).
  • the network device may be a device used to communicate with mobile devices.
  • Network equipment can be APs in wireless local area networks (WLAN), base transceivers in global system for mobile communications (GSM) or code division multiple access (CDMA).
  • WLAN wireless local area networks
  • GSM global system for mobile communications
  • CDMA code division multiple access
  • BTS BTS
  • BTS BTS
  • BTS base station
  • NodeB, NB base station
  • WCDMA Wideband Code Division Multiple Access
  • evolutional Long Term Evolution
  • LTE Long Term Evolution
  • Node B, eNB or eNodeB Node B, eNB or eNodeB
  • relay station or access point or in-vehicle equipment, wearable equipment, and network equipment in the future 5G network or the network in the future evolved public land mobile network (PLMN) network Equipment, or gNodeB in the NR system, etc.
  • PLMN public land mobile network
  • the network equipment provides services for the cell, and the terminal equipment communicates with the network equipment through the transmission resources (for example, frequency domain resources, or spectrum resources) used by the cell.
  • the cell may be a network equipment.
  • the corresponding cell can belong to a macro base station or a base station corresponding to a small cell.
  • the small cell here can include: metro cell, micro cell, and pico cell (pico cell), femto cell (femto cell), etc., these small cells have the characteristics of small coverage and low transmit power, and are suitable for providing high-rate data transmission services.
  • the network device may be another device that provides wireless communication functions for the terminal device.
  • the embodiment of the present application does not limit the specific technology and specific device form adopted by the network device. For ease of description, in the embodiments of the present application, a device that provides a wireless communication function for a terminal device is referred to as a network device.
  • the terminal device may be a wireless terminal device that can receive network device scheduling and instruction information
  • the wireless terminal device may be a device that provides voice and/or data connectivity to the user, or a handheld device with wireless connection function, or connects to Other processing equipment for wireless modems.
  • a wireless terminal device can communicate with one or more core networks or the Internet via a wireless access network (e.g., radio access network, RAN).
  • the wireless terminal device can be a mobile terminal device, such as a mobile phone (or called a "cellular" phone).
  • Mobile phones Mobile phones
  • computers, and data cards for example, may be portable, pocket-sized, handheld, computer-built or vehicle-mounted mobile devices, and they exchange language and/or data with the wireless access network.
  • Wireless terminal equipment can also be called system, subscriber unit, subscriber station, mobile station, mobile station (MS), remote station (remote station), access point ( access point (AP), remote terminal equipment (remote terminal), access terminal equipment (access terminal), user terminal equipment (user terminal), user agent (user agent), subscriber station (SS), user terminal equipment (customer premises equipment, CPE), terminal (terminal), user equipment (user equipment, UE), mobile terminal (mobile terminal, MT), etc.
  • the wireless terminal device may also be a wearable device and a next-generation communication system, for example, a terminal device in a 5G network or a terminal device in a future evolved PLMN network, a terminal device in a new radio (NR) communication system, and so on.
  • a next-generation communication system for example, a terminal device in a 5G network or a terminal device in a future evolved PLMN network, a terminal device in a new radio (NR) communication system, and so on.
  • NR new radio
  • the terminal device 14 to the terminal device 16 can also form a device-to-device communication system.
  • the terminal device 15 is the sender and can send information to the terminal device 14 and the terminal device 16.
  • One or more of the terminal devices send information, and correspondingly, the terminal device 14 and the terminal device 16 can send data to the terminal device 15 separately or at the same time.
  • Network equipment and terminal equipment can be deployed on land, including indoor or outdoor, handheld or vehicle-mounted; they can also be deployed on water; they can also be deployed on airborne aircraft, balloons, and satellites.
  • the embodiments of the present application do not limit the application scenarios of network equipment and terminal equipment.
  • Fig. 2 is a schematic structural diagram of another communication system provided by an embodiment of the application.
  • the LTE network may include: UE, Evolved UMTS Terrestrial Radio Access Network (E-UTRAN), signaling management network element (Mobility Management Entity, MME), SGW, packet Data network gateway entity (Packet Data Network Gateway, PGW), scheme and charging rule function entity (Policy and Charging Rule Function, PCRF), home network server (Home Subscriber Server, HSS), operator's IP services, etc.
  • E-UTRAN Evolved UMTS Terrestrial Radio Access Network
  • MME Mobility Management Entity
  • SGW Packet Data Network Gateway
  • PGW Packet Data Network Gateway
  • Policy and Charging Rule Function Policy and Charging Rule Function
  • PCRF Policy and Charging Rule Function
  • HSS Home Subscriber Server
  • the core network of the LTE network mainly includes three logical functions: MME, SGW, and PGW.
  • MME is a signaling management network element, responsible for non-access stratum (NAS) signaling encryption, and assigning temporary identities to UEs. Identify and select core network elements such as SGW and PGW, provide roaming, tracking, security and other functions;
  • SGW is the mobility anchor point for handover between local eNBs, and provides legal monitoring related functions;
  • PGW is responsible for user address allocation and program control Functions related to the execution of charging rules and lawful interception;
  • HSS is used to store user subscription information;
  • PCRF is used to provide solutions and charging control rules.
  • the access and mobility management function (AMF) entity and the session management function (Session Management Function, SMF) entity can be replaced by the MME, and the core network user plane function entity
  • the (User Plane Function, UPF) can be replaced by the PGW and SGW in the LTE system.
  • the authentication server function (authentication server function, AUSF) entity and ARPF entity are replaced by the HSS.
  • the HSS is used to store the subscription information, which can be customer identification
  • MME is a signaling management network element, responsible for NAS signaling encryption, assigning temporary identities to UEs, selecting core network elements such as SGW and PGW, and providing functions such as roaming, tracking, and security;
  • SGW is a mobile switch between eNBs Anchor point, and provide legal interception related functions;
  • PGW is responsible for IP address allocation, plan control and charging rules execution, and legal interception related functions.
  • the aforementioned communication system may be an LTE system, an LTE-Advanced (LTE-A) system, or a 5G NR system.
  • LTE-A LTE-Advanced
  • 5G NR 5G NR
  • the embodiments of this application can also be applied to other communication systems, as long as there is an entity in the communication system that can determine the n first GTP packets to be sent, the n first GTP packets have the same destination IP address, and the n th
  • the GTP header and content in a GTP packet are combined to obtain a second GTP packet, and then the destination IP address is used as the destination IP address of the second GTP packet, and the second GTP packet is sent to another entity.
  • another entity can parse the second GTP packet to obtain n first GTP packets.
  • data packet transmission is usually carried out by compressing the packet header.
  • n RTP packets of the same length can be placed in the payload of the UDP packet in sequence as the compressed packet. This saves the IP header and UDP header corresponding to n-1 packets; after receiving the packet, the receiving device reads the content from the UDP payload with a fixed length as an RTP packet.
  • the RTP header and payload are not processed, and fixed-length messages are combined, so the length of each segment does not need to be processed during message compression and parsing.
  • the above compression method uses two attributes of most types of RTP streams: (1) Most fields in IP, UDP, and RTP headers will not change during the life cycle of the RTP session. These constant value fields It can be represented by fewer bits with session context during transmission; (2) For consecutive packets in the stream, RTP header fields such as sequence number and timestamp are increased by a constant amount.
  • a method for processing GTP packets is proposed.
  • the n first GTP packets have the same destination IP address, and n is a positive integer.
  • FIG. 3 is a signaling interaction diagram of the GTP packet processing method of this application.
  • the GTP packet processing method may include the following steps:
  • Step 301 Determine the n first GTP packets to be sent.
  • the n first GTP packets have the same destination IP address, and n is a positive integer.
  • the first device will continuously send GTP packets to the second device, where n first GTP packets may be GTP packets continuously sent by the first device to the second device, and the n first GTP packets include The destination IP address is the same.
  • Step 302 Combine the GTP header and content in the n first GTP packets to obtain a second GTP packet.
  • the first device may combine the GTP headers and contents in the n first GTP packets, where the first GTP packet
  • the content of can also be understood as the payload part of the first GTP packet, which can include user messages or user data.
  • the GTP header and content in the n first GTP packets may be combined, which may be the first GTP packet except the first first GTP packet in the n first GTP packets.
  • the GTP header and content of the GTP packet are sequentially merged into the content part of the first first GTP packet to obtain the second GTP packet.
  • the n first GTP packets can multiplex the IP header and the UDP header, that is, when pairing the GTP header and the UDP header in the n first GTP packets
  • the GTP header and content in the first GTP packet can be taken as a whole, so that the GTP header and content in the second GTP packet to the nth GTP packet are merged into the first GTP in sequence. In the content section of the package.
  • the merging of the GTP headers and contents in the two first GTP packets will be described as an example.
  • the method of merging the GTP headers and contents of three or more first GTP packets is different from the method of merging the GTP headers and contents of the two first GTP packets.
  • the method of merging the GTP header and content in a GTP packet is similar, and will not be repeated here.
  • FIG. 4 is a schematic diagram of the structure of the first GTP packet.
  • each first GTP packet includes an IP header, a UDP header, a GTP header, and GTP content
  • the GTP header includes a version number (version) Fields, protocol type (protocol type) field, extension header flag field, sequence number flag field, N-PDU number flag field, TEID flag (TEID) flag) field, total length (total length) field, message type (message type) field, TEID and TEID hash value field, among them, the TEID field will only exist when the value of the TEID flag (TEID flag) field is 1. .
  • Figure 5 is a schematic structural diagram of the combined second GTP packet.
  • the first first GTP packet and the second first GTP packet can multiplex the same IP header and UDP header. And merge the GTP header and GTP content of the second first GTP packet into the GTP content of the first first GTP packet, that is, the version number (version) field and protocol type of the second first GTP packet ( protocol type) field, extension header flag field, sequence number flag field, N-PDU number flag field, TEID flag field, total The total length field, the message type field, the TEID field and the TEID hash value field, and the GTP content are merged into the GTP content of the first GTP packet.
  • the version number (version) field and protocol type of the second first GTP packet protocol type
  • extension header flag field extension header flag field
  • sequence number flag field sequence number flag field
  • N-PDU number flag field N-PDU number flag field
  • TEID flag field total
  • the GTP headers and contents of the first GTP packets other than the first first GTP packet in the n first GTP packets are sequentially merged into the content part of the first first GTP packet.
  • the combined second GTP packet can save n-1 IP headers and UDP headers. space.
  • the header and content of the n first GTP packets are combined to obtain the second GTP packet.
  • the IP header of the second GTP packet obtained after the combination includes a first field, and the first field is used to indicate the total length of the second GTP packet.
  • the GTP header of the first GTP packet includes a second field, and the second field is used to indicate the length of the GTP header and content of the first GTP packet.
  • the second field For example, it may be the total length (total length) field shown in FIG. 4.
  • the second device when the second device receives the second GTP packet and parses the second GTP packet, it can use the first field included in the IP header and the second field included in the parsed GTP header. Field, you can determine whether there is a first GTP packet in the future. Exemplarily, if there is no subsequent first GTP packet, the length information indicated by the first field matches the length information indicated by the second field included in the parsed GTP packet header. Among them, the above-mentioned matching can be understood as the length information indicated by the first field and the length information indicated by the second field included in the parsed GTP header, or it can be the length information indicated by the first field and the parsed GTP header There is a correspondence between the length information indicated by the second field included in the.
  • the first field is used to indicate the total length of the second GTP packet
  • the GTP header of each first GTP packet includes the second field
  • the second field is used to indicate the GTP header and content of the first GTP packet.
  • combining the GTP headers and contents of the n first GTP packets may be respectively combining the GTP headers of each first GTP packet in the n first GTP packets to obtain The merged GTP header, and the content of each first GTP packet in the n first GTP packets are merged to obtain the merged content, and then the merged content is added to the merged GTP header to obtain The second GTP packet.
  • the GTP headers in the n first GTP packets and the GTP contents in the n first GTP packets may be merged respectively.
  • This merging method makes the header of the second GTP packet obtained after the merging divided into fixed lengths, which is beneficial to improve the efficiency of the second device's parsing of the second GTP packet.
  • the GTP header in each first GTP packet is changed Centralized placement, centralized placement of the GTP content in each first GTP packet, so that parallel processing of messages can be realized, which is beneficial to improve the efficiency of message processing.
  • the second field in the GTP header of each first GTP packet in the n first GTP packets may be combined.
  • the third field and the fourth field are combined to obtain the combined GTP header, where the third field is used to indicate the flag bit, the second field is used to indicate the length of the GTP header and content of the first GTP packet, and the fourth field Used to indicate the message type of the first GTP packet.
  • each first GTP packet in the n first GTP packets may be the remaining fields in the GTP header of each first GTP packet in the n first GTP packets, and The content parts are merged to obtain the merged content; wherein, the remaining fields include other fields in the GTP header except the second field, the third field, and the fourth field.
  • the second field is the total length field
  • the third field includes the extension header flag field, the sequence number flag field, and the N-PDU number flag field.
  • the flag field and the TEID flag (TEID flag) field, the fourth field is the message type (message type) field as an example for description.
  • the GTP header of the first GTP packet includes a version number (version) field, a protocol type (protocol type) field, an extension header flag field, and a sequence number flag. flag field, N-PDU number flag field, TEID flag field, total length field, message type field, TEID field, and TEID hash value field.
  • Figure 6 is another schematic diagram of the structure of the combined second GTP packet. As shown in Figure 6, when the GTP headers in the n first GTP packets are combined, the GTP headers of the first GTP packets can be combined.
  • Extension header flag field, sequence number flag field, N-PDU number flag field, TEID flag field, total length The fields and message type (message type) fields are split from the GTP header, and these fields split from the GTP header of each first GTP packet are combined, so that the combined GTP header can be obtained and combined
  • the combined header is placed in the header of the second GTP packet.
  • the remaining fields in the GTP header of each first GTP packet and the GTP content part are combined and placed in the content part of the second GTP packet. It can also be understood as the n remaining fields in the GTP header of the first GTP packet
  • the and content parts are sequentially placed after the merged packet header to form the content part of the second GTP packet.
  • the remaining fields include a version number (version) field, a protocol type (protocol type) field, a TEID field, and a TEID hash value field.
  • the header of the second GTP packet obtained after merging is divided into a fixed length, which is beneficial to improve the efficiency of parsing the second GTP packet by the second device.
  • each first GTP packet is The GTP packet headers are centrally placed, and the GTP content in each first GTP packet is centrally placed, so that parallel processing of messages can be realized, which is beneficial to improve the efficiency of message processing.
  • combining the GTP headers and contents in the n first GTP packets may be respectively combining the second field, the third field, and the third field in the GTP header of the n first GTP packets.
  • the five fields are sequentially merged into the extension header of the first first GTP packet, and then the remaining fields and content parts in the GTP header of the n first GTP packets are merged into the extension header of the first first GTP packet in turn Then, a second GTP packet is obtained, where the remaining fields include other fields in the GTP header except the second field, the third field, and the fifth field.
  • the second field may be a total length field
  • the third field may be an extension header flag field, a sequence number flag field, and an N-PDU number flag field.
  • the fifth field may be a TEID field.
  • the remaining fields include a version number (version) field, a protocol type (protocol type) field, a message type field, and a TEID hash value field.
  • the extension header of the first GTP packet is mainly used to carry the merged GTP header.
  • the following takes the merging of three first GTP packets as an example for description.
  • the merging method of other numbers of first GTP packets is similar to the merging method of three first GTP packets, and will not be repeated here.
  • Figure 7 is another schematic diagram of the structure of the combined second GTP packet.
  • the GTP header of the first first GTP packet GTP-U1 can be used as the GTP header of the second GTP packet, and
  • the total length field of the second first GTP packet GTP-U2 and the third first GTP packet GTP-U3, the extension header flag field, and the sequence number flag (sequence number flag) field, N-PDU number flag (number flag) field, TEID flag (TEID flag) field, and TEID field are combined into the extension header of GTP-U1, that is, the above mentioned in GTP-U2 and GTP-U3
  • the fields are placed after the extended header field or sequence number field of GTP-U1 in turn.
  • the extension header part of GTP-U1 after the extension header of GTP-U1, the content part of GTP-U1, the extension header part of GTP-U2, the content part of GTP-U2, the extension header part of GTP-U3 and The content part of GTP-U3, where the extension header part of GTP-U2 and the extension header part of GTP-U3 both include the remaining fields, that is, the version number (version) field, the protocol type (protocol type) field, the message type field, and the TEID hash value field.
  • the header of the second GTP packet obtained after merging is divided into fixed lengths, which is beneficial to improve the efficiency of parsing the second GTP packet by the second device.
  • each The GTP header in the first GTP packet is centrally placed, and the GTP content in each first GTP packet is centrally placed, so that parallel processing of messages can be realized, which is beneficial to improve the efficiency of message processing.
  • this encapsulation method The encapsulation changes to the existing GTP packet are minor, which improves the efficiency of message processing.
  • UDP header and IP header are multiplexed based on the IP of the tunnel end point, which can greatly reduce the bandwidth waste caused by the outer redundant IP header/UDP header, and can improve bandwidth utilization.
  • the total length field included in the GTP header of each first GTP packet in the n first GTP packets occupies 1 byte.
  • the third byte and the fourth byte in the first GTP packet represent the length of the message, and the range that can be represented by 16 bits is 0-2 16 -1 bytes.
  • the typical length is 20, 40-250 bytes, therefore, only 8 bits, that is, one byte (byte) is needed to express the length. Therefore, the total length field can be compressed, that is, the total length field included in the GTP packet header occupies 1 byte, which can reduce the space occupied by the first GTP packet.
  • combining the GTP headers and contents in the n first GTP packets may be to compress the target TEID field included in each first GTP packet in the n first GTP packets , Obtain n compressed first GTP packets, and combine the GTP headers and contents in the n compressed first GTP packets to obtain the second GTP packet.
  • the target TEID field included in the first GTP packet occupies four bytes, which usually occupies 50% of the size of the entire GTP header. Therefore, in order to save the overhead of the header, compression of the target TEID field can be considered.
  • a TEID is usually assigned to a session. From the perspective of saving TEID occupancy packet header, and the need to be able to quickly restore the original TEID information at the receiving end, usually choose to use a hash table (Hash mapping).
  • the average time complexity of Hash mapping is O(1), which can meet the requirement of the receiving end to quickly restore the original TEID.
  • the length of the mapped field starting from the actual scenario, can usually be allocated to 16 bits, that is, 2 bytes (byte), which can achieve a balance between resetting the Hash table after the mapping is full and reducing the field occupation.
  • the hash strategy is used to compress the TEID, the TEID field can be stably compressed to 2 bytes under the premise of a one-to-one correspondence. Compared with the original GTP packet, the TEID field space can be saved by 50%.
  • the hash algorithm has an O(1) reading efficiency, it can increase the bandwidth utilization rate as much as possible without increasing the time delay.
  • the target TEID field included in each first GTP packet in the n first GTP packets it may be based on the target TEID included in each first GTP packet in the n first GTP packets , Query whether there is a mapping value corresponding to each target TEID in the hash table, where the hash table includes the correspondence between multiple TEIDs and the mapping value; if there is a mapping value corresponding to each target TEID in the hash table, then The target TEID included in each first GTP packet in the n first GTP packets is replaced with a corresponding mapping value, where the size of the space occupied by the mapping value is smaller than the size of the space occupied by the target TEID.
  • a hash table is set in the first device, and the hash table includes at least one TEID and a mapping value corresponding to each TEID in the at least one TEID, wherein the size of the space occupied by the mapping value is smaller than its corresponding The size of the space occupied by the TEID.
  • the space occupied by the mapping value is usually 2 bytes, and the space occupied by the TEID is usually 4 bytes.
  • the first device For each target TEID included in the first GTP packet, the first device will query the hash table to determine whether there is a mapping value corresponding to the target TEID in the hash table, if there is a mapping corresponding to the target TEID in the hash table Value, the target TEID included in the first GTP packet will be replaced with the queried mapping value, and the TEID flag in the first GTP packet will be set to 1.
  • the target TEID included in the first GTP packet is replaced with the mapped value to reduce the size of the first GTP packet.
  • the overhead of the GTP packet header then reduces the space occupied by the second GTP packet and improves the bandwidth utilization.
  • the target mapping value corresponding to the first target TEID is determined, and the correspondence between the first target TEID and the target mapping value is stored in the hash table.
  • the first target TEID is any one of multiple target TEIDs.
  • the first device queries the hash table and determines that the mapping value corresponding to the first target TEID included in the GTP header of a certain first GTP packet does not exist in the hash table, it can determine the first target TEID by using a preset algorithm.
  • the target mapping value corresponding to a target TEID for example, the target mapping value can be determined by a hash algorithm, of course, the target mapping value can also be determined by other algorithms, as long as the calculated target mapping value occupies a space smaller than the first The size of the space occupied by the target TEID is sufficient.
  • the preset algorithm the embodiment of the present application does not limit it here.
  • the first device may replace the first target TEID in the first GTP packet with the determined target mapping value, and mark the TEID in the first GTP packet
  • the bit field is set to 1.
  • the corresponding relationship between the first target TEID and the target mapping value can also be stored in a hash table, so that the target mapping value corresponding to the first target TEID will not be calculated in the next query, but It is sufficient to directly replace the first target TEID with the target mapping value, thereby improving the efficiency of compression of the target TEID field in the GTP packet.
  • the first device in order to enable the second device to correctly restore the first GTP packet, the first device also needs to send the correspondence between the first target TEID and the target mapping value to the second device.
  • the first device may send the second GTP packet and the determined correspondence to the second device at the same time, or may send the second GTP packet first, and then send the correspondence, or may also send the correspondence first, and then Send the second GTP packet.
  • the sending manner of the correspondence between the first target TEID and the target mapping value is not limited in the embodiment of the present application.
  • the content in the hash table can be changed Clear to perform a new mapping, that is, to store the corresponding relationship between the new TEID and the mapping value.
  • a new mapping that is, to store the corresponding relationship between the new TEID and the mapping value.
  • Figure 8 is a schematic diagram of the first GTP packet after TEID is compressed.
  • the first GTP packet includes a version number (version) field, a protocol type (protocol type) field, and an extended message header flag bit ( extension header flag field, sequence number flag field, N-PDU number flag field, TEID flag field, total length field, message type field, TEID field, TEID hash value field, Sequence number field, N-PDU number field, Extension Context Length field, Next extension header type field, and extension content ( Extension Context), where the total length field is 1 byte, and the TEID field in the GTP header is replaced with the TEID hash value, and the TEID hash value is the above-mentioned mapping value.
  • version number version number
  • protocol type protocol type
  • extended message header flag bit extension header flag field, sequence number flag field, N-PDU number flag field, TEID flag field, total length field, message type field, TEID field, TEID hash value field, Sequence number
  • the TEID in the GTP packet header can also be replaced by a TEID hash value or a mapping value.
  • the second device may also compress the message type field included in the GTP header of the first GTP packet. Exemplarily, it can be determined whether there is a target first GTP packet with the same message type field in the n first GTP packets, and if there is a target first GTP packet with the same message type field, the first target first GTP packet is retained And delete the message type field in the first GTP packet of other targets.
  • a buffer pool is maintained in the first device, and multiple buffer queues are maintained in the buffer pool, and the first GTP packet in each buffer queue can be combined and sent.
  • the buffer pool is maintained according to the destination IP address, and the buffer queue is maintained in the buffer pool according to the message type. In practical applications, it can be determined whether there is a target first GTP packet with the same message type among the n first GTP packets to be sent.
  • the first GTP packet of the target is placed in the same buffer queue, and multiple target first GTP packets only need to retain the message type field in the first target first GTP packet, and the first GTP packet of other targets
  • the message type field can be deleted, so that 1 byte (byte) of storage space can be saved.
  • FIG. 9 is a schematic diagram of the first GTP packet after the message type field is compressed. As shown in FIG. 9, compared with the first GTP packet in FIG. 8, the message type field can be deleted, thereby saving 1 word Section (byte) storage space.
  • the message type field in the first target first GTP packet is retained, and the message types in other target first GTP packets are deleted In this way, the space occupied by the GTP header of the first GTP packet can be saved, which is beneficial to improve bandwidth utilization.
  • Step 303 Use the destination IP address as the destination IP address of the second GTP packet, and send the second GTP packet to the second device.
  • the n first GTP packets merged by the first device have the same destination IP address.
  • the first device can use the destination IP address as the destination IP address of the second GTP packet. Send the second GTP packet to the second device.
  • the first device when the first device sends the second GTP packet to the second device, it can put the second GTP packet into the buffer queue, and the length of the buffer queue reaches the preset length or the waiting time exceeds the preset length.
  • the second GTP packet in the buffer queue is sent to the second device.
  • a buffer pool is maintained in the first device, and multiple buffer queues are maintained in the buffer pool. Multiple first GTP packets in each buffer queue can be combined to obtain a second GTP packet, and the obtained The second GTP packet is sent.
  • the length of the buffer queue can be set to a preset length. When the length of the second GTP packet in the buffer queue reaches the preset length, the second GTP packet in the buffer queue can be sent to the second device, or for To reduce the time delay, it may also be that when the waiting time exceeds a preset value, the second GTP packet in the buffer queue is sent to the second device.
  • the preset length and the preset value can be set according to actual conditions or experience.
  • the preset length can be set to 3
  • the preset value can be 5ms, etc.
  • this application The embodiments are not limited here.
  • the second GTP packet in the buffer queue is sent to the second device, which can improve bandwidth utilization.
  • the waiting time exceeds a preset value
  • the second GTP packet in the buffer queue is sent to the second device, thereby reducing the waiting time delay and improving the sending efficiency of the GTP packet.
  • the parameters of the buffer queue include the maximum number of messages allowed in the buffer queue and/or the maximum waiting time allowed for the messages. Specifically, if m consecutive second GTP packets are sent when the waiting time exceeds the preset value, the length of the buffer queue is reduced, where m is a positive integer, or if the second GTP packets are sent evenly for t consecutive times When the length of the buffer queue reaches the preset length, the length of the buffer queue is increased, where t is a positive integer.
  • the m consecutive second GTP packets in the buffer queue are sent only when the waiting time exceeds the preset value, it means that the length of the buffer queue may be relatively large. At this time, the length of the buffer queue can be reduced.
  • the value of m can be set according to actual conditions or experience, for example, it can be 3. The specific value of m is not limited in the embodiment of the present application.
  • the second GTP packet included in a certain buffer queue is sent, the second GTP packet in the buffer queue is sent when the length of the buffer queue reaches the preset length for t consecutive times, then the length of the buffer queue It may be smaller. In this case, the length of the buffer queue can be increased.
  • the value of t can be set according to actual conditions or experience, for example, it can be 3. The specific value of t is not limited in the embodiment of the present application.
  • a sending state state which is used to indicate whether it is sent when the waiting time exceeds a preset value or sent when the length of the buffer queue reaches the preset length.
  • a sending state state which is used to indicate whether it is sent when the waiting time exceeds a preset value or sent when the length of the buffer queue reaches the preset length.
  • two counters cnt-queuefull and cnt-timeout are set for each buffer queue.
  • the counter cnt-queuefull represents the number of consecutive GTP packets sent by the buffer queue because the queue is full
  • the counter cnt-timeout represents The number of consecutive GTP packets sent by the buffer queue due to timeout.
  • each buffer queue also maintains an interval for sending waiting time [MIN-LENGTH, MAX-LENGTH] and queue length [MIN-WAIT-TIME, MAX-WAIT-TIME].
  • change factors a and b can be defined to identify the change values of the buffer queue length and waiting time each time.
  • the increase and decrease of the buffer queue length can be determined in the following ways:
  • the length of the buffer queue can be considered to be large.
  • the length of the buffer queue can be reduced within a certain threshold range according to formula (1) Queue -length, and increase the waiting time of the second GTP packet according to formula (2):
  • Wait-time Wait-time+b(Wait-time ⁇ MAX-WAIT-TIME) (2)
  • n 3.
  • Wait-time Wait-time-b(Wait-time>MIN-WAIT-TIME) (4)
  • the length and waiting time of the buffer queue by dynamically adjusting the length and waiting time of the buffer queue, it is possible to balance the efficiency between waiting delay and merging efficiency according to the continuous link packet transmission and reception in real time, thereby increasing the dynamics of GTP packet transmission. And flexibility.
  • the maximum queue length of the buffer queue can be dynamically reduced, and the first GTP packet merging degree can be reduced, so that the system bandwidth can be efficiently used.
  • the degree of merging of the first GTP packet can be increased, and the link bandwidth utilization rate can be further increased.
  • Step 304 parse the second GTP packet to obtain n first GTP packets, and the n first GTP packets have the same destination IP address.
  • the second device after receiving the second GTP packet, the second device will parse the second GTP packet to restore the n first GTP packets before merging.
  • the second device when it parses the second GTP packet, it may parse out n GTP headers from the second GTP packet, and content corresponding to each GTP header in the n GTP headers Part, and then merge each GTP header and the content part corresponding to the GTP header to obtain n first GTP packets.
  • the first device merges the n first GTP packets, it separately combines the GTP headers and contents of the first GTP packets in the n first GTP packets except the first first GTP packet. , Merged into the content part of the first first GTP packet in turn to obtain the second GTP packet, then the second device will obtain the headers and corresponding headers of other first GTP packets from the content part of the first first GTP packet Content section.
  • the second device uses the GTP header of the second GTP packet as the first GTP header, and parses the second GTP header and the content part corresponding to the second GTP header from the content part. Then take the remaining content part as the content part corresponding to the first GTP header, and then merge the first GTP header and its corresponding content part to obtain the first first GTP packet, and combine the second GTP header and its The corresponding content parts are combined to obtain the second first GTP packet.
  • n GTP headers and content parts corresponding to each GTP header can be parsed directly from the second GTP packet, the efficiency of parsing the second GTP packet can be improved.
  • the IP header of the second GTP packet includes a first field, and the first field is used to indicate the total length of the second GTP packet.
  • the GTP header of the first GTP packet includes a second field, and the second field is used to indicate the length of the GTP header and content of the first GTP packet.
  • the second field For example, it may be the total length (total length) field shown in FIG. 4.
  • the second device When the second device receives the second GTP packet and parses the second GTP packet, it can determine according to the first field included in the IP header and the second field included in the parsed GTP header Whether there is the first GTP packet in the follow-up. Exemplarily, if there is no subsequent first GTP packet, the length information indicated by the first field matches the length information indicated by the second field included in the parsed GTP packet header. Among them, the above-mentioned matching can be understood as the length information indicated by the first field and the length information indicated by the second field included in the parsed GTP header, or it can be the length information indicated by the first field and the parsed GTP header There is a correspondence between the length information indicated by the second field included in the.
  • the first field is used to indicate the total length of the second GTP packet
  • the GTP header of each first GTP packet includes the second field
  • the second field is used to indicate the GTP header and content of the first GTP packet.
  • the second device when it parses the second GTP packet, it may parse the header of the second GTP packet to obtain n second fields, n third fields, and p fourth fields. Field, the remaining fields of n GTP headers and n content parts are parsed from the content of the second GTP packet, where the remaining fields include other fields in the GTP header except the second, third, and fourth fields , And then combine the second field, the third field, the fourth field, the remaining fields, and the content part to obtain n first GTP packets.
  • the first device merges the n first GTP packets, it separately combines the second field, the third field, and the fourth field in the GTP header of each first GTP packet in the n first GTP packets.
  • the fields are merged to obtain the merged GTP header, and the remaining fields and content parts of each first GTP packet in the n first GTP packets are merged to obtain the merged content, and then the merged content is added After the merged GTP header, the second GTP packet is obtained.
  • the second device parses the header of the second GTP packet, it will parse out n second fields, n third fields, and p fourth fields, and then parse the remaining fields of n GTP headers and n content parts from the content of the second GTP packet.
  • the second field can be a total length field
  • the third field can be an extension header flag field, a sequence number flag field, and an N-PDU number flag ( The number flag field and the TEID flag (TEID flag) field.
  • the fourth field may be a message type (message type) field.
  • the first device merges the GTP header of the first GTP packet and the corresponding content part of each header, it merges in a one-to-one order. For example, when merging the GTP header, follows the sequence of GTP package 1, GTP package 2...GTP package n. When merging the GTP content part, follow the sequence of GTP package 1, GTP package 2...GTP package n, so as to ensure that the second device is in the order There is no error when parsing the second GTP packet, which improves the accuracy of data parsing.
  • the GTP header of the first GTP packet can be parsed from the GTP header of the second GTP packet.
  • Extension header flag field, sequence number flag field, N-PDU number flag field, TEID flag field, total length (total length) ) Field and message type field and parse the content part of the second GTP packet to parse out the remaining fields in the GTP header of the first first GTP packet and the second first GTP packet and their corresponding contents Part, thereby combining the obtained GTP packet header and the corresponding content part to obtain the two first GTP packets before the combination.
  • the above message type field can be only one or more than one, that is, the number of message type fields is less than or equal to n.
  • the second device can parse the n second fields, n third fields, and p fourth fields, and then parse the remaining fields and n content parts of the n GTP headers, and then separately The two fields, the third field, the fourth field, the remaining fields, and the content part are combined to obtain n first GTP packets, which is beneficial to improve the efficiency of data analysis.
  • the second device when it parses the second GTP packet, it may sequentially parse the remaining fields of the n GTP packet headers and the n content parts from the extension header of the second GTP packet, where , The remaining fields include other fields in the GTP packet header except the second field, the third field, and the fifth field, and sequentially parse out n second fields and n third fields from the extension header of the second GTP packet And n fifth fields, and then combine the second field, third field, fifth field, remaining fields, and content part to obtain n first GTP packets.
  • the second field can be a total length field
  • the third field can be an extension header flag field, a sequence number flag field, and an N-PDU number flag ( number flag) field and TEID flag (TEID flag) field
  • the fifth field may be a TEID field.
  • the remaining fields include a version number (version) field, a protocol type (protocol type) field, a message type field, and a TEID hash value field.
  • the first device when the first device merges n first GTP packets, it respectively merges the second field, the third field, and the fifth field in the GTP header of the n first GTP packets into the first GTP packet.
  • the extension header of a first GTP packet the remaining fields and content parts of the GTP header of the n first GTP packets are sequentially merged into the extension header of the first first GTP packet to obtain the second GTP packet.
  • the second device when the second device is parsing, it uses the GTP header of the second GTP packet as the GTP header of the first GTP packet, and parses it from the extension header of the first first GTP packet in turn
  • the second field, the third field, and the fifth field are parsed from the extended header to obtain the remaining fields and the content part corresponding to each GTP header.
  • the GTP header of the second GTP packet can be used as the GTP header of the first GTP packet
  • the extension header of the first GTP packet can be Parsed out the total length field of the second first GTP packet and the third first GTP packet, the extension header flag field, the sequence number flag field, N-PDU number flag (number flag) field, TEID flag (TEID flag) field and TEID field, and then from the first extension header of the first GTP packet to parse out the rest of the GTP header of each first GTP packet Field and the corresponding content part, thereby combining the obtained GTP packet header and the corresponding content part to obtain the two first GTP packets before the combination.
  • the header of the second GTP packet is divided into fixed lengths, when parsing the second GTP packet, it is beneficial to improve the parsing efficiency of the second GTP packet by the second device.
  • the first device replaces the TEID in the GTP header with the corresponding mapping value. Therefore, in order to obtain the correct first GTP packet, the second device is The second GTP packet is parsed, and after n first GTP packets are obtained, for each first GTP packet in the n first GTP packets, according to the mapping value in the first GTP packet, the hash table is queried whether there is a The target TEID corresponding to the mapping value, where the hash table includes multiple correspondences between TEIDs and the mapping value; if there is a target TEID corresponding to the mapping value in the hash table, the first GTP packet included The mapping value is replaced with the corresponding target TEID to obtain the processed first GTP packet, wherein the size of the space occupied by the mapping value is smaller than the size of the space occupied by the target TEID.
  • the hash table includes multiple correspondences between TEIDs and mapping values
  • the second device queries the hash table to determine whether there is a TEID corresponding to the mapping value included in the first GTP packet in the hash table. , Then replace the mapping value included in the first GTP packet with the queried TEID, so that the correct first GTP packet can be obtained.
  • the first device may also change the newly determined value when sending the second GTP packet to the second device.
  • the correspondence between the mapping value and the TEID is sent to the second device. In this way, the second device can determine the TEID corresponding to the mapping value included in the first GTP packet according to the received correspondence, so as to replace the mapping value with the corresponding TEID.
  • the second device since the size of the space occupied by the mapping value is smaller than the size of the space occupied by the target TEID, the space occupied by the GTP header can be reduced.
  • the second device replaces the mapping value included in the first GTP packet with the queried target TEID by querying the hash table, so as to ensure the accuracy of the restored first GTP packet.
  • This embodiment provides a method for processing GTP packets.
  • the n first GTP packets have the same destination IP address, n is a positive integer, and the n first GTP packets are The GTP header and content in the GTP packet are combined to obtain the second GTP packet, and then the destination IP address is used as the destination IP address of the second GTP packet, and the second GTP packet is sent to the second device, and the second device performs the second GTP After the packet is parsed, n first GTP packets can be obtained.
  • the first device After the first device determines the n first GTP packets to be sent, it can combine the GTP headers and contents in the n first GTP packets, so that the first device can be compatible with the traditional GTP protocol on the premise of Compression and merging of GTP packets can ensure that the original GTP header information is retained during the transmission process, and the amount of data transmission can be reduced, thereby greatly improving the bandwidth utilization of the network.
  • FIG. 10 is a schematic structural diagram of an apparatus 10 for processing a GPRS tunneling protocol GTP packet provided by an embodiment of the application. Please refer to FIG. 10.
  • the apparatus 10 for processing a GPRS tunneling protocol GTP packet may include:
  • the processing unit 11 is configured to determine the n first GTP packets to be sent, the n first GTP packets have the same destination network protocol IP address, and n is a positive integer; the processing unit 11 is also used to determine the n first GTP packets The GTP header and content in a GTP packet are combined to obtain a second GTP packet; the sending unit 12 is configured to use the destination IP address as the destination IP address of the second GTP packet, and send the second GTP to the second device Bag.
  • the processing unit 11 is specifically configured to: respectively merge the GTP headers and contents of the first GTP packets except the first first GTP packet among the n first GTP packets into the first GTP packet in sequence. The content part of the first GTP packet to obtain the second GTP packet.
  • the IP header of the second GTP packet includes a first field, and the first field is used to indicate the total length of the second GTP packet.
  • the GTP header of the first GTP packet includes a second field, and the second field is used to indicate the length of the GTP header and content of the first GTP packet.
  • the processing unit 11 is specifically configured to: combine the GTP headers of each first GTP packet in the n first GTP packets to obtain a combined GTP header; The content parts of each first GTP packet in the packet are combined to obtain the combined content; the combined content is added to the back of the combined GTP packet header to obtain the second GTP packet.
  • the processing unit 11 is specifically configured to: respectively combine the second field, the third field, and the fourth field in the GTP header of each first GTP packet in the n first GTP packets to obtain a combined
  • the latter GTP header where the third field is used to indicate the flag bit, the second field is used to indicate the length of the GTP header and content of the first GTP packet, and the fourth field is used to indicate the message of the first GTP packet Type; Respectively merge the remaining fields in the GTP header of each first GTP packet in the n first GTP packets, and the content part to obtain the merged content; wherein, the remaining fields include the GTP header except the Fields other than the second field, the third field, and the fourth field.
  • the processing unit 11 is specifically configured to: respectively merge the second field, the third field, and the fifth field in the GTP header of the n first GTP packets into the first GTP packet.
  • the extension header the remaining fields and content parts of the GTP header of the n first GTP packets are sequentially merged into the extension header of the first first GTP packet to obtain the second GTP packet, where the The remaining fields include other fields in the GTP header except the second field, the third field, and the fifth field.
  • the total length field included in the GTP header of each first GTP packet in the n first GTP packets occupies 1 byte.
  • the processing unit 11 is specifically configured to: compress the target tunnel endpoint identifier TEID field included in each first GTP packet in the n first GTP packets to obtain n compressed first GTP packets ; Combine the GTP header and content in the n compressed first GTP packets to obtain the second GTP packet.
  • the processing unit 11 is specifically configured to: according to the target TEID included in each first GTP packet in the n first GTP packets, query whether there is a mapping value corresponding to each target TEID in the hash table, and
  • the hash table includes multiple correspondences between TEIDs and mapping values; if there is a mapping value corresponding to each target TEID in the hash table, then each of the n first GTP packets included in each first GTP packet
  • the target TEID is replaced with a corresponding mapping value, wherein the size of the space occupied by the mapping value is smaller than the size of the space occupied by the target TEID.
  • the processing unit 11 is specifically configured to: if the mapping value corresponding to the first target TEID does not exist in the hash table, determine the target mapping value corresponding to the first target TEID, and combine the first target TEID The corresponding relationship between the target mapping value and the target mapping value is stored in the hash table.
  • the first target TEID is any one of the multiple target TEIDs; correspondingly, the sending unit 12 is specifically configured to: The correspondence between the first target TEID and the target mapping value, and the second GTP packet are sent.
  • the processing unit 11 is specifically configured to: determine whether there is a target first GTP packet with the same message type field in the n first GTP packets; if there is a target first GTP packet with the same message type field, keep it The message type field in the first GTP packet of the first target, and the message type field in the first GTP packet of other targets is deleted.
  • the sending unit 12 is specifically configured to: put the second GTP packet into a buffer queue; when the length of the buffer queue reaches a preset length or the waiting time exceeds a preset value, the second GTP packet in the buffer queue Two GTP packets are sent to the second device.
  • the processing unit 11 is specifically configured to: if the m consecutive second GTP packets are all sent when the waiting time exceeds a preset value, reduce the length of the buffer queue, where m is a positive integer; or If the second GTP packet is sent when the length of the buffer queue reaches the preset length for t consecutive times, the length of the buffer queue is increased, where t is a positive integer.
  • the device 10 for processing GPRS tunneling protocol GTP packets shown in the embodiment of the present application can execute the technical solution of the method for processing GPRS tunneling protocol GTP packets shown in any of the above embodiments, and its implementation principles and beneficial effects are similar. Here Do not repeat it.
  • FIG. 11 is a schematic structural diagram of an apparatus 20 for processing a GPRS tunneling protocol GTP packet provided by an embodiment of the application. Please refer to FIG. 11.
  • the apparatus 20 for processing a GPRS tunneling protocol GTP packet may include:
  • the receiving unit 21 is configured to receive a second GTP packet sent by the first device, where the second GTP packet is obtained by combining the GTP header and content in the n first GTP packets; the processing unit 22 is configured to The second GTP packet is parsed to obtain n first GTP packets, and the n first GTP packets have the same destination IP address.
  • the processing unit 22 is specifically configured to: parse out the n GTP headers from the second GTP packet, and the content part corresponding to each GTP header in the n GTP headers; and separate each GTP header with The content parts corresponding to the GTP packet header are combined to obtain the n first GTP packets.
  • the IP header of the second GTP packet includes a first field, and the first field is used to indicate the total length of the second GTP packet.
  • the GTP header of the first GTP packet includes a second field, and the second field is used to indicate the length of the GTP header and content of the first GTP packet.
  • the processing unit 22 is specifically configured to: parse out n second fields, n third fields, and p fourth fields from the header of the second GTP packet; where p is less than or equal to n Parsed from the content of the second GTP packet, the remaining fields and n content parts of the n GTP headers, where the remaining fields include the GTP header except for the second field, the third field and the Fields other than the fourth field; the second field, the third field, the fourth field, the remaining fields, and the content part are respectively combined to obtain n first GTP packets.
  • the processing unit 22 is specifically configured to: sequentially parse out the remaining fields of the n GTP headers and the n content parts from the extension header of the second GTP packet, where the remaining fields include the GTP header except for The second field, the third field, and the other fields except the fifth field; from the extension header of the second GTP packet, n second fields, n third fields, and n fifth fields are sequentially parsed; respectively The second field, the third field, the fifth field, the remaining fields, and the content part are combined to obtain n first GTP packets.
  • the total length field included in the GTP header of each first GTP packet in the n first GTP packets occupies 1 byte.
  • the processing unit 22 is specifically configured to: for each first GTP packet in the n first GTP packets, according to the mapping value in the first GTP packet, query whether there is a mapping with the hash table.
  • the target tunnel endpoint identifier TEID corresponding to the value, and the hash table includes multiple correspondences between TEIDs and mapping values; if there is a target TEID corresponding to the mapping value in the hash table, then the first GTP packet The included mapping value is replaced with the corresponding target TEID to obtain the processed first GTP packet; wherein the size of the space occupied by the mapping value is smaller than the size of the space occupied by the target TEID.
  • the device further includes: a receiving unit 23, configured to receive the correspondence between the target TEID and the mapping value from the first device.
  • the device 20 for processing GPRS tunneling protocol GTP packets shown in the embodiment of the present application can execute the technical solution of the method for processing GPRS tunneling protocol GTP packets shown in any of the above embodiments, and its implementation principles and beneficial effects are similar, here Do not repeat it.
  • each unit of the above device is only a division of logical functions, and may be fully or partially integrated into a physical entity during actual implementation, or may be physically separated.
  • these units can all be implemented in the form of software invocation through processing elements; they can also be implemented in the form of hardware; part of the units can also be implemented in the form of software invocation through processing elements, and some of the units can be implemented in the form of hardware.
  • the receiving unit can be a separate processing element, or it can be integrated in a chip of the processing device of the GPRS tunneling protocol GTP packet.
  • it can also be stored in the processing device of the GPRS tunneling protocol GTP packet in the form of a program.
  • a certain processing element of the processing device calls and executes the function of the receiving unit.
  • the implementation of other units is similar.
  • all or part of these units can be integrated together or implemented independently.
  • the processing element described here may be an integrated circuit with signal processing capability.
  • each step of the above method or each of the above units can be completed by an integrated logic circuit of hardware in the processor element or instructions in the form of software.
  • the above receiving unit is a unit that controls receiving, and can receive information through the receiving device of the GPRS tunneling protocol GTP packet processing device.
  • the above units may be one or more integrated circuits configured to implement the above methods, for example: one or more application specific integrated circuits (ASIC), or one or more microprocessors (digital singnal processors). , DSP), or, one or more field programmable gate arrays (FPGA), etc.
  • ASIC application specific integrated circuits
  • DSP digital singnal processors
  • FPGA field programmable gate arrays
  • the processing element may be a general-purpose processor, such as a central processing unit (CPU) or other processors that can call programs.
  • CPU central processing unit
  • these units can be integrated together and implemented in the form of a system-on-a-chip (SOC).
  • SOC system-on-a-chip
  • FIG. 12 is a schematic structural diagram of a network device provided by an embodiment of this application.
  • the network equipment includes: an antenna 110, a radio frequency device 120, and a baseband device 130.
  • the antenna 110 is connected to the radio frequency device 120.
  • the radio frequency device 120 receives the information sent by the terminal through the antenna 110, and sends the information sent by the terminal device to the baseband device 130 for processing.
  • the baseband device 130 processes the information of the terminal device and sends it to the radio frequency device 120
  • the radio frequency device 120 processes the information of the terminal device and sends it to the terminal device via the antenna 110.
  • the above units are implemented in the form of a processing element scheduler.
  • the baseband device 130 includes a processing element 131 and a storage element 132, and the processing element 131 calls a program stored in the storage element 132 to execute the above method embodiments. method.
  • the baseband device 130 may further include an interface 133 for exchanging information with the radio frequency device 120, and the interface is, for example, a common public radio interface (CPRI).
  • CPRI common public radio interface
  • the above units may be one or more processing elements configured to implement the above methods. These processing elements are provided on the baseband device 130.
  • the processing elements here may be integrated circuits, such as one or more One ASIC, or, one or more DSP, or, one or more FPGA, etc. These integrated circuits can be integrated together to form a chip.
  • the above modules can be integrated and implemented in the form of a system-on-a-chip (SOC).
  • the baseband device 130 includes an SOC chip for implementing the above method.
  • the processing element 131 and the storage element 132 can be integrated in the chip, and the processing element 131 calls the stored program of the storage element 132 to implement the above methods or the functions of the above units; or, at least one integrated circuit can be integrated in the chip.
  • some of the functions of the units are realized in the form of calling programs by processing elements, and the functions of some of the units are realized in the form of integrated circuits.
  • the above network device includes at least one processing element, a storage element and a communication interface, wherein at least one processing element is used to execute the method provided in the above method embodiment.
  • the processing element can execute part or all of the steps in the above method embodiments in the first way: that is, by executing the program stored in the storage element; or in the second way: through the integrated logic circuit of the hardware in the processor element.
  • Some or all of the steps in the above method embodiments are executed in a manner of combining instructions; of course, the methods provided in the above method embodiments may also be executed in combination with the first manner and the second manner.
  • the processing element here is the same as the above description, it may be a general-purpose processor, such as a central processing unit (CPU), or it may be one or more integrated circuits configured to implement the above methods, for example: one or more specific Integrated circuit (application specific integrated circuit, ASIC), or, one or more microprocessors (digital digital processor, DSP), or, one or more field programmable gate arrays (FPGA), etc.
  • CPU central processing unit
  • ASIC application specific integrated circuit
  • DSP digital digital processor
  • FPGA field programmable gate arrays
  • the storage element can be a memory or a collective term for multiple storage elements.
  • FIG. 13 is a schematic structural diagram of an SGW provided by an embodiment of the application.
  • the SGW may include a transmitter 30, a processor 31, a memory 32, a receiver 34, and at least one communication bus 33.
  • the transmitter 30 and the receiver 34 may be a combined module, and the combined module may be, for example, a transceiver, which has the functions of the transmitter 30 and the receiver 34 at the same time.
  • the communication bus 33 is used to implement communication connections between components.
  • the memory 32 may include a high-speed RAM memory, or it may also include a non-volatile storage NVM, such as at least one disk memory. Method steps.
  • the memory 32 is used to store a program that implements the above method embodiment or each unit of the embodiment shown in FIG. 11, and the processor 31 calls the program to execute the operations of the above method embodiment to implement each unit shown in FIG. 11 Corresponding function.
  • the transceiver can be connected to the antenna. The transceiver can receive the information sent by the network device, and send the information to the processor 31 for processing.
  • This application also provides a device for processing GPRS tunneling protocol GTP packets.
  • the device includes a processor and a memory, and a computer program is stored in the memory.
  • the processor executes the computer program stored in the memory to enable all
  • the device executes the GPRS tunneling protocol GTP packet processing method provided in any of the foregoing embodiments.
  • This application also provides a processing device for GPRS tunneling protocol GTP packets, including: a processor and an interface circuit;
  • the interface circuit is used to receive code instructions and transmit them to the processor
  • the processor is configured to run the code instructions to execute the GPRS tunneling protocol GTP packet processing method provided in any of the foregoing embodiments.
  • This application also provides a GPRS tunneling protocol GTP packet processing system, including the network equipment shown in FIG. 10 and the SGW shown in FIG. 11.
  • the present application also provides a readable storage medium for storing instructions, and when the instructions are executed, the GPRS tunneling protocol GTP packet processing method provided in any of the foregoing embodiments is used.
  • the program product includes a computer program (that is, an execution instruction), and the computer program is stored in a readable storage medium.
  • At least one processor of the network device can read the computer program from a readable storage medium, and at least one processor executes the computer program to make the network device implement the GPRS tunneling protocol GTP packet processing method provided in the foregoing various embodiments.
  • An embodiment of the present application also provides a processing device for GPRS tunneling protocol GTP packets, which includes at least one storage element and at least one processing element.
  • the at least one storage element is used to store a program.
  • the processing device of the tunneling protocol GTP packet executes the operation of the network device in any of the above-mentioned embodiments.
  • the present application also provides a readable storage medium for storing instructions.
  • the instructions When the instructions are executed, the GPRS tunneling protocol GTP packet processing method provided in any of the foregoing embodiments is used.
  • the program product includes a computer program (that is, an execution instruction), and the computer program is stored in a readable storage medium.
  • At least one processor of the SGW can read the computer program from a readable storage medium, and at least one processor executes the computer program to enable the SGW to implement the GPRS tunneling protocol GTP packet processing method provided in the foregoing various embodiments.
  • An embodiment of the present application also provides a processing device for GPRS tunneling protocol GTP packets, which includes at least one storage element and at least one processing element.
  • the at least one storage element is used to store a program.
  • the processing device of the tunneling protocol GTP packet executes the operation of the SGW in any of the above-mentioned embodiments.
  • the present application also provides a readable storage medium for storing instructions.
  • the instructions When the instructions are executed, the GPRS tunneling protocol GTP packet processing method provided in any of the foregoing embodiments is used.
  • the program product includes a computer program (that is, an execution instruction), and the computer program is stored in a readable storage medium.
  • At least one processor of the SGW can read the computer program from a readable storage medium, and at least one processor executes the computer program to enable the SGW to implement the GPRS tunneling protocol GTP packet processing method provided in the foregoing various embodiments.
  • An embodiment of the present application also provides a processing device for GPRS tunneling protocol GTP packets, which includes at least one storage element and at least one processing element.
  • the at least one storage element is used to store a program.
  • the processing device of the tunneling protocol GTP packet executes the operation of the SGW in any of the above-mentioned embodiments.
  • All or part of the steps in the foregoing method embodiments may be implemented by a program instructing relevant hardware.
  • the aforementioned program can be stored in a readable memory.
  • the program executes the steps of the foregoing method embodiments; and the foregoing memory (storage medium) includes: read-only memory (English: read-only memory, ROM), RAM, flash memory, hard disk, and solid state hard disk , Magnetic tape, floppy disk, optical disc, and any combination thereof.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

La présente invention concerne un procédé et un appareil de traitement de paquets de protocole de tunneling GPRS (GTP). Ledit procédé consiste à : déterminer n premiers paquets GTP à envoyer, lesdits n premiers paquets GTP comprenant la même adresse de protocole Internet (IP) de destination, et n étant un nombre entier positif ; combiner les en-têtes GTP et un contenu dans lesdits n premiers paquets GTP, pour obtenir un second paquet GTP ; et utiliser l'adresse IP de destination en tant qu'adresse IP de destination du second paquet GTP, et envoyer le second paquet GTP à un second dispositif. Le procédé et l'appareil de traitement de paquets GTP de la présente invention peuvent réduire la quantité de transmission de données, ce qui permet de considérablement améliorer le taux d'utilisation de bande passante du réseau.
PCT/CN2021/085422 2020-04-09 2021-04-02 Procédé et appareil de traitement de paquets de protocole de tunneling gprs (gtp) WO2021204090A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010275193.7A CN113518386A (zh) 2020-04-09 2020-04-09 Gprs隧道协议gtp包的处理方法和装置
CN202010275193.7 2020-04-09

Publications (1)

Publication Number Publication Date
WO2021204090A1 true WO2021204090A1 (fr) 2021-10-14

Family

ID=78023992

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/085422 WO2021204090A1 (fr) 2020-04-09 2021-04-02 Procédé et appareil de traitement de paquets de protocole de tunneling gprs (gtp)

Country Status (2)

Country Link
CN (1) CN113518386A (fr)
WO (1) WO2021204090A1 (fr)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101350812A (zh) * 2008-08-22 2009-01-21 上海华为技术有限公司 一种数据的传输方法、通信设备及通信系统
CN101388825A (zh) * 2007-09-12 2009-03-18 华为技术有限公司 一种传输gprs隧道协议数据包的方法和设备
CN101420369A (zh) * 2007-10-24 2009-04-29 华为技术有限公司 通用分组无线业务隧道协议报文传输方法、系统及设备
US20160192235A1 (en) * 2014-12-27 2016-06-30 Hughes Network Systems, Llc Acceleration of gtp traffic flows, over a satellite link, in a terrestrial wireless mobile communications system
US20190190826A1 (en) * 2017-12-15 2019-06-20 Hewlett Packard Enterprise Development Lp Transporting a gtp message to a termination device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101388825A (zh) * 2007-09-12 2009-03-18 华为技术有限公司 一种传输gprs隧道协议数据包的方法和设备
CN101420369A (zh) * 2007-10-24 2009-04-29 华为技术有限公司 通用分组无线业务隧道协议报文传输方法、系统及设备
CN101350812A (zh) * 2008-08-22 2009-01-21 上海华为技术有限公司 一种数据的传输方法、通信设备及通信系统
US20160192235A1 (en) * 2014-12-27 2016-06-30 Hughes Network Systems, Llc Acceleration of gtp traffic flows, over a satellite link, in a terrestrial wireless mobile communications system
US20190190826A1 (en) * 2017-12-15 2019-06-20 Hewlett Packard Enterprise Development Lp Transporting a gtp message to a termination device

Also Published As

Publication number Publication date
CN113518386A (zh) 2021-10-19

Similar Documents

Publication Publication Date Title
CN109644481B (zh) 无线设备及其中用于将数据分组映射到无线通信网络中的无线电承载的方法
JP6863485B2 (ja) データ指示方法、装置及び通信システム
EP3585120B1 (fr) Procédé et dispositif de traitement d'unité de données de protocole de commande d'accès au support
WO2021092860A1 (fr) Procédé et appareil de configuration de cellule, dispositif terminal et dispositif réseau
US20230090232A1 (en) Terminal device and network device
WO2020057519A1 (fr) Procédé de programmation, dispositifs, et support d'informations lisible par ordinateur
US10701591B2 (en) Data transmission method, apparatus, and system
US20230354092A1 (en) Method for buffer status report, method for configuring buffer status report and apparatuses thereof
WO2020042037A1 (fr) Procédé de communication sans fil et dispositif de communication
KR102337701B1 (ko) 데이터 전송 방법 및 기기
WO2019084800A1 (fr) Procédé de rapport de capacité de radiofréquence, dispositif terminal et dispositif de réseau
CN113691359B (zh) 用于复制数据传输的方法和设备
WO2021204090A1 (fr) Procédé et appareil de traitement de paquets de protocole de tunneling gprs (gtp)
WO2021142767A1 (fr) Procédé de communication et dispositif de communication
CN113543213B (zh) 基于复制数据的传输方法和设备
WO2021127943A1 (fr) Procédé de communication sans fil et dispositif terminal
US20230217426A1 (en) Resource allocation method and apparatus and system
WO2021243608A1 (fr) Procédé de communication sans fil, dispositif terminal et dispositif de réseau
US20230345345A1 (en) Signal transmission and reception method and apparatus and communication system
WO2022016452A1 (fr) Acheminement de données pour un équipement utilisateur avec transmission de données
WO2023044610A1 (fr) Procédé et appareil d'identification de type de mac ce, dispositif terminal et dispositif de réseau
WO2016106744A1 (fr) Procédé de transmission de données, dispositif d'accès sans fil et système de communication
WO2022061829A1 (fr) Procédé et dispositif de communication sans fil
US11570837B2 (en) Communication method and communications device
WO2020172803A1 (fr) Procédé de communication sans fil, dispositif terminal, et dispositif de réseau

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21785059

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21785059

Country of ref document: EP

Kind code of ref document: A1