CN110392394B - MPTCP scheduling method based on link state information in wireless network - Google Patents

MPTCP scheduling method based on link state information in wireless network Download PDF

Info

Publication number
CN110392394B
CN110392394B CN201910682837.1A CN201910682837A CN110392394B CN 110392394 B CN110392394 B CN 110392394B CN 201910682837 A CN201910682837 A CN 201910682837A CN 110392394 B CN110392394 B CN 110392394B
Authority
CN
China
Prior art keywords
tcp
pri
dsn
flow
tcp sub
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
CN201910682837.1A
Other languages
Chinese (zh)
Other versions
CN110392394A (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.)
Hunan University
Original Assignee
Hunan University
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 Hunan University filed Critical Hunan University
Priority to CN201910682837.1A priority Critical patent/CN110392394B/en
Publication of CN110392394A publication Critical patent/CN110392394A/en
Application granted granted Critical
Publication of CN110392394B publication Critical patent/CN110392394B/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
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0006Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0231Traffic management, e.g. flow control or congestion control based on communication conditions
    • H04W28/0236Traffic management, e.g. flow control or congestion control based on communication conditions radio quality, e.g. interference, losses or delay
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0247Traffic management, e.g. flow control or congestion control based on conditions of the access network or the infrastructure network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0289Congestion control

Landscapes

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

Abstract

The invention discloses an MPTCP scheduling method based on link state information in a wireless network, and relates to the technical field of computer networks. In the scheduling method, after each TCP substream receives an ACK data packet, the positions of the TCP substreams in the network state quality ordering of all TCP substreams are updated according to the network state of the TCP substreams, and then the transmitted data packets are selected according to the positions of the TCP substreams in the ordering; each TCP substream updates the network state as long as receiving the ACK data packet, and then transmits the next round of data packets without waiting for all TCP substreams to complete the data packet transmission task and then scheduling the next round, so that the waiting time is greatly shortened, and the data transmission efficiency is improved.

Description

