CN106464600A - 用于在第3层网络中提供拥塞通知的系统和方法 - Google Patents

用于在第3层网络中提供拥塞通知的系统和方法 Download PDF

Info

Publication number
CN106464600A
CN106464600A CN201580028210.4A CN201580028210A CN106464600A CN 106464600 A CN106464600 A CN 106464600A CN 201580028210 A CN201580028210 A CN 201580028210A CN 106464600 A CN106464600 A CN 106464600A
Authority
CN
China
Prior art keywords
switch
data packet
notification message
source
forwarded
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
CN201580028210.4A
Other languages
English (en)
Other versions
CN106464600B (zh
Inventor
周峻岚
吉峥嵘
J.李
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN106464600A publication Critical patent/CN106464600A/zh
Application granted granted Critical
Publication of CN106464600B publication Critical patent/CN106464600B/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/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/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/66Layer 2 routing, e.g. in Ethernet based MAN's
    • 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/13Flow control; Congestion control in a LAN segment, e.g. ring or bus
    • 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/33Flow control; Congestion control using forward notification

Landscapes

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

Abstract

提供了用于通过L3网络发送拥塞通知消息的系统和方法。例如,在L3网络的第一结构块(510)中的第一交换机(533)处接收数据封包,并且第一交换机执行数据封包的源MAC标记。数据封包随后被转发到L3网络的第二结构块(560)中的第二交换机(555),并且源MAC标签被第二交换机(555)和任何中间交换机(544)维持。第二交换机(555)响应于接收到数据封包判定其是否被拥塞,并且如果其被拥塞则生成通知消息(585)。通知消息(585)被L2转发到第一结构块(510),并且被利用ACL匹配从第一交换机(533)进一步转发到数据封包的源(511)。

Description

用于在第3层网络中提供拥塞通知的系统和方法
相关申请的交叉引用
本申请是2015年4月1日递交的美国专利申请14/676,053号的延续案,该美国专利申请要求2014年6月19日递交的美国临时申请62/014,223号的申请日的权益,其公开内容通过引用被并入在此。
背景技术
量化拥塞通知(Quantized Congestion Notification,QCN)是一种为以太网提出的相对较新的拥塞管理机制。其允许了交换机向流量源生成早期拥塞反馈,这些流量源于是可以适应性地改变其传送速率以减轻拥塞和高延迟。然而,在第3层网络中采用QCN被诸如缺乏对于隧道技术的支持、复杂性和高成本之类的挑战所阻止。
发明内容
提供了一种系统和方法,用于通过L3网络发送拥塞通知消息和在L3交换机中实现QCN。
本技术的一个方面提供了一种方法,包括:在L3网络的第一结构块中的第一交换机处接收数据封包,由第一交换机改写数据封包的头部中的信息以标识第一交换机和第一结构块的至少一者,其中该信息不被转发该数据封包的其他交换机进一步修改,将该数据封包转发到L3网络的第二结构块中的第二交换机,由第二交换机响应于接收到该数据封包而判定第二交换机是否被拥塞,在第二交换机处响应于检测到的拥塞而生成通知消息,将通知消息转发到第一交换机,并且将通知消息从第一交换机转发到数据封包的源。
本公开的另一方面提供了一种方法,包括:在L3网络的第一结构块中的第一交换机处接收数据封包,由第一交换机改写数据封包的头部中的信息以标识第一交换机和第一结构块的至少一者,其中该信息不被转发该数据封包的其他交换机进一步修改,将该数据封包转发到第二交换机,从第二交换机接收拥塞通知消息,并且将通知消息从第一交换机转发到数据封包的源。
本公开的另外一方面提供了一种方法,包括:在L3网络的第二结构块中的交换机处接收数据封包,由交换机响应于接收到该数据封包而判定交换机是否被拥塞,在交换机处响应于检测到的拥塞而生成通知消息,并且将通知消息转发到数据封包的源。
附图说明
图1是根据本公开的一方面的示例系统图。
图2是根据本公开的一些方面的另一示例系统图。
图3图示了根据本公开的一些方面的源地址标记的示例。
图4图示了根据本公开的一些方面的源地址标记的另一示例。
图5图示了根据本公开的一些方面的QCN消息路由的示例。
图6是根据本公开的一些实施例的示例方法的流程图。
具体实施方式
本公开提供了在L3网络中发送量化拥塞通知(QCN)消息,而不要求交换机硬件上的改变。具体地,L2转发覆盖(forwarding overlay)利用了数据封包的源介质访问控制(media access control,MAC)标记和QCN消息的层次化路由。
源MAC标记(tagging)可由网络的结构块(fabric block)中的交换机执行,例如机架顶(top of rack,TOR)交换机或边缘路由器。例如,每个TOR可改写主机生成的数据封包的L2头部。头部中的源MAC唯一地标识TOR,并且可被设置为TOR的IP前缀。作为另一示例,结构块中的边缘路由器可通过把与结构块相对应的标识符(例如,IP前缀)编码在正被转发的数据封包的源MAC中来执行源MAC标记。在任一示例中,转发数据封包但不执行标记的交换机保持数据封包的源MAC不被修改。
由检测拥塞的交换机生成的QCN消息被层次化转发。例如,首先,QCN消息被基于其目的地MAC从拥塞的交换机L2转发到执行源MAC标记的边缘路由器或TOR。QCN消息的L2转发规则可被聚集到一小组访问控制列表(access control list,ACL)规则中。QCN消息随后按照匹配QCN有效载荷的ACL被从边缘路由器或TOR转发到拥塞源。
图1图示了连接多个计算机160、162、164、182、184的示例网络150。网络150可例如是数据中心或者连接两个或更多个主机设备的路由器或其他交换设备的任何其他集合。网络150包括多个第3层(L3)交换机142、144、146、148。每个L3交换机可包括处理器130和耦合到处理器130的存储器120。每个L3交换机142-148还可包括一个或多个输入端口,用于从其他L3交换机或计算设备接收数据,例如封包或程序更新。类似地,每个L3交换机142-148可具有一个或多个输出端口,用于通过网络150发送数据。
每个路由器可具有处理器和存储器,例如路由器144的存储器120,其存储数据122和指令128,例如用于检测拥塞和将拥塞通知给违规(offending)的流量源。例如,L3交换机144对接收到的数据封包采样并且基于采样的封包来检测拥塞。如果检测到拥塞,则L3交换机144利用采样的封包以互联网协议(Internet Protocol,IP)头部来组装通知消息。示例通知消息在下文参考图2-图4和图6来更详细描述。通知消息的目的地被设置为采样的封包的源,并且通知消息被发送到L3交换机144的通过其接收到采样封包的入口端口。从而,例如,如果计算机182是违规的流量源,则通知消息通过L3交换机142被转发到计算机182。作为响应,计算机182可降低其封包传送速率。
存储器120存储处理器130可访问的信息,包括指令128,以及可被处理器130执行或以其他方式使用的数据122。存储器120可以是能够存储处理器可访问的信息的任何类型的,包括计算机可读介质,或者存储可在电子设备的辅助下被读取的数据的其他介质,例如硬盘驱动器、存储卡、ROM、RAM、DVD或其他光盘,以及其他可写存储器和只读存储器。系统和方法可包括前述的不同组合,由此指令和数据的不同部分被存储在不同类型的介质上。
指令128可以是要被处理器130直接执行(例如机器代码)或间接执行(例如脚本)的任何指令集合。例如,指令可作为计算机代码被存储在计算机可读介质上。在这方面上,术语“指令”和“程序”在本文中可被互换使用。指令可以目标代码格式来存储以供处理器直接处理,或者以任何其他计算机语言来存储,包括根据需要解释或预先编译的独立源代码模块的集合或脚本。指令的功能、方法和例程在下文更详细说明。
数据122可被处理器130根据指令128来检索、存储或修改。例如,虽然系统和方法不受任何特定的数据结构的限制,但数据可被存储在计算机寄存器中、存储在诸如具有多个不同字段和记录的表格之类的关系数据库中、存储在XML文档中或者存储在平面文件中。数据也可被格式化为任何计算机可读格式。数据可包括足以识别相关信息的任何信息,例如数字、描述性文本、专有代码、对存储在同一存储器的其他区域或不同存储器(包括其他网络位置)中的数据的引用或者被函数用来计算相关数据的信息。
处理器130可以是任何传统处理器,例如市售路由器中的处理器。或者,处理器可以是专用控制器,例如ASIC或其他基于硬件的处理器。处理器和存储器可实际包括多个处理器和存储器,这些处理器和存储器可安装在同一物理壳体内或者可不安装在同一物理壳体内。例如,存储器可以是位于数据中心的服务器群中的硬盘驱动器或者其他存储介质。从而,对处理器、存储器或计算机的提及将被理解为包括对可并行操作或者可不并行操作的处理器、存储器或计算机的集合的提及。
与交换机144类似,交换机148也可包括存储器194和处理器190,其结构可与上述的存储器120和处理器130类似。存储器194还可包括数据192和指令198,用于例如检测拥塞,生成通知消息,并且通过L3网络将通知消息L2转发(L2forwarding)到拥塞源。
计算机160、162、164、182、184可以是各种计算设备中的任何一种,包括数据中心中的服务器、个人数字助理(personal digital assistant,PDA)、膝上型计算机、平板PC、上网本、PC等等。这些设备可经由有线连接来连接到网络150,例如通过调制解调器,或者无线地连接到网络150,例如通过与路由器142-148之一通信的接入点。虽然在图1中只描绘了几个计算机,但应当明白系统可包括许多连接的计算机,其中每个不同的计算机在网络150的不同节点处。网络和居间的节点可包括各种配置和协议,包括因特网、万维网、内联网、虚拟专用网、广域网、本地网络、使用一个或多个公司专有的通信协议的私有网络、以太网、WiFi(例如,802.11、802.11b、g、n或其他这种标准)和HTTP,以及前述的各种组合。这种通信可由任何能够向和从其他计算机传送数据的设备来促成,例如调制解调器(例如,拨号、线缆或光纤)和无线接口。
一般来说,L3交换机144接收数据封包并且对数据封包执行源标记,以使得源标签(tag)随着数据封包被路由而被更多交换机维护。交换机144还被配置为接收来自另一交换机的通知消息,并且利用被聚集到ACL规则中的L2转发规则将通知消息转发到数据封包的源。L3交换机148可在与交换机148分开的结构块中。交换机148可被配置为从交换机144接收数据封包,基于数据封包检测拥塞,并且作为响应生成拥塞通知消息。交换机148还被配置为利用L2转发例如通过交换机144将通知消息发送到流量源。这种操作在下文更详细论述。
图2图示了示例数据中心网络200。网络300具有层次化拓扑,其中多个结构块210、260由块间网络250互连。块间网络250可包括例如一个或多个交换设备,例如路由器、脊交换机(spine)等等。虽然在图2中只示出了两个结构块210、260,但网络200可包括任何数目的结构块。
每个结构块210、260可包括一个或多个处于拓扑的最低级别的主机设备212、262,一个或多个机架顶(TOR)交换机214、264连接到下一级别中的主机设备。一个或多个边缘路由器216、266可存在于每个结构块210、260的边缘。边缘路由器216、266可通过例如块内网络220、270连接到TOR交换机214、264。每个块内网络220、270可包括用于传送封包的一个或多个交换机和/或其他网络设备。虽然结构块210、260被示为只包括几级硬件,但应当理解在该层次体系中可包括额外的或更少的级别。
在例如网络200那样的层次化拓扑的数据中心网络中,TOR交换机之间的流量是基于封包互联网协议(IP)头部来被L3转发的。例如,封包可通过分别行经TOR 214、块内网络220、边缘路由器216、块间网络250、边缘路由器266、块内网络270和TOR 264被从结构块210中的主机212路由到结构块260中的主机262。这种封包可具有提供用于将封包通过网络200从一跳路由到下一跳的信息的IPv4或IPv6头部。
QCN消息通常是第2层(L2)封包。当数据封包对L2网络节点的拥塞做出贡献时,数据封包的源地址(例如,介质访问控制(MAC)地址)被拷贝到QCN消息封包中作为QCN消息的目的地地址。QCN消息的有效载荷包括对拥塞做出贡献的数据封包的前64B。为了使能在例如网络200这样的L3网络中使用QCN消息,提供了L2转发覆盖。L2转发覆盖采用数据封包的源MAC标记和QCN消息的层次化路由。利用转发覆盖,拥塞可被网络200中的TOR交换机214、264或边缘路由器216、266中的任何一者检测和报告。
源MAC标记可例如由每个结构块中的TOR之中的一个或多个执行,或者由每个结构块中的边缘路由器之中的一个或多个执行。例如,被指定为执行源MAC标记的节点可被编程为用其MAC地址来给数据封包加标签。在一些示例中,在每个结构块中可指定一个节点执行源MAC标记。在其他示例中,每个结构块的给定级别中的每个节点可被指定为执行标记。例如,如果结构块210中的每个边缘路由器都执行源MAC标记,则通过网络传送的数据封包无论其采取哪条路径经过结构块210都将被加标签。
在数据封包的源MAC标记由TOR 214执行的情况下,每个TOR改写由主机212生成的数据封包的L2头部。例如,因为L2头部中的源MAC唯一地标识TOR,所以源MAC可被设置为TOR的IP前缀。
在源MAC标记由边缘路由器216执行的情况下,相应结构块210的标识符被编码在被转发的数据封包的新的源MAC中。例如,结构块210的IP前缀可被编码在QCN封包中。
无论源MAC标记由TOR交换机还是由边缘路由器执行,其他交换机都不修改转发的数据封包的源MAC。例如,如果源MAC标记由TOR 214对于从主机212路由到主机262的封包执行,则交换机216、266和264转发数据封包,保持数据封包的源MAC不被修改。
QCN消息的层次化路由是在每个结构块210、260内执行的。在感测到拥塞后,交换机生成QCN消息。这种消息的目的地MAC是从触发拥塞的数据封包的源MAC拷贝的。QCN消息的有效载荷包括这些数据封包的IP头部。QCN消息通过L2转发和访问控制列表(ACL)转发的组合被转发到拥塞源。
QCN消息首先被基于其目的地MAC从拥塞的交换机L2转发到执行源MAC标记的边缘路由器或TOR。如果结构块或TOR的IP前缀被用作数据封包的源MAC并从而被用作QCN消息的目的地MAC,则QCN消息的L2转发规则可被进一步聚集到一小组ACL规则中。这在具有层次化寻址的主机的数据中心网络中尤其有效。例如,在每个结构块具有包括该块中的所有TOR的IP前缀的单个IP前缀的情况下,QCN消息的L2转发规则可被更容易地聚集到更小的一组ACL规则中。
QCN消息随后例如通过对QCN有效载荷的ACL匹配被从执行源MAC标记的边缘路由器或TOR转发到拥塞源。例如,QCN消息有效载荷中包括的拥塞源的IP地址被与聚集的那组ACL转发规则相比较,并且QCN消息被利用匹配的ACL转发规则路由到拥塞源。
这种层次化路由的主要益处在于只在结构块内需要ACL转发,从执行数据封包的源MAC标记的路由器到拥塞源。此外,QCN消息的转发规则可从正被从交换机路由到拥塞源的数据流量的转发规则来得出。
图3和图4图示了用于L3网络的L2转发覆盖的两个示例。在两个示例中,在两个不同的结构块中的主机之间都有流量流动。在图3所示的第1示例中,源MAC标记由TOR交换机执行,而在图4所示的第二示例中,源MAC标记由边缘路由器执行。
如图3所示,结构块310包括主机311、TOR交换机322和边缘路由器333。结构块360通过例如联系图2论述的块间网络与结构块310通信。结构块360包括边缘路由器344、TOR交换机355和主机366。结构块310、360的每一者也可包括其他网络设备,例如额外的交换机和主机,在本示例中不对其进行论述。
第一主机311发送以第二主机366为目的地的数据封包318,这由目的地IP(DIP)地址315指示。该封包可通过例如第一TOR 322、第一边缘路由器333、第二边缘路由器344和第二TOR 355被发送到第二主机366,如路径390所指示。封包318包括分别为封包标识源地址(例如MAC地址)和下一跳目的地地址的头部312、313。例如,头部312中的源MAC地址对应于第一主机311,并且头部313中的目的地MAC地址对应于第一TOR 322。
当封包318到达第一TOR 322时,第一TOR 322改写头部信息。例如,如更新的封包328中所示,源地址321被第一TOR 322的MAC地址所替换。另外,目的地地址323被改写成下一跳的MAC地址,下一跳是第一边缘路由器333。
在此示例中,第一边缘路由器333对数据封包执行源MAC标记。例如,第一边缘路由器333改写头部信息,与第一TOR 322执行的改写类似。具体地,更新的封包338包括第一边缘路由器333的源MAC地址,和第二边缘路由器344的目的地地址。这个源MAC唯一地标识第一结构块310。然而,将会接收封包338的交换机被编程为不执行源地址头部的进一步改写。例如,第二边缘路由器344和第二TOR 355可被编程为确定源地址头部00:00:33是标签并且不应当被改写。因此,在更新的封包348、358、360中,只有目的地MAC地址被改写并且第一边缘路由器333的源MAC地址被维持。
在图4中,第一结构块410中的第一主机411发送数据封包418以便递送到第二结构块460中的第二主机466。数据封包418可沿着路径490被发送,经过第一TOR 422、第一边缘路由器433、第二边缘路由器444和第二TOR 455。
在此示例中,第一TOR 422执行数据封包的源MAC标记。从而,TOR 422利用其自己的MAC地址改写数据封包头部的源地址,该MAC地址唯一地标识源TOR。第一TOR 422还将目的地MAC地址改写为第一边缘路由器433的MAC地址。虽然数据封包的目的地MAC地址随着封包行进到第二主机466而被每个节点更新,但标记的源MAC地址不被改变。例如,第一边缘路由器433、第二边缘路由器444和第二TOR 455可被编程为维持标记的源MAC地址,而只更新目的地MAC地址。
图5图示了确定拥塞并且利用L2转发覆盖通过L3网络转发QCN消息的示例。在此示例中,沿着路径590发送的数据流量(未示出)被源结构块510的第一边缘路由器533用00:00:00:00:00:44的源MAC加标签,该源MAC唯一地标识结构块510。这个源MAC被维持,直到封包到达目的地主机566为止。然而,拥塞发生在连接到目的地主机566的第二TOR 555中。从而,TOR 555生成目的地MAC被设置为数据封包的源MAC的QCN消息585,数据封包的源MAC是标识源结构块510的00:00:00:00:00:44。中间路由器,例如结构块560的第二边缘路由器544,接收该QCN消息并且识别出MAC地址是来自结构块510的。从而,第二边缘路由器544例如经由路径595将QCN消息585进行L2转发到结构块510的边缘路由器之一,例如第一边缘路由器533。
一旦QCN消息585到达结构块510,它就被路由器经由QCN消息585所包括的原始数据封包头部中的源IP的ACL查找来转发。例如,第一边缘路由器533和第一TOR 522将QCN消息585转发到源主机511,源主机511是对其检测到拥塞的数据封包的源。边缘路由器533和TOR 522利用从L2QCN转发规则生成的ACL规则来转发QCN消息585。这种ACL查找可通过设立ACL匹配的用户定义字段来实现。例如,用户定义字段592的偏移量被利用QCN消息585中包括的原始数据封包头部中的源IP地址582的偏移量来配置。
根据一些示例,当执行源MAC标记时,执行标记的节点的IP地址被嵌入到源地址中。例如,参考图5,如果TOR 522的IP地址是0a.0a.01.00/24,则TOR 522将把源地址改写成02:AA:0A:0A:01:00,使得IP地址被嵌入到源地址中。另外,“02:AA”可以是识别伪造mac地址的特殊值。通过将IP地址嵌入到源地址中,一个或多个ACL规则可掩蔽掉源地址的更多比特以聚集规则。
图6图示了利用L2转发覆盖的L3网络中的拥塞通知的方法600。方法600可由例如网络中的任何L3交换机来执行。
在方框610中,在L3网络的第一结构块中的第一节点处接收数据封包。第一节点可例如是TOR交换机、边缘路由器或者直接或间接耦合到从其接收数据封包的主机设备的任何其他交换机。
在方框620中,第一结构块的第一节点对数据封包执行源MAC标记。例如,第一节点可改写数据封包中的头部信息来唯一地标识第一节点和/或第一结构块。头部信息可以是数据封包的源地址字段,并且第一节点可将其自己的源MAC地址改写成该字段。接收到该数据封包的更多节点可被编程为维持源MAC标签,例如通过不改写源地址头部字段。
在方框630中,第一节点将数据封包转发到第二结构块。在转发数据封包时,数据封包在到达第二结构块之前可穿越第一结构块中的一个或多个额外的交换机。例如,如果执行源MAC标记的第一交换机存在于第一结构块中的层次体系的中间层或较低层,则数据封包可被发送到第一结构块的较高层中的一个或多个中间节点,然后才通过块间网络被发送到第二结构块。
在方框640中,在L3网络的第二结构块中的第二节点处接收被标记的数据封包。如上所述,第二节点可基于被标记的源MAC地址识别出数据封包源自第一结构块。另外,第二节点可被编程为维持数据封包的被标记的源MAC地址。
在方框650中,第二节点基于例如接收到的数据封包检测其是否被拥塞。例如,第二节点在接收数据封包的速度可能比其能够发送出数据封包的速度更快。从而,第二节点的吞吐量以及整体网络的吞吐量与第二节点在高效运行的情况下的吞吐量相比可能减小。
在方框660中,第二节点如果确定其被拥塞则生成量化拥塞通知(QCN)消息。生成的QCN消息可包括来自接收到的数据封包的信息。例如,QCN消息在其有效载荷中包括源IP地址,该源IP地址标识拥塞的源(例如,第一结构块中的发送数据封包的主机)。QCN消息还包括目的地MAC地址,其是第一结构块中的第一节点的被标记的源MAC地址。
在方框670中,第二结构块中的第二节点将QCN消息发送到数据封包的源。例如,因为QCN消息的目的地MAC是数据封包的源MAC,所以接收QCN消息的第二结构块中的任何中间节点将识别源MAC为来自第一结构块。从而,中间节点将把QCN消息L2转发到第一结构块中的节点,例如边缘路由器。
在方框680中,QCN消息被第一结构块中的第一节点接收。如果第一节点是第一结构块中的边缘路由器,则其可以是该块中接收到该QCN消息的第一节点。然而,如果第一节点处于第一结构块中的层次化布置的交换机的较低层中,则第一结构块的边缘路由器和/或中间节点可利用下面联系方框690描述的技术将QCN消息转发到第一节点。
在方框690中,第一节点利用被聚集成ACL规则的L2转发规则将QCN消息转发到数据封包的源。例如,ACL表中的用户定义字段可包括数据封包的源IP地址。从而,第一节点可通过将QCN消息的源IP地址与ACL表的用户定义字段相匹配来执行ACL查找。
应当理解,上述方法中涉及的操作不需要按所描述的确切顺序执行。更确切地说,可按不同顺序处理或同时处理各种操作,并且可添加或省略操作。
上述的系统、方法和示例的有利之处在于它们提供了L3网络中的拥塞通知。这样,引起拥塞的流量源可被通知这种拥塞并且相应地做出适应,例如通过改变其传送速率或路由。从而,可以大幅减少网络中的封包丢弃的数目。此外,也大大减少了数据中心流量的往返时间。
由于可在不脱离权利要求限定的主题的情况下利用以上论述的特征的这些和其他变化和组合,所以对实施例的前述描述应当被作为例示而不是作为对权利要求限定的主题的限制来理解。作为示例,前述操作不必按以上描述的确切顺序执行。更确切地说,可按不同顺序处理或同时处理各种步骤。除非另有申明,否则也可省略步骤。此外,本文描述的示例的提供,以及措辞为例如摂、包括摂之类的从句,不应当被解释为将权利要求的主题限制到特定示例;更确切地说,这些示例打算只例示许多可能实施例之一。另外,不同附图中的相同标号可标识相同或相似的元素。

Claims (20)

1.一种方法,包括:
在L3网络的第一结构块中的第一交换机处接收数据封包;
由所述第一交换机改写所述数据封包的头部中的信息以标识所述第一交换机和所述第一结构块的至少一者,其中所述信息不被转发所述数据封包的其他交换机进一步修改;
将所述数据封包转发到所述L3网络的第二结构块中的第二交换机;
由所述第二交换机响应于接收到所述数据封包而判定所述第二交换机是否被拥塞;
在所述第二交换机处响应于检测到的拥塞而生成通知消息;
将所述通知消息转发到所述第一交换机;以及
将所述通知消息从所述第一交换机转发到所述数据封包的源。
2.如权利要求1所述的方法,还包括从所述数据封包的头部信息为由所述第二交换机生成的通知消息拷贝头部信息。
3.如权利要求2所述的方法,其中,拷贝头部信息包括将所述数据封包的源地址拷贝到所述通知消息的目的地地址中。
4.如权利要求1所述的方法,其中,所述通知消息被从所述第二交换机L2转发到所述第一交换机。
5.如权利要求4所述的方法,还包括将所述数据封包的L2转发规则聚集到一组访问控制列表规则中。
6.如权利要求5所述的方法,其中,将所述通知消息从所述第一交换机转发到所述源包括利用所述通知消息的有效载荷的访问控制列表匹配。
7.如权利要求6所述的方法,其中,所述匹配是基于所述通知消息有效载荷中包括的所述源的地址的。
8.一种方法,包括:
在L3网络的第一结构块中的第一交换机处接收数据封包;
由所述第一交换机改写所述数据封包的头部中的信息以标识所述第一交换机和所述第一结构块的至少一者,其中所述信息不被转发所述数据封包的其他交换机进一步修改;
将所述数据封包转发到第二交换机;
从所述第二交换机接收拥塞通知消息;以及
将所述通知消息从所述第一交换机转发到所述数据封包的源。
9.如权利要求8所述的方法,其中,所述通知消息被利用从L2QCN转发规则聚集的L3规则从所述第一交换机转发到所述数据封包的源。
10.如权利要求9所述的方法,其中,所述L3规则包括ACL规则。
11.如权利要求10所述的方法,其中,将所述通知消息从所述第一交换机转发到所述源包括利用所述通知消息的有效载荷的访问控制列表匹配。
12.如权利要求11所述的方法,其中,所述匹配是基于所述通知消息有效载荷中包括的所述源的地址的。
13.如权利要求10所述的方法,其中,所述ACL规则的用户定义字段包括接收到的数据封包的源互联网协议地址。
14.一种方法,包括:
在L3网络的第二结构块中的交换机处接收数据封包;
由所述交换机响应于接收到所述数据封包而判定所述交换机是否被拥塞;
在所述交换机处响应于检测到的拥塞而生成通知消息;
将所述通知消息转发到所述数据封包的源。
15.如权利要求14所述的方法,还包括从所述数据封包的头部信息为由所述第二交换机生成的通知消息拷贝头部信息。
16.如权利要求15所述的方法,其中,拷贝头部信息包括将所述数据封包的源地址拷贝到所述通知消息的目的地地址中。
17.如权利要求14所述的方法,其中,所述通知消息被从所述第二交换机L2转发到所述第一交换机。
18.如权利要求17所述的方法,还包括将所述数据封包的L2转发规则聚集到一组访问控制列表规则中。
19.如权利要求18所述的方法,其中,将所述通知消息从所述第一交换机转发到所述源包括利用所述通知消息的有效载荷的访问控制列表匹配。
20.如权利要求19所述的方法,其中,所述匹配是基于所述通知消息有效载荷中包括的所述源的地址的。
CN201580028210.4A 2014-06-19 2015-06-08 用于在第3层网络中提供拥塞通知的系统和方法 Active CN106464600B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462014223P 2014-06-19 2014-06-19
US62/014,223 2014-06-19
US14/676,053 US9807009B2 (en) 2014-06-19 2015-04-01 System and method for providing congestion notification in layer 3 networks
US14/676,053 2015-04-01
PCT/US2015/034684 WO2015195392A2 (en) 2014-06-19 2015-06-08 System and method for providing congestion notification in layer 3 networks

Publications (2)

Publication Number Publication Date
CN106464600A true CN106464600A (zh) 2017-02-22
CN106464600B CN106464600B (zh) 2019-12-03

Family

ID=54870678

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580028210.4A Active CN106464600B (zh) 2014-06-19 2015-06-08 用于在第3层网络中提供拥塞通知的系统和方法

Country Status (4)

Country Link
US (1) US9807009B2 (zh)
EP (1) EP3130114A2 (zh)
CN (1) CN106464600B (zh)
WO (1) WO2015195392A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111464559A (zh) * 2020-04-20 2020-07-28 苏州雄立科技有限公司 一种基于udb的数据传输方法及传输装置
CN111788803A (zh) * 2018-03-06 2020-10-16 国际商业机器公司 网络中的流管理

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9497125B2 (en) 2013-07-28 2016-11-15 Mellanox Technologies Ltd. Congestion control enforcement in a virtualized environment
US10505891B2 (en) 2015-04-02 2019-12-10 Nicira, Inc. Security policy selection for machines with dynamic addresses
US10009277B2 (en) 2015-08-04 2018-06-26 Mellanox Technologies Tlv Ltd. Backward congestion notification in layer-3 networks
US10237376B2 (en) 2015-09-29 2019-03-19 Mellanox Technologies, Ltd. Hardware-based congestion control for TCP traffic
CN110933079B (zh) * 2019-11-29 2021-10-19 上海观安信息技术股份有限公司 识别伪造mac地址群体的方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090052326A1 (en) * 2007-08-21 2009-02-26 Cisco Technology, Inc., A Corporation Of California Backward congestion notification
EP2461529A2 (en) * 2010-12-01 2012-06-06 Juniper Networks, Inc. Methods and apparatus for flow control associated with a switch fabric

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7760646B2 (en) 2005-02-09 2010-07-20 Nokia Corporation Congestion notification in 3G radio access
US20060203730A1 (en) 2005-03-14 2006-09-14 Zur Uri E Method and system for reducing end station latency in response to network congestion
WO2008097710A2 (en) * 2007-02-02 2008-08-14 Tarari, Inc. Systems and methods for processing access control lists (acls) in network switches using regular expression matching logic
US8160063B2 (en) 2008-06-09 2012-04-17 Microsoft Corporation Data center interconnect and traffic engineering
US9166927B2 (en) 2008-10-21 2015-10-20 Broadcom Corporation Network switch fabric dispersion
US8811183B1 (en) * 2011-10-04 2014-08-19 Juniper Networks, Inc. Methods and apparatus for multi-path flow control within a multi-stage switch fabric
US9014006B2 (en) * 2013-01-31 2015-04-21 Mellanox Technologies Ltd. Adaptive routing using inter-switch notifications
US9253096B2 (en) * 2013-03-15 2016-02-02 International Business Machines Corporation Bypassing congestion points in a converged enhanced ethernet fabric
CN103368863A (zh) 2013-07-09 2013-10-23 杭州华三通信技术有限公司 最短路径桥网络中的负载分担方法及设备
US9282041B2 (en) * 2013-07-16 2016-03-08 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Congestion profiling of computer network devices

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090052326A1 (en) * 2007-08-21 2009-02-26 Cisco Technology, Inc., A Corporation Of California Backward congestion notification
EP2461529A2 (en) * 2010-12-01 2012-06-06 Juniper Networks, Inc. Methods and apparatus for flow control associated with a switch fabric

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111788803A (zh) * 2018-03-06 2020-10-16 国际商业机器公司 网络中的流管理
CN111788803B (zh) * 2018-03-06 2023-05-02 国际商业机器公司 网络中的流管理
CN111464559A (zh) * 2020-04-20 2020-07-28 苏州雄立科技有限公司 一种基于udb的数据传输方法及传输装置
CN111464559B (zh) * 2020-04-20 2022-12-23 苏州雄立科技有限公司 一种基于udb的报文数据传输方法及传输装置

Also Published As

Publication number Publication date
US9807009B2 (en) 2017-10-31
US20150372918A1 (en) 2015-12-24
WO2015195392A3 (en) 2016-02-11
WO2015195392A2 (en) 2015-12-23
CN106464600B (zh) 2019-12-03
EP3130114A2 (en) 2017-02-15

Similar Documents

Publication Publication Date Title
CN106464600B (zh) 用于在第3层网络中提供拥塞通知的系统和方法
CN113169928B (zh) 包括分解式网络元件的逻辑路由器
CN105191215B (zh) 用于双向服务链的数据平面学习的方法和装置
CN106464585B (zh) 用于压缩数据网络的转发状态的方法和系统
CN107005472B (zh) 一种用于提供域间服务功能链接的方法及装置
Braun et al. Software-defined networking using OpenFlow: Protocols, applications and architectural design choices
CN107465590A (zh) 网络基础设施系统、路由网络业务的方法及计算机可读介质
WO2011118566A1 (ja) パケット転送システム、制御装置、転送装置、処理規則の作成方法およびプログラム
CN102498694A (zh) 通信系统、转发节点、路径管理服务器、通信方法和程序
US9264312B2 (en) Method and system to calculate multiple shortest path first trees
CN105009523A (zh) 用于ip/mpls快速重新路由的方法和设备
CN104205749B (zh) 一种通信系统、上层交换机、控制装置及交换机控制方法
US20190372883A1 (en) Method for scalable computer network partitioning
CN105099916A (zh) 开放流路由交换设备及其对数据报文的处理方法
CN105075196A (zh) 控制器、通信系统、路径切换方法和程序
US10855572B2 (en) Area abstraction extensions to routing protocols
Borokhovich et al. The show must go on: Fundamental data plane connectivity services for dependable SDNs
CN104995879A (zh) 通信系统、通信方法、控制装置、控制装置控制方法和程序
CN105027502A (zh) 控制信息管理装置、控制信息呈现方法和程序
CN109660458A (zh) 一种路由方法及设备
JP2019176255A (ja) ネットワークシステム、制御装置、処理規則設定方法及びプログラム
CN105122744A (zh) 通过按需路径更新的msdc扩展
US20150180775A1 (en) Communication System, Control Apparatus, Communication Method, and Program
CN104579971B (zh) 用于软件定义的网络体系结构中移交的路由的方法和设备
JP5937526B2 (ja) トラフィック制御システム及びトラフィック制御方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1233070

Country of ref document: HK

CB02 Change of applicant information

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant