CN115567346A - Data message transmission method and device, electronic equipment and storage medium - Google Patents

Data message transmission method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN115567346A
CN115567346A CN202211007338.0A CN202211007338A CN115567346A CN 115567346 A CN115567346 A CN 115567346A CN 202211007338 A CN202211007338 A CN 202211007338A CN 115567346 A CN115567346 A CN 115567346A
Authority
CN
China
Prior art keywords
data message
vxlan
data packet
outbound data
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211007338.0A
Other languages
Chinese (zh)
Inventor
王少博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Communication Technology Co Ltd
Original Assignee
Inspur Communication Technology Co Ltd
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 Inspur Communication Technology Co Ltd filed Critical Inspur Communication Technology Co Ltd
Priority to CN202211007338.0A priority Critical patent/CN115567346A/en
Publication of CN115567346A publication Critical patent/CN115567346A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/245Link aggregation, e.g. trunking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing

Landscapes

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

Abstract

The invention provides a data message transmission method, a device, electronic equipment and a storage medium, which relate to the technical field of communication and are applied to a gateway deployed at a network access, wherein an aggregation port is configured in the gateway, the aggregation port comprises a first VXLAN tunnel physical port and a second VXLAN tunnel physical port which are respectively corresponding to two VXLAN tunnels, and the method comprises the following steps: receiving a first outbound data message; copying the first outbound data message to generate a second outbound data message; and broadcasting and transmitting the first outbound data message and the second outbound data message through the first VXLAN tunnel physical port and the second VXLAN tunnel physical port respectively. The invention adopts the double VXLAN tunnel to copy and send the outbound data message based on the aggregation technology, and can improve the reliability of data transmission in the 5G private network environment.

Description