MPTCP scheduling method based on link state information in wireless network
Technical Field
The invention belongs to the computer network technology, and particularly relates to a method for scheduling transmission path pre-packets with good network link conditions by using MPTCP.
Background
With the development of networks and mobile devices, more and more network applications and technologies, such as live broadcast, VR, and cloud computing, require greater network bandwidth to achieve higher performance. Multihoming technology enables mobile devices to be equipped with multiple network interface cards, for example, a mobile device may connect to multiple WiFi and 4G cellular networks simultaneously, enabling multipath parallel transmission (e.g., a multipath network topology including three TCP subflows, as shown in fig. 1). Obviously, multipath parallel transmission brings many benefits: on the one hand, when the bandwidth of a single path is limited, it can aggregate the bandwidth to increase the traffic and throughput; on the other hand, it can improve the reliability of data transmission, for example, when one path is interrupted, other paths can still be connected to transmit data.
MPTCP (Multi Path Transport Control protocol) multipath TCP data transmission establishes a plurality of TCP sub-streams between a sending end and a receiving end (as shown in FIG. 1), and schedules a plurality of paths in parallel for data transmission. The MPTCP standardized by the Internet Engineering Task Force (IETF) has good adaptability and extensibility, and is easily applied to actual network applications. Currently, the MPTCP v0.94 version is implemented on a Linux kernel v4.14, is deployed in routers such as openmptcp router and 17wifi as an agent, and is used in an operating system of a smart phone, even in a data center network.
MPTCP extends conventional TCP to provide services that support transport connections operating simultaneously across multiple paths. In the MPTCP definition, each established path is a TCP subflow, and the initiation and termination of each subflow is similar to a conventional TCP connection. MPTCP manages the transmission of packets by DSN (data sequence number), which counts the total segment number, while the sequence numbers in each TCP sub-stream channel are always consecutive. The out-of-order arrival of packets is the main problem that MPTCP must face, and previous studies have shown that large differences in path or link conditions, including delay, packet loss rate, and shared buffer size, can result in severe out-of-order arrival of packets, frequent blocking of receive buffers, severe drop in throughput (rate), and even worse than a single TCP path.
Therefore, the scheduling algorithm is the key to design MPTCP, which can ensure the data packets arrive in sequence as much as possible, and when considering the quality or status of the path, the scheduling algorithm decides how to send the data packets to the corresponding network link. Currently, the default scheduling algorithm of MPTCP is called Round Robin (Round Robin), which polls each substream to deliver a packet regardless of path quality or state; the second alternative scheduler MiniRTT always allocates the packet with the smallest Round-Trip Time (RTT) to the sub-flow with the idle window. However, when DSN small packets are sent to a link with poor state, the MiniRTT also causes a lot of buffer blocking. Therefore, when a scheduling algorithm is designed, the DAPS and the STMS propose to send a data packet with a smaller DSN to a path with low delay and high bandwidth and send a data packet with a larger DSN to a path with a better network state, but when the data packet is scheduled, the condition that a buffer of a receiving end is blocked is not considered, and two paths must complete respective transmission tasks at the same time to perform next round of scheduling, so that the transmission efficiency is reduced; in addition, STMS is a relatively advanced and improved pre-allocation scheduling algorithm, which selects data packets to an appropriate sub-stream or path, but the STMS needs to wait for all sub-streams to complete data transmission before a next round of scheduling can be performed, resulting in a decrease in throughput.
Disclosure of Invention
Aiming at the problems that in the prior art, a receiving end is blocked due to the fact that a polling algorithm and a MiniRTT are improved and a DSN does not consider to directly send data packets to sub-streams, and a pre-allocation scheduling algorithm needs to wait for all sub-streams to finish data to cause the reduction of throughput rate, the invention provides an MPTCP scheduling method based on link state information in a wireless network.
The invention solves the technical problems through the following technical scheme: an MPTCP scheduling method based on link state information in a wireless network comprises the following steps:
step 1: sequencing all TCP substreams according to the quality of the network state, distributing a data packet to be sent for each TCP substream according to the sequencing, and sending the data packet for each TCP substream according to the DSN;
step 2: updating the position pri of the TCP sub-flow i in the network state quality ordering of all TCP sub-flows;
and step 3: if the network state of the TCP sub-flow i is the best, sending an unsent data packet with the most front DSN; if the network state of the TCP sub-flow i is not the best, then the step 4 is carried out;
and 4, step 4: judging whether a data packet needs to be reserved for a first-level TCP sub-flow better than the network state of the TCP sub-flow i; if the data packet does not need to be reserved and the TCP sub-stream at the position pri last time has the unsent data packet, sending the unsent data packet of the TCP sub-stream at the position pri last time, and otherwise, selecting the data packet with larger DSN to send; if the data packets need to be reserved, the DSN of the sent data packets is the sum of the number of the current reserved data packets and the DSN of the data packets sent by the TCP sub-stream located at the position pri at the last time;
and 5: and repeating the steps 2-4 until all the data packets are sent.
According to the MPTCP scheduling method, after each TCP substream sends a data packet, the position of each TCP substream in the network state quality ordering of all TCP substreams is updated again, the sent data packet is selected according to the quality of the network state, the DSN of the data packet sent by the TCP substream with the good network state is in front, the TCP substream with the poor network state is a TCP substream reserved data packet with a better level than the network state, after the DSN of the data packet sent by the TCP substream with the poor network state is in back, each TCP substream (completes the sending of the data packet) receives an ACK data packet, after the network state is updated, the next data packet is sent according to the quality of the network state, the next round of scheduling is carried out after all TCP substreams complete the sending of the data packet, the waiting time is greatly shortened, and the data transmission efficiency is improved; meanwhile, the DSN to which the data packets sent by the TCP substream with good network state belong is in front of the DSN to which the data packets sent by the TCP substream with poor network state belong is behind the DSN to which the data packets sent by the TCP substream with poor network state belong, and the data packets sent by the TCP substream with poor network state belong are few, so that all the data packets arrive in order as far as possible, the problem of frequent blockage of a receiving buffer area is relieved, and the transmission efficiency of data is further improved.
Further, in step 1, the data packets to be sent include reserved data packets, the number of the reserved data packets is related to the network status of the TCP sub-stream, and the better the network status of the TCP sub-stream is, the greater the number of the reserved data packets is.
Further, in step 2, TCP sub-flow i updates the position of TCP sub-flow i in the network state order of all TCP sub-flows each time ACK packet of the TCP sub-flow is received.
Further, in step 4, the specific operation of determining whether the data packet needs to be reserved is: judging whether the sum of the number of the last reserved data packets is less than three times of the sum of the last congestion windows;
the sum of the number of the last reserved data packets refers to the sum of the number of the data packets reserved by all the TCP sub-flows with better network state than the TCP sub-flows, wherein the TCP sub-flows at the position pri at the last time are the sum of the number of the data packets reserved by all the TCP sub-flows; the sum of the congestion windows of the last time refers to the sum of the congestion windows of all the TCP sub-flows with better network states than the TCP sub-flow at the position pri of the last time;
if yes, reserving a data packet; if not, the data packet does not need to be reserved.
Further, in step 4, the calculation formula of the number of the packets to be reserved is as follows:
Res=(RTTP×BWP+Rud÷CWNDpri-1)×(DSNpri-1-DSN0)
wherein Res represents the number of currently reserved data packets;
Figure BDA0002145365770000041
SRTTpri-1indicating the smooth round-trip delay, SRTT, of the TCP sub-flow currently at position pri-1priRepresents the smooth round trip delay of the TCP sub-flow currently at position pri; BWP represents the ratio of the bandwidth of the TCP sub-flow currently at position pri-1 to the TCP sub-flow currently at position pri, i.e.
Figure BDA0002145365770000042
Rud represents the redundancy size of the data packet at the current receiving end; CWNDpri-1A congestion window representing the TCP sub-flow currently at position pir-1; DSNpri-1DSN representing packets sent by the TCP sub-stream currently at position pir-1; DSN0And the DSN of the data packet transmitted by the TCP sub-flow with the best current network state is represented.
Further, the smooth round-trip delay SRTT of the TCP sub-flow at position pripriThe calculation formula of (2) is as follows:
SRTTpri=(α×SRTThis,pri)+((1-α)×RTTpri)
where α represents an influence factor for indicating the RTTpriDegree of acceptance of, SRTThis,priRepresenting the smooth round trip delay, RTT, of the last TCP sub-flow at position pripriIndicating the round trip delay of the TCP sub-flow at position pri.
Further, a calculation formula of the redundancy size Rud of the data packet at the current receiving end is as follows:
Rud=β×Rudhis+(1-β)×ΔRud
wherein RudhisThe congestion length of the last receiving end buffer area is represented, beta represents an influence factor, and Delta Rud represents the difference between the current congestion length and the last congestion length of the receiving end buffer area.
Further, a specific calculation formula of a difference Δ Rud between the current congestion length and the last congestion length of the receiving end buffer area is as follows:
ΔRud=DSN0-DATAACK-Rudhis
wherein, DSN0The DSN, DATAACK, which indicates the packet transmitted by the TCP subflow with the best current network state, is the acknowledgement information of the packet at the TCP subflow level in the MPTCP scheduler.
Further, in step 4, if the data packet needs to be reserved, it needs to be determined whether the DSN of the data packet sent by the TCP sub-stream i is greater than the scheduler sending window, if so, the TCP sub-stream i waits, an empty data packet is sent on the TCP sub-stream i, and the step 2 is performed;
if not, judging whether the DSN of the data packet sent by the TCP sub-flow i is larger than the DSN of the data packet sent by the TCP sub-flow currently at the position pri + 1; if so, the DSN of the packet sent by the TCP sub-stream i is the DSN of the packet sent by the TCP sub-stream whose network state is one level lower than that of the TCP sub-stream i, and if not, the DSN of the packet sent by the TCP sub-stream i is the sum of the number of the currently reserved packets and the DSN of the packet sent by the TCP sub-stream located at the position pri last time.
By judging the DSN of the transmitted data packet and the size of the transmission window of the scheduler, the data packet transmitted by the TCP sub-flow with poor network state is prevented from blocking the data packet transmitted by the TCP sub-flow with good network state at the receiving end.
Advantageous effects
Compared with the prior art, the dispatching method of the invention updates the positions of each TCP substream in the network state order of all TCP substreams according to the network state of the TCP substream after receiving the ACK data packet, and then selects the transmitted data packet according to the positions of the TCP substreams in the order; each TCP substream updates the network state as long as an ACK data packet is received, and then transmits a next round of data packets without waiting for all TCP substreams to complete a data packet transmission task and then scheduling the next round, so that the waiting time is greatly shortened, and the data transmission efficiency is improved; meanwhile, the DSN to which the data packets sent by the TCP substream with good network state belong is in front of the DSN to which the data packets sent by the TCP substream with poor network state belong is behind the DSN to which the data packets sent by the TCP substream with poor network state belong, and the data packets sent by the TCP substream with poor network state belong are few, so that all the data packets arrive in order as far as possible, the problem of frequent blockage of a receiving buffer area is relieved, and the transmission efficiency of data is further improved.
The invention also judges according to the DSN of the data packet and the size of the dispatcher sending window, effectively prevents the data packet sent by the TCP sub-flow with poor network state from blocking the data packet sent by the TCP sub-flow with good network state at the receiving end, and avoids the problem of receiving end blocking caused by directly sending the data packet to the sub-flow without considering the DSN.
Drawings
In order to more clearly illustrate the technical solution of the present invention, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are only one embodiment of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on the drawings without creative efforts.
FIG. 1 is a transmission topology diagram of MPTCP in an embodiment of the present invention;
FIG. 2 is a flow chart of a scheduling method in an embodiment of the present invention;
FIG. 3 is a diagram of TCP sub-flow ordering and packet allocation in accordance with an embodiment of the present invention;
FIG. 4 is a scheduling diagram of a TCP2 network state change in an embodiment of the present invention;
in fig. 4, (a) is the DSN of packets transmitted by TCP1, TCP2, and TCP3 in the initial case, (b) is the DSN of packets transmitted when the network state of TCP2 becomes the best, (c) is the DSN of packets transmitted when TCP2 is still in the second position, and (d) is the DSN of packets transmitted when the network state of TCP2 becomes the worst;
FIG. 5 is a scheduling diagram for the case of reserving a packet in an embodiment of the present invention;
in fig. 5, (a) is the DSN of packets transmitted by TCP1, TCP2, and TCP3 in the initial case, (b) is the DSN of packets transmitted by TCP2 when no reservation of packets is needed, and (c) is the DSN of packets transmitted by TCP2 when reservation of packets is needed;
wherein, 1-sending end, 2-receiving end, 3-MPTCP sending window.
Detailed Description
The technical solutions in the present invention are clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. 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.
The invention provides an MPTCP scheduling method based on link state information in a wireless network, which comprises the following steps:
step 1: sequencing all TCP substreams in a network state sequencing table sort according to the quality of the network state, distributing data packets to be sent for each TCP substream according to the sequencing, and sending the data packets for each TCP substream according to the DSN;
step 2: after receiving the ACK data packet, the TCP sub-stream i updates the position pri of the TCP sub-stream i in all TCP sub-stream network state ordering tables sort;
and step 3: if the network state of the TCP sub-flow i is the best, sending an unsent data packet with the most front DSN; if the network state of the TCP sub-flow i is not the best, then the step 4 is carried out;
and 4, step 4: judging whether a data packet needs to be reserved for a first-level TCP sub-flow better than the network state of the TCP sub-flow i, and acquiring the first-level TCP sub-flow better than the network state by a network state sequencing table sort, namely the TCP sub-flow at the position pri-1; if the data packet does not need to be reserved and the TCP sub-stream at the position pri last time has the unsent data packet, sending the unsent data packet of the TCP sub-stream at the position pri last time, and otherwise, selecting the data packet with larger DSN to send; if the data packets need to be reserved, the DSN of the sent data packets is the sum of the number of the current reserved data packets and the DSN of the data packets sent by the TCP sub-stream located at the position pri at the last time;
and 5: and repeating the steps 2-4 until all the data packets are sent.
According to the MPTCP scheduling method, after each TCP substream sends a data packet, the position of each TCP substream in the network state quality ordering of all TCP substreams is updated again, the sent data packet is selected according to the quality of the network state, the DSN of the data packet sent by the TCP substream with the good network state is in front, the TCP substream with the poor network state is a TCP substream reserved data packet with a better level than the network state, after the DSN of the data packet sent by the TCP substream with the poor network state is in back, each TCP substream (completes the sending of the data packet) receives an ACK data packet, after the network state is updated, the next data packet is sent according to the quality of the network state, the next round of scheduling is carried out after all TCP substreams complete the sending of the data packet, the waiting time is greatly shortened, and the data transmission efficiency is improved; meanwhile, the DSN to which the data packets sent by the TCP substream with good network state belong is in front of the DSN to which the data packets sent by the TCP substream with poor network state belong is behind the DSN to which the data packets sent by the TCP substream with poor network state belong, and the data packets sent by the TCP substream with poor network state belong are few, so that all the data packets arrive in order as far as possible, the problem of frequent blockage of a receiving buffer area is relieved, and the transmission efficiency of data is further improved.
Examples
MPTCP is an efficient transfer of data between a source node and a destination node over multiple TCP links (or TCP subflows). As shown in fig. 1, in this embodiment, the TCP sub-streams include 3 TCP sub-streams, a sending end and a receiving end are both computers of an Ubuntu system that implements an MPTCP kernel, 6 router gateways are added between the sending end and the receiving end, each TCP sub-stream includes 2 router gateways, a delay and a bandwidth of each TCP sub-stream are shown in table 1 below, and in this embodiment, data reaches the receiving end as orderly as possible during transmission by modifying a scheduling method in the MPTCP kernel.
TABLE 13 delay and Bandwidth of TCP substreams
Sub-stream name Time delay Bandwidth of
TCP1 20ms 4Mbps
TCP2 50-300ms 1-4Mbps
TCP3 0-100ms 0-2Mbps
As shown in fig. 2, the specific scheduling method is as follows:
1) an MPTCP connection is established between a sending end and a receiving end, and meanwhile, data packets are sent to the receiving end through 3 TCP subflows (TCP1/TCP2/TCP3) (it is assumed that window values of the 3 TCP subflows are all 10 data packets), the TCP subflow that receives an ACK data packet at first indicates that the network state is the best, the 3 TCP subflows are sequenced according to the network state, and a network state sequencing table sort is established.
As shown in FIG. 3, TCP1 is allocated to packets with DSN 1-10, DSN of packets reserved for TCP1 is 11-60, TCP2 is allocated to packets with DSN 61-70, DSN of packets reserved for TCP2 is 71-100, and TCP3 is allocated to packets with DSN 101-110. Since TCP1 is the sub-flow with the best network state, TCP2 times is the lowest, and TCP3 is the worst, the number of reserved packets of TCP1 is the largest, and the number of reserved packets of TCP2 is the next, so that the time required for sending the packets by 3 TCP sub-flows is ensured to be as close as possible. Theoretically, if the network states of the 3 TCP sub-streams are not changed, the 3 TCP sub-streams may sequentially send the allocated data packets, that is, TCP1 sequentially sends data packets with DSNs of 51-60, TCP2 sequentially sends data packets with DSNs of 91-100, TCP3 sends data packets with DSNs of 101-110, and the time for the 3 TCP sub-streams to complete transmission of all the allocated data packets is as close as possible, thereby avoiding the problem of slow transmission rate caused by mutual waiting among the sub-streams.
2) The network state is variable, and the delay and bandwidth of each TCP sub-flow are not always stable, so the network state of each TCP sub-flow may be better or worse. When the sending end receives the ACK data packet (after completing the data packet sending once), the sending end renews the position of the TCP substream in the network state ordering table sort of all TCP substreams.
3) If the network state of a certain TCP sub-flow becomes the best, the unsent packet with the most advanced DSN is sent.
As shown in fig. 4(a), TCP1 transmits packets with DSNs of 31 to 40, TCP2 transmits packets with DSNs of 81 to 90, TCP3 transmits packets with DSNs of 111 to 120, the network status changes, and when TCP2 completes transmitting packets with DSNs of 81 to 90, the network status becomes the best, TCP2 transmits packets which are not transmitted with DSNs closest to each other, and as shown in fig. 4(b), TCP2 transmits packets with DSNs of 41 to 50.
4) If the network state of TCP2 does not become the best, it needs to determine whether to reserve a packet for a TCP sub-stream that is one level better than the network state of TCP2, and the specific determination formula is:
Figure BDA0002145365770000101
wherein, DSNhis,priDSN, DSN representing packets sent last time in TCP substream at position prihis,pri-1DSN, CWND representing the last packet sent by TCP sub-stream at position pri-1his,jIndicating the congestion window of a certain TCP sub-flow j last at positions 0 to pri-1,
Figure BDA0002145365770000111
represents the sum of congestion windows of all TCP sub-flows last at position 0 to position pri-1; DSNhis,pri-DSNhis,pri-1The sum of the number of data packets reserved for the TCP sub-flow at the position pri is the TCP sub-flow at the position 0 to the position pri-1; pri represents the position of the TCP sub-flow in the network state quality ordering table sort, pri-1 represents the position of the network state one level better than pri, and pri +1 represents the position of the network state one level lower than pri.
For example, the current network state is ranked as TCP1, TCP2, TCP3, and TCP4, the last network state is ranked as TCP1, TCP3, TCP2, and TCP4, and if it is determined that a packet needs to be reserved for TCP2 that is one level better than the network state of TCP3, it is determined whether the sum of the number of the last reserved packets is less than three times the sum of the last congestion windows;
wherein, the sum of the number of the last reserved packets refers to the sum of the number of packets reserved by the TCP2 which was in the third position last time and is all TCP sub-flows (i.e. TCP1 and TCP3) with better network state than TCP 2; the sum of the last congestion windows refers to the sum of the congestion windows of all TCP sub-flows (i.e., TCP1 and TCP3) that are better than the TCP2 network state that was last in the third position.
If equation (1) holds, the data packet needs to be reserved, and if equation (1) does not hold, the data packet does not need to be reserved.
If no data packet needs to be reserved, as shown in fig. 4(c), the current TCP2 is still located at the second position in the ordering of the network state, the current TCP2 sends a data packet that was not sent by the TCP sub-stream located at the second position last time, that is, the current TCP2 sends a data packet that was not sent by the TCP2 located at the second position last time (the TCP sub-stream located at the second position last time has a data packet that is not sent completely, if there is no data packet that is not sent completely, the current TCP2 sends a data packet with a larger DSN, for example, a data packet with a DSN of 121 to 130), and the current TCP2 sends a data packet with a DSN of 91 to 100; as shown in fig. 4(d), the current TCP2 is worse than the TCP3 in the ordering of the network state, and the current TCP2 is at the third position, so that the current TCP2 sends a packet that was not sent by the TCP sub-flow at the third position last time, that is, the current TCP2 sends a packet that was not sent by the TCP3 at the third position last time, and the current TCP2 sends a packet with a DSN of 121 to 130.
If the data packets need to be reserved, as shown in fig. 5, fig. 5(a) shows that when the network states are sorted as TCP1, TCP2, and TCP3, TCP1 sends data packets with DSNs of 31 to 40, TCP2 sends data packets with DSNs of 81 to 90, and TCP3 sends data packets with DSNs of 111 to 120; FIG. 5(b) is a diagram showing that when TCP2 does not need to reserve a packet for TCP1, which is one level better than the network state of TCP2, TCP2 sends packets with DSN 91-100; fig. 5(c) shows that when TCP2 needs to reserve a packet for TCP1, which is one level better than the network state of TCP2, TCP2 sends packets with DSNs of 121-130, and the calculation formula of the DSN of the packet sent by TCP2 is:
DSNpri=DSNhis,pri+Res (2)
wherein, DSNpriDSN, DSN representing packets transmitted by the TCP sub-stream currently at position prihis,priDSN, Res, which indicates the number or length of packets sent in the TCP sub-stream at position pri last time, indicates the number or length of currently reserved packets.
The calculation formula of the number Res of the current reserved data packets is as follows:
Res=(RTTP×BWP+Rud÷CWNDpri-1)×(DSNpri-1-DSN0) (3)
wherein the content of the first and second substances,
Figure BDA0002145365770000121
SRTTpri-1indicating the smooth round-trip delay, SRTT, of the TCP sub-flow currently at position pri-1priRepresents the smooth round trip delay of the TCP sub-flow currently at position pri; BWP represents the ratio of the bandwidth of the TCP sub-flow currently at position pri-1 to the TCP sub-flow at position pri; rud represents the redundancy size of the data packet at the current receiving end; CWNDpri-1A congestion window representing the TCP sub-flow currently at position pir-1; DSNpri-1DSN representing packets sent by the TCP sub-stream currently at position pir-1; DSN0And the DSN of the data packet transmitted by the TCP sub-flow with the best current network state is represented.
The smooth round-trip delay SRTT is the average of the time of sending a data packet and the time of receiving a data packet, and in this embodiment, the smooth round-trip delay SRTT of the TCP sub-flow at the position pripriThe calculation formula of (2) is as follows:
SRTTpri=(α×SRTThis,pri)+((1-α)×RTTpri) (4)
where α represents an influence factor for indicating the RTTpriDegree of acceptance of, SRTThis,priRepresenting the smooth round trip delay, RTT, of the last TCP sub-flow at position pripriIndicating the round trip delay of the TCP sub-flow at position pri. The SRTT of the present embodiment considers the historical RTT while keeping the calculation simple, and the closer to 0 α, the more confident the SRTT is to the acquisition of the RTT this time.
In this embodiment, a calculation formula of the redundancy size Rud of the data packet at the current receiving end is as follows:
Rud=β×Rudhis+(1-β)×ΔRud (5)
wherein RudhisThe method comprises the following steps of representing the blocking length of a last receiving end buffer area, representing an influence factor beta, representing the difference between the current congestion length and the last congestion length of the receiving end buffer area by delta Rud, wherein the specific calculation formula of the delta Rud is as follows:
ΔRud=DSN0-DATAACK-Rudhis (6)
wherein, DSN0DSN of data packet transmitted by TCP sub-flow with best current network state, DSN0Can be obtained from the scheduler record, DATAACK is the acknowledgement information of the data packet at TCP subflow level in MPTCP scheduler; DSN0DATAACK is the current congestion length.
As shown in fig. 2, in step 4, if the data packet needs to be reserved, the DSN (DSN) of the data packet sent by TCP sub-stream ipri) Sum (Res + DSN) of number of packets currently reserved and DSN of packets transmitted for TCP sub-stream at position pri last timehis,pri) If yes, the TCP sub-stream i waits, sends an empty data packet on the TCP sub-stream i, detects the network state of the TCP sub-stream i, and then goes to step 2 to update the position of the TCP sub-stream i in the network state ordering table sort of all TCP sub-streams.
If not, the DSN of the packet sent by TCP sub-stream i currently at position pri (i.e. DSN) is determinedpri) Whether the DSN of the packet sent by the TCP sub-flow currently at position pri +1 is greater (i.e. the TCP sub-flow is one level worse than the network state of TCP sub-flow i); if not, the DSN of the packet sent by TCP sub-stream i is the sum of the number of currently reserved packets and the DSN of the packet sent by the TCP sub-stream at position pri last time, and if so, the DSN of the packet sent by TCP sub-stream i is the DSN of the packet sent by the TCP sub-stream that is one level worse than the network state of TCP sub-stream i (i.e., the DSN of the packet sent by the TCP sub-stream at position pri + 1).
The sending window is a window commonly used by all the TCP sub-streams, all the TCP sub-streams share one sending buffer area, and the data packets sent by the TCP sub-stream with poor network state can be effectively prevented from blocking the data packets sent by the TCP sub-stream with good network state at the receiving end by judging whether the DSN of the data packets sent by the TCP sub-stream i is larger than the sending window of the scheduler. For example, TCP1, TCP2, and TCP3 are all sub-flows with a window size of 10, and the network states are sorted as TCP1, TCP2, and TCP3, the size of the transmission window is 40, when TCP1 transmits a packet with a DSN of 1 to 10, and TCP2 transmits a packet with a DSN of 21 to 30, at this time, if the DSN of the packet transmitted by TCP3 exceeds the transmission window 40, TCP3 needs to wait, so as to avoid that the packet transmitted by TCP3 blocks the packets transmitted by TCP1 and TCP2 at the receiving end, and if the DSN of the packet transmitted by TCP3 is within the transmission window, TCP3 is allowed to transmit the packet, therefore, the problem that the packet is directly transmitted to the sub-flow without considering the DSN to cause the blocking of the receiving end is effectively avoided, the transmission efficiency of the packet is improved, and the throughput is improved.
The above disclosure 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 changes or modifications within the technical scope of the present invention, and shall be covered by the scope of the present invention.

