CN107018086B - 一种数据中心网络中基于数据包优先级的传输控制方法 - Google Patents

一种数据中心网络中基于数据包优先级的传输控制方法 Download PDF

Info

Publication number
CN107018086B
CN107018086B CN201710272301.3A CN201710272301A CN107018086B CN 107018086 B CN107018086 B CN 107018086B CN 201710272301 A CN201710272301 A CN 201710272301A CN 107018086 B CN107018086 B CN 107018086B
Authority
CN
China
Prior art keywords
packet
data
control
ack
sender
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710272301.3A
Other languages
English (en)
Other versions
CN107018086A (zh
Inventor
王建新
阮昌
黄家玮
张韬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Central South University
Original Assignee
Central South University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Central South University filed Critical Central South University
Priority to CN201710272301.3A priority Critical patent/CN107018086B/zh
Publication of CN107018086A publication Critical patent/CN107018086A/zh
Application granted granted Critical
Publication of CN107018086B publication Critical patent/CN107018086B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2466Traffic characterised by specific attributes, e.g. priority or QoS using signalling traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority

Landscapes

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

Abstract

本发明公开了一种数据中心网络中基于数据包优先级的传输控制方法,发送方主动发送具有高优先级的控制包,并根据数据包和控制包的ACK接收顺序来调整窗口大小,控制网络拥塞。此外,通过保证至少有一个高优先级控制包处于链路中,发送方可快速地重传可能丢失的数据包,最终极大地消除了TCP超时现象。本发明不需任何硬件更新,并能够较好地解决数据中心网络TCP Incast、TCP Outcast和长的查询完成时间等问题,提高了链路的利用率,从而改善应用性能。

Description

一种数据中心网络中基于数据包优先级的传输控制方法
技术领域
本发明涉及一种数据中心网络(DCN,Data Center Network)中基于数据包优先级的传输控制方法。
背景技术
现在,大规模数据中心作为云计算的基础架构建立起来,以提供各种分布式应用服务,如Web搜索、社交和推荐系统。这些数据中心通常包含成千上万台服务器,并由数据中心网络(Data Center Networks,DCN)连接起来。由于这些服务器通常位于同一建筑物内,物理距离近,所以在DCN中往返延迟(Round Trip Time,RTT)低,约数十微妙;同时,为了节约成本,数据中心网络通常更偏好使用廉价的、浅缓存的交换机来组建。尽管DCN的这些特性与Internet不同,但是DCN中部署的应用服务仍然采用传统的TCP进行流控,结果TCP遭受了严重的性能问题,网络利用率下降。
TCP Incast问题出现在采用分聚模型架构的应用服务中。当多个服务器同时向一个接收端发送数据时,容易引起浅缓存交换机处大量地丢包,最终导致TCP超时,而TCP默认的超时重传时间为毫秒级别,比RTT大几个数量级。此时,网络的吞吐量因TCP超时会严重下降。TCP Outcast是另外一个TCP遭受的问题。当从交换机不同端口进来的流都同时要从相同端口出去时,有可能一个进端口的流一直抢占出端口,而另一个进端口的流因竞争不到该出端口而不断丢包,直到发生超时,即发生了所谓的“端口封锁”现象。在这种情况下,发生超时的流的吞吐量受到了严重影响。最后,采用TCP传输的查询流会遭受长的查询完成时间。查询流的大小为几十KB,正常情况下,可以在微秒时间内完成。如果TCP发生超时,查询流需要等待数百毫秒的时间,严重影响了查询流的性能。总之,TCP超时是TCP性能问题的原因。
针对数据中心网络中TCP暴露的问题,许多文献都提出了相应的处理办法。如著名的DCTCP协议,它的思想是利用交换机进行ECN标记,多个包携带ECN信息来反应网络的拥塞程度,发送方根据该拥塞程度信息来更好地调节发送速率来控制交换机队列占用量,以达到减小超时的目的。但是,ECN机制不是所有的廉价交换机都支持,而且随着并发数的增加,DCTCP仍然发生丢包甚至超时,导致DCTCP遭受TCP同样的问题。TIMELY通过精确地测量RTT来控制拥塞,但是实现RTT的精确测量需要特殊的硬件支持。
由于目前文献中提出的解决方案还存在上述缺点,因此,有必要设计一种新的拥塞控制防范,能够满足以下要求:(i)有效性。拥塞控制协议应在网络发生拥塞时缓解网络拥塞以避免丢包防止超时发生;同时,在发生丢包时,能迅速地恢复丢失的包以避免代价高昂地超时。(ii)部署性。协议需要在不修改交换机硬件的前提下能在数据中心中部署。
发明内容
本发明所解决的问题是,针对现有技术的不足,提供一种数据中心网络中基于数据包优先级的传输控制方法,通过插入高优先级的控制包来进行拥塞控制和迅速恢复以尽可能减少TCP超时,且有利于在数据中心中的部署。
本发明的技术方案为:
一种数据中心网络中基于数据包优先级的传输控制方法,发送方主动发送具有高优先级的控制包,并根据数据包和控制包的ACK接收顺序来调整窗口大小,控制网络拥塞。
所述方法具体包括以下步骤:
步骤一:初始化:发送方将control_pkt_num,no_data_in_flight和sent_pkt均置为0,交换机打开SP(严格优先级)调度策略,接收方开始监听是否收到控制包;其中控制包是只有包头部分而不携带数据负载的包,它具有高优先级,且其序号与当前发送方最近发送的一个数据包序号相同;如果收到了控制包,则生成相应的控制包ACK,且赋予高优先级,并将其序号设置为与最新的已接收到的数据包序号相同;如果收到的是数据包,则按默认流程处理;变量contrl_pkt_num用来记录已发送的但未被确认的控制包个数,以限制发送的控制包数量,no_data_in_fligh用来记录控制包ACK在相应窗口所有数据包的ACK之前接收的情况出现的次数,以决定是否重传一个数据包,sent_pkt用来记录已发送的数据包个数,以判断是否在数据包后面发送一个控制包;
将控制包赋予高优先级,当网络拥塞时,控制包虽然比相应窗口中的数据包后发,但是可以被交换机优先转发,所以它比数据包先到达接收方,即“后发先到”。控制包的ACK具有高优先级,是为了确保它在交换机处的转发不受数据包ACK的影响,即它同样要能够被交换机优先转发。控制包的序号与发送方最近发送的一个数据包序号相同以携带它相应窗口中的数据包信息,将控制包ACK的序号设置为与最新的已接收到的数据包序号相同,这样在发送方收到控制包ACK时,可以依据此信息来判断它是否比其对应的数据包ACK先被接收;
步骤二:发送方每次发送完一个数据包,sent_pkt自加1,并判断其值是否与当前窗口大小cwndi相等,如是,则发送一个控制包,然后sent_pkt置0,control_pkt_num自加1,转步骤三;否则,转步骤八;
步骤三:发送方判断当前是否已经收到了三个重复ACK或是已发生TCP超时,如是则按默认TCP进行快速恢复或超时重传,然后转步骤八;
否则,发送方看是否收到了控制包ACK,如果没有,则转步骤三;如果已收到,control_pkt_num自减1,转步骤四;
步骤四:发送方判断控制包ACK和数据包ACK的接收顺序和它们相应的包的发送顺序是否一致,如是则按默认TCP的增窗算法增窗,并置no_data_in_flight为0,然后转步骤八;否则,转步骤五;
步骤五:发送方判断控制包ACK是否在相应窗口内的所有数据包ACK之前收到,如是则转步骤六;否则,计算偏移比例p,以衡量控制包与相应窗口中数据包的发送顺序与两种包的ACK的接收顺序之间的偏离程度,并根据p计算网络拥塞程度α,再将窗口大小降为cwndi+1,如果no_data_in_flight不为0,则将其置0,转步骤八;
步骤六:发送方将no_data_in_flight加1,并判断其值是否大于等于阈值N,如是,则重传一个最老的未被确认的数据包,并置no_data_in_flight为0,然后转步骤七;否则直接转步骤七;其中,阈值N根据应用场景测得的经验值进行设置,在不同的场景下阈值N可以调节以达到性能上的优化;
步骤七:判断control_pkt_num是否为0,如是,则发送一个控制包,control_pkt_num自加1;否则,转步骤八;
步骤八:发送方根据TCP的默认机制来判断是否能发送新的数据包,即当要发送的数据包序号小于已确认数据包序号与当前窗口大小之和时可以发送新的数据包,如是,则转步骤二继续发送新的数据包;否则,转步骤九;
步骤九:发送方查看是否仍有应用数据需要发送,如果没有,则发送一个控制包,control_pkt_num自加1,然后判断是否所有已发包都得到确认,如是则结束发送过程,否则转步骤三;
如果发送方当前仍有应用数据需要发送,则转步骤三。
所述步骤一中,控制包是只有包头部分而不携带数据负载的包,它具有高优先级,且其序号与当前发送方最近发送的一个数据包序号相同。
所述步骤一中,接收方监听是否收到控制包的具体操作为:如果收到了控制包,则生成相应的控制包ACK,且赋予高优先级,并将其序号设置为与最新的已接收到的数据包序号相同;如果收到的是数据包,则按默认流程处理;
所述步骤五中,计算偏移比例p的公式为:
其中,Ns为当前窗口发送的数据包个数,Nr为在控制包ACK之前收到的数据包ACK个数;p的取值位于0~1之间,当p=0时表示控制包ACK在所有数据包ACK之后到达,此时偏离最小,p=1时表示其在所有数据包ACK之前到达,此时偏离最大。
所述步骤五中,更新网络拥塞程度α的公式为:
α=(1-g)×α+g×p
其中,g表示更新网络拥塞程度α时,p所占的权重,g是一个经验值,依据相关研究来决定,用于对α进行指数平滑平均,以过滤测量噪声的影响。本发明根据实验值设置g为0.0625。
所述步骤五中,cwndi+1的计算公式为:
所述步骤六中,阈值N设置为4。
有益效果:
本发明提供了一种数据中心网络中基于数据包优先级的传输控制方法(PTCP),具有以下两个特性:
(1)本发明通过在一窗口的数据包后插入一个高优先级的控制包,根据接收到的数据包的ACK和高优先级控制包的ACK的顺序,可判断网络是否拥塞,并计算拥塞程度以指导拥塞窗口的调节,进行拥塞控制,这样可以一定程度上控制瓶颈交换机的缓存占用大小,降低超时发生的概率;
(2)通过保持当前流至少有一个控制包始终在飞行(即处于链路中),以便在丢包发生时可迅速恢复丢失的包,同样也降低了超时发生的概率。因此,由于极大地减少了TCP超时的发生,所以较好地解决了TCP Incast、TCP Outcast和长的查询时间,使得数据中心应用更有效地使用网络带宽,并改善了这些应用的运行性能。
本发明通过上述两种特性减少了TCP超时的发生,从而较好地解决了TCP Incast、TCP Outcast和长查询时间的问题,提高了链路的利用率,从而改善应用性能;同时本发明不需任何硬件更新,有利于在数据中心中的部署。
附图说明
图1为本发明的流程图。
图2为TCP Incast场景示意图。
图3为没有背景流的情况下,不同协议在Incast场景下的对比测试;图3(a)为没有背景流时随着发送方数目增加的有效吞吐量;图3(b)为对应的超时数目。
图4为有背景流的情况下,不同协议在Incast场景下的对比测试;图4(a)为有背景流时随着发送发数目增加的有效吞吐量;图4(b)为对应的超时数目。
图5为TCP Outcast发生时的吞吐量模拟;图5(a)为1条2跳流和6条6跳流下的吞吐量;图5(b)为1条2跳流和12条6跳流下的吞吐量;图5(c)为两种情形下的公平性指数比较。
图6为查询流完成时间的比较。
图7为PTCP和DCTCP的拥塞控制机制的比较。
图8为PTCP和去掉迅速恢复机制的PTCP的比较。
图9为大规模场景下流完成时间的比较。
具体实施方式
下面结合附图对本发明作进一步的说明。
参见图1,图1为本发明在发送方对数据包进行处理的流程图。过程如下:
发送方将control_pkt_num,no_data_in_flight和sent_pkt均置为0,交换机打开SP(严格优先级)调度策略,接收方开始监听是否收到控制包。这里控制包是只有包头部分而不携带数据负载的包,它具有高优先级,且其序号与当前发送方最近发送的一个数据包序号相同。接收方监听是否收到控制包,如果收到了控制包,则为其生成ACK包,且赋予高优先级,并将其序号设置为与最新的已接收到的数据包序号相同;如果收到的是数据包,则按默认流程处理。
发送方开始发送数据包,每发送一个数据包会将sent_pkt增加1,并判断其值是否与当前窗口大小cwndi相等,如是,则发送一个高优先级的控制包,并置sent_pkt为0,control_pkt_num自加1,然后根据收到的包ACK的不同情况或超时分别进行操作;否则,发送方判断当前是否能够发送新的数据包以及查看当前应用数据是否为空,并进行相应操作。
如果发送方收到了三个重复ACK或是发现发生了TCP超时,则按TCP默认的算法进行快速恢复或超时重传,然后再判断当前是否能够发送新的数据包以及应用数据是否为空,并进行相应操作。
而如果发送方收到了控制包ACK,则根据控制包ACK和其相应窗口中的数据包ACK的接收顺序来决定操作。具体为,如果两种包ACK的接收顺序与它们的发送顺序一致,则按TCP默认的增窗算法增窗,并置no_data_in_flight为0,然后再判断当前是否能够发送新的数据包以及应用数据是否为空;否则,再根据控制包ACK是否是在相应窗口内的所有数据包ACK之前收到进行调窗或重传操作。
如果发送方发现控制包ACK是在相应窗口内的所有数据包ACK之前收到,则发送方将no_data_in_flight加1,并判断其值是否大于等于4以决定是否重传一个数据包;否则,发送方会计算一个偏移比例p,并根据p更新网络拥塞程度α,再将窗口大小降为cwndi+1,如果no_data_in_flight不为0,则将其置0,然后发送方根据这个新的窗口来判断当前是否能够发送新的数据包以及检查应用数据是否为空。这里偏离比例p的计算公式为:
其中,Ns为当前窗口cwndi的数据包个数,Nr为在控制包ACK之前收到的数据包ACK个数。
更新网络拥塞程度α的计算公式为:
α=(1-g)×α+g×p
其中,g设置为0.0625。
cwndi+1的计算公式为:
当no_data_in_flight值满足大于等于4时,发送方会重传一个最久的未被确认的数据包,并置no_data_in_flight为0,然后发送方判断control_pkt_num是否为0,如是,则发送一个控制包,control_pkt_num自加1;否则直接发送一个控制包;
发送方根据TCP的默认机制来判断是否能发送新的数据包,即当要发送的数据包序号小于已确认数据包序号与当前窗口大小之和时可以发送新的数据包,如是,如是,则会发送一个数据包;否则,发送方需检查当前应用数据是否为空,如是,则发送一个控制包,将control_pkt_num自加1,然后判断是否所有已发包都得到确认,如是则结束发送过程,否则根据接收到的包的ACK或是否超时进行相应处理;如果当前应用数据并不为空,则发送方需要根据接收到的包的ACK或是否超时进行相应处理。
本发明利用NS2.35网络仿真平台来实现,并进行了性能测试。
图2为TCP Incast场景图。在该场景中,每个发送方都存有数据块。传输时,多个发送方同时向个接收端发送数据,当接收方接收到所有服务器发回的数据后,接收端才会请求后续的数据块。
图3为没有背景流时的Incast实验,实验拓扑如图2所示。交换机缓存设置为64KB,RTT设置为116微秒,每个数据块大小设置为128KB,RTOmin设置为200ms,链路带宽为1Gbps。
在图3(a)中,实验给出了3个不同协议下随发送方数增加的有效吞吐量变化情况。对于TCP Newreno,当发送方服务器数量超过5时,有效吞吐量就出现了崩溃。对于DCTCP,由于其在交换机处进行ECN标记并利用这些标记信息来进行拥塞控制,所以DCTCP能控制交换机的缓存占用,推迟了Incast发生时间。在图中,当发送方数量超过30时,吞吐量开始崩溃。PTCP通过在数据包后插入高优先级控制包,根据这两种包的ACK接收顺序来推断网络拥塞状况,以指导调窗从而进行拥塞控制。在丢包发生时,PTCP通过飞行的控制包反馈的信息能迅速地重传丢失包。结果,PTCP在本场景中达到了非常好的性能。图3(b)是在此场景下,各个协议的超时数的比较。可以看到,PTCP没有任何超时发生。
图4(a)是有背景流的情况下,不同协议在Incast场景下的对比测试。在本场景中,使用2条TCP流来模拟数据中心内的背景流。其他环境参数的设置与图3相同。在图中,可以看到,TCP Newreno在发送方为10时发生了吞吐量崩溃,DCTCP在30个发送方时发生崩溃,而PTCP可以支持80个发送方同时发送数据。相比没有背景流的场景,三种协议的有效吞吐量有一定的下降。图4(b)是各个协议在此场景下的超时出现的个数,其中PTCP即使在有背景流时仍然保持超时数为0。
图5(a)和图5(b)模拟了TCP Outcast发生时的吞吐量。拓扑是4个pod的Fattree,每条链路的延迟为85微秒,链路带宽为1Gbps,交换机缓存设置为16。因为2跳流的RTT比6跳流的RTT短,根据TCP Newreno的吞吐量公式可以知道2跳流的吞吐量比6跳流的高。但是,在TCP Outcast发生时,2跳流的吞吐量会比6跳流的低。在图5(a)给出了1条2跳流和6条6跳流的吞吐量情况,可以看到TCP发生了吞吐量反转,即此时网络中发生了TCP Outcast;而DCTCP和PTCP没有出现吞吐量反转。图5(b)给出的是1条2跳流和12条6跳流的吞吐量情况。同样地,DCTCP和PTCP均没有出现吞吐量反转。图5(c)给出了在这两种测试环境下的公平性指数的比较,可以看到PTCP相比TCP和DCTCP的公平性指数最好。
图6对查询流的完成时间进行了测试,测试场景如图2所示,网络参数与图3是相同的,但是对于查询流,所有数据块的总和为定值1MB。因此,随着发送方数目的增多,每个发送方需传输的数据块会减小。从图6可以看到,TCP和DCTCP分别在10和30个发送方时开始超时,因而查询流完成时间变得很长,而PTCP由于消除了超时,在不同的发送方数目下,查询流的完成时间为约10ms的时间。
图7比较了PTCP和DCTCP对拥塞的控制。测试场景如图2所示,一共有20个发送方。对于DCTCP,它采用ECN来进行拥塞信息反馈,而PTCP根据数据包和高优先级控制包的ACK来进行拥塞控制,在本场景下DCTCP的队列被限制在它的门限附近,而PTCP可以达到更低的队列,但是PTCP的队列长度波动比DCTCP大。
图8比较了PTCP和去掉迅速恢复机制的PTCP的有效吞吐量。PTCP在发生丢包时会根据处于无数据飞行阶段的次数来迅速地重传可能丢失的包,这可能造成包的重复传输,但是可以防止超时的发生。在图8中,当发送方数目增加时,去掉了迅速恢复机制的PTCP在35个发送方时发生了吞吐量崩溃,说明了对于PTCP迅速恢复机制是必要的。
图9测试了大规模场景下的流完成时间。实验拓扑是单根树拓扑,一个根交换机,5个架顶交换机,每个架顶交换机下连接40台主机。根交换机的链路带宽为10Gbps,发送方的链路带宽为1Gbps,每条链路延迟为25微秒,交换机的缓存为250KB。流量是根据真实数据中心流量生成的:每条流的大小服从厚尾分布,流的到达时间服从泊松分布,负载为0.2。每台主机按此生成流量发送到同一个接收端。图9给出了流的平均完成时间、95分位数完成时间和99分位数完成时间。可以看到相比TCP和DCTCP,PTCP改进了拖尾流的完成时间。

Claims (5)

1.一种数据中心网络中基于数据包优先级的传输控制方法,其特征在于,发送方主动发送具有高优先级的控制包,并根据数据包和控制包的ACK接收顺序来调整窗口大小,控制网络拥塞;具体包括以下步骤:
步骤一:初始化:发送方将control_pkt_num,no_data_in_flight和sent_pkt均置为0,交换机打开SP调度策略,接收方开始监听是否收到控制包;其中控制包是只有包头部分而不携带数据负载的包,它具有高优先级,且其序号与当前发送方最近发送的一个数据包序号相同;如果收到了控制包,则生成相应的控制包ACK,且赋予高优先级,并将其序号设置为与最新的已接收到的数据包序号相同;如果收到的是数据包,则按默认流程处理;变量contrl_pkt_num用来记录已发送的但未被确认的控制包个数,以限制发送的控制包数量,no_data_in_fligh用来记录控制包ACK在相应窗口所有数据包的ACK之前接收的情况出现的次数,以决定是否重传一个数据包,sent_pkt用来记录已发送的数据包个数,以判断是否在数据包后面发送一个控制包;
步骤二:发送方每次发送完一个数据包,sent_pkt自加1,并判断其值是否与当前窗口大小cwndi相等,如是,则发送一个控制包,然后sent_pkt置0,control_pkt_num自加1,转步骤三;否则,转步骤八;
步骤三:发送方判断当前是否已经收到了三个重复的ACK或是已发生TCP超时,如是则按TCP默认的设置进行快速恢复或超时重传,然后转步骤八;
否则,发送方判断是否收到了控制包ACK,如果没有,则重复步骤三;如果已收到,则control_pkt_num自减1,转步骤四;
步骤四:发送方判断控制包ACK和数据包ACK的接收顺序和它们相应的包的发送顺序是否一致,如是则按TCP默认的增窗算法进行增窗,并置no_data_in_flight为0,然后转步骤八;否则,转步骤五;
步骤五:发送方判断控制包ACK是否在相应窗口内的所有数据包ACK之前收到,如是则转步骤六;否则,计算偏移比例p,以衡量控制包与相应窗口中数据包的发送顺序与两种包的ACK的接收顺序之间的偏离程度,并根据p更新网络拥塞程度α,再将窗口大小降为cwndi+1,如果no_data_in_flight不为0,则将其置0,转步骤八;
步骤六:发送方将no_data_in_flight加1,并判断其值是否大于等于阈值N,如是,则重传一个最久的未被确认的数据包,并置no_data_in_flight为0,然后转步骤七;否则直接转步骤七;其中,阈值N根据应用场景测得的经验值进行设置;
步骤七:判断control_pkt_num是否为0,如是,则发送一个控制包,control_pkt_num自加1;否则,转步骤八;
步骤八:发送方根据TCP的默认机制来判断是否能发送新的数据包,如是,则转步骤二继续发送新的数据包;否则,转步骤九;
步骤九:发送方查看是否仍有数据包需要发送,如果没有,则发送一个控制包,control_pkt_num自加1,然后判断是否所有已发数据包都收到了相应的ACK,如是则结束发送过程,否则转步骤三;
如果当前仍有数据包需要发送,则转步骤三。
2.根据权利要求1所述的数据中心网络中基于数据包优先级的传输控制方法,其特征在于,所述步骤五中,计算偏移比例p的公式为:
其中,Ns为当前窗口发送的数据包个数,Nr为在控制包ACK之前收到的数据包ACK个数。
3.根据权利要求1所述的数据中心网络中基于数据包优先级的传输控制方法,其特征在于,所述步骤五中,更新网络拥塞程度α的公式为:
α=(1-g)×α+g×p
其中,g表示更新网络拥塞程度α时,p所占的权重,g的取值根据经验值进行设置。
4.根据权利要求1所述的数据中心网络中基于数据包优先级的传输控制方法,其特征在于,所述步骤五中,计算cwndi+1的公式为:
5.根据权利要求1所述的数据中心网络中基于数据包优先级的传输控制方法,其特征在于,所述步骤六中,阈值N设置为4。
CN201710272301.3A 2017-04-24 2017-04-24 一种数据中心网络中基于数据包优先级的传输控制方法 Active CN107018086B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710272301.3A CN107018086B (zh) 2017-04-24 2017-04-24 一种数据中心网络中基于数据包优先级的传输控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710272301.3A CN107018086B (zh) 2017-04-24 2017-04-24 一种数据中心网络中基于数据包优先级的传输控制方法

Publications (2)

Publication Number Publication Date
CN107018086A CN107018086A (zh) 2017-08-04
CN107018086B true CN107018086B (zh) 2019-09-24

Family

ID=59448334

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710272301.3A Active CN107018086B (zh) 2017-04-24 2017-04-24 一种数据中心网络中基于数据包优先级的传输控制方法

Country Status (1)

Country Link
CN (1) CN107018086B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109412958B (zh) * 2017-08-18 2022-04-05 华为技术有限公司 数据中心的拥塞控制方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1420665A (zh) * 2001-11-19 2003-05-28 松下电器产业株式会社 分组发送装置和分组发送处理方法
CN101436992A (zh) * 2008-12-31 2009-05-20 华为技术有限公司 传递用户消息的方法、装置和系统
CN105376173A (zh) * 2014-09-02 2016-03-02 中兴通讯股份有限公司 一种发送窗口流量控制方法和终端

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1420665A (zh) * 2001-11-19 2003-05-28 松下电器产业株式会社 分组发送装置和分组发送处理方法
CN101436992A (zh) * 2008-12-31 2009-05-20 华为技术有限公司 传递用户消息的方法、装置和系统
CN105376173A (zh) * 2014-09-02 2016-03-02 中兴通讯股份有限公司 一种发送窗口流量控制方法和终端

Also Published As

Publication number Publication date
CN107018086A (zh) 2017-08-04

Similar Documents

Publication Publication Date Title
Dukkipati et al. Why flow-completion time is the right metric for congestion control
CN106059951B (zh) 一种用于dcn中基于多级拥塞反馈的传输控制方法
Saeed et al. Annulus: A dual congestion control loop for datacenter and wan traffic aggregates
CN106027416B (zh) 一种基于时空结合的数据中心网络流量调度方法及系统
CN105991462B (zh) 传输控制协议tcp数据包的发送方法、发送装置和系统
EP2858325B1 (en) Multi-stream service concurrent transmission method, sub-system, system and multi-interface terminal
CN105025524B (zh) 一种多路径并行传输数据调度方法及传输控制协议
CN103457871B (zh) Dcn中基于延迟约束的拥塞避免阶段的增窗方法
CN106302228B (zh) 一种数据中心网络中基于任务感知的传输控制方法
CN114938350B (zh) 数据中心无损网络中基于拥塞反馈的数据流传输控制方法
CN102763385A (zh) 针对数据中心环境优化的通信输送
CN107396396A (zh) 支持多源多径的数据传输管理方法
CN109873773B (zh) 一种用于数据中心的拥塞控制方法
CN104092625B (zh) 一种用于dcn中的自适应请求分批调度方法
CN109714267A (zh) 管理反向队列的传输控制方法及系统
CN107154897B (zh) Dcn中基于包散射的异构流隔离方法
CN108011834A (zh) Tcp拥塞窗口的确定方法和装置
Alipio et al. TCP incast solutions in data center networks: A classification and survey
CN105207944B (zh) 基于fast tcp的传输控制方法
CN105847175A (zh) 数据中心网络中的应用层调度方法
Wang et al. Load balancing for heterogeneous traffic in datacenter networks
CN107018086B (zh) 一种数据中心网络中基于数据包优先级的传输控制方法
CN107046507B (zh) 一种用于dcn中任务传输的拥塞控制方法
Hu et al. AMRT: Anti-ECN marking to improve utilization of receiver-driven transmission in data center
CN115665060A (zh) 一种用于异构网络的多路径传输调度方法及装置

Legal Events

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