Data message transmission method and device, electronic equipment and storage medium
Technical Field
The present invention relates to the field of communications technologies, and in particular, to a data packet transmission method and apparatus, an electronic device, and a storage medium.
Background
In a 5G (5 th Generation Mobile Communication Technology, fifth Generation Mobile Communication Technology) private network environment, the current transmission mechanism for the 5G gateway device to transmit traffic is: a virtual link or a tunnel is pre-established between two communication parties, and then data transmission is realized based on the link or the tunnel.
Therefore, how to improve the reliability of data transmission in the 5G private network environment is a problem that needs to be solved in the industry.
Disclosure of Invention
Aiming at the problems in the prior art, the invention provides a data message transmission method, a data message transmission device, electronic equipment and a storage medium.
In a first aspect, the present invention provides a data transmission method, which is applied to a gateway deployed at an entrance and an exit of a network, where an aggregation port is configured in the gateway, and the aggregation port includes a first VXLAN tunnel physical port and a second VXLAN tunnel physical port that correspond to two VXLAN tunnels, respectively, and the method includes:
receiving a first outbound data message;
copying the first outbound data message to generate a second outbound data message;
and broadcasting and transmitting the first outbound data message and the second outbound data message through the first VXLAN tunnel physical port and the second VXLAN tunnel physical port respectively.
Optionally, according to a data packet transmission method provided by the present invention, before the first outbound data packet and the second outbound data packet are broadcast and transmitted through the first VXLAN tunnel physical port and the second VXLAN tunnel physical port, respectively, the method further includes:
and encapsulating a first count value in a VXLAN protocol message header carried by the first outbound data message, and encapsulating a second count value in a VXLAN protocol message header carried by the second outbound data message, wherein the first count value and the second count value are the same.
Optionally, according to a data packet transmission method provided by the present invention, before encapsulating a first count value in a VXLAN protocol packet header carried by the first outbound data packet and encapsulating a second count value in a VXLAN protocol packet header carried by the second outbound data packet, the method further includes:
and determining the first count value based on the ID identification value, the source address and the destination address in the IP header carried by the first outbound data message, and determining the second count value based on the ID identification value, the source address and the destination address in the IP header carried by the second outbound data message.
Optionally, according to a data packet transmission method provided by the present invention, the method further includes:
receiving an inbound data message;
and carrying out deduplication processing on the inbound data message, and forwarding the inbound data message subjected to deduplication processing to network equipment.
Optionally, according to a data packet transmission method provided by the present invention, performing deduplication processing on the inbound data packet, and forwarding the deduplicated inbound data packet to a network device, includes:
analyzing the inbound data message, and acquiring a third counting value in a VXLAN protocol message header carried by the inbound data message;
traversing a hash table by using the third counting value as a key value, and judging whether a record value corresponding to the inbound data message exists in the hash table;
deleting the record value corresponding to the inbound data message and discarding the inbound data message when determining that the record value corresponding to the inbound data message exists in the hash table;
and under the condition that the record value corresponding to the inbound data message does not exist in the hash table, adding the record value corresponding to the inbound data message in the hash table, and forwarding the inbound data message to network equipment.
Optionally, before performing deduplication processing on the inbound data packet and forwarding the deduplicated inbound data packet to the network device according to the data packet transmission method provided by the present invention, the method further includes:
and creating the hash table and an aging timer, wherein the aging timer is used for determining the overtime record value in the hash table during the traversal of the hash table and deleting the overtime record value from the hash table.
In a second aspect, the present invention further provides a data packet transmission apparatus, applied to a gateway deployed at an entrance and an exit of a network, where an aggregation port is configured in the gateway, and the aggregation port includes a first VXLAN tunnel physical port and a second VXLAN tunnel physical port corresponding to two VXLAN tunnels, respectively, and the apparatus includes:
the first receiving module is used for receiving a first outbound data message;
the copying module is used for copying the first outbound data message and generating a second outbound data message;
and the broadcasting module is used for respectively broadcasting and transmitting the first outbound data message and the second outbound data message through the first VXLAN tunnel physical port and the second VXLAN tunnel physical port.
Optionally, according to a data packet transmission apparatus provided by the present invention, the apparatus further includes:
a second receiving module, configured to receive an inbound data packet;
and the duplication removing and forwarding module is used for carrying out duplication removing processing on the inbound data message and forwarding the inbound data message after the duplication removing processing to the network equipment.
In a third aspect, the present invention further provides an electronic device, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor, and when the processor executes the computer program, the data packet transmission method according to the first aspect is implemented.
In a fourth aspect, the present invention also provides a non-transitory computer-readable storage medium, on which a computer program is stored, which, when executed by a processor, implements the data packet transmission method according to the first aspect.
In a fifth aspect, the present invention also provides a computer program product comprising a computer program, which when executed by a processor, implements any of the data message transmission methods described above.
According to the data message transmission method, the device, the electronic equipment and the storage medium, an aggregation port is configured in a gateway of a network access port based on an aggregation technology, the aggregation port comprises a first VXLAN tunnel physical port and a second VXLAN tunnel physical port which are respectively corresponding to two VXLAN tunnels, and the outbound data message is subjected to double VXLAN tunnel copying and sending based on the first VXLAN tunnel physical port and the second VXLAN tunnel physical port, so that the reliability of data transmission in a 5G private network environment can be improved.
Drawings
In order to more clearly illustrate the technical solutions of the present invention or the prior art, the drawings needed for the description of the embodiments or the prior art will be briefly described below, and it is obvious that the drawings in the following description are some embodiments of the present invention, and those skilled in the art can also obtain other drawings according to the drawings without creative efforts.
Fig. 1 is a schematic diagram of a VXLAN protocol message format provided in the related art;
fig. 2 is a schematic diagram of a wired networking VXLAN tunnel provided by the related art;
fig. 3 is a schematic flow chart of a data packet transmission method provided in the present invention;
FIG. 4 is a schematic diagram of a network networking topology provided by the present invention;
FIG. 5 is a schematic flow chart of data message deduplication provided by the present invention;
FIG. 6 is a schematic diagram illustrating a process flow of the hash table timer aging process provided in the present invention;
fig. 7 is a schematic diagram of a dual VXLAN tunnel redundancy implementation provided by the present invention;
fig. 8 is a schematic structural diagram of a data packet transmission apparatus provided in the present invention;
fig. 9 is a second schematic structural diagram of a data message transmission apparatus provided in the present invention;
fig. 10 is a schematic physical structure diagram of an electronic device provided in the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention clearer, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings, and it is obvious that the described embodiments are some, but not all embodiments of the present invention. All other embodiments, which can be obtained by a person skilled in the art without inventive step based on the embodiments of the present invention, are within the scope of protection of the present invention.
To facilitate a clearer understanding of embodiments of the present invention, some relevant background information is first presented below.
With the rapid development of the construction and application of 5G infrastructure in China, the 5G ToB network has been continuously grounded in industries or fields such as smart factories, gardens, security, cities, live broadcasting and the like, and plays a great role, and high-availability network services are provided for users in various application scenes. The technology mainly applied in the invention is as follows:
1. VXLAN (Virtual eXtensible Local Area Network);
VXLAN is an extended Protocol of VLAN (Virtual Local Area Network), and encapsulates Ethernet frames (Ethernet frames) of L2 (Layer 2, data link Layer) into UDP (User Datagram Protocol) datagrams of L4 (Layer 4, transport Layer), which are then transmitted in a Network of L3 (Layer 3, network Layer).
Fig. 1 is a schematic diagram of a VXLAN protocol message format provided in the related art, as shown in fig. 1, in the protocol message format, a VXLAN header occupies 8 Bytes (Bytes), and mainly includes a 1-byte flag bit (Flags), a 3-byte first Reserved field (Reserved), a 3-byte VXLAN ID, and a 1-byte second Reserved field (Reserved).
The forwarding process of the VXLAN protocol message comprises the following steps:
(1) A user terminal learns a Media Access Control (MAC) Address of a service device through an Address Resolution Protocol (ARP);
(2) The user terminal encapsulates the data in the MAC address, and forwards the data to the iTGW (5G end computing gateway) through a LAN (Local Area Network) port;
(3) The iTGW encapsulates an outer layer IP (Internet Protocol), a UDP header, and a VXLAN header, and sends them to a VPN (Virtual Private network) -GW (GateWay) through a core network;
(4) And the VPN-GW decapsulates the data, deletes the outer IP, UDP packet header and VXLAN packet header, and forwards the data to the service equipment according to the MAC address table.
In the current 5G private network environment, a single link technology or a VPN technology is generally used by a 5G gateway device when transmitting a service stream, and the service quality is susceptible to network conditions, and a redundant backup cannot be provided to achieve the purpose of high-availability networking. For example, fig. 2 is a schematic diagram of a wired networking VXLAN tunnel provided in the related art, as shown in fig. 2, in a wired networking environment, a client (PC) is configured to access to a gateway device (CPE 1) in two layers, and reach an opposite-end gateway (CPE 2) through a field wired network, so that transparent transmission of data in two layers is realized, and a purpose of data access is achieved.
2. Port aggregation techniques;
the port aggregation of Linux is a virtual layer implemented above a network card drive and below a data link layer by using a binding technology, and by using the technology, a plurality of network ports on equipment can be abstracted (bound) into a logical network card in the system, so that the network throughput can be improved, and the functions of network redundancy, load and the like can be realized. The binding technology is realized by a kernel level of a Linux system and is a kernel module (driver). The polymerization mode of operation is shown in table 1:
TABLE 1 mode of operation for the polymerization
Figure BDA0003809513460000071
Figure BDA0003809513460000081
3. And (4) a Linux kernel protocol stack.
The network Protocol model is an OSI (Open Systems Interconnection) 7-layer model, and the Protocol model in Linux is a TCP/IP (Transmission Control Protocol/Internet Protocol) 4-layer model, which includes an application layer, a transport layer, a network layer, and a network access layer.
(1) An application layer;
various network application programs of the application layer are mostly communicated with a network protocol stack of the kernel space through a Linux Socket programming interface. The Linux Socket is developed from a BSD Socket (Berkeley Socket), which is one of important components of a Linux operating system and is a foundation of a network application program. The Linux Socket is located in the Application layer and is an Application Programming Interface (API) provided by the operating system for the Application program, and the Application program can access the transport layer protocol through the Linux Socket.
(2) A transport layer;
the final purpose of the transport layer is to provide efficient, reliable and cost-effective data transmission services to users, and the main functions include the operations of constructing TCP segments, calculating Checksum, sending reply (ACK) packets, sliding windows (sliding windows), and the like, which guarantee reliability.
(3) A network layer;
the task of the network layer is to select appropriate internetwork routing and switching nodes to ensure timely data transmission. The network layer forms the frame provided by the data link layer into a data packet, and the packet is encapsulated with a network layer packet header which contains the logical address information and the network addresses of the source station and the destination station. The main tasks of the method comprise (1) routing processing; (2) adding an IP header (header); (3) calculating IP header Checksum for detecting whether the head of the IP message has errors in the transmission process; (4) carrying out IP fragmentation; (5) and after the processing is finished, acquiring the MAC address of the next hop, setting a link layer message header, and switching to the link layer for processing. The IP header specification is shown in table 2:
description of IP header
Figure BDA0003809513460000091
(4) A data link layer.
Functionally, data links between adjacent nodes are established based on the bitstream service provided by the physical layer, providing error-free transmission of data frames (frames) over the channel through error control. The data link layer provides reliable transmission over unreliable physical media. The role of this layer includes: physical address addressing, framing of data, flow control, error detection and retransmission of data, etc. At the data link layer, the unit of data is called a frame, and the main protocol includes: SDLC (Synchronous Data Link Control), HDLC (High-Level Data Link Control), PPP (Point to Point Protocol), STP (Spanning Tree Protocol), frame relay, and the like.
In implementation, linux provides a Network Device abstraction layer, which implements Linux/net/core/dev.c. A particular physical network device needs to implement the virtual function in the device driver (driver.c). The Network Device abstraction layer calls a function of the concrete Network Device.
The following describes a data packet transmission method, an apparatus, an electronic device, and a storage medium provided by the present invention with reference to fig. 3 to fig. 10.
Fig. 3 is a schematic flow diagram of a data packet transmission method provided by the present invention, which is applied to a gateway deployed at a network access, where an aggregation port is configured in the gateway, and the aggregation port includes a first VXLAN tunnel physical port and a second VXLAN tunnel physical port corresponding to two VXLAN tunnels, respectively, as shown in fig. 3, the method includes:
step 300, receiving a first outbound data message;
step 310, copying the first outbound data message to generate a second outbound data message;
step 320, broadcasting and transmitting the first outbound data message and the second outbound data message through the first VXLAN tunnel physical port and the second VXLAN tunnel physical port, respectively.
Specifically, the data packet transmission method provided in the embodiment of the present invention may be applied to a gateway deployed at a network access, where an aggregation port is configured in the gateway, and the aggregation port includes a first VXLAN tunnel physical port and a second VXLAN tunnel physical port corresponding to two VXLAN tunnels, respectively. Fig. 4 is a schematic diagram of a network networking topology provided by the present invention, and as shown in fig. 4, two VXLAN tunnels are established between end computing gateways (CPE 1 and CPE 2), after a data stream is sent from a PC client, a LAN side port of the gateway is first computed through a two-layer network transmission end, and after the data transmitted through the two layers by the gateway LAN side port is received, the data stream is transmitted on WAN ports 1 and 2 respectively corresponding to the two tunnels through an aggregation port of CPE 1.
Specifically, in a case where the gateway is used as a sending end, that is, as shown in fig. 4, the CPE1, the gateway may receive a first outbound data packet sent by a client or a user terminal, copy the first outbound data packet, generate a second outbound data packet, and then broadcast and transmit the first outbound data packet and the second outbound data packet through the first VXLAN tunnel physical port and the second VXLAN tunnel physical port, so that the copy and sending of the data packets are implemented, and the reliability of data transmission in a 5G private network environment may be improved.
Optionally, the data packet transmission method provided by the embodiment of the present invention may be applied in a comprehensive application scenario in which reliable transmission of user-side data traffic redundancy is required to be achieved through a 5G technology and a two-layer VPN technology based on a Linux kernel protocol stack. For example, the high-availability network may be deployed in an application with a high requirement on network quality, such as a private subway network, a URLLC (Ultra-Reliable Low-Latency high-reliability Communications) of 3GPP (3 rd Generation Partnership Project), a TSN (Time-Sensitive network) system, and the like, and can effectively solve an interruption problem occurring in an operator private network, improve network availability, and reduce a packet loss rate.
Optionally, the data packet transmission method provided in the embodiment of the present invention may also be extended to other VPN tunnel networking, wireless WiFi and 5G dual link applications, or a networking scenario that needs redundant transmission, and the embodiment of the present invention is not particularly limited to this.
According to the data message transmission method provided by the invention, based on the aggregation technology, an aggregation port is configured in a gateway of a network access, the aggregation port comprises a first VXLAN tunnel physical port and a second VXLAN tunnel physical port which are respectively corresponding to two VXLAN tunnels, and the outbound data message is subjected to double VXLAN tunnel copy sending based on the first VXLAN tunnel physical port and the second VXLAN tunnel physical port, so that the reliability of data transmission in a 5G private network environment can be improved.
Optionally, before the first outbound data packet and the second outbound data packet are broadcast and transmitted through the first VXLAN tunnel physical port and the second VXLAN tunnel physical port, respectively, the method further includes:
and encapsulating a first count value in a VXLAN protocol message header carried by the first outbound data message, and encapsulating a second count value in a VXLAN protocol message header carried by the second outbound data message, wherein the first count value and the second count value are the same.
Specifically, before the first outbound data packet and the second outbound data packet are broadcast, a first count value may be encapsulated in a VXLAN protocol packet header carried by the first outbound data packet, and a second count value may be encapsulated in a VXLAN protocol packet header carried by the second outbound data packet, where the first count value and the second count value that are encapsulated may be the same, so that when the opposite-end gateway receives the first outbound data packet and the second outbound data packet, the first outbound data packet and the second outbound data packet may be deduplicated.
Alternatively, the packet sending count value may be encapsulated with the last 3 bytes in the first reserved word in the VXLAN protocol header, for example, the first count value is encapsulated with the last 3 bytes in the first reserved word in the VXLAN protocol packet header carried by the first outbound data packet, and the second count value is encapsulated with the last 3 bytes in the first reserved word in the VXLAN protocol packet header carried by the second outbound data packet.
The invention can facilitate the opposite end gateway to carry out duplicate removal processing on the received double data messages by encapsulating the packet sending counting value in the outbound data message.
Optionally, before encapsulating the first count value in the VXLAN protocol packet header carried by the first outbound data packet and encapsulating the second count value in the VXLAN protocol packet header carried by the second outbound data packet, the method further includes:
and determining the first count value based on the ID identification value, the source address and the destination address in the IP head carried by the first outbound data message, and determining the second count value based on the ID identification value, the source address and the destination address in the IP head carried by the second outbound data message.
Specifically, the first count value may be determined based on an ID identification value, a source address, and a destination address in an IP header carried by the first outbound data packet, and the second count value may be determined based on an ID identification value, a source address, and a destination address in an IP header carried by the second outbound data packet.
Alternatively, the first count value may be determined by a hash operation based on an ID identification value, a source address, and a destination address in an IP header carried by the first outbound data packet.
Alternatively, the second count value may be determined by a hash operation based on an ID identification value, a source address, and a destination address in an IP header carried by the second outbound data packet.
It can be understood that, since the second outbound data packet is obtained by copying the first outbound data packet, the ID identification value in the IP header carried by the first outbound data packet is the same as the ID identification value in the IP header carried by the second outbound data packet, and it can be ensured that the first count value encapsulated by the first outbound data packet is the same as the second count value encapsulated by the second outbound data packet, that is, it is ensured that the same data packet uniquely corresponds to one count value, which is convenient for the peer gateway to perform deduplication processing on the first outbound data packet and the second outbound data packet based on the first count value in the first outbound data packet and the second count value in the second outbound data packet.
Optionally, the method further comprises:
receiving an inbound data message;
and carrying out deduplication processing on the inbound data message, and forwarding the inbound data message subjected to deduplication processing to network equipment.
Specifically, in the case where the gateway is used as a receiving end, that is, the CPE2 shown in fig. 4, the gateway may receive the inbound data packet, perform deduplication processing on the received inbound data packet, and forward the deduplication-processed inbound data packet to the network device.
For example, if the inbound data packet received by the gateway includes a first outbound data packet and a second outbound data packet, the data packet that arrives preferentially from the first outbound data packet and the second outbound data packet may be selected to be forwarded to the network device or the backend server.
It is understood that the inbound data message received by the gateway is the outbound data message sent by the gateway at the receiving end to the gateway.
The invention can avoid the network equipment from receiving redundant data messages by carrying out the duplicate removal processing on the received inbound data messages.
Optionally, performing deduplication processing on the inbound data packet, and forwarding the deduplicated inbound data packet to the network device includes:
analyzing the inbound data message, and acquiring a third counting value in a VXLAN protocol message header carried by the inbound data message;
traversing a hash table by using the third counting value as a key value, and judging whether a record value corresponding to the inbound data message exists in the hash table;
deleting the record value corresponding to the inbound data message and discarding the inbound data message when determining that the record value corresponding to the inbound data message exists in the hash table;
and under the condition that the record value corresponding to the inbound data message does not exist in the hash table, adding the record value corresponding to the inbound data message in the hash table, and forwarding the inbound data message to network equipment.
Specifically, after receiving the inbound data packet, the inbound data packet may be analyzed, a third count value in a VXLAN protocol packet header carried by the inbound data packet is obtained, the third count value is used as a key value of a hash table to traverse the hash table, and whether a record value corresponding to the inbound data packet exists in the hash table is determined; under the condition that the record value corresponding to the inbound data message exists in the hash table, the record value corresponding to the inbound data message can be deleted, and the inbound data message is discarded; in a case where it is determined that the record value corresponding to the inbound data packet does not exist in the hash table, the record value corresponding to the inbound data packet may be added to the hash table, and the inbound data packet may be forwarded to the network device.
It can be understood that the gateway may create a hash table in advance, a KEY (KEY) value of the hash table uses a packet count value after hash operation by the sending end, and a record value of the hash table maintains related data information such as the number of deduplication times of the data packet and a data packet processing timestamp.
Fig. 5 is a schematic diagram of a process of deduplication of a data packet provided by the present invention, as shown in fig. 5, after receiving a VXLAN tunnel packet, first determining whether to start a redundant dual-transmission selective-reception function of VXLAN and determine whether a packet receiving tunnel is one of configured aggregation tunnel members, analyzing the VXLAN tunnel packet if a condition is satisfied, obtaining a packet count value newly added in the VXLAN tunnel packet as a KEY value to traverse a lookup hash table, and if a record corresponding to the packet is not found, constructing a new record value and adding the new record value into the hash table, and continuing to transmit the packet by a protocol stack; if the message is found in the hash table, discarding the message, and judging whether the duplication removal times exceed the aggregated tunnel membership after the duplication removal times are increased, if so, deleting the record value corresponding to the message, otherwise, updating the timestamp and the duplication removal count value of the current record value.
According to the invention, through a hash table recording mode, repeated data messages with high time delay are removed, and data messages with low time delay are selected for receiving, so that the problems of poor network quality such as network packet loss, time delay and the like are effectively solved.
Optionally, before performing deduplication processing on the inbound data packet and forwarding the deduplicated inbound data packet to the network device, the method further includes:
and creating the hash table and an aging timer, wherein the aging timer is used for determining the overtime record value in the hash table during the traversal of the hash table and deleting the overtime record value from the hash table.
Specifically, the gateway may create a hash table and an aging timer in advance, the aging timer being used to determine a timeout record value in the hash table when the hash table is traversed and delete the timeout record value from the hash table.
Fig. 6 is a schematic diagram of an aging process flow of the hash table timer provided by the present invention, and as shown in fig. 6, the aging timer is started after the user configures and starts the VXLAN redundant dual-transmission and selective-reception function, and the aging timer traverses the hash table when the aging timer is overtime and deletes the record value exceeding the preset range.
Optionally, after determining that the VXLAN redundant dual-transmission selective-reception function is turned off, the flushing operation of the hash table may be performed, and the aging timer is turned off to stop counting.
Fig. 7 is a schematic diagram of a dual VXLAN tunnel redundancy implementation provided by the present invention, and as shown in fig. 7, it is assumed that eth3 and eth4 are respectively directly connected to each other as WAN ports, two VXLAN tunnels are established and aggregated to a bond0 aggregation port, and an aggregation mode adopts a broadcast policy mode. The bond0 and the LAN port eth0 are bound under the same bridge br0 and connected with a PC client or a server. The PC client sends the message to be broadcast through the two VXLAN tunnels under the CPE1 aggregation port, the duplicate removal processing of the message is carried out at the CPE2 receiving end, and the message which arrives preferentially is selected to be forwarded to the back-end server. The reverse paths of the messages responded from the server side are similar, so that redundant double-sending selective-receiving backup of the double-WAN-port link is realized.
Optionally, after receiving the packet sent by the PC client, the gateway CPE1 in fig. 7 may perform the following key process, including step (1) and step (2):
(1) When sending VXLAN message, firstly judging whether to start the redundant double-sending and selective-receiving function of VXLAN and judging whether the packet VXLAN tunnel is one of the configured aggregation tunnel members, if the condition is met, entering the step (2), otherwise, not modifying the original message package;
(2) The count value in the header of the encapsulated VXLAN message occupies 3 bytes, and the count value is obtained by carrying out hash operation on three fields of an ID identification value (2 bytes), a source address and a destination address in the IP header, so that the original message (if sent by a tunnel 1WAN port) after bond aggregation and the copied message (sent by a tunnel 2WAN port) use the same count value. Because the ID value of the IP head can be changed when TCP retransmission occurs, the retransmission function of the transmission protocol layer can not be invalid due to the de-duplication of the TCP retransmission message.
Optionally, after receiving the data packet, the gateway CPE2 in fig. 7 needs to maintain a hash table before decapsulating the VXLAN packet header and determine a flow manner of the data packet, and the CPE2 may perform the following key processes, including step (1) to step (6):
(1) After receiving the VXLAN tunnel message, judging whether to start a VXLAN redundant dual-transmission selective-reception function, and finishing hash table initialization after determining that the function is started, wherein the hash KEY value adopts a packet count value after hash operation of a sending end, and the hash table records a value to maintain relevant data information such as data packet deduplication times, data packet processing time stamps and the like. Judging whether the packet receiving tunnel is one of the configured aggregation tunnel members, if so, entering the step (2), otherwise, continuing to transmit the message by the protocol stack;
(2) Analyzing the VXLAN message, acquiring a newly added packet count value in the VXLAN tunnel message as a KEY value to traverse and search a hash table, if a record corresponding to the message is not found, constructing a new record value and adding the new record value into the hash table, and meanwhile, continuously transmitting the message by a protocol stack, otherwise, entering the step (3);
(3) If the message is found in the hash table, discarding the message, and judging whether the duplication removal times exceed the aggregated tunnel member number after the duplication removal times are increased, if so, deleting the record value corresponding to the message, otherwise, entering the step (4);
(4) If the number of times of duplication deletion does not exceed the number of aggregated tunnel members, updating the timestamp and the duplication deletion count value of the current record value;
(5) An aging timer is established in the initialization stage of the hash table, the timer is started after the VXLAN redundant dual-transmission selective-reception function is started by user configuration, the timer runs through the hash table overtime, and record values exceeding a preset range are deleted;
(6) And after the VXLAN redundant dual-transmitting selective-receiving function is determined to be closed, the hash table is destroyed, and meanwhile, the cycle timer is deleted to finish the recovery of the allocated resources.
It can be understood that the data packet transmission method provided by the embodiment of the present invention can implement the copy sending and the duplicate removal receiving of the user data packet without modifying the user data packet, thereby effectively solving the problem of false response of the receiving end in the dual-WAN tunnel redundancy dual-receive dual-send application due to the received duplicate packet, and providing a set of high-availability network solution for the user.
The data message transmission method provided by the embodiment of the invention is beneficial to a Linux kernel protocol stack aggregation technology through a communication mode of redundantly sending and receiving low packet loss, low time delay and high available networking, a double link is adopted at the side of an end computing gateway for transmitting the data message, wherein a sending end finishes copying and sending of the data packet, a receiving end selects the message which is received preferentially after the data packet from a double link physical port is subjected to de-duplication, and the reliable transmission of user data to the receiving end is ensured. The method has the advantages that the content of user data does not need to be modified, the sending end only increases the count value when the tunnel head is packaged, the data packet can be copied based on the Linux kernel open source protocol stack aggregation technology, and the receiving end maintains the processed mark of the data packet to realize selective receiving after the data packet is deduplicated.
It can be understood that, in the embodiment of the present invention, the redundancy sending and receiving is performed in a low packet loss, low latency and high available networking communication manner, a bottom layer physical network employs dual WAN ports, and an upper layer virtual network employs a VPN tunnel technology, so as to effectively solve the problem of packet loss and latency in network transmission quality.
According to the data message transmission method provided by the invention, based on the aggregation technology, an aggregation port is configured in a gateway of a network access, the aggregation port comprises a first VXLAN tunnel physical port and a second VXLAN tunnel physical port which are respectively corresponding to two VXLAN tunnels, and the outbound data message is subjected to double VXLAN tunnel copy sending based on the first VXLAN tunnel physical port and the second VXLAN tunnel physical port, so that the reliability of data transmission in a 5G private network environment can be improved.
The data packet transmission device provided by the present invention is described below, and the data packet transmission device described below and the data packet transmission method described above may be referred to in correspondence with each other.
Fig. 8 is a schematic structural diagram of a data packet transmission device provided in the present invention, which is applied to a gateway deployed at a network gateway, where an aggregation port is configured in the gateway, and the aggregation port includes a first VXLAN tunnel physical port and a second VXLAN tunnel physical port corresponding to two VXLAN tunnels, respectively, as shown in fig. 8, the device includes: a first receiving module 810, a copying module 820, and a broadcasting module 830; wherein:
the first receiving module 810 is configured to receive a first outbound data packet;
the copying module 820 is configured to copy the first outbound data packet and generate a second outbound data packet;
the broadcasting module 830 is configured to broadcast and transmit the first outbound data packet and the second outbound data packet through the first VXLAN tunnel physical port and the second VXLAN tunnel physical port, respectively.
Specifically, the data packet transmission apparatus provided in the embodiment of the present invention may be applied to a gateway deployed at a network access, where an aggregation port is configured in the gateway, and the aggregation port includes a first VXLAN tunnel physical port and a second VXLAN tunnel physical port corresponding to two VXLAN tunnels respectively; the data packet transmission apparatus may receive a first outbound data packet through the first receiving module 810; then, the first outbound data message is copied through the copying module 820 to generate a second outbound data message; finally, the broadcasting module 830 broadcasts the first outbound data packet and the second outbound data packet through the first VXLAN tunnel physical port and the second VXLAN tunnel physical port, respectively.
The data message transmission device provided by the invention is characterized in that an aggregation port is configured in a gateway of a network access port based on an aggregation technology, the aggregation port comprises a first VXLAN tunnel physical port and a second VXLAN tunnel physical port which are respectively corresponding to two VXLAN tunnels, and the outbound data message is copied and sent through double VXLAN tunnels based on the first VXLAN tunnel physical port and the second VXLAN tunnel physical port, so that the reliability of data transmission in a 5G private network environment can be improved.
Optionally, based on the above-mentioned embodiment of the apparatus, fig. 9 is a second schematic structural diagram of a data packet transmission apparatus provided in the present invention, where the apparatus further includes: a second receiving module 910 and a deduplication forwarding module 920; wherein:
the second receiving module 910 is configured to receive an inbound data packet;
the deduplication forwarding module 920 is configured to perform deduplication processing on the inbound data packet, and forward the inbound data packet after deduplication processing to the network device.
Specifically, the data packet transmission apparatus provided in the embodiment of the present invention may be applied to a gateway deployed at a network gateway, and when the gateway serves as a receiving end, the data packet transmission apparatus may include a second receiving module 910 and a deduplication forwarding module 920, where the second receiving module 910 may receive an inbound data packet sent by a gateway at a correspondent node, and the deduplication forwarding module 920 may perform deduplication processing on the received inbound data packet, and then forward the deduplication processed inbound data packet to a network device or a server.
It should be noted that, the data packet transmission apparatus provided in the embodiment of the present invention can implement all the method steps implemented by the data packet transmission method embodiment, and can achieve the same technical effect, and detailed descriptions of the same parts and beneficial effects as those of the method embodiment in this embodiment are not repeated herein.
Fig. 10 is a schematic physical structure diagram of an electronic device provided in the present invention, and as shown in fig. 10, the electronic device may include: a processor (processor) 1010, a communication Interface (Communications Interface) 1020, a memory (memory) 1030, and a communication bus 1040, wherein the processor 1010, the communication Interface 1020, and the memory 1030 are in communication with each other via the communication bus 1040. Processor 1010 may invoke logic instructions in memory 1030 to perform the data messaging methods provided by the methods described above, including:
receiving a first outbound data message;
copying the first outbound data message to generate a second outbound data message;
and broadcasting and transmitting the first outbound data message and the second outbound data message through the first VXLAN tunnel physical port and the second VXLAN tunnel physical port respectively.
Furthermore, the logic instructions in the memory 1030 can be implemented in software functional units and stored in a computer readable storage medium when the logic instructions are sold or used as independent products. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
In another aspect, the present invention also provides a computer program product comprising a computer program stored on a non-transitory computer readable storage medium, the computer program comprising program instructions which, when executed by a computer, enable the computer to perform the data messaging method provided by the above methods, the method comprising:
receiving a first outbound data message;
copying the first outbound data message to generate a second outbound data message;
and broadcasting and transmitting the first outbound data message and the second outbound data message through the first VXLAN tunnel physical port and the second VXLAN tunnel physical port respectively.
In yet another aspect, the present invention also provides a non-transitory computer readable storage medium, on which a computer program is stored, the computer program being implemented by a processor to perform the data message transmission methods provided above, the method comprising:
receiving a first outbound data message;
copying the first outbound data message to generate a second outbound data message;
and broadcasting and transmitting the first outbound data message and the second outbound data message through the first VXLAN tunnel physical port and the second VXLAN tunnel physical port respectively.
The above-described embodiments of the apparatus are merely illustrative, and the units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the present embodiment. One of ordinary skill in the art can understand and implement it without inventive effort.
Through the above description of the embodiments, those skilled in the art will clearly understand that each embodiment can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware. With this understanding in mind, the above-described technical solutions may be embodied in the form of a software product, which can be stored in a computer-readable storage medium such as ROM/RAM, magnetic disk, optical disk, etc., and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the methods described in the embodiments or some parts of the embodiments.
Finally, it should be noted that: the above examples are only intended to illustrate the technical solution of the present invention, and not to limit it; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions of the embodiments of the present invention.

