CN116155810A - Multilink aggregation ordered transmission method and device - Google Patents

Multilink aggregation ordered transmission method and device Download PDF

Info

Publication number
CN116155810A
CN116155810A CN202310134384.5A CN202310134384A CN116155810A CN 116155810 A CN116155810 A CN 116155810A CN 202310134384 A CN202310134384 A CN 202310134384A CN 116155810 A CN116155810 A CN 116155810A
Authority
CN
China
Prior art keywords
link
packet
reachable
sending
data
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
CN202310134384.5A
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.)
Beijing Telixin Electronics Technology Co ltd
Original Assignee
Beijing Telixin Electronics 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 Beijing Telixin Electronics Technology Co ltd filed Critical Beijing Telixin Electronics Technology Co ltd
Priority to CN202310134384.5A priority Critical patent/CN116155810A/en
Publication of CN116155810A publication Critical patent/CN116155810A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • 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
    • H04L1/1829Arrangements specially adapted for the receiver end
    • 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
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1874Buffer management
    • 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/70Routing based on monitoring results
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • 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 invention relates to a multilink aggregation ordered transmission method and a device, wherein the method comprises the following steps: the sending equipment acquires all link information, and detects reachable links based on software and hardware to generate a reachable link information table; transmitting the reachable link information table to a transceiver module of the transmitting device; the method comprises the steps that a receiving and transmitting module of transmitting equipment performs slicing, sequence number marking and packaging on data to be transmitted according to the size of a maximum transmission unit according to an reachable link information table to obtain a plurality of data packets, and transmits the data packets to each reachable link according to the packet proportion of each reachable link, wherein the maximum transmission unit is a preset parameter of the transmitting equipment; the receiving and transmitting module of the receiving equipment receives the data packet, assembles the fragmented data according to the size of the sequence number, and sends the assembled data to the user side; if an exception is encountered, the sending device or the receiving device restarts the state machine. The invention can improve the bandwidth utilization rate of a plurality of channels, so that a single service can be transmitted by using a plurality of channels at the same time.

Description

