WO2019052264A1 - 传输报文的方法、网络组件和计算机可读存储介质 - Google Patents

传输报文的方法、网络组件和计算机可读存储介质 Download PDF

Info

Publication number
WO2019052264A1
WO2019052264A1 PCT/CN2018/094008 CN2018094008W WO2019052264A1 WO 2019052264 A1 WO2019052264 A1 WO 2019052264A1 CN 2018094008 W CN2018094008 W CN 2018094008W WO 2019052264 A1 WO2019052264 A1 WO 2019052264A1
Authority
WO
WIPO (PCT)
Prior art keywords
message
packet
blocking
network component
mptcp
Prior art date
Application number
PCT/CN2018/094008
Other languages
English (en)
French (fr)
Inventor
管波
张明礼
乔乃强
俞博源
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to JP2020515249A priority Critical patent/JP7086179B2/ja
Priority to KR1020207010518A priority patent/KR102397526B1/ko
Priority to EP18856079.1A priority patent/EP3672130B1/en
Publication of WO2019052264A1 publication Critical patent/WO2019052264A1/zh
Priority to US16/818,394 priority patent/US11283555B2/en

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/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/1607Details of the supervisory signal
    • H04L1/1642Formats specially adapted for sequence numbers
    • 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/1809Selective-repeat protocols
    • 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/1607Details of the supervisory signal
    • 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
    • H04L1/1835Buffer management
    • H04L1/1841Resequencing
    • 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
    • H04L1/1848Time-out mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9057Arrangements for supporting packet reassembly or resequencing

