CN111788803A - 网络中的流管理 - Google Patents

网络中的流管理 Download PDF

Info

Publication number
CN111788803A
CN111788803A CN201980014008.4A CN201980014008A CN111788803A CN 111788803 A CN111788803 A CN 111788803A CN 201980014008 A CN201980014008 A CN 201980014008A CN 111788803 A CN111788803 A CN 111788803A
Authority
CN
China
Prior art keywords
switch
flow
network
packet
notification
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.)
Granted
Application number
CN201980014008.4A
Other languages
English (en)
Other versions
CN111788803B (zh
Inventor
M·施玛特兹
M·古萨特
A·艾安尼克里
A·梅特
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN111788803A publication Critical patent/CN111788803A/zh
Application granted granted Critical
Publication of CN111788803B publication Critical patent/CN111788803B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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/20Traffic policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/4013Management of data rate on the bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • H04L67/5651Reducing the amount or size of exchanged application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC

Landscapes

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

Abstract

提供了用于管理连接在网络中的交换机中的数据流的方法和装置。这种方法包括:监视穿过交换机的一组数据流是否符合预定的资源使用策略,并且响应于检测到不符合数据流,镜像该流的一组数据分组以将相应的镜像分组发送到交换机的镜像端口。该方法还包括使用发送到镜像端口的镜像分组来构造用于该不符合流的不符合通知,以及将该不符合通知发送到网络中。资源使用策略可以被定义为使得交换机可操作以在由于不符合流而发生拥塞之前发送不符合通知。

Description

网络中的流管理
背景技术
本发明一般涉及网络中的流管理,并且更具体地涉及在网络交换机中用于抑制网络拥塞的数据流的管理。
当前的网络交换机可以实现与控制网络中的拥塞相关联的各种技术。在基本水平上,交换机通常采用某种形式的AQM(主动队列管理)系统来监视交换机缓冲器中队列的状态,并在必要时选择性地丢弃数据分组。例如,如果队列是满的,则分组可以被丢弃,或者可以根据RED(随机早期检测)算法或其变体,依赖于平均队列长度,基于概率来丢弃分组。分组丢弃导致数据丢失,或者如果丢弃的分组可以被网络协议检测到,则导致分组的重发,这对网络效率具有不利的影响(协议开销、增加的延迟和可能在网络中的别处引起拥塞的多次发送)。交换机还可以采用在OSI(开放系统互连)模型的第2层操作的控制机制。这些链路级机制(例如以太网暂停帧、PFC(基于优先级的流控制)、PCIe(快速外围组件互连)信用等)旨在控制分组在第2层链路上流入交换机以管理交换机中的拥塞。这些机制可以将背压传播到上游节点。阻塞的“热”数据流可以防止其他“冷”流经由HOL(队头)阻塞前进。在极端情况下,单个热点可能导致网络吞吐量的全局崩溃。
一些交换机实现了在较高OSI层操作的更精细的拥塞控制方案。在启用ECN(显式拥塞通知)的网络中,例如,交换机可以响应于拥塞例如经由RED方案来标记(而不是丢弃)分组,以在分组中设置标志(ECN码点)。该标志由分组的目的节点(接收机)检测,并被回送到源节点(发射机),源节点然后可以例如通过减小其关于分组丢弃的拥塞窗口来抑制违规数据流。ECN和其它精细的拥塞控制机制(例如DCTCP(数据中心传输控制协议)和QCN(量化拥塞通知))旨在控制在其源处的数据流以在全局基础上解决拥塞。然而,这些方案可能是复杂的并且在它们的应用中受到限制。它们需要在OSI的较高层进行处理,并且仅利用支持它们的实现的特定协议来操作。
非常希望改进用于管理网络中的数据流的机制。
发明内容
根据本发明的至少一个实施例,提供了一种用于管理连接在网络中的交换机中的数据流的方法。该方法包括:监视穿过交换机的一组数据流是否符合预定的资源使用策略,并且响应于检测到不符合数据流,镜像该流的一组数据分组以将相应的镜像分组发送到交换机的镜像端口。该方法还包括使用发送到镜像端口的镜像分组来构造用于不符合流的不符合通知,以及将该不符合通知发送到网络中。
实施本发明的方法提供了一种优雅朴素和实用的机制,为网络中有效的全局流控制提供了基础。基本操作原理是协议不可知的,并且可以在任何OSI层在任何交换机中采用。此外,实施本发明的方法可以利用交换机中广泛可用的标准功能来实现该方法的操作所需的功能。例如,镜像功能在大多数当前交换机中是标准的。然而,与镜像的常规使用不同,响应于检测到不符合流而触发镜像功能,并且镜像分组被用于构造被发送到网络中的不符合通知。由于镜像涉及创建拷贝(镜像)分组,所以原始的被镜像分组保留在数据流中并且继续在网络上。然而,不符合通知允许更广泛的网络根据需要进行适应以禁止不符合交换机的资源使用策略。这可以在不针对分组丢失或延迟而影响原始数据流的情况下完成。
交换机所应用的资源使用策略可以根据网络中的数据流的期望来定义。通过适当地设置策略约束,可以发送不符合通知,以使得能够对潜在的拥塞状况做出早期响应。因此,在特别有利的实施例中,定义资源使用策略,使得交换机可操作以在由于不符合流而发生拥塞之前发送不符合通知。然后,不符合通知提供由于不符合流引起的潜在拥塞的早期警告,允许网络适应以抑制拥塞,并因此抑制潜在分组丢弃。这提供了一种简单、实用的系统,为全局端到端无损网络操作提供了基础。此外,由于镜像操作不影响所监视的数据流中的分组,因此该方案可以在现有的流/拥塞控制机制之上实现,提供用于拥塞控制的现有PID(比例-积分-微分)控制回路的预测衍生分量。
资源使用策略可以针对所监测的数据流集合的多个子集中的每一个子集定义该子集的至少一个资源使用限制,该限制小于该子集的最大允许值。这种最大允许值可以基于诸如缓冲器容量和/或带宽的可用资源以及用于服务数据流的要求来预先确定,以确保可以满足所有流的服务要求。这提供了一种用于早期/预测通知潜在拥塞的方便系统,并且可以通过在交换机中利用标准过滤/监管器工具来容易地实现。
上述资源使用限制可以包括例如流速。这种流速限制可以被施加为一个或多个流的最大允许(目标)速率的影子流速,并且可以由实现令牌桶算法的监管器方便地监视符合性。资源使用限制可以替代地包括例如队列占用阈值。这种限制可以被施加为幻象(phantom)队列占用阈值,并且可以由实现漏桶算法的监管器方便地监视符合性。
不符合通知可包括至少一个可路由数据分组,其包括指示不符合通知的标识符,该数据分组优选地被寻址到在不符合流中的上游的网络节点。将该分组寻址到上游节点允许网络中的快速响应。这种可路由数据分组还可以模仿另一种拥塞控制方案的分组,例如ECN标记的分组,以便利用现有的拥塞管理机制并提供拥塞的早期警告。理想地,可路由数据分组可以被寻址到网络中的不符合流的源节点。这允许源快速反应,例如对流进行节流。网络可以比现有的流控制方案更快地响应,例如避免与传统ECN相关联的RTT(往返时间)延迟。通过互换镜像分组中的源地址和目的地地址,并设置指示不符合通知的标识符(例如ECN标志),也能够以简单的方式从镜像分组生成这种可路由数据分组。
本发明的各个其他实施例提供了一种适于实现上述用于管理数据流的方法的网络交换机,以及包括多个这种交换机的网络。
下面将参考附图通过说明性和非限制性示例更详细地描述本发明的实施例。
附图说明
图1是网络的示意图;
图2是实施本发明的网络交换机的示意性表示;
图3示出了由图2的交换机执行的用于管理数据流的方法的步骤;
图4示出了图2的交换机的实施例中的流监视逻辑的更详细示意图;
图5示出采用图4的流监视逻辑的流管理方法的步骤;
图6示出图5的方法的实施例中的分组处理步骤;以及
图7示出图5的方法的另一个实施例中的分组处理步骤。
具体实施方式
图1是包括互连了多个边缘节点3的多个交换机2的示例性数据通信网络1的简单示意图。每个交换机2具有用于连接到物理链路(其一般可以包括有线和/或无线链路)的多个端口,交换机经由该物理链路连接到其相邻交换机2和/或边缘节点3。网络1中的数据流可以穿越在流的源节点和目的地节点之间的途中的一个或多个交换机,并且每个交换机2能够在网络操作期间同时处理多个流(例如,数千个流)。每个交换机2处理到达其端口的入站流的数据分组,并将分组转发到适当的端口,以便经由出站链路向它们的目的地节点进行正在进行的传输。
在网络中的任何点如果处理分组的需求超过可用的处理资源,则可能发生拥塞。作为简单的说明,处理来自边缘节点3之间的两个数据流的分组的拥塞交换机2在图中用阴影示出。为了控制拥塞,交换机可以采用链路级(第2层)流控制机制(由图中的实线箭头指示)来管理来自上游节点的传入分组在第2层(L2)链路上的传输。此外,在由较高层协议支持的情况下,交换机可以标记分组以提供拥塞通知,该拥塞通知最终被中继回数据流的源。在这里的示例中,如图中的虚线箭头所指示的,拥塞交换机2可以根据ECN方案来标记分组。ECN标记的分组被阻塞流的目的地节点3检测到,然后其以已知的方式将拥塞通知中继回源节点。源节点然后可以减小其拥塞窗口以抑制违规流。除了这种传统的拥塞控制机制之外,网络1的一个或多个交换机2可以实现下面描述的数据流管理方法。在网络1的优选实施例中,所有交换机2适于实现该数据流管理方法。
图2是交换机2的示例性实施例的示意性框图,示出了在交换机的操作和下面详述的数据流管理方法的实现中涉及的基本要素。交换机2具有多个端口,如P1至Pn所示,用于连接到网络链路,并且包括I/O(输入/输出)级10、分组处理逻辑11和交换结构12。至少一个交换机端口(在该示例中为端口Pn)是指定的(通常专用的)镜像端口。典型的交换机可具有例如1到8个这样的镜像端口,用于网络监视目的。然而,在当前情况下,镜像端口Pn被用于下面描述的流管理方案。
I/O级10包括用于在每个端口处发送/接收数据的MAC(介质访问控制)单元13,并且可以执行与QoS(服务质量)处理、数据加密/解密等相关联的附加功能。到达交换端口的分组由I/O级10中的MAC单元传递到分组处理逻辑11。这包括分组转发模块(或“转发引擎”),其执行地址查找并在每个端口处对分组做出转发判定,以确定适当的输出端口,分组应当被中继到该输出端口以在网络中向前传输。分组处理逻辑11还包括模块15,模块15包括流监视逻辑,该流监视逻辑提供如下所述的基于存储在模块15中的预定资源使用策略来监视数据流的功能。处理逻辑11还包括标准镜像逻辑16和AQM与拥塞控制模块17,该模块17管理连接到交换机的交换结构12的一组队列缓冲器18中的数据分组的队列。特别地,在交换端口处的传入分组在与该端口相关联的缓冲器18中的一个或多个(真实或虚拟)队列中排队,以待经由交换结构12传送到与它们的出站端口相关联的缓冲器,在所述缓冲器中分组再次排队等待出站端口MAC单元的处理。
控制模块17包括实现如上所述的传统第2层拥塞控制的逻辑。取决于特定的网络和交换机实现,这样的第2层控制机制可以包括例如以太网流控制,诸如暂停帧、PFC或SPFC(选择性PFC)或PCIe信用、IB(InfiniBand)信用、FC(光纤信道)信用或OP(OmniPath)信用。控制模块17还可以实现用于较高层流控制机制的功能,例如ECN或其变体,诸如DCTCP(数据中心传输控制协议)标记或RoCE(通过汇聚以太网的远程直接存储器访问)标记、QCN、IBCCA(InfiniBand拥塞控制附件)等,其中由网络1中的上层协议支持。在示出的例子中,模块17实现如早前所述的基于RED标记的ECN。
分组处理逻辑11还包括与镜像端口Pn相关联的NCN(不符合通知)模块19形式的通知逻辑。具体地,这里的NCN模块连接到镜像端口Pn的MAC单元,并且提供用于生成不符合通知的功能,如下面详细描述的。
通常,网络1可以实现在OSI模型的不同层上操作的各种网络协议,并且交换机2可以包含用于在任何OSI层上操作的功能。交换机2因此可以包括第2层或更高层交换机,并且可以实现例如路由器、网桥或网关、或者在网络中提供交换功能的任何其他设备。通常,模块14至19的功能可以由硬件或软件或其组合来实现。例如,功能可以由一个或多个处理器可执行的软件模块来实现,所述软件模块可以在交换机2的一个或多个ASIC(专用集成电路)、FPGA(现场可编程门阵列)、微控制器、微代码、固件等上提供。以软件实现的功能可以由软交换机、SDN(软件定义联网)交换机、vSwitch等来提供。一个或多个模块的功能可以全部或部分地组合,并且交换机2可以包括与要描述的流管理方法正交的附加功能,例如,用于交换机/网络特定功能的附加分组处理引擎,以及用于一般地控制处理模块的操作的中央控制单元。
网络1可以包括任何类型的数据处理/通信网络,例如局域网或广域网、数据中心网络、云网络、分布式处理网络、VM(虚拟机)网络、静态或自组织无线网络、IoT(物联网)网络等,并且通常可以包括一个或多个组件网络和/或互联网络,包括因特网。
边缘节点3可以包括例如通用或专用计算机、服务器、处理器、NIC(网络接口控制器)、VM、管理程序、VF(虚拟功能)、SoC(片上系统)、应用等,或者任何其他(真实或虚拟)联网实体。
取决于特定应用,由交换机2处理的数据分组可以包括在任何OSI层为任何网络协议定义的数据的分组,并且可以对应于如由任何给定协议定义的帧、段、分组、数据报等。
在交换机2的操作中,流监视模块15监视穿过交换机的一组数据流是否符合预定资源使用策略。虽然所监视的该组数据流通常可以包括一个或多个流,但是更典型地可以监视数百或数千个流。资源使用策略可以为各个流或各组流(例如来自和/或去往网络1中的特定源/目的地节点的流)指定资源使用约束。对于一些应用,可以监视由交换机处理的所有流。在其它应用中,可以只监视选定的流量,例如“热”或潜在拥塞的流。资源使用约束可以针对缓冲器占用水平来指定,例如在交换端口处的缓冲器18中的分组的数目,和/或针对分组处理速率由流消耗的带宽来指定,例如到达交换端口的分组的分组速率或比特速率。
图3示出了交换机2执行的流管理方法的基本步骤。如上所述,由转发引擎14处理交换机接收的数据分组,并在缓冲器18中排队。流监视(FM)模块15监视由转发模块14发送到每个端口处的缓冲器18的分组,以检测被监视流(即,在资源使用(RU)策略中指定的流)的分组,如步骤30所示。在检测到被监视流时,在步骤31中,FM模块15检查该流是否不符合资源使用策略。如果不是,如在判定块32处的“否”(N)所示,则不需要任何动作并且过程终止。如果该流不符合策略(在判定块32处为“是”(Y)),则在步骤33中,FM模块通过在分组中设置镜像标志来标记该流的(一个或多个)分组的集合以进行镜像。(这里,仅当前分组可被标记用于镜像,或者例如,镜像标志可被设置在流的任何分组或采样分组中,所述分组或采样分组在检测到不符合流的预定间隔内被接收或者已经在用于该端口的缓冲器18中排队)。在步骤34中,镜像模块以通常的方式检测和镜像标记的分组,生成要发送到交换机的镜像端口Pn的相应拷贝(镜像)分组。镜像分组以通常的方式经由队列缓冲器18和交换结构12被转发到镜像端口Pn。原始的被镜像数据分组被类似地转发到适当的外出端口,以在流中向前传输。在步骤35中,NCN模块19接收发送到镜像端口Pn的镜像分组集合,并使用镜像分组来构造用于不符合流的不符合通知。该不符合通知包括一个或多个可路由数据分组,所述可路由数据分组包括指示该不符合通知的标识符。这可以使用镜像分组以各种方式来构造,如下面进一步讨论的。在步骤36中,NCN模块经由镜像端口Pn将不符合通知发送到网络中,并且对于当前不符合流,该过程完成。
上述过程提供了一种简单、实用且普遍适用(协议不可知)的机制,其可以在任何交换机中在第2层或更高层处被采用,作为网络中的全局流控制的基础。这些原理独立于联网标准和传输协议,并且可以根据需要与以太网、InfiniBand、OmniPath、NVLink等网络和TCP(传输控制协议)、UDP(用户数据报协议)、VPN(虚拟专用网络)隧道、覆盖、RDMA(远程直接存储器访问)等一起操作。可以通过镜像分组来生成不符合通知而不影响原始数据流,由此可以在交换机中提供的传统拥塞/流控制机制之上采用该方案。可以针对通过交换机的多个虚拟流实现流监视和不符合通知,从而提供第2层流控制的速度以及第4层传输(每个流或每组流)的分辨率,避免了HOL阻塞。此外,可以容易地定义资源使用策略以提供潜在拥塞状况的早期通知,由此网络可以响应以抑制拥塞和随之造成的分组丢失的发生。现在将更详细地描述这种早期拥塞通知方案的示例性实现。
在后面的实施例中,定义FM模块15中的资源使用策略,使得交换机可操作以在由于不符合流而发生拥塞之前发送不符合通知。特别地,可以定义策略,使得通常在激活交换机2中的标准拥塞管理机制之前发送不符合通知。在该示例中,可以在需要层2流控制和ECN标记之前激活早期拥塞通知机制。理想地,该组被监视数据流包括由交换机处理的所有流,或者至少包括可能引起潜在拥塞状况的所有流。对于数据流的多个子集中的每一个子集,资源使用策略定义该子集的至少一个资源使用限制。这里的每个子集通常可以包括一个或多个流,例如特定源和目的地节点对之间的流,或者来自/去往特定源/目的地节点或节点集合的所有流。对于每个子集,资源使用限制被设置为小于(例如,小0.5%到10%)用于该子集的最大允许值的值。可以基于各种交换机/网络参数来确定每种情况下的最大允许值,以确保可以适当地容纳流,所述交换机/网络参数诸如缓冲器容量、带宽可用性和流的服务要求,例如QoS要求、速度、延迟、优先级等。对于给定网络,可以以各种方式计算这种最大值或目标值,例如,由网络控制器(图1中未示出)使用用于共享资源利用的算法。目标值和流的对应资源使用限制可以针对给定网络预先定义,或者可以动态更新。FM模块15因此可以预配置用于特定网络的静态资源使用策略,或者该策略可以例如在运行时或由网络控制器周期性地动态确定,并且在给定时段中提供给交换机2以进行应用。
这里的优选实施例利用了在网络交换机中广泛可用的标准功能来实现交换机2的FM逻辑15。图4示出了这些实施例中的FM模块15的更详细的示意图。FM模块包括过滤模块40、监管器模块41以及对于以下一些实现方式可选地包括触发器模块42。过滤模块40被实现为ACL(访问控制列表)规则集合。通常在交换机中采用的ACL定义一组条件:动作类型规则,并且在这里用于识别所监视的流的分组,并且将分组转发到监管器模块41。监管器模块41实现多个监管器。为所监视的数据流的每个子集(即,每个流或每组流)提供一个监管器,在RU策略中为其指定了资源使用限制。每个监管器检查与资源使用约束的不符合性(即,是否超过资源使用限制),并且在不符合的情况下执行指定动作,这里是标记或丢弃分组。在监管器动作是丢弃分组的情况下,触发器模块42如下面进一步描述的那样操作。
图5示出了使用图4的FM模块而没有触发器模块42的第一流管理方法的基本步骤。过滤模块40监视到达每个交换机端口的分组,并针对所有ACL规则条件检查分组头部信息。规则条件指定对应于所监视的流的分组头部信息(例如,源和/或目的地节点地址)。在检测到满足如步骤50所示的规则条件的分组时,在步骤51中,过滤模块将分组转发到在规则动作(例如ACL规则)中指定的模块41的特定监管器(条件=“dstIP”==“ExampleIP”,action=p1),将具有等于“ExampleIP”的目的地IP地址的分组发送到模块41的监管器“p1”。在步骤52中,接收方监管器检查该分组与指定的资源使用限制的符合性。下面进一步描述该步骤的特定实现。如果分组是符合的(在判定块53处为否,则不需要进一步的动作)。如果分组被认为是不符合的(在判定块53处为是),则在步骤54中,监管器标记分组以进行镜像。在步骤55中,镜像模块16检测镜像标志并创建镜像分组,该镜像分组被转发到镜像端口Pn。在这里的步骤56中,NCN模块19接收镜像分组,并且通过交换镜像分组中的源地址SRC和目的地地址DST并在分组中设置ECN标志,来以线路速度生成不符合通知。因此,所得到的NCN分组包括可路由数据分组,该可路由数据分组被寻址到不符合流的源节点,并且其中ECN标志用作该分组的不符合指示符。然而,由于分组是基于小于流的目标值的资源使用限制而生成的,因此NCN分组是在流引起拥塞之前并且在交换机2中的传统ECN标记机制激活之前被较早地生成的。NCN分组因此提供了早期ECN通知,以下称为“EECN分组”,其被直接发送到违规流的源。NCN模块19在步骤57中经由镜像端口Pn发送EECN分组,并且该过程完成。
上述过程提供了一种高效且实用的在交换机中现有的L2和ECN控制机制之上操作的机制,用于早期通知潜在的拥塞状况。EECN分组采用标准ECN标记机制,但是分组被直接中继到源节点,提供了对潜在问题的快速、早期通知。源节点因此可以快速反应以调整流来抑制与交换机的RU策略的不符合,例如以通常的方式减小其拥塞窗口。因此,该系统提供了稳定且可伸缩的闭环拥塞控制,其中可以在本地交换机缓冲器中吸收瞬态突发,并且将拥塞推到网络的边缘。在具有零分组丢弃的交换机中实施资源使用限制,并且经由EECN将热流量镜像为反馈。通过在源节点处对EECN的早期响应,可以在网络1中实现全局无损操作。
图6示出了在图5的方法中使用的监管器的一个实现中的分组处理步骤。在该示例中,由监管器应用的资源使用限制包括流速率。这被定义为小于流的最大允许(目标)速率的影子流速率,并且经由监管器模块41中的令牌桶算法来实现。令牌以指定的影子流速率被提供给桶,直到桶充满。图6的过程对应于图5中的步骤52到54。在步骤60,监管器接收(在图5的步骤50中由ACL规则选择的)分组。在判定步骤61,监管器确定桶是否包含任何令牌。如果是,则在步骤62中移除令牌,并且在步骤63中输出分组。如果在步骤61中桶是空的,则在步骤64中监管器标记分组以进行镜像,并且在步骤63中输出标记的分组。
图7示出了在一个替代的监管器实现中的分组处理步骤。这里,由监管器应用的资源使用限制包括队列占用阈值。这被定义为以流的目标速率服务的幻象队列的幻象队列占用阈值,并且在监管器模块41中通过漏桶算法实现。以目标服务速率从桶中移除(“泄漏”)令牌,并且队列占用阈值被设置为小于桶容量的水平。在步骤70,监管器接收分组,并且在步骤71,令牌被添加到桶。在判定步骤72,监管器确定是否已经越过阈值。如果没有,则在步骤73中输出分组。如果越过了阈值,则在步骤74中监管器标记分组以进行镜像,并且在步骤73中输出标记的分组。
在对图7操作的修改中,可以采用概率标记方案,例如RED标记,而不是使用用于标记所有分组的硬阈值,由此随着桶中的令牌水平增加到基本阈值水平之上,分组被标记的概率增加。
在诸如英特尔公司的RRC(Red Rock Canyon)交换机的一些交换机中,监管器功能只能标记要丢弃的分组(而不是镜像的)。在这种情况下,触发器模块42可以被用于FM模块15中。这里,监管器通常可以如上所述进行操作,但是当超过资源使用限制时在分组中设置丢弃标志。触发器模块42实现条件:动作类型规则,其可以被定义为检测由监管器设置的丢弃标志。如果在分组中检测到丢弃标志,则触发器模块清除该丢弃标志并设置镜像标志。这个虚拟丢弃或丢弃/还原动作允许如前所述镜像所需的分组。
应当理解,可以对上述示例性实施例进行许多改变和修改。例如,NCN分组可以被寻址到除了源节点之外的网络节点,例如在不符合流中的交换机2的上游的节点,并且可以利用除了ECN标记之外的现有控制机制。例如,通过利用NCN的L2控制机制可以实现更粗略的局部流控制。作为示例,可以通过从镜像分组确定不符合流中上游的下一个L2节点,并将暂停帧、PFC帧、SPFC帧、信用取消等作为NCN发送到该节点,来生成NCN。
通常,接收NCN的节点可以根据所采用的特定控制机制以各种方式进行响应。例如,节点可以通过暂停流或使流节流,或实现负载平衡、速率限制、流量整形或自适应路由技术等来进行响应,以抑制进一步的不符合。早期的NCN还可以基于除了ECN之外或附加于ECN的上层控制机制,例如(DC)TCP、IB CCA、QCN或RoCE方案,由此可以利用根据这些方案的最佳实践而实现的无损操作来实现多类无损反馈。
NCN分组可以以各种方式从镜像分组生成,并且可以包括任何网络协议的可路由数据分组,例如以太网帧/分组、IP分组等,这取决于实现方式。NCN分组可以从镜像分组中以1:1生成,或者通过处理/压缩N个镜像分组以1:N生成,或者作为N个镜像分组的向量。NCN分组可以直接从镜像分组创建,或者仅使用从分组中选择的信息(例如用于确定源/上游节点的地址信息)来创建。NCN标识符通常可以包括将分组标识为属于NCN的任何标志或标记。
虽然上面描述了利用单个镜像端口Pn的操作,但是一个或多个镜像端口可以用于生成NCN。还可以设想这样的实施例,其中在连接到接收由该方案生成的镜像分组的镜像端口外部的交换机2的单元中提供NCN模块19。
在一些实施例中,NCN分组可以被寻址到网络1中的网络控制器,例如SDN控制器、云计算网络中的OpenStack控制器、控制VM网络的管理程序等。然后,这种控制器可以在网络中全局地实现流控制。在其他实施例中,NCN模块19可以从每个NCN数据分组创建寻址到网络控制器的拷贝分组,并且将拷贝分组发送到网络中。然后,网络控制器可以全局地监视流,并且如果需要的话修改网络参数。
已经出于说明的目的给出了本发明的各种实施例的描述,但是其不旨在是穷尽的或限于所公开的实施例。在不背离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。选择本文所使用的术语以最好地解释实施例的原理、实际应用或对市场上存在的技术改进,或使本领域的其他普通技术人员能够理解本文所公开的实施例。

Claims (25)

1.一种用于管理连接在网络中的交换机中的数据流的方法,所述方法包括:
监视穿过所述交换机的数据流集合的与预定资源使用策略的符合性;
响应于检测到不符合数据流,镜像该流的一组数据分组以将相应的镜像分组发送到所述交换机的镜像端口;
使用发送到所述镜像端口的所述镜像分组来构造针对该不符合流的不符合通知;以及
将所述不符合通知发送到所述网络中。
2.根据权利要求1所述的方法,其中,所述资源使用策略被定义为使得所述交换机可操作以在由于所述不符合流而发生拥塞之前发送所述不符合通知。
3.根据权利要求2所述的方法,其中所述资源使用策略针对所述数据流集合的多个子集中的每一个子集定义该子集的至少一个资源使用限制,所述限制小于该子集的最大允许值。
4.根据权利要求3所述的方法,其中所述至少一个资源使用限制包括流速。
5.根据权利要求3所述的方法,其中所述至少一个资源使用限制包括队列占用阈值。
6.根据权利要求1所述的方法,其中,所述不符合通知包括至少一个可路由数据分组,所述至少一个可路由数据分组包括指示所述不符合通知的标识符。
7.根据权利要求6所述的方法,其中所述可路由数据分组被寻址到所述不符合流中上游的网络节点。
8.根据权利要求7所述的方法,其中所述可路由数据分组被寻址到所述不符合流的源。
9.根据权利要求7所述的方法,包括通过以下步骤从所述镜像分组产生所述可路由数据分组:
互换所述镜像分组中的源地址和目的地地址;以及
设置指示所述不符合通知的所述标识符。
10.根据权利要求9所述的方法,其中所述标识符包括ECN标志。
11.根据权利要求6所述的方法,其中所述可路由数据分组被寻址到所述网络中的网络控制器。
12.根据权利要求7所述的方法,包括从所述可路由数据分组创建寻址到所述网络中的网络控制器的拷贝分组,并且将所述拷贝分组发送到所述网络中。
13.根据权利要求2所述的方法,其中,所述不符合通知包括至少一个可路由数据分组,所述至少一个可路由数据分组被寻址到所述不符合流中上游的网络节点并且包括指示所述不符合通知的标识符。
14.根据权利要求13所述的方法,其中所述可路由数据分组被寻址到所述不符合流的源。
15.根据权利要求14所述的方法,包括通过以下步骤从所述镜像分组产生所述可路由数据分组:
互换所述镜像分组中的源地址和目的地地址;以及
设置指示所述不符合通知的所述标识符。
16.根据权利要求15所述的方法,其中所述标识符包括ECN标志。
17.一种具有用于网络中的连接的多个端口的交换机,所述交换机包括:
流监视逻辑,可操作以监视穿过所述交换机的数据流集合的与预定资源使用策略的符合性;
镜像逻辑,响应于由所述流监视逻辑检测到不符合数据流,可操作用于镜像该流的一组数据分组以将相应镜像分组发送到所述交换机的镜像端口;
通知逻辑,可操作以使用发送到所述镜像端口的所述镜像分组来构造用于该不符合流的不符合通知,并将该不符合通知发送到所述网络中。
18.根据权利要求17所述的交换机,其中,所述资源使用策略被定义为使得所述交换机可操作以在由于所述不符合流而发生拥塞之前发送所述不符合通知。
19.根据权利要求18所述的交换机,其中,所述资源使用策略针对所述数据流集合的多个子集中的每一个子集定义针对该子集的至少一个资源使用限制,所述限制小于针对该子集的最大允许值。
20.根据权利要求19所述的交换机,其中,所述流监视逻辑包括用于检测所述数据流集合的分组的过滤模块,以及用于监管每个所述子集的与所述资源使用限制的符合性的监管器模块。
21.根据权利要求18所述的交换机,其中,所述不符合通知包括至少一个可路由数据分组,所述至少一个可路由数据分组包括指示所述不符合通知的标识符。
22.根据权利要求21所述的交换机,其中,所述通知逻辑适于将所述可路由数据分组寻址到所述网络中的所述不符合流的源。
23.根据权利要求22所述的交换机,其中,所述通知逻辑适于通过以下步骤从所述镜像分组产生所述可路由数据分组:
互换所述镜像分组中的源地址和目的地地址;以及
设置指示所述不符合通知的所述标识符。
24.一种具有多个交换机的用于数据流的网络,所述多个交换机用于在所述网络中连接的源节点和目的地节点之间传送所述流,其中每个交换机包括如权利要求17所述的交换机。
25.一种网络,包括多个边缘节点和用于在所述边缘节点之间传送数据流的多个交换机,其中:
每个交换机包括如权利要求22所述的交换机;以及
每个边缘节点可操作用于响应于从交换机接收到针对不符合流的不符合通知,而调整所述不符合流以抑制与所述交换机的资源使用策略的不符合。
CN201980014008.4A 2018-03-06 2019-02-15 网络中的流管理 Active CN111788803B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/913,330 US10986021B2 (en) 2018-03-06 2018-03-06 Flow management in networks
US15/913,330 2018-03-06
PCT/EP2019/053827 WO2019170396A1 (en) 2018-03-06 2019-02-15 Flow management in networks

Publications (2)

Publication Number Publication Date
CN111788803A true CN111788803A (zh) 2020-10-16
CN111788803B CN111788803B (zh) 2023-05-02

Family

ID=65516540

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980014008.4A Active CN111788803B (zh) 2018-03-06 2019-02-15 网络中的流管理

Country Status (5)

Country Link
US (1) US10986021B2 (zh)
EP (1) EP3763094B1 (zh)
JP (1) JP7212441B2 (zh)
CN (1) CN111788803B (zh)
WO (1) WO2019170396A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11171890B1 (en) * 2018-12-28 2021-11-09 Innovium, Inc. Reducing power consumption in an electronic device
EP3942763A4 (en) 2019-05-23 2023-08-09 Hewlett Packard Enterprise Development LP METHOD OF DISTRIBUTING SOFTWARE-DEDICATED GLOBAL LOAD INFORMATION
US20210306166A1 (en) * 2020-03-30 2021-09-30 Mellanox Technologies Tlv Ltd. Network information transmission systems
CN111654469B (zh) * 2020-04-30 2022-09-06 河南信大网御科技有限公司 一种拟态流量器和拟态交换系统
TWI746060B (zh) * 2020-07-15 2021-11-11 國立陽明交通大學 網路交換器的流量管理方法
CN112437124B (zh) * 2020-11-09 2022-05-06 北京金山云网络技术有限公司 流量镜像请求的处理方法、装置及负载均衡服务器
CN112565087A (zh) * 2020-11-23 2021-03-26 盛科网络(苏州)有限公司 一种pfc反压报文及其处理方法
CN113542092A (zh) * 2021-05-27 2021-10-22 贵州电网有限责任公司 一种基于openstack的自动化引流方法
WO2023048925A1 (en) * 2021-09-23 2023-03-30 Intel Corporation Network resource monitoring
WO2023088557A1 (en) * 2021-11-18 2023-05-25 Telefonaktiebolaget Lm Ericsson (Publ) Compliance control for traffic flows in a wireless communication system
CN115002040B (zh) * 2022-05-27 2024-03-01 长沙理工大学 基于大数据的感知优先级流控的负载均衡方法及其系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001002965A2 (en) * 1999-06-30 2001-01-11 Broadcom Corporation Memory management unit for a network switch
US20060176810A1 (en) * 2005-02-09 2006-08-10 Nokia Corporation Congestion notification in 3G radio access
US20080037420A1 (en) * 2003-10-08 2008-02-14 Bob Tang Immediate ready implementation of virtually congestion free guaranteed service capable network: external internet nextgentcp (square waveform) TCP friendly san
US20080298248A1 (en) * 2007-05-28 2008-12-04 Guenter Roeck Method and Apparatus For Computer Network Bandwidth Control and Congestion Management
US20140192646A1 (en) * 2011-03-29 2014-07-10 Nec Europe Ltd. User traffic accountability under congestion in flow-based multi-layer switches
US20150103659A1 (en) * 2013-10-10 2015-04-16 International Business Machines Corporation Quantized congestion notification for computing environments
CN106464600A (zh) * 2014-06-19 2017-02-22 谷歌公司 用于在第3层网络中提供拥塞通知的系统和方法
US20170339062A1 (en) * 2016-05-18 2017-11-23 Marvell Israel (M.I.S.L) Ltd. Congestion avoidance in a network device

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6839767B1 (en) * 2000-03-02 2005-01-04 Nortel Networks Limited Admission control for aggregate data flows based on a threshold adjusted according to the frequency of traffic congestion notification
US7680053B1 (en) * 2004-10-29 2010-03-16 Marvell International Ltd. Inter-device flow control
US7961621B2 (en) 2005-10-11 2011-06-14 Cisco Technology, Inc. Methods and devices for backward congestion notification
KR100757872B1 (ko) * 2006-02-06 2007-09-11 삼성전자주식회사 네트워크에서의 혼잡 발생 예고 시스템 및 방법
US7978607B1 (en) 2008-08-29 2011-07-12 Brocade Communications Systems, Inc. Source-based congestion detection and control
EP2359544A1 (en) * 2008-11-11 2011-08-24 Telefonaktiebolaget L M Ericsson (publ) Method and device for enabling indication of congestion in a telecommunications network
US9544239B2 (en) 2013-03-14 2017-01-10 Mellanox Technologies, Ltd. Methods and systems for network congestion management
WO2014155043A1 (en) * 2013-03-28 2014-10-02 British Telecommunications Public Limited Company Re-marking of packets for queue control
US9661005B2 (en) * 2014-01-09 2017-05-23 International Business Machines Corporation Security level and status exchange between TCP/UDP client(s) and server(s) for secure transactions
US9544233B2 (en) 2014-04-28 2017-01-10 New Jersey Institute Of Technology Congestion management for datacenter network
US10498612B2 (en) * 2016-09-27 2019-12-03 Mellanox Technologies Tlv Ltd. Multi-stage selective mirroring
US11153211B2 (en) * 2017-12-09 2021-10-19 Intel Corporation Fast data center congestion response

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001002965A2 (en) * 1999-06-30 2001-01-11 Broadcom Corporation Memory management unit for a network switch
US20080037420A1 (en) * 2003-10-08 2008-02-14 Bob Tang Immediate ready implementation of virtually congestion free guaranteed service capable network: external internet nextgentcp (square waveform) TCP friendly san
US20060176810A1 (en) * 2005-02-09 2006-08-10 Nokia Corporation Congestion notification in 3G radio access
US20080298248A1 (en) * 2007-05-28 2008-12-04 Guenter Roeck Method and Apparatus For Computer Network Bandwidth Control and Congestion Management
US20140192646A1 (en) * 2011-03-29 2014-07-10 Nec Europe Ltd. User traffic accountability under congestion in flow-based multi-layer switches
US20150103659A1 (en) * 2013-10-10 2015-04-16 International Business Machines Corporation Quantized congestion notification for computing environments
CN106464600A (zh) * 2014-06-19 2017-02-22 谷歌公司 用于在第3层网络中提供拥塞通知的系统和方法
US20170339062A1 (en) * 2016-05-18 2017-11-23 Marvell Israel (M.I.S.L) Ltd. Congestion avoidance in a network device

Also Published As

Publication number Publication date
JP2021516012A (ja) 2021-06-24
WO2019170396A1 (en) 2019-09-12
US10986021B2 (en) 2021-04-20
JP7212441B2 (ja) 2023-01-25
EP3763094B1 (en) 2024-03-27
CN111788803B (zh) 2023-05-02
EP3763094A1 (en) 2021-01-13
US20190280978A1 (en) 2019-09-12

Similar Documents

Publication Publication Date Title
CN111788803B (zh) 网络中的流管理
US20220217078A1 (en) System and method for facilitating tracer packets in a data-driven intelligent network
US10498612B2 (en) Multi-stage selective mirroring
EP3278514B1 (en) Data transmission
JP4260631B2 (ja) ネットワーク輻輳制御の方法および装置
US10938724B2 (en) Flow rate based network load balancing
US10574546B2 (en) Network monitoring using selective mirroring
US7872973B2 (en) Method and system for using a queuing device as a lossless stage in a network device in a communications network
US8665892B2 (en) Method and system for adaptive queue and buffer control based on monitoring in a packet network switch
US8472444B2 (en) Method and apparatus for handling traffic in a data communication network
US7835285B2 (en) Quality of service, policy enhanced hierarchical disruption tolerant networking system and method
US20210297350A1 (en) Reliable fabric control protocol extensions for data center networks with unsolicited packet spraying over multiple alternate data paths
Taheri et al. RoCC: robust congestion control for RDMA
US20210297351A1 (en) Fabric control protocol with congestion control for data center networks
US10728156B2 (en) Scalable, low latency, deep buffered switch architecture
CA2573623A1 (en) Method for managing inter-zone bandwidth in a two-way messaging network
US20190052564A1 (en) Network element with congestion-aware match tables
US9577957B2 (en) Facilitating congestion control in a network switch fabric based on group traffic rates
US11805071B2 (en) Congestion control processing method, packet forwarding apparatus, and packet receiving apparatus
US20150055471A1 (en) System and method for quality-based optimization of network traffic
US20210297343A1 (en) Reliable fabric control protocol extensions for data center networks with failure resilience
US20240205155A1 (en) Protocol agnostic cognitive congestion control
CN116886631A (zh) 一种支持探测模式的路由设备
Liu et al. Generic congestion control through network coordination
Shimonishi et al. Off-the-path flow handling mechanism forhigh-speed and programmable traffic management

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