Multilink aggregation ordered transmission method and device
Technical Field
The invention belongs to the field of network communication, and particularly relates to a multilink aggregation ordered transmission method and device.
Background
The Link Aggregation (LAG) refers to a process of binding a plurality of ethernet physical links together into a logical Link so as to realize load sharing of the throughput of the outgoing/incoming traffic at each member port, and the switch determines which member port the network packet is sent to the switch of the opposite end according to the port load sharing policy configured by the user. Meanwhile, the links which are bound together can effectively improve the reliability of the links through mutual dynamic backup.
Link aggregation has the following advantages: increasing bandwidth, combining the capacities of multiple links into one logical link; automatic failover/failback transferring communications from the failed link to the working link in the aggregate; load balancing, wherein both incoming and outgoing communications are distributed according to a load balancing policy (e.g., source and destination MAC or IP addresses) selected by a user; improved management, all interfaces are managed as a unit; one IP address may be assigned to the entire aggregation, reducing network address pool consumption. However, when the switch detects that the link of one member port fails, the switch stops sending packets on the port, and recalculates the sending port of the message in the rest of the links according to the load sharing strategy, and the failed port acts as a receiving and transmitting port again after recovery. At present, only data packets are sent in the link aggregation, retransmission can not be carried out after packet loss, and reliability is insufficient.
Disclosure of Invention
The invention provides a multilink aggregation ordered transmission method, which aims at solving at least one of the technical problems existing in the prior art. And after detecting the link abnormality, automatically switching the abnormal link data flow, and transmitting the data packet according to the packet transmission proportion of each link. The equipment acquires the MAC address of the next hop by detecting the reachability of a plurality of parallel links, slices the data packet to be forwarded, marks sequence numbers, changes the MAC address, assembles the fragments at the receiving end, sorts the fragments, reminds the transmitting end of the lost fragments for retransmission, and sequentially transmits the assembled fragments to the user side after the assembly is complete.
The technical scheme of the invention relates to a multilink aggregation ordered transmission method, which comprises the following steps:
s100, the sending equipment acquires all link information, and detects an reachable link based on software and hardware to generate a reachable link information table;
s200, transmitting the reachable link information table to a receiving and transmitting module of transmitting equipment;
s300, the transceiver module of the transmitting device performs slicing, sequence number marking and packaging on data to be transmitted according to the size of a maximum transmission unit according to the reachable link information table to obtain a plurality of data packets, and transmits the data packets to each reachable link according to the packet transmission proportion of each reachable link, wherein the maximum transmission unit is a preset parameter of the transmitting device;
s400, a receiving module of the receiving equipment receives the data packet, assembles the fragmented data according to the size of the sequence number, and sends the assembled data to a user side;
s500, if an abnormality is encountered, restarting a state machine by the sending device or the receiving device;
and S600, repeatedly executing the steps S100 to S500.
Further, step S400 includes:
s410, the receiving equipment calculates the missing fragments, generates missing fragment data packets and sends the missing fragment data packets to the sending equipment;
s420, the sending device receives the missing segmented data packet, removes the data packet received by the receiving device in the sending buffer, and retransmits the missing segmented data packet to the receiving device according to the packet sending proportion of each reachable link.
Further, step S400 further includes:
s430, repeatedly executing the step S410 and the step S420, wherein the sending equipment records the times of retransmitting the missing fragmented data packet, and when the times of retransmitting the missing fragmented data packet exceeds the preset maximum retransmission times, the retransmission of the missing fragmented data packet is stopped, and the maximum retransmission times are preset parameters of the sending equipment;
s440, the receiving device records the times of generating the missing piece data packet, and stops sending the missing piece data packet to the sending device after the times of generating the missing piece data packet exceeds the preset maximum times of generating the missing piece data packet, wherein the maximum times of generating the missing piece data packet are preset parameters of the receiving device.
Further, the reachable link information comprises the on-off state of the link and link parameters, wherein the link parameters comprise the link packet loss rate, the link delay and the link jitter.
Further, the packet sending proportion of the reachable link includes a default packet sending proportion and a dynamic packet sending proportion, the default packet sending proportion is a bandwidth proportion of each reachable link, the dynamic packet sending proportion is determined by calculating weights of each reachable link, and the weights of the reachable links are as follows:
BandWidth*(1-(PacketLossRate*50%+Delay*40%+Jitter*10%)),
wherein, bandWidth is the BandWidth of the link, packetLossRate is the packet loss rate of the reachable link, delay is the Delay of the reachable link, and Jitter is the Jitter of the reachable link.
Further, the method comprises the steps of,
the receiving and transmitting module adds a message header to each data packet when packaging the data packet, wherein the message header comprises:
session number, instruction type, segment number, window size, transmit timestamp, segment number, currently unreceived number, and length of subsequent data.
Further, the step S500 includes,
s510, when the sending device or the receiving device detects an abnormal condition, notifying the opposite terminal device to restart the state machine by sending a restart notification packet;
s520, after receiving the restart notification packet sent by the opposite terminal device, the sending device or the receiving device restarts the state machine.
The invention also provides a multilink aggregation ordered transmission device which is used for realizing the multilink aggregation ordered transmission method.
The invention also proposes a computer readable storage medium having stored thereon program instructions which, when executed by a processor, implement a method as described above.
Compared with the prior art, the invention has the following characteristics.
The method and the device can improve the bandwidth utilization rate of a plurality of channels, so that a single service can be transmitted by using a plurality of channels at the same time.
Drawings
Fig. 1 is a flow chart of a method of multilink aggregation ordered transmission;
FIG. 2 is a flow chart of a process for handling missing slices in a multilink aggregation ordered transfer method;
FIG. 3 is a flow chart of exception handling in a multilink aggregation ordered transfer method;
FIG. 4 is a schematic diagram of byte information of a header in a multilink aggregation ordered transmission method;
fig. 5 is a transmission schematic diagram in the multilink aggregation ordered transmission method.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the embodiments of the present invention more apparent, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention, and it is apparent that the described embodiments are some embodiments of the present invention, but not all embodiments of the present invention. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
The conception, specific structure, and technical effects produced by the present invention will be clearly and completely described below with reference to the embodiments and the drawings to fully understand the objects, aspects, and effects of the present invention.
It should be noted that, unless otherwise specified, when a feature is referred to as being "fixed" or "connected" to another feature, it may be directly or indirectly fixed or connected to the other feature. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. Furthermore, unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art. The terminology used in the description presented herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The term "and/or" as used herein includes any combination of one or more of the associated listed items.
It should be understood that although the terms first, second, third, etc. may be used in this disclosure to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element of the same type from another. For example, a first element could also be termed a second element, and, similarly, a second element could also be termed a first element, without departing from the scope of the present disclosure. The use of any and all examples, or exemplary language (e.g., "such as") provided herein, is intended merely to better illuminate embodiments of the invention and does not pose a limitation on the scope of the invention unless otherwise claimed. Further, as used herein, the industry term "pose" refers to the position and pose of an element relative to a spatial coordinate system.
Referring to fig. 1 to 5, an embodiment of the present invention provides a method and an apparatus for orderly transmitting multi-link aggregation, where the method includes the following steps:
s100, the sending equipment acquires all link information, and detects an reachable link based on software and hardware to generate a reachable link information table;
specifically, the transmitting device or the receiving device periodically constructs and transmits an LLDP packet to each port, and if the peer device receives the packet, the link is considered to be in a connected state. The transmitting device or the receiving device periodically constructs and transmits an Arp request data packet to each port, the opposite terminal device receives the Arp request data packet, reads the load in the Arp request data packet, acquires device information, modifies the data packet into an Arp response data packet and transmits the Arp response data packet to the receiving port, the device receives the Arp response data packet, reads the load in the Arp response data packet, acquires the device information, and obtains link parameters such as the on-off state, time delay, jitter, packet loss rate and the like of a link according to the transmitting and receiving time difference, thereby influencing the dynamic packet sending proportion of each reachable link.
S200, transmitting the reachable link information table to a transceiver module of a transmitting device, wherein the transceiver module is also called a multiTrans module;
s300, the transceiver module of the transmitting device performs slicing, sequence number marking and packaging on data to be transmitted according to the reachable link information table and the size of a maximum transmission unit to obtain a plurality of data packets, wherein the data packets comprise ACK data packets, and the data packets are transmitted to each reachable link according to the packet transmission proportion of each reachable link, and the maximum transmission unit is a preset parameter of the transmitting device;
specifically, the transmitting device adds a header to each data packet, and divides the data packet into two or more data packets exceeding the maximum transmission unit (Maximum Transmission Unit, MTU) according to the size value of the maximum transmission unit (Maximum Transmission Unit, MTU) without exceeding the data packet to be directly transmitted to the receiving device.
S400, a receiving module of receiving equipment receives a data packet, assembles fragmented data according to the size of a sequence number, and sends the assembled data to a user side, wherein the receiving module is also called a multiTrans module, and the data packet comprises an ACK data packet;
specifically, due to different time delays of each reachable link, the sequence numbers of the data packets are disordered when the reachable links arrive at the receiving device, the receiving device rearranges the received data packets, and due to the phenomenon that the reachable links have packet loss, the receiving device generates a sequence number list according to the sequence numbers of the data packets which are not received and sends the sequence number list to the sending device.
S500, if an abnormality is encountered, restarting a state machine by the sending device or the receiving device;
and S600, repeatedly executing the steps S100 to S500.
Further, step S400 includes:
s410, the receiving equipment calculates the missing fragments, generates missing fragment data packets and sends the missing fragment data packets to the sending equipment;
s420, the sending device receives the missing segmented data packet, removes the data packet received by the receiving device in the sending buffer, and retransmits the missing segmented data packet to the receiving device according to the packet sending proportion of each reachable link.
Further, referring to fig. 2, step S400 further includes:
s430, repeatedly executing the step S410 and the step S420, wherein the sending equipment records the times of retransmitting the missing fragmented data packet, and when the times of retransmitting the missing fragmented data packet exceeds the preset maximum retransmission times, the retransmission of the missing fragmented data packet is stopped, and the maximum retransmission times are preset parameters of the sending equipment;
s440, the receiving device records the times of generating the missing piece data packet, and stops sending the missing piece data packet to the sending device after the times of generating the missing piece data packet exceeds the preset maximum times of generating the missing piece data packet, wherein the maximum times of generating the missing piece data packet are preset parameters of the receiving device.
Further, the reachable link information comprises the on-off state of the link and link parameters, wherein the link parameters comprise the link packet loss rate, the link delay and the link jitter.
Further, the packet sending proportion of the reachable link includes a default packet sending proportion and a dynamic packet sending proportion, the default packet sending proportion is a bandwidth proportion of each reachable link, the dynamic packet sending proportion is determined by calculating weights of each reachable link, and the weights of the reachable links are as follows:
BandWidth*(1-(PacketLossRate*50%+Delay*40%+Jitter*10%)),
wherein, bandWidth is the BandWidth of the link, packetLossRate is the packet loss rate of the reachable link, delay is the Delay of the reachable link, and Jitter is the Jitter of the reachable link.
Specifically, the default packet sending proportion is the bandwidth proportion of each link, and after the arrival of the detected data, the packet sending proportion of each link is dynamically modified according to the weight formula according to the link parameters such as the delay, the jitter, the packet loss rate and the like of the reachable link. In a specific embodiment, there are two reachable links, and the default weight formula is link 1: link 2 = bandwidth (1- (packet loss rate 50% + delay 40% + jitter 10%))): bandwidth (1- (packet loss rate 50% + delay 40% + jitter 10%)). The weight formula can also be configured by the user.
Further, referring to fig. 4, the data packet packaging process of the transceiver module includes adding a header to each data packet, where the digits of 0, 7, 15, 23, 31 and the like above fig. 4 represent digits, and 8 digits form a byte, so that the length of the occupied bytes of each field can be obtained, and the header includes the following field information:
session sequence number conv, instruction type cmd, segment sequence number frg, window size wnd, send timestamp ts, segment sequence number sn, currently unreceived sequence number un, and length len of subsequent data.
Specifically, the transceiver module is also called a multiTrans module, and the Segment sequence number sn is Segment sequence number sn, where,
cony: and the conversion, session serial number is used for identifying whether the received and transmitted data packets are consistent. The transmitting device of the transmitting end and the receiving device of the receiving end are used for matching numbers when in communication, and the receiving end only receives the data packet when the value in the data packet transmitted by the transmitting end is matched and consistent with the conv value of the receiving end.
cmd: command, instruction type, represents the type of this Segment. Five Segment data packet types are arranged in the transceiver module, and the five Segment data packet types are respectively:
1) Data packet (imultrans_cmd_push): the most basic Segment is used for sending application layer data to a far end. Each packet contains a unique sequence number sn, which is not immediately deleted from the buffer pool after being sent out, but is removed from the buffer when an ACK packet returned by the far end is received (both ends confirm which packets have been received by the sequence number sn).
2) ACK packet (imultrans_cmd_ack): for informing the remote machine which numbered data the remote sends has received.
3) Window size probe packet (imultrans_cmd_WASK): for interrogating the receive window size at the far end. When data is sent locally, the data amount sent is controlled according to the size of a receiving window at the far end. Each packet header will have the current receive window size at the far end. However, when the size of the remote receiving window is 0, the local machine will not send data to the remote any more, and there will not be data returned from the remote end at this time, so that the remote window size cannot be updated. A separate class of remote window size probe packets is therefore required, which are interrogated once at intervals when the remote receive window size is 0, thereby giving the local an opportunity to restart the retransmission of data.
4) Window size response packet (imultrans_cmd_wins): responding to the remote local data receiving window size.
5) Restart notification packet (imultrans_cmd_reboot): when the equipment encounters an abnormal condition, the opposite terminal equipment is informed to restart the state machine, the sending buffer memory is emptied, the receiving buffer memory is emptied, and the sequence numbers are rearranged.
frg: fragments, fragment sequence number, fragments from big to small, 0 represents the completion of data packet reception. frg is an abbreviation for fragment, and is a reverse sequence number of a Segment in data of a single Segment. When the transceiver module transmits data, the transceiver module adds a Segment allocation sequence number of the snd_request, and the tag Segment is the last Segment in the transmitted data. When data is sent out, the data may be divided into several segments to be sent out. During the segment process, the corresponding sequence number is recorded in frg. When the receiving end receives the segments, it merges the segments into one according to frg, and returns the merged segments to the application layer.
wnd: window, window size, wnd is an abbreviation for Window, sliding Window size, for Flow Control. When Segment is used as the sending data, the wnd is the size of the local sliding window and is used for telling the remote local window how much remains, when Segment is used as the receiving data, the wnd is the size of the remote sliding window, and after knowing how much remains of the remote window, the local can control the size of the local sending data.
ts: timestamp, timestamp sent. I.e., timestamp, the timestamp of the current Segment transmission.
sn: sequence Number, segment Number, i.e., segment Number.
un: the Unacknowledged, the currently unreceived sequence number, represents that the packet preceding this sequence number is received.
len: length, length of the subsequent data.
Further, referring to fig. 3, step S500 includes,
s510, when the sending device or the receiving device detects an abnormal condition, notifying the opposite terminal device to restart the state machine by sending a restart notification packet;
s520, after receiving the restart notification packet sent by the opposite terminal device, the sending device or the receiving device restarts the state machine.
Specifically, when the transmitting device or the receiving device detects an abnormal situation, a restart notification packet (imultrans_cmd_reboot) is sent to notify the peer device to restart the state machine. The sending device sends the same data packet, the number of times of retransmission exceeds 12, the receiving device still does not receive the una response, namely, the receiving device is restarted, the leading reed-boot bit is restarted, the IMULTITrans-CMD-REBOOT bit is set in the next data packet to be sent, and the receiving end receives the IMULTITrans-CMD-REBOOT and restarts the state machine; the sending device receives a receiving window wnd sent by the opposite terminal and is smaller than 10, namely, the device is restarted, a pre-set-time-REBOOT bit is restarted, an IMULTITTRANS-CMD-REBOOT bit is set in a next data packet to be sent, and a receiving terminal receives the IMULTITITTRANS-CMD-REBOOT and restarts a state machine; the receiving end restarts the state machine when the receiving queue sent by the receiving end is larger than the sending window 1/16 of the receiving end, restarts the pre-set_reboot bit, sets the IMULTITANS_CMD_reboot bit in the next data packet to be sent, and restarts the state machine.
The invention also provides a multilink aggregation ordered transmission device which is used for realizing the multilink aggregation ordered transmission method.
The invention also proposes a computer readable storage medium having stored thereon program instructions which, when executed by a processor, implement a method as described above.
It should be appreciated that the method steps in embodiments of the present invention may be implemented or carried out by computer hardware, a combination of hardware and software, or by computer instructions stored in non-transitory computer-readable memory. The method may use standard programming techniques. Each program may be implemented in a high level procedural or object oriented programming language to communicate with a computer system. However, the program(s) can be implemented in assembly or machine language, if desired. In any case, the language may be a compiled or interpreted language. Furthermore, the program can be run on a programmed application specific integrated circuit for this purpose.
Furthermore, the operations of the processes described herein may be performed in any suitable order unless otherwise indicated herein or otherwise clearly contradicted by context. The processes (or variations and/or combinations thereof) described herein may be performed under control of one or more computer systems configured with executable instructions, and may be implemented as code (e.g., executable instructions, one or more computer programs, or one or more applications), by hardware, or combinations thereof, collectively executing on one or more processors. The computer program includes a plurality of instructions executable by one or more processors.
Further, the method may be implemented in any type of computing platform operatively connected to a suitable computing platform, including, but not limited to, a personal computer, mini-computer, mainframe, workstation, network or distributed computing environment, separate or integrated computer platform, or in communication with a charged particle tool or other imaging device, and so forth. Aspects of the invention may be implemented in machine-readable code stored on a non-transitory storage medium or device, whether removable or integrated into a computing platform, such as a hard disk, optical read and/or write storage medium, RAM, ROM, etc., such that it is readable by a programmable computer, which when read by a computer, is operable to configure and operate the computer to perform the processes described herein. Further, the machine readable code, or portions thereof, may be transmitted over a wired or wireless network. When such media includes instructions or programs that, in conjunction with a microprocessor or other data processor, implement the steps described above, the invention described herein includes these and other different types of non-transitory computer-readable storage media. The invention may also include the computer itself when programmed according to the methods and techniques of the present invention.
The computer program can be applied to the input data to perform the functions described herein, thereby converting the input data to generate output data that is stored to the non-volatile memory. The output information may also be applied to one or more output devices such as a display. In a preferred embodiment of the invention, the transformed data represents physical and tangible objects, including specific visual depictions of physical and tangible objects produced on a display.
The present invention is not limited to the above embodiments, but can be modified, equivalent, improved, etc. by the same means to achieve the technical effects of the present invention, which are included in the spirit and principle of the present invention. Various modifications and variations are possible in the technical solution and/or in the embodiments within the scope of the invention.