Claims (3)

1. An MPTCP scheduling method based on link state information in a wireless network is characterized by comprising the following steps:
step 1: sequencing all TCP substreams according to the quality of the network state, distributing a data packet to be sent for each TCP substream according to the sequencing, and sending the data packet for each TCP substream according to the DSN;
the quality of the network state of the TCP sub-flow is determined by the round trip delay of the TCP sub-flow;
the specific standard of each TCP sub-stream for sending data packets according to the DSN is as follows: the DSN of the data packet sent by the TCP sub-flow with good network state is in front, and the DSN of the data packet sent by the TCP sub-flow with poor network state is in back;
step 2: updating the position pri of the TCP sub-flow i in the network state quality ordering of all TCP sub-flows;
updating the positions of the TCP sub-flow i in the network state quality ordering of all TCP sub-flows when the TCP sub-flow i receives an ACK data packet of the TCP sub-flow every time;
and step 3: if the network state of the TCP sub-flow i is the best, sending an unsent data packet with the most front DSN; if the network state of the TCP sub-flow i is not the best, then the step 4 is carried out;
and 4, step 4: judging whether a data packet needs to be reserved for a first-level TCP sub-flow better than the network state of the TCP sub-flow i; if the data packet does not need to be reserved and the TCP sub-stream at the position pri last time has the unsent data packet, sending the unsent data packet of the TCP sub-stream at the position pri last time, and otherwise, selecting the data packet with larger DSN to send; if the data packets need to be reserved, the DSN of the sent data packets is the sum of the number of the data packets which need to be reserved currently and the DSN of the data packets sent by the TCP sub-flow which is located at the position pri last time;
the specific formula for judging whether the data packet needs to be reserved for the first-level TCP substream better than the network state of the TCP substream i is as follows:
Figure FDA0002947508520000011
wherein, DSNhis.priDSN, DSN representing packets sent last time in TCP substream at position prihis,pri-1DSN, CWND representing the last packet sent by TCP sub-stream at position pri-1his,jIndicating the congestion window of a certain TCP sub-flow j last at positions 0 to pri-1,
Figure FDA0002947508520000012
represents the sum of congestion windows of all TCP sub-flows last at position 0 to position pri-1; DSNhis,pri-DSNhis,pri-1The sum of the number of data packets reserved for the TCP sub-flow at the position pri is the TCP sub-flow at the position 0 to the position pri-1; pri represents the position of the TCP sub-flow in a network state quality ordering table sort, pri-1 represents the position of the network state which is one level better than pri, and pri +1 represents the position of the network state which is one level worse than pri;
the calculation formula of the number of the reserved data packets is as follows:
Res=(RTTP×BWP+Rud÷CWNDpri-1)×(DSNpri-1-DSN0)
wherein Res represents the number of packets currently required to be reserved for the TCP sub-flow at position pri-1;
Figure FDA0002947508520000021
SRTTpri-1indicating the smooth round-trip delay, SRTT, of the TCP sub-flow currently at position pri-1priRepresents the smooth round trip delay of the TCP sub-flow currently at position pri; BWP represents the ratio of the bandwidth of the TCP sub-flow currently at position pri-1 to the TCP sub-flow currently at position pri, i.e.
Figure FDA0002947508520000022
Rud represents the redundancy size of the data packet at the current receiving end; CWNDpri-1A congestion window representing the TCP sub-flow currently at position pir-1; DSNpri-1DSN representing packets sent by the TCP sub-stream currently at position pir-1; DSN0The DSN of the data packet sent by the TCP sub-flow with the best current network state is represented;
smooth round-trip delay SRTT of TCP sub-flow at position pripriThe calculation formula of (2) is as follows:
SRTTpri=(α×SRTThis,pri)+((1-α)×RTTpri)
where α represents an influence factor for indicating the RTTpriDegree of acceptance of, SRTThis,priRepresenting the smooth round trip delay, RTT, of the last TCP sub-flow at position pripriRepresents the round trip delay of the TCP sub-flow at position pri;
the calculation formula of the redundancy size Rud of the data packet at the current receiving end is as follows:
Rud=β×Rudhis+(1-β)×ΔRud
wherein RudhisThe method comprises the steps of representing the congestion length of a last receiving end buffer area, representing an influence factor beta, and representing the difference between the current congestion length and the last congestion length of the receiving end buffer area by delta Rud;
the specific calculation formula of the difference delta Rud between the current congestion length and the last congestion length of the receiving end buffer area is as follows:
ΔRud=DSN0-DATAACK-Rudhis
wherein, DSN0The DSN of the data packet sent by the TCP substream with the best current network state is represented, and the DATAACK is the confirmation information of the data packet at the TCP substream level in the MPTCP scheduler;
and 5: and repeating the steps 2-4 until all the data packets are sent.
2. The MPTCP scheduling method based on link state information in a wireless network as claimed in claim 1, wherein in step 1, the data packets to be transmitted include data packets to be reserved, the number of data packets to be reserved is related to the network status of the TCP sub-streams, and the number of data packets to be reserved is increased as the network status of the TCP sub-streams is better.
3. The MPTCP scheduling method based on link state information in a wireless network according to claim 1, wherein in step 4, if a data packet needs to be reserved, it needs to be further determined whether a DSN of a data packet sent by the TCP subflow i is greater than a scheduler sending window, if yes, the TCP subflow i waits, a null data packet is sent on the TCP subflow i, and the step 2 is performed;
if not, judging whether the DSN of the data packet sent by the TCP sub-flow i is larger than the DSN of the data packet sent by the TCP sub-flow currently at the position pri + 1; if so, the DSN of the packet sent by the TCP sub-stream i is the DSN of the packet sent by the TCP sub-stream whose network state is one level lower than that of the TCP sub-stream i, and if not, the DSN of the packet sent by the TCP sub-stream i is the sum of the number of the packets currently required to be reserved and the DSN of the packet sent by the TCP sub-stream at the previous position pri.
CN201910682837.1A 2019-07-26 2019-07-26 MPTCP scheduling method based on link state information in wireless network Active CN110392394B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910682837.1A CN110392394B (en) 2019-07-26 2019-07-26 MPTCP scheduling method based on link state information in wireless network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910682837.1A CN110392394B (en) 2019-07-26 2019-07-26 MPTCP scheduling method based on link state information in wireless network

