CN115550250B - Small flow message retransmission method, system, electronic equipment and storage medium - Google Patents

Small flow message retransmission method, system, electronic equipment and storage medium Download PDF

Info

Publication number
CN115550250B
CN115550250B CN202211463460.9A CN202211463460A CN115550250B CN 115550250 B CN115550250 B CN 115550250B CN 202211463460 A CN202211463460 A CN 202211463460A CN 115550250 B CN115550250 B CN 115550250B
Authority
CN
China
Prior art keywords
message
small flow
retransmission
streamlet
flow
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211463460.9A
Other languages
Chinese (zh)
Other versions
CN115550250A (en
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.)
Peng Cheng Laboratory
Original Assignee
Peng Cheng Laboratory
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 Peng Cheng Laboratory filed Critical Peng Cheng Laboratory
Priority to CN202211463460.9A priority Critical patent/CN115550250B/en
Publication of CN115550250A publication Critical patent/CN115550250A/en
Application granted granted Critical
Publication of CN115550250B publication Critical patent/CN115550250B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/30Routing of multiclass traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/121Shortest path evaluation by minimising delays
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

The application discloses a method, a system, electronic equipment and a storage medium for retransmitting a small flow message, wherein the method for retransmitting the small flow message is applied to a message sending end and comprises the following steps: acquiring a small flow message; identifying a small flow retransmission message from the small flow message according to a preset small flow retransmission message identification algorithm; and sending the small flow retransmission message to a preset fast transmission channel, and sending the small flow retransmission message to a message receiving end through a network card drive. The method and the device solve the technical problem that in the prior art, the timeliness for retransmitting the small flow message is poor.

Description