Claims (9)

1. A method for multi-link aggregation ordered transmission, the method comprising the steps of:
s100, the sending equipment acquires all link information, and detects an reachable link based on software and hardware to generate a reachable link information table;
s200, transmitting the reachable link information table to a receiving and transmitting module of transmitting equipment;
s300, the transceiver module of the transmitting device performs slicing, sequence number marking and packaging on data to be transmitted according to the size of a maximum transmission unit according to the reachable link information table to obtain a plurality of data packets, and transmits the data packets to each reachable link according to the packet transmission proportion of each reachable link, wherein the maximum transmission unit is a preset parameter of the transmitting device;
s400, a receiving module of the receiving equipment receives the data packet, assembles the fragmented data according to the size of the sequence number, and sends the assembled data to a user side;
s500, if an abnormality is encountered, restarting a state machine by the sending device or the receiving device;
and S600, repeatedly executing the steps S100 to S500.
2. The method for ordered transmission of multilink aggregation according to claim 1, wherein step S400 comprises:
s410, the receiving equipment calculates the missing fragments, generates missing fragment data packets and sends the missing fragment data packets to the sending equipment;
s420, the sending device receives the missing segmented data packet, removes the data packet received by the receiving device in the sending buffer, and retransmits the missing segmented data packet to the receiving device according to the packet sending proportion of each reachable link.
3. The method for ordered transmission of multilink aggregation according to claim 1, wherein step S400 further comprises:
s430, repeatedly executing the step S410 and the step S420, wherein the sending equipment records the times of retransmitting the missing fragmented data packet, and when the times of retransmitting the missing fragmented data packet exceeds the preset maximum retransmission times, the retransmission of the missing fragmented data packet is stopped, and the maximum retransmission times are preset parameters of the sending equipment;
s440, the receiving device records the times of generating the missing piece data packet, and stops sending the missing piece data packet to the sending device after the times of generating the missing piece data packet exceeds the preset maximum times of generating the missing piece data packet, wherein the maximum times of generating the missing piece data packet are preset parameters of the receiving device.
4. The method of claim 1, wherein the reachable link information comprises link on-off state and link parameters, the link parameters comprising link packet loss rate, link delay and link jitter.
5. The method according to claim 4, wherein the packet proportion of the reachable links includes a default packet proportion and a dynamic packet proportion, the default packet proportion is a bandwidth proportion of each reachable link, the dynamic packet proportion is determined by calculating weights of each reachable link, and the weights of the reachable links are:
BandWidth*(1-(PacketLossRate*50%+Delay*40%+Jitter*10%)),
wherein, bandWidth is the BandWidth of the link, packetLossRate is the packet loss rate of the reachable link, delay is the Delay of the reachable link, and Jitter is the Jitter of the reachable link.
6. The method of claim 1, wherein the transceiver module encapsulates the data packets by adding a header to each data packet, the header comprising:
session number, instruction type, segment number, window size, transmit timestamp, segment number, currently unreceived number, and length of subsequent data.
7. The method for ordered transmission of multiple link aggregation according to claim 1, wherein step S500 comprises,
s510, when the sending device or the receiving device detects an abnormal condition, notifying the opposite terminal device to restart the state machine by sending a restart notification packet;
s520, after receiving the restart notification packet sent by the opposite terminal device, the sending device or the receiving device restarts the state machine.
8. A multilink aggregation ordered transmission apparatus for implementing the multilink aggregation ordered transmission method according to any one of claims 1 to 7.
9. A computer readable storage medium having stored thereon program instructions which, when executed by a processor, implement the method of any of claims 1 to 7.
CN202310134384.5A 2023-02-09 2023-02-09 Multilink aggregation ordered transmission method and device Pending CN116155810A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310134384.5A CN116155810A (en) 2023-02-09 2023-02-09 Multilink aggregation ordered transmission method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310134384.5A CN116155810A (en) 2023-02-09 2023-02-09 Multilink aggregation ordered transmission method and device

