WO2017132987A1 - 识别可靠传输协议的数据传输中的丢包类型的方法及系统 - Google Patents

识别可靠传输协议的数据传输中的丢包类型的方法及系统 Download PDF

Info

Publication number
WO2017132987A1
WO2017132987A1 PCT/CN2016/073652 CN2016073652W WO2017132987A1 WO 2017132987 A1 WO2017132987 A1 WO 2017132987A1 CN 2016073652 W CN2016073652 W CN 2016073652W WO 2017132987 A1 WO2017132987 A1 WO 2017132987A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
loss
rtt
base
packet loss
Prior art date
Application number
PCT/CN2016/073652
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 PCT/CN2016/073652 priority Critical patent/WO2017132987A1/zh
Publication of WO2017132987A1 publication Critical patent/WO2017132987A1/zh

Links

Images

Definitions

  • the present invention relates to the field of computer networks, and in particular, to a method and system for distinguishing network packet loss types in a reliable transmission protocol.
  • TCP Transmission Control Protocol
  • UDT is a UDP data transfer protocol (UDPT), which is a reliable data transmission protocol based on UDP. Due to their reliability and connection-oriented features, the UDT is used in the network. The application is very extensive. HTTP, FTP, SMTP, and TelNet all use the TCP protocol. UDT is widely used in network environments with high latency bandwidth products.
  • the reliability of the reliable transmission protocol is mainly realized by the packet sequence number, acknowledgment and retransmission mechanism, and the flow control of the protocol is mainly completed by the window mechanism and the congestion control strategy.
  • a reliable transmission protocol data stream may cause packet loss during the network transmission process due to the limitation of the processing capability of the link intermediate device or the link itself.
  • the packet loss is caused by the limitation of the processing capability of the intermediate device or the congestion control in the link. It is a congestion packet loss, and the packet loss phenomenon caused by some non-congestion control policies such as link failure and packet verification error is called random packet loss.
  • the technical problem solved by the present invention is to identify the type of packet loss in data transmission based on a reliable transmission protocol.
  • the present invention discloses a method for identifying a packet loss type in a data transmission of a reliable transmission protocol, the method comprising:
  • Step 1 Initializing the base round trip delay base-RTT and the base packet loss distance base-Dist;
  • Step 2 Obtain a packet loss delay loss-RTT of the packet loss occurring in the data transmission, and a packet loss distance loss-Dist of the previous packet loss from the previous packet loss;
  • Step 3 Determine a type of the lost packet according to a decision formula, where the decision formula includes:
  • the packet loss is a congestion packet
  • the packet loss is a random packet loss
  • base-RTT (i+1) MIN(base-RTT (i) ,RTT (i+1) )
  • base-RTT(i+1) is the reference round-trip delay of the i+1th data stream
  • base-RTT(i) is the reference round-trip delay of the i-th data stream
  • RTT(i+1) is the i+th Round trip delay for all packets in one data stream.
  • the base packet loss distance base-Dist is 2 or 3 or 4 or 5 or 6 or 7 or 8 or 9 or 10.
  • the Pi data packet fails to receive the acknowledgment data packet ACK, and the Pi+1 data packet can receive the acknowledgment data packet ACK, the second Pi
  • the data packet is regarded as a packet loss, and the packet loss delay-RTT is the round-trip delay of the Pi+1 data packet;
  • the Pi+1 packet fails to receive the acknowledgment packet ACK and the Pi packet can receive the acknowledgment packet ACK
  • the Pi+1 packet is regarded as a packet loss
  • the packet loss delay loss-RTT is the round trip delay of the Pi packets.
  • the invention also discloses a system for identifying a packet loss type in data transmission of a reliable transmission protocol,
  • the system includes:
  • An initialization module configured to initialize a base round trip delay base-RTT and a base packet loss distance base-Dist;
  • the parameter obtaining module is configured to obtain a packet loss delay loss-RTT of the packet loss occurring in the data transmission, and a packet loss distance loss-Dist of the previous packet loss from the previous packet loss;
  • a determining module configured to determine the type of the lost packet according to a decision formula, where the decision formula includes:
  • the packet loss is a congestion packet
  • the packet loss is a random packet loss
  • base-RTT (i+1) MIN(base-RTT (i) ,RTT (i+1) )
  • base-RTT(i+1) is the reference round-trip delay of the i+1th data stream
  • base-RTT(i) is the reference round-trip delay of the i-th data stream
  • RTT(i+1) is the i+th Round trip delay for all packets in one data stream.
  • the base packet loss distance base-Dist is 2 or 3 or 4 or 5 or 6 or 7 or 8 or 9 or 10.
  • the parameter acquisition module sends the acknowledgment packet ACK to the two packets continuously transmitted in the data transmission, and the Pi+1 packet can receive the acknowledgment packet ACK, and the second Pi packet
  • the data packet is regarded as a packet loss.
  • the packet loss delay-RTT is the round trip delay of the Pi+1 packet.
  • the Pi+1 packet fails to receive the acknowledgment packet ACK, and the Pi packet can receive the acknowledgment packet ACK, the Pi+1 packet is regarded as a packet loss, and when the packet is lost
  • the delay loss-RTT is the round trip delay of the Pi data packets.
  • the invention can accurately identify the packet loss type of the lost packet, and determine whether it belongs to a congestion packet or a random packet loss.
  • the packet loss type data can provide a basis for optimizing the TCP congestion control strategy.
  • the control module can clear the congestion situation in the network based on the TCP congestion control policy, thereby improving the efficiency of network transmission.
  • the single-ended optimization of the reliable transmission protocol can only be implemented by adjusting the congestion control policy.
  • the method for identifying the packet loss type of the present invention can provide accurate reference information for the congestion control policy, and facilitate the determination of the congestion control strategy. Therefore, the method for identifying the type of packet loss of the present invention can also be applied to the TCP protocol.
  • Single-ended optimization for easy optimization and performance improvement of reliable transmission protocols.
  • FIG. 1 is a schematic diagram of a network structure of the present invention.
  • FIG. 2 is a flow chart showing a method for identifying a packet loss type in data transmission of a reliable transmission protocol according to the present invention.
  • Figure 3 shows a schematic diagram of the distribution of the baseline RTT.
  • Figure 4 shows the distribution of data packet loss rate.
  • Figure 5 shows the distribution of data flow throughput.
  • Figure 6 shows the distribution of round-trip delay when packet loss occurs.
  • Figure 7 shows a graph of the ratio of aggregated packet loss.
  • Figure 8 shows a schematic diagram of the distribution of consecutive packet loss.
  • the invention utilizes the packet loss delay and the packet loss distance in the data transmission process of the reliable transmission protocol to distinguish the packet loss occurring in the reliable transmission protocol data stream into a congestion packet or a random packet loss in real time.
  • FIG. 1 is a schematic diagram of a network structure of the present invention.
  • FIG. 2 is a schematic flowchart diagram of a method for identifying a packet loss type in data transmission of a reliable transmission protocol according to the present invention.
  • the transmitting end and the receiving end of the present invention perform data transmission through a reliable transmission protocol, and the control module embedded in the transmitting end performs transmission management on the data transmission, and implements a congestion control strategy to improve transmission performance.
  • the method for identifying a packet loss type in data transmission of a reliable transmission protocol includes:
  • step 1 the base round trip delay base-RTT and the base packet loss distance base-Dist are initialized.
  • the RTT indicates the delay experienced in total from the time the data is transmitted by the transmitting end to the acknowledgement data packet (ACK) received from the receiving end.
  • the base-trip delay base-RTT represents the minimum RTT that can be achieved during TCP data transmission.
  • a basa-RTT is set for each reliable connection protocol data connection or reliable transport protocol data stream.
  • the initial value is the RTT size between the sender and the receiver during the connection establishment process.
  • the base-RTT is the RTT size for a three-way handshake.
  • the base-RTT dynamically changes according to the RTT change of the data packet in the data stream, and the base-RTT takes the minimum value of the RTT of the current stream during the data transmission process.
  • base-RTT (i+1) MIN(base-RTT (i) ,RTT (i+1) ) (1)
  • base-RTT (i+1) is the reference round-trip delay of the i+1th data stream
  • base-RTT (i) is the reference round-trip delay of the i-th data stream
  • RTT (i+1) is the i+th Round trip delay for all packets in one data stream.
  • the base packet loss distance base-Dist For the base packet loss distance base-Dist, first look at the packet distance: all the packets in the transmission process are naturally arranged in the order of transmission, and the number of packets between the two packets plus one is two packets. distance. For example, the packet distance between the second data packet and the fifth data packet is 3. The packet loss distance is the number of packets between two adjacent packets, plus one.
  • the reference packet loss distance base-Dist may be 2 or 3 or 4 or 5 or 6 or 7 or 8 or 9 or 10.
  • step 2 the packet loss delay loss-RTT of the packet loss occurring in the data transmission and the packet loss distance loss-Dist of the previous packet loss are obtained.
  • the transmission parameter of the current data packet in the transmission process can be obtained, and the information of the normally transmitted data packet can be obtained from the transmission parameter, thereby obtaining the packet loss information.
  • the round trip delay can be known.
  • the transmitting end may send the transmission parameter to the control module, and the control module extracts a packet loss delay loss-RTT and a packet loss distance loss-Dist from the transmission parameter for subsequent calculation.
  • the packet loss delay-RTT of the data packet P i is defined as RTT(P i+1 ), that is, the round-trip delay of the packet P i+1 .
  • the value is used as the packet loss delay-RTT of the packet P i .
  • the packet loss delay loss-RTT of the data packet P i+1 is defined as RTT(P i ), that is, the value of the round-trip delay of the packet P i .
  • the packet loss delay-RTT is the packet loss P i+1 .
  • the present invention can use the rule of case 2 or the rule of case 3 to take the value of the packet loss delay-RTT.
  • the packet loss distance loss-Dist of the previous packet loss can be calculated.
  • Step 3 The control module determines the type of the packet loss according to a decision formula, and the decision formula includes:
  • the packet loss is a congestion packet
  • the packet loss is a random packet loss
  • K is preferably 3.
  • the inventor analyzed the packet-level data stream data of a cloud storage service provider.
  • the RTT size during the data transmission process of the reliable transmission protocol in Ethernet is not more than 100ms.
  • Figure 5 shows the distribution of data flow throughput.
  • the figure depicts the performance of each data stream throughput rate.
  • the data stream can be divided into A line (drop packet) and B line (no packet loss).
  • a data stream with a throughput rate greater than 100 KB/s is approximately 50% in the packet loss data stream and approximately 70% in the data stream without packet loss.
  • the non-drop packet data stream about 10% of the data stream can reach 1MB/s, and the data stream exceeding 1MB/s in the packet loss stream has a ratio of 0, from the result. It can be concluded that packet loss in the link can significantly reduce the transmission performance of the data stream. This is because the congestion control policy in the link adjusts the congestion window or the actual processing capability of the link according to the packet loss.
  • the ratio of loss-RTT/base-RTT of about 90% or more is 2 or more, and about 80% of the loss-RTT/base-RTT is lost.
  • the ratio is 3 or above, and the ratio of loss-RTT/base-RTT is about 5%. Since the number of random packet loss is small, the data in FIG. 6 can be regarded as being generated by congestion packet loss. As can be seen from Figure 6, network congestion not only generates a large amount of packet loss but also increases the time that the data packet is in the buffer of the intermediate device, thereby causing a round trip time that is several times longer than the reference round trip delay.
  • the multiple of the packet loss RTT relative to the reference RTT can be used to estimate an important characteristic of a reliable transport protocol packet loss.
  • the abscissa axis in Fig. 7 represents the proportion of total packet loss in the stream, and the vertical axis represents the proportion of the stream that satisfies the abscissa axis ratio in all data streams.
  • base-Dist For the specific value of base-Dist, it must first be greater than 1. If it is equal to 1, it must correspond to continuous packet loss, so there is no significant difference. Thus integer values starting from 2 are OK. If the setting is too small, it is easy for some of the congestion packets to be identified as random packet loss. If the setting is too large, some packets in the random packet loss will be identified as congestion packets.
  • the proportion of aggregated packet loss is the same as the ratio of distribution within a small range of more than 3.
  • base-Dist can also be an integer less than or equal to 10.
  • the above situation can be classified as random packet loss. If the network requirements are more conservative, the above situation can be classified as congestion packet loss. According to needs.
  • the present invention can accurately identify the packet loss type of the lost packet, and determine whether it belongs to a congestion packet or a random packet loss. Based on the packet loss type data, the basis for optimizing the TCP congestion control strategy can be provided.
  • the control module can clear the congestion situation in the network based on the TCP congestion control policy, thereby improving the efficiency of network transmission.
  • the single-ended optimization of the reliable transmission protocol can only be implemented by adjusting the congestion control policy.
  • the method for identifying the packet loss type of the present invention can provide accurate reference information for the congestion control policy, which is convenient for congestion. Determination of control strategy. Therefore, the method for identifying the packet loss type of the present invention can also be applied to the single-ended optimization of the TCP protocol, which facilitates the optimization and performance improvement of the reliable transmission protocol.
  • the invention can accurately identify the packet loss type of the lost packet, and determine whether it belongs to a congestion packet or a random packet loss.
  • the packet loss type data can provide a basis for optimizing the TCP congestion control strategy.
  • the control module can clear the congestion situation in the network based on the TCP congestion control policy, thereby improving the efficiency of network transmission.
  • the single-ended optimization of the reliable transmission protocol can only be implemented by adjusting the congestion control policy.
  • the method for identifying the packet loss type of the present invention can provide accurate reference information for the congestion control policy, and facilitate the determination of the congestion control strategy. Therefore, the method for identifying the packet loss type of the present invention can also be applied to the single-ended optimization of the TCP protocol, which facilitates the optimization and performance improvement of the reliable transmission protocol.

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种识别可靠传输协议的数据传输中的丢包类型的方法及系统,该方法包括:步骤1,对基准往返时延base-RTT及基准丢包距离base-Dist进行初始化;步骤2,获取在数据传输中发生的丢包的丢包时延loss-RTT及该丢包相距前一次丢包的丢包距离loss-Dist;步骤3,根据决策公式判断该丢包的类型,该决策公式包括:当loss-RTT>=K*base-RTT且loss-Dist<=base-Dist,丢包为拥塞丢包;当loss-RTT<K*base-RTT且loss-Dist>base-Dist,丢包为随机丢包;2<=K<=5。本发明可准确的识别出丢包的丢包类型,为TCP拥塞控制策略的优化提供依据。本发明还可应用到TCP协议的单端优化中去,便于可靠传输协议的优化及性能提升。

Description

识别可靠传输协议的数据传输中的丢包类型的方法及系统 技术领域
本发明涉及计算机网络领域,特别是涉及一种区分可靠传输协议中网络数据包丢包类型的方法及系统。
背景技术
常见的可靠传输协议包括TCP、UDT等。TCP(Transmission Control Protocol传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。UDT是UDP的数据传输协议(UDP-based Data Transfer Protocol,简称UDT)是一种基于UDP基础上实现的应用层上的数据可靠传输协议,由于它们的可靠性及面向连接等特性,因此在网络中应用非常广泛。HTTP、FTP、SMTP及TelNet等都是使用TCP协议,在高时延带宽积的网络环境中UDT的应用也非常广泛。可靠传输协议的可靠性主要是通过数据包序号、确认和重传机制实现的,而协议的流量控制主要通过窗口机制和拥塞控制策略共同完成的。
可靠传输协议数据流在网络传输过程中由于链路中间设备处理能力限制或者链路本身的问题会产生丢包现象,通常将链路中由于中间设备处理能力的限制或拥塞控制导致的丢包称之为拥塞丢包,而将由于链路故障、数据包校验错误等一些非拥塞控策略产生的丢包现象称之为随机丢包。
对于一个丢包,现阶段没有有效的手段来区分该丢包是拥塞丢包还是随机丢包,而常用的拥塞控制方法(TCP中的Reno、Cubic等)都将丢包作为网络拥塞标识。所以,如果对于一个丢包不考虑其丢包特性而直接进入拥塞控制处理,会导致链路的利用率及稳定性下降严重,特别是在随机丢包率较高的链路环境中,不区分丢包类型,会严重减低链路利用率从而影响网络性能(Quality of Service)。
针对这种情况,我们提出了一种通过机制来识别丢包类型,通过分析数据传输过程中的一些信息数据来识别基于可靠传输协议的数据传输中丢包的类型。在此基础上可以设计新的拥塞控制策略,从而更容易和有效地优化可靠传输协议的传输性能。
发明公开
本发明解决的技术问题在于,识别基于可靠传输协议的数据传输中丢包的类型。
更进一步的,可以为提升可靠传输协议(TCP、UDT等)的性能提供精确的参考信息。
为了解决上述问题,本发明公开了一种识别可靠传输协议的数据传输中的丢包类型的方法,该方法包括:
步骤1,对基准往返时延base-RTT以及基准丢包距离base-Dist进行初始化;
步骤2,获取在数据传输中发生的丢包的丢包时延loss-RTT以及该丢包相距前一次丢包的丢包距离loss-Dist;
步骤3,根据一决策公式判断该丢包的类型,该决策公式包括:
当loss-RTT>=K*base-RTT并且loss-Dist<=base-Dist,该丢包为拥塞丢包;
当loss-RTT<K*base-RTT并且loss-Dist>base-Dist,该丢包为随机丢包;
其中,2<=K<=5。
在该步骤1中,
base-RTT(i+1)=MIN(base-RTT(i),RTT(i+1))
base-RTT(i+1)为第i+1个数据流的基准往返时延,base-RTT(i)为第i个数据流的基准往返时延,RTT(i+1)为第i+1个数据流的中所有数据包的往返时延。
该基准丢包距离base-Dist为2或3或4或5或6或7或8或9或10。
该步骤2中,对于数据传输中连续发送的两个数据包,如果第Pi个数据包未能收到确认数据包ACK,第Pi+1个数据包能够收到确认数据包ACK,则第Pi个数据包视为丢包,其丢包时延loss-RTT为第Pi+1个数据包的往返时延;
或者,如果第Pi+1个数据包未能收到确认数据包ACK,第Pi个数据包能够收到确认数据包ACK,则第Pi+1个数据包视为丢包,其丢包时延loss-RTT为第Pi个数据包的往返时延。
该丢包距离为两个相邻丢包之间数据包的数目加一。K=3。
本发明还公开了一种识别可靠传输协议的数据传输中的丢包类型的系统, 该系统包括:
初始化模块,用于对基准往返时延base-RTT以及基准丢包距离base-Dist进行初始化;
参数获取模块,用于获取在数据传输中发生的丢包的丢包时延loss-RTT以及该丢包相距前一次丢包的丢包距离loss-Dist;
判断模块,用于根据一决策公式判断该丢包的类型,该决策公式包括:
当loss-RTT>=K*base-RTT并且loss-Dist<=base-Dist,该丢包为拥塞丢包;
当loss-RTT<K*base-RTT并且loss-Dist>base-Dist,该丢包为随机丢包;
其中,2<=K<=5。
在该初始化模块中,
base-RTT(i+1)=MIN(base-RTT(i),RTT(i+1))
base-RTT(i+1)为第i+1个数据流的基准往返时延,base-RTT(i)为第i个数据流的基准往返时延,RTT(i+1)为第i+1个数据流的中所有数据包的往返时延。
该基准丢包距离base-Dist为2或3或4或5或6或7或8或9或10。
该参数获取模块对于数据传输中连续发送的两个数据包如果第Pi个数据包未能收到确认数据包ACK,第Pi+1个数据包能够收到确认数据包ACK,则将第Pi个数据包视为丢包其丢包时延loss-RTT为第Pi+1个数据包的往返时延
或者,如果第Pi+1个数据包未能收到确认数据包ACK,第Pi个数据包能够收到确认数据包ACK,则将第Pi+1个数据包视为丢包,其丢包时延loss-RTT为第Pi个数据包的往返时延。
该丢包距离为两个相邻丢包之间数据包的数目加一。K=3。
本发明可以准确的识别出丢包的丢包类型,判断出其属于拥塞丢包还是随机丢包。该丢包类型数据可为TCP拥塞控制策略的优化提供依据。而控制模块基于该TCP拥塞控制策略可对网络中的拥塞情况进行疏通,提高网络传输的效率。另外,可靠传输协议的单端优化只能通过调整拥塞控制策略来实现,本发明的识别丢包类型的方法可以为拥塞控制策略提供精确的参考信息,便于拥塞控制策略的确定。因此,本发明的识别丢包类型的方法还可应用到TCP协议的 单端优化中去,便于可靠传输协议的优化及性能提升。
附图简要说明
图1所示为本发明的网络结构示意图。
图2所示为本发明的一种识别可靠传输协议的数据传输中的丢包类型的方法的流程示意图。
图3所示为基准RTT分布情况示意图。
图4所示为数据流丢包率分布情况示意图。
图5所示为数据流吞吐率分布情况示意图。
图6所示为丢包时往返时延分布情况示意图。
图7所示为聚集丢包所占比率的曲线图。
图8所示为连续丢包的分布情况示意图。
实现本发明的最佳方式
以下结合具体实施例详细描述本发明的实现过程。
本发明利用可靠传输协议的数据传输过程中的丢包时延、丢包距离,来实时区分可靠传输协议数据流中出现的丢包为拥塞丢包或随机丢包。
如图1所示为本发明的网络结构示意图。如图2所示为本发明的一种识别可靠传输协议的数据传输中的丢包类型的方法的流程示意图。
本发明的发送端和接收端之间通过可靠传输协议进行数据传输,由发送端内嵌的控制模块对数据传输进行传输管理,通过执行拥塞控制策略,提升传输性能。
该识别可靠传输协议的数据传输中的丢包类型的方法包括:
步骤1,对基准往返时延base-RTT以及基准丢包距离base-Dist进行初始化。
具体来说,RTT表示从发送端发送数据开始,到发送端收到来自接收端的确认数据包(ACK),总共经历的时延。
基准往返时延base-RTT表示TCP数据传输过程中能够达到的最小RTT。对于每一个可靠传输协议的数据连接或可靠传输协议数据流,都设定一个basa-RTT。
而对于每个base-RTT的取值,其初始值为发送端和接收端之间,在建立连接过程中的RTT大小。对于基于TCP的连接过程,该base-RTT为三次握手时的RTT大小。
而在数据传输过程中,base-RTT是根据数据流中数据包的RTT变化情况而动态变化的,base-RTT在数据传输过程中取当前流的RTT的最小值。
在一具体实施例中:
base-RTT(i+1)=MIN(base-RTT(i),RTT(i+1))       (1)
base-RTT(i+1)为第i+1个数据流的基准往返时延,base-RTT(i)为第i个数据流的基准往返时延,RTT(i+1)为第i+1个数据流的中所有数据包的往返时延。
对于基准丢包距离base-Dist,首先来看数据包距离:将所有的传输过程中的数据包按照发送顺序自然排列,位于两个数据包之间的数据包的数目加一即为两数据包距离。例如第2数据包和第5数据包之间的数据包距离为3。而丢包距离是位于两个相邻丢包之间的数据包的数目加一。该基准丢包距离base-Dist的取值可为2或3或4或5或6或7或8或9或10。
步骤2,获取在数据传输中发生的丢包的丢包时延loss-RTT以及该丢包相距前一次丢包的丢包距离loss-Dist。
发送端基于可靠传输协议进行数据传输的过程中,可以获得当前数据包在传输过程中的传输参数,则从该传输参数中可以获得正常发送的数据包的信息,进而获得丢包信息。对于正常发送的数据包,可以获知其往返时延。
发送端可将该传输参数发送至该控制模块,由该控制模块从该传输参数中提取丢包时延loss-RTT以及丢包距离loss-Dist进行后续计算。
具体来说,一条可靠传输协议的数据流中的任意一对连续的两个数据包Pi、Pi+1,存在以下四种可能情况:
1、两数据包都成功接收并且返回相应的ACK。
2、Pi丢失,Pi+1成功接收并返回相应的ACK。
3、Pi+1丢失,Pi成功接收并返回相应的ACK。
4、Pi丢失并且Pi+1丢失,此种情况为连续丢包现象。
对于情况1,不存在丢包,不需要区分丢包类型。
对于情况2,数据包Pi丢包,此时,定义数据包Pi的丢包时延loss-RTT为 RTT(Pi+1),也就是以数据包Pi+1的往返时延的值作为丢包Pi的丢包时延loss-RTT。
对于情况3,数据包Pi+1丢包,此时,定义数据包Pi+1的丢包时延loss-RTT为RTT(Pi),也就是数据包Pi的往返时延的值作为丢包Pi+1的丢包时延loss-RTT。
对于情况4,后续再进行分析。
本发明可以利用情况2的规则或者情况3的规则对丢包时延loss-RTT进行取值。
由于基于可靠传输协议可以获知哪些数据包发生了丢包,故而可以计算得到每个丢包距离前一次丢包的丢包距离loss-Dist。
步骤3,该控制模块根据一决策公式判断该丢包的类型,该决策公式包括:
当loss-RTT>=K*base-RTT并且loss-Dist<=base-Dist,该丢包为拥塞丢包;
当loss-RTT<K*base-RTT并且loss-Dist>base-Dist,该丢包为随机丢包;
其中,2<=K<=5。并且,K优选为3。
其中,如果loss-Dist<=base-Dist,定义当前丢包为聚集丢包(Agg-Loss);如果loss-Dist>base-Dist定义当前丢包为零散丢包(Odd-Loss)。
以下对上述步骤3中的公式设置进行解释。
发明人分析了某云存储服务提供商的包级别数据流数据,通过对所有TCP流的计算,其基准RTT的分布情况如图3所示,从该图可以得出,大部分数据流(>=70%)的数据流的基准往返时延都介于10ms和50ms之间,而只有约10%的数据流的基准往返时延大于100ms。说明以太网中可靠传输协议的数据传输过程中的RTT大小不大于100ms。
另一方面,对所有的TCP数据流的丢包情况进行分析时,如图4所示,约50%的数据流在传输过程中不存在丢包现象,而约15%的数据流,其数据传输过程中丢包率(loss rate)小于2.5%,数据传输过程中丢包率大于10%的数据流约占10%。由于不同的数据流经过不用的传输路径,或是网络中间设备的拥塞丢包有倾向性,故而产生了链路中不同的丢包率,从而造成了不同流的传输性 能的差异。
图5所示为数据流吞吐率分布情况示意图。图中描述了每条数据流吞吐率的性能。按照是否存在丢包可以将数据流分为A线(丢包)和B线(无丢包),在图中,总体来说所有的数据包中超过90%的数据流吞吐率大于30KB/s。吞吐率大于100KB/s的数据流在由丢包数据流中的比例约为50%,而在无丢包的数据流中的比例约为70%。另一方面在无丢包数据流中,约有10%的数据流的吞吐率可以达到1MB/s,而在丢包流中超过1MB/s的数据流的所占比例为0,从该结果中可以得出,链路中的丢包会显著降低数据流的传输性能。这是因为链路中的拥塞控制策略根据丢包进行调整拥塞窗口或者链路实际处理能力导致性能下降。
进一步对某云存储服务提供商的丢包进行分析,将丢失数据包时的丢包往返时延与基准往返时延的比值作为x轴,累积所占比率作为y轴,计算出所有数据的比率得到如图6所示,从该图中可以看到,约90%以上的丢包loss-RTT/base-RTT的比值在2及以上,约80%以上的丢包loss-RTT/base-RTT的比值在3及以上,约50%的丢包loss-RTT/base-RTT的比值在5。由于随机丢包的数量较小,则图6中的数据可均视为由拥塞丢包产生。从图6中可以看出,网络拥塞不仅产生了大量的丢包而且增加了数据包在中间设备缓冲区的时间,从而引起了较基准往返时延几倍的往返时。
由于网络拥塞易产生倍数增加的RTT,则丢包RTT相对基准RTT的倍数可以作来估计一个可靠传输协议数据包丢包的一个重要特性。
因此,上述K可选择为2<=K<=5。在此区间中,覆盖了50%以上的丢包,可以作为判别拥塞丢包的基础。
另外,通过对上述数据中的所有的TCP数据流丢包聚集情况进行考察,将loss-Dist分别设置为1、3、5,可以得到聚集丢包所占比率的曲线图,如图7所示,可以看到,在该图中,loss-Dist=3和loss-Dist=5所得的比例曲线重合。
图7中的横坐标轴表示流中聚集丢包所占总丢包的比例,竖坐标轴表示的是满足横坐标轴比例的流在所有的数据流所占有的比例。
从图中可知,当loss-Dist为1时,约50%的数据流(纵坐标0.5),其聚集丢包所占比率超过75%(横坐标0.75),而当loss-Dist为3和5时,聚集丢 包所占比率超过75%的流(横坐标0.75)的比例为70%,因此对于拥塞丢包来说,由于链路处理能力故障更容易发生聚集丢包。所以结合丢包时的RTT变化和丢包特性很容易的区分随机丢包和拥塞丢包。
对于base-Dist的具体取值,首先其必须大于1,如果等于1,必然对应连续丢包,则没有太大的区分意义。因而从2开始的整数值都可以。如果设置的过小,容易使得部分拥塞丢包被识别为随机丢包,而如果设置的过大,会使得随机丢包中的部分丢包被识别为拥塞丢包。
当base-Dist设置为3时,聚集丢包所占比例和大于3的一个小范围内分布比例是相同的。例如图7中,loss-Dist=3和loss-Dist=5所得的比例曲线重合。因而,取值为3或5,可以对应识别出大部分的拥塞丢包,可作为优选。
base-Dist也可以为小于等于10的整数。
另外,控制模块还可根据网络需求,对loss-RTT>=K*base-RTT并且loss-Dist>base-Dist,或者loss-RTT<K*base-RTT并且loss-Dist<=base-Dist时的丢包类型进行确定。这种情况实际上是非常少的,因为拥塞丢包两个条件一般是同时改变的。
如果网络需求更加激进,可以将上述情况归类为随机丢包,如果网络需求更加保守,可以将上述情况归类为拥塞丢包。根据需要而定。
对于情况4的连续丢包通过对上述数据中大量的TCP数据流包数据分析,得到如图8所示,约56%的数据包都属于连续丢包(连续丢包长度大于等于2),约有20%的连续丢包长度为4及以上。而当连续丢包长度较大时,发送方很长时间不能收到ACK(或SACK),从而导致数据包的超时计时器超,此时将通过超时重传,恢复所述连续丢失的数据包。由于丢失的数据包得到了恢复,因而不存在丢包,也无需进行丢包类型的判断。可见,情况4与情况1相同,均无需进行丢包类型的判断。
通过上述方法,本发明可以准确的识别出丢包的丢包类型,判断出其属于拥塞丢包还是随机丢包。基于该丢包类型数据可对TCP拥塞控制策略的优化提供依据。而控制模块基于该TCP拥塞控制策略可对网络中的拥塞情况进行疏通,提高网络传输的效率。
另外,可靠传输协议的单端优化只能通过调整拥塞控制策略来实现,本发明的识别丢包类型的方法可以为拥塞控制策略提供精确的参考信息,便于拥塞 控制策略的确定。因此,本发明的识别丢包类型的方法还可应用到TCP协议的单端优化中去,便于可靠传输协议的优化及性能提升。
以上所述仅为本发明的较佳具体实例,并非用于局限本发明的专利保护范围,故举凡运用本发明内容所做的等效变化,均同理皆包含于本发明的范围内。
工业应用性
本发明可以准确的识别出丢包的丢包类型,判断出其属于拥塞丢包还是随机丢包。该丢包类型数据可为TCP拥塞控制策略的优化提供依据。而控制模块基于该TCP拥塞控制策略可对网络中的拥塞情况进行疏通,提高网络传输的效率。另外,可靠传输协议的单端优化只能通过调整拥塞控制策略来实现,本发明的识别丢包类型的方法可以为拥塞控制策略提供精确的参考信息,便于拥塞控制策略的确定。因此,本发明的识别丢包类型的方法还可应用到TCP协议的单端优化中去,便于可靠传输协议的优化及性能提升。

Claims (12)

  1. 一种识别可靠传输协议的数据传输中的丢包类型的方法,其特征在于,该方法包括:
    步骤1,对基准往返时延base-RTT以及基准丢包距离base-Dist进行初始化;
    步骤2,获取在数据传输中发生的丢包的丢包时延loss-RTT以及该丢包相距前一次丢包的丢包距离loss-Dist;
    步骤3,根据一决策公式判断该丢包的类型,该决策公式包括:
    当loss-RTT>=K*base-RTT并且loss-Dist<=base-Dist,该丢包为拥塞丢包;
    当loss-RTT<K*base-RTT并且loss-Dist>base-Dist,该丢包为随机丢包;
    其中,2<=K<=5。
  2. 如权利要求1所述的方法,其特征在于,在该步骤1中,
    base-RTT(i+1)=MIN(base-RTT(i),RTT(i+1))
    base-RTT(i+1)为第i+1个数据流的基准往返时延,base-RTT(i)为第i个数据流的基准往返时延,RTT(i+1)为第i+1个数据流的中所有数据包的往返时延。
  3. 如权利要求1所述的方法,其特征在于,该基准丢包距离base-Dist为2或3或4或5或6或7或8或9或10。
  4. 如权利要求1所述的方法,其特征在于,该步骤2中,对于数据传输中连续发送的两个数据包,如果第Pi个数据包未能收到确认数据包ACK,第Pi+1个数据包能够收到确认数据包ACK,则第Pi个数据包视为丢包,其丢包时延loss-RTT为第Pi+1个数据包的往返时延;
    或者,如果第Pi+1个数据包未能收到确认数据包ACK,第Pi个数据包能够收到确认数据包ACK,则第Pi+1个数据包视为丢包,其丢包时延loss-RTT为第Pi个数据包的往返时延。
  5. 如权利要求1所述的方法,其特征在于,该丢包距离为两个相邻丢包之间数据包的数目加一。
  6. 如权利要求1所述的方法,其特征在于,K=3。
  7. 一种识别可靠传输协议的数据传输中的丢包类型的系统,其特征在于, 该系统包括:
    初始化模块,用于对基准往返时延base-RTT以及基准丢包距离base-Dist进行初始化;
    参数获取模块,用于获取在数据传输中发生的丢包的丢包时延loss-RTT以及该丢包相距前一次丢包的丢包距离loss-Dist;
    判断模块,用于根据一决策公式判断该丢包的类型,该决策公式包括:
    当loss-RTT>=K*base-RTT并且loss-Dist<=base-Dist,该丢包为拥塞丢包;
    当loss-RTT<K*base-RTT并且loss-Dist>base-Dist,该丢包为随机丢包;
    其中,2<=K<=5。
  8. 如权利要求7所述的系统,其特征在于,在该初始化模块中,
    base-RTT(i+1)=MIN(base-RTT(i),RTT(i+1))
    base-RTT(i+1)为第i+1个数据流的基准往返对延,base-RTT(i)为第i个数据流的基准往返时延,RTT(i+1)为第i+1个数据流的中所有数据包的往返时延。
  9. 如权利要求7所述的系统,其特征在于,该基准丢包距离base-Dist为2或3或4或5或6或7或8或9或10。
  10. 如权利要求7所述的系统,其特征在于,该参数获取模块对于数据传输中连续发送的两个数据包,如果第Pi个数据包未能收到确认数据包ACK,第Pi+1个数据包能够收到确认数据包ACK,则将第Pi个数据包视为丢包,其丢包时延loss-RTT为第Pi+1个数据包的往返时延;
    或者,如果第Pi+1个数据包未能收到确认数据包ACK,第Pi个数据包能够收到确认数据包ACK,则将第Pi+1个数据包视为丢包,其丢包时延loss-RTT为第Pi个数据包的往返时延。
  11. 如权利要求7所述的系统,其特征在于,该丢包距离为两个相邻丢包之间数据包的数目加一。
  12. 如权利要求7所述的系统,其特征在于,K=3。
PCT/CN2016/073652 2016-02-05 2016-02-05 识别可靠传输协议的数据传输中的丢包类型的方法及系统 WO2017132987A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/073652 WO2017132987A1 (zh) 2016-02-05 2016-02-05 识别可靠传输协议的数据传输中的丢包类型的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/073652 WO2017132987A1 (zh) 2016-02-05 2016-02-05 识别可靠传输协议的数据传输中的丢包类型的方法及系统

Publications (1)

Publication Number Publication Date
WO2017132987A1 true WO2017132987A1 (zh) 2017-08-10

Family

ID=59499293

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/073652 WO2017132987A1 (zh) 2016-02-05 2016-02-05 识别可靠传输协议的数据传输中的丢包类型的方法及系统

Country Status (1)

Country Link
WO (1) WO2017132987A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112953847A (zh) * 2021-01-27 2021-06-11 北京字跳网络技术有限公司 网络的拥塞控制方法、装置、电子设备及存储介质
CN113595830A (zh) * 2021-07-30 2021-11-02 百果园技术(新加坡)有限公司 一种网络丢包状态的检测方法、装置、设备及存储介质
CN113766561A (zh) * 2021-05-31 2021-12-07 大连交通大学 基于跨层优化的无人集群网络拥塞控制方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1777126A (zh) * 2005-12-12 2006-05-24 史文勇 一种对时延、丢包进行综合测量及关联分析的系统和方法
US7821937B1 (en) * 2007-06-29 2010-10-26 Symantec Corporation Network protocol with damage loss resilient congestion control algorithm
CN103281255A (zh) * 2013-06-12 2013-09-04 北京航空航天大学 一种基于吞吐量变化率和ecn机制的tcp友好速率控制方法
CN105634875A (zh) * 2016-02-05 2016-06-01 中国科学院计算技术研究所 识别可靠传输协议的数据传输中的丢包类型的方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1777126A (zh) * 2005-12-12 2006-05-24 史文勇 一种对时延、丢包进行综合测量及关联分析的系统和方法
US7821937B1 (en) * 2007-06-29 2010-10-26 Symantec Corporation Network protocol with damage loss resilient congestion control algorithm
CN103281255A (zh) * 2013-06-12 2013-09-04 北京航空航天大学 一种基于吞吐量变化率和ecn机制的tcp友好速率控制方法
CN105634875A (zh) * 2016-02-05 2016-06-01 中国科学院计算技术研究所 识别可靠传输协议的数据传输中的丢包类型的方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FU, CHENGPENG ET AL.: "TCP Veno: TCP Enhancement for Transmission Over Wireless Access Networks", IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, vol. 21, no. 2, 28 February 2003 (2003-02-28), XP011065582 *
YE, JIN ET AL.: "The Research of Loss Differentiation Algorithm in Heterogeneous Networks", COMPUTER SCIENCE, 31 December 2006 (2006-12-31) *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112953847A (zh) * 2021-01-27 2021-06-11 北京字跳网络技术有限公司 网络的拥塞控制方法、装置、电子设备及存储介质
CN113766561A (zh) * 2021-05-31 2021-12-07 大连交通大学 基于跨层优化的无人集群网络拥塞控制方法
CN113766561B (zh) * 2021-05-31 2024-04-09 大连交通大学 基于跨层优化的无人集群网络拥塞控制方法
CN113595830A (zh) * 2021-07-30 2021-11-02 百果园技术(新加坡)有限公司 一种网络丢包状态的检测方法、装置、设备及存储介质
CN113595830B (zh) * 2021-07-30 2024-02-20 百果园技术(新加坡)有限公司 一种网络丢包状态的检测方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
EP3535932B1 (en) Application characterization using transport protocol analysis
TWI458296B (zh) 監測傳輸中封包以最佳化網路之封包流量的系統及方法
US7656800B2 (en) Transmission control protocol (TCP)
CN100534069C (zh) 非对称和多并发网络的加速方法
Wang et al. TCP congestion control algorithm for heterogeneous Internet
Kanagarathinam et al. D-TCP: Dynamic TCP congestion control algorithm for next generation mobile networks
CN110730469A (zh) 一种基于扩展卡尔曼无线网络带宽预测方法及其拥塞控制
WO2017132987A1 (zh) 识别可靠传输协议的数据传输中的丢包类型的方法及系统
JP4599554B2 (ja) 広帯域、高遅延無線ネットワークにおけるtcp輻輳制御方式
US8289857B2 (en) Method for determining a data transport unit parameter for the communication between two stations in a network of stations, network device adapted to act as a sending station and network device adapted to act as a receiving station in the method
US20120320779A1 (en) Provision of path characterisation information in networks
Nabeshima Performance evaluation of multcp in high-speed wide area networks
JP2003258881A (ja) アダプティブ品質制御方式
Kato et al. Comparing TCP Congestion Control Algorithms Based on Passively Collected Packet Traces
Han Performance improvement of TCP_Reno based on monitoring the wireless packet loss rate
Meng et al. Research on TCPW improvement in hybrid network
Talau et al. Early window tailoring: A new approach to increase the number of TCP connections served
Buchholcz et al. Explicit loss notification to improve TCP performance over wireless networks
KR20040027175A (ko) 전송제어프로토콜/인터넷프로토콜 네트워크에서 에지라우터의 트래픽 처리 방법 및 기록매체
Marcondes et al. Inline path characteristic estimation to improve TCP performance in high bandwidth-delay networks
Fu et al. BIPR: a new TCP variant over satellite networks
Talau et al. Research Article Early Window Tailoring: A New Approach to Increase the Number of TCP Connections Served
Hisch Performance evaluation of TCP flows
Tsiknas et al. Binary increase-adaptive decrease (BIAD): a variant for improving TCP performance in broadband wireless access networks
Han Performance research and improvement of TCP_SACK in wireless environment

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: 16888812

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16888812

Country of ref document: EP

Kind code of ref document: A1