Small flow message retransmission method, system, electronic equipment and storage medium
Technical Field
The present application relates to the field of communications, and in particular, to a method, a system, an electronic device, and a storage medium for retransmitting a streamlet packet.
Background
Distributed collaborative network simulation verification platforms have become a research hotspot of all countries in the world and a development trend of network target range technology, and the platforms enter a large-scale distributed platform construction stage at present in order to more effectively perform collaborative work and resource sharing. The platforms are interconnected through a special line, the Internet and other modes, wherein the connection through the Internet is a relatively universal mode. Different platforms establish a safe encryption tunnel on the Internet through gateway equipment, and user traffic between federal targets is transmitted on the encryption tunnel. Because of the problems of network congestion, delay jitter, etc. existing on the internet, there is a phenomenon that part of messages are lost or response messages are delayed, which triggers a TCP (Transmission Control Protocol) message retransmission mechanism to retransmit lost or unacknowledged messages.
The WireGuard protocol is a new generation of secure encryption tunnel implementation mode and has the characteristics of advanced encryption mode, simple configuration and the like. At present, when a WireGuard VPN (Virtual Private Network) gateway transmits data, a normal packet and a streamlet retransmission packet cannot be distinguished, so that the streamlet retransmission packet with a higher priority originally needs to be queued again before being sent out. The streamlet is also called a mouse stream, generally corresponds to applications of the users, has small data volume and short duration, but has higher requirement on timeliness, and is generally required to be completed in as short time as possible, so that retransmission of the streamlet message in a mode of queuing again for transmission is often difficult to meet the requirement of the streamlet transmission on timeliness.
Disclosure of Invention
The present application mainly aims to provide a method, a system, an electronic device and a storage medium for retransmitting a streamlet message, and aims to solve the technical problem of poor timeliness of retransmitting the streamlet message in the prior art.
In order to achieve the above object, the present application provides a method for retransmitting a small flow message, where the method for retransmitting a small flow message is applied to a message sending end, and includes the following steps:
acquiring a small flow message;
identifying a small flow retransmission message from the small flow message according to a preset small flow retransmission message identification algorithm;
and sending the small flow retransmission message to a preset fast transmission channel, and sending the small flow retransmission message to a message receiving end through a network card drive.
The application also provides a method for retransmitting the small flow message, which is applied to a message receiving end and comprises the following steps:
receiving an initial message sent by a message sending end;
capturing and analyzing the initial message through an XDP program loaded on a network card drive, and determining the message type of the initial message according to the analyzed initial message;
and if the initial message is determined to be a small flow retransmission message according to the message type of the initial message, sending the small flow retransmission message to a corresponding user mode module through a preset quick receiving channel.
The present application also provides a small flow message retransmission system, which comprises a message sending end and a message receiving end, wherein,
the message sending terminal is used for obtaining a small flow message;
the message sending end is also used for identifying a small flow retransmission message from the small flow message according to a preset small flow retransmission message identification algorithm;
the message sending end is also used for sending the small flow retransmission message to a preset fast transmission channel and sending the small flow retransmission message to a message receiving end through a network card drive;
the message receiving end is used for receiving an initial message sent by the message sending end;
the message receiving end is also used for capturing and analyzing the initial message through an XDP program loaded on a network card drive, and determining the message type of the initial message according to the analyzed initial message;
and the message receiving end is further configured to send the trickle retransmission message to a corresponding user mode module through a preset fast receiving channel if the initial message is determined to be the trickle retransmission message according to the message type of the initial message.
The present application further provides an electronic device, which is an entity device, the electronic device including: the apparatus comprises a memory, a processor and a program of the small flow message retransmission method stored on the memory and operable on the processor, wherein the program of the small flow message retransmission method can realize the steps of the small flow message retransmission method when being executed by the processor.
The present application further provides a storage medium, which is a computer-readable storage medium, where a program for implementing a method for retransmitting a streamlet message is stored on the computer-readable storage medium, and when the program for implementing the method for retransmitting a streamlet message is executed by a processor, the method for retransmitting a streamlet message as described above is implemented.
The present application further provides a computer program product, which includes a computer program, and when the computer program is executed by a processor, the steps of the above-mentioned method for retransmitting a small flow message are implemented.
The application provides a method, a system, electronic equipment and a storage medium for retransmission of a small flow message, wherein the small flow message is obtained, the small flow retransmission message is identified from the small flow message according to a preset small flow retransmission message identification algorithm, so that the small flow retransmission message is identified, and then is sent to a preset quick transmission channel through a network card drive, and is sent to a message receiving end through the network card drive, so that the small flow retransmission message is quickly forwarded. Compared with retransmission of the small flow message in a mode of re-queuing transmission, the method and the device have the advantages that after the small flow retransmission message is identified from the small flow message, the small flow retransmission message is directly sent to the message receiving end through the rapid transmission channel without re-queuing, waiting time of the small flow retransmission message in the queue is effectively reduced, small flow message retransmission efficiency is improved, network delay of the small flow message is reduced, user experience is improved, and the technical problem that timeliness of retransmission of the small flow message in the prior art is poor is solved.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and together with the description, serve to explain the principles of the application.
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly described below, and it is obvious for those skilled in the art to obtain other drawings without inventive exercise.
Fig. 1 is a schematic flowchart of an embodiment of a method for retransmitting a streamlet message according to the present application;
fig. 2 is a schematic flowchart of another embodiment of a method for retransmitting a streamlet message according to the present application;
fig. 3 is a schematic flow chart of an embodiment of a small flow message retransmission method applied to a message sending end according to the present application;
fig. 4 is a flowchart illustrating an embodiment of a method for retransmitting a streamlet packet according to the present application;
fig. 5 is a schematic flow chart of another embodiment of the application of the method for retransmitting a streamlet message to a message sending end;
fig. 6 is a schematic diagram of a system structure related to the method for retransmitting a streamlet packet according to the present application;
fig. 7 is a schematic flowchart of an embodiment of a method for retransmitting a streamlet packet according to the present application, applied to a packet receiving end;
fig. 8 is a schematic structural diagram of a streamlet message retransmission system in an embodiment of the present application;
fig. 9 is a schematic structural diagram of a device in a hardware operating environment related to a method for retransmitting a streamlet packet in an embodiment of the present application.
The objectives, features, and advantages of the present application will be further described with reference to the accompanying drawings.
Detailed Description
In order to make the aforementioned objects, features and advantages of the present invention comprehensible, embodiments accompanied with figures are described in detail below. It is to be understood that the described embodiments are merely exemplary of the invention, and not restrictive of the full scope of the invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Distributed collaborative network simulation verification platforms have become a research hotspot of all countries in the world and a development trend of network target range technology, and the platforms enter a large-scale distributed platform construction stage at present in order to more effectively perform collaborative work and resource sharing. The platforms are interconnected through a special line, the Internet and other modes, wherein the connection through the Internet is a relatively universal mode. Different platforms establish a safe encryption tunnel on the internet through gateway equipment, and user traffic between federal targets is transmitted on the encryption tunnel. Because of the problems of network congestion, delay jitter, etc. existing on the internet, there is a phenomenon that part of messages are lost or response messages are delayed, which triggers a TCP (Transmission Control Protocol) message retransmission mechanism to retransmit lost or unacknowledged messages.
The WireGuard protocol is a new generation of secure encryption tunnel implementation mode and has the characteristics of advanced encryption mode, simple configuration and the like. At present, when a WireGuard VPN (Virtual Private Network) gateway transmits data, a normal message and a small stream retransmission message cannot be distinguished, and a current traffic scheduling algorithm mainly schedules the priority of a stream, a large number of data streams exist in gateway equipment, and the priority of each stream is not set except for a small number of special streams. Therefore, for a normal packet and a streamlet retransmission packet of a same priority data stream, which cannot be distinguished on a gateway device, the streamlet retransmission packet may be queued again and sent out, for example, as shown in fig. 1, a VPN gateway forwards data streams pkt _1, pkt _2, and pkt _3 of three users, where pkt _1 and pkt _2 are TCP packets, and pkt _3 is UDP packets, and if a packet with sequence number seq =5 and seq =6 in the pkt _1 stream is lost and needs to be retransmitted, then the streamlet retransmission packet with sequence number seq =5 and seq =6 needs to wait for retransmission after the pkt _2 and pkt _3 in the queue are sent out, but actually the priority of the packet with sequence number seq =5 and seq =6 should be higher than that of the streamlet _2 and pkt _ 3. Therefore, the original higher priority streamlet retransmission message needs to be queued again before being sent out.
The data flow can be divided into a large flow and a small flow according to the proportion of the occupied link bandwidth or the size of the occupied bandwidth, wherein the large flow is also called a elephant flow, the occupied link bandwidth is large, the large flow is a long-time active TCP message, the requirement on network delay is low, the requirement on bandwidth is high, the small flow is also called a mouse flow, the mouse flow generally corresponds to the application of people, the data volume is small, the duration is short, the requirement on timeliness is high, and the mouse flow is generally required to be completed in as short a time as possible. Therefore, it is often difficult to satisfy the requirement of the streamlet transmission on timeliness for retransmitting the streamlet message in a mode of re-queuing transmission.
In view of the above, the present application provides a method, a system, an electronic device, and a storage medium for retransmitting a streamlet message, which identify a streamlet retransmission message from the streamlet message by obtaining the streamlet message and according to a preset streamlet retransmission message identification algorithm, so as to identify the streamlet retransmission message, and then transmit the streamlet retransmission message to a preset fast transmission channel, and transmit the streamlet retransmission message to a message receiving end through a network card driver, so as to realize fast forwarding of the streamlet retransmission message. Exemplarily, referring to fig. 2, the messages that are not lost in the data streams pkt _1, pkt _2, and pkt _3 may still be forwarded through the normal path, and after the messages with the sequence numbers seq =5 and seq =6 are lost, the retransmission mechanism is triggered to generate the streamlet retransmission messages, and the streamlet retransmission messages with the sequence numbers seq =5 and seq =6 may be directly transmitted through the fast transmission channel without re-queuing in the normal forwarding path, so that the waiting time of the streamlet retransmission messages in the queue is effectively reduced, the efficiency of the streamlet message retransmission is improved, the network delay phenomenon of the streamlet messages is reduced, and the user experience is improved.
In an embodiment of the present application, referring to fig. 3, the method for retransmitting a small flow packet, applied to a packet sending end, includes the following steps:
step S10, acquiring a small flow message;
in this embodiment, it should be noted that, this embodiment is applied to a message sending end of a WireGuard VPN gateway, where the WireGuard is a secure network tunnel supported by a Linux operating system, and is implemented by using a Linux-based kernel virtual network interface, and the purpose of this embodiment is to replace IPSEC (Internet Protocol Security) and popular user space and/or a TLS (Transport Layer Security) based solution, such as OpenVPN (a VPN software), in most cases, while being safer, higher in performance, and easier to use.
The data flow can be divided into a large flow and a small flow according to the proportion of the occupied link bandwidth or the occupied bandwidth, wherein the large flow is also called a elephant flow, the occupied link bandwidth is large, the large flow is a long-time active TCP message, the requirement on network delay is low, the requirement on bandwidth is high, the small flow is also called a mouse flow, the small flow generally corresponds to the application of people, the data volume is small, the duration is short, the intermittent performance is provided, the requirement on timeliness is high, and the small flow is generally required to be completed in the shortest time. When large flows and small flows are distinguished, the large flows and the small flows can be divided according to empirical values and actual requirements by setting thresholds, for example, the large flows and the small flows can be divided according to data quantity of different flows, the large flows exceed the preset data quantity limit value, otherwise, the small flows are judged.
Specifically, the streamlets may be identified from the received data stream and corresponding streamlet messages may be obtained according to a preset streamlet identification algorithm and a preset limit, or the streamlets may be identified from the received data stream according to a preset streamlet identification algorithm and a preset limit, and the data stream that is not identified as a streamlet is determined as a streamlet and corresponding streamlet messages are obtained, where the preset streamlet identification algorithm and the preset streamlet identification algorithm are similar to those of the prior art, for example, a stream detection algorithm based on LRU (Least Recently Used), a stream detection algorithm based on FEFS (Flow extraction with frequency and Size), a stream identification algorithm based on Count-Min Sketch and the like, and the contents of the algorithms are not repeated herein.
Optionally, the step of obtaining the trickle message includes:
step S11, acquiring a data stream;
step S12, if the data flow is determined not to be the big flow according to a preset big flow identification algorithm, determining the data flow to be the small flow, and dividing the small flow into a first message queue;
and S13, acquiring the small flow message from the first message queue.
In this embodiment, it should be noted that a small flow message is mostly a continuous and intermittent small message, or a disposable flow may be referred to as a small flow, so that statistics and identification are difficult. However, the existing algorithms for detecting, identifying and counting the large flow are more and have high accuracy, and the algorithms can be based on hardware or software.
Specifically, a data stream to be subjected to data transmission is acquired, whether the data stream is a big stream or not is judged according to a preset big stream identification algorithm, if the data stream is determined not to be the big stream according to the preset big stream identification algorithm, the data stream is determined to be a small stream, the small stream is divided into a first message queue, and if the data stream is determined to be the big stream according to the preset big stream identification algorithm, the big stream is divided into a second message queue, so that a small stream message is acquired from the first message queue, wherein the first message queue and the second message queue are equivalent, independent from each other, and have the same priority.
In an implementable manner, the big stream identification algorithm may be a big stream detection algorithm based on Count-Min Sketch, where Count-Min Sketch is one of the most classical data summary algorithms, and may be regarded as a data structure of a sub-linear space composed of k one-dimensional arrays with a length of w, that is, a two-dimensional array with a size of k w, and each row is updated by a global hash function that is independent of each other.
In this embodiment, the large flow and the small flow are classified, so that the statistics and storage of the small flow are more accurate, and because the large flow has a lower requirement on network delay and the small flow has a higher requirement on timeliness, the retransmission efficiency of the small flow message can be adaptively and pertinently improved, the influence of the retransmission message of the large flow and the small flow can be avoided, and the retransmission efficiency of the small flow message can be further improved.
Step S20, identifying a small flow retransmission message from the small flow message according to a preset small flow retransmission message identification algorithm;
in this embodiment, specifically, the obtained streamlet message is stored each time, when a new streamlet message is obtained each time, according to a preset streamlet retransmission message identification algorithm, information comparison is performed between the currently obtained streamlet message and the stored streamlet message, it is determined whether the currently obtained streamlet message matches with the stored information of the streamlet message, if the currently obtained streamlet message matches with the stored information of the streamlet message, it may be determined that the currently obtained streamlet message is a streamlet retransmission message, and if the currently obtained streamlet message does not match with the stored information of the streamlet message, it may be determined that the currently obtained streamlet message is not a streamlet retransmission message, where the information used for comparison may be a source IP address, a source port, a destination IP address, a destination port, a transport layer protocol, and the like of the message.
In an implementable manner, the key information of the streamlet can be stored and inquired through the hash table, so that the efficiency of inquiring and storing the message is improved, and the efficiency of identifying the retransmission message of the streamlet can be improved.
And step S30, sending the small flow retransmission message to a preset fast transmission channel, and sending the small flow retransmission message to a message receiving end through a network card drive.
In this embodiment, specifically, on the basis of a conventional transmission channel, a fast transmission channel which is independent from the conventional transmission channel and has the same priority is added, if it is determined that the streamlet packet is a streamlet retransmission packet, the streamlet retransmission packet is sent to a preset fast transmission channel, the streamlet retransmission packet is sent to a packet receiving end through a network card driver, if it is determined that the streamlet packet is not a streamlet retransmission packet, the streamlet packet is sent to the conventional transmission channel, and the streamlet packet is sent to the packet receiving end through an XDP program loaded in the network card driver, so as to realize the shunting of the streamlet packet and the streamlet retransmission packet.
Optionally, the sending the small flow retransmission packet to a preset fast transmission channel, and the sending the small flow retransmission packet to a packet receiving end through a network card driver includes:
step A10, creating a user-mode readable and writable memory queue, wherein the user-mode readable and writable memory queue comprises a reserved area;
in this embodiment, the retransmission of the streamlet retransmission packet is implemented by an XDP (eXpress Data Path) technology. At present, an XDP technology ring queue for receiving and transmitting packets does not support queue insertion of data, so that when a user-mode readable and writable memory queue is created, a reserved region is allocated in the user-mode readable and writable memory queue, and a fast transmission channel is designed to point to the reserved region, where a priority of the reserved region may be higher than or equal to that of other regions in the user-mode readable and writable memory queue, and when there are messages to be sent in both the reserved region and the other regions in the user-mode readable and writable memory queue, it is possible to preferentially process a streamlet retransmission message in the reserved region.
Step A20, sending the small flow retransmission message to a preset fast transmission channel, and distributing a target descriptor for the small flow retransmission message;
in this embodiment, specifically, a fast transmission channel for transmitting a small flow retransmission packet is established in advance, if it is determined that the small flow packet is the small flow retransmission packet, the small flow retransmission packet is sent to the fast transmission channel, and a corresponding target descriptor is allocated to the small flow retransmission packet in the fast transmission channel, where the descriptor is used to specify a storage address of the small flow retransmission packet in a user-state readable and writable memory queue, and a target storage address specified by the target descriptor allocated to the small flow retransmission packet is in the reserved area.
Step A30, storing the small flow retransmission message in the reserved area according to the target descriptor;
in this embodiment, specifically, a target storage address of the small flow retransmission packet in the reserved area is determined according to the target descriptor, and the small flow retransmission packet is stored in the target storage address.
And A40, transmitting the small flow retransmission message in the reserved area to a message receiving end through a network card drive.
In this embodiment, specifically, the target descriptor is consumed by the XDP program loaded in the network card driver, and the streamlet retransmission packet in the target storage address corresponding to the target descriptor can be sent to the packet receiving end.
Optionally, the step of sending the streamlet retransmission packet to a preset fast transmission channel, and sending the streamlet retransmission packet to a packet receiving end through a network card driver includes:
step B10, the small flow retransmission message is sent to a preset fast transmission channel;
in this embodiment, specifically, a fast transmission channel for transmitting a small flow retransmission packet is established in advance, and if it is determined that the small flow packet is the small flow retransmission packet, the small flow retransmission packet is sent to the fast transmission channel.
Step B20, determining a target message type corresponding to the small flow retransmission message, and packaging the small flow retransmission message based on the target message type;
and step B30, transmitting the encapsulated small flow retransmission message to a message receiving end through an XDP program loaded in the network card drive.
In this embodiment, it should be noted that the existing message types of the wireguard include Invalid, handake initiation, handake response, handake cookie, and Data, on this basis, a target message type for representing a streamlet retransmission message is newly added in advance, and in an implementable manner, the target message type may be eXpress Data (fast transmission Data).
Specifically, the message type of the streamlet retransmission message in the fast transmission channel is determined to be a target message type, the streamlet retransmission message is packaged based on the target message type, and the packaged streamlet retransmission message is sent to a message receiving end through an XDP program loaded in a network card drive, so that the message receiving end can judge whether the received message is the streamlet retransmission message or not through a key field of the message type in the header of the packaged streamlet retransmission message.
In an implementable manner, referring to fig. 4, let the wireguard's existing message types Invalid =0, handsign initiation =1, handsign response =2, handsign cookie =3, and Data =4, and the newly added target message type eXpress Data =5, the key field of the message type in the encapsulated streamlet retransmission message header is type =5, and the key field of the message type in the normal message header is type =4.
In this embodiment, the identification of the streamlet retransmission message is realized by acquiring the streamlet message and identifying the streamlet retransmission message from the streamlet message according to a preset streamlet retransmission message identification algorithm, and then the streamlet retransmission message is sent to a preset fast transmission channel and sent to a message receiving end through a network card drive, so that the fast forwarding of the streamlet retransmission message is realized. Compared with retransmission of the small flow message in a mode of re-queuing transmission, the method and the device have the advantages that after the small flow retransmission message is identified from the small flow message, the small flow retransmission message is directly sent to the message receiving end through the rapid transmission channel without re-queuing, waiting time of the small flow retransmission message in the queue is effectively reduced, small flow message retransmission efficiency is improved, network delay of the small flow message is reduced, user experience is improved, and the technical problem that timeliness of retransmission of the small flow message in the prior art is poor is solved.
Further, referring to fig. 5, based on the above-mentioned embodiment of the present application, in another embodiment of the present application, the same or similar contents to the above-mentioned embodiment may be referred to the above description, and are not repeated herein. On this basis, the step of identifying the small flow retransmission message from the small flow message according to a preset small flow retransmission message identification algorithm comprises the following steps:
step S21, carrying out secondary hash on the identification number of the small flow message, and determining the storage position of the small flow message;
in this embodiment, it should be noted that the data structure for storing streamlets in the present application is, as shown in fig. 6, composed of a two-dimensional array of buckets with r rows and w columns, where i e [1, w ], j e [1, r ], each coordinate in a bucket is used for storing one stream, and specifically includes stream basic information D (i, j), a stream data volume C (i, j) and a stream sequence number S (i, j), where one or more packets belonging to the same stream are stored in the same coordinate position.
Specifically, when the trickle packet is received, hashing the identification number of the trickle packet by using a preset first hash function and a preset second hash function respectively, and determining the row coordinate and the column coordinate of the target flow in the storage bucket respectively, so as to determine the storage position of the trickle packet in the hash bucket, wherein the identification number is a unique number for identifying the flow, for example, a quintuple, and specifically includes a source IP address, a source port, a destination IP address, a destination port, and a transport layer protocol.
Step S22, judging whether the information of the target flow corresponding to the storage position is matched with the information of the small flow message;
in this embodiment, specifically, it is determined whether information of the target flow corresponding to the storage location matches information of the streamlet packet, that is, it is determined whether the streamlet corresponding to the streamlet packet is stored in the storage location determined by the current calculation, where the information used for matching may be characteristic information of a flow, such as a quintuple.
Optionally, after the step of determining whether the information of the target flow corresponding to the storage location matches the information of the streamlet packet, the method further includes:
step C10, if the information of the target flow is not matched with the information of the small flow message, counting a first data volume of a data flow corresponding to the small flow message;
in this embodiment, specifically, if the information of the target flow does not match the information of the streamlet packet, it is indicated that a hash collision occurs, at this time, an initial data flow is already stored in the storage address, and the streamlet packet is a packet of a new flow that newly requests to be stored in the storage address.
And step C20, when the first data volume exceeds the second data volume of the initial data stream in the storage position, deleting the initial data stream from the storage position, and storing the data stream corresponding to the small flow message into the storage position.
In this embodiment, specifically, a current first data volume of the new flow is compared with a second data volume of the original data flow originally stored in the storage location, and if the first data volume is smaller than the second data volume of the original data flow in the storage location, it is indicated that the current data volume of the new flow is smaller and may be an interference item, at this time, data of the streamlet packet is discarded, data stored in the bucket is not updated, but the first data volume of the new flow is stored, when a new streamlet packet of the new flow is subsequently received, a new first data volume is obtained after adding a data volume of a new streamlet packet, and the new first data volume is compared with the second data volume, it needs to be noted that the second data volume may also be updated each time a streamlet packet of the original data flow is received; and when the first data volume exceeds the second data volume of the initial data flow in the storage position, discarding the initial data flow in the storage position, and storing the data flow corresponding to the small flow message, namely the data of the new flow, into the storage position.
The probability of the hash collision occurring in the secondary hash under normal conditions is very small, if the hash collision still occurs, the hash collision can be found and processed in time by matching the original information before the hash, when the hash collision occurs, for example, if a certain position in the bucket originally stores the streamlet a, and then the streamlet B is received at the same position, the following three conditions may exist: (1) When the gateway does not detect the user data streamlet A for a period of time, and the pause time is a time period in which it is difficult to judge whether the stream is stopped or paused to be sent, if a new stream B is mapped into the bucket, the information stored in the bucket should be updated under normal conditions, but in order to keep the stability of the data stored in the bucket, the updating is not immediately performed, and when the data volume of the streamlet B reaches a certain threshold value, for example, the data volume of the streamlet A is exceeded, the streamlet B is updated to be stored; (2) If the small flow A exists all the time, the small flow B newly appears in the bucket, but the duration of the small flow B is not long, and the data volume of the small flow B cannot exceed the data volume of the small flow A, the small flow B is considered as an interference item, and the data stored in the bucket cannot be updated; (3) The small flow A and the small flow B exist at the same time, and the data volume of the small flow B exceeds the data volume of the small flow A with the lapse of time, so that the benefit of retransmitting the small flow B is considered to be greater than that of the small flow A, and the small flow B is updated to be stored. Therefore, when hash collision occurs, the embodiment introduces a contention mechanism, discards a flow with a small data amount, and reserves a flow with a large data amount.
Step S23, if the information of the target flow is matched with the information of the small flow message, judging whether the first serial number of the small flow message is smaller than the second serial number corresponding to the storage position;
in this embodiment, specifically, if it is determined that the information of the target flow matches the information of the streamlet packet, it indicates that the streamlet corresponding to the streamlet packet is stored in a storage location determined by current calculation, and may further perform recognition of a streamlet retransmission packet, compare a first sequence number of the streamlet packet with a second sequence number corresponding to the storage location, and determine whether the first sequence number is smaller than the second sequence number.
Step S24, if the first sequence number is smaller than the second sequence number, the small flow message is determined to be a small flow retransmission message.
In this embodiment, in the process of message transmission, because application data needs to be continuously interacted, the sequence number of the message is continuously increased, and the situation of dropping does not occur, so that if the sequence number drops, it can be determined that the message is caused by retransmission, and therefore, if it is determined that the first sequence number is smaller than the second sequence number, it is determined that the streamlet message is a streamlet retransmission message.
If the first sequence number is larger than or equal to the second sequence number, determining that the small flow message is not a small flow retransmission message and is a normal message, storing the small flow message in the storage position, updating information corresponding to the storage position, adding C (i, j) corresponding to the storage position to the data volume of the small flow message, and updating S (i, j) corresponding to the storage position to the first sequence number of the small flow message.
In this embodiment, the two hash functions perform secondary hash on the identification number of the streamlet packet to determine the storage location of the information streamlet packet in the hash bucket, so that the probability of hash collision can be greatly reduced, when hash collision occurs, a stream with a large data volume is retained through a competition mechanism, a stream with a small data volume is discarded, an interference item is avoided, and the validity of the stored stream is improved.
Further, in another embodiment of the present application, referring to fig. 7, the method for retransmitting a small flow packet is applied to a packet receiving end, and further includes:
step S100, receiving an initial message sent by a message sending end;
step S200, capturing and analyzing the initial message through an XDP program loaded on a network card drive, and determining the message type of the initial message according to the analyzed initial message;
in this embodiment, it should be noted that this embodiment is applied to a message receiving end of a WireGuard VPN gateway.
Specifically, an initial message sent by a message sending end is received, the initial message is captured and analyzed through an XDP program loaded on a network card driver, a key field of a message type of a header of the initial message is extracted, and the message type of the initial message is determined according to the key field, wherein the initial message may be a large-flow normal message, a large-flow retransmission message, a small-flow normal message or a small-flow retransmission message and the like.
Step S300, if the initial message is determined to be a small flow retransmission message according to the message type of the initial message, the small flow retransmission message is sent to a corresponding user mode module through a preset quick receiving channel.
In this embodiment, specifically, a fast receiving channel for receiving a small flow retransmission packet is established in advance, and if it is determined that the initial packet is a small flow retransmission packet according to the packet type of the initial packet, a Linux kernel protocol stack is bypassed by an XDP technique, and the small flow retransmission packet is directly sent to a corresponding user mode module through the preset fast receiving channel; and if the initial message is determined not to be a small flow retransmission message according to the message type of the initial message, the initial message can be sequentially sent to the corresponding user mode modules through a normal receiving channel.
In this embodiment, a fast receiving channel is established for the retransmission packet at the packet receiving end of the VPN, which can effectively improve the retransmission efficiency of the streamlet packet, reduce the network delay phenomenon of the streamlet packet, improve the user experience, and overcome the technical problem of poor timeliness of the prior art for retransmitting the streamlet packet.
Further, an embodiment of the present application further provides a small flow message retransmission system, and referring to fig. 8, the small flow message retransmission system includes a message sending end 10 and a message receiving end 20, wherein,
the message sending end 10 is configured to obtain a streamlet message;
the message sending end 10 is further configured to identify a streamlet retransmission message from the streamlet message according to a preset streamlet retransmission message identification algorithm;
the message sending end 10 is further configured to send the streamlet retransmission message to a preset fast transmission channel, and send the streamlet retransmission message to a message receiving end through a network card drive;
the message receiving end 20 is configured to receive an initial message sent by a message sending end;
the message receiving end 20 is further configured to capture and analyze the initial message through an XDP program loaded on a network card driver, and determine a message type of the initial message according to the analyzed initial message;
the message receiving end 20 is further configured to send the trickle retransmission message to a corresponding user mode module through a preset fast receiving channel if it is determined that the initial message is the trickle retransmission message according to the message type of the initial message.
Optionally, the message sending end 10 is further configured to:
acquiring a small flow message;
identifying a small flow retransmission message from the small flow message according to a preset small flow retransmission message identification algorithm;
and sending the small flow retransmission message to a preset fast transmission channel, and sending the small flow retransmission message to a message receiving end through a network card drive.
Optionally, the message sending end 10 is further configured to:
acquiring a data stream;
if the data stream is determined not to be the big stream according to a preset big stream identification algorithm, determining the data stream to be the small stream, and dividing the small stream into a first message queue;
and acquiring the small flow message from the first message queue.
Optionally, the message sending end 10 is further configured to:
performing secondary hash on the identification number of the small flow message to determine the storage position of the small flow message;
judging whether the information of the target flow corresponding to the storage position is matched with the information of the small flow message or not;
if the information of the target flow is matched with the information of the small flow message, judging whether a first serial number of the small flow message is smaller than a second serial number corresponding to the storage position or not;
and if the first sequence number is smaller than the second sequence number, determining that the small flow message is a small flow retransmission message.
Optionally, the message sending end 10 is further configured to:
if the information of the target flow is not matched with the information of the small flow message, counting a first data volume of a data flow corresponding to the small flow message;
and when the first data volume exceeds the second data volume of the initial data stream in the storage position, deleting the initial data stream from the storage position, and storing the data stream corresponding to the small flow message into the storage position.
Optionally, the message sending end 10 is further configured to:
creating a user-mode readable and writable memory queue, wherein the user-mode readable and writable memory queue comprises a reserved area;
sending the small flow retransmission message to a preset fast transmission channel, and distributing a target descriptor for the small flow retransmission message;
storing the small flow retransmission message in the reserved area according to the target descriptor;
and transmitting the small flow retransmission message in the reserved area to a message receiving end through a network card drive.
Optionally, the message sending end 10 is further configured to:
sending the small flow retransmission message to a preset fast transmission channel;
determining a target message type corresponding to the small flow retransmission message, and packaging the small flow retransmission message based on the target message type;
and sending the encapsulated small flow retransmission message to a message receiving end through a network card drive.
Optionally, the message receiving end 20 is further configured to:
receiving an initial message sent by a message sending end;
capturing and analyzing the initial message through an XDP program loaded on a network card drive, and determining the message type of the initial message according to the analyzed initial message;
and if the initial message is determined to be a small flow retransmission message according to the message type of the initial message, sending the small flow retransmission message to a corresponding user mode module through a preset quick receiving channel.
The system for retransmitting the small flow message provided by the invention adopts the method for retransmitting the small flow message in the embodiment, and solves the technical problem of poor timeliness of retransmitting the small flow message in the prior art. Compared with the prior art, the beneficial effect of the small flow message retransmission system provided by the embodiment of the invention is the same as that of the small flow message retransmission method provided by the embodiment, and other technical characteristics in the small flow message retransmission system are the same as those disclosed by the embodiment method, which are not repeated herein.
Further, an embodiment of the present invention provides an electronic device, where the electronic device includes: at least one processor; and a memory communicatively coupled to the at least one processor; the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the method for retransmitting the small flow packet in the foregoing embodiments.
Referring now to FIG. 9, shown is a schematic diagram of an electronic device suitable for use in implementing embodiments of the present disclosure. The electronic devices in the embodiments of the present disclosure may include, but are not limited to, mobile terminals such as mobile phones, notebook computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), in-vehicle terminals (e.g., car navigation terminals), and the like, and fixed terminals such as digital TVs, desktop computers, and the like. The electronic device shown in fig. 9 is only an example, and should not bring any limitation to the functions and the use range of the embodiment of the present disclosure.
As shown in fig. 9, the electronic device may include a processing system (e.g., a central processing unit, a graphics processor, etc.) that may perform various appropriate actions and processes in accordance with a program stored in a Read Only Memory (ROM) or a program loaded from a storage system into a Random Access Memory (RAM). In the RAM, various programs and data necessary for the operation of the electronic apparatus are also stored. The processing system, ROM and RAM are connected to each other by a bus. An input/output (I/O) interface is also connected to the bus.
Generally, the following systems may be connected to the I/O interface: input systems including, for example, touch screens, touch pads, keyboards, mice, image sensors, microphones, accelerometers, gyroscopes, and the like; output systems including, for example, liquid Crystal Displays (LCDs), speakers, vibrators, and the like; storage systems including, for example, magnetic tape, hard disk, etc.; and a communication system. The communication system may allow the electronic device to communicate wirelessly or by wire with other devices to exchange data. While the figures illustrate an electronic device with various systems, it is understood that implementing or having all of the illustrated systems is not a requirement. More or fewer systems may alternatively be implemented or provided.
In particular, the processes described above with reference to the flow diagrams may be implemented as computer software programs, according to embodiments of the present disclosure. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network over a communication system, or installed from a storage system, or installed from a ROM. The computer program, when executed by a processing system, performs the functions defined in the methods of the embodiments of the present disclosure.
The electronic device provided by the invention adopts the small flow message retransmission method in the embodiment, and solves the technical problem of poor timeliness of retransmitting the small flow message in the prior art. Compared with the prior art, the beneficial effects of the electronic device provided by the embodiment of the present invention are the same as the beneficial effects of the method for retransmitting the streamlet message provided by the above embodiment, and other technical features in the electronic device are the same as those disclosed in the above embodiment method, which are not described herein again.
It should be understood that portions of the present disclosure may be implemented in hardware, software, firmware, or a combination thereof. In the foregoing description of embodiments, the particular features, structures, materials, or characteristics may be combined in any suitable manner in any one or more embodiments or examples.
The above description is only for the specific embodiments of the present invention, but the scope of the present invention is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present invention, and all the changes or substitutions should be covered within the scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the protection scope of the appended claims.
Further, the present embodiment provides a computer-readable storage medium having stored thereon computer-readable program instructions for executing the method for retransmitting a streamlet packet in the above embodiment.
The computer readable storage medium provided by the embodiments of the present invention may be, for example, a USB flash disk, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, or device, or any combination thereof. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present embodiment, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, or device. Program code embodied on a computer readable storage medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, optical cables, RF (radio frequency), etc., or any suitable combination of the foregoing.
The computer-readable storage medium may be embodied in an electronic device; or may be separate and not incorporated into the electronic device.
The computer readable storage medium carries one or more programs which, when executed by the electronic device, cause the electronic device to: acquiring a small flow message; identifying a small flow retransmission message from the small flow message according to a preset small flow retransmission message identification algorithm; and sending the small flow retransmission message to a preset fast transmission channel, and sending the small flow retransmission message to a message receiving end through a network card drive.
The one or more programs, when executed by the electronic device, may further cause the electronic device to: receiving an initial message sent by a message sending end; capturing and analyzing the initial message through an XDP program loaded on a network card drive, and determining the message type of the initial message according to the analyzed initial message; and if the initial message is determined to be a small flow retransmission message according to the message type of the initial message, sending the small flow retransmission message to a corresponding user mode module through a preset quick receiving channel.
Computer program code for carrying out operations for aspects of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, smalltalk, C + +, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the machine tool operator computer, partly on the machine tool operator computer, as a stand-alone software package, partly on the machine tool operator computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the machine tool operator computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The modules described in the embodiments of the present disclosure may be implemented by software or hardware. Wherein the names of the modules do not in some cases constitute a limitation of the unit itself.
The computer-readable storage medium provided by the invention stores the computer-readable program instruction for executing the method for retransmitting the small flow message, and solves the technical problem of poor timeliness of retransmitting the small flow message in the prior art. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided by the embodiment of the present invention are the same as the beneficial effects of the small flow message retransmission method provided by the above embodiment, and are not described herein again.
Further, the present application also provides a computer program product, which includes a computer program, and when being executed by a processor, the computer program implements the steps of the method for retransmitting a streamlet message as described above.
The computer program product provided by the application solves the technical problem that the timeliness of the retransmission of the small flow message in the prior art is poor. Compared with the prior art, the beneficial effects of the computer program product provided by the embodiment of the present invention are the same as the beneficial effects of the method for retransmitting the small flow message provided by the above embodiment, and are not described herein again.
The above description is only a preferred embodiment of the present application, and not intended to limit the scope of the present application, and all modifications of equivalent structures and equivalent processes, which are made by the contents of the specification and the drawings, or which are directly or indirectly applied to other related technical fields, are included in the scope of the present application.