Claims (11)

1. A data packet transmission method, applied to a gateway deployed at an entrance and an exit of a network, where an aggregation port is configured in the gateway, and the aggregation port includes a first VXLAN tunnel physical port and a second VXLAN tunnel physical port corresponding to two VXLAN tunnels, respectively, the method includes:
receiving a first outbound data message;
copying the first outbound data message to generate a second outbound data message;
and broadcasting and transmitting the first outbound data message and the second outbound data message through the first VXLAN tunnel physical port and the second VXLAN tunnel physical port respectively.
2. The method according to claim 1, wherein before the first outbound data packet and the second outbound data packet are broadcast via the first VXLAN tunnel physical port and the second VXLAN tunnel physical port, respectively, the method further comprises:
and encapsulating a first count value in a VXLAN protocol message header carried by the first outbound data message, and encapsulating a second count value in a VXLAN protocol message header carried by the second outbound data message, wherein the first count value and the second count value are the same.
3. The method according to claim 2, wherein before encapsulating the first count value in a VXLAN protocol packet header carried by the first outbound data packet and encapsulating the second count value in a VXLAN protocol packet header carried by the second outbound data packet, the method further comprises:
and determining the first count value based on the ID identification value, the source address and the destination address in the IP header carried by the first outbound data message, and determining the second count value based on the ID identification value, the source address and the destination address in the IP header carried by the second outbound data message.
4. The method for data packet transmission according to any of claims 1-3, wherein the method further comprises:
receiving an inbound data message;
and carrying out deduplication processing on the inbound data message, and forwarding the inbound data message subjected to deduplication processing to network equipment.
5. The method of claim 4, wherein the performing deduplication processing on the inbound data packet and forwarding the deduplicated inbound data packet to a network device comprises:
analyzing the inbound data message, and acquiring a third counting value in a VXLAN protocol message header carried by the inbound data message;
traversing a hash table by using the third counting value as a key value, and judging whether a record value corresponding to the inbound data message exists in the hash table;
deleting the record value corresponding to the inbound data message and discarding the inbound data message when determining that the record value corresponding to the inbound data message exists in the hash table;
and under the condition that the record value corresponding to the inbound data message does not exist in the hash table, adding the record value corresponding to the inbound data message in the hash table, and forwarding the inbound data message to network equipment.
6. The method of claim 5, wherein before performing deduplication processing on the inbound data packet and forwarding the deduplicated inbound data packet to the network device, the method further comprises:
and creating the hash table and an aging timer, wherein the aging timer is used for determining the overtime record value in the hash table during the traversal of the hash table and deleting the overtime record value from the hash table.
7. A data packet transmission apparatus, applied to a gateway deployed at an entrance and an exit of a network, where an aggregation port is configured in the gateway, and the aggregation port includes a first VXLAN tunnel physical port and a second VXLAN tunnel physical port corresponding to two VXLAN tunnels, respectively, the apparatus includes:
the first receiving module is used for receiving a first outbound data message;
the copying module is used for copying the first outbound data message and generating a second outbound data message;
and the broadcasting module is used for broadcasting and transmitting the first outbound data message and the second outbound data message through the first VXLAN tunnel physical port and the second VXLAN tunnel physical port respectively.
8. The data message transmission device of claim 7, wherein the device further comprises:
a second receiving module, configured to receive an inbound data packet;
and the duplication removing and forwarding module is used for carrying out duplication removing processing on the inbound data message and forwarding the inbound data message after the duplication removing processing to the network equipment.
9. An electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the processor implements the data messaging method of any of claims 1 to 6 when executing the program.
10. A non-transitory computer readable storage medium having stored thereon a computer program, wherein the computer program, when executed by a processor, implements the data messaging method of any of claims 1 to 6.
11. A computer program product comprising a computer program, wherein the computer program when executed by a processor implements a data messaging method according to any one of claims 1 to 6.
CN202211007338.0A 2022-08-22 2022-08-22 Data message transmission method and device, electronic equipment and storage medium Pending CN115567346A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211007338.0A CN115567346A (en) 2022-08-22 2022-08-22 Data message transmission method and device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211007338.0A CN115567346A (en) 2022-08-22 2022-08-22 Data message transmission method and device, electronic equipment and storage medium