Publications (2)

Publication Number Publication Date
CN110392394A CN110392394A (en) 2019-10-29
CN110392394B true CN110392394B (en) 2021-04-16

Family

ID=68287645

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910682837.1A Active CN110392394B (en) 2019-07-26 2019-07-26 MPTCP scheduling method based on link state information in wireless network

Country Status (1)

Country Link
CN (1) CN110392394B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111131017B (en) * 2019-11-19 2021-06-29 中国科学院计算技术研究所 MPTCP (Multi-protocol Transmission control protocol) cross-layer optimization method and system based on multi-cellular wireless access gateway

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103581035A (en) * 2012-08-01 2014-02-12 华为技术有限公司 Method, device and system for multi-path TCP congestion control
EP3162027A1 (en) * 2014-06-30 2017-05-03 Orange Multi-path tcp communication method between two terminals
CN106656856A (en) * 2016-12-16 2017-05-10 浙江大学 Data package scheduling method for resisting blockage of MPTCP receiving buffer zone
CN107566275A (en) * 2017-10-18 2018-01-09 中南大学 Multi-path transmission method based on the delay inequality opposite sex in data center network
CN108540380A (en) * 2017-03-02 2018-09-14 华为技术有限公司 More subflow network transfer methods and device
CN108881008A (en) * 2017-05-12 2018-11-23 华为技术有限公司 A kind of methods, devices and systems of data transmission
CN109314666A (en) * 2016-04-12 2019-02-05 Nicira股份有限公司 Virtual channel endpoint for congestion aware load balancing
CN109565471A (en) * 2016-06-18 2019-04-02 科里维网络有限公司 High performance intelligent adaptive transport layer is proposed using multichannel

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9578109B2 (en) * 2014-05-30 2017-02-21 Apple Inc. Long-lived MPTCP sessions

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103581035A (en) * 2012-08-01 2014-02-12 华为技术有限公司 Method, device and system for multi-path TCP congestion control
EP3162027A1 (en) * 2014-06-30 2017-05-03 Orange Multi-path tcp communication method between two terminals
CN109314666A (en) * 2016-04-12 2019-02-05 Nicira股份有限公司 Virtual channel endpoint for congestion aware load balancing
CN109565471A (en) * 2016-06-18 2019-04-02 科里维网络有限公司 High performance intelligent adaptive transport layer is proposed using multichannel
CN106656856A (en) * 2016-12-16 2017-05-10 浙江大学 Data package scheduling method for resisting blockage of MPTCP receiving buffer zone
CN108540380A (en) * 2017-03-02 2018-09-14 华为技术有限公司 More subflow network transfer methods and device
CN108881008A (en) * 2017-05-12 2018-11-23 华为技术有限公司 A kind of methods, devices and systems of data transmission
CN107566275A (en) * 2017-10-18 2018-01-09 中南大学 Multi-path transmission method based on the delay inequality opposite sex in data center network

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Nvmmu: A non-volatile memory management unit for heterogeneous gpu-ssd architectures";Jie Zhang1,David Donofrio,John Shalf,Mahmut Kandemir,and Myoungs;《2015 International Conference on Parallel Architecture and Compilation》;20151231;全文 *
"基于链路特征的MPTCP子路径数据调度算法研究";刘山;《湖南大学工程硕士学位论文》;20180518;全文 *
"面向大数据处理的高精度多维计数布鲁姆过滤器";李玮,张大方,黄昆,谢鲲;《电子学报》;20150415;第43卷(第4期);全文 *

