CN111316605B - 第3层公平速率拥塞控制通知 - Google Patents
第3层公平速率拥塞控制通知 Download PDFInfo
- Publication number
- CN111316605B CN111316605B CN201880071348.6A CN201880071348A CN111316605B CN 111316605 B CN111316605 B CN 111316605B CN 201880071348 A CN201880071348 A CN 201880071348A CN 111316605 B CN111316605 B CN 111316605B
- Authority
- CN
- China
- Prior art keywords
- length
- rate
- threshold
- fairness
- queue
- 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
Links
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/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/6255—Queue scheduling characterised by scheduling criteria for service slots or service orders queue load conditions, e.g. longest queue first
-
- 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/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
-
- 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/30—Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- 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/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
包括从网络接收数据分组/向网络发送数据分组的端口的网络设备接收多个业务流的数据分组并用这些数据分组填充存储器中的队列。该网络设备周期性地更新多个业务流的公平速率,以将队列的长度收敛到参考长度。具体地,该网络设备确定队列的长度,与先前长度相比的长度变化,以及与参考长度相比的长度偏差。该网络设备检测长度变化的增加高于基于参考长度的阈值。如果该增加不高于该阈值,则该网络设备使用比例积分控制从先前公平速率导出公平速率。该网络设备在多个业务流中标识大象流,并将公平速率发送到每个大象流的源。
Description
技术领域
本公开涉及网络中的数据速率反馈控制。
背景技术
现代数据中心应用通常要求网络同时提供高吞吐量和低延迟。不幸的是,在数据中心和用于通信的网络中实现的传统传输控制协议(TCP)/互联网协议(IP)堆栈通常不能满足这些同时的要求。远程直接存储器访问(RDMA)是一种有希望应对上述挑战的技术;然而,RDMA以及数据中心中的存储网络通常依赖基于优先级的流控制(PFC)来实现无丢包网络。PFC可能会由于诸如线端(head of line)阻塞和不公平计算之类的问题而导致数据中心中所托管的应用性能较差。在IEEE 802.1工作组(IEEE 802.1Qau)中引入和标准化量化拥塞通知(QCN),以解决PFC的限制。然而QCN是基于开放系统互连(OSI)第2层的技术,并且在IP路由数据中心中,其应用受到限制。行业需要一种有效且快速的响应机制来提供OSI第3层拥塞控制。
附图说明
图1是根据示例实施例的可以在其中实现针对第3层公平速率拥塞控制通知(L3FCN)的实施例的网络环境的框图。
图2是根据示例实施例的被配置为实现L3FCN的网络设备的框图。
图3是根据示例实施例的网络设备中的输出分组队列的图示。
图4是根据示例实施例的在网络设备中实现的L3FCN的高级方法的流程图。
图5是根据示例实施例的扩展图4的L3FCN方法的流程图。
图6是根据示例实施例的计算用于L3FCN中的积分比例控制的可调控制参数的方法的流程图。
图7是根据示例实施例的每次/当针对给定队列接收到业务(traffic)流的数据分组时执行的L3FCN方法的流程图。
图8是根据示例实施例的用于公平速率消息的格式的图示。
具体实施方式
概述
在独立权利要求中陈述了本发明的各方面,并且在从属权利要求中陈述了优选的特征。一个方面的特征可以单独地或与其他方面结合地应用于每个方面。
具有被配置为从网络接收数据分组/向网络发送数据分组的多个端口的网络设备(例如,网络交换机或路由器)执行第3层公平速率拥塞控制通知(L3FCN)的方法。该方法包括:接收多个业务流的数据分组,用这些数据分组填充存储器中的队列,以及周期性地更新要应用于多个业务流中的业务流的公平速率,以随时间将队列的长度收敛到参考长度。更新包括:测量队列的长度,计算与先前长度相比的长度变化,以及计算与参考长度相比的长度偏差;检测长度变化的增加高于基于参考长度的至少一个阈值。更新还包括:(i)如果该增加不高于表示长度变化突然且显著的增加的至少一个阈值,则使用基于可调控制参数的比例积分控制(proportional integral control)来从先前公平速率导出公平速率,以及(ii)如果该增加高于该至少一个阈值,则相对于使用比例积分控制,使用乘法减小控制(multiplicative decrease control)来加快收敛速度,以将先前公平速率降低至公平速率。该方法还包括:周期性地标识多个业务流中的大象流;以及周期性地将公平速率发送给每个大象流的源。
本文还描述了用于实现本文描述的方法的系统和装置,包括用于实现这些方法的网络节点、计算机程序、计算机程序产品、计算机可读介质以及在有形介质上编码的逻辑。
示例实施例
参照图1,是网络环境100的框图,在其中可以实现针对第3层公平速率拥塞控制通知(L3FCN)的实施例。L3FCN在本文中也可以更简单地被称为“第3层公平速率拥塞控制”(L3FC)。环境100包括连接到通信网络104的端点设备102(1)-102(3)(统称为“端点102”,并且单个称为“端点102”)。通信网络104可以包括一个或多个局域网(LAN)和一个或多个广域网(WAN)(例如,互联网)。通信网络104包括诸如路由器和/或交换机之类的网络设备(ND)106(1)、106(2)和108(1)-108(3),以将业务(例如,IP分组形式的数据分组)路由和交换通过通信网络。端点102可以包括托管在数据中心(未示出)中的服务器设备(例如,“服务器”)和客户端设备(即“客户端”),其使用任何已知的或以后开发的通信协议(例如,TCP/IP等)通过通信网络104中的网络设备106彼此通信。在图1的示例中,网络设备106(1)和106(2)可以表示叶-脊网络中的脊交换机,而网络设备108(1)-108(3)(统称为“网络设备108”,并且单个称为“网络设备108”)可以表示架顶式(TOR)交换机,其用作在端点102与网络设备106(1)和106(2)中的相应网络设备之间的中间节点。应该理解,网络环境100可以包括比图1中示例所示更多的端点和网络设备。而且,除了图1所示之外,网络环境100还可以采用任何数目的不同的网络拓扑。
在高级别上,在图1的示例中,网络设备108(例如,TOR交换机)每个接收多个业务流T作为源自各业务源(例如,端点102(1)-102(3))的IP分组的流,并且基于IP分组的报头中的5元组将这些IP分组引导到各目的地(例如,其他端点或网络设备106/108)。根据本文呈现的实施例,每个网络设备108基于对一个或多个动态变化的分组队列的定量分析来对接收到的/传入的业务流执行/施加数据速率控制,其中这些队列用于在网络设备中临时存储来自业务流的IP分组。这个过程被称为L3FCN,每个网络设备108通过该过程来对每个接收到的/传入的业务流施加“公平速率”。根据L3FCN,每个网络设备108导出或计算针对馈入/填充分组队列的传入/接收到的业务流的公平速率,然后在公平速率消息C中将这些公平速率的指示发送给业务流所源自(即,与公平速率有关)的源(例如,端点102)。端点102通常包括各自的速率限制器(RL)110,其被配置为响应于消息C中所指示的公平速率来限制端点发送/传输它们各自的业务的数据速率(更简单地称为“速率”)。替代地,如果端点102不具有执行速率控制/限制的能力,ToR交换机108之中的目标交换机导出公平速率并将相应的控制消息C发送到ToR交换机之中的源ToR,该源ToR响应于控制消息C而施加公平速率。
参照图2,是被配置为实现L3FCN的示例网络设备200的框图,其代表每个网络设备108。网络设备200包括用于向网络发送业务(例如,IP分组)和从网络接收业务(例如,IP分组)的多个网络输入/输出(I/O)端口242(1)-242(M)、分组转发/处理单元243、网络处理器244(也简称为“处理器”)、存储器246、和被配置为向端口和/或用于在端口242(1)-242(M)上接收的IP分组的网络处理器提供亚毫秒级时间戳(即,具有微秒分辨率的时间戳)的当前时钟247。分组转发/处理单元243例如是一个或多个专用集成电路(ASIC),其包括分组缓冲器、分组队列、以及用于执行分组转发操作的其他控制逻辑。处理器244是被配置为执行对交换机106的更高级别控制的微控制器或微处理器。为此,存储器246存储软件指令,这些指令当由处理器244执行时,使得处理器244执行各种操作,包括本文描述的操作。例如,存储器246存储用于L3FCN逻辑250的指令,以执行本文描述的操作,包括下文描述的方法400-700。L3FCN逻辑250还可包括分组转发单元243中的逻辑组件。存储器246还存储由逻辑250使用和生成的数据260。此类数据可包括分组队列、与队列有关的阈值、公平速率、与队列有关的参数(例如,长度、长度变化、和偏差)、可调控制参数等,如将在下文所描述的。
如上所述,主要在每个网络设备108中实现的L3FCN针对传入的业务流导出公平速率。更具体地,L3FCN针对网络设备中的每个队列(即,基于每个队列)导出相应的公平速率。多个业务流可以馈入任何给定的队列,并且这些业务流可以包括被称为“大象流”的相对较大的业务流和被称为“老鼠流”的相对较小(小于大象流)的业务流,如相关领域的普通技术人员将理解的。下面结合图3描述不同大小的流的示例。在实施例中,对于每个队列,L3FCN使用任何已知的或以后开发的标识大象流的技术来标识馈入该队列的大象流,然后将公平速率仅应用于所标识的大象流,即,向大象流所源自的端点/源发送公平速率的指示。
参照图3,是网络设备108(1)中的队列300的图示,其可以包括多个相似的队列。多个端点/源S1、S2和S3发起多个业务流T1、T2和T3中的相应业务流,即,S1-S3代表业务流T1-T3的源。网络设备108(1)在网络设备的入端口处接收来自多个业务流T1、T2和T3的IP分组,并将这些IP分组存储在队列300中。然后,将这些IP分组从队列300馈入到网络设备的出端口,因此该队列可以被称为“输出队列”。网络设备108(1)基于IP分组的报头中标识IP分组所源自的源/端点(例如,S1、S2等等)的5元组信息(例如,报头中的源IP地址)来将每个IP分组归类到相应的业务流。源自相同源的IP分组被归类到相同的业务流。网络设备108(1)基于已经针对馈入队列300的每个业务流接收到的IP分组的数目来维护量化统计。当与给定业务流/该业务流的源相关联的量化统计超过或高于指示大象流的阈值时,网络设备108(1)将该业务流标识或标记为大象流。在一个示例中,网络设备108(1)简单地对在给定时间段内针对给定业务流/业务流的源接收到的IP分组进行计数,并且当该数目超过阈值数时,该流被标记为大象流。根据以下呈现的实施例,L3FCN针对队列300(和网络设备108(1)中的每个其他队列)导出相应的公平速率,并将公平速率至少应用于队列中的大象流。在实施例中,L3FCN将公平速率仅应用于队列中的大象流。
在图3的示例中,队列300包括用于大象流T1和T3以及老鼠流T2的IP分组。网络设备108(1)维护标识网络设备的大象流的列表。例如,网络设备108(1)维护网络设备的大象流T1和T3的源S1和S3(例如,与源S1和S3相对应的端点的IP地址)的列表304。L3FCN仅将针对队列300导出的公平速率应用于大象流T1和T3中的每个大象流,例如,将公平速率的指示发送回相应大象流所源自的IP地址(例如,S1和S2)中的每个IP地址。
参照图4,是L3FCN的示例高级别方法400的流程图。方法400可以主要由结合速率限制器进行操作的网络设备(例如,网络设备108(1))执行/在该网络设备处执行。网络设备包括多个端口(例如,端口242),其被配置为从网络接收数据分组(例如,IP分组)/向网络发送数据分组。
在401,网络设备接收多个业务流的数据分组(例如,IP分组),并用这些数据分组在网络设备的存储器中填充队列(例如,队列300)。也就是说,该多个业务流共享相同的队列。
在下文详细描述的402-406中,L3FCN周期性地更新要应用于/施加于多个业务流中的大象流的公平速率(也被表示为“fairRate”),以使队列的当前长度(即,当前队列长度(Qlen))随时间收敛到目标或参考队列长度(Qref)。L3FCN基于以下各项来更新公平速率:(i)当前队列长度(Qlen);(ii)队列长度的变化方向(即,队列长度是随时间增加还是减少,如由Qlen–Qold所给出的,其中Qold表示先前的队列长度);以及(iii)队列长度与参考队列长度(Qref)的偏差(如Qlen-Qref所给出的)。对公平速率的更新/调整包括基于上述量的两个可能阶段:(i)对公平速率的乘法减小控制,该控制响应于队列长度突然且显著的变化,这种变化指示队列因大象流产生严重拥塞,否则,(ii)在正常操作条件下,基于可调控制参数(即,基于比例积分控制调整)的对公平速率的比例积分控制,该控制也会自动调整控制参数,如下文所述。
在402,L3FCN确定/测量与队列有关的量/参数。例如,L3FCN(i)测量当前队列长度(Qlen),(ii)计算与先前队列长度相比队列长度的变化(即,Qlen-Qold)和队列长度变化的方向,以及(iii)计算当前队列长度与参考长度的偏差(即,Qlen-Qref)。
在404,通过使用在402处确定的与队列有关的量,L3FCN检测/确定队列长度是否引起了长度突然且显著的变化,即,是否在给定(较短)时间段中已经存在长度变化的“符合资格的(qualifying)”增加。响应于这种突然且显著的长度变化,L3FCN使用乘法减小控制以大/粗略的步长将先前的公平速率迅速降低至(当前/新的)公平速率(简称为“公平速率”)。相对于使用比例积分,这将加速使队列长度收敛到参考队列长度,其中比例积分通常在没有突然且显著的长度变化时使用。
例如,为了检测队列长度是否发生了突然且显著的长度变化,L3FCN执行顺序测试以检测长度变化的增加是否高于一个或多个阈值,每个阈值均基于参考长度。L3FCN执行第一测试,该第一测试测试是否满足当前队列长度大于(即,高于)参考队列长度的倍数(例如,三倍参考队列长度)并且队列长度的变化也大于参考队列长度的倍数,即,第一测试测试以下条件是否为真:
(Qlen>3*Qref)&&(Qlen-Qold)>3*Qref。
如果第一测试通过/为真,则L3FCN将公平速率设置为等于公平速率的预定最小速率(MIN_RATE),即:
fairRate=MIN_RATE。
如果第一测试失败,则L3FCN执行第二测试,该第二测试测试队列长度的变化是否大于参考队列长度,即,是否:
(Qlen-Qold)>Qref。
如果第二测试通过,则L3FCN使用乘法减小控制从(先前)公平速率中导出公平速率,即,将先前公平速率调整到公平速率。例如,L3FCN将当前公平速率设置为等于先前公平速率的分数(小于1),例如:
(当前)fairRate=(先前)fairRate/2。
在406,如果队列长度的变化没有增加到高于(如在操作404中测试的)任何上述阈值(即,没有高于这些阈值中的至少一个阈值),则队列长度的变化(例如,增加)不是如上面定义的突然且显著的。这对应于用于管理业务流(公平速率)控制的正常操作条件,即,在业务流处于控制下并且响应于反馈控制消息C以其公平速率被发送时。因此,L3FCN基于上述可调控制参数并且还使用在402处确定的与队列有关的参数来使用比例积分控制逐步地(即,以精细的步长)从先前公平速率导出公平速率(即,将先前公平速率调整到当前公平速率)。具体地,对公平速率的比例积分控制导出/调整包括:如果长度与参考长度的偏差指示该长度小于或高于参考长度,则分别将先前公平速率增加或减少一定量以产生公平速率,该量是以下项的函数:(i)第一可调控制参数A与(长度跟参考长度的)偏差的乘积,以及(ii)第二可调控制参数B与长度变化的乘积。也就是说,L3FCN可以根据以下比例积分控制调整从先前公平速率导出公平速率(即,将先前公平速率调整到(当前)公平速率):
(当前)fairRate=(先前)fairRate-(A*(Qlen-Qref)+B*(Qlen-Qold)),
其中A和B表示可调控制参数。
在用于比例积分控制调整的以上公式中,Qold可以简单地表示当前队列长度Qlen的先前测量值。在另一实施例中,L3FCN可以将先前队列长度Qold计算为先前测量队列长度和当前测量队列长度的加权平均值,例如根据:Qold=Qold/2+Qlen/2。
在实施例中,L3FCN根据被称为“链路速度(LinkSpeed)”的速率来计算/调整控制参数A和B,其中,以该速率,存储在队列中的分组经由网络设备的一个或多个端口被从队列中排出。在其中队列通过单个端口排出的示例中,LinkSpeed可以等于该端口操作的数据速率(即,端口速度)。如果多个队列共享端口,则针对每个队列的LinkSpeed将小于端口速度。在示例中,L3FCN计算控制参数A和B,使得这些参数各自与项“比率(Ratio)”成反比。
为了计算项“比率”(也被称为“比率除数”),L3FCN首先确定满足以下表达式的最大整数N(即,N是使以下条件/表达式为真的最大整数):
(先前)fairRate<((LinkSpeed/N)+MIN_RATE)。
然后,L3FCN将比率计算为与N成比例的值,例如根据:
Ratio=N/2。
然后,L3FCN执行短队列长度测试,即,测试(Qlen<Qref/8and Qold<Qref/8)是否为真/通过。
如果短队列长度通过并且如果比率大于或等于某个大于1的阈值,则L3FCN通过除以大于1的整数系数来减小比率N/2(例如,Ratio=Ratio/4)。
另一方面,如果短队列长度测试通过并且如果比率小于4,则L3FCN保持比率为N/2。短队列长度测试以及由此产生的操作避免了吞吐量损失。
使用如上计算的比率的值,L3FCN然后根据以下结合图6描述的公式来计算控制参数A和B。
在408,L3FCN周期性地在队列的多个业务流中标识大象流。网络设备可以使用/维护“大象陷阱”,该“大象陷阱”标识队列的繁重用户/大象流,其中该队列可能由于大象流而变得拥塞。在示例中,大象陷阱可以在分组转发单元243或网络设备中的其他地方实现。
在410,L3FCN周期性地将公平速率的指示发送给每个大象流的源。在实施例中,L3FCN周期性地将公平速率仅发送给大象流的源,而不发送给业务流的其他源。公平速率指示可以具有通用格式,例如包括表示公平速率的多个比特的字段(例如,16比特字段)。多比特字段可用于表示从最小公平速率到最大公平速率的单调递增公平速率的范围。当每个大象流的源(例如,端点120)接收到所指示的公平速率时,源中的速率限制器(例如,速率限制器110)在源处施加所指示的公平速率,即,将针对相关联的流的数据传输速率设置为所指示的公平速率。在端点中,速率限制器可以在网络接口卡(NIC)中实现。替代地,速率限制器可以在位于数据中心或网络104的边缘处的馈入网络设备的传入TOR中实现。
参照图5,是扩展了操作402-406流程图,即,周期性地导出公平速率。
在502,L3FCN测量当前队列长度Qlen,并且确定队列长度的变化Qlen-Qold,以及队列长度与参考队列长度的偏差。
在504,L3FCN检测队列长度的变化是否有突然且显著的增加,例如,第一测试((Qlen>3*Qref)&&(Qlen-Qold)>3*Qref)是否通过。如果第一测试通过,则流程进行至506,在此L3FCN将公平速率设置为等于MIN_RATE,然后流程返回。如果第一测试失败,则流程进行到508。
在508,L3FCN再次检测队列长度的变化是否有突然且显著的增加,例如第二测试((Qlen-Qold)>Qref)是否通过。如果第二测试通过,则流程进行到510,在此L3FCN将当前公平速率设置为等于先前公平速率除以大于1的整数(例如,2)。然后流程返回。如果第二测试失败,则流程进行到512。
在512,L3FCN使用以上结合方法400描述的操作来自动调整控制参数A和B,并且流程进行到514。
在514,L3FCN根据以下公式计算公平速率:
(当前)fairRate=(先前)fairRate-(A*(Qlen-Qref)+B*(Qlen-Qold))。
流程进行到516。在516,当更新计时器超时时,流程进行到502。以这种方式,包括操作502-514的循环随时间周期性地重复(即,随时间前进)。方法500是重复导出公平速率的方法,该方法可以在方法600和700中使用。
参照图6,是计算控制参数A和B,即自动调整控制参数的方法600的流程图。方法600从图5的操作512上扩展。
在602,L3FCN初始化A和B,即,将A和B设置为初始数值。初始数值可基于“LinkSpeed”进行调整。例如,对于40GHz的LinkSpeed,将A和B的初始数值分别设置为等于0.7/27和0.7/25,并且对于不同的LinkSpeed,将它们的初始数值设置为其他初始值。
在604,L3FCN迭代地测试整数N的单调递减值,以找到满足以下表达式的值中的一个最大值:
(先前)fair rate<((LinkSpeed/N)+MIN_RATE)公式(1)
当找到N的最大值时,L3FCN停止迭代,然后将比率的值设置为等于N/2。例如,在606,L3FCN设置N=128,并测试公式(1)是否通过。如果在606测试通过,则流程进行到608,在此L3FCN设置比率=N/2=64,然后流程进行到650。如果在606测试失败,则流程进行到610。在610,L3FCN设置N=64,并且再次测试公式(1)是否通过。如果在610测试通过,则流程进行到612。在612,L3FCN设置比率=N/2=32,并且流程进行到650。L3FCN继续在N值的一连串递减中朝操作628执行类似的迭代(包括操作对(614,616)、(618,620)、(622,624)、和(626,628))。如果公式(1)的测试未被操作628通过,则在630,L3FCN将比率设置为等于1,并且流程进行到650。
在650,L3FCN执行“短队列”测试,例如,短队列测试(Qlen<Qref/8and Qold<Qref/8)是否通过。如果短队列测试通过,则流程进行到652,否则流程进行到654。
在652,L3FCN执行以下操作:
a.如果比率大于或等于大于1的阈值,则L3FCN通过除以系数4来减小比率,并且流程进行到654。
b.如果比率小于4,则L3FCN将比率保持在N/2,并且流程进行到654。
在654,L3FCN计算控制参数A和B,使得它们每个基于比率(例如,与比率成反比),如通过框654中的示例所示(A=(A的初始值/比率且B=(B的初始值)/比率)。
参照图7,是当(即,每次)针对给定队列(例如,队列300)接收到业务流的IP分组时执行的示例方法700的流程图。
在702,L3FCN确定IP分组是否属于馈入队列的大象流。如上所述,L3FCN可以(i)基于IP分组的IP报头的5元组中的字段(例如,源IP地址)来确定该IP分组属于哪个业务流,以及(ii)确定该业务流是否已超过指示大象流的定量阈值。L3FCN针对每个网络设备维护如下业务流的标识(例如,源IP地址(或其他5元组标识符))的列表(例如,列表304):其中,这些业务流对于该网络设备符合大象流的资格。如果IP分组不属于队列中的大象流,则流程返回。否则,流程进行到704。
在704,L3FCN确定L3FCN最近(例如在预定时间段内)是否已向在702处标识的大象流的源发送了包括公平速率指示的反馈消息(C)。如果是,则流程返回。否则,流程进行到706。
在706,L3FCN向在702处标识的大象流的源发送反馈消息(C),该反馈消息包括如上所述导出的最新/当前公平速率。流程进行到708。
在708,L3FCN确定所发送的公平速率是否等于MIN_RATE。如果否,则流程返回。否则,流程进行到710。
在710,L3FCN将在702处标识的大象流添加到特殊大象流的特殊列表(List),其中针对这些特殊大象流的相关联公平速率已被确定为等于MIN_RATE。
对于在710处被添加到特殊大象列表的每个特殊大象流,在712,L3FCN等待预定时间段(例如,以微秒(us)为单位)到期。当计时器到期时,流程进行到714。
在714,L3FCN将包括最新/当前公平速率的反馈消息(C)发送到特殊列表上的所有大象流,并且流程进行到716。
在716,L3FCN确定是否满足公平速率>LinkSpeed除以大于1的整数(例如,10)。如果否,则流程返回到712,否则流程进行到718。
在718,从特殊列表中移除最近添加到特殊列表的大象流。
在方法700中,操作702-710表示分组驱动的反馈,其中,在大象流的分组到达时,如果自先前的反馈消息被发送起已经经过了至少T微秒,则将指示当前公平速率的反馈消息发送到大象流的业务源。周期T是可变的,例如,在过渡时期内为10us,并且在稳态条件期内为40us。另一方面,操作712-718表示计时器驱动的反馈,其中,每T us发送指示特殊列表上公平速率=MIN_RATE的大象流的当前公平速率的反馈消息,因为这些流的分组不会经常到达;一旦它们的公平速率上升到高于某个阈值,就将特殊列表上的大象流从特殊列表中移除。
参照图8,是表示图1的公平速率消息C的示例公平速率消息800的图示,该公平速率消息800包括用于指示该消息是公平速率消息的类型字段802、与IP分组的报头中传达源地址和目的地地址信息的5元组相似的5元组804、以及传达公平速率的多比特值的公平速率字段806。
总之,L3FCN在常规数据中心QCN(DCQCN)拥塞控制的基础上进行了改进,该常规数据中心QCN(DCQCN)拥塞控制不利地仅使用单比特显式拥塞控制(ECN)标记来帮助源降低其传输数据速率。通过使用到业务源的直接的多比特速率反馈(即,公平速率指示)并在严重拥塞情况下使用乘法减小,L3FCN收敛地比DCQCN快得多并且可以处理更大数目的大象流。L3FCN也更加稳定并且可以实现全链路利用率,而DCQCN往往较不稳定并且会丢失吞吐量。
L3FCN采用简单直接的陷阱来捕获大象流,使得可以将公平速率发送给大象流的源。以这种方式,不会引起拥塞的老鼠流不受影响,减少了向老鼠流发送不必要的反馈消息的情况,并且避免了在NIC或传入TOR上浪费速率限制器。
总之,包括从网络接收数据分组/向网络发送数据分组的端口的网络设备接收多个业务流的数据分组并且用这些数据分组填充存储器中的队列。该网络设备周期性地更新多个业务流的公平速率,以将队列的长度收敛到参考长度。具体地,网络设备确定队列的长度、与先前长度相比的长度变化、以及与参考长度相比的长度偏差。网络设备检测到长度变化的增加高于基于参考长度的阈值。如果增加不高于阈值,则网络设备使用比例积分控制从先前公平速率中导出公平速率。网络设备在多个业务流中标识大象流,并将公平速率发送到每个大象流的源。
在一种形式中,提供了一种方法,该方法包括:在具有被配置为从网络接收数据分组/向网络发送数据分组的多个端口的网络交换机或路由器处,接收多个业务流的数据分组并用这些数据分组填充网络交换机或路由器的存储器中的队列;周期性地更新要应用于多个业务流中的业务流的公平速率,以随时间将队列的长度收敛到参考长度,该更新包括:测量队列的长度,计算与先前长度相比的长度变化,以及计算与参考长度相比的长度偏差;检测长度变化的增加高于基于参考长度的至少一个阈值;以及如果该增加不高于该至少一个阈值,则使用基于可调控制参数的比例积分控制从先前公平速率导出公平速率;周期性地标识多个业务流中的大象流;以及周期性地将公平速率发送给每个大象流的源。
在另一形式中,提供了一种装置,该装置包括:多个端口,被配置为从网络接收数据分组/向网络发送数据分组;以及处理器,其耦接至这些端口并被配置为:接收多个业务流的数据分组,并用这些数据分组填充队列;周期性地更新要应用于多个业务流中的业务流的公平速率以随时间将队列长度收敛到参考长度,使得处理器被配置为:测量队列长度,计算与先前长度相比的长度变化,以及计算与参考长度相比的长度偏差;检测长度变化的增加高于基于参考长度的至少一个阈值;以及如果该增加不高于该至少一个阈值,则使用基于可调控制参数的比例积分控制从先前公平速率导出公平速率;周期性地标识多个业务流中的大象流;以及周期性地将公平速率发送给每个大象流的源。
在又一形式中,提供了一种计算机可读介质。该计算机可读介质被用指令编码,这些指令在由处理器执行时执行以下操作:接收多个业务流的数据分组,以及用这些数据分组填充存储器中的队列;周期性地更新要应用于多个业务流中的业务流的公平速率以随时间将队列长度收敛到参考长度,该更新包括:测量队列的长度,计算与先前长度相比的长度变化,以及计算与参考长度相比的长度偏差;检测长度变化的增加高于基于参考长度的至少一个阈值;以及如果该增加不高于该至少一个阈值,则使用基于可调控制参数的比例积分控制来从先前公平速率导出公平速率;周期性地标识多个业务流中的大象流;以及周期性地将公平速率发送给每个大象流的源。
尽管这些技术在本文被示出和描述为体现在一个或多个特定示例中,但是不旨在限于所示出的细节,因为可以在权利要求的等同范围内进行各种修改和结构变化。
Claims (18)
1.一种用于控制网络中的数据速率的方法,包括:
在网络交换机或路由器处接收多个业务流的数据分组并用这些数据分组填充所述网络交换机或路由器的存储器中的队列,其中所述网络交换机或路由器具有被配置为从网络接收数据分组/向网络发送数据分组的多个端口;
周期性地更新要应用于所述多个业务流中的业务流的公平速率,以随时间将所述队列的长度收敛到参考长度,所述更新包括:
测量所述队列的长度,计算与先前长度相比的长度变化,以及计算与所述参考长度相比的长度偏差;
检测所述长度变化的增加高于至少一个阈值,该至少一个阈值基于所述参考长度;以及
如果所述增加不高于所述至少一个阈值,则使用基于可调整控制参数的比例积分控制通过分别将先前公平速率增加或降低一个量来从所述先前公平速率导出所述公平速率,所述量是以下项的函数:(i)第一可调控制参数与所述长度变化的乘积,以及(ii)第二可调控制参数与所述长度偏差的乘积;
周期性地标识所述多个业务流中的大象流;以及
周期性地向每个大象流的源发送所述公平速率,
其中,导出所述公平速率还包括:根据存储到所述队列的数据分组经由所述多个端口中的一个或多个端口被从所述队列排出的已知链路速度,来对所述第一可调控制参数和所述第二可调控制参数进行调整。
2.根据权利要求1所述的方法,还包括:
如果所述增加高于所述至少一个阈值,则所述更新包括:使用乘法减小控制来将所述先前公平速率降低到所述公平速率,以相对于使用所述基于可调整控制参数的比例积分控制而加速收敛。
3.根据权利要求2所述的方法,其中:
检测所述长度变化的增加高于所述至少一个阈值包括:测试所述增加是否高于第一阈值;
如果所述增加高于所述第一阈值,则所述降低包括将所述公平速率设置为等于公平速率的预定最小速率;
如果所述增加不高于所述第一阈值,则所述检测包括:测试所述增加是否高于第二阈值,其中该第二阈值低于所述第一阈值;以及
如果所述增加高于所述第二阈值但不高于所述第一阈值,则所述降低包括:将所述公平速率设置为等于所述先前公平速率的小于1的分数。
4. 根据权利要求3所述的方法,其中:
测试所述增加是否高于所述第一阈值包括:测试是否满足所述长度大于所述参考长度的倍数且所述长度变化高于所述第一阈值,其中所述第一阈值基于所述参考长度;以及
测试所述增加是否高于所述第二阈值包括:测试是否仅满足所述长度超过所述第二阈值,其中所述第二阈值基于所述参考长度。
5.根据权利要求1所述的方法,其中,所述函数由下式给出:
,其中:
Qlen是所述长度;
Qold是所述先前长度,因此(Qlen – Qold)是所述长度变化;
Qref是所述参考长度,因此(Qlen – Qref)是所述长度偏差;并且
A和B分别是所述第二可调控制参数和所述第一可调控制参数。
6.根据权利要求1所述的方法,其中,所述调整包括:
确定满足以下给出的表达式的最大整数N:先前公平速率 < ((链路速度/N) + 公平速率的预定最小速率);
计算与所述最大整数N成比例的比率除数;以及
计算所述第一可调控制参数和所述第二可调控制参数,使得每个可调控制参数与所述比率除数成反比。
7.根据权利要求6所述的方法,其中,计算所述比率除数包括:
将所述比率除数设置为等于所述最大整数N除以2;
执行短队列测试,以测试所述长度与所述先前长度是否都低于所述参考长度的预定分数;
如果所述短队列测试通过:
如果所述比率除数大于或等于大于1的阈值,则通过除以大于1的整数系数来降低所述比率除数;以及
如果所述比率除数小于4,则保持所述比率除数。
8.根据权利要求1至7中任一项所述的方法,还包括:
基于每个数据分组的报头中的5元组将该数据分组归类到相应的业务流,使得源自同一源的数据分组被归类到同一业务流中,
其中,所述标识包括将如下的每个业务流标识为大象流:被归类到该业务流的数据分组的数目超过数据分组的阈值数目。
9. 根据权利要求1至8中任一项所述的方法,其中,周期性地向每个大象流的源发送所述公平速率包括针对接收到的每个数据分组进行以下操作:
确定该数据分组是否属于大象流;以及
如果该数据分组属于大象流,则在所述公平速率先前未在预定时间段内被发送给所述源的情况下,将所述公平速率发送给所述源。
10.根据权利要求9所述的方法,还包括:
维护如下大象流的列表:针对这些大象流,所述发送包括发送所述公平速率的预定最小速率;
与接收所述数据分组相独立地,周期性地向所述列表上的大象流的源发送所述公平速率;以及
从所述列表中移除如下的每个大象流:针对该大象流,所述周期性地向所述列表上的大象流的源发送所述公平速率包括:将大于阈值公平速率的公平速率作为所述公平速率进行发送。
11. 一种用于控制网络中的数据速率的装置,包括:
多个端口,被配置为从网络接收数据分组/向网络发送数据分组;以及
处理器,耦合至所述端口并被配置为:
接收多个业务流的数据分组并用这些数据分组填充队列;
周期性地更新要应用于所述多个业务流中的业务流的公平速率,以随时间将所述队列的长度收敛到参考长度,使得所述处理器被配置为进行以下操作:
测量所述队列的长度,计算与先前长度相比的长度变化,以及计算与所述参考长度相比的长度偏差;
检测所述长度变化的增加高于至少一个阈值,该至少一个阈值基于所述参考长度;以及
如果所述增加不高于所述至少一个阈值,则使用基于可调整控制参数的比例积分控制通过分别将先前公平速率增加或降低一个量来从所述先前公平速率导出所述公平速率,所述量是以下项的函数:(i)第一可调控制参数与所述长度变化的乘积,以及(ii)第二可调控制参数与所述长度偏差的乘积;
周期性地标识所述多个业务流中的大象流;以及
周期性地向每个大象流的源发送所述公平速率,
其中,导出所述公平速率还包括:根据存储到所述队列的数据分组经由所述多个端口中的一个或多个端口被从所述队列排出的已知链路速度,来对所述第一可调控制参数和所述第二可调控制参数进行调整。
12.根据权利要求11所述的装置,其中,所述处理器还被配置为进行以下操作:
如果所述增加高于所述至少一个阈值,则使用乘法减小控制将所述先前公平速率降低到所述公平速率,以相对于使用所述基于可调整控制参数的比例积分控制而加速收敛。
13.根据权利要求12所述的装置,其中,所述处理器还被配置为进行以下操作:
通过测试所述增加是否高于第一阈值来检测所述长度变化的增加高于所述至少一个阈值;
如果所述增加高于所述第一阈值,则通过将所述公平速率设置为等于公平速率的预定最小速率来降低所述先前公平速率;
如果所述增加不高于所述第一阈值,则测试所述增加是否高于第二阈值,其中该第二阈值低于所述第一阈值;以及
如果所述增加高于所述第二阈值但不高于所述第一阈值,则将所述公平速率设置为等于所述先前公平速率的小于1的分数。
14.根据权利要求11至13中任一项所述的装置,还包括:
基于每个数据分组的报头中的5元组将该数据分组归类到相应的业务流,使得源自同一源的数据分组被归类到同一业务流中,
其中,所述标识包括将如下的每个业务流标识为大象流:被归类到该业务流的数据分组的数目超过数据分组的阈值数目。
15.一种非暂时性计算机可读介质,编码有指令,这些指令在被具有被配置为从网络接收数据分组/向网络发送数据分组的多个端口的网络交换机或路由器的处理器执行时,使得所述处理器执行以下操作:
接收多个业务流的数据分组并用这些数据分组填充存储器中的队列;
周期性地更新要应用于所述多个业务流中的业务流的公平速率,以随时间将所述队列的长度收敛到参考长度,所述更新包括:
测量所述队列的长度,计算与先前长度相比的长度变化,以及计算与所述参考长度相比的长度偏差;
检测所述长度变化的增加高于至少一个阈值,该至少一个阈值基于所述参考长度;以及
如果所述增加不高于所述至少一个阈值,则使用基于可调整控制参数的比例积分控制通过分别将先前公平速率增加或降低一个量来从所述先前公平速率导出所述公平速率,所述量是以下项的函数:(i)第一可调控制参数与所述长度变化的乘积,以及(ii)第二可调控制参数与所述长度偏差的乘积;
周期性地标识所述多个业务流中的大象流;以及
周期性地向每个大象流的源发送所述公平速率,
其中,导出所述公平速率还包括:根据存储到所述队列的数据分组经由所述多个端口中的一个或多个端口被从所述队列排出的已知链路速度,来对所述第一可调控制参数和所述第二可调控制参数进行调整。
16.根据权利要求15所述的非暂时性计算机可读介质,还包括用于使得所述处理器执行以下操作的指令:
如果所述增加高于所述至少一个阈值,则所述更新包括:使用乘法减小控制将所述先前公平速率降低到所述公平速率,以相对于使用所述基于可调整控制参数的比例积分控制而加速收敛。
17.一种网络交换机或路由器,具有被配置为从网络接收数据分组/向网络发送数据分组的多个端口,所述网络交换机或路由器包括:
用于接收多个业务流的数据分组的构件以及用于用这些数据分组填充所述网络交换机或路由器的存储器中的队列的构件;
用于周期性地更新要应用于所述多个业务流中的业务流的公平速率以随时间将所述队列的长度收敛到参考长度的构件,用于更新的构件包括:
用于测量所述队列的长度的构件,用于计算与先前长度相比的长度变化的构件,以及用于计算与所述参考长度相比的长度偏差的构件;
用于检测所述长度变化的增加高于至少一个阈值的构件,其中该至少一个阈值基于所述参考长度;以及
用于在所述增加不高于所述至少一个阈值的情况下,使用基于可调整控制参数的比例积分控制通过分别将先前公平速率增加或降低一个量来从所述先前公平速率导出所述公平速率的构件,所述量是以下项的函数:(i)第一可调控制参数与所述长度变化的乘积,以及(ii)第二可调控制参数与所述长度偏差的乘积;
用于周期性地标识所述多个业务流中的大象流的构件;以及
用于周期性地向每个大象流的源发送所述公平速率的构件,
其中,所述用于导出所述公平速率的构件被配置为根据存储到所述队列的数据分组经由所述多个端口中的一个或多个端口被从所述队列排出的已知链路速度,来对所述第一可调控制参数和所述第二可调控制参数进行调整。
18.根据权利要求17所述的网络交换机或路由器,还包括用于实现根据权利要求2至10中任一项所述的方法的构件。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/820,716 | 2017-11-22 | ||
US15/820,716 US10567300B2 (en) | 2017-11-22 | 2017-11-22 | Layer 3 fair rate congestion control notification |
PCT/US2018/061727 WO2019103953A1 (en) | 2017-11-22 | 2018-11-19 | Layer 3 fair rate congestion control notification |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111316605A CN111316605A (zh) | 2020-06-19 |
CN111316605B true CN111316605B (zh) | 2023-07-25 |
Family
ID=64665384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880071348.6A Active CN111316605B (zh) | 2017-11-22 | 2018-11-19 | 第3层公平速率拥塞控制通知 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10567300B2 (zh) |
EP (1) | EP3714579B1 (zh) |
CN (1) | CN111316605B (zh) |
WO (1) | WO2019103953A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10567300B2 (en) | 2017-11-22 | 2020-02-18 | Cisco Technology, Inc. | Layer 3 fair rate congestion control notification |
US20190356593A1 (en) * | 2018-05-21 | 2019-11-21 | Barefoot Networks, Inc. | Data plane with heavy hitter detector |
US10880206B2 (en) * | 2018-06-13 | 2020-12-29 | Futurewei Technologies, Inc. | Multipath selection system and method for datacenter-centric metro networks |
US11395174B2 (en) * | 2018-10-19 | 2022-07-19 | Anterix Inc. | Systems and methods for optimized LTE private networks |
US11171869B2 (en) * | 2019-04-10 | 2021-11-09 | At&T Intellectual Property I, L.P. | Microburst detection and management |
US10986026B2 (en) * | 2019-06-11 | 2021-04-20 | Cisco Technology, Inc. | Proportional integral based shaper for lossless output buffer |
US20210224138A1 (en) * | 2020-01-21 | 2021-07-22 | Vmware, Inc. | Packet processing with load imbalance handling |
CN113839884B (zh) * | 2020-06-24 | 2023-08-22 | 华为技术有限公司 | 流量控制方法和装置 |
CN111865812B (zh) * | 2020-07-06 | 2023-04-07 | 北京合众方达科技有限公司 | 一种分布式网络中sdn支撑高性能业务混传的方法 |
CN112104564A (zh) * | 2020-08-31 | 2020-12-18 | 新华三技术有限公司 | 一种负载分担方法及设备 |
CN112486681A (zh) * | 2020-11-26 | 2021-03-12 | 迈普通信技术股份有限公司 | 通信方法及网络设备 |
TWI763261B (zh) * | 2021-01-19 | 2022-05-01 | 瑞昱半導體股份有限公司 | 數據流分類裝置 |
CN114827042B (zh) * | 2021-01-22 | 2024-06-18 | 瑞昱半导体股份有限公司 | 数据流分类装置 |
US11882086B1 (en) * | 2022-06-29 | 2024-01-23 | Twilio Inc. | Dynamically distributing messaging resources in software as a service messaging platform |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1135894A1 (en) * | 1999-10-02 | 2001-09-26 | Samsung Electronics Co., Ltd. | Fair flow controlling method in packet networks |
WO2014069642A1 (ja) * | 2012-11-05 | 2014-05-08 | 日本電気株式会社 | 通信装置、送信データ出力制御方法、及びそのプログラム |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US124753A (en) * | 1872-03-19 | Improvement | ||
US4912661A (en) * | 1987-12-01 | 1990-03-27 | Hewlett-Packard Company | Tracking and resampling method and apparatus for monitoring the performance of rotating machines |
US7961621B2 (en) * | 2005-10-11 | 2011-06-14 | Cisco Technology, Inc. | Methods and devices for backward congestion notification |
US7729347B2 (en) * | 2006-05-31 | 2010-06-01 | Zvi Rosberg | Method and apparatus for fair flow control and congestion avoidance supporting multiple QoS class requirements |
US8243837B2 (en) * | 2007-06-19 | 2012-08-14 | Panasonic Corporation | Sequence allocating method and wireless mobile station device |
US8407364B2 (en) | 2007-10-25 | 2013-03-26 | Cisco Technology, Inc. | Apparatus and method for providing a congestion measurement in a network |
EP2243302B1 (en) * | 2008-01-14 | 2018-10-10 | Telefonaktiebolaget LM Ericsson (publ) | Method and nodes for congestion notification |
US8670324B2 (en) * | 2008-07-30 | 2014-03-11 | Fimax Technology Limited | Fair weighted network congestion avoidance |
US8310930B2 (en) * | 2009-06-05 | 2012-11-13 | New Jersey Institute Of Technology | Allocating bandwidth in a resilient packet ring network by PI controller |
CN102025617B (zh) * | 2010-11-26 | 2015-04-01 | 中兴通讯股份有限公司 | 以太网拥塞控制方法及装置 |
US9237107B2 (en) * | 2011-11-15 | 2016-01-12 | New Jersey Institute Of Technology | Fair quantized congestion notification (FQCN) to mitigate transport control protocol (TCP) throughput collapse in data center networks |
JP6034406B2 (ja) | 2012-01-25 | 2016-11-30 | ユニヴェルシテ カソリック ド ルーヴァンUniversite Catholique De Louvain | 細胞移植のための組成物および方法 |
US10193771B2 (en) | 2013-12-09 | 2019-01-29 | Nicira, Inc. | Detecting and handling elephant flows |
WO2015167437A1 (en) * | 2014-04-28 | 2015-11-05 | New Jersey Institute Of Technology | Congestion management for datacenter network |
US9614765B2 (en) | 2014-08-26 | 2017-04-04 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Quantized congestion notification (QCN) proxy function in data center bridging capabilities exchange (DCBX) protocol |
US10158574B2 (en) * | 2014-09-24 | 2018-12-18 | Foundation for Research and Technology—Hellas (F.O.R.T.H.) Institute of Computer Science (I.C.S.) | Dynamic max-min fair rate regulation apparatuses, methods, and systems |
US10530678B2 (en) * | 2017-07-20 | 2020-01-07 | Vmware, Inc | Methods and apparatus to optimize packet flow among virtualized servers |
US10567300B2 (en) | 2017-11-22 | 2020-02-18 | Cisco Technology, Inc. | Layer 3 fair rate congestion control notification |
-
2017
- 2017-11-22 US US15/820,716 patent/US10567300B2/en active Active
-
2018
- 2018-11-19 WO PCT/US2018/061727 patent/WO2019103953A1/en unknown
- 2018-11-19 CN CN201880071348.6A patent/CN111316605B/zh active Active
- 2018-11-19 EP EP18819396.5A patent/EP3714579B1/en active Active
-
2020
- 2020-01-09 US US16/738,659 patent/US11362960B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1135894A1 (en) * | 1999-10-02 | 2001-09-26 | Samsung Electronics Co., Ltd. | Fair flow controlling method in packet networks |
WO2014069642A1 (ja) * | 2012-11-05 | 2014-05-08 | 日本電気株式会社 | 通信装置、送信データ出力制御方法、及びそのプログラム |
Also Published As
Publication number | Publication date |
---|---|
EP3714579B1 (en) | 2023-10-18 |
US10567300B2 (en) | 2020-02-18 |
CN111316605A (zh) | 2020-06-19 |
EP3714579A1 (en) | 2020-09-30 |
US11362960B2 (en) | 2022-06-14 |
US20200153748A1 (en) | 2020-05-14 |
WO2019103953A1 (en) | 2019-05-31 |
US20190158415A1 (en) | 2019-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111316605B (zh) | 第3层公平速率拥塞控制通知 | |
EP2823610B1 (en) | Signalling congestion | |
Kabbani et al. | AF-QCN: Approximate fairness with quantized congestion notification for multi-tenanted data centers | |
JP7212441B2 (ja) | ネットワークにおけるフロー管理 | |
US7139281B1 (en) | Method, system and router providing active queue management in packet transmission systems | |
EP3323229B1 (en) | Method and apparatus for managing network congestion | |
EP2957079B1 (en) | Signalling congestion | |
CN109257282B (zh) | 一种数据传输方法及装置 | |
Podlesny et al. | Providing fairness between TCP NewReno and TCP Vegas with RD network services | |
Mliki et al. | A comprehensive survey on carrier ethernet congestion management mechanism | |
Amol et al. | A review on active queue management techniques of congestion control | |
EP3635922B1 (en) | Fabric-wide bandwidth management | |
EP2888842A1 (en) | Congestion notification in a network | |
EP2637371A1 (en) | Signalling congestion | |
Li et al. | Providing flow-based proportional differentiated services in class-based DiffServ routers | |
Aweya et al. | Enhancing network performance with TCP rate control | |
Akamatsu et al. | Equation-based multicast congestion control in data center networks | |
Tekala et al. | Throughput analysis of Scalable TCP congestion control | |
Al Masud et al. | Performance Analysis of AQM Schemes in Wired and Wireless Networks based on TCP flow | |
Shaii et al. | Congestion avoidance: Network based schemes solution | |
Hassan et al. | Fairness in Active Queue Management Algorithms: A Review | |
Khalid et al. | Performance Evaluation of TCP Incast Protocols in Data Center Network | |
Shinohara et al. | Queue management scheme stabilizing buffer utilization in the IP router |
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 |