Claims (8)

1. A method for retransmitting a small flow message is applied to a message sending end and comprises the following steps:
acquiring a small flow message;
performing secondary hash on the identification number of the small flow message to determine the storage position of the small flow message;
judging whether the information of the target flow corresponding to the storage position is matched with the information of the small flow message;
if the information of the target flow is determined to be matched with the information of the small flow message, judging whether a first serial number of the small flow message is smaller than a second serial number corresponding to the storage position;
if the first sequence number is smaller than the second sequence number, determining that the small flow message is a small flow retransmission message;
and sending the small flow retransmission message to a preset fast transmission channel, and sending the small flow retransmission message to a message receiving end through a network card drive.
2. The method for retransmitting a streamlet message according to claim 1, wherein the step of acquiring a streamlet message comprises:
acquiring a data stream;
if the data stream is determined not to be a big stream according to a preset big stream identification algorithm, determining the data stream to be a small stream, and dividing the small stream into a first message queue;
and acquiring the small flow message from the first message queue.
3. The method for retransmitting a streamlet message according to claim 1, wherein after the step of determining whether the information of the target stream corresponding to the storage location matches the information of the streamlet message, the method further comprises:
if the information of the target flow is not matched with the information of the small flow message, counting a first data volume of a data flow corresponding to the small flow message;
and when the first data volume exceeds the second data volume of the initial data stream in the storage position, deleting the initial data stream from the storage position, and storing the data stream corresponding to the small flow message into the storage position.
4. The method for retransmitting a streamlet message according to claim 1, wherein the step of transmitting the streamlet retransmission message to a message receiving end through a network card driver by transmitting the streamlet retransmission message to a preset fast transmission channel comprises:
creating a user-mode readable and writable memory queue, wherein the user-mode readable and writable memory queue comprises a reserved area;
sending the small flow retransmission message to a preset fast transmission channel, and distributing a target descriptor for the small flow retransmission message;
storing the small flow retransmission message in the reserved area according to the target descriptor;
and transmitting the small flow retransmission message in the reserved area to a message receiving end through a network card drive.
5. The method for retransmitting a streamlet message according to claim 1, wherein the step of transmitting the streamlet retransmission message to a message receiving end through a network card driver by transmitting the streamlet retransmission message to a preset fast transmission channel comprises:
sending the small flow retransmission message to a preset fast transmission channel;
determining a target message type corresponding to the small flow retransmission message, and packaging the small flow retransmission message based on the target message type;
and transmitting the encapsulated small flow retransmission message to a message receiving end through a network card drive.
6. A small flow message retransmission system, characterized in that the small flow message retransmission system comprises a message sending end and a message receiving end, wherein,
the message sending terminal is used for obtaining a small flow message;
the message sending end is further configured to perform secondary hash on the identification number of the trickle message to determine a storage location of the trickle message; judging whether the information of the target flow corresponding to the storage position is matched with the information of the small flow message; if the information of the target flow is determined to be matched with the information of the small flow message, judging whether a first serial number of the small flow message is smaller than a second serial number corresponding to the storage position; if the first serial number is smaller than the second serial number, determining that the small flow message is a small flow retransmission message;
the message sending end is also used for sending the small flow retransmission message to a preset fast transmission channel and sending the small flow retransmission message to a message receiving end through a network card drive;
the message receiving end is used for receiving an initial message sent by the message sending end;
the message receiving end is also used for capturing and analyzing the initial message through an XDP program loaded on a network card drive, and determining the message type of the initial message according to the analyzed initial message;
and the message receiving end is further configured to send the trickle retransmission message to a corresponding user mode module through a preset fast receiving channel if the initial message is determined to be the trickle retransmission message according to the message type of the initial message.
7. An electronic device, characterized in that the electronic device comprises:
at least one processor; and (c) a second step of,
a memory communicatively coupled to the at least one processor; wherein the content of the first and second substances,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the steps of the streamlet message retransmission method of any one of claims 1-5.
8. A storage medium, characterized in that the storage medium is a computer-readable storage medium, on which a program for implementing a method for retransmitting a streamlet message is stored, the program being executed by a processor to implement the steps of the method for retransmitting a streamlet message according to any one of claims 1 to 5.
CN202211463460.9A 2022-11-17 2022-11-17 Small flow message retransmission method, system, electronic equipment and storage medium Active CN115550250B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211463460.9A CN115550250B (en) 2022-11-17 2022-11-17 Small flow message retransmission method, system, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211463460.9A CN115550250B (en) 2022-11-17 2022-11-17 Small flow message retransmission method, system, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN115550250A CN115550250A (en) 2022-12-30
CN115550250B true CN115550250B (en) 2023-04-07