Definitions

  • the present invention relates to the field of communications, and in particular, to a method, a network component, and a computer readable storage medium for transmitting a message.
  • the Internet Engineering Task Force is based on the Transmission Control Protocol (TCP) of the transport layer.
  • TCP Transmission Control Protocol
  • MPTCP Multipath Transmission Control Protocol
  • MPTCP is an extension of the TCP protocol and is fully compatible with the TCP protocol.
  • the MPTCP protocol is a transport layer protocol that uses multiple paths for concurrent transmission, which can improve end-to-end throughput, increase network utilization, and increase redundancy.
  • the level of MPTCP is shown in Figure 1.
  • the MPTCP layer is added between the socket layer and the TCP layer of the TCP/Internet Protocol (IP) protocol stack architecture, which is responsible for managing multiple sub-TCP modules.
  • IP Internet Protocol
  • FIG. 2 is a schematic diagram of the MPTCP two-layer serial number.
  • MPTCP uses a two-layer serial number mechanism to implement concurrent and reliable transmission of multiple paths.
  • the Subflow Sequence Number (SSN) belongs to the TCP substream and is maintained separately by each TCP substream.
  • the upper data sequence number (DSN) is maintained on the MPTCP control plane and is globally unique. After receiving the packet of each substream, the receiver reassembles the TCP packet according to the DSN.
  • MPTCP multi-path concurrent transmission brings many benefits. On the one hand, it ensures the reliability of the network, on the other hand, it increases the network bandwidth utilization and can transfer traffic from the congested link to the idle link.
  • FIG. 3 is a schematic diagram of the service scenario of the hybrid access network.
  • the computer is connected to a Home Gateway (HG) and then connected to a Hybrid Access Aggregation Point (HAAP) through an LTE network, a Digital Subscriber Line (DSL) or WiFi.
  • HG Home Gateway
  • HAAP Hybrid Access Aggregation Point
  • LTE Long Term Evolution
  • DSL Digital Subscriber Line
  • HG and HAAP can be connected in the following ways, such as DSL, LTE and WiFi.
  • the receiving end waits for the arrival of the message, and then sends a duplicate ACK after receiving the subsequent message.
  • the sender does not immediately trigger the fast retransmission of the MPTCP layer. Instead, the fast retransmission is triggered by the fast retransmission mechanism of the sub-flow until the sub-retransmission timeout (RTO) times out. Triggers the retransmission of the MPTCP layer.
  • RTO sub-retransmission timeout
  • the retransmission of the MPTCP layer needs to be triggered after the substream RTO times out, and the delay is long.
  • the embodiment of the invention provides a method for transmitting a message, a network component and a computer readable storage medium, which can reduce the delay without triggering a retransmission after the substream RTO times out.
  • an embodiment of the present invention provides a method for transmitting a message, where the method includes:
  • the network component receives the packet on the multiple sub-flow connections of the multi-path transmission control protocol MPTCP connection, and determines the MPTCP layer packet out-of-order according to the received message;
  • the network component determines that the blocking message that causes the out-of-order is not received within the tolerance time, and the tolerance time is less than a maximum RTO in the retransmission timeout time RTO of the multiple sub-flow connections;
  • the network component sends a retransmission indication message of the blocking packet on the target sub-flow connection in the multiple sub-flow connections, where the re-transmission indication message is used to indicate the sending device of the blocking packet
  • the blocked message is retransmitted.
  • the determining, by the received packet, an MPTCP layer packet out of order including:
  • the grouping is performed based on the data sequence number DSN of the message that has arrived in the plurality of sub-stream connections of the MPTCP.
  • the MPTCP layer message is out of order.
  • the tolerance time is determined by a maximum RTT in a round-trip delay RTT in the multiple sub-flow connections and a newly received packet when the MPTCP layer packet is out of order.
  • the RTT of the substream connection is determined.
  • the tolerance time is equal to 1/2 (RTT max -RTT cur ), and the RTT max is the largest RTT of the RTTs in the multiple substream connections.
  • the RTT cur is the RTT to which the sub-flow of the latest received packet occurs when the MPTCP layer packet is out of order.
  • the network component before the sending, by the network component, the retransmission indication packet of the blocking packet, the network component, in the target sub-flow connection of the multiple sub-flow connections, further includes:
  • a substream connection with the shortest estimated delay among the plurality of substream connections is selected as the target substream connection.
  • the retransmission indication packet includes an identifier, where the identifier is used to mark the retransmission indication packet as a retransmission of the sending device that indicates the blocking packet. Packets blocking packets.
  • the flag is located in a data sequence signal DSS option of the MPTCP.
  • the retransmission indication message that sends the blocking packet on the target sub-flow connection in the multiple sub-flow connections includes:
  • the repeated acknowledgement message of the blocked message is sent three times in succession.
  • the network component is a home network HG, a hybrid access aggregation node HAAP, or an access router AR.
  • an embodiment of the present invention provides a method for transmitting a message, where the method includes:
  • the network component identifies a retransmission indication message of the blocking packet in the packet received by the multiple sub-flow connection of the multi-path transmission control protocol MPTCP;
  • the network component resends the blocking message corresponding to the DSN in the sub-flow connection that receives the retransmission indication message.
  • the retransmission indication packet includes an identifier, where the identifier is used to mark the retransmission indication packet as a retransmission of a sending device that indicates the blocking packet The blocking message;
  • identifying the retransmission indication message of the blocking message including: identifying, by the identifier of the retransmission indication message, the retransmission indication message of the blocking message.
  • the retransmitting indication message that identifies the blocking packet includes:
  • the retransmission indication message of the blocked message is identified by receiving the repeated acknowledgement message of the blocked message three times in succession.
  • the network component is a home network HG, a hybrid access aggregation node HAAP, or an access router AR.
  • an embodiment of the present invention provides a network component, where the network component includes:
  • a determining module configured to receive a packet on a plurality of sub-flow connections of the multi-path transmission control protocol MPTCP connection, and determine an MPTCP layer packet out-of-order according to the received packet;
  • a judging module configured to determine that the blocking message that causes the out-of-order is not received within the tolerance time, where the tolerance time is less than a maximum RTO of the retransmission timeout time RTO of the multiple sub-flow connections;
  • a sending module configured to send a retransmission indication message of the blocking packet, where the retransmission indication message is used to indicate the sending device of the blocking packet, in the target sub-flow connection in the multiple sub-flow connections
  • the blocked message is retransmitted.
  • the determining module is specifically configured to perform grouping based on a data sequence number DSN of a packet that has arrived in the multiple sub-stream connections of the MPTCP.
  • DSN of the received packet is not continuous, it is determined that the MPTCP layer packet is out of order.
  • the tolerance time is determined by a maximum RTT in a round-trip delay RTT in the multiple sub-flow connections and a newly received packet when an MPTCP layer packet is out of order.
  • the RTT of the substream connection is determined.
  • the tolerance time is equal to 1/2 (RTT max -RTT cur ), and the RTT max is the largest RTT of the RTTs in the multiple substream connections.
  • the RTT cur is the RTT to which the sub-flow of the latest received packet occurs when the MPTCP layer packet is out of order.
  • the sending module is further configured to select, as the target sub-flow connection, the sub-flow connection with the shortest estimated delay among the multiple sub-flow connections.
  • the retransmission indication packet includes an identifier, where the identifier is used to mark the retransmission indication packet as a retransmission of the sending device that indicates the blocking packet. Packets blocking packets.
  • the flag is located in a data sequence signal DSS option of the MPTCP.
  • the sending module is specifically configured to send the repeated acknowledgement packet of the blocked packet three times in succession on the target sub-flow connection.
  • the network component is a home network HG, a hybrid access aggregation node HAAP, or an access router AR.
  • an embodiment of the present invention provides a network component, where the network component includes:
  • An identification module configured to identify a retransmission indication message of the blocking message in the packet received by the multi-path transmission control protocol MPTCP multiple sub-flow connection;
  • a determining module configured to determine, according to the retransmission indication message, a data sequence number DSN of the blocking message
  • the retransmission module is configured to resend the blocking message corresponding to the DSN in the sub-flow connection that receives the re-instruction indication message.
  • the retransmission indication packet includes an identifier, where the identifier is used to mark the retransmission indication packet as a retransmission of a sending device that indicates the blocking packet The blocking message;
  • the identifying module is configured to identify, by using the identifier of the retransmission indication packet, a retransmission indication packet of the blocking packet.
  • the identifying module is configured to: after receiving the repeated acknowledgement packet of the blocked packet, the retransmission of the blocked packet is identified. Indicate the message.
  • the network component is a home network HG, a hybrid access aggregation node HAAP, or an access router AR.
  • a fifth aspect of the present application provides a computer readable storage medium having stored therein instructions that, when executed on a computer, cause the computer to perform the methods described in the above aspects.
  • a sixth aspect of the present application provides a computer program product comprising instructions which, when run on a computer, cause the computer to perform the methods described in the various aspects above.
  • the network component receives the packet on the multiple sub-flow connections of the MPTCP connection, and determines that the MPTCP layer packet is out of order according to the received packet, and the network component determines that the cause is not received within the tolerance time.
  • the out-of-order blocking message is sent; the network component sends a retransmission indication message of the blocking message on the target sub-flow connection in the multiple sub-flow connections.
  • the sending device that blocks the packet can retransmit the blocking packet immediately after receiving the retransmission indication packet, without triggering retransmission after the substream RTO times out, and because the tolerance time is less than the maximum of the RTOs connected to multiple substreams. RTO, therefore, the delay of the above technical solution is relatively short compared to the prior art solution that triggers retransmission after the substream RTO times out.
  • FIG. 1 is a schematic diagram of a structure of an MPTCP
  • FIG. 2 is a schematic diagram of a two-layer serial number of MPTCP
  • FIG. 3 is a schematic diagram of a service scenario of a hybrid access network
  • FIG. 4 is a schematic flowchart of a method for transmitting a message in an embodiment of the present invention.
  • FIG. 5 is a schematic diagram of an MPTCP connection in an embodiment of the present invention.
  • FIG. 6 is a schematic flowchart of a method for transmitting a message according to another embodiment of the present invention.
  • FIG. 7 is a schematic diagram of data transmission in a BA scenario in an embodiment of the present invention.
  • FIG. 8 is a schematic diagram of data transmission in an SDWAN Hybrid WAN scenario according to an embodiment of the present invention.
  • FIG. 9 is a schematic structural diagram of a network component in an embodiment of the present invention.
  • FIG. 10 is a schematic structural diagram of a network component in another embodiment of the present invention.
  • FIG. 11 is a block diagram showing an exemplary hardware architecture of a computing device capable of implementing a method and network component for transmitting a message in accordance with an embodiment of the present invention.
  • the network component determines that the MPTCP layer packet is out of order according to the received packet, and if the blocked packet is not received within the tolerance time, the retransmission of the blocked packet is sent on the target substream connection. Indicate the message. Since there is no need to trigger a retransmission after the substream RTO times out, the delay is relatively short.
  • FIG. 4 is a schematic flowchart of a method for transmitting a message according to an embodiment of the present invention.
  • the executor of the embodiment of the present invention may be a network component, and specifically includes:
  • FIG. 5 is a schematic diagram of an MPTCP connection according to an embodiment of the present invention. Data is transmitted in parallel on three sub-stream connections of the MPTCP between the receiving end and the transmitting end, and the sub-stream connection is also called a sub-flow.
  • the substream connection 1 uses a DSL connection
  • the substream connection 2 uses an LTE connection
  • the substream connection 3 uses a WiFi connection.
  • the following takes the receiving end as an example for explanation.
  • the network component receives the packet on the multiple sub-flow connections of the MPTCP connection, and determines the out-of-order order of the MPTCP layer according to the received message.
  • the network component receives the message on multiple sub-flow connections of the MPTCP connection. Because MPTCP uses a two-layer serial number mechanism to achieve concurrent and reliable transmission of multipath.
  • the lower layer SSN belongs to the TCP substream and is maintained separately by each TCP substream.
  • the upper DSN is maintained on the MPTCP control plane and is globally unique. Therefore, determining the MPTCP layer packet out of order according to the received message includes the following two steps.
  • Step 1 Determine whether the packets received on the substream connection are consecutive.
  • the SSN is the sub-stream sequence number, and the SSN number of the received packet on the same sub-flow connection continuously indicates that the received message is continuous on the sub-flow connection, the SSN can be determined according to the SSN. Whether the text is continuous.
  • the network component receives messages with SSNs of B, A, and C, respectively. Since the SSNs of the received packets can be consecutively arranged, it indicates that the received messages on the sub-flow connection are consecutive.
  • the network component receives the packets whose SSN is divided into d, c, and a. Since the SSNs of the packets are not consecutively arranged, the packets received by the substream connection are discontinuous.
  • step 2 is performed to determine whether the packets of the MPTCP layer are continuous; if it is determined that the packets received on the sub-flow connection are not continuous, the packets are processed according to the standard TCP mechanism, as a For example, the receiving end replies three times on the sub-flow connection that the packets have not arrived, indicating that it is expected to receive duplicate ACKs of the unreached packets, and after receiving three repeated ACKs, the transmitting end performs fast retransmission on the same sub-flow connection without reaching. Message.
  • Step 2 Determine whether the packets of the MPTCP layer are consecutive.
  • the DSN is globally unique.
  • the DSN number of the packets received on the same MPTCP connection continuously indicates that the packets of the MPTCP layer are consecutive. Therefore, the DSN can determine whether the packets of the MPTCP layer are continuous.
  • the network component receives the packets with the DSNs of 2, 1, and 3 respectively. Since the DSNs of the packets can be consecutively sorted, the packets of the MPTCP layer are consecutive. After consecutive packets are successfully applied to the DSN group, the application can be submitted. As an example, the packet after the successful packet can be submitted to the application layer of the network component, such as a video application.
  • the network component receives the packets with the DSNs of 4, 3, and 1 respectively. Since the packets with the DSN of 2 are not received, and the packets of the MPTCP layer are not consecutive, the MPTCP layer packets are out of order.
  • a sub-flow connection is caused by a large delay or packet loss, which causes the MPTCP layer packet to be out of order.
  • the MPTCP connection between the network component and the communication peer device includes a substream connection 1 and a substream connection 2.
  • the communication peer device transmits, in the sub-stream connection 1, a message 1 in which the SSN is a, the DSN is 1, the SSN is b, the message 2 of which the DSN is 2, and the message 4 whose SSN is c and the DSN is 4;
  • the message 3 whose SSN is A, the DSN is 3, and the message 5 whose SSN is B and whose DSN is 5 are transmitted.
  • the network component receives message 1, message 2, message 3, and message 5.
  • the SSNs of the packets 1 and 2 are continuous, and the SSNs of the packets 3 and 5 are also continuous.
  • step 1 it is determined that the packets received on the sub-stream connection 1 and the sub-stream connection 2 are both continuously.
  • the DSN of the packet 3 and the packet 5 are not consecutive. Therefore, in step 2, it is determined that the packets of the MPTCP layer are not consecutive, that is, the packets of the MPTCP layer are out of order.
  • Packet 4 is a blocking message.
  • the out-of-order packets of the MPTCP layer are mainly because the blocking packets are not received, and the reason for not receiving the blocking packets is that the delay is large or the packet is lost.
  • the network component determines that the blocking message that causes the out-of-order is not received within the tolerance time, and the tolerance time is less than the maximum RTO in the RTO of the multiple sub-flow connections.
  • the MPTCP layer packets are out of order, and the network component needs to wait for the blocking message to be received within the tolerance time. If the packet is blocked within the tolerance period, the packet is packetized according to the blocked packet, and then the application is submitted. If it is determined that the blocking packet is not received within the tolerance time, S403 is performed.
  • the network component sends a retransmission indication message of the blocking message on the target sub-flow connection in the multiple sub-flow connection, where the re-transmission indication message is used to indicate that the sending device that blocks the packet retransmits the blocking message.
  • the network component sends a retransmission indication message of the blocking message on the target sub-flow connection in the multiple sub-flow connections of the MPTCP.
  • the purpose of sending a retransmission indication message is to indicate that the sending device that blocks the packet retransmits the blocking message.
  • the network component sends the retransmission indication packet of the blocking packet on the target sub-flow connection in the multiple sub-flow connection of the MPTCP connection, if it is determined that the blocking packet is not received within the tolerance time. . If the packet is out of order in the MPTCP layer and the blocked packet is not received within the tolerance time, the retransmission indication packet triggers the retransmission of the blocked packet, so the delay is short.
  • determining that the MPTCP layer message is out of order according to the received packet includes:
  • a consecutive arrived message will be submitted to the MPTCP layer in multiple substream connections of MPTCP. That is to say, in the TCP layer, since the SSN of the received message is continuous, it indicates that the received message on the sub-flow connection is continuous.
  • the packet is based on the DSN of the packet. If the packet is not received, the DSN of the received packet is determined to be out of order.
  • the SSN of the packet is continuous, and the DSN of the packet is not continuous, which indicates that there is a blocked packet that is not received, and thus the MPTCP layer packet is out of order.
  • the tolerance time may be determined by the largest RTT of the RTTs in the plurality of substream connections and the RTT of the substream to which the newly received message occurs when the MPTCP layer message is out of order.
  • each substream connection has a real-time RTT
  • the maximum RTT of the plurality of sub-stream connections is denoted as RTT max .
  • the RTT of the sub-flow to which the latest received packet is located is recorded as RTT cur .
  • the MPTCP connection between the network component and the communication peer device includes a substream connection 1 and a substream connection 2.
  • the communication peer device transmits, in the sub-stream connection 1, a message 1 in which the SSN is a, the DSN is 1, the SSN is b, the message 2 of which the DSN is 2, and the message 4 whose SSN is c and the DSN is 4;
  • the message 3 whose SSN is A, the DSN is 3, and the message 5 whose SSN is B and whose DSN is 5 are transmitted.
  • the network component receives message 1, message 2, message 3, and message 5. Since message 1, message 2, message 3, and message 5 are not consecutive, message 4 is missing.
  • the MPTCP layer packet is out of order.
  • the RTT of the path where the packet 5 is located is RTT cur .
  • the tolerance time is equal to 1/2 (RTT max -RTT cur), 1/2 (RTT max -RTT cur) is generally less than the result of the plurality of sub-streams connected RTO Maximum RTO.
  • the toleration time can be determined by the RTT. If no blocking message is received within the tolerance time, the retransmission of the blocking message is triggered to shorten the delay.
  • the substream connection with the shortest estimated delay may be selected among the plurality of substream connections, and the substream connection with the shortest estimated delay is connected as the target substream.
  • the delay of each sub-flow connection may be estimated according to the RTT of each sub-flow connection, and the sub-flow connection with the smallest RTT is connected as the target sub-flow.
  • the substream connection with the shortest estimated delay can be selected as the target substream connection, and the retransmission indication message is transmitted on the target substream connection.
  • the retransmission indication message may include an identifier, where the identifier is used to mark the retransmission indication message as a retransmission blocking of the sending device indicating the blocking message.
  • Message packet that is, after receiving the retransmission indication message, the sending device that blocks the packet can identify the retransmission indication message and retransmit the corresponding blocking message by using the identifier.
  • the identifier is used as a trigger condition for triggering a retransmission blocking message, so the delay can be shortened.
  • the identity in the retransmission indication message may be located in a flag bit in the Data Sequence Signal (DSS) option of the MPTCP.
  • DSS Data Sequence Signal
  • the DSS in MPTCP indicates the data flow status of the sub-traffic in the MPTCP session.
  • the identifier may be filled in the flag in the DSS in the MPTCP.
  • the 6th flag bit in the DSS of MPTCP can be filled in with an identifier.
  • the sender can determine whether there is a corresponding identifier through the flag bit in the DSS option of the MPTCP. If the identifier exists, the sender can identify the retransmission indication packet sent by the receiver. That is, the packet whose identifier is identified is a retransmission indication packet.
  • the retransmission indication message for sending the blocking message on the target sub-flow connection in the multiple sub-flow connection may include: sending the repeated blocking message three times in succession on the target sub-flow connection
  • the acknowledgment message is repeated, and the acknowledgment message of the blocking message is used to indicate that the blocking message is expected to be received.
  • the repeated acknowledgement message sent three times in succession is equivalent to the retransmission indication message.
  • the sender After receiving the repeated repeated acknowledgment message, the sender needs to retransmit the blocking message on the target sub-flow connection.
  • the repeated acknowledgement message that receives three repetitions is used as a trigger condition for triggering the retransmission blocking message, so that the delay can be shortened.
  • FIG. 6 is a schematic flowchart of a method for transmitting a message according to another embodiment of the present invention.
  • the executor of the embodiment of the present invention may be a network component, and specifically includes:
  • the network component identifies, in the packet received by the multiple sub-flow connections of the MPTCP, a retransmission indication message of the blocking packet.
  • the network component can identify the retransmission indication packet in the packet received by the multiple sub-flow connections of the MPTCP, and the retransmission indication packet includes the DSN of the blocking packet.
  • the network component determines, according to the retransmission indication message, a DSN of the blocked packet.
  • the blocking packet can be determined in the retransmission indication packet, and the DSN of the blocking packet can be learned.
  • the re-instruction message may include an identifier, and the packet used to mark the retransmission indication message to be used as the blocking device to retransmit the blocking message may be identified.
  • the identifier can be located in a flag bit in the DSS option of the MPTCP.
  • the network component receives the repeated acknowledgement message of the repeated blocking message three times in succession, and can identify the retransmission indication message.
  • the DSN of the blocking packet may be determined according to the retransmission indication message.
  • the network component resends the blocked message corresponding to the determined DSN in the sub-flow connection that receives the retransmission indication message.
  • the network component resends the blocking message according to the DSN in the sub-flow connection that receives the retransmission indication message, where the DSN is the DSN of the blocking message, so that the receiving end receives the blocking message corresponding to the DSN.
  • the network component after receiving the retransmission indication message in the multiple sub-flow connections of the MPTCP, the network component identifies the retransmission indication message, determines the DSN of the blocking message according to the retransmission indication message, and then The sub-flow connection resends the blocking message according to the DSN. After the retransmission indication packet is identified, the corresponding blocking packet is resent immediately, so that the delay can be shortened.
  • FIG. 7 is a schematic diagram of data transmission in a BA scenario according to an embodiment of the present invention, and FIG. 7 may adopt the technical solution in FIG. 4 to FIG. 6.
  • the network components in Figures 4-6 can be HG or HAAP.
  • Client A client that uses the TCP protocol to host applications, such as a home computer, tablet, or mobile phone. Can be used to access TCP applications, such as live video.
  • HG It is the network access device installed by the operator in the user's home. Such devices may have multiple interfaces on the Wide Area Network (WAN) side, such as DSL, WiFi, LTE, and the like. These interfaces can be used as different outlets for MPTCP multipath transmission to enable hybrid access.
  • WAN Wide Area Network
  • HAAP This device is responsible for receiving hybrid access requests from different HG devices.
  • Server A server that hosts applications using the TCP protocol.
  • an MPTCP proxy server is deployed on the HAAP and the HG, and three MPTCP substream connections are established between the proxy servers by using LTE, DSL, and WiFi.
  • the proxy server of HG and the proxy server of HAAP maintain the RTT of each substream connection.
  • any proxy server determines that the MPTCP layer packet is out of order, selects the target sub-flow connection, and sends a retransmission indication message. After receiving the retransmission indication packet, another proxy server (such as the HAAP proxy server) immediately retransmits the blocking packet on the target sub-flow connection.
  • FIG. 8 is a schematic diagram of data transmission in a software-defined wide area network-software-defined Hybrid WAN scenario according to an embodiment of the present invention.
  • FIG. 8 may adopt the technical solutions in FIG. 4 to FIG.
  • the network components in Figures 4-6 can be an access router (AR).
  • the MPTCP proxy server is deployed on the AR1 and AR2, and the LTE and xPON are utilized. DSL and WiFi establish multiple MPTCP sub-flow connections.
  • xPON X Passive Optical Network
  • ATM Passive Optical Networks APON
  • Ethernet Passive Optical Networks EPON
  • GPON Gigabit-free Gigabit-capable Passive Optical Networks
  • the MPTCP proxy server of AR1 maintains each sub-flow connection RTT.
  • the proxy server of the AR1 determines that the MPTCP layer packet is out of order, selects the target sub-flow connection, and sends a retransmission indication message.
  • the AR2 proxy server receives the retransmission indication message immediately.
  • the target sub-flow connection quickly retransmits the blocking message.
  • FIG. 9 is a schematic structural diagram of a network component according to an embodiment of the present invention, corresponding to a method for transmitting a message. Specifically include:
  • the determining module 901 is configured to receive the message on the multiple sub-flow connections of the MPTCP connection, and determine the MPTCP layer message out-of-order according to the received message.
  • the MPTCP connection between the network component and the communication peer device includes a substream connection 1 and a substream connection 2.
  • the communication peer device transmits, in the sub-stream connection 1, a message 1 in which the SSN is a, the DSN is 1, the SSN is b, the message 2 of which the DSN is 2, and the message 4 whose SSN is c and the DSN is 4;
  • the message 3 whose SSN is A, the DSN is 3, and the message 5 whose SSN is B and whose DSN is 5 are transmitted.
  • the network component receives message 1, message 2, message 3, and message 5.
  • the SSNs of the packets 1 and 2 are continuous, and the SSNs of the packets 3 and 5 are also continuous.
  • step 1 it is determined that the packets received on the sub-stream connection 1 and the sub-stream connection 2 are both continuously.
  • the DSN of the packet 3 and the packet 5 are not consecutive. Therefore, in step 2, it is determined that the packets of the MPTCP layer are not consecutive, that is, the packets of the MPTCP layer are out of order.
  • Message 4 is a blocking message.
  • the out-of-order packets of the MPTCP layer are mainly because the blocking packets are not received, and the reason for not receiving the blocking packets is that the delay is large or the packet is lost.
  • the determining module 902 is configured to determine that the blocking message that causes the out-of-order is not received within the tolerance time, and the tolerance time is less than the maximum RTO in the RTO of the multiple sub-flow connections.
  • the MPTCP layer packets are out of order, and the network component needs to wait for the blocking message to be received within the tolerance time. If the packet is blocked, the packet is sent according to the blocking packet, and then the application is submitted. If the blocking packet is not received within the tolerance time, the sending module 903 sends a retransmission indication packet.
  • the sending module 903 is configured to send a retransmission indication message of the blocking message on the target sub-flow connection in the multiple sub-flow connection, where the re-transmission indication message is used to indicate that the sending device that blocks the packet retransmits the blocking message.
  • the sending module 903 sends a retransmission indication message of the blocking message on the target sub-flow connection in the multiple sub-flow connections of the MPTCP.
  • the purpose of sending a retransmission indication message is to indicate that the sending device that blocks the packet retransmits the blocking message.
  • the retransmission indication message of the blocking message is sent on the target sub-flow connection. If the packet is out of order in the MPTCP layer and the blocked packet is not received within the tolerance time, the retransmission indication packet triggers the retransmission of the blocked packet, so the delay is short.
  • the determining module 901 is specifically configured to perform grouping based on a DSN of a packet that has arrived in a plurality of sub-stream connections of the MPTCP, and determine, when determining that the DSN of the arrived packet is discontinuous, determining The MPTCP layer messages are out of order.
  • the SSN of the packet is continuous, and the DSN of the packet is not continuous, which indicates that there is a blocked packet that is not received, and thus the MPTCP layer packet is out of order.
  • the tolerance time may be determined by the largest RTT of the RTTs in the plurality of substream connections and the RTT of the substream to which the newly received message occurs when the MPTCP layer message is out of order.
  • each substream connection has a real-time RTT
  • the maximum RTT of the plurality of sub-stream connections is denoted as RTT max .
  • the RTT of the sub-flow to which the latest received packet is located is recorded as RTT cur .
  • the tolerance time is equal to 1/2 (RTT max -RTT cur), 1/2 (RTT max -RTT cur) is generally less than the result of the plurality of sub-streams connected RTO Maximum RTO.
  • the toleration time can be determined by the RTT. If no blocking message is received within the tolerance time, the retransmission of the blocking message is triggered to shorten the delay.
  • the sending module 903 is further configured to select a substream connection with the shortest estimated delay among the plurality of substream connections as the target substream connection.
  • the substream connection with the shortest estimated delay can be selected as the target substream connection, and the retransmission indication message is transmitted on the target substream connection.
  • the retransmission indication message includes an identifier, and the identifier is used to identify that the retransmission indication message is a message indicating that the blocking device retransmits the blocking message. That is, after receiving the retransmission indication message, the sending device that blocks the packet can identify the retransmission indication message and retransmit the corresponding blocking message by using the identifier.
  • the identifier is used as a trigger condition for triggering a retransmission blocking message, so the delay can be shortened.
  • the identity in the retransmission indication message may be located in the flag bit in the DSS option of MPTCP.
  • the DSS in MPTCP indicates the data flow status of the sub-traffic in the MPTCP session.
  • the identifier may be filled in the flag in the DSS in the MPTCP.
  • the 6th flag bit in the DSS of MPTCP can be filled in with an identifier.
  • the packet whose identifier is identified is a retransmission indication packet.
  • the sending module 903 is specifically configured to send, in the target sub-flow connection, a repeated acknowledgement packet of the repeated blocking message, the repeated acknowledgement packet of the blocked packet is used to indicate the expectation. Receive the blocking message.
  • the repeated acknowledgement message sent three times in succession is equivalent to the retransmission indication message.
  • the repeated acknowledgement message that receives three repetitions is used as a trigger condition for triggering the retransmission blocking message, so that the delay can be shortened.
  • the network component can be HG, HAAP or AR.
  • FIG. 10 is a schematic structural diagram of a network component according to another embodiment of the present invention, corresponding to a method for transmitting a message. Specifically include:
  • the identification module 1001 is configured to identify a retransmission indication message of the blocking message in the packet received by the MPTCP multiple sub-flow connection.
  • the retransmission indication packet may be included in the packet received by the multiple sub-flow connections of the MPTCP, and the retransmission indication packet includes the DSN of the blocking packet.
  • the determining module 1002 is configured to determine, according to the retransmission indication message, a DSN of the blocking message.
  • the re-instruction message may include an identifier, and the packet used to mark the retransmission indication message to be used as the blocking device to retransmit the blocking message may be identified.
  • the identifier can be located in a flag bit in the DSS option of the MPTCP.
  • the network component receives the repeated acknowledgement message of the repeated blocking message three times in succession, and can identify the retransmission indication message.
  • the DSN of the blocking packet may be determined according to the retransmission indication message.
  • the retransmission module 1003 is configured to resend the blocked message corresponding to the determined DSN in the sub-flow connection that receives the retransmission indication message.
  • the identification module 1001 identifies the retransmission indication message after receiving the retransmission indication message in the multiple sub-flow connection of the MPTCP, and the confirmation module 1002 determines the DSN of the blocking message according to the retransmission indication message. Then, the retransmission module 1003 resends the blocking message corresponding to the DSN in the substream connection that receives the retransmission indication message. After receiving the retransmission indication packet, the corresponding blocking packet is resent immediately, so that the delay can be shortened.
  • the network component can be HG, HAAP or AR.
  • computing device 1100 includes an input interface 1101, a processor 1102, a memory 1103, and an output interface 1104.
  • the input interface 1101, the processor 1102, the memory 1103, and the output interface 1104 are connected to each other through a bus 1105.
  • the input information is transmitted to the processor 1102 through the input interface 1101; the processor 1102 processes the input information based on computer executable instructions stored in the memory 1103 to generate output information, and temporarily stores the output information in the memory 1103. The output information is then output through the output interface 1104.
  • the computing device 1100 can perform the steps in the method of transmitting a message as described above in the present application.
  • the processor 1102 can be one or more central processing units (CPUs). In the case where the processor 1102 or the processor 1102 is a CPU, the CPU may be a single core CPU or a multi-core CPU.
  • CPUs central processing units
  • the memory 1103 may be, but not limited to, one of a random access memory (RAM), a read only memory (ROM), an erasable programmable read only memory (EPROM), a compact disk read only memory (CD-ROM), a hard disk, or the like. A variety.
  • RAM random access memory
  • ROM read only memory
  • EPROM erasable programmable read only memory
  • CD-ROM compact disk read only memory
  • hard disk or the like.
  • the memory 1103 is used to store program codes.
  • the computer program product comprises one or more computer instructions.
  • the computer program instructions When the computer program instructions are loaded or executed on a computer, the processes or functions described in accordance with embodiments of the present invention are generated in whole or in part.
  • the computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable device.
  • the computer instructions can be stored in a computer readable storage medium or transferred from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions can be from a website site, computer, server or data center Transmission to another website site, computer, server, or data center by wire (eg, coaxial cable, fiber optic, digital subscriber line (DSL), or wireless (eg, infrared, wireless, microwave, etc.).
  • the computer readable storage medium can be any available media that can be accessed by a computer or a data storage device such as a server, data center, or the like that includes one or more available media.
  • the usable medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a DVD), or a semiconductor medium (such as a solid state disk (SSD)).

Landscapes

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

Abstract

一种传输报文的方法、网络组件和计算机可读存储介质,所述方法包括:网络组件在多路径传输控制协议MPTCP连接的多个子流连接上接收报文,并根据接收的报文确定MPTCP层报文乱序;所述网络组件确定在容忍时间内未接收到导致所述乱序的阻塞报文,所述容忍时间小于所述多个子流连接的重传超时时间RTO中的最大RTO;所述网络组件在所述多个子流连接中的目标子流连接上,发送所述阻塞报文的重传指示报文,所述重传指示报文用于指示所述阻塞报文的发送设备重传所述阻塞报文。采用本发明实施例后,能够无需在子流RTO超时后触发重传,因此缩短时延。

Description

传输报文的方法、网络组件和计算机可读存储介质 技术领域
本发明涉及通信领域,尤其涉及一种传输报文的方法、网络组件和计算机可读存储介质。
背景技术
随着网络融合的发展,多路接入(通过个多通道将数据发送给用户终端)将成为未来提升用户感受的关键技术之一。与当前单路接入的最大不同是,需要将数据分发至多个渠道以发给用户终端。
国际互联网工程任务组(Internet Engineering Task Force,IETF)基于传输层的传输控制协议(Transmission Control Protocol,TCP),在2013年初推出最新正式的多路径传输控制协议(Multipath Transmission Control Protocol,MPTCP)标准RFC6824。
MPTCP是TCP协议的扩展,全面兼容TCP协议。MPTCP协议是一种利用多条路径并发传输的传输层协议,可以提高端到端的吞吐率,增加网络利用率,且增加冗余性。MPTCP的层次如图1所示,在TCP/网络协议(Internet Protocol,IP)协议栈架构的套接字(socket)层和TCP层之间,增加MPTCP层,由它负责管理多个子TCP模块,如TCP1、TCP2、…、TCPn。
参见图2,图2是MPTCP两层序列号示意图。MPTCP采用两层序列号机制实现多路径的并发可靠传输。下层子流序列号(Subflow Sequence Number,SSN)属于TCP子流,由各条TCP子流单独维护。上层数据序列号(Data Sequence Number,DSN)在MPTCP控制面维护,全局唯一。接收方在收到各条子流的报文后,根据DSN重组TCP报文。
MPTCP多路径并发传输带来的好处很多,一方面保证了网络的可靠性,另一方面增加了网络带宽利用率,能将流量从拥塞的链路向空闲链路转移。
MPTCP的典型应用场景绑定接入(Bonding Access,BA),参见图3,图3是混合接入网络的业务场景示意图。电脑与家庭网关(Home Gateway,HG)连接,然后通过LTE网络、数字用户链路(Digital Subscriber Line,DSL)或WiFi,与混合接入汇聚节点(Hybrid Access Aggregation Point,HAAP)连接。
在混合接入场景下,DSL、移动通信网络(例如:LTE)和WiFi等多条链路连接HG和HAAP。也就是说,HG和HAAP之间可以通过以下方式连接,如:DSL、LTE和WiFi。
在多链路接入网络环境下,不同路径存在一定的差异,各条路径上的时延、带宽、丢包率差异很大。在多路径传输时,由于这种差异性的存在,使得报文在接收端重组时存在乱序,增大了报文在接收端的排队时延,这对时延敏感的视频等业务影响较大。因此,在BA场景进行多链路并行传输,必须采用相关的机制来降低乱序带来的时延。
目前,接收端先等待报文的到来,然后收到后续的报文之后,发送重复ACK。发送端收到ACK后,并不立即触发MPTCP层的快速重传,而是先由子流的快速重传机制触发快速重传,直到子流重传超时时间(Retransmission Timeout,RTO)超时后,才触发MPTCP层的重传。
MPTCP层的重传需要在子流RTO超时后才触发,时延较长。
发明内容
本发明实施例提供了一种传输报文的方法、网络组件和计算机可读存储介质,能够无需在子流RTO超时后触发重传,因此缩短时延。
第一方面,本发明实施例提供一种传输报文的方法,所述方法包括:
网络组件在多路径传输控制协议MPTCP连接的多个子流连接上接收报文,并根据接收的报文确定MPTCP层报文乱序;
所述网络组件确定在容忍时间内未接收到导致所述乱序的阻塞报文,所述容忍时间小于所述多个子流连接的重传超时时间RTO中的最大RTO;
所述网络组件在所述多个子流连接中的目标子流连接上,发送所述阻塞报文的重传指示报文,所述重传指示报文用于指示所述阻塞报文的发送设备重传所述阻塞报文。
结合第一方面,在第一种可能的实现方式中,所述根据接收的报文确定MPTCP层报文乱序,包括:
基于在MPTCP的所述多个子流连接中已到达的报文的数据序列号DSN进行组包,在确定已到达的报文的DSN不连续时,确定MPTCP层报文乱序。
结合第一方面,在上述可能的实现方式中,所述容忍时间由所述多个子流连接中的往返时延RTT中最大的RTT和出现MPTCP层报文乱序时最新收到的报文所在子流连接的RTT确定。
结合第一方面,在上述可能的实现方式第一种情况中,所述容忍时间等于1/2(RTT max-RTT cur),RTT max是所述多个子流连接中的RTT中最大的RTT,RTT cur是出现MPTCP层报文乱序时最新收到的报文所在子流连接的RTT。
结合第一方面,在上述可能的实现方式中,所述网络组件在所述多个子流连接中的目标子流连接上,发送所述阻塞报文的重传指示报文之前,还包括:
选择所述多个子流连接中预估时延最短的子流连接作为所述目标子流连接。
结合第一方面,在上述可能的实现方式中,所述重传指示报文包括标识,所述标识用于标记所述重传指示报文为指示所述阻塞报文的发送设备重传所述阻塞报文的报文。
结合第一方面,在上述可能的实现方式的第一种情况时,所述标识位于MPTCP的数据序列信号DSS选项中的标志位。
结合第一方面,在上述可能的实现方式中,所述在所述多个子流连接中的目标子流连接上发送所述阻塞报文的重传指示报文,包括:
在所述目标子流连接上,连续三次发送重复的所述阻塞报文的重复确认报文。
结合第一方面,在上述可能的实现方式中,所述网络组件是家庭网络HG、混合接入汇聚节点HAAP或接入路由器AR。
第二方面,本发明实施例提供一种传输报文的方法,所述方法包括:
网络组件在多路径传输控制协议MPTCP的多个子流连接中收到的报文中,识别阻塞报文的重传指示报文;
所述网络组件依据所述重传指示报文确定所述阻塞报文的数据序列号DSN;
所述网络组件在收到所述重传指示报文的子流连接中,重新发送所述DSN对应的阻塞报文。
结合第二方面,在第一种可能的实现方式中,所述重传指示报文包括标识,所述标识用于标记所述重传指示报文为指示所述阻塞报文的发送设备重传所述阻塞报文;
所述识别阻塞报文的重传指示报文,包括:通过所述重传指示报文的标识,识别所述阻塞报文的重传指示报文。
结合第二方面,在第二种可能的实现方式中,所述识别阻塞报文的重传指示报文,包括:
通过连续三次收到重复的所述阻塞报文的重复确认报文,识别所述阻塞报文的重传指示报文。
结合第二方面,在上述可能的实现方式中,所述网络组件是家庭网络HG、混合接入汇聚节点HAAP或接入路由器AR。
第三方面,本发明实施例提供一种网络组件,所述网络组件包括:
确定模块,用于在多路径传输控制协议MPTCP连接的多个子流连接上接收报文,并根据接收的报文确定MPTCP层报文乱序;
判断模块,用于确定在容忍时间内定未接收到导致所述乱序的阻塞报文,所述容忍时间小于所述多个子流连接的重传超时时间RTO的最大RTO;
发送模块,用于在所述多个子流连接中目标子流连接上,发送所述阻塞报文的重传指示报文,所述重传指示报文用于指示所述阻塞报文的发送设备重传所述阻塞报文。
结合第三方面,在第一种可能的实现方式中,所述确定模块,具体用于基于在MPTCP的所述多个子流连接中已到达的报文的数据序列号DSN进行组包,在确定已到达的报文的DSN不连续时,确定MPTCP层报文乱序。
结合第三方面,在上述可能的实现方式中,所述容忍时间由所述多个子流连接中的往返时延RTT中最大的RTT和出现MPTCP层报文乱序时最新收到的报文所在子流连接的RTT确定。
结合第三方面,在上述可能的实现方式第一种情况中,所述容忍时间等于1/2(RTT max-RTT cur),RTT max是所述多个子流连接中的RTT中最大的RTT,RTT cur是出现MPTCP层报文乱序时最新收到的报文所在子流连接的RTT。
结合第三方面,在上述可能的实现方式中,所述发送模块,还用于选择所述多个子流连接中预估时延最短的子流连接作为所述目标子流连接。
结合第三方面,在上述可能的实现方式中,所述重传指示报文包括标识,所述标识用于标记所述重传指示报文为指示所述阻塞报文的发送设备重传所述阻塞报文的报文。
结合第三方面,在上述可能的实现方式第一种情况中,所述标识位于MPTCP的数据序列信号DSS选项中的标志位。
结合第三方面,在上述可能的实现方式中,所述发送模块,具体用于在所述目标子流连接上,连续三次发送重复的所述阻塞报文的重复确认报文。
结合第三方面,在上述可能的实现方式中,所述网络组件是家庭网络HG、混合接入汇聚节点HAAP或接入路由器AR。
第四方面,本发明实施例提供一种网络组件,所述网络组件包括:
识别模块,用于在多路径传输控制协议MPTCP多个子流连接中收到的报文中,识别阻塞报文的重传指示报文;
确定模块,用于依据所述重传指示报文确定所述阻塞报文的数据序列号DSN;
重发模块,用于在收到所述重传指示报文的子流连接中,重新发送所述DSN对应的阻塞报文。
结合第四方面,在第一种可能的实现方式中,所述重传指示报文包括标识,所述标识用于标记所述重传指示报文为指示所述阻塞报文的发送设备重传所述阻塞报文;
识别模块,具体用于通过所述重传指示报文的标识,识别所述阻塞报文的重传指示报文。
结合第四方面,在第二种可能的实现方式中,所述识别模块,具体用于通过连续三次收到重复的所述阻塞报文的重复确认报文,识别所述阻塞报文的重传指示报文。
结合第四方面,在上述可能的实现方式中,所述网络组件是家庭网络HG、混合接入汇聚节点HAAP或接入路由器AR。
本申请的第五方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本申请的第六方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
从上述技术方案中可以看出,网络组件在MPTCP连接的多个子流连接上接收报文,并根据接收的报文确定MPTCP层报文乱序,网络组件确定在容忍时间内未接收到导致所述乱序的阻塞报文;所述网络组件在所述多个子流连接中的目标子流连接上,发送所述阻塞报文的重传指示报文。这样阻塞报文的发送设备在接收到重传指示报文后就可以立即重传阻塞报文,无需在子流RTO超时后触发重传,又由于容忍时间小于多个子流连接的RTO中的最大RTO,因此,相比于现有技术中的在子流RTO超时后才触发重传的技术方案,上述技术方案的时延相对较短。
附图说明
从下面结合附图对本发明的具体实施方式的描述中可以更好地理解本发明其中,相同或相似的附图标记表示相同或相似的特征。
图1是MPTCP结构示意图;
图2是MPTCP两层序列号示意图;
图3是混合接入网络的业务场景示意图;
图4是本发明实施例中传输报文的方法流程示意图;
图5是本发明实施例中MPTCP连接示意图;
图6是本发明另一个实施例中传输报文的方法流程示意图;
图7是本发明实施例中BA场景中数据传输示意图;
图8是本发明实施例中SDWAN Hybrid WAN场景中数据传输示意图;
图9是本发明实施例中网络组件的结构示意图;
图10是本发明另一个实施例中网络组件的结构示意图;
图11是示出能够实现根据本发明实施例的传输报文的方法和网络组件的计算设备的示例性硬件架构的结构图。
具体实施方式
在本发明实施例中,网络组件根据接收的报文确定MPTCP层报文乱序,若在容忍时间内仍未接收到阻塞报文,则在目标子流连接上发送该阻塞报文的重传指示报文。由于无需在子流RTO超时后触发重传,因此时延相对较短。
参见图4,图4是本发明实施例中传输报文的方法流程示意图,本发明实施例的执行主体可以是网络组件,具体包括:
参见图5,图5是本发明实施例中MPTCP连接示意图,在接收端与发送端之间应用 MPTCP的三个子流连接上进行数据并行传输,子流连接又称为子流。
子流连接1采用DSL连接,子流连接2采用LTE连接,子流连接3采用WiFi连接。下面以接收端为例进行说明。
S401、网络组件在MPTCP连接的多个子流连接上接收报文,并根据接收的报文确定MPTCP层报文乱序。
网络组件在MPTCP连接的多个子流连接上接收报文。由于MPTCP采用两层序列号机制实现多路径的并发可靠传输。下层SSN属于TCP子流,由各条TCP子流单独维护。上层DSN在MPTCP控制面维护,全局唯一。因此,根据接收的报文确定MPTCP层报文乱序包括以下两个步骤。
步骤1、判断子流连接上接收的报文是否连续。
在TCP层中,由于SSN是子流序列号,同一子流连接上接收的报文的SSN号连续表明该子流连接上接收的报文连续,那么可以依据SSN判断子流连接上接收的报文是否连续。
作为一个示例,网络组件收到SSN分别为B、A和C的报文。由于收到的报文的SSN可以连续排列,则说明该子流连接上接收的报文连续。
作为一个示例,网络组件收到SSN分为为d、c和a的报文,由于上述报文的SSN并非可以连续排列,则说明该子流连接接收的报文不连续。
若判断子流连接上接收的报文连续,则执行步骤2,即判断MPTCP层的报文是否连续;若判断子流连接上接收的报文不连续,则按照标准TCP机制进行处理,作为一个示例,接收端在报文未均已到达的子流连接上回复三次表明期望接收未到达报文的重复ACK,发送端收到三次重复ACK后,在同一条子流连接上进行快速重传没有到达的报文。
步骤2、判断MPTCP层的报文是否连续。
在MPTCP层,DSN是全局唯一的,同一MPTCP连接上接收的报文的DSN号连续表明MPTCP层的报文连续,因此可以依据DSN判断MPTCP层的报文是否连续。
作为一个示例,网络组件收到DSN分别为2、1和3的报文,由于报文的DSN可以连续排序,则说明MPTCP层的报文连续。连续的报文依据DSN组包成功后,可以提交应用。作为一个示例,可以将组包成功后的报文提交网络组件的应用层,如视频应用。
作为一个示例,网络组件收到DSN分别为4、3和1的报文,由于没有收到DSN为2的报文,MPTCP层的报文不连续,则MPTCP层报文乱序。
某一子流连接由于时延较大或者丢包,由此引发MPTCP层报文乱序。
作为一个示例,网络组件和通信对端设备之间的MPTCP连接包括子流连接1和子流连接2。通信对端设备在子流连接1中传输SSN为a、DSN为1的报文1,SSN为b、DSN为2的报文2,以及SSN为c、DSN为4的报文4;在子流连接2中传输SSN为A、DSN为3的报文3和SSN为B、DSN为5的报文5。网络组件收到报文1、报文2、报文3和报文5。报文1和报文2的SSN是连续的,报文3和报文5的SSN也是连续的,因此,在步骤1中判断出在子流连接1和子流连接2上接收的报文均是连续的。报文3和报文5的DSN不连续,因此,在步骤2中判断出MPTCP层的报文不连续,即MPTCP层报文乱序。其中报文4为阻塞报文。
也就是说,导致MPTCP层报文乱序主要是因为未收到阻塞报文,没有收到阻塞报文的原因是时延较大或者丢包。
S402、网络组件确定在容忍时间内未接收到导致乱序的阻塞报文,容忍时间小于多个子流连接的RTO中的最大RTO。
由于子流连接延时变大或者丢包,MPTCP层报文乱序,网络组件需要在容忍时间内等待接收阻塞报文。在容忍时间内阻塞报文到达,则依据阻塞报文进行组包,然后提交应用;在容忍时间内确定未接收到阻塞报文,则执行S403。
其中,在每个子流连接中均存在对应的RTO,容忍时间需要小于多个子流连接的RTO中的最大RTO。
S403、网络组件在多个子流连接中的目标子流连接上,发送阻塞报文的重传指示报文,重传指示报文用于指示阻塞报文的发送设备重传阻塞报文。
网络组件在MPTCP的多个子流连接中的目标子流连接上,发送阻塞报文的重传指示报文。发送重传指示报文的目的在于,指示阻塞报文的发送设备重新传输阻塞报文。
本发明实施例中,网络组件在MPTCP连接的多个子流连接中,在容忍时间内确定仍未接收到该阻塞报文,则在目标子流连接上发送该阻塞报文的重传指示报文。由于在MPTCP层报文乱序,且在容忍时间内未收到该阻塞报文,则通过重传指示报文触发阻塞报文的重传,因此时延较短。
在本发明的一个实施例中,根据接收的报文确定MPTCP层报文乱序具体包括:
将在MPTCP的多个子流连接中,将连续的已到达报文提交到MPTCP层。也就是说,在TCP层由于已到达报文的SSN是连续,则说明该子流连接上接收的报文是连续的。
在MPTCP层,基于报文的DSN进行组包,由于发现未收到阻塞报文,则确定已到达的报文的DSN不连续,则确定MPTCP层报文乱序。
在上述实施例中,报文的SSN是连续的,上述报文的DSN并非连续,则说明存在未收到的阻塞报文,因此导致MPTCP层报文乱序。
在本发明的一个实施例中,容忍时间可以由多个子流连接中的RTT中最大的RTT和出现MPTCP层报文乱序时最新收到的报文所在子流连接的RTT确定。
具体来说,在接收端与发送端之间存在多个子流连接,每个子流连接均有实时的RTT,多个子流连接中的最大RTT记为RTT max
出现MPTCP层报文乱序时最新收到的报文所在子流连接的RTT,记为RTT cur
作为一个示例,网络组件和通信对端设备之间的MPTCP连接包括子流连接1和子流连接2。通信对端设备在子流连接1中传输SSN为a、DSN为1的报文1,SSN为b、DSN为2的报文2,以及SSN为c、DSN为4的报文4;在子流连接2中传输SSN为A、DSN为3的报文3和SSN为B、DSN为5的报文5。网络组件收到报文1、报文2、报文3和报文5。由于报文1、报文2、报文3和报文5不连续,缺少报文4。在收到报文5后确定MPTCP层报文乱序,报文5所在路径的RTT即RTT cur
作为一个示例,容忍时间等于1/2(RTT max-RTT cur),1/2(RTT max-RTT cur)的结果通常小于所述多个子流连接的RTO中的最大RTO。
在上述实施例中,容忍时间可以由RTT确定,在容忍时间内未收到阻塞报文,则触发阻塞报文的重传,以缩短时延。
在本发明的一个实施例中,可以在多个子流连接中选择预估时延最短的子流连接,将预估时延最短的子流连接作为目标子流连接。具体可以根据各子流连接的RTT预估各个子流连接的时延,将具有最小RTT的子流连接作为目标子流连接。
考虑到尽快发送重传指示报文,就可以选择预估时延最短的子流连接作为目标子流连接,在目标子流连接上传输重传指示报文。
在本发明的一个实施例中,为了让发送端识别重传指示报文,重传指示报文可以包括标 识,该标识用于标记重传指示报文为指示阻塞报文的发送设备重传阻塞报文的报文。也就是说,阻塞报文的发送设备收到重传指示报文后,通过标识就可以识别出重传指示报文并重新传输相应的阻塞报文。
在上述示例中,将标识作为触发重传阻塞报文的触发条件,因此可以缩短时延。
在本发明的一个实施例中,重传指示报文中的标识可以位于,MPTCP的数据序列信号(DSS)选项中的标志位。
MPTCP中的DSS标示MPTCP会话中子流量的数据流状态。为了让发送端识别重传指示报文,可以在MPTCP中的DSS中标志位中填写标识。作为一个示例,可以在MPTCP的DSS中的第6个标志位填写标识。
在上述示例中,发送端可以通过在MPTCP的DSS选项中的标志位,确定是否存在相应的标识,若存在标识则发送端可以识别接收端发送的重传指示报文。即,标识位有标识的报文是重传指示报文。
在本发明的一个实施例中,在多个子流连接中的目标子流连接上发送阻塞报文的重传指示报文可以包括,在目标子流连接上,连续三次发送重复的阻塞报文的重复确认报文,该阻塞报文的重复确认报文用于表明期望接收该阻塞报文。连续三次发送的重复确认报文相当于重传指示报文。
发送端在接收到三次重复的重复确认报文,则说明发送端需要在目标子流连接上重传阻塞报文。
在上述示例中,将接收三次重复的重复确认报文作为触发重传阻塞报文的触发条件,因此可以缩短时延。
参见图6,图6是本发明另一个实施例中传输报文的方法流程示意图,本发明实施例的执行主体可以是网络组件,具体包括:
S601、网络组件在MPTCP的多个子流连接中收到的报文中,识别阻塞报文的重传指示报文。
网络组件在MPTCP的多个子流连接中收到的报文中可以识别出重传指示报文,重传指示报文中包括阻塞报文的DSN。
S602、网络组件依据重传指示报文确定阻塞报文的DSN。
由于在重传指示报文中可以确定阻塞报文,进而可以获知阻塞报文的DSN。
作为一个示例,可以通过重传指示报文包括标识,标识用于标记重传指示报文为指示阻塞报文的发送设备重传阻塞报文的报文。通过重传指示报文中的标识,可以识别阻塞报文的重传指示报文。其中,该标识可以位于MPTCP的DSS选项中的标志位。
作为另一个示例,网络组件连续三次收到重复的阻塞报文的重复确认报文,则可以识别重传指示报文。
识别重传指示报文后,可以依据重传指示报文确定阻塞报文的DSN。
S603、网络组件在收到重传指示报文的子流连接中,重新发送确定的DSN对应的阻塞报文。
网络组件在接收到重传指示报文的子流连接中,依据DSN重新发送阻塞报文,其中DSN是阻塞报文的DSN,以便接收端接收该DSN对应的阻塞报文。
在本发明实施例中,网络组件在MPTCP的多个子流连接中收到重传指示报文后,识别该重传指示报文,依据重传指示报文确定阻塞报文的DSN,然后在该子流连接中依据该DSN重新发送阻塞报文。在识别出重传指示报文后,立即重新发送对应的阻塞报文,因此可以缩 短时延。
参见图7,图7是本发明实施例中BA场景中数据传输示意图,图7可以采用图4至图6中的技术方案。作为一个示例,图4至图6中的网络组件可以是HG或HAAP。
Client:是使用TCP协议承载应用的客户端,比如家庭电脑、平板或者手机等。可以用来访问TCP应用,比如视频直播。
HG:是运营商安装在用户家里的网络接入设备。这种设备在广域网(Wide Area Network,WAN)端可能会有多种接口,如DSL,WiFi,LTE等。这些接口可以被用来作为MPTCP多路径传输的不同出口,从而实现混合接入。
HAAP:该设备负责接收来自不同HG设备的混合接入请求。
Server:使用TCP协议的承载应用的服务器。
在BA场景下,HAAP和HG上部署MPTCP代理服务器,代理服务器之间利用LTE、DSL和WiFi建立三条MPTCP子流连接。HG的代理服务器和HAAP的代理服务器维护各子流连接的RTT。
由于LTE链路丢包或者时延过大,其中任一代理服务器(如HG的代理服务器)确定出现MPTCP层报文乱序,选择目标子流连接,发送重传指示报文。另一代理服务器(如HAAP代理服务器)收到重传指示报文后,立即在目标子流连接上快速重传阻塞报文。
参见图8,图8是本发明实施例中软件定义广域网—混合广域网(Software-defined Hybrid WAN)场景中数据传输示意图,图8可以采用图4至图6中的技术方案。作为一个示例,图4至图6中的网络组件可以是接入路由器(access router,AR)。
在SDWAN Hybrid WAN场景下,企业分支机构(Branch)和企业总部(Head-quarter)之间存在多条冗余路径,分别在AR1和AR2上部署MPTCP代理服务器,通过MPTCP绑定,利用LTE、xPON、DSL和WiFi建立多条MPTCP子流连接。
无源光网络(x Passive Optical Network,xPON),包括基于信元的传输协议无源光网络(ATM Passive Optical Networks,APON),以太无源光网络(Ethernet Passive Optical Networks,EPON),吉比特无源光网络(Gigabit-capable Passive Optical Networks,GPON)等。
AR1的MPTCP代理服务器维护各子流连接RTT。
由于LTE链路丢包或者时延过大,AR1的代理服务器确定出现MPTCP层报文乱序,选择目标子流连接,发送重传指示报文,AR2代理服务器收到重传指示报文立即从目标子流连接上快速重传阻塞报文。
参见图9,图9是本发明实施例中网络组件的结构示意图,与传输报文的方法相对应。具体包括:
确定模块901,用于在MPTCP连接的多个子流连接上接收报文,并根据接收的报文确定MPTCP层报文乱序。
作为一个示例,网络组件和通信对端设备之间的MPTCP连接包括子流连接1和子流连接2。通信对端设备在子流连接1中传输SSN为a、DSN为1的报文1,SSN为b、DSN为2的报文2,以及SSN为c、DSN为4的报文4;在子流连接2中传输SSN为A、DSN为3的报文3和SSN为B、DSN为5的报文5。网络组件收到报文1、报文2、报文3和报文5。报文1和报文2的SSN是连续的,报文3和报文5的SSN也是连续的,因此,在步骤1中判断出在子流连接1和子流连接2上接收的报文均是连续的。报文3和报文5的DSN不连续,因此,在步骤2中判断出MPTCP层的报文不连续,即MPTCP层报文乱序。其中报文4为阻 塞报文。
也就是说,导致MPTCP层报文乱序主要是因为未收到阻塞报文,没有收到阻塞报文的原因是时延较大或者丢包。
判断模块902,用于确定在容忍时间内未接收到导致乱序的阻塞报文,容忍时间小于多个子流连接的RTO中的最大RTO。
由于子流连接延时变大或者丢包,MPTCP层报文乱序,网络组件需要在容忍时间内等待接收阻塞报文。在容忍时间内阻塞报文到达,则依据阻塞报文进行组包,然后提交应用;在容忍时间内确定未接收到阻塞报文,则发送模块903发送重传指示报文。
其中,在每个子流连接中均存在对应的RTO,容忍时间需要小于多个子流连接的RTO中的最大RTO。
发送模块903,用于在多个子流连接中的目标子流连接上,发送阻塞报文的重传指示报文,重传指示报文用于指示阻塞报文的发送设备重传阻塞报文。
发送模块903在MPTCP的多个子流连接中的目标子流连接上,发送阻塞报文的重传指示报文。发送重传指示报文的目的在于,指示阻塞报文的发送设备重新传输阻塞报文。
本发明实施例中,在MPTCP连接的多个子流连接中,在容忍时间内确定仍未接收到该阻塞报文,则在目标子流连接上发送该阻塞报文的重传指示报文。由于在MPTCP层报文乱序,且在容忍时间内未收到该阻塞报文,则通过重传指示报文触发阻塞报文的重传,因此时延较短。
在本发明的一个实施例中,确定模块901,具体用于基于在MPTCP的多个子流连接中已到达的报文的DSN进行组包,在确定已到达的报文的DSN不连续时,确定MPTCP层报文乱序。
在上述实施例中,报文的SSN是连续的,上述报文的DSN并非连续,则说明存在未收到的阻塞报文,因此导致MPTCP层报文乱序。
在本发明的一个实施例中,容忍时间可以由多个子流连接中的RTT中最大的RTT和出现MPTCP层报文乱序时最新收到的报文所在子流连接的RTT确定。
具体来说,在接收端与发送端之间存在多个子流连接,每个子流连接均有实时的RTT,多个子流连接中的最大RTT记为RTT max
出现MPTCP层报文乱序时最新收到的报文所在子流连接的RTT,记为RTT cur
作为一个示例,容忍时间等于1/2(RTT max-RTT cur),1/2(RTT max-RTT cur)的结果通常小于所述多个子流连接的RTO中的最大RTO。
在上述实施例中,容忍时间可以由RTT确定,在容忍时间内未收到阻塞报文,则触发阻塞报文的重传,以缩短时延。
在本发明的一个实施例中,为了让发送端识别重复确认包,发送模块903,还用于选择多个子流连接中预估时延最短的子流连接作为目标子流连接。
在上述示例中,考虑到尽快发送重传指示报文,就可以选择预估时延最短的子流连接作为目标子流连接,在目标子流连接上传输重传指示报文。
在本发明的一个实施例中,重传指示报文包括标识,标识用于标记重传指示报文为指示阻塞报文的发送设备重传所述阻塞报文的报文。也就是说,阻塞报文的发送设备收到重传指示报文后,通过标识就可以识别出重传指示报文并重新传输相应的阻塞报文。
在上述示例中,将标识作为触发重传阻塞报文的触发条件,因此可以缩短时延。
在本发明的一个实施例中,重传指示报文中的标识可以位于,MPTCP的DSS选项中的 标志位。
MPTCP中的DSS标示MPTCP会话中子流量的数据流状态。为了让发送端识别重传指示报文,可以在MPTCP中的DSS中标志位中填写标识。作为一个示例,可以在MPTCP的DSS中的第6个标志位填写标识。
在上述示例中,标识位有标识的报文是重传指示报文。
在本发明的一个实施例中,发送模块903,具体用于在目标子流连接上,连续三次发送重复的阻塞报文的重复确认报文,该阻塞报文的重复确认报文用于表明期望接收该阻塞报文。连续三次发送的重复确认报文相当于重传指示报文。
在上述示例中,将接收三次重复的重复确认报文作为触发重传阻塞报文的触发条件,因此可以缩短时延。
在本发明的一个实施例中,网络组件可以是HG、HAAP或AR。
参见图10,图10是本发明另一个实施例中网络组件的结构示意图,与传输报文的方法相对应。具体包括:
识别模块1001,用于在MPTCP多个子流连接中收到的报文中,识别阻塞报文的重传指示报文。
在MPTCP的多个子流连接中收到的报文中可以识别出重传指示报文,重传指示报文中包括阻塞报文的DSN。
确定模块1002,用于依据重传指示报文确定阻塞报文的DSN。
作为一个示例,可以通过重传指示报文包括标识,标识用于标记重传指示报文为指示阻塞报文的发送设备重传阻塞报文的报文。通过重传指示报文中的标识,可以识别阻塞报文的重传指示报文。其中,该标识可以位于MPTCP的DSS选项中的标志位。
作为另一个示例,网络组件连续三次收到重复的阻塞报文的重复确认报文,则可以识别重传指示报文。
识别重传指示报文后,可以依据重传指示报文确定阻塞报文的DSN。
重发模块1003,用于在收到重传指示报文的子流连接中,重新发送确定的DSN对应的阻塞报文。
在本发明实施例中,识别模块1001在MPTCP的多个子流连接中收到重传指示报文后,识别该重传指示报文,确认模块1002依据重传指示报文确定阻塞报文的DSN,然后重发模块1003在收到重传指示报文的子流连接中,重新发送该DSN对应的阻塞报文。在接收到重传指示报文后,立即重新发送对应的阻塞报文,因此可以缩短时延。
在本发明的一个实施例中,网络组件可以是HG、HAAP或AR。
图11是示出能够实现根据本发明实施例的传输报文的方法和网络组件的计算设备的示例性硬件架构的结构图。如图11所示,计算设备1100包括输入接口1101、处理器1102、存储器1103、以及输出接口1104。
其中,输入接口1101、处理器1102、存储器1103、以及输出接口1104通过总线1105相互连接。
具体地,通过输入接口1101将输入信息传送到处理器1102;处理器1102基于存储器1103中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器1103中,然后通过输出接口1104将输出信息输出。
计算设备1100可以执行本申请上述的传输报文的方法中的各步骤。
处理器1102可以是一个或多个中央处理器(英文:Central Processing Unit,CPU)。在处 理器1102或处理器1102是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
存储器1103可以是但不限于随机存储存储器(RAM)、只读存储器(ROM),可擦除可编程只读存储器(EPROM)、光盘只读存储器(CD-ROM)、硬盘等中的一种或多种。存储器1103用于存储程序代码。
可以理解的是,在本申请实施例中,图9-图10提供的任一模块或全部模块的功能可以用图11所示的中央处理器1102实现。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
本说明书的各个部分均采用递进的方式进行描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点介绍的都是与其他实施例不同之处。尤其,对于装置和系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例部分的说明即可。

Claims (28)

  1. 一种传输报文的方法,其特征在于,所述方法包括:
    网络组件在多路径传输控制协议MPTCP连接的多个子流连接上接收报文,并根据接收的报文确定MPTCP层报文乱序;
    所述网络组件确定在容忍时间内未接收到导致所述乱序的阻塞报文,所述容忍时间小于所述多个子流连接的重传超时时间RTO中的最大RTO;
    所述网络组件在所述多个子流连接中的目标子流连接上,发送所述阻塞报文的重传指示报文,所述重传指示报文用于指示所述阻塞报文的发送设备重传所述阻塞报文。
  2. 根据权利要求1所述传输报文的方法,其特征在于,所述根据接收的报文确定MPTCP层报文乱序,包括:
    基于在MPTCP的所述多个子流连接中已到达的报文的数据序列号DSN进行组包,在确定已到达的报文的DSN不连续时,确定MPTCP层报文乱序。
  3. 根据权利要求1或2所述传输报文的方法,其特征在于,所述容忍时间由所述多个子流连接中的往返时延RTT中最大的RTT和出现MPTCP层报文乱序时最新收到的报文所在子流连接的RTT确定。
  4. 根据权利要求3所述传输报文的方法,其特征在于,所述容忍时间等于1/2(RTT max-RTT cur),RTT max是所述多个子流连接中的RTT中最大的RTT,RTT cur是出现MPTCP层报文乱序时最新收到的报文所在子流连接的RTT。
  5. 根据权利要求1-4任一权利要求所述传输报文的方法,其特征在于,所述网络组件在所述多个子流连接中的目标子流连接上,发送所述阻塞报文的重传指示报文之前,还包括:
    选择所述多个子流连接中预估时延最短的子流连接作为所述目标子流连接。
  6. 根据权利要求1-5任一权利要求所述传输报文的方法,其特征在于,所述重传指示报文包括标识,所述标识用于标记所述重传指示报文为指示所述阻塞报文的发送设备重传所述阻塞报文的报文。
  7. 根据权利要求6所述传输报文的方法,其特征在于,所述标识位于MPTCP的数据序列信号DSS选项中的标志位。
  8. 根据权利要求1-7任一权利要求所述传输报文的方法,其特征在于,所述在所述多个子流连接中的目标子流连接上发送所述阻塞报文的重传指示报文,包括:
    在所述目标子流连接上,连续三次发送重复的所述阻塞报文的重复确认报文。
  9. 根据权利要求1-8任一权利要求所述传输报文的方法,其特征在于,所述网络组件是家庭网络HG、混合接入汇聚节点HAAP或接入路由器AR。
  10. 一种传输报文的方法,其特征在于,所述方法包括:
    网络组件在多路径传输控制协议MPTCP的多个子流连接中收到的报文中,识别阻塞报文的重传指示报文;
    所述网络组件依据所述重传指示报文确定所述阻塞报文的数据序列号DSN;
    所述网络组件在收到所述重传指示报文的子流连接中,重新发送所述DSN对应的阻塞报文。
  11. 根据权利要求10所述传输报文的方法,其特征在于,所述重传指示报文包括标识,所述标识用于标记所述重传指示报文为指示所述阻塞报文的发送设备重传所述阻塞报文;
    所述识别阻塞报文的重传指示报文,包括:通过所述重传指示报文的标识,识别所述阻 塞报文的重传指示报文。
  12. 根据权利要求10所述传输报文的方法,其特征在于,所述识别阻塞报文的重传指示报文,包括:
    通过连续三次收到重复的所述阻塞报文的重复确认报文,识别所述阻塞报文的重传指示报文。
  13. 根据权利要求10-12任一权利要求所述传输报文的方法,其特征在于,所述网络组件是家庭网络HG、混合接入汇聚节点HAAP或接入路由器AR。
  14. 一种网络组件,其特征在于,所述网络组件包括:
    确定模块,用于在多路径传输控制协议MPTCP连接的多个子流连接上接收报文,并根据接收的报文确定MPTCP层报文乱序;
    判断模块,用于确定在容忍时间内定未接收到导致所述乱序的阻塞报文,所述容忍时间小于所述多个子流连接的重传超时时间RTO的最大RTO;
    发送模块,用于在所述多个子流连接中目标子流连接上,发送所述阻塞报文的重传指示报文,所述重传指示报文用于指示所述阻塞报文的发送设备重传所述阻塞报文。
  15. 根据权利要求14所述网络组件,其特征在于,所述确定模块,具体用于基于在MPTCP的所述多个子流连接中已到达的报文的数据序列号DSN进行组包,在确定已到达的报文的DSN不连续时,确定MPTCP层报文乱序。
  16. 根据权利要求14或15所述网络组件,其特征在于,所述容忍时间由所述多个子流连接中的往返时延RTT中最大的RTT和出现MPTCP层报文乱序时最新收到的报文所在子流连接的RTT确定。
  17. 根据权利要求16所述网络组件,其特征在于,所述容忍时间等于1/2(RTT max-RTT cur),RTT max是所述多个子流连接中的RTT中最大的RTT,RTT cur是出现MPTCP层报文乱序时最新收到的报文所在子流连接的RTT。
  18. 根据权利要求14-17任一权利要求所述网络组件,其特征在于,所述发送模块,还用于选择所述多个子流连接中预估时延最短的子流连接作为所述目标子流连接。
  19. 根据权利要求14-18任一权利要求所述网络组件,其特征在于,所述重传指示报文包括标识,所述标识用于标记所述重传指示报文为指示所述阻塞报文的发送设备重传所述阻塞报文的报文。
  20. 根据权利要求19所述网络组件,其特征在于,所述标识位于MPTCP的数据序列信号DSS选项中的标志位。
  21. 根据权利要求14-20任一权利要求所述网络组件,其特征在于,所述发送模块,具体用于在所述目标子流连接上,连续三次发送重复的所述阻塞报文的重复确认报文。
  22. 根据权利要求14-21任一权利要求所述网络组件,其特征在于,所述网络组件是家庭网络HG、混合接入汇聚节点HAAP或接入路由器AR。
  23. 一种网络组件,其特征在于,所述网络组件包括:
    识别模块,用于在多路径传输控制协议MPTCP多个子流连接中收到的报文中,识别阻塞报文的重传指示报文;
    确定模块,用于依据所述重传指示报文确定所述阻塞报文的数据序列号DSN;
    重发模块,用于在收到所述重传指示报文的子流连接中,重新发送所述DSN对应的阻塞报文。
  24. 根据权利要求23所述网络组件,其特征在于,所述重传指示报文包括标识,所述标 识用于标记所述重传指示报文为指示所述阻塞报文的发送设备重传所述阻塞报文;
    识别模块,具体用于通过所述重传指示报文的标识,识别所述阻塞报文的重传指示报文。
  25. 根据权利要求23所述网络组件,其特征在于,所述识别模块,具体用于通过连续三次收到重复的所述阻塞报文的重复确认报文,识别所述阻塞报文的重传指示报文。
  26. 根据权利要求23-25任一权利要求所述网络组件,其特征在于,所述网络组件是家庭网络HG、混合接入汇聚节点HAAP或接入路由器AR。
  27. 一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-9任意一项所述的方法。
  28. 一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求10-13任意一项所述的方法。