Publications (1)

Publication Number Publication Date
CN115567346A true CN115567346A (en) 2023-01-03

Family

ID=84739409

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211007338.0A Pending CN115567346A (en) 2022-08-22 2022-08-22 Data message transmission method and device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN115567346A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115942375A (en) * 2023-02-28 2023-04-07 新华三技术有限公司 Data transmission method, system and device based on 5G air interface redundancy and electronic equipment
CN117575544A (en) * 2024-01-15 2024-02-20 北京智芯微电子科技有限公司 Distribution area equipment management method and device, storage medium and electronic equipment

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115942375A (en) * 2023-02-28 2023-04-07 新华三技术有限公司 Data transmission method, system and device based on 5G air interface redundancy and electronic equipment
CN117575544A (en) * 2024-01-15 2024-02-20 北京智芯微电子科技有限公司 Distribution area equipment management method and device, storage medium and electronic equipment
CN117575544B (en) * 2024-01-15 2024-03-22 北京智芯微电子科技有限公司 Distribution area equipment management method and device, storage medium and electronic equipment

Similar Documents

Publication Publication Date Title
US9178831B2 (en) Methods and apparatus for RBridge hop-by-hop compression and frame aggregation
CN109218178B (en) Message processing method and network equipment
US11496390B2 (en) Router device using flow duplication
US7853691B2 (en) Method and system for securing a network utilizing IPsec and MACsec protocols
JP4564228B2 (en) Structure and method for transparently encoding and transmitting network communication data online and in cross session
CN115567346A (en) Data message transmission method and device, electronic equipment and storage medium
KR101694082B1 (en) Software-defined network overlay
US7899048B1 (en) Method and apparatus for remotely monitoring network traffic through a generic network
EP3972226A1 (en) Network packet flow controller with extended session management
US8160106B2 (en) Method, device and system for transmitting Ethernet packets
WO2009012688A1 (en) Method, system and apparatus for forwarding message in three-layer virtual private network
EP3574617B1 (en) Method and apparatus for managing routing disruptions in a computer network
Rentschler et al. The parallel redundancy protocol for industrial IP networks
US10791051B2 (en) System and method to bypass the forwarding information base (FIB) for interest packet forwarding in an information-centric networking (ICN) environment
CN106576108B (en) Communication method, equipment and system in communication system
CN105637819B (en) It is used for transmission the method and system of broadcast data
CN109936492A (en) A kind of methods, devices and systems by tunnel transmission message
CN115884224A (en) Reliability guarantee method for double-transmission optimization of 5G gateway in application of power industry
US20220303231A1 (en) Packet fragmentation using outer header
US11962673B2 (en) Packet tunneling and decapsulation with split-horizon attributes
WO2022179454A1 (en) Data processing method, apparatus and chip
WO2024045537A1 (en) Message transmission method and network device
WO2022267875A1 (en) Packet transmission method and related device
CN113542095B (en) Equipment and method for recovering tunnel
WO2024001701A1 (en) Data processing method, apparatus and system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination