CN113783785A - Ecn水线值的配置方法、装置及网络设备 - Google Patents
Ecn水线值的配置方法、装置及网络设备 Download PDFInfo
- Publication number
- CN113783785A CN113783785A CN202010518306.1A CN202010518306A CN113783785A CN 113783785 A CN113783785 A CN 113783785A CN 202010518306 A CN202010518306 A CN 202010518306A CN 113783785 A CN113783785 A CN 113783785A
- Authority
- CN
- China
- Prior art keywords
- queue
- ecn
- polling
- queues
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 title claims abstract description 99
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000006855 networking Effects 0.000 title abstract description 3
- 238000012546 transfer Methods 0.000 claims abstract description 4
- 238000003860 storage Methods 0.000 claims description 19
- 241001522296 Erithacus rubecula Species 0.000 claims description 10
- 230000006735 deficit Effects 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 description 27
- 230000006870 function Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 230000014509 gene expression Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 12
- 230000008859 change Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 9
- 230000002776 aggregation Effects 0.000 description 8
- 238000004220 aggregation Methods 0.000 description 8
- 239000010410 layer Substances 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 230000006978 adaptation Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000012792 core layer Substances 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- HRULVFRXEOZUMJ-UHFFFAOYSA-K potassium;disodium;2-(4-chloro-2-methylphenoxy)propanoate;methyl-dioxido-oxo-$l^{5}-arsane Chemical compound [Na+].[Na+].[K+].C[As]([O-])([O-])=O.[O-]C(=O)C(C)OC1=CC=C(Cl)C=C1C HRULVFRXEOZUMJ-UHFFFAOYSA-K 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001629 suppression Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
- 230000009747 swallowing Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue 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
一种ECN水线值的配置方法、装置及网络设备。方法包括:根据轮询时长和N个队列中队列j的第一数据量,确定所述队列j的ECN水线值,其中,所述轮询时长为历史上采用轮询算法轮询调度所述N个队列一次所需的时长,所述队列j的第一数据量用于指示所述队列j在一次轮询调度时发送的最大数据量,所述N个队列用于存储待发送的报文,N为大于等于2的正整数,j为队列标识。由此,动态地调整N个队列各自的ECN水线值,有助于服务各个队列的流量控制和资源占用需求,以为保障网络性能提供支持。
Description
技术领域
本申请涉及网络通信技术领域,特别涉及一种ECN水线值的配置方法、装置及网络设备。
背景技术
随着互联网的快速发展,各种网络业务的不断丰富,在给用户带来更高体验的同时,也对网络传输提出了更高的要求。目前,在数据中心传输控制协议(data centertransmission control protocol,DCTCP)网络中,用于拥塞控制的显式拥塞通知(explicit congestion notification,ECN)水线对网络传输的吞吐量和时延的调控起着重要的作用。然而,ECN水线的参数值(简称为ECN水线值)是研发人员根据经验和实际情况配置在网络中的交换机、路由器等网络设备中的,通常为固定值。但随着网络环境的日益复杂,网络业务和网络流量千变万化,固定配置的ECN水线值已经不能适应日益复杂的网络环境。因此,如何动态配置ECN水线值以适应当前日益复杂的网络环境,从而保障网络传输性能,已经成为一个亟待解决的问题。
发明内容
本申请实施例提供一种ECN水线值的配置方法、装置及网络设备,动态地调整N个队列各自的ECN水线值,有助于服务各个队列的流量控制和资源占用需求,以为保障网络性能提供支持。
第一方面,本申请实施例提供了一种ECN水线值的配置方法,包括:根据轮询时长和N个队列中队列j的第一数据量,确定所述队列j的ECN水线值,其中,所述轮询时长为历史上采用轮询算法轮询调度所述N个队列一次所需的时长,所述队列j的第一数据量用于指示所述队列j在一次轮询调度时发送的最大数据量,所述N个队列用于存储待发送的报文,N为大于等于2的正整数,j为队列标识。
基于该方案,根据历史轮询调度结果,动态地调整N个队列各自的ECN水线值,使得ECN水线值的配置能够适应日益复杂的网络环境,有助于服务各个队列的流量控制和资源占用需求,以为保障网络性能提供支持。同时,由于对N个队列的ECN水线值的动态配置是根据轮询时长相关联的,也有助于在网络传输时尽可能充分地利用带宽资源。其中,轮询时长可以是历史上一次轮询调度N个队列所需的时长,也可以是历史上多次轮询调度N个队列所需的时长的滑动平均值,有助于提高配置的ECN水线值的准确性。
在一种可能的实现方式中,所述队列j的ECN水线值与所述队列j的第一数据量和所述轮询时长的商成正比。
基于该方案,在队列j的第一数据量保持不变的情况下,队列j的ECN水线值与轮询时长成反比。这样,在网络总体流量较小时,则实际轮询调度N个队列一次所使用的时间就会降低,相应地,根据历史轮询调度结果配置的ECN水线值则会提升,以提高吞吐,加快网络传输速率。在网络总体流量较大时,则实际轮询调度N个队列一次所使用的时间就会增长,相应地,根据历史轮询调度结果配置的ECN水线值则会降低,以降低吞吐,降低网络传输速率,从而尽量避免发生网络拥塞。由此通过动态配置N个队列的ECN水线值,适应日益复杂的网络环境。
在一种可能的实现方式中,所述队列j的ECN水线值与所述队列j的第一数据量和所述轮询时长的商成正比,且基于所述队列j的增强系数变化,其中,所述增强系数根据所述队列j的缓存占用率和/或所述队列j的队列优先级确定。
基于该方案,可以结合N个队列各自的缓存占用情况和/或队列优先级确定的增强系数,动态地调整ECN水线值,有助于配置更合适的ECN水线值,以在避免发生网络拥塞时,尽可能充分地利用带宽资源。例如,对于缓存占用率相对较低的队列或优先级较高的队列,其增强系数可以为较大值(例如1.5、2等),基于增强系数调整后,得到以较大幅度增长的ECN水线值,有助于提高队列的流量吞吐,提高带宽资源的利用率。对于缓存占用率相对较高的队列或优先级较低的队列,其增强系数可以为较小值(例如1),基于增强系数调整后,得到以较小幅度增长的ECN水线值,有助于约束不重要队列的流量吞吐,同时保障了重要队列的流量提升和对带宽的占用。
在一种可能的实现方式中,所述队列j的第一数据量为所述轮询算法中队列j的权重与平均包长的乘积。
基于该方案,能够通过轮询算法为N个队列配置的权重,确定N个队列的吞吐能力。应理解的是,本申请实施例中还可以通过其它方式确定N个队列的第一数据量,本申请对此不做限制。
在一种可能的实现方式中,所述队列j的ECN水线值不大于第一值,所述第一值为出口带宽,或者,所述第一值为根据所述队列的权重为所述队列分配的带宽。
基于该方案,使得为队列j设置的ECN水线值不会超过出口带宽或者根据队列权重分配的带宽,避免配置的ECN水线值过高。这样,即使在历史轮询调度中,存在N个队列均为空队列而导致确定的轮询时长极小而趋近于0的情形,由于带宽上限的设置,使得为队列j配置的ECN水线值也不会过大而趋近于无穷,避免设备异常。
在一种可能的实现方式中,所述轮询算法包括以下任一项:加权轮询WRR算法;差额轮询DRR算法。
基于该方案,可以在采用任何合适的轮询算法轮询调度网络设备的N个队列时使用本申请的ECN水线值配置方案,使得在多种场景中均可以灵活地动态配置队列的ECN水线值,以灵活地适应不同的网络环境,为保障网络性能提供支持。
第二方面,本申请实施例提供了一种用于配置ECN水线的装置,所述装置包括:存储器,用于存储待发送的报文,所述待发送的报文存储在所述存储器中的N个队列里,N为大于等于2的正整数;ECN水线值确定单元,用于根据轮询时长和所述N个队列中队列j的第一数据量,确定所述队列j的ECN水线值,其中,所述轮询时长为历史上采用轮询算法轮询调度所述N个队列一次所需的时长,所述队列j的第一数据量用于指示所述队列j在一次轮询调度时发送的最大数据量,j为队列标识。
在一种可能的实现方式中,所述队列j的ECN水线值与所述队列j的第一数据量和所述轮询时长的商成正比。
在一种可能的实现方式中,所述队列j的ECN水线值,与所述队列j的第一数据量和所述轮询时长的商成正比,且基于所述队列j的增强系数变化,其中,所述增强系数根据所述队列j的缓存占用率和/或所述队列j的队列优先级确定。
在一种可能的实现方式中,所述队列j的第一数据量为所述轮询算法中队列j的权重与平均包长的乘积。
在一种可能的实现方式中,所述队列j的ECN水线值不大于第一值,所述第一值为出口带宽,或者,所述第一值为根据所述队列j的权重为所述队列分配的带宽。
在一种可能的实现方式中,所述轮询算法包括以下任一项:加权轮询WRR算法;差额轮询DRR算法。
第三方面,本申请实施例提供了一种网络设备,该网络设备可以包括处理器和存储器;所述存储器,用于存储待发送的报文,所述待发送的报文存储在所述存储器中的N个队列里,N为大于等于2的正整数;所述处理器,用于执行上述第一方面所述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述第一方面所述的方法。
本申请在上述各方面提供的实现的基础上,还可以进行进一步组合以提供更多实现。
另外,第二方面至第四方面中任一种实现方式所带来的技术效果可参见第一方面中不同实现方式所带来的技术效果,此处不再赘述。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
图1为TCP连接示意图;
图2为网络设备的队列的数据传输示意图;
图3为IP头部结构和TCP头部结构示意图;
图4为本申请提供的一种可能的网络架构示意图;
图5为本申请提供的一种可能的网络设备的结构示意图;
图6为本申请提供的一种园区网络架构示意图;
图7为本申请提供的一种可能的ECN水线值的配置方法的流程示意图;
图8为本申请提供的一种可能的ECN水线值的配置原理示意图;
图9为本申请提供的结合WRR调度流程的ECN水线值的配置流程示意图;
图10为本申请提供的一种ECN水线值的配置装置示意图;
图11为本申请提供的一种网络设备的示意图。
具体实施方式
如图1所示,在基于传输控制协议(transmission control protocol,TCP)的网络通信中,发送端101与接收端102之间建立一条TCP连接,发送端101为源端,用于发出数据包,一个或多个网络设备103用于转发数据包,接收端102用于接收数据包并向发送端告知数据包接收情况。应理解的是,图1所示连线示意性表示各设备之间的通信连接链路。
在进行数据传输时,为防止过多的数据注入网络,使网络中的网络设备或链路不致过载,发送端101会通过相应的拥塞控制算法来避免网络拥塞。
TCP拥塞控制算法是一种常用的拥塞控制措施。发送端101通过维护一个拥塞窗口CWND来进行拥塞控制,控制原则是,若网络中没有出现拥塞,逐渐增大拥塞窗口的值,不断试探网络容量,以便将更多的数据包发送出去,若网络出现拥塞,相应地减小拥塞窗口的值,以减少注入到网络中的数据包数。由于TCP拥塞控制算法会导致CWND>C(出口带宽)*RTT,从而带来高时延,不利于实时性应用。并且,如图2所示,当转发数据包(forwardingpackets)到达网络设备,网络设备的队列通常按照先进先出的策略处理到来的数据包。当网络设备无法缓存新到的数据包时,会丢弃到来的数据包,即尾部丢弃策略。这样就会导致数据包丢失,发送端就会认为发生网络拥塞,从而导致TCP全局同步,即多条TCP连接在同一时间进入慢启动状态。TCP全局同步会使得网络的通信量突然下降很多,而在网络恢复正常之后,其通信量又突然增大很多,导致吞吐率剧烈抖动。
数据中心TCP(data center TCP,DCTCP)拥塞控制算法,是利用显式拥塞通知(explicit congestion notification,ECN)来增强TCP拥塞控制的算法。如图3所示,发送端101在发送的数据包的IP头部设置ECN字段,网络设备103根据队列的长度进行主动队列管理(active queue management,AQM),在队列长度超过一定的阈值K(即ECN水线值)时,将IP头部的ECN字段中ECN=01或ECN=10修改为ECN=11(ECN=00表示该报文不支持ECN功能)。接收端102接收到该数据包后,根据数据包中的ECN=11的标识,在向返回给发送端的ACK报文时将TCP头部中的ECE(ECN-Echo)位置1,作为用于回传拥塞指示的ECN标识。发送端101根据收到的包含ECN标识的ACK报文的比例对拥塞窗口的值进行相应的调节,并在发送下一个数据包时,将CWR置1。接收端收到CWR置1的数据包时,后续返回的ACK报文中的ECE位将不再置1。
DCTCP拥塞控制算法可以缓解突发同时获得较小的缓存(buffer)使用,获得低时延,并使得拥塞窗口的变化可扩展,可以达到可扩展吞吐量(scalable throughput)的目的,避免吞吐率剧烈抖动。但是,ECN水线值通常是研发人员根据经验和实际情况配置在网络设备中的固定值,在变化的流量模型中,要么存在ECN水线值偏低导致吞吐量低,要么存在ECN水线值偏高而导致网络拥塞丢包的情况,不能适应不同吞吐变化的需求。因此,如何动态配置ECN水线值以适应当前日益复杂的网络环境,从而保障网络传输性能,已经成为一个亟待解决的问题。
有鉴于此,本申请实施例提出了一种ECN水线值的配置方法及装置,通过动态配置网络设备的N个队列的ECN水线值,实现ECN水线值跟随网络流量的变化动态调节和精确适配,在最大化吞吐量的同时,减小时延,从而保障网络传输性能。并且,由于对N个队列的ECN水线值的配置是根据历史上轮询调度N个队列一次的轮询时长关联的,也有助于N个队列之间有效地共享带宽资源,从而便于尽可能充分地利用带宽。
在介绍本申请实施例之前,首先对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。
1)、网络设备:一种具备数据交换(转发)功能的设备,可以是交换机,也可以是路由器、网关等设备,还可以是其他具有数据交换功能的装置或设备,本申请实施例对此不限定。
2)、终端设备:一种具有收发功能的设备,例如,可以为具有无线/有线连接功能的手持式设备、车载设备、可穿戴设备、计算设备、业务服务器、移动台(mobile station,MS)或连接到无线调制解调器的其他处理设备等,以及经接入网与一个或多个核心网进行通信的移动终端等。本申请实施例中,发送数据包的终端设备也称为发送端,接收数据包的终端设备也称为接收端。
3)、队列(queue):网络设备提供的用于数据传输(转发)的线性表,具有先进先出(first in first out,FIFO)特性。允许在一端进行插入操作在另一端进行删除操作,允许进行插入操作的一端称为队尾,允许进行删除操作的一端称为队头。队列中没有元素时,称为空队列。
4)、吞吐量:吞吐量是指对网络、设备、端口、虚电路或其他设施,单位时间内成功地传送的数据量(以比特、字节、分组等测量)。
5)、往返时延(round-trip time,RTT):表示从发送端发送数据包开始,到发送端收到该数据包的确认字符(acknowledge character,ACK),总共经历的时延。
6)、拥塞窗口(congestion window,CWND):发送端维护的“拥塞避免”的窗口,用来限制可能在端对端间传输的未确认分组总数量,起始值一般为TCP连接所能承受的最大分段大小(maximum segment size,MSS)的最小倍数,之后的变化依靠线增积减机制来控制。
另外,需要理解,在本申请实施例中,至少一个还可以描述为一个或多个,多个可以是两个、三个、四个或者更多个,本申请不做限制。
在本申请实施例中,“/”可以表示前后关联的对象是一种“或”的关系,例如,A/B可以表示A或B;“和/或”可以用于描述关联对象存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。为了便于描述本申请实施例的技术方案,在本申请实施例中,可以采用“第一”、“第二”等字样对功能相同或相似的技术特征进行区分。该“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。在本申请实施例中,“示例性的”或者“例如”等词用于表示例子、例证或说明,被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念,便于理解。
下面结合附图及实施例,详细说明本申请的ECN水线值的配置方案。
图4示例性示出了本申请实施例提供的一种可能的通信系统架构示意图,包括多个终端设备和多个网络设备,其中多个终端设备之间可以通过一个或多个网络设备实现基于TCP的通信。网络设备可以包括存储器,该存储器可以用于存储待发送的报文(message),待发送的报文存储在存储器的N个队列里,N为正整数。网络设备可以采用轮询算法调度N个队列以发送报文,并可以根据轮询时长和N个队列中队列j的第一数据量,确定该队列j的ECN水线值,j为队列标识。
该轮询时长可以为历史上采用轮询算法轮询调度N个队列一次所需的时长,例如可以为采用加权轮询(weight round-robin,WRR)算法/差额轮询(defict round-robin,DRR)算法等轮询算法轮询调度N个队列一次所需的时长,本申请对此不做限制。队列j的第一数据量用于指示所述队列j在一次轮询调度时发送的最大数据量。队列j的ECN水线值用于使得网络设备在每次轮询调度到队列j时,能够根据队列j的长度以及该队列j的ECN水线值判断是否对该队列j中待发送的报文进行ECN标记,以便发送端能够相应地根据ECN标记的比例调节拥塞窗口的值,以控制数据包发送速率,从而实现网络数据传输的流量控制或者拥塞控制。由此,网络设备可以根据历史上对N个队列的轮询调度结果,不断地对各个队列的用于进行拥塞指示的ECN水线值进行调整(配置),从而使网络设备中各个队列的ECN水线值能够跟随网络流量的变化实现动态调节和精确适配,以服务各个队列的流量控制和资源占用需求,从而为保障网络性能提供支持。
如图5所示,网络设备500可以包括多个功能模块,例如流量管理器(trafficmanager,TM)501、存储器(也称为输出缓冲区(output buffer,OB))502、网络处理器(network processor,简称NP)503、数据包编译器(pecket editor,PE)504等。其中,NP可以驱动PE来使能TM的ECN功能。若发送端不支持ECN功能,还可以通过NP来修改报文的ECN位置,使TM能够对报文进行ECN标记。OB包括N个队列。TM可以从OB获取N个队列的信息,包括队列缓存、第一数据量、轮询时长等,并将所获得的N个队列的信息存储在TM的寄存器中。NP能够从TM的寄存器中读取N个队列的信息,并计算N个队列的ECN水线值,并将得到的N个队列的ECN水线值写入TM的寄存器中,这样,TM就能够分别根据N个队列的ECN水线值以及N个队列的长度对队列中待发送的报文进行ECN标记。
在一个实施例中,在图4所示的通信系统架构中,还可以包括配置服务器(或控制器),配置服务器(或控制器)可以通过通信网络与一个或多个网络设备互联,其中该通信网络可以是局域网,也可以是通过中继(relay)设备转接的广域网,或者包括局域网和广域网。网络设备可以将轮询时长以及N个队列的第一数据量等发送至配置服务器(或控制器),由配置服务器(或控制器)基于轮询时长以及N个队列的第一数据量,不断对N个队列的ECN水线值进行调整(配置),并发送给网络设备,从而使网络设备中的各个队列的ECN水线值能够跟随网络流量的变化实现动态调节和精确适配,以保障网络传输性能。
作为示例,图4所示的通信系统架构可以为图6所示的园区网络架构。
如图6所示,该园区网络架构中可以包括多个网元,例如DC/私有云、公有云、园区网络控制器、出口路由器、核心交换机、汇聚交换机、接入交换机、无线接入点、终端设备等。
DC/私有云:企业园区网络中自建的数据中心或者机房,提供远程服务,例如计算、虚拟机、服务等。公有云:互联网Internet网络中的云服务商,用于提供公有云业务服务。在本申请实施例中,该DC/私有云、公有云均可以为数据流的发送端。
核心交换机:处于核心层的交换机称为核心交换机。在网络行业中核心交换机是指吞吐量强大的二层或者三层交换机,承受、汇聚着所有传输流量,是网络性能的主要保障。其主要功能是为汇聚层设备提供高速的传输和优化,相当于一个出口或总汇总。本申请实施例中,核心交换机可以为图1或图4所示的一种网络设备。
汇聚交换机:多台接入层交换机的汇聚点,能够处理来自接入层设备的所有通信量,并提供到核心层的上行链路,因此汇聚层交换机与接入层交换机比较,需要更高的性能,更少的接口和更高的交换速率。汇聚交换机一般用于楼宇间,汇聚相当于一个局部或重要的中转站。本申请实施例中,汇聚交换机可以为图1或图4所示的一种网络设备。
接入交换机:接入层的目的是允许终端用户连接到网络,网络中直接面向用户连接或访问网络的部分称为接入层。接入交换机一般用于直接连接终端设备,具有低成本和高端口密度特性。本申请实施例中,接入交换机可以为图1或图4所示的一种网络设备。
无线接入点(access point,AP):用于无线网络的无线交换机,也是无线网络的核心。无线AP是移动计算机用户进入有线网络的接入点,主要用于宽带家庭、大楼内部以及园区内部,可以覆盖几十米至上百米。本申请实施例中,无线交换机可以为图1或图4所示的一种网络设备。
终端设备:数据流接受设备,用于接收源自发送端的数据包,具体可以为电脑、手机等终端设备,本申请对此不做限制。
需要说明的是,图6中以带箭头的虚线示意性表示TCP连接中的数据传输路径,应理解,在一些场景下,图6所示的终端设备也可以作为数据流的发送端,可用于向网络(例如DC/私有云、公有云等)或者其它终端发送数据流。另外,虽未示出,在一些场景中,该园区网络架构中例如还可以包括园区网络控制器和出口路由器等实体,其中,园区网络控制器例如可以为SDN控制器,可以用于管理园区网络设备;出口路由器可以提供访问广域网络三层接口服务,提供局域网和广域网络的报文转发功能,在此不再赘述。
图7为根据本申请的一种可能的ECN水线值的配置方法的流程示意图。其中,该配置方法可以由图4所示的网络设备或配置服务器(或控制器)实现。
如图7所示,S701,根据轮询时长和N个队列中队列j的第一数据量,确定队列j的ECN水线值。其中,N为大于等于2的正整数,j为队列标识。
本申请实施例,在采用轮询算法(round-robin),以循环的方式依次调度网络设备的N个队列时,从第一个队列开始调度,依次调度至第N个队列调度完毕,为一次轮询调度。该轮询时长为轮询调度N个队列一次所需的时长。实施时,该轮询时长可以是根据计时器实时统计得到的统计时长。例如,以队列j作为计时基准,可以将开始调度队列j时的时间点计为一次轮询调度的起始时间点,将之后再次调度队列j时的时间点计为本次轮询调度的结束时间点,结束时间点与起始时间点的时间差为轮询调度N个队列一次所需的统计时长,该统计时长可以作为轮询时长。或者,该轮询时长也可以是根据历史上轮询调度的时间信息计算得到的滑动平均值。例如,轮询时长可以满足以下表达式:
Tr=Told×(1-b)+b×Tnew (1)
其中,Tr表示轮询时长,Told例如表示第i-1次轮询调度N个队列时确定的轮询时长,Tnew例如表示第i次轮询调度N个队列时确定的轮询时长,b为常数,例如可以取值为1/16。
在一些实施例中,Told的取值可以为第i-1次轮询调度N个队列一次所需的统计时长Ti-1,Tnew的取值可以为第i次轮询调度N个队列一次所需的统计时长Ti。在一些实施例中,Tnew的取值可以为Ti-1×(1-b)+b×Ti,其中,Ti-2表示第i-2次轮询调度N个队列一次所需的统计时长。在一些实施例中,Told的取值可以为Ti-2×(1-b)+b×Ti-1,Tnew的取值可以为第i次轮询调度N个队列一次所需的统计时长Ti。应理解的是,上述仅是对轮询时长的确定方式的示例性说明而非任何限定,在其它实施例中还可以通过其它方式确定轮询时长,本申请对此不做限制。在一些实施例中,轮询时长的确定也可以与ECN水线值的更新频率相关。例如,若以轮询次数为周期更新ECN水线值,则可以根据每一次轮询调度N个队列的统计时长更新轮询时长;若以RTT为周期更新ECN水线值,则可以根据每一个RTT内多次(例如1000次)轮询调度的结果更新轮询时长,以此类推,在更新周期更久时,相应地根据前一更新周期内统计到的相关信息更新轮询时长,在此不再赘述。
队列j的第一数据量可以指示队列j的吞吐能力,例如用于指示所述队列j在一次轮询调度时发送的最大数据量。该第一数据量可以是预先配置的,也可以根据实际情况修改,并且网络设备的N个队列的第一数据量可以不同。
本申请实施例中,采用轮询算法时,可以为网络设备的每个队列分配权重(weight),权重Wj可以指示队列j在一次轮询调度中最多可以发送的数据包的数量,队列j的第一数据量可以为该轮询算法中队列j的权重Wj与平均包长的乘积。作为示例,例如可以根据队列的优先级为队列配置权重,优先级较高的队列相应配置的权重的数值较大(例如5),优先级较低的队列相应配置的权重的数值较小(例如2)。若平均包长为588字节(bytes),队列j的权重Wj为5,则队列j的第一数据量Qj为2940bytes;队列j的权重Wj为2,则队列j的第一数据量Qj为1176bytes。应理解,实际应用中也可以根据网络设备的传输能力确定队列j的第一数据量或者平均包长等信息,或者,也可以预先配置队列j的第一数据量以指示该队列j在一次轮询调度中最多可以发送的字节数,本申请对此不做限制。
本申请实施例中,N个队列的ECN水线值可以具有初始值。由于初始时并不存在基于历史轮询调度结果得到的轮询时长,因此,队列j的ECN水线值的初始值例如可以根据队列权重以及网络设备的出口带宽确定,例如,队列j的ECN水线值的初始值可以满足以下表达式。之后,则根据历史的轮询调度结果以及队列的第一数据量动态配置各个队列的ECN水线值,以适应日益复杂的网络环境,尽可能地满足不同的网络业务和网络流量的需求。
其中,Kj表示队列j的ECN水线值;Wj表示队列j的权重;∑Wj表示N个队列的权重之和;C为网络设备的出口带宽,用于指示单位时间内通过网络设备的出口的数据量;RTT为往返时延,λ为常数。本申请实施例中,该RTT可以是研发人员根据经验和网络设备的网络传输能力配置的固定值,例如10ms,即0.01s。在后续使用过程中或者随着通信技术演进,该RTT也可以是根据历史上进行数据传输时进行时间统计得到的;或者,也可以是根据历史上进行数据传输时进行时间统计到的至少一个RTT计算得到的平均值,或者根据新的通信技术确定的,本申请对于该RTT的具体确定方式不做限制,在下文中提及的RTT也均可以采用与此相同的方式确定,下文将不再赘述。
本申请实施例中,ECN水线值的配置方法可以有多种实现方式。
实施例一
在一个实施例中,在轮询调度网络设备的N个队列时,由于N个队列均通过网络设备的出口并基于出口带宽C发送报文,若分配给队列j的权重较大,则在一次轮询调度中通过队列j发送的数据量也较大,传输耗时也会较长。若以Tr表示在一次轮询调度中轮询调度N个队列一次所需的时长,则在本次轮询调度中调度至队列j时的传输耗时则满足以下表达式:
其中,Tj表示在一次轮询调度中调度队列j所需的时长;Qj表示队列j的第一数据量;C表示出口带宽;Tr表示轮询时长;Wj表示队列j的权重;∑Wj表示N个队列的权重之和。
根据上述表达式(2)和(3)可知,队列j的ECN水线值可以与队列j的第一数据量和轮询时长的商成正比。例如,队列j的ECN水线值可以满足以下表达式:
其中,Kj表示队列j的ECN水线值;Tr表示轮询时长;Qj表示队列j的第一数据量;Tr表示轮询时长;RTT为往返时延;λ为常数。
根据上述表达式(4)即可将队列j的ECN水线值与实际的网络数据传输情况相关联,在队列j的第一数据量保持不变且RTT和λ为常量时,队列j的ECN水线值与轮询时长成反比。这样,在网络总体流量降低时,则轮询调度N个队列一次所需的时长Tr就会降低,相应地,根据表达式(4)为队列j配置的ECN水线值则会提升,将会提高队列j的吞吐量,加快网络传输速率。在网络总体流量增大时,则轮询调度N个队列一次所需的时长Tr就会增大,相应地,根据表达式(4)为队列j配置的ECN水线值则会降低,以降低吞吐,降低网络传输速率,从而尽量避免发生网络拥塞。
由此,可以根据历史上对N个队列的轮询调度结果,不断地对各个队列的用于进行拥塞指示的ECN水线值进行调整(配置),从而使网络设备中各个队列的ECN水线值能够跟随网络流量的变化实现动态调节和精确适配,以服务各个队列的流量控制和资源占用需求,从而为保障网络性能提供支持。
如图8所示,以未封口的矩形框示意性表示网络设备的队列1、队列2,以虚线示意性表示为队列1的配置的ECN水线值K1和为队列2配置的ECN水线K2,K1和K2的数值可以不同,以实线表示队列中存储的报文,随着存储的报文数量的增加,各队列的长度从右向左逐渐增长。
S1,当队列的长度低于该队列的ECN水线值时,表示队列中流量的吞吐尚未达到队列的可用带宽上限,因此可以抬高ECN水线,以提高队列吞吐量,以便充分利用带宽资源。S2,根据图7所示的配置方法动态配置N个队列的ECN水线值后,S3,N个队列的ECN水线都有所提升,队列1的ECN水线值为K1’和队列2的ECN水线值为K2’,此时,S4,在之后利用调整后的ECN水线值对报文进行ECN标记后,报文被标记的概率降低,进而发送端维护的拥塞窗口被抑制的程度降低,流量增大。
S5,当队列的长度高于该队列的ECN水线值时,表示队列中流量的吞吐已超过其自身可用带宽上限,此时,需要对要发送的报文进行ECN标记,并且需要降低队列的ECN水线值,以降低队列吞吐量,避免后续发生网络拥塞。S6,根据图7所示的配置方法动态配置N个队列的ECN水线值后,S7,N个队列的ECN水线值都有所降低,队列1的ECN水线值为K1’和队列2的ECN水线值为K2’,此时,S8,在之后利用调整后的ECN水线值对报文进行ECN标记后,报文被标记的概率提升,进而发送端维护的拥塞窗口被抑制程度加大,流量降低。
在之后的轮询调度中,可重复上述S1-S4、S5-S8,不断地根据历史的轮询调度结果以及队列的第一数据量动态配置各个队列的ECN水线值,以助于实时地服务各个队列的流量控制和资源占用需求,以为保障网络性能提供支持。
本申请实施例中,在上述S1-S8动态配置N个队列的ECN水线值时,S9,还可以根据N个队列的实际情况,动态地调整ECN水线值的变化幅度,以尽可能地为队列配置更为准确的ECN水线值,有助于更加充分地利用带宽资源。
实施例二
在一个实施例中,N个队列中的每一个可以具有对应的增强系数,队列j的ECN水线值可以与队列j的第一数据量和轮询时长的商成正比,且基于队列j的增强系数变化。例如,队列j的ECN水线值可以满足以下表达式:
其中,Kj表示队列j的ECN水线值;Tr表示轮询时长;Qj表示队列j的第一数据量;RTT为往返时延;λ为常数;Fj表示队列j的增强系数。
本申请实施例中,队列j的增强系数可以是根据队列j的缓存占用率和/或队列j的队列优先级确定的,不同队列的增强系数的取值可以不同,并且增强系数的取值可以大于或等于1。这样,则可以通过队列各自的增强系数适度地改变各队列的ECN水线值的变化幅度,以尽可能地为队列配置更为准确的ECN水线值,有助于N个队列更加充分地利用带宽资源。
队列j的缓存占用率可以为队列j中存储的报文的数据量占该队列j的总的缓存容量的比例。在一些场景下,若网络设备的N个队列共享缓存,队列j的缓存占用率也可以为队列j中存储的报文的数据量占N个队列的总的缓存容量的比例,本申请对此不做限制。队列j的缓存占用率可以通过对历史上队列j的缓存占用情况进行周期性采样得到。以对N个队列的一次轮询调度为单位,队列的缓存占用情况的采样周期可以为对N个队列的轮询调度次数的倍数,该倍数最小为1。实际应用中,可以根据预设的缓存占用率与增强系数的对应关系,确定各个队列对应的增强系数。作为示例,队列j的缓存占用率Rj(也可以以百分比例表示)与增强系数Fj的对应关系可以如下表1所示。
表1
R<sub>j</sub> | F<sub>j</sub> |
[0.1,1) | 1 |
[0.05,0.1) | 1.5 |
[0.01,0.05) | 2 |
[0,0.01) | 3 |
也就是说,在队列j为空闲队列或队列的缓存占用率较小时,以大于1的增强系数配置该队列j的ECN水线值,则可以适度地增大ECN水线值的调整幅度,以提高吞吐,有助于充分利用带宽资源。在队列j的缓存占用超过预定阈值(例如0.1,即10%)时,该队列j的增强系数为1,以避免配置的ECN水线值过高。由此,通过设置增强系数,使得ECN水线的配置方案能够更加适用于不同网络业务或网络流量模型,适应日益复杂的网络环境。
本申请实施例中,网络设备的N个队列可以为优先级队列,不同的优先级队列分别具有其相应的优先级。报文中也会包括数据的优先级信息(例如由报文的DSCP或802.1的值指示优先级)。网络设备会根据接收到的报文的对应的优先级信息将报文映射到相应的优先级队列中,高优先级的队列中存储的报文需要更快地被调度。因此,本申请实施例中,队列j的增强系数可以依赖于不同队列的优先级调度策略的变化,从而保障重要队列的流量提升和对带宽的占用。
具体地,可以根据N个队列的优先级,为N个队列赋予优先级系数Cj,并配置其ECN水线值。队列j的增强系数可以满足以下表达式:
Fj=F(Rj)×Cj (6)
其中,Rj表示队列j的缓存占用率;F(Rj)表示用于指示队列j的缓存占用率的中间系数,也可以根据上述表1得到;Cj表示队列j的优先级系数。
上述优先级系数的Cj取值可以与网络设备的队列N相关。例如,Cj满足以下表达式:
Cj=Pj/N (7)
其中,Cj表示队列j的优先级系数;Pj表示为队列j赋予的强化系数,取值范围可以为1-N,Pj越大表示队列j的ECN水线值越需要增强,队列的优先级越高则为其配置的Pj越大;N表示网络设备的队列数量,N为大于等于2的正整数。
根据上述表达式(7)可知,优先级系数Cj的取值范围为(0,1],该优先级系数Cj可以用于约束队列j的增强系数,根据队列的重要性程度,调整队列的ECN水线值的变化幅度,以免为相对不重要的队列配置的ECN水线值过大,同时也保障相对重要的队列的流量提升和对带宽的占用。
上述优先级系数可以是预先为N个队列配置并保存在网络设备的存储器中的,也可以是由NP或配置服务器(或控制器)根据报文为该报文映射到的队列配置的,本申请对此具体实现不做限制。
由此,在上述实施例中,通过根据队列的缓存占用率和/或队列优先级确定的增强系数,来调整队列的ECN水线值的变化幅度,以为N个队列设置更为合理、准确的ECN水线值,也有助于N个队列之间可以有效地共享带宽资源,以充分利用带宽。
实施例三
在一个实施例中,通过上述方法配置队列j的ECN水线值时,若在一次轮询调度中N个队列均为空,则可能得到的轮询时长极小,趋近于0,这样可能会导致根据轮询时长计算得到的ECN水线值极大,接近于无穷。因此,为避免配置的ECN水线值过大,还可以为N个队列分别设置带宽上限。例如,可以设置队列j的ECN水线值不大于第一值,其中,该第一值可以为网络设备的出口带宽,或者,第一值也可以为根据所述队列j的权重为所述队列分配的带宽。作为示例,队列j的带宽上限Ej可以满足以下表达式:
Ej=C
其中,Ej表示队列j的带宽上限;C表示网络设备的出口带宽,例如1Gb;Wj表示队列j的权重,∑Wj表示N个队列的权重之和。
由此,通过限制队列的ECN水线值不超过队列的带宽上限,避免ECN水线值设置过大。通过限制队列的ECN水线值不超过出口带宽,还使得在N个队列总体空闲时,允许一个队列占用整个出口带宽,由此,使得ECN水线的配置算法更为灵活,以适应当前日益复杂的网络环境,保障网络传输性能。
通过上述配置方案,针对N个队列中的每一个队列,可以根据轮询时长、队列的第一数据量、增强系数等信息,动态配置该队列的ECN水线值,有助于服务各个队列的流量控制和资源占用需求,以为保障网络性能提供支持。并且,基于该设计,每个队列的ECN水线值的动态变化是关联的,在服务各个队列的流量控制和资源占用需求的同时,还有助于尽可能充分地利用带宽资源,为保障网络性能提供支持。
如图9所示,结合图9所示的基于加权轮询WRR算法的流程图来对本申请的ECN水线的配置方案的实现流程的相关细节进行详细描述。需要说明的是,在该实施例中,仅是方便说明在历史轮询调度N个队列的过程中获取轮询结果的相关信息以动态配置队列的ECN水线值,而非对轮询算法的任何限定。
S901,报文入队列,例如根据报文的DSCP或802.1携带的优先级值,将报文映射进入不同的优先级队列,优先级队列采用轮询的方式调度。
S902,确定N个队列的信息。
以j作为队列标识,N个队列的信息可以包括但不限于队列j的权重Wj、剩余调度权重VWj、ECN水线值Kj等。剩余调度权重VWj表示该队列j在本次轮询调度中剩余可以发送的包数,用于指示队列j的剩余能够被发送的数据量。每个队列j各自的ECN水线值Kj用于在调度该队列j时,对队列j中待发送的报文进行ECN标记,以便于接收端进行ECN拥塞指示。
S903,轮询调度N个队列以发送报文。
S904,报文出队列。
在每一次WRR调度中,基于队列权重轮询,从第一个队列开始调度报文,依次调度至第N个队列。针对每一个队列,以j作为队列标识,轮询调度策略为:当轮询到队列j时,若报文大小或报文数量超过该队列j的剩余调度权重VWj指示的数据量,则不发送该报文,进入下一队列调度;若报文大小或报文数量小于该队列j的剩余调度权重VWj指示的数据量,则发送该报文,并且,队列j的剩余调度权重VWj减去所发送的报文的大小或数量;若队列j当前为空,则进入下一队列调度。若队列j的VWj为0,则在此次轮询调度中队列j将不会再被调度。
在轮询调度N个队列的过程中,S905,监测N个队列的队列长度,并更新每个队列的缓存占用率Rj,该缓存占用率Rj可用于确定队列j的增强系数Fj。具体算法可参见上文的相关描述,在此不再赘述。
S906,从第一个队列开始调度报文至第N个队列调度完毕即为一次轮询调度,统计本次轮询调度所需的时长Ti,其中,i表示第i次轮询调度,i为正整数。
S907,根据时长Ti更新轮询时长Tr。具体算法可参见上文的相关描述,在此不再赘述。
S908,根据轮询时长Tr和各队列的第一数据量、增强系数等,确定每个队列的ECN水线值。具体算法可参见上文的相关描述,在此不再赘述。
S909,更新N个队列的ECN水线值,将动态为每个队列配置的ECN水线值写入网络设备的TM的寄存器中,以便网络设备在后续轮询调度N个队列时,结合队列长度以及该队列的更新后的ECN水线值,判断是否对新到的报文进行ECN标记,以便向发送端回传拥塞指示来进行相应的窗口调节。
由此,通过上述流程,可以为每个队列配置其各自的ECN水线值,并可以根据带宽的整体占用情况,动态地调整N个队列的ECN水线值,在避免发生网络拥塞的同时,还充分利用带宽资源。由于可以根据队列自身的缓存占用情况和/或优先级调度策略,及时地调整队列的ECN水线值的配置策略,进一步提高带宽资源的使用效率,并保障重要队列的吞吐的提升,从而为保障网络性能提供支持。
基于相同的技术构思,本申请实施例还提供了一种用于配置ECN水线值的装置,如图10所示,该装置1000可以包括:存储器1001,用于存储待发送的报文,所述待发送的报文存储在所述存储器中的N个队列里,N为大于等于2的正整数;ECN水线值确定单元1002,用于根据轮询时长和所述N个队列中队列j的第一数据量,确定所述队列j的ECN水线值,其中,所述轮询时长为历史上采用轮询算法轮询调度所述N个队列一次所需的时长,所述队列j的第一数据量用于指示所述队列j在一次轮询调度时发送的最大数据量,j为队列标识。
在一种实施方式中,所述队列j的ECN水线值与所述队列j的第一吞吐量和所述轮询时长的商成正比。
在一种实施方式中,所述队列j的ECN水线值,与所述队列j的第一吞吐量和所述轮询时长的商成正比,且基于所述队列j的增强系数变化,其中,所述增强系数根据所述队列j的缓存占用率和/或所述队列j的队列优先级确定。
在一种实施方式中,所述队列j的第一数据量为所述轮询算法中队列j的权重与平均包长的乘积。
在一种实施方式中,所述队列j的ECN水线值不大于第一值,所述第一值为出口带宽,或者,所述第一值为根据所述队列j的权重为所述队列分配的带宽。
该装置1000的功能实现的相关细节可参见上文的相关描述,在此不再赘述。
如图11所示,为根据本申请一个实施例的网络设备的示意图,如图11所示,该网络设备1100可以包括:包括处理器1101和存储器1102。所述存储器1101,用于存储待发送的报文,所述待发送的报文存储在所述存储器中的N个队列里,N为大于等于2的正整数;所述处理器1102,用于上述的ECN水线值的配置方法。其中,存储器中可以存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令;当所述处理器调用所述指令时,使得所述装置执行以上实施例以及实施例提供的配置方法,下面对该网络设备的各个单元器件的功能进行介绍。
所述处理器1101、所述存储器1102之间通过总线1103相互连接。所述总线1103可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器1102中存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令。存储器1102可能包含随机存取存储器(random access memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。处理器1101执行存储器1102中的程序指令,并使用所述存储器1002中存储的数据,实现上述功能,从而实现上述实施例提供的数据处理方法。
可以理解,本申请图11中的存储器1102可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
需要说明的是,本申请以上实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
基于以上实施例,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,所述计算机程序被计算机执行时,使得计算机执行以上实施例提供的数据处理方法。
其中,存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
本申请实施例中所描述的各种说明性的逻辑单元和电路可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列(FPGA)或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本申请实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件单元、或者这两者的结合。软件单元可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于终端设备中。可选地,处理器和存储媒介也可以设置于终端设备中的不同的部件中。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管结合具体特征及其实施例对本发明进行了描述,显而易见的,在不脱离本发明的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本发明的示例性说明,且视为已覆盖本发明范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (14)
1.一种ECN水线值的配置方法,其特征在于,所述方法包括:
根据轮询时长和N个队列中队列j的第一数据量,确定所述队列j的ECN水线值,其中,所述轮询时长为历史上采用轮询算法轮询调度所述N个队列一次所需的时长,所述队列j的第一数据量用于指示所述队列j在一次轮询调度时发送的最大数据量,所述N个队列用于存储待发送的报文,N为大于等于2的正整数,j为队列标识。
2.根据权利要求1所述的方法,其特征在于,所述队列j的ECN水线值与所述队列j的第一数据量和所述轮询时长的商成正比。
3.根据权利要求1所述的方法,其特征在于,所述队列j的ECN水线值与所述队列j的第一数据量和所述轮询时长的商成正比,且基于所述队列j的增强系数变化,其中,所述增强系数根据所述队列j的缓存占用率和/或所述队列j的队列优先级确定。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述队列j的第一数据量为所述轮询算法中队列j的权重与平均包长的乘积。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述队列j的ECN水线值不大于第一值,其中,所述第一值为出口带宽,或者,所述第一值为根据所述队列j的权重为所述队列分配的带宽。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述轮询算法包括以下任一项:
加权轮询WRR算法;
差额轮询DRR算法。
7.一种用于配置ECN水线值的装置,其特征在于,所述装置包括:
存储器,用于存储待发送的报文,所述待发送的报文存储在所述存储器中的N个队列里,N为大于等于2的正整数;
ECN水线值确定单元,用于根据轮询时长和所述N个队列中队列j的第一数据量,确定所述队列j的ECN水线值,其中,所述轮询时长为历史上采用轮询算法轮询调度所述N个队列一次所需的时长,所述队列j的第一数据量用于指示所述队列j在一次轮询调度时发送的最大数据量,j为队列标识。
8.根据权利要求7所述的装置,其特征在于,所述队列j的ECN水线值与所述队列j的第一数据量和所述轮询时长的商成正比。
9.根据权利要求7所述的装置,其特征在于,所述队列j的ECN水线值,与所述队列j的第一数据量和所述轮询时长的商成正比,且基于所述队列j的增强系数变化,其中,所述增强系数根据所述队列j的缓存占用率和/或所述队列j的队列优先级确定。
10.根据权利要求7-9中任一项所述的装置,其特征在于,所述队列j的第一数据量为所述轮询算法中队列j的权重与平均包长的乘积。
11.根据权利要求7-10中任一项所述的装置,其特征在于,所述队列j的ECN水线值不大于第一值,所述第一值为出口带宽,或者,所述第一值为根据所述队列j的权重为所述队列分配的带宽。
12.根据权利要求7-11中任一项所述的装置,其特征在于,所述轮询算法包括以下任一项:
加权轮询WRR算法;
差额轮询DRR算法。
13.一种网络设备,其特征在于,包括处理器和存储器;
所述存储器,用于存储待发送的报文,所述待发送的报文存储在所述存储器中的N个队列里,N为大于等于2的正整数;
所述处理器,用于执行权利要求1-6中任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010518306.1A CN113783785A (zh) | 2020-06-09 | 2020-06-09 | Ecn水线值的配置方法、装置及网络设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010518306.1A CN113783785A (zh) | 2020-06-09 | 2020-06-09 | Ecn水线值的配置方法、装置及网络设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113783785A true CN113783785A (zh) | 2021-12-10 |
Family
ID=78834363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010518306.1A Pending CN113783785A (zh) | 2020-06-09 | 2020-06-09 | Ecn水线值的配置方法、装置及网络设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113783785A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114363227A (zh) * | 2021-12-29 | 2022-04-15 | 中国信息通信研究院 | 用于确定ecn性能的方法及装置、电子设备、存储介质 |
CN115174476A (zh) * | 2022-06-30 | 2022-10-11 | 苏州浪潮智能科技有限公司 | 一种ecn控制方法、装置以及介质 |
CN115801708A (zh) * | 2023-02-03 | 2023-03-14 | 中国科学技术大学 | 基于强化学习的ecn水线自适应配置方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1863164A (zh) * | 2006-01-12 | 2006-11-15 | 华为技术有限公司 | 一种abis接口反向拥塞控制方法和收发基站 |
US20110211449A1 (en) * | 2010-02-26 | 2011-09-01 | Microsoft Corporation | Communication transport optimized for data center environment |
CN109660468A (zh) * | 2017-10-12 | 2019-04-19 | 深圳市中兴微电子技术有限公司 | 一种端口拥塞管理方法、装置和设备 |
CN110061927A (zh) * | 2019-04-26 | 2019-07-26 | 东南大学 | 一种多队列数据中心环境中面向微突发流的拥塞感知与标记方法 |
-
2020
- 2020-06-09 CN CN202010518306.1A patent/CN113783785A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1863164A (zh) * | 2006-01-12 | 2006-11-15 | 华为技术有限公司 | 一种abis接口反向拥塞控制方法和收发基站 |
US20110211449A1 (en) * | 2010-02-26 | 2011-09-01 | Microsoft Corporation | Communication transport optimized for data center environment |
CN109660468A (zh) * | 2017-10-12 | 2019-04-19 | 深圳市中兴微电子技术有限公司 | 一种端口拥塞管理方法、装置和设备 |
CN110061927A (zh) * | 2019-04-26 | 2019-07-26 | 东南大学 | 一种多队列数据中心环境中面向微突发流的拥塞感知与标记方法 |
Non-Patent Citations (3)
Title |
---|
YAWEN PAN等: "Support ECN in Multi-Queue Datacenter Networks via per-Port Marking with Selective Blindness" * |
YAWEN PAN等: "Support ECN in Multi-Queue Datacenter Networks via per-Port Marking with Selective Blindness", 《2018 IEEE 38TH INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS》 * |
黄米青: "无损网络下交换机实现", 《电脑知识与技术》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114363227A (zh) * | 2021-12-29 | 2022-04-15 | 中国信息通信研究院 | 用于确定ecn性能的方法及装置、电子设备、存储介质 |
CN114363227B (zh) * | 2021-12-29 | 2023-08-08 | 中国信息通信研究院 | 用于确定ecn性能的方法及装置、电子设备、存储介质 |
CN115174476A (zh) * | 2022-06-30 | 2022-10-11 | 苏州浪潮智能科技有限公司 | 一种ecn控制方法、装置以及介质 |
CN115174476B (zh) * | 2022-06-30 | 2023-08-04 | 苏州浪潮智能科技有限公司 | 一种ecn控制方法、装置以及介质 |
CN115801708A (zh) * | 2023-02-03 | 2023-03-14 | 中国科学技术大学 | 基于强化学习的ecn水线自适应配置方法 |
CN115801708B (zh) * | 2023-02-03 | 2023-04-21 | 中国科学技术大学 | 基于强化学习的ecn水线自适应配置方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10772081B2 (en) | Airtime-based packet scheduling for wireless networks | |
US11316795B2 (en) | Network flow control method and network device | |
CN109039936B (zh) | 传输速率控制方法、装置、发送设备和接收设备 | |
US11171862B2 (en) | Multi-subflow network transmission method and apparatus | |
CN109120544B (zh) | 一种数据中心网络中基于主机端流量调度的传输控制方法 | |
EP2438716B1 (en) | Congestion-based traffic metering | |
CN113783785A (zh) | Ecn水线值的配置方法、装置及网络设备 | |
CN113726671B (zh) | 一种网络拥塞控制方法及相关产品 | |
US20220407808A1 (en) | Service Level Adjustment Method, Apparatus, Device, and System, and Storage Medium | |
CN107835133B (zh) | 一种基于多属性决策的流优先级控制方法 | |
JP2006506845A (ja) | ルータにおけるパケットに対し論理リンクを選択する方法 | |
JP4523596B2 (ja) | ネットワークのためのパケットのフレームへのカプセル化 | |
US20220103465A1 (en) | Multi-Subflow Network Transmission Method and Apparatus | |
WO2018149228A1 (zh) | 报文发送方法及装置 | |
US20240098155A1 (en) | Systems and methods for push-based data communications | |
CN103858474A (zh) | 针对传输网络的增强性能的基于服务的配置 | |
CN109995608B (zh) | 网络速率计算方法和装置 | |
Balogh et al. | Performance of round robin-based queue scheduling algorithms | |
CN114531399B (zh) | 一种内存阻塞平衡方法、装置、电子设备和存储介质 | |
Xia et al. | Active queue management with dual virtual proportional integral queues for TCP uplink/downlink fairness in infrastructure WLANs | |
WO2021254475A1 (zh) | 一种用于调度队列的方法及装置 | |
CN114979011A (zh) | 一种应用于园区网络的拥塞控制方法 | |
Irawan et al. | Performance evaluation of queue algorithms for video-on-demand application | |
US20230254264A1 (en) | Software-defined guaranteed-latency networking | |
KR20050099241A (ko) | 보장형 서비스 제공 기능을 갖는 경계노드의 스케줄러 및그 방법 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20211210 |