Family

ID=84721409

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211463460.9A Active CN115550250B (en) 2022-11-17 2022-11-17 Small flow message retransmission method, system, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN115550250B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115913473B (en) * 2023-02-21 2023-05-12 深圳云豹智能有限公司 Data selective retransmission method and system, storage medium and electronic equipment thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019153931A1 (en) * 2018-02-08 2019-08-15 华为技术有限公司 Data transmission control method and apparatus, and network transmission device and storage medium
CN111385259A (en) * 2018-12-28 2020-07-07 中兴通讯股份有限公司 Data transmission method, data transmission device, related equipment and storage medium
CN111740939A (en) * 2019-08-07 2020-10-02 北京京东尚科信息技术有限公司 Message transmission device, message transmission equipment, message transmission method and storage medium

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104579962B (en) * 2015-01-23 2018-08-14 盛科网络(苏州)有限公司 A kind of method and device of qos policy that distinguishing different messages
CN104780028A (en) * 2015-04-02 2015-07-15 京信通信技术(广州)有限公司 Method and equipment for retransmitting TCP (transmission control protocol) data messages
CN106576108B (en) * 2015-04-30 2020-05-08 华为技术有限公司 Communication method, equipment and system in communication system
EP3731487B1 (en) * 2015-12-29 2022-07-06 Amazon Technologies, Inc. Networking technologies
CN113765626B (en) * 2020-06-01 2022-11-11 大唐移动通信设备有限公司 Data transmission method and device of mobile communication system
CN112436994B (en) * 2020-11-17 2022-04-19 联想(北京)有限公司 Data transmission method and electronic equipment
CN113595931B (en) * 2021-07-08 2024-01-16 杭州海康威视数字技术股份有限公司 Message processing method, device, equipment and storage medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019153931A1 (en) * 2018-02-08 2019-08-15 华为技术有限公司 Data transmission control method and apparatus, and network transmission device and storage medium
CN111385259A (en) * 2018-12-28 2020-07-07 中兴通讯股份有限公司 Data transmission method, data transmission device, related equipment and storage medium
CN111740939A (en) * 2019-08-07 2020-10-02 北京京东尚科信息技术有限公司 Message transmission device, message transmission equipment, message transmission method and storage medium