PCT/CN2018/094008 2017-09-14 2018-07-02 传输报文的方法、网络组件和计算机可读存储介质 WO2019052264A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2020515249A JP7086179B2 (ja) 2017-09-14 2018-07-02 パケット伝送方法、ネットワーク構成要素、およびコンピュータ可読記憶媒体
KR1020207010518A KR102397526B1 (ko) 2017-09-14 2018-07-02 패킷 전송 방법, 네트워크 컴포넌트 및 컴퓨터 판독가능 저장 매체
EP18856079.1A EP3672130B1 (en) 2017-09-14 2018-07-02 Method for transmitting message, network component and computer-readable storage medium
US16/818,394 US11283555B2 (en) 2017-09-14 2020-03-13 Packet transmission method, network component, and computer-readable storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710828719.8A CN109510690B (zh) 2017-09-14 2017-09-14 传输报文的方法、网络组件和计算机可读存储介质
CN201710828719.8 2017-09-14

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/818,394 Continuation US11283555B2 (en) 2017-09-14 2020-03-13 Packet transmission method, network component, and computer-readable storage medium

Publications (1)

Publication Number Publication Date
WO2019052264A1 true WO2019052264A1 (zh) 2019-03-21

Family

ID=65723907

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/094008 WO2019052264A1 (zh) 2017-09-14 2018-07-02 传输报文的方法、网络组件和计算机可读存储介质