Also Published As

Publication number Publication date
CN110392394A (en) 2019-10-29

Similar Documents

Publication Publication Date Title
CN108259383B (en) Data transmission method and network equipment
US7724750B2 (en) Expedited data transmission in packet based network
US6078564A (en) System for improving data throughput of a TCP/IP network connection with slow return channel
US8149704B2 (en) Communication apparatus and data communication method
US6480505B1 (en) Batched fair exhaustive polling scheduler
JP4616535B2 (en) Network switching method using packet scheduling
US6657987B1 (en) Scheduling methodology for connections with quality of service (QoS) constraints in a polling based media access control (MAC)
US20100027424A1 (en) Path Estimation in a Wireless Mesh Network
US7633865B2 (en) Network operations control in packet data networks
JPH0690255A (en) Method for control of congestion of data network
JPH1093624A (en) Packet transmission network
JP2002521858A (en) Congestion control
US20050030896A1 (en) Adaptively changing weights for fair scheduling in broadcast environments
KR20050014705A (en) Method and apparatus for scheduling transmissions in wireless data networks
CN113543209B (en) Token scheduling-based congestion control method and device
US20040156350A1 (en) Hybrid polling/contention MAC layer with multiple grades of service
CN110944358A (en) Data transmission method and device
CN110392394B (en) MPTCP scheduling method based on link state information in wireless network
US5128937A (en) Adaptive bandwidth balancing for distributed queue dual bus networks
Halepoto et al. Scheduling over dissimilar paths using CMT-SCTP
EP1417807A1 (en) Burst reservation multiple access scheme with free abd demand bandwidth assignment (brma-fd)
JP2002532959A (en) Wireless local loop system and methods useful therefor
CN115665060A (en) Multi-path transmission scheduling method and device for heterogeneous network
Sailer et al. HTMT: High-Throughput multipath tunnelling for asymmetric paths
Zhang et al. A High-Throughput Scheduler based on Multipath-State Machine in Wireless Networks

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