Publications (1)

Publication Number Publication Date
CN116155810A true CN116155810A (en) 2023-05-23

Family

ID=86359743

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310134384.5A Pending CN116155810A (en) 2023-02-09 2023-02-09 Multilink aggregation ordered transmission method and device

Country Status (1)

Country Link
CN (1) CN116155810A (en)

Similar Documents

Publication Publication Date Title
JP5544430B2 (en) Communication apparatus and communication system
CN110661723B (en) Data transmission method, computing device, network device and data transmission system
JP6121478B2 (en) Dynamic subflow control for multipath transport connections in wireless communication networks
US9432251B2 (en) Enhanced acknowledgement and retransmission mechanism
KR101143172B1 (en) Efficient transfer of messages using reliable messaging protocols for web services
US7885264B2 (en) Communications system, communications device, and data retransmission control method
US8717871B2 (en) Packet retransmission control system, method and program
EP2978171B1 (en) Communication method, communication device, and communication program
EP3528409A1 (en) Method and system for improving wireless link efficiency
EP1507370B1 (en) Communication control method and system
US10164870B2 (en) Relaxed ordering network
JP2007527170A (en) System and method for parallel communication
US9692560B1 (en) Methods and systems for reliable network communication
CN108353032A (en) The system and method for the grouping transmission based on rate on network
CN102790913A (en) Audio/video transmission method on basis of 3G network
US11115343B2 (en) Transport layer providing deterministic transport across multiple deterministic data links
US20070291782A1 (en) Acknowledgement filtering
JP4174054B2 (en) Method and apparatus for congestion notification in a packet network, informing various congestion factors
CN110808917B (en) Multilink aggregation data retransmission method and transmitting equipment
CN116155810A (en) Multilink aggregation ordered transmission method and device
US10009409B2 (en) Retransmission control network node and related method
US20220400074A1 (en) System to transmit messages using multiple network paths
JP5539161B2 (en) Data transmission method and multi-site data distribution method
CN109905447A (en) Information transmission method and device
CN107801218B (en) Control method and device for aggregating frames in access point switching

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