Country Status (6)

Country Link
US (1) US11283555B2 (zh)
EP (1) EP3672130B1 (zh)
JP (1) JP7086179B2 (zh)
KR (1) KR102397526B1 (zh)
CN (1) CN109510690B (zh)
WO (1) WO2019052264A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114039702A (zh) * 2021-11-08 2022-02-11 北京字节跳动网络技术有限公司 数据传输方法、装置、设备和介质

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12047114B2 (en) 2020-02-17 2024-07-23 National Institute Of Advanced Industrial Science And Technology Communication control method and communication control apparatus
CN114095796A (zh) * 2020-07-30 2022-02-25 中国移动通信集团终端有限公司 无效重传包减少方法、装置、设备及计算机存储介质
CN113259255B (zh) * 2021-06-03 2021-10-08 鹏城实验室 一种网络拥塞控制方法、装置、终端及存储介质
CN114501072A (zh) * 2021-12-29 2022-05-13 伟乐视讯科技股份有限公司 一种基于rist协议的媒体流传输系统
CN118199821A (zh) * 2022-12-13 2024-06-14 华为技术有限公司 数据传输方法、装置、设备及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103346963A (zh) * 2013-06-26 2013-10-09 南京昭视畅网络科技有限公司 一种基于预测到达时间的mptcp数据调度方法
CN103503357A (zh) * 2011-03-04 2014-01-08 黑莓有限公司 控制网络设备的行为
EP2996275A1 (en) * 2013-06-04 2016-03-16 Huawei Device Co., Ltd. Link processing method and mobile terminal in multiplexing control protocol

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3629025B2 (ja) * 2000-08-24 2005-03-16 松下電器産業株式会社 送受信方法およびその装置
EP1867110B1 (en) 2004-12-24 2010-02-10 Aspera, Inc. Bulk data transfer
EP2063571A1 (en) 2006-09-13 2009-05-27 Panasonic Corporation Communication device
WO2011153415A1 (en) * 2010-06-04 2011-12-08 Interdigital Patent Holdings, Inc. Mptcp and mobil ip interworking
US9264353B2 (en) 2011-09-22 2016-02-16 Qualcomm Incorporated Dynamic subflow control for a multipath transport connection in a wireless communication network
CN102404077B (zh) * 2011-11-30 2013-11-27 清华大学 基于喷泉码的多径传输控制方法
US9537759B2 (en) * 2012-01-31 2017-01-03 Massachusetts Institute Of Technology Multi-path data transfer using network coding
CN104104608B (zh) * 2013-04-15 2019-06-11 华为技术有限公司 接收报文的方法及装置
KR102051504B1 (ko) * 2013-05-15 2019-12-03 삼성전자주식회사 무선 통신 시스템에서 데이터 패킷 송수신 방법 및 장치
KR102173084B1 (ko) * 2013-08-23 2020-11-02 삼성전자주식회사 무선 통신 시스템에서 데이터 패킷 송수신 방법 및 장치
BR112016004142B1 (pt) * 2013-08-29 2022-05-17 Telefonaktiebolaget Lm Ericsson (Publ) Método, programador de protocolo de controle de transmissão de múltiplos trajetos, proxy de protocolo de controle de transmissão de múltiplos trajetos, rede de comunicação, e, meio legível por computador
WO2015174901A1 (en) * 2014-05-15 2015-11-19 Telefonaktiebolaget L M Ericsson (Publ) Method and devices for controlling usage of multi-path tcp
JP6429735B2 (ja) 2015-06-16 2018-11-28 三菱電機株式会社 転送装置、無線基地局、無線通信システムおよび転送方法
KR102411188B1 (ko) * 2015-11-30 2022-06-21 삼성전자주식회사 무선 통신 시스템에서의 혼잡 관리 장치 및 방법
US10020918B2 (en) * 2015-12-28 2018-07-10 Alcatel Lucent Fast coupled retransmission for multipath communications

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103503357A (zh) * 2011-03-04 2014-01-08 黑莓有限公司 控制网络设备的行为
EP2996275A1 (en) * 2013-06-04 2016-03-16 Huawei Device Co., Ltd. Link processing method and mobile terminal in multiplexing control protocol
CN103346963A (zh) * 2013-06-26 2013-10-09 南京昭视畅网络科技有限公司 一种基于预测到达时间的mptcp数据调度方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114039702A (zh) * 2021-11-08 2022-02-11 北京字节跳动网络技术有限公司 数据传输方法、装置、设备和介质
CN114039702B (zh) * 2021-11-08 2024-03-26 北京字节跳动网络技术有限公司 数据传输方法、装置、设备和介质

