CN1689278B - 网络拥塞控制方法和装置 - Google Patents

网络拥塞控制方法和装置 Download PDF

Info

Publication number
CN1689278B
CN1689278B CN028281993A CN02828199A CN1689278B CN 1689278 B CN1689278 B CN 1689278B CN 028281993 A CN028281993 A CN 028281993A CN 02828199 A CN02828199 A CN 02828199A CN 1689278 B CN1689278 B CN 1689278B
Authority
CN
China
Prior art keywords
switch
frame
node
destination
network
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.)
Expired - Fee Related
Application number
CN028281993A
Other languages
English (en)
Other versions
CN1689278A (zh
Inventor
毛里利奥·科梅托
圭利洛莫·M·莫兰丁
雷蒙德·J·克洛特
罗伯特·L·霍夫曼
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.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
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 Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN1689278A publication Critical patent/CN1689278A/zh
Application granted granted Critical
Publication of CN1689278B publication Critical patent/CN1689278B/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/38Flow control; Congestion control by adapting coding or compression rate
    • 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/17Interaction among intermediate nodes, e.g. hop by hop
    • 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/266Stopping or restarting the source, e.g. X-on or X-off
    • 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/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

本发明提供了用于控制例如光纤通道网络的网络中的拥塞的方法和装置。本发明提供了用于表征拥塞的网络节点处的业务流的技术。拥塞的网络节点可以生成例如抑制消息的各种指令,来控制朝向拥塞的网络节点的业务流。抑制消息可以可选地包括关于拥塞特征的信息。指令被分发给网络中的其他节点。其他网络节点可以解释指令,并控制朝向拥塞节点的业务流。

Description

网络拥塞控制方法和装置
技术领域
本发明涉及网络拥塞控制。更具体地说,本发明涉及用于检测拥塞、生成用于减轻拥塞的指令、分发所述指令并控制拥塞的方法和装置。
背景技术
许多传统的网络协议使用分组丢弃来减轻网络节点处的拥塞。在一个例子中,在基于IP的网络中的网络节点以超过其输出带宽的速率从多个源接收输入数据。在传统实现中,丢弃所选分组,以允许在所分配的输出带宽内传输剩余分组。可以随机地或者通过使用各种选择标准来丢弃分组。被丢弃的分组最终在例如TCP的更高级协议的控制下被重新传输。
在例如光纤通道网络的网络中,一般不允许分组丢弃。替代的是,例如光纤通道网络的网络实现端到端和缓冲器到缓冲器的流控制机制。端到端和缓冲器到缓冲器的流控制机制,直到第二网络节点已准备好接收帧才允许第一网络节点传输到第二网络节点。第二网络节点一般通过给予第一网络节点信用(credit)来指示其已准备好接收帧。当帧被传输时,信用被使用。当没有信用剩余时,第一网络节点不能再向第二网络节点传输。但是,端到端和缓冲器到缓冲器的流控制机制只是提供了一种非常粗糙的用于控制拥塞的技术,因为该机制阻塞沿着特定链路的所有业务(traffic)。这种阻塞可以快速地上行向光纤通道网络拓扑中的其他链路传播。这些链路中的一些可能作为用于不包括初始拥塞链路的路径的廊道(corridor)。因此,在一个网络路径的一个链路处的拥塞,有时会引起在光纤通道拓扑的更大部分上的阻塞。
端到端信用机制考虑在接收节点中缓冲器的可用性。但是,其对网络环境中的变化不做出反应,所以网络上的拥塞和阻塞还会发生。此外,端到端信用机制一般应用于交换类别2业务的端节点之间。但是,大部分光纤通道设备不交换类别2业务。因此,端到端和缓冲器到缓冲器信用机制不优化网络中的业务流(traffic flow),甚至不会尝试这么做。
因此,针对上面提到的一些或全部性能限制,期望提供方法和装置,用于改善例如光纤通道网络的网络中网络节点处的拥塞控制。
发明内容
本发明提供了方法和装置,用于例如光纤通道网络的网络中的拥塞控制。本发明提供了技术,用于表征拥塞的网络节点处的业务流。拥塞的网络节点可以生成例如抑制消息的各种指令,来控制朝向拥塞的网络节点的业务流。所述抑制消息可以可选地包括关于拥塞特征的信息。指令被分发给网络中的其他节点。所述其他网络节点可以解释指令,并控制朝向拥塞的节点的业务流。
在一个实施例中,提供了一种用于控制网络交换机处拥塞的方法。接收具有对应于源节点的源标识符字段和对应于目的地节点的目的地标识符字段的帧,所述帧已经经过位于所述网络交换机和所述源节点之间的第一中间交换机而被传输到所述网络交换机。表征所述网络交换机处的业务流。将第一指令从所述网络交换机发送到所述第一中间交换机,用于控制从所述源节点到所述目的地节点的业务。
在另一个实施例中,提供了一种用于控制第一和第二端节点之间的经过第一和第二中间节点的业务流的方法。传输具有对应于所述第一端节点的源标识符和对应于所述第二端节点的目的地标识符的第一帧。所述帧在所述第一中间节点被传输到位于所述第一中间节点和所述第二端节点之间的第二中间节点。从所述第二中间节点接收帧。所述第二帧具有对应于所述第二端节点的源标识符和对应于所述第一端节点的目的地标识符。所述第二帧包括用于调整从所述第一端节点到所述第二端节点的当前允许速率的指令。在接收所述第二帧之后,即调整从所述第一端节点到所述第二端节点的当前允许速率。
根据另一个实施例,提供了一种用于控制源节点和目的地节点之间的业务流的交换机。所述交换机包括:第一端口,用于耦合到第一外部节点,第二端口,用于耦合到第二外部节点,与所述第一端口相关联的第一队列,用于从所述第一外部节点接收数据,所述第一队列包括用于容纳通过所述第一端口传输的数据的第一部分以及用于容纳通过所述第二口传输的数据的第二部分;以及耦合到所述第一队列的过滤器,所述过滤器被配置成从所述第一队列接收数据,并基于从所述第二外部节点接收的信息确定数据的传输是否应该被延迟。
本发明的另一个方面涉及包括计算机可读介质的计算机程序产品,在所述介质上提供用于执行上述的全部或部分方法和技术的程序指令。本发明的任何方法可以全部或部分地表示为可以提供在这种机器可读介质上的程序指令。此外,本发明涉及如这里所描述的被生成和/或使用的数据的各种组合和排列。例如,具有这里所描述的格式的、并在适合的介质上提供的(或在其上传输的)抑制帧是本发明的一部分。
在本发明下面的说明书和附图中将更加详细地给出本发明的这些以及其他特征和优点,附图作为例子图示了本发明的原理。
附图说明
结合附图,参照下面的详细描述,可以最好地理解本发明,附图是对本发明具体实施例的图示。
图1是可以使用本发明技术的网络的图形表示。
图2是示出了排头阻塞(head-of-line blocking)的图形表示。
图3是可以实现拥塞检测的一个例子的交换机的图形表示。
图4是示出了基于缓冲器水平可以生成抑制消息的频繁程度的表格。
图5是示出了交换机检测拥塞的过程流程图。
图6是可以用于生成抑制消息的队列水平的图解表示。
图7是可以被生成的边缘抑制或路径抑制消息的图形表示。
图8是示出了边缘抑制或路径抑制消息的生成和传输的过程流程图。
图9是可以实现拥塞控制的网络的图形表示。
图10是可以实现拥塞控制的混合网络的图形表示。
图11是示出了用于传递抑制消息的技术的过程流程图。
图12是交换机的图形表示,该交换机在接收抑制消息后即可实现拥塞控制的一种可能实现。
图13是基于所接收的边缘抑制和路径抑制消息而改变的允许速率的图解表示。
图14是示出了拥塞控制实现的过程流程图。
具体实施方式
本发明涉及网络中的拥塞控制。更具体地说,本发明涉及方法和装置,用于将抑制消息从拥塞的网络节点传输到其他网络节点,以控制到拥塞的网络节点的业务流。
现在将详细描述本发明的具体实施例,包括发明人所设想的用来实现本发明的最佳模式。在附图中图示了这些具体实施例的例子。虽然结合这些具体的实施例描述了本发明,但是应该理解不意于将本发明限制于所描述的实施例。相反,意于覆盖所有可以包含在所附权利要求限定的本发明的精神和范围内的替换、修改和等价物。
例如,本发明的技术将在存储区域网络中使用的光纤通道的上下文中描述。但是,应该注意,本发明的技术可以应用于多种不同的协议和网络。此外,由本发明提供的解决方法同样可用于非光纤通道网络。在一个例子中,本技术可以应用于一般不允许分组丢弃的网络,但是本发明的技术可以应用于包括IP网络的多种不同的网络。在下面的描述中,给出了大量具体的细节,以提供对本发明的完整理解。可以不用这些具体细节中的一些或全部来实施本发明。在其他情况下,为了不必要地混淆本发明,没有详细描述公知的过程操作。
本发明提供了用于减轻网络节点处拥塞的方法和装置。任何网络中的拥塞可以导致在传输各种类型数据时的延迟。具体来说,使用光纤通道的网络节点处的拥塞可能是尤其有害的,这是因为可能向网络中引入例如级联拥塞和排头阻塞的效应,这将在下面描述。因此,提供了用于检测并表征网络节点处的拥塞的技术。然后,可以利用表征网络节点处拥塞的信息,生成并传输用于控制到拥塞的网络节点的业务流的不同类型的指令。接收指令的一些其他网络节点,使用指令中提供的信息来有选择地控制朝向拥塞的网络节点的业务流。
图1是可以使用本发明技术的网络的图形表示。虽然将在存储区域网络的光纤通道的上下文中讨论本发明的技术,但是如以上指出的,应该注意,本发明的技术可以被应用于多种环境,包括各种局域和广域网。在一个网络节点可能作为多个流或路径的拥塞点的任何网络中,可以应用各种技术。图1示出了使用光纤通道而被实现的存储区域网络。交换机101被耦合到交换机103和105以及主机111和存储装置121。在一个实施例中,主机111可以是服务器或客户系统,而存储装置121可以是单盘或独立磁盘冗余阵列(RAID)。互连的交换机103和105都被耦合到交换机107。交换机107被连接到主机113,交换机103被连接到存储装置123。交换机109被连接到主机115、交换机107、磁盘阵列153以及可以使用或者可以不使用光纤通道的外部网络151。为了使主机111访问网络151,可以使用几个路径。一个路径经过交换机103,而另一个路径经过交换机105。但是,在交换机109处的拥塞可能减慢主机111和网络151之间的通信。
如上面所提到的,当传统IP网络中的交换机或路由器被拥塞时,分组被丢弃。分组可以被随机地丢弃,或者利用某种程度的智能而被有选择地丢弃。通过丢弃分组,与占用较少量带宽的流相比,占用大量带宽的流一般将有更多的分组被丢弃。虽然通过分组的丢弃,通过拥塞的交换机或路由器的流速率将被减小,但是分组将通过交换机109到达网络151。交换机103和105不因为交换机107或交换机109处的拥塞而引入拥塞。
但是,光纤通道不允许分组的丢弃。而是,当交换机109由于各种原因拥塞时,使用缓冲器到缓冲器信用机制来控制从交换机107到交换机109的业务流,所述各种原因例如为网络151未能或不能接收更多的帧。在一般的实现中,交换机109给交换机107分配预定数量的信用。交换机107每一次向交换机109传输帧,信用都被使用。然后,交换机109可以在交换机109有可用缓冲器时,给交换机107分配额外的信用。当交换机107用完信用时,其不能再向交换机109传输。由于网络151未能或不能接收更多的帧,交换机109不能向网络151传输,因此交换机107也不能向网络151传输。应该注意,虽然在一个实施例中网络151被描述为拥塞点,但是在其他实施例中,磁盘阵列153或主机115可以是拥塞源。
缓冲器到缓冲器信用机制是减少到交换机109的业务流的非常粗糙的方法。该信用机制不仅阻止业务从交换机107行进到交换机109并随后到达网络151,而且,虽然主机115及其相关联的链路可能具有从交换机109接收额外的帧的带宽,但是该机制也防止业务从交换机107流到交换机109并到达主机115。缓冲器到缓冲器信用机制可能导致对行进到例如主机115的非拥塞目的地的业务的阻塞。在一个例子中,主机111可以与拥塞的网络151通信。因为网络151中的拥塞,交换机109对来自主机111的大量帧排队,并因此使用缓冲器到缓冲器信用机制来防止交换机107传输任何更多的帧,而不论帧来自主机111或主机113。
另一方面,主机113可能只希望向主机115传输少量的帧。因为网络拥塞导致交换机109在交换机107和交换机109之间实现缓冲器到缓冲器信用机制,所以即使真正的拥塞点是网络151,也没有帧可以通过连接交换机107和交换机109的链路从主机113行进到主机115。因为网络151或磁盘阵列153中的拥塞,帧不能再被传输到主机115或网络151。
应该注意,帧一般是两层构造,其包括三层分组构造。这里帧和分组一般将被可互换地使用,用于描述网络传输。还应该注意,虽然这里的拥塞点是网络151,但是其他设想的拥塞点可以是连接到交换机109的主机115或磁盘阵列153。
因为交换机107不能再向交换机109传输,所以交换机107可能必须实现与交换机103和105的相同的缓冲器到缓冲器信用机制。当交换机103和105不能再向交换机107传输时,交换机103和105可能必须实现与交换机101的缓冲器到缓冲器信用机制。因此,拥塞可能在整个网络中发生级联。级联拥塞现象可以被称为拥塞扩展。
图2是描绘了排头阻塞的简化网络的图形表示。在图2中,源节点211正通过交换机201和203向目的地节点217传输数据。源节点213正通过交换机201和203向目的地节点219传输数据。应该注意,源节点211和213以及目的地节点217和219可以是实体,例如交换机、主机、外部网络或磁盘。在一个例子中,链路221、223和229中的每一个都允许每秒10字节的传输。链路225允许每秒100字节的传输。但是,链路227只允许每秒1字节的传输。如果源节点211和源节点213都正以每秒10字节向各自的目的地217和219传输,那么在交换机203处将导致拥塞,因为,链路227只允许每秒1字节的传输。来自源节点211的分组或帧将在交换机203处聚集,这是因为交换机203不能以足够的速率向目的地217传输。交换机203具有与链路225相关联的共享存储装置231。交换机201具有分别与链路221和223相关联的共享存储装置233和共享存储装置235。下面将参照图3给出关于共享存储装置以及每一个交换机的拥塞特征的更多细节。
在共享存储装置的实现中,交换机203具有用于来自链路225的所有业务的共享存储装置231。该共享存储装置231可以包含目的地为目的地节点217或目的地节点219的分组和帧。如果目的地为目的地节点217的分组或帧充满了与交换机203相关联的共享存储装置,那么在交换机203处就不能再接受目的地为目的地节点217或目的地节点219的分组和帧。然后,交换机203可以通过使用缓冲器到缓冲器信用机制来阻塞额外的进入业务。缓冲器到缓冲器信用机制不仅减慢了沿着从源211到目的地217的拥塞路径的业务流,而且还减慢了沿着从源213到目的地219的初始非拥塞路径的业务。业务减慢的结果是,即使链路225上的带宽远远足够用于在节点213和节点219之间传送业务,节点213也将只能每秒1字节地向节点219传送。
本发明的技术提供了用于检测拥塞和生成指令的机制,其可以减少沿着拥塞路径的业务流,而同时继续允许其他业务流。本发明的技术尝试避免不论目的地而不加区别地阻塞业务的标准缓冲器到缓冲器信用机制的启用。当存在不同的光纤通道标准时,在光纤通道网络中可能经常发生不加区别的阻塞。在一个例子中,可以配置线路来处理每秒1千兆,而另一条线路可以被配置来处理每秒2或10千兆。
图3是可以实现本发明技术以及缓冲器到缓冲器信用机制的交换机的图形表示。交换机301被连接到外部节点351、353、355和357。交换机301包括与每一个交换机端口相关联的共享存储装置的缓冲器303。缓冲器303与外部节点351相关联。为了清楚,没有示出与外部节点353、355和357相关联的缓冲器。缓冲器303可以容纳目的地为外部节点353、355和357的流量以及将业务回送到外部节点351。
在一般实现中,目的地为各种外部节点的帧都被放在同一缓冲器303中。因此,当交换机301接收目的地为例如外部节点353的特定节点的大量帧时,与外部节点353相关联的帧可能占用整个缓冲器303。当缓冲器303充满时,来自外部节点351的额外业务被阻塞,这是因为交换机301没有给外部节点351分配额外的信用。目的地为外部节点353的业务,以及目的地为任何其他非拥塞外部节点的业务都被阻塞。
根据各个实施例,通过帧描述符队列311到347中的指针来引用存储在缓冲器303中的帧。每一个帧描述符可以包含标识帧在缓冲器303中存储于何处的指针或引用。这里,到共享缓冲器的指针或引用被称为描述符。描述符还可以标识例如帧优先级的其他信息。
在一个例子中,仲裁器305使用轮循方法来选择帧。在第一循回中,选择目的地为外部节点353的帧。在第二循回中,选择目的地为外部节点355的帧,等等。更具体地说,仲裁器305可以首先选择目的地为外部节点353的与描述符311相关联的高优先级帧,然后选择目的地为外部节点355的与描述符321相关联的高优先级帧,再选择目的地为外部节点357的与描述符331相关联的高优先级帧,等等。应该注意,可以使用多种技术来选择帧,这将被本领域的技术人员所理解。
具有基于目的地而被分配的缓冲器的排队系统,可以被称为虚拟输出排队(VOQ,virtual output queuing)。VOQ在Tamir Y.和Frazier G的“High Performance multi-queue buffers for VLSI communicationsswitches”,Proc.Of 15th Ann.Symp.On Comp.Arch.,pp.343-354,June 1988中被进一步描述,该文献通过引用而被全部并入以用于所有目的。如上面所提到的,当与特定外部节点相关联的共享缓冲器空间由于目的地为特定目的地的业务而变满时,来自该特定外部节点、目的地为任何目的地的所有业务都被阻塞。这可以阻止业务流到即使先前未拥塞的目的地,并可以导致级联拥塞。因此,期望提供用于检测并能特定地减轻目标流上的拥塞的技术。这里将标识在两个节点之间具有特定特征的业务的抽象概念称为流。在一个例子中,通过源标识符、目的地标识符、优先级、类别以及交换标识符来引用流。其他特征也是可能的。但是应该注意,也可以只通过一个源和目的地标识符来引用流。
图4是可以用于拥塞检测的表格。图4是示出了具有一些值的表格,所述值指示用于减轻拥塞的指令应该在何时被生成。这里,将网络中从拥塞的网络节点传输到另一个节点的、用于减轻拥塞的消息和指令称为抑制消息。
表401中的栏403示出了可能正在生成抑制消息的交换机的缓冲器水平。缓冲器水平栏403与间隔栏405相关联,间隔栏405示出了在抑制消息生成之间接收到的接收帧的数量。行411说明,当可以容纳512个分组的缓冲器中的分组数量在0和10之间时,没有抑制消息生成。当分组数量在11和15之间时,每260个帧生成一个抑制消息。当队列中的分组数量在112和127之间时,在处理六个帧之后生成一个抑制消息。用于确定抑制消息生成之间的间隔的公式如下:
X=基于512个分组的缓冲器容量的以分组计算的缓冲器水平
N=抑制消息生成间隔
如果X/16>=8,那么N=4,
否则N=4+2^(8-(X/16))。
如将被本领域的技术人员所理解的,可以使用多种不同的等式。等式可以基于缓冲器容量或者服务参数的网络质量而改变。
图4中示出的表格提供了用于决定何时生成抑制消息的确定性的技术。应该注意,可以使用各种其他的技术。在一个例子中,每一个缓冲器水平都可以与抑制消息生成的概率相关联。例如,当缓冲器水平达到百分之八十时,在接收帧之后即生成抑制消息的概率可能是百分之七十。当缓冲器水平达到容量的百分之五十时,在接收帧之后即生成抑制消息的概率可能是百分之十。当缓冲器水平达到容量的百分之十时,在接收帧之后即生成抑制消息的概率可能是百分之零点零一。
但是,与非确定性技术相比,确定性技术提供了几点益处。具体来说,确定性技术防止抑制消息突发的生成。使用随机概率函数,可能基于随机数生成器的特征极接近地生成几个抑制消息。抑制消息突发可能会对业务的减少有极大的影响,而突发之间的滞后可能导致无法补救的拥塞。确定性技术可以具有更少的突发。但是,应该注意,非确定性技术可以使用更复杂的控制算法来最小化抑制消息突发。
可以使用许多表格和许多不同的值来用于确定抑制消息传输的间隔和频率。用于设定表格值的因素可以包括网络大小、输出端口数量、缓冲器大小以及延迟容限。当业务本身是突发性的,可以更加频繁地生成抑制消息,而当业务较稳定时,可以较低频率地生成抑制消息。根据各个实施例,生成抑制消息的频率和间隔可以不取决于缓冲器大小本身,而取决于缓冲器大小的变化或者缓冲器大小变化的导数。如果缓冲器水平增长很快,那么可以更频繁生成抑制消息。在一个例子中,如果缓冲器水平以足够快的速率增长,那么可以立即生成一连串的抑制消息。
图5是示出了用于检测拥塞的技术的过程流程图。在501,从上游外部节点接收帧。在503,所述帧被归类到与该特定外部节点相关联的缓冲器的正确队列中。分类器逻辑可以使用例如目的地端口、优先级以及源和目的地地址的各种参数,来将帧放到正确的队列中。在505,与该特定外部节点相关联的缓冲器水平被确定。
在507,通过缓冲器水平确定,可以引用数据结构(如图4中所示的那个)来寻找传输抑制消息的帧间隔。在一个例子中,在接收N个帧之后传输抑制消息。也就是说,在将抑制消息传输到上游外部节点之前,交换机可以将N个帧从上游外部节点传递到各种外部节点。在509,确定自生成上一个抑制消息始,是否已经传递了N个或更多个帧。如果N个帧的间隔已经过去了,那么在511确定缓冲器水平是否低于低阈值。如果缓冲器水平低于低阈值,那么没有抑制消息生成,并且在513给帧排队用于传输调度。否则,在515生成抑制消息。抑制消息被传递到上游外部节点。从上游外部节点接收的帧被排队,用于向帧中的目的地标识符所指示的目的地节点传输调度。
应该注意,设想了用于确定何时生成抑制消息的各种技术。例如,可以以周期性的时间间隔生成抑制消息。也就是说,可以在一段特定的时间周期过去之后生成抑制消息。周期性的时间间隔可以预先确定或者动态设定。还可以使用缓冲器水平来影响生成抑制消息的时间间隔。当缓冲器水平很高时,可以以更小时间间隔更加频繁地生成抑制消息。当缓冲器水平很低时,在生成抑制消息之前可能经过更长的时间间隔。在其他例子中,可以在与同一个流相关联的帧的数量超过缓冲器的特定设定部分时,生成抑制消息。在一个例子中,当缓冲器的多于百分之五十被与同一个源和目的地对相关联的帧填充时,可以生成抑制消息并被传输到源节点。在其他实施例中,在以很小的时间间隔从源节点接收大量帧之后,即可随机生成抑制消息。
通过分析缓冲器以及缓冲器中帧的特征,可以基于需要生成抑制消息,并导向特定的流。还可以使用抑制消息来向特定流提供服务质量。例如,可以预留缓冲器的一定百分比,用于从关键外部节点接收优先业务的帧。如果缓冲器水平接近预留水平,那么可以生成抑制消息并且被传输到与优先级业务不相关联的各种流,或者可以生成抑制消息并被传输到非关键外部节点。当从关键外部节点接收到优先级业务时,直到缓冲器水平几乎全部充满时才生成抑制消息。预留的缓冲器部分可以被分配用于多个外部节点的多个流。在一个例子中,目的可能是向四个外部节点中的每一个提供输出缓冲器的百分之二十五。当与一个特定外部节点相关联的缓冲器的部分超过百分之三十五时,或者当整个缓冲器水平超过百分之八十时,可以生成抑制消息。然后,当缓冲器水平超过百分之八十五或九十时,可以更频繁地生成抑制消息。使用抑制消息的生成,可以实现用于提供服务质量的多种机制。涉及缓冲器水平的分析和特征的信息还可以提供在抑制消息中。
通过使用不同的抑制消息或者通过在每一个抑制消息中提供信息,可以实现更加精确的拥塞控制。图6是描绘了基于缓冲器或队列水平在拥塞的交换机处生成各种抑制消息的图解表示。当缓冲器水平超过高阈值607时,可以生成路径抑制。路径抑制可以指示源节点与拥塞交换机之间的所有交换机立即停止向拥塞的交换机发送与特定流相关联的业务。当拥塞的交换机处的缓冲器水平接近容量,并且有必要立即减少业务来避免缓冲器到缓冲器信用机制以及信用用尽时,可以使用路径抑制。高阈值可以基于缓冲器大小以及避免信用用尽的重要性而改变。在一个例子中,高阈值设定为缓冲器大小的百分之九十。
如果缓冲器水平位于高阈值607和低阈值603之间,那么可以由拥塞的交换机生成边缘抑制消息。边缘抑制指示最接近源节点的拥塞控制交换机减少朝向拥塞交换机的业务流。这里,将可以识别来自另一个网络节点的用于减少业务流的指令的网络节点,称为拥塞控制交换机。边缘抑制消息可以提供来自特定源节点的业务流的逐步减少。还可以提供禁止阈值601,用来防止抑制消息的生成。在抑制消息不必要时,通过不发送抑制消息,可以避免其他业务的减慢和拥塞控制。
抑制消息还可以包含有关缓冲器水平的信息。在一个例子中,路径抑制和边缘抑制消息包含指示符,其提供关于缓冲器水平是否超过目标或平衡水平的信息。目标或平衡水平605可以是在特定拥塞控制交换机处提供最大吞吐量的最佳缓冲器水平。如果缓冲器水平在目标水平605之上或之下,那么该信息可以被传输到拥塞控制交换机,以允许拥塞控制交换机更好地确定在各个时间的传输速率。在一个例子中,如果缓冲器水平在目标水平605之上,拥塞控制交换机可能选择减少其与流相关联的传输速率,并在调整之后更加平缓地增加传输速率。或者,如果缓冲器在目标水平605之下,那么拥塞控制交换机可能选择减小其与流相关联的传输速率,并在调整之后更加急速地增加传输速率。
可以向拥塞控制交换机提供当前的以及过去的缓冲器水平信息。在一个实施例中,还可以向拥塞控制交换机提供缓冲器水平的改变。如果缓冲器水平在增加,那么拥塞控制交换机可以选择减小与流相关联的传输速率,保持更低的传输速率,随后,在一段时间过去之后,逐步增加其传输速率。
虽然图6示出了用于确定发送路径抑制还是边缘抑制消息的高和低阈值,但是应该注意,可以使用各种数量的阈值。在一个例子中,路径抑制指示拥塞交换机与源节点之间的所有拥塞控制交换机,来将与特定流相关联的传输速率下降到0。边缘抑制指示最接近源节点的拥塞控制交换机,来将与特定流相关联的传输速率下降到先前允许速率的一半。在另一个例子中,基于缓冲器水平与三个不同阈值的比较,使用三种类型的抑制消息。
路径抑制可以指示拥塞的交换机与源节点之间的所有拥塞控制交换机,来将与特定流相关联的传输速率下降到0。但是,应该注意,在这种情况下的恢复速率可能很快。边缘抑制指示最接近源节点的拥塞控制交换机,来将传输速率下降到允许速率的一半。在一些实施例中,边缘抑制和路径抑制消息可以不包含缓冲器特征信息。在其他实施例中,在抑制消息包含关于缓冲器水平的当前、过去和改变的足够信息时,可以使用一个抑制消息。应该注意,根据各个实施例,应该在网络边缘停止抑制消息,这是因为主机可能不理解路径抑制或边缘抑制消息。
图7是可以在拥塞的交换机处被生成的抑制消息的图形表示。拥塞交换机识别帧700。帧700可以是随机选择的,或者可以是在N个帧间隔之后所选择的帧。帧700包括分组头703以及分组有效负载705。分组头703包括具有地址A的目的地标识符711,以及具有地址B的源标识符713。分组头还可以包括类型715,参数信息721,以及OX_ID717。沿着传输路径的每一个交换机可以使用源标识符713、目的地标识符711以及OX_ID717来确定下一跳。分组有效负载705可以包括用于由目的地节点提取的数据723。
拥塞的交换机,(一般是拥塞控制交换机本身),取得具有地址A的目的地标识符和具有地址B的源标识符,并交换两个值,使得抑制消息750包括设定为地址B的目的地标识符771和设定为地址A的源标识符773。抑制消息分组头753包括类型775,其指示该帧是例如路径抑制或边缘抑制的抑制消息。用于指示帧750是路径或边缘抑制消息的值,可以是为类型字段775设定的厂商特有值。根据各个实施例,抑制消息分组还可以包括与OX_ID717不同的OX_ID777,以及包括缓冲器特征信息的参数信息781。通过具有不同的OX_ID777,使用源标识符773、目的地标识符771和OX_ID的路径选择生成不同的路径。可以随机地选择不同的OX_ID。关于分组有效负载755,抑制消息不需要包含任何数据783。
图8是描绘了抑制消息的生成的过程流程图。根据各个实施例,选择与自最后的抑制消息被生成开始所接收的第N个帧相关联的流用于抑制,尽管可以使用上面提到的其他技术。在803,提取帧的源标识符S和帧的目的地标识符D。在805,可以表征缓冲器,来确定要生成什么类型的抑制消息,并向在拥塞交换机与源节点之间的拥塞控制交换机提供信息。
在805,如果确定缓冲器水平在高阈值之上,则在821生成路径抑制消息,其源标识符设定为D,目的地标识符设定为S。在825,可以将缓冲器特征信息以及其他参数信息添加到抑制消息中。然后在827,可以给抑制消息排队以使用光纤通道进行传输调度。或者,在823,生成边缘抑制消息,其源标识符设定为D,目的地标识符设定为S。类似地,在825,也可以将缓冲器特征以及参数信息添加到边缘抑制消息中,并且在827可以对抑制消息排队以最终使用光纤通道传递。
图9是包含网络节点的网络的图形表示,所述网络节点可以接收抑制消息,例如路径抑制或边缘抑制帧。如上所述,拥塞控制交换机909可以通过交换所接收帧的源和目的地标识符来生成抑制消息。在一个例子中,所接收帧的源可以是主机911,而所接收帧的目的地可以是网络951的节点。帧可能已经经过交换机901、903和907而行进到交换机909。拥塞控制交换机909可以生成抑制消息,如上所述。抑制消息将具有设定为主机911的目的地和设定为网络951的节点的源。如果路径抑制消息被生成,那么沿着传递抑制消息的路径的每一个拥塞控制交换机都可以实现拥塞控制机制。在这个例子中,拥塞控制交换机907、903和901每一个都实现拥塞控制。
应该注意,路径抑制消息可以被传递到交换机905而不是交换机903。如果路径抑制在到达拥塞控制交换机901之前被传递到交换机905而不是交换机903,那么拥塞控制交换机905可能忽略抑制消息,因为其可以被配置成认为源被设定为主机911而目的地被设定为网络951的帧不通过拥塞控制交换机905传输。尽管如此,仍旧可以实现拥塞控制。
如果边缘抑制消息被生成,那么最接近主机911的交换机实现拥塞控制机制。边缘抑制被传递到拥塞控制交换机907,随后被传递到拥塞控制交换机903或者拥塞控制交换机905,它们都忽略边缘抑制消息。拥塞控制交换机901可以认识到其直接耦合到主机911,因此将实现与边缘抑制消息相关联的拥塞控制机制。
图10是包含网络节点的网络的图形表示,所述网络节点可以接收例如边缘抑制帧的抑制消息,其中,拥塞控制交换机没有直接耦合到传输帧而生成抑制消息的主机上。在这个例子中,主机1011向网络1051传输帧,导致在拥塞控制交换机1009处生成边缘抑制消息。拥塞控制交换机1009通过拥塞控制交换机1007向主机1011传输边缘抑制消息。在每一个拥塞控制交换机,都可以就该拥塞控制交换机是否是最接近主机1011的那一个做出确定。
可以使用多种机制来允许拥塞控制交换机确定其是否最接近主机1011。在一个例子中,如果拥塞控制交换机与主机1011处于相同的域中,那么在该特定的交换机处将可以立即实现拥塞控制。域信息可以在抑制消息中提供,并且所述域信息可以与拥塞控制交换机中的任何域信息匹配。在另一个例子中,拥塞控制交换机可以维护相邻的交换机以及它们相关联的域的列表。并且在其他实施例中,可以存储具有关于哪些相邻的节点是拥塞控制交换机的特定数据的拓扑信息。可以维护例如存储区域网络的拓扑图的整个拓扑图,以允许拥塞控制交换机确定是否要实现边缘抑制控制机制。
可以以多种格式来维护拓扑信息,所述格式包括图形、表格以及来自其他网络节点的各个链路控制信息帧。在Andrew S.Tanebaum的《Computer Networks》(ISBN:0133499456)中描述了用于生成拓扑图的方法和装置,其被整体并入以用于所有目的。在光纤通道网络中,称作结构配置服务器(FCS,Fabric Configuration Server)的协议允许物理拓扑的发现。
图11是示出了用于传递抑制消息的技术的过程流程图。在1101,在拥塞控制交换机处接收抑制消息。可以提取流参数用于拥塞控制,所述参数例如为优先级、源标识符、目的地标识符、端口以及缓冲器水平信息。在1105,确定在如抑制消息所指示的目的地之前是否有任何其他的拥塞控制交换机。如前面所提到的,拥塞控制交换机可以是识别例如路径抑制和边缘抑制消息的抑制消息的交换机。在1107,因为在目的地之前有其他的拥塞控制交换机,所以抑制消息被排队用于使用光纤通道的传输调度,而不论其是路径抑制还是边缘抑制消息。在1109,确定抑制消息是否是边缘抑制。如果抑制消息是边缘抑制,那么不需要采取其他动作。否则,消息是路径抑制,在1111存储与拥塞控制相关的参数。
在一个例子中,在1111,抑制消息可以存储在与拥塞控制交换机相关联的控制器或过滤器中。在1113,如果指令是边缘抑制消息,那么与特定参数信息相关联的流的传输的当前允许速率被减半。根据各个实施例,每一个流可以具有最大允许速率。否则,与参数信息相关联的流的当前允许速率被降到0。这里,将特定流的最大传输速率称为最大允许速率。这里,将由抑制指令调整的传输速率称为当前允许速率。在一个实施例中,传输速率最初是最大允许速率,在接收抑制指令之后立即减少到当前允许速率。然后,当前允许速率可以以恢复速率增加,直到其接收到另一个抑制指令,或者直到其达到最大允许速率。应该注意,在这个例子中使用了两种类型的抑制消息。根据各个实施例,边缘抑制消息在最接近目的地的拥塞控制交换机处将允许速率减半。路径抑制消息在沿着朝向目的地的路径的所有拥塞控制交换机处,将允许速率下降到零。
图12是拥塞控制交换机的一个例子的图形表示。拥塞控制交换机1201耦合到外部节点1251、1253、1255和1257。但是,为了清楚,只示出了用于从外部节点1251接收帧的缓冲器。当在交换机1201从外部节点1251接收到帧时,分类器逻辑1291将帧放到共享缓冲池1203中,并用描述符或指针1211到1247来引用它。描述符可以与指示帧优先级的信息相关联。
根据各个实施例,本发明的技术为与所接收抑制消息相应的帧提供过滤器队列1261到1277。过滤器1209可以保存从例如路径抑制或边缘抑制消息的抑制消息提取的抑制参数。仲裁器1205一般使用轮循方法选择帧用于传输,但是也可以使用例如FIFO(先进先出)和随机的其他方法。当仲裁器1205选择帧用于从缓冲器1203传输到外部节点时,过滤器1209比较所选帧的参数以及与所接收帧相关联的抑制参数。在一个实施例中,过滤器进行三十二组抑制参数与所选帧的参数之间的三十二个同步比较。与三十二组抑制参数之一相匹配的帧描述符被放在过滤器队列1207中三十二个不同队列的一个中。
如果源和目的地地址对、输出端口、优先级和/或其他参数对应,那么可以选择帧描述符放在过滤器队列中。应该注意,可以不改变共享缓冲池1203,而将描述符从输入队列1211到1247的一个中移到过滤器队列1261到1277。如果帧的参数不对应于保存在过滤器1209中的参数,那么帧描述符可以被传递到例如外部节点1253、1255、1257和1251的外部节点。否则,帧可以被放到与速率限制器相关联的过滤器队列中。在一个例子中,过滤器帧被放到与速率限制器1281相关联的过滤器队列1261中。速率限制器1281基于当前允许速率来确定与过滤器队列1261中的描述符相关联的帧何时可以被传输。
图13是示出了与一个或多个速率限制器相关联的允许速率基于抑制消息的接收的可能改变的图形表示。如上面所提到的,在一些实施例中,路径抑制消息将允许速率减小到零,而边缘抑制消息将允许速率减半。根据图形表示,在1301接收的边缘抑制将允许速率减半。在1301和1303之间,允许速率以可以由交换机控制器确定的恢复速率逐渐增加。恢复速率可以是预定速率,或者其可以是基于例如在抑制消息中提供的缓冲器水平特征信息的信息而被动态设定的速率。
在一个例子中,当缓冲器水平特征信息指示拥塞交换机的缓冲器水平低于平衡点时,恢复速率可以被增加。或者,当缓冲器水平特征信息指示拥塞交换机的缓冲器水平高于平衡点时,恢复速率可以被减小。在1303,接收与速率限制器相关联的另一个边缘抑制消息。在1303,允许速率被再次减半。在1303和1305之间,由于例如缓冲器水平特征信息的因素,应用减小了的恢复速率。在1305,接收路径抑制消息,并且允许速率被减小到零。在1305和1307之间应用增加了的速率。允许速率在1307达到最大允许或者线速率,并且过滤器队列可以在该点被释放。
图14是示出了在接收抑制消息的交换机处的拥塞控制实现的过程流程图。在1401,识别帧。在1403,将帧参数与过滤器中的参数进行比较。所比较的参数可以包括源和目的地地址、优先级以及输出端口。在1403,如果参数匹配,那么在1407帧描述符被放到与速率限制器相关联的过滤器队列中。过滤器队列可以延迟帧的传输。速率限制器可以使用多种机制来实现,包括令牌桶、漏桶以及虚拟时间速度限制器。可以基于所接收的抑制消息的类型以及在抑制消息中的缓冲器水平特征信息,来设定由速率限制器使用的速率。在1409,速率限制器可以基于允许速率控制帧的传输。控制传输可以包括延迟帧的传输。在1405,帧被排队,用于使用光纤通道传递。在1403,如果所标识的帧的参数不匹配过滤器中的参数,那么在1405,帧可以被排队,用于使用光纤通道被立即传递。
虽然已经参照具体实施例详细示出并描述了本发明,但是本领域的技术人员将理解可以对所公开实施例的形式和细节做出改变,而不脱离本发明的精神或范围。例如,本发明的实施例可以使用多种网络协议和体系结构。例如抑制消息的指令可以在多种不同的时间来发送。因此,本发明意于被解释为包括落在本发明精神和范围内的所有改变和等同物。

Claims (36)

1.一种控制光纤通道网络交换机处拥塞的方法,所述方法包括:
接收具有对应于源节点的源标识符字段和对应于目的地节点的目的地标识符字段的帧,所述帧已经经过位于所述网络交换机和所述源节点之间的包括第一中间交换机在内的多个交换机而被传输到所述网络交换机,其中所述第一中间交换机是最接近所述源节点的拥塞控制交换机;
表征所述网络交换机处的业务流,其中表征业务流包括确定所述网络交换机的缓冲器水平或队列水平,其中如果所述缓冲器水平或队列水平在高阈值和低阈值之间,则生成第一指令,并且如果所述缓冲器水平或队列水平超过所述高阈值,则生成第二指令;
如果生成所述第一指令,则将所述第一指令从所述网络交换机发送到所述第一中间交换机,用于指示减少仅在所述第一中间交换机处的传输,所述第一指令具有对应于所述目的地节点的源标识符字段和对应于所述源节点的目的地标识符字段;以及
如果生成第二指令,则将所述第二指令从所述网络交换机发送到所述包括第一中间交换机在内的多个交换机,用于指示减少在所述多个交换机处的传输。
2.如权利要求1所述的方法,其中,所述第一中间交换机是耦合到所述源节点的边缘交换机。
3.如权利要求1或2所述的方法,其中,发送到所述第一中间交换机的所述第一指令包括边缘抑制帧。
4.如权利要求3所述的方法,其中,所述边缘抑制帧具有对应于所述目的地节点的源标识符字段和对应于所述源节点的目的地标识符字段。
5.如权利要求4所述的方法,其中,所述边缘抑制帧包括网络交换机拥塞信息。
6.如权利要求4所述的方法,其中,所述边缘抑制帧包括网络交换机队列水平信息。
7.如权利要求4所述的方法,其中,所述边缘抑制帧指示所述第一中间交换机,将从所述源节点到所述目的地节点的传输允许速率控制为一半。
8.如权利要求1所述的方法,其中,所述第一中间交换机和所述网络交换机使用光纤通道互连。
9.如权利要求1所述的方法,其中,所述帧经过位于所述第一中间交换机和所述网络交换机之间的第二中间交换机传输。
10.如权利要求9所述的方法,其中,所述第二指令包括路径抑制帧。
11.如权利要求10所述的方法,其中,所述路径抑制帧具有对应于所述目的地节点的源标识符和对应于所述源节点的目的地标识符。
12.如权利要求11所述的方法,其中,所述路径抑制帧包括网络交换机拥塞信息。
13.如权利要求11所述的方法,其中,所述路径抑制帧包括网络交换机队列水平信息。
14.如权利要求11所述的方法,其中,所述路径抑制帧指示所述第一和第二中间交换机将从所述源节点到所述目的地节点的传输允许速率减小到0比特每秒。
15.如权利要求1所述的方法,其中,所述表征业务流的步骤包括确定传输路径抑制帧还是边缘抑制帧。
16.如权利要求15所述的方法,其中,所述路径抑制帧在所述队列水平超过高阈值时被传输。
17.如权利要求15所述的方法,其中,所述边缘抑制帧在所述队列水平位于高阈值和低阈值之间时被传输。
18.如权利要求15所述的方法,其中,所述边缘抑制帧和路径抑制帧包括缓冲器水平指示符。
19.一种用于控制光纤通道网络交换机处拥塞的装置,该装置包括:
用于接收具有对应于源节点的源标识符字段和对应于目的地节点的目的地标识符字段的帧的装置,所述帧已经经过位于所述网络交换机和所述源节点之间的包括第一中间交换机在内的多个交换机而被传输到所述网络交换机,其中所述第一中间交换机是最接近所述源节点的拥塞控制交换机;
用于表征所述网络交换机处的业务流的装置,其中表征业务流包括确定所述网络交换机的缓冲器水平或队列水平,其中如果所述缓冲器水平或队列水平在高阈值和低阈值之间,则生成第一指令,并且如果所述缓冲器水平或队列水平超过所述高阈值,则生成第二指令;
用于如果生成所述第一指令,则将第一指令从所述网络交换机发送到所述第一中间交换机、用于指示减少仅在所述第一中间交换机的传输的装置,所述第一指令具有对应于所述目的地节点的源标识符字段和对应于所述源节点的目的地标识符字段;以及
用于如果生成第二指令,则将所述第二指令从所述网络交换机发送到所述包括第一中间交换机在内的多个交换机、用于指示减少在所述多个交换机处的传输的装置。
20.如权利要求19所述的装置,其中,所述第一中间交换机是耦合到所述源节点的边缘交换机。
21.如权利要求19或20所述的装置,其中,发送到所述第一中间交换机的所述第一指令包括边缘抑制帧。
22.如权利要求21所述的装置,其中,所述边缘抑制帧具有对应于所述目的地节点的源标识符字段和对应于所述源节点的目的地标识符字段。
23.如权利要求22所述的装置,其中,所述边缘抑制帧包括网络交换机拥塞信息。
24.如权利要求22所述的装置,其中,所述边缘抑制帧包括网络交换机队列水平信息。
25.如权利要求22所述的装置,其中,所述边缘抑制帧指示所述第一中间交换机,将从所述源节点到所述目的地节点的传输允许速率控制为一半。
26.如权利要求19所述的装置,其中,所述第一中间交换机和所述网络交换机使用光纤通道互连。
27.如权利要求19所述的装置,其中,所述帧经过位于所述第一中间交换机和所述网络交换机之间的第二中间交换机传输。
28.如权利要求27所述的装置,其中,所述第二指令包括所述路径抑制帧。
29.如权利要求28所述的装置,其中,所述路径抑制帧具有对应于所述目的地节点的源标识符和对应于所述源节点的目的地标识符。
30.如权利要求29所述的装置,其中,所述路径抑制帧包括网络交换机拥塞信息。
31.如权利要求29所述的装置,其中,所述路径抑制帧包括网络交换机队列水平信息。
32.如权利要求29所述的装置,其中,所述路径抑制帧指示所述第一和第二中间交换机将从所述源节点到所述目的地节点的传输允许速率减小到0比特每秒。
33.如权利要求19所述的装置,其中,用于表征业务流的装置包括用于确定传输路径抑制帧还是边缘抑制帧的装置。
34.如权利要求33所述的装置,其中,所述路径抑制帧在所述队列水平超过高阈值时被传输。
35.如权利要求33所述的装置,其中,所述边缘抑制帧在所述队列水平位于高阈值和低阈值之间时被传输。
36.如权利要求33所述的装置,其中,所述边缘抑制帧和路径抑制帧包括缓冲器水平指示符。
CN028281993A 2001-12-18 2002-12-17 网络拥塞控制方法和装置 Expired - Fee Related CN1689278B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/026,583 2001-12-18
US10/026,583 US7596627B2 (en) 2001-12-18 2001-12-18 Methods and apparatus for network congestion control
PCT/US2002/040513 WO2003053016A1 (en) 2001-12-18 2002-12-17 Methods and apparatus for network congestion control

Publications (2)

Publication Number Publication Date
CN1689278A CN1689278A (zh) 2005-10-26
CN1689278B true CN1689278B (zh) 2012-02-01

Family

ID=21832622

Family Applications (1)

Application Number Title Priority Date Filing Date
CN028281993A Expired - Fee Related CN1689278B (zh) 2001-12-18 2002-12-17 网络拥塞控制方法和装置

Country Status (10)

Country Link
US (1) US7596627B2 (zh)
EP (1) EP1457008B1 (zh)
JP (1) JP4260631B2 (zh)
KR (1) KR100977651B1 (zh)
CN (1) CN1689278B (zh)
AT (1) ATE483295T1 (zh)
AU (1) AU2002359740B2 (zh)
CA (1) CA2469803C (zh)
DE (1) DE60237845D1 (zh)
WO (1) WO2003053016A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108667743A (zh) * 2012-05-04 2018-10-16 瑞典爱立信有限公司 分组数据联网中的拥塞控制

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100786508B1 (ko) * 2001-02-14 2007-12-17 마쯔시다덴기산교 가부시키가이샤 디지털 컨텐츠 분배시스템 및 그 장치
US7734808B1 (en) * 2001-12-18 2010-06-08 Cisco Technology, Inc. End-to-end congestion control in a Fibre Channel network
US7139692B2 (en) * 2001-12-21 2006-11-21 Opnet Technologies, Inc. Flow propagation analysis using iterative signaling
US20030210703A1 (en) * 2002-05-13 2003-11-13 Accton Technology Corporation Method of managing frame and switch and network structure thereof
US7397768B1 (en) 2002-09-11 2008-07-08 Qlogic, Corporation Zone management in a multi-module fibre channel switch
US7689708B1 (en) * 2002-10-28 2010-03-30 Netapp, Inc. Apparatus to flow control frames in a networked storage virtualization using multiple streaming protocols
US7603475B2 (en) * 2003-03-31 2009-10-13 Alcatel-Lucent Usa Inc. Method for flow control in a communication system
US7397764B2 (en) * 2003-04-30 2008-07-08 Lucent Technologies Inc. Flow control between fiber channel and wide area networks
US7324441B1 (en) * 2003-07-14 2008-01-29 Cisco Technology, Inc. Methods and apparatus for alleviating deadlock in a fibre channel network
US7525910B2 (en) * 2003-07-16 2009-04-28 Qlogic, Corporation Method and system for non-disruptive data capture in networks
US7684401B2 (en) 2003-07-21 2010-03-23 Qlogic, Corporation Method and system for using extended fabric features with fibre channel switch elements
US7792115B2 (en) 2003-07-21 2010-09-07 Qlogic, Corporation Method and system for routing and filtering network data packets in fibre channel systems
US7894348B2 (en) 2003-07-21 2011-02-22 Qlogic, Corporation Method and system for congestion control in a fibre channel switch
US7430175B2 (en) * 2003-07-21 2008-09-30 Qlogic, Corporation Method and system for managing traffic in fibre channel systems
US7420982B2 (en) * 2003-07-21 2008-09-02 Qlogic, Corporation Method and system for keeping a fibre channel arbitrated loop open during frame gaps
US7646767B2 (en) 2003-07-21 2010-01-12 Qlogic, Corporation Method and system for programmable data dependant network routing
US7406092B2 (en) * 2003-07-21 2008-07-29 Qlogic, Corporation Programmable pseudo virtual lanes for fibre channel systems
US7277960B2 (en) * 2003-07-25 2007-10-02 Hewlett-Packard Development Company, L.P. Incorporating constraints and preferences for determining placement of distributed application onto distributed resource infrastructure
US20050114498A1 (en) * 2003-11-06 2005-05-26 International Business Machines Corporation Method and apparatus for managing data transfer in a data processing system
US7809007B2 (en) * 2004-03-05 2010-10-05 David Mayhew Low cost implementation for a device utilizing look ahead congestion management
US7930377B2 (en) 2004-04-23 2011-04-19 Qlogic, Corporation Method and system for using boot servers in networks
US7672243B2 (en) * 2004-06-04 2010-03-02 David Mayhew System and method to identify and communicate congested flows in a network fabric
US8295299B2 (en) 2004-10-01 2012-10-23 Qlogic, Corporation High speed fibre channel switch element
US7801125B2 (en) * 2004-10-22 2010-09-21 Cisco Technology, Inc. Forwarding table reduction and multipath network forwarding
US7830793B2 (en) * 2004-10-22 2010-11-09 Cisco Technology, Inc. Network device architecture for consolidating input/output and reducing latency
US7564869B2 (en) * 2004-10-22 2009-07-21 Cisco Technology, Inc. Fibre channel over ethernet
US8238347B2 (en) * 2004-10-22 2012-08-07 Cisco Technology, Inc. Fibre channel over ethernet
US7969971B2 (en) 2004-10-22 2011-06-28 Cisco Technology, Inc. Ethernet extension for the data center
US7602720B2 (en) * 2004-10-22 2009-10-13 Cisco Technology, Inc. Active queue management methods and devices
WO2006065896A2 (en) * 2004-12-17 2006-06-22 Meshnetworks, Inc. System and method for controlling congestion in multihopping wireless networks
US7912032B2 (en) * 2004-12-17 2011-03-22 Motorola, Inc. System and method for communicating within a wireless communication network
US7961621B2 (en) 2005-10-11 2011-06-14 Cisco Technology, Inc. Methods and devices for backward congestion notification
US7602724B2 (en) * 2005-11-14 2009-10-13 Cisco Technology, Inc. Method and apparatus for transmitting circuitry that transmit data at different rates
CN1996933B (zh) * 2005-12-31 2010-08-11 华为技术有限公司 对实时组播业务进行拥塞控制的方法
KR100757872B1 (ko) * 2006-02-06 2007-09-11 삼성전자주식회사 네트워크에서의 혼잡 발생 예고 시스템 및 방법
US9621375B2 (en) * 2006-09-12 2017-04-11 Ciena Corporation Smart Ethernet edge networking system
US8831024B2 (en) * 2006-12-29 2014-09-09 Broadcom Corporation Dynamic header creation and flow control for a programmable communications processor, and applications thereof
CN101009652A (zh) * 2007-01-23 2007-08-01 中兴通讯股份有限公司 以太网无源光网络下行流控信息传递方法
US8259720B2 (en) 2007-02-02 2012-09-04 Cisco Technology, Inc. Triple-tier anycast addressing
US20090077229A1 (en) * 2007-03-09 2009-03-19 Kenneth Ebbs Procedures and models for data collection and event reporting on remote devices and the configuration thereof
KR100748187B1 (ko) * 2007-06-01 2007-08-10 인하대학교 산학협력단 노드 가용도 예측 기반의 그리드 네트워크 혼잡 제어 장치및 방법
US8149710B2 (en) * 2007-07-05 2012-04-03 Cisco Technology, Inc. Flexible and hierarchical dynamic buffer allocation
US8121038B2 (en) 2007-08-21 2012-02-21 Cisco Technology, Inc. Backward congestion notification
CN101141410B (zh) * 2007-10-24 2011-05-11 中兴通讯股份有限公司 一种千兆无源光网络系统中下行流控信息的传递方法
US8407364B2 (en) 2007-10-25 2013-03-26 Cisco Technology, Inc. Apparatus and method for providing a congestion measurement in a network
US8385207B2 (en) * 2008-05-27 2013-02-26 International Business Machines Corporation Method and apparatus for end-to-end network congestion management
US8180823B2 (en) * 2008-08-27 2012-05-15 International Business Machines Corporation Method of routing messages to multiple consumers
MY155379A (en) * 2008-09-26 2015-10-15 Ericsson Telefon Ab L M Congestion control method and devices
US20110239226A1 (en) * 2010-03-23 2011-09-29 Cesare Placanica Controlling congestion in message-oriented middleware
JP2011203810A (ja) * 2010-03-24 2011-10-13 Hitachi Ltd サーバ、計算機システム及び仮想計算機管理方法
US9602439B2 (en) * 2010-04-30 2017-03-21 Juniper Networks, Inc. Methods and apparatus for flow control associated with a switch fabric
US8593965B2 (en) * 2010-07-19 2013-11-26 Cisco Technology, Inc. Mitigating the effects of congested interfaces on a fabric
JP5655453B2 (ja) * 2010-09-16 2015-01-21 セイコーエプソン株式会社 電子機器、電子機器の制御方法、及び、プログラム
US8705544B2 (en) * 2011-03-07 2014-04-22 Broadcom Corporation Method and apparatus for routing in a single tier switched network
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
EP2832038A4 (en) * 2012-03-26 2015-12-09 Ericsson Telefon Ab L M INTELLIGENT DISTRIBUTION OF LEGAL INTERCEPTION DATA (LI) IN EMERGENCY CONDITIONS
US8730806B2 (en) * 2012-04-03 2014-05-20 Telefonaktiebolaget L M Ericsson (Publ) Congestion control and resource allocation in split architecture networks
US8989010B2 (en) * 2012-07-10 2015-03-24 Telefonaktiebolaget L M Ericsson (Publ) Delayed based traffic rate control in networks with central controllers
CN104092623A (zh) * 2013-04-01 2014-10-08 株式会社日立制作所 对网络节点或服务器进行过载保护的方法和装置
US9338103B2 (en) 2013-09-10 2016-05-10 Globalfoundries Inc. Injecting congestion in a link between adaptors in a network
US9246816B2 (en) 2013-09-10 2016-01-26 Globalfoundries Inc. Injecting congestion in a link between adaptors in a network
US10027590B2 (en) 2014-02-24 2018-07-17 Avago Technologies General Ip (Singapore) Pte. Ltd. End to end flow control
CN104066122B (zh) * 2014-07-09 2018-05-08 东南大学 一种蜂窝与d2d混合网络中的拥塞控制和传输调度方法
CN107005467B (zh) * 2014-12-24 2021-03-26 英特尔公司 用于在交换机中路由数据的装置和方法
US9979662B2 (en) * 2015-04-17 2018-05-22 International Business Machines Corporation Storage area network workload balancing
US10218625B2 (en) * 2016-03-30 2019-02-26 New York University Methods and apparatus for alleviating congestion at a switch, such as a shallow buffered switch
WO2018024324A1 (en) * 2016-08-02 2018-02-08 Telefonaktiebolaget Lm Ericsson (Publ) Methods and apparatus for shared buffer allocation in a transport node
US11082347B2 (en) * 2018-03-26 2021-08-03 Nvidia Corporation Techniques for reducing congestion in a computer network
JP7456603B2 (ja) * 2019-11-22 2024-03-27 Necソリューションイノベータ株式会社 スイッチ装置
US11818046B2 (en) 2021-01-26 2023-11-14 Samsung Electronics Co., Ltd. Coordinated congestion control in network-attached devices

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1141701A (zh) * 1993-11-30 1997-01-29 诺基亚电信公司 帧中继网络中过载情况的控制
US5675742A (en) * 1988-04-22 1997-10-07 Digital Equipment Corporation System for setting congestion avoidance flag at intermediate node to reduce rates of transmission on selected end systems which utilizing above their allocated fair shares
US5694390A (en) * 1993-09-06 1997-12-02 Kabushiki Kaisha Toshiba Method and apparatus for controlling congestion in communication network
EP0955749A1 (en) * 1998-05-08 1999-11-10 Nortel Networks Corporation Receiver based congestion control and congestion notification from router

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5617421A (en) * 1994-06-17 1997-04-01 Cisco Systems, Inc. Extended domain computer network using standard links
US5809285A (en) * 1995-12-21 1998-09-15 Compaq Computer Corporation Computer system having a virtual drive array controller
US6035105A (en) * 1996-01-02 2000-03-07 Cisco Technology, Inc. Multiple VLAN architecture system
US5764636A (en) * 1996-03-28 1998-06-09 Cisco Technology, Inc. Color blocking logic mechanism for a high-performance network switch
US5740171A (en) * 1996-03-28 1998-04-14 Cisco Systems, Inc. Address translation mechanism for a high-performance network switch
US5742604A (en) * 1996-03-28 1998-04-21 Cisco Systems, Inc. Interswitch link mechanism for connecting high-performance network switches
US6101497A (en) * 1996-05-31 2000-08-08 Emc Corporation Method and apparatus for independent and simultaneous access to a common data set
JP2000515657A (ja) * 1996-08-02 2000-11-21 トランソフト コーポレイション 共有資源の分散制御を可能にする方法と装置
JP3525656B2 (ja) * 1996-12-06 2004-05-10 株式会社日立製作所 パケット交換機、および輻輳通知方式
US6202135B1 (en) * 1996-12-23 2001-03-13 Emc Corporation System and method for reconstructing data associated with protected storage volume stored in multiple modules of back-up mass data storage facility
US5978379A (en) * 1997-01-23 1999-11-02 Gadzoox Networks, Inc. Fiber channel learning bridge, learning half bridge, and protocol
JP3156623B2 (ja) * 1997-01-31 2001-04-16 日本電気株式会社 ファイバチャネルファブリック
US6118776A (en) * 1997-02-18 2000-09-12 Vixel Corporation Methods and apparatus for fiber channel interconnection of private loop devices
US6209059B1 (en) * 1997-09-25 2001-03-27 Emc Corporation Method and apparatus for the on-line reconfiguration of the logical volumes of a data storage system
US6188694B1 (en) * 1997-12-23 2001-02-13 Cisco Technology, Inc. Shared spanning tree protocol
US6208649B1 (en) * 1998-03-11 2001-03-27 Cisco Technology, Inc. Derived VLAN mapping technique
CA2237208A1 (en) * 1998-05-08 1999-11-08 Northern Telecom Limited Congestion notification from router
US6070200A (en) * 1998-06-02 2000-05-30 Adaptec, Inc. Host adapter having paged data buffers for continuously transferring data between a system bus and a peripheral bus
US6295575B1 (en) * 1998-06-29 2001-09-25 Emc Corporation Configuring vectors of logical storage units for data storage partitioning and sharing
US6260120B1 (en) * 1998-06-29 2001-07-10 Emc Corporation Storage mapping and partitioning among multiple host processors in the presence of login state changes and host controller replacement
US6269381B1 (en) * 1998-06-30 2001-07-31 Emc Corporation Method and apparatus for backing up data before updating the data and for restoring from the backups
US6269431B1 (en) * 1998-08-13 2001-07-31 Emc Corporation Virtual storage and block level direct access of secondary storage for recovery of backup data
US6266705B1 (en) * 1998-09-29 2001-07-24 Cisco Systems, Inc. Look up mechanism and associated hash table for a network switch
US6970424B2 (en) * 1998-11-10 2005-11-29 Extreme Networks Method and apparatus to minimize congestion in a packet switched network
US6226771B1 (en) * 1998-12-14 2001-05-01 Cisco Technology, Inc. Method and apparatus for generating error detection data for encapsulated frames
US6675220B1 (en) * 1999-08-11 2004-01-06 Cisco Technology, Inc. Techniques for the hardware implementation of random early detection mechanisms
US6721789B1 (en) * 1999-10-06 2004-04-13 Sun Microsystems, Inc. Scheduling storage accesses for rate-guaranteed and non-rate-guaranteed requests
US6757248B1 (en) * 2000-06-14 2004-06-29 Nokia Internet Communications Inc. Performance enhancement of transmission control protocol (TCP) for wireless network applications
EP1317825B1 (en) * 2000-09-12 2008-08-06 International Business Machines Corporation System and method for controlling the multicast traffic of a data packet switch
US7042842B2 (en) * 2001-06-13 2006-05-09 Computer Network Technology Corporation Fiber channel switch

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5675742A (en) * 1988-04-22 1997-10-07 Digital Equipment Corporation System for setting congestion avoidance flag at intermediate node to reduce rates of transmission on selected end systems which utilizing above their allocated fair shares
US5694390A (en) * 1993-09-06 1997-12-02 Kabushiki Kaisha Toshiba Method and apparatus for controlling congestion in communication network
CN1141701A (zh) * 1993-11-30 1997-01-29 诺基亚电信公司 帧中继网络中过载情况的控制
EP0955749A1 (en) * 1998-05-08 1999-11-10 Nortel Networks Corporation Receiver based congestion control and congestion notification from router

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108667743A (zh) * 2012-05-04 2018-10-16 瑞典爱立信有限公司 分组数据联网中的拥塞控制
CN108667743B (zh) * 2012-05-04 2022-03-29 瑞典爱立信有限公司 分组数据联网中的拥塞控制

Also Published As

Publication number Publication date
US7596627B2 (en) 2009-09-29
JP4260631B2 (ja) 2009-04-30
CN1689278A (zh) 2005-10-26
EP1457008A1 (en) 2004-09-15
US20030115355A1 (en) 2003-06-19
WO2003053016A1 (en) 2003-06-26
DE60237845D1 (de) 2010-11-11
CA2469803C (en) 2014-04-22
ATE483295T1 (de) 2010-10-15
KR100977651B1 (ko) 2010-08-24
EP1457008B1 (en) 2010-09-29
AU2002359740A1 (en) 2003-06-30
KR20040071220A (ko) 2004-08-11
JP2005535154A (ja) 2005-11-17
CA2469803A1 (en) 2003-06-26
AU2002359740B2 (en) 2007-11-22

Similar Documents

Publication Publication Date Title
CN1689278B (zh) 网络拥塞控制方法和装置
US7230923B2 (en) Time based packet scheduling and sorting system
CA2147400C (en) Method of regulating backpressure traffic in a packet switched network
US7586909B1 (en) Striping algorithm for switching fabric
US8531968B2 (en) Low cost implementation for a device utilizing look ahead congestion management
US9094327B2 (en) Prioritization and preemption of data frames over a switching fabric
US9391913B2 (en) Express virtual channels in an on-chip interconnection network
US7385993B2 (en) Queue scheduling mechanism in a data packet transmission system
SE515901C2 (sv) Resursadministrering, plan och arrangemang
US9197570B2 (en) Congestion control in packet switches
JP5034491B2 (ja) スイッチにおける優先度帯域制御方法
US9985910B2 (en) Adaptive flow prioritization
US20070110052A1 (en) System and method for the static routing of data packet streams in an interconnect network
US20050047405A1 (en) Switching device for controlling data packet flow
US7023865B2 (en) Packet switch
US7382792B2 (en) Queue scheduling mechanism in a data packet transmission system
US8660001B2 (en) Method and apparatus for providing per-subscriber-aware-flow QoS
US20050073951A1 (en) Method and apparatus for request/grant priority scheduling
KR102123476B1 (ko) 확률적 성능이 개선된 레귤레이션 기능을 수행하는 스케줄러
US11805080B2 (en) System and method for data loss and data latency management in a network-on-chip with buffered switches
US9148377B2 (en) Method and system for transmitting data packets in a network
Sklira et al. Prioritized slotted multiple access protocols for bank LANs

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120201

Termination date: 20201217

CF01 Termination of patent right due to non-payment of annual fee