Also Published As

Publication number Publication date
CN115550250A (en) 2022-12-30

Similar Documents

Publication Publication Date Title
US11934340B2 (en) Multi-path RDMA transmission
US20220394316A1 (en) Message sending method and device, readable medium and electronic device
WO2020034758A1 (en) Multichannel data transmission method and apparatus
CN108881008B (en) Data transmission method, device and system
CN106713156B (en) System and method for adjusting per-hop behavior of one or more expedited forwarding packets
CN113676741B (en) Data transmission method and device, storage medium and electronic equipment
CN110581812A (en) Data message processing method and device
CN115550250B (en) Small flow message retransmission method, system, electronic equipment and storage medium
WO2020119347A1 (en) Message transmission method, apparatus, device and medium
KR20230058493A (en) Data transmission method and apparatus, computer readable storage medium, electronic device and computer program product
WO2020026018A1 (en) Method for downloading file, device, apparatus/terminal/ server, and storage medium
WO2017045501A1 (en) Packet scheduling method and apparatus, and storage medium
CN114071544B (en) Network testing method and device and electronic equipment
CN113285931B (en) Streaming media transmission method, streaming media server and streaming media system
WO2023217188A1 (en) Livestream data transmission method, apparatus and system, device and medium
CN110971482B (en) Back-end server detection method and device based on ebpf and electronic equipment
CN115134254B (en) Network simulation method, device, equipment and storage medium
WO2023078222A1 (en) Data transmission method and apparatus, device, and storage medium
CN111265852A (en) Low-delay information transmission method and device based on UDP (user Datagram protocol)
CN114039926B (en) Transmission control protocol determining method and device, readable medium and electronic equipment
CN107733903B (en) Data transmission confirmation method based on UDP (user Datagram protocol) and base station
CN113839828B (en) Network quality detection method, device, terminal equipment and medium
EP4044535A1 (en) Method for acquiring common maximum segment size (mss), and device
CN111309497B (en) Information calling method and device, server, terminal and storage medium
JP2022100218A (en) Methods and apparatus to facilitate data transmission

Legal Events

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