Also Published As

Publication number Publication date
US11283555B2 (en) 2022-03-22
JP2020533923A (ja) 2020-11-19
EP3672130A1 (en) 2020-06-24
CN109510690A (zh) 2019-03-22
JP7086179B2 (ja) 2022-06-17
EP3672130B1 (en) 2023-10-04
KR20200049854A (ko) 2020-05-08
KR102397526B1 (ko) 2022-05-12
US20200220668A1 (en) 2020-07-09
EP3672130A4 (en) 2020-08-26
CN109510690B (zh) 2020-07-28

Similar Documents

Publication Publication Date Title
CN109510690B (zh) 传输报文的方法、网络组件和计算机可读存储介质
US10237153B2 (en) Packet retransmission method and apparatus
JP5816718B2 (ja) 通信装置、通信システム、およびデータ通信の中継方法
US8804513B2 (en) Methods and systems for controlling SIP overload
US9843525B2 (en) Apparatus and method
US11088957B2 (en) Handling of data packet transfer via a proxy
CN107104902B (zh) 一种rdma数据传输的方法、相关装置与系统
US8060628B2 (en) Technique for realizing high reliability in inter-application communication
US11502986B2 (en) Reducing transmission delay of transmitting data in Wi-Fi
Gupta et al. Fast interest recovery in content centric networking under lossy environment
US20140369189A1 (en) Method of controlling packet transmission in network system and network system transmitting packet using pseudo-tcp agent
JP6268027B2 (ja) 通信システム、送信装置、及び通信方法
Rajput et al. Comparing stream control and datagram congestion control with traditional transmission control protocol
KR101609922B1 (ko) 피어-투-피어 기반 데이터 전송 장치 및 방법
KR102184144B1 (ko) Mptcp를 이용한 통신에서의 응답 메시지 처리 방법 및 시스템
KR101396785B1 (ko) 네트워크 장치에서 tcp 기능을 수행하는 방법
KR100812822B1 (ko) 무선 네트워크 시스템에서 목적지 상태에 기초한 무선데이터 통신 방법
KR20050013777A (ko) 재전송 타임아웃 수를 줄이기 위한 전송 제어 프로토콜혼잡제어방법
Ince et al. SCTP: Are you still there?
WO2015152414A1 (ja) 通信システム、送信装置、受信装置、通信装置、通信方法、及びプログラム
Dreibholz et al. Network Working Group P. Amer Internet-Draft University of Delaware Intended status: Experimental M. Becke Expires: November 30, 2015 University of Duisburg-Essen
Camarillo et al. Effect of head of the line blocking on session initiation protocol session establishment delays

Legal Events

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

Ref document number: 18856079

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020515249

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018856079

Country of ref document: EP

Effective date: 20200318

ENP Entry into the national phase

Ref document number: 20207010518

Country of ref document: KR

Kind code of ref document: A