CN102047619A - 用于对异常分组的慢路径处理进行动态速率限制的方法、系统和计算机可读介质 - Google Patents
用于对异常分组的慢路径处理进行动态速率限制的方法、系统和计算机可读介质 Download PDFInfo
- Publication number
- CN102047619A CN102047619A CN2009801195004A CN200980119500A CN102047619A CN 102047619 A CN102047619 A CN 102047619A CN 2009801195004 A CN2009801195004 A CN 2009801195004A CN 200980119500 A CN200980119500 A CN 200980119500A CN 102047619 A CN102047619 A CN 102047619A
- Authority
- CN
- China
- Prior art keywords
- grouping
- slow path
- processing
- unusual
- carried out
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请描述的主题包括用于对异常分组的慢路径处理进行动态速率限制的方法和系统。根据一个实施例,该方法包括在分组转发设备处监测所述分组转发设备中用于执行异常分组的慢路径处理的处理资源。确定对用于慢路径处理的所述处理资源的使用是否超过第一阈值,以及,响应于确定所述处理资源超过所述第一阈值,对所述异常分组的慢路径处理进行速率限制。
Description
相关申请
本申请要求享有2008年3月28日提交的、序号为61/066,145的美国临时专利申请和2008年4月10日提交的、序号为12/100,498的美国专利申请的优先权;通过引用的方式将上述每个申请的全部公开内容并入本申请。
技术领域
本申请描述的主题涉及在层2和层3分组转发设备中处理异常分组。更具体地,本申请描述的主题涉及用于对分组转发设备中异常分组的慢路径处理进行动态速率限制的方法、系统和计算机可读介质。
背景技术
层2和层3分组转发设备(例如以太网交换机和IP路由器)使用专用硬件转发设备和通用处理资源的组合来处理分组。举例来说,硬件转发设备可以包括专用集成电路(ASIC)、现场可编程门阵列(FPGA)、网络处理单元(NPU)或者上述的组合,用于对层2和/或层3分组执行高密度、高速(即,线路速度)的处理。然而,使用硬件转发设备的一个缺点是其实现起来代价昂贵并且可能不能处理(例如,由于缺少对接收到的分组进行硬件编程的转发的原因)分组转发设备接收到的所有分组。
因此,除了包括分组转发硬件以外,层2或层3分组转发设备可以包括多用途中央处理单元(CPU)或一组CPU,以用于执行不能使用分组转发硬件进行的各种任务。例如,CPU可以用于执行用于以下操作的软件:接受用户配置信息、管理交换机、对分组转发硬件进行编程、以及处理转发硬件不能处理的任何分组。转发硬件不能处理的分组称作异常分组,由CPU对异常分组进行的处理称作慢路径处理(slowpath processing)。因为对这些分组进行CPU处理要慢于使用硬件转发对分组进行处理,所以异常分组的慢路径处理一般是不希望的。为了获得在市场上有竞争力的价格,传统的层2或层3分组转发设备通常包括的CPU除了它们的其它应有的任务以外不能支持高分组转发速率。因此,层2或层3交换机中用于对异常分组的慢路径转发的处理资源可能是有限的。
对层2和层3分组转发设备中异常分组进行慢路径处理的传统方法中的一个问题在于:异常分组的提高的速率可能会使CPU的利用率升高,因此,CPU执行的其它重要功能的性能可能受到影响。虽然异常分组的速率的提高通常是临时的情况,但是如果CPU利用率过高,则分组转发设备可能容易受到安全威胁并出现软件崩溃。
例如,转发设备接收到的异常分组的数量在拒绝服务(DoS)攻击期间可能显著增加。在DoS攻击期间,受攻击的计算机或设备可能会被转发硬件不能处理的大量分组淹没。因此,交换机可能被迫消耗其CPU资源来处理这些异常分组,直到其无法提供如用户配置或管理之类的其它服务为止。
在另一实例中,可能因网络拓扑而不是恶意行为而产生异常分组。例如,层2或层3分组转发设备可以通过基于各种路由协议来交换包含网络路由信息的消息的方式将网络路由信息传输给其它网络节点。示例性的路由协议可以包括地址解析协议(ARP)、路由信息协议(RIP)、边界网关协议(BGP)、以及开放式最短路径优先协议(OSPF)路由协议。在大量网络设备同时连接到单个分组转发设备的情形下,为了确定网络拓扑的细节,通过这些协议发送给分组转发设备的路由协议消息数量可能会出现大的尖峰。该网络行为是临时且预期的(即,非恶意攻击),但可能仍然会对CPU的完整性和服务造成损害。
防止与处理异常分组相关联的层2或层3分组转发设备中的CPU过载的一种传统办法是对CPU在给定期间内处理的异常分组的数量设置静态的速率限制。对异常分组的静态速率限制处理包括:一直限制CPU可以处理的异常分组的数量,而不论CPU使用情况以及处理能力如何。从而,在异常分组增加期间,CPU受到保护而不过载。虽然静态的速率限制可以防止CPU过载,但是因为其人为地减少了处理异常分组的速率,所以它同时也使CPU资源在较轻负载期间未得到充分利用。对异常分组的处理进行静态速率限制的结果可以包括:减慢的层2媒体访问控制(MAC)地址学习、减慢的对异常分组的慢路径转发、以及意外的协议分组丢弃。
对异常分组的传统处理的另一缺陷是:在速度更快的CPU可用时,这种处理的扩展性不佳。例如,层2或层3转发设备中的CPU可能能够每秒处理一定数量的异常分组。如果CPU被升级从而使得可以处理更多的分组,则传统的静态速率限制或者忽略该额外的处理能力,或者需要手动调至更高以实现增加的处理能力。在前一情形下,可能浪费CPU资源。在后一情形下,可能浪费人力管理资源来手动调整速率限制。
对异常分组的传统处理的又一缺陷是:无法针对每个分组分类对静态速率限制进行定制。例如,广播分组和层2MAC地址学习分组可以包括由分组转发设备处理的两个不同的分组分类。相互区别地对分组分类进行速率限制是所希望的。
因此,需要对分组转发设备中异常分组的慢路径处理进行动态速率限制的改进的方法和系统。
发明内容
本申请描述的主题包括对异常分组的慢路径处理进行动态速率限制的方法和系统。根据一个实施例,一种方法包括在分组转发设备处监测所述分组转发设备中用于执行异常分组的慢路径处理的处理资源。确定对用于慢路径处理的所述处理资源的使用是否超过第一阈值,以及,响应于确定所述处理资源超过所述第一阈值,对所述异常分组的慢路径处理进行速率限制。
根据另一方面,所述方法包括确定对用于慢路径处理的所述处理资源的使用是否小于第二阈值,以及,响应于确定对所述处理资源的使用小于所述第二阈值,停止对所述异常分组进行速率限制。
根据另一方面,用于对异常分组的慢路径处理进行动态速率限制的系统包括分组转发设备。所述分组转发设备包括至少一个处理器,所述至少一个处理器用于处理异常分组,所述至少一个处理器与用于对所述异常分组进行慢路径转发的处理资源相关联。动态速率限制模块监测用于由所述至少一个处理器执行异常分组的慢路径处理的处理资源,确定对用于慢路径处理的所述处理资源的使用是否超过第一阈值。响应于确定所述处理资源超过所述第一阈值,所述动态速率限制模块对所述异常分组的慢路径处理进行速率限制。
本申请描述的用于对异常分组的慢路径处理进行动态速率限制的主题可以使用计算机程序产品来实现,该计算机程序产品包括包含在有形的计算机可读介质中的由计算机处理器执行的计算机可执行指令。适合于实现本申请所描述主题的示例性计算机可读介质包括磁盘存储设备、可编程逻辑器件和专用集成电路。在一个实现方式中,计算机可读介质可以包括可由处理器访问的存储器。存储器可以包括可由处理器执行的指令,这些指令用于实现本申请描述的对呼叫进行路由的任何方法。另外,实现本申请所描述主题的计算机可读介质可以在多个物理设备和/或计算平台上分布。
附图说明
图1是根据本申请所描述主题的实施例的、对异常分组的慢路径处理进行动态速率限制的示例性层2或层3分组转发设备的框图;
图2是根据本申请所描述主题的实施例的、对异常分组的慢路径处理进行动态速率限制的示例性层2或层3分组转发设备的框图;
图3是根据本申请所描述主题的实施例的、对异常分组的慢路径处理进行动态速率限制的示例性过程的流程图;以及
图4是根据本申请所描述主题的实施例的、对异常分组的慢路径处理进行动态速率限制的示例性过程的详细流程图。
具体实施方式
图1是根据本申请所描述主题的实施例的、对异常分组的慢路径处理进行动态速率限制的示例性层2或层3分组转发设备的图。本发明实施例适用的、可从商业渠道购买的层2或层3分组转发设备的一个实例是可从加利福尼亚州圣克拉拉的极进网络公司(Extreme Networks)购买的Black8800系列交换机。Black8800系列分组转发设备是多刀片(multi-blade)的层2交换机设备,其具有用于执行慢路径处理和管理的集中式管理模块,以及针对每个I/O模块的单独的CPU。下面将更详细地描述单个CPU执行所有管理功能的另外的平台。
参照图1,分组转发设备100包括多个输入/输出(I/O)模块101-106,I/O模块101-106用于通过网络来发送和接收分组。输入/输出模块101-106每个都可以实现为插在分组转发设备100的槽中的印刷电路板。交换结构107将输入/输出模块相互连接起来,并连接到主交换机管理模块108和从交换机管理模块109。在图1中,为了简明,示出了集中式交换结构。然而,在一个实现方式中,I/O模块106、管理模块108和管理模块109每个都可以包括其自己的、用于将其连接到分组转发设备100内的所有其它模块的交换结构。
主交换机管理服务模块(MSM)108和从交换机管理服务模块109每个都包括用于管理I/O模块101-106以及实现对异常分组的慢路径处理的动态速率限制的硬件和软件。在示出的实例中,主交换机管理模块108和从交换机管理模块109分别包括CPU 118和120以及动态速率限制模块128和130。动态速率限制模块128和130可以是设计用来对异常分组的慢路径处理进行动态速率限制的任何适当的硬件或软件实现。例如,动态速率限制模块128和130可以包括用于实行动态速率限制的软件指令。
主交换机管理模块108和从交换机管理模块109可以通过适当的可靠通信机制相互通信。在一个实例中,可靠的通信机制可以是在共享存储器中实现的循环缓冲器。例如,主交换机管理模块108可以向循环缓冲器写入,并在信息写入缓冲器之后使缓冲器中的末端指针前进。从交换机管理模块109可以从循环缓冲器中读取信息,这种读取从开始指针开始一直到末端指针,并且交换机管理模块109使开始指针前进,以指示信息已经被读取。
主交换机管理模块108可以包括软件转发表和相应的协议状态信息,该协议状态信息优选地通过参与网络协议的方式来构建。主交换机管理模块108可以参与的示例性网络协议包括例如BGP、OSPF、IS-IS等的任何IP路由协议。另外,交换机管理模块108可以参与例如生成树协议(STP)的层2协议。获取最新的软件转发表和相应的协议状态信息能够使得从交换机管理模块109在主交换机管理模块108最近正确操作的状态中接管主交换机管理模块108的网络协议操作。
从交换机管理模块109可以包括以下的副本:主MSM 108维持的路由表、转发表、协议状态信息和配置信息。在示出的实例中,当交换机管理模块109在从模式下操作时,可以通过从主交换机管理模块108接收到的消息来周期性地更新这些副本。然而,当交换机管理模块109切换到在主模式下操作时,可由CPU 120访问副本,并且这些副本可以用来执行主交换机管理模块功能。
I/O模块101-106每个分别包括CPU111-116和异步工作队列121-126。CPU 111-116可以被配置为执行软件,以接受用户配置信息、管理I/O模块101-106、对分组转发硬件(未示出)进行编程以及处理转发硬件不能处理的分组(未示出)。应当理解的是,不同的CPU可以具有不同的处理能力。如本申请中所使用,术语“处理资源”是指计算机系统内可用性有限的任何物理或虚拟组件。处理资源可以被直接或间接地测量,并可以被用于执行特定的任务(例如执行异常分组的慢路径处理)。因此,本申请中所使用的“处理资源”可以包括但不限于处理器执行的多个计算、处理异常分组所产生的多个工作项目以及存储器使用。
异步工作队列121-126可以包括等待CPU 111-116处理的数据序列,等待CPU 111-116处理的数据序列例如是等待慢路径转发的异常分组。在一个实施例中,异步工作队列121-126的主要用途可以是执行由层2MAC地址学习操作而产生的转发数据库(FDB)表的增加和/或删除。例如,FDB表可以由层2分组转发设备(即,交换机和/或桥接器)用来存储学习的MAC地址以及被学习的每个MAC地址的端口。例如,当以太网帧到达层2分组转发设备时,层2设备可以检查帧的源MAC地址并确定源MAC地址的FDB表的条目是否存在。如果FDB表不包含源MAC地址的任何信息,则将源MAC地址以及相关联的端口存储在FDB中。FDB中最近未使用的较旧的条目可以由每个I/O模块上的CPU来去除。要求进行慢路径处理的分组可以由CPU111-116转发给主MSM 108,其中CPU 118在软件实现的转发数据库中执行分组转发查找。
异步工作队列121-126还可以存储等待由CPU 111-116处理的其它管理或用户配置消息。应当理解的是,由于工作队列121-126异步地操作,故而对工作队列中的异常分组或其它的项的处理可以独立于其它分组和/或队列来进行。工作队列121-126可以是对与CPU 111-116相关联的处理负担进行的间接测量。例如,CPU 111-116中的每一个可以具有与每秒处理来自工作队列的一定数量的分组(例如,异常分组)的能力相关联的有限处理能力。如果新的项加入到工作队列的速率小于CPU的能力,则该项可以被立即处理。然而,如果新的项加入到工作队列的速率超过CPU的能力,则可能增加工作队列的大小。因此,大的工作队列可以指示要求CPU处理的工作要多于CPU在持续的期间内能够执行的工作。一种减少CPU处理负担的方法是限制加入到其工作队列的新的项的数量。
在另一实施例中,替代如前面所述的监测异步工作队列121-126的做法,或者,除了这种监测异步工作队列121-126的做法以外,可以通过检查CPU利用率或其它度量的方式来测量与异常分组的慢路径处理相关联的处理资源,而这不会脱离本申请描述的主题的范围。例如,可以以在任何给定时刻都可用的CPU周期的百分比的形式来直接测量处理器111-116的利用率。
在图1示出的包括单独的I/O模块101-106和MSM 108-109的分组转发设备100中,CPU 111-116可以负责监测工作队列121-126并通知动态速率限制模块128何时超过预定的阈值。例如,如果I/O模块121-126中的一个I/O模块的异步工作队列超过第一阈值50,000条目,则I/O模块的CPU可以向MSM 108发送指示由于异常分组的慢路径处理而使处理器资源过载的信号。第一阈值的选择可以使得在正常的负载情况下(即在不受到DoS攻击期间),工作队列大小永远不应该超过该第一阈值。
在一种情形中,CPU 116可以监测异步工作队列126并确定已经超过了第一阈值。然后,CPU 116可以将该情况通知给动态速率限制模块128。响应于接收到该通知,动态速率限制模块128可以对分配给工作队列126的新的分组数量施加速率限制。然后,动态速率限制模块128可以指示CPU116来执行速率限制,直到另有不同指示为止。通过限制增加到队列126的新的工作数量,可以对CPU 116的完整性和服务进行保护,并且可以允许CPU 116处理队列126中已有的项并返回正常工作情况。
根据另一方面,CPU 116可以继续监测工作队列126,以确定工作队列126的大小是否下降到低于第二阈值。第二阈值可以比第一阈值小得多,(即,500相对于50,000),从而小于第二阈值的工作队列指示正常处理负载情况。响应于确定工作队列121-126小于第二阈值,可以去除速率限制,并且CPU 116可以以全速来对异常分组进行慢路径处理。例如,CPU116可以向动态速率限制功能体128发送指示工作队列126的大小低于第二阈值的信号,并且作为响应,动态速率限制功能体128可以解除先前施加的速率限制。
动态启用和解除对异常分组的慢路径处理的速率限制的一个益处是:实现本申请描述的主题的层2或层3分组转发设备可以在受到攻击或者经受持续的异常活动时保护重要的CPU资源,而同时仍允许正常使用情况下的最大慢路径转发和异常分组处理。进一步地,通过将速率限制解除阈值规定为小于速率限制启用阈值,容许在将CPU处理资源恢复至正常状态过程中的滞后现象。
图2是根据本申请所描述主题的实施例的、对异常分组的慢路径处理进行动态速率限制的示例性层2或层3转发设备的图。参照图2,与层2或层3分组转发设备100相反,分组转发设备200可以是具有单个CPU 202的集成设备,CPU 202通过交换结构208连接到异步工作队列204和动态速率限制模块206。因此,与具有单独的、每个都包括独立的CPU和工作队列的MSM和I/O模块不同的是,分组转发设备200可以将该功能合并到较少的组件。本发明实施例适用的可从商业渠道购买的层2或层3分组转发设备的实例是可从加利福尼亚州圣克拉拉的极进网络公司购买的X450系列交换机。
CPU 202可以负责监测异步工作队列204并通知动态速率限制模块206何时超过预定的阈值。例如,如果异步工作队列204超过50,000条目,则CPU 202可以向动态速率限制模块206发送指示CPU 202由于异常分组处理而过载的信号。响应于接收到该通知,动态速率限制模块206可以对分配给工作队列204的新的工作数量施加速率限制。然后,动态速率限制模块206可以指示CPU 202对异常分组进行速率限制处理,直到另有不同指示为止。通过限制增加到队列204的工作数量,CPU 202可以处理队列204中已有的项并返回正常负载情况。
CPU 202可以继续监测工作队列204,以确定工作队列204的大小是否下降到低于第二阈值。第二阈值可以比第一阈值小得多(即,500相对于50,000),从而小于第二阈值的工作队列204指示正常处理负载情况。响应于确定工作队列204小于第二阈值,可以去除速率限制,并且CPU 202可以以其最大处理能力来对异常分组进行慢路径处理。例如,CPU 202可以向动态速率限制功能体206发送指示工作队列204的大小低于第二阈值的信号,并且,作为响应,动态速率限制功能体206可以解除先前施加的速率限制。
图3是根据本申请所描述主题的实施例的、对异常分组的慢路径处理进行动态速率限制的示例性过程的流程图。参照图3,在方框300,对用于执行异常分组的慢路径处理的处理资源进行监测。例如,监测所述处理资源可以包括监测异步工作队列的大小或者处理器利用率。
在方框302,在层2或层3分组转发设备中,确定对用于慢路径处理的处理资源的使用是否超过第一阈值。例如,第一阈值的选择可以使得在正常的负载情况下(即,工作队列大小为50,000)其永远不会被超过。
在方框304,响应于确定处理资源超过第一阈值,对异常分组的处理施加速率限制。可以在硬件中通过速率整形或者管制能力来实施慢路径速率限制,或者在限制递送给上层软件处理的分组数量的低层软件驱动程序中实施慢路径速率限制。速率限制可以针对业务类型、优先级或者针对所有慢路径业务。下面将详细描述限制递送给上层软件处理的分组数量的示例性实现。
图4是根据本申请所描述主题的实施例的、对异常分组的慢路径处理进行动态速率限制的示例性过程的流程图。参照图4,在步骤400,在层2或层3分组转发设备中对处理异常分组的动态速率限制的过程开始。例如,可以在层2交换机刚开机时执行步骤400。然后,控制可以立即转到方框402。
在方框402,可以监测工作队列以确定工作队列大小是否超过第一阈值。第一工作队列大小阈值可以足够地大,以使得如果其被超过则指示处理资源的过度利用。如前面所述,工作队列大小可以是处理资源利用率的间接测量,并且还可以监测其它值以确定处理资源利用率,而这不会脱离本申请所描述主题的范围。继续图4中示出的例子,第一阈值可以设置为50,000条目。在正常负载情况下,工作队列大小应该永远不超过该阈值。相应地,可以对处理资源的使用持续地进行监测,直到步骤402的结果指示已经超过了第一阈值为止,之后控制转到步骤404。
在方框404,可以将速率限制施加到异常分组的慢路径处理。例如,可以在硬件中通过速率整形或者管制能力来实施慢路径速率限制,或者在限制递送给上层软件处理的分组数量的低层软件驱动中实施慢路径速率限制。
对队列所消耗的带宽进行测量的一种方法是使用令牌桶。令牌桶是硬件或软件实现的算法,其允许基于令牌桶中可用的令牌数量来对分组进行调度。可以以预定的速率刷新令牌桶中的令牌。只要令牌桶中可用的令牌足够,就可以发送分组。如果令牌桶为空,或者包含的令牌数量不够,则等待发送的分组可以进行排队,直到令牌桶中有足够的令牌来发送分组为止。
在令牌桶的一个实例中,令牌桶可以存储被称作令牌计数的令牌数量。可以以刷新速率R来填充令牌桶。大于最大分组大小的开始阈值T与令牌桶相关联。对于要发送的分组而言,令牌数量应该大于或等于T。可以基于期望的分组突发阈值来将令牌桶的大小设置为预定的值。当排队的分组到达令牌桶时,如果令牌桶中的令牌计数大于T则可以发送排队的分组。在该实例中,假定一个令牌对应于一个字节的发送数据。假定T等于1500字节,如果排队的分组包含64字节的数据,并且令牌桶中至少有1500个令牌,则将发送排队的分组,并且令牌计数将减少64个令牌。
在一些网络交换机的实现方式中,令牌桶可以与队列相关联,其中队列与输出端口相关联。在一个实现方式中,每个队列可以具有最小令牌桶和最大令牌桶。最小令牌桶可以包含用于保证最小带宽值的令牌。最大令牌桶可以包含用于提供不应该超过的最大带宽值的令牌。
在方框406,确定工作队列大小是否已降低到低于第二阈值。第二阈值可以小于第一阈值,以允许系统中的滞后现象。通过将第一阈值和第二阈值分开,可以减少或消除快速地启用和解除对慢路径处理的速率限制。一旦确定工作队列大小已经下降到低于第二阈值,控制就可以转到方框408。
在方框408,可以解除对异常分组的慢路径处理的速率限制,并且可以以全速来处理异常分组。通过动态地启用和解除对异常分组的慢路径处理的速率限制,实现本申请所描述主题的层2或层3分组转发设备可以在受到攻击或者经受持续的异常活动时保护重要的CPU资源,而同时仍允许正常使用情况下的最大慢路径转发和异常分组处理。
应该理解的是,可以改变所公开主题的各种细节,而不脱离所公开主题的范围。进一步地,前面的描述仅仅是为了说明而不是进行限制。
Claims (23)
1.一种用于对分组转发设备中异常分组的慢路径处理进行动态速率限制的方法,所述方法包括:
监测分组转发设备中用于执行异常分组的慢路径处理的处理资源;
确定所述分组转发设备中对用于慢路径处理的所述处理资源的使用是否超过第一阈值;以及
响应于确定对所述处理资源的使用超过所述第一阈值,对所述异常分组的慢路径处理进行速率限制。
2.根据权利要求1所述的方法,包括:确定对用于慢路径处理的所述处理资源的使用是否小于第二阈值,以及,响应于确定对所述处理资源的使用小于所述第二阈值,停止对所述异常分组进行速率限制。
3.根据权利要求1所述的方法,其中,监测所述处理资源包括监测下述至少之一:所述分组转发设备中的工作队列、所述分组转发设备中用于进行异常分组的慢路径处理的至少一个处理器的处理器利用率。
4.根据权利要求1所述的方法,其中,对所述异常分组的慢路径处理进行速率限制包括:使用令牌桶来对所述异常分组进行速率限制。
5.根据权利要求1所述的方法,其中,对所述异常分组的慢路径处理进行速率限制包括:通过限制递送给上层软件处理的分组数量来对所述异常分组进行速率限制。
6.根据权利要求1所述的方法,其中,对所述异常分组的慢路径处理进行速率限制包括:使用速率整形和管制中的至少一个来对所述异常分组进行速率限制。
7.根据权利要求1所述的方法,其中,基于用户输入的值静态地确定所述第一阈值。
8.根据权利要求1所述的方法,其中,基于所述分组转发设备的处理
能力动态地确定所述第一阈值。
9.根据权利要求1所述的方法,其中,所述异常分组的慢路径处理包括:使用中央处理单元和相关联的软件来处理所述分组。
10.根据权利要求1所述的方法,其中,对所述异常分组的慢路径处理进行速率限制包括:针对每个分组分类来对所述处理进行速率限制。
11.一种分组转发设备,用于对异常分组的慢路径处理进行动态速率限制,所述分组转发设备包括:
至少一个处理器,用于处理异常分组,所述至少一个处理器与用于对所述异常分组进行慢路径转发的处理资源相关联;以及
动态速率限制模块,用于监测用于由所述至少一个处理器执行异常分组的慢路径处理的处理资源,确定对用于慢路径处理的所述处理资源的使用是否超过第一阈值,以及,响应于确定所述处理资源超过所述第一阈值,对所述异常分组的慢路径处理进行速率限制。
12.根据权利要求11所述的分组转发设备,其中,所述动态速率限制模块被配置为:确定对用于慢路径转发的所述处理资源的使用是否小于第二阈值,以及,响应于确定对所述处理资源的使用小于所述第二阈值,停止对所述异常分组进行速率限制。
13.根据权利要求11所述的分组转发设备,其中,所述动态速率限制功能体被配置为:在确定对所述处理资源的使用是否超过所述第一阈值过程中监测以下中的一个:至少一个工作队列、所述至少一个处理器的利用率。
14.根据权利要求11所述的分组转发设备,其中,所述动态速率限制模块被配置为:使用令牌桶来对所述异常分组的慢路径处理进行速率限制。
15.根据权利要求11所述的分组转发设备,其中,所述动态速率限制模块被配置为:通过限制递送给上层软件处理的分组数量来对所述异常分组的慢路径处理进行速率限制。
16.根据权利要求11所述的分组转发设备,其中,所述动态速率限制模块被配置为:使用速率整形和管制中的至少一个来为对所述异常分组的慢路径处理进行速率限制。
17.根据权利要求11所述的分组转发设备,其中,所述动态速率限制模块被配置为:从所述用户接收所述第一阈值,以及静态地维持所述第一阈值。
18.根据权利要求11所述的分组转发设备,其中,所述动态速率限制模块被配置为:基于所述至少一个处理器的所述处理能力动态地确定所述第一阈值。
19.根据权利要求11所述的分组转发设备,其中,所述动态速率限制模块被配置为:使用中央处理单元和相关联的软件来对所述异常分组进行慢路径处理。
20.根据权利要求1所述的方法,其中,动态速率限制模块被配置为:通过针对每个分组分类来对所述处理进行速率限制来对所述异常分组的慢路径处理进行速率限制。
21.一种计算机可读介质,其包含计算机程序,所述计算机程序包括计算机可执行指令,所述计算机可执行指令当被计算机的处理器执行时执行的步骤包括:
监测分组转发设备中用于执行异常分组的慢路径处理的处理资源;
确定所述分组转发设备中对用于慢路径处理的所述处理资源的使用是否超过第一阈值;以及
响应于确定所述处理资源超过所述第一阈值,对所述异常分组的慢路径处理进行速率限制。
22.根据权利要求21所述的计算机可读介质,其中,所述异常分组的慢路径处理包括:使用中央处理单元和相关联的软件来处理所述分组。
23.根据权利要求21所述的计算机可读介质,其中,对所述异常分组的慢路径处理进行速率限制包括:针对每个分组分类来对所述处理进行速率限制。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US6614508P | 2008-03-28 | 2008-03-28 | |
US61/066,145 | 2008-03-28 | ||
US12/100,498 | 2008-04-10 | ||
US12/100,498 US8174980B2 (en) | 2008-03-28 | 2008-04-10 | Methods, systems, and computer readable media for dynamically rate limiting slowpath processing of exception packets |
PCT/US2009/037452 WO2009120545A1 (en) | 2008-03-28 | 2009-03-17 | Methods, systems, and computer readable media for dynamically rate limiting slowpath processing of exception packets |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102047619A true CN102047619A (zh) | 2011-05-04 |
CN102047619B CN102047619B (zh) | 2014-12-17 |
Family
ID=41114284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980119500.4A Active CN102047619B (zh) | 2008-03-28 | 2009-03-17 | 用于对异常分组的慢路径处理进行动态速率限制的方法、系统和计算机可读介质 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8174980B2 (zh) |
EP (1) | EP2258083B8 (zh) |
JP (1) | JP2011523242A (zh) |
CN (1) | CN102047619B (zh) |
WO (1) | WO2009120545A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8174980B2 (en) | 2008-03-28 | 2012-05-08 | Extreme Networks, Inc. | Methods, systems, and computer readable media for dynamically rate limiting slowpath processing of exception packets |
JP5598260B2 (ja) * | 2009-11-30 | 2014-10-01 | 富士通株式会社 | パケット伝送装置、パケット伝送方法及びパケット伝送プログラム |
US8752054B2 (en) * | 2010-03-11 | 2014-06-10 | Avaya Inc. | Intelligent merging of transactions based on a variety of criteria |
US8713572B2 (en) * | 2011-09-15 | 2014-04-29 | International Business Machines Corporation | Methods, systems, and physical computer storage media for processing a plurality of input/output request jobs |
US8850068B2 (en) * | 2012-05-03 | 2014-09-30 | Futurewei Technologies, Inc. | United router farm setup |
US9374300B2 (en) | 2013-09-12 | 2016-06-21 | Oracle International Corporation | Methods, systems, and computer readable media for regulation of multi-priority traffic in a telecommunications network |
GB2524749B (en) * | 2014-03-31 | 2018-12-19 | Metaswitch Networks Ltd | Spanning tree protocol |
JP2016163180A (ja) * | 2015-03-02 | 2016-09-05 | 日本電気株式会社 | 通信システム、通信方法、及びプログラム |
WO2016175849A1 (en) | 2015-04-30 | 2016-11-03 | Hewlett Packard Enterprise Development Lp | Uplink port oversubscription determination |
WO2018138878A1 (ja) * | 2017-01-27 | 2018-08-02 | 三菱電機株式会社 | 中継装置およびパケット転送方法 |
US20220109629A1 (en) * | 2020-10-01 | 2022-04-07 | Vmware, Inc. | Mitigating service overruns |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010024452A1 (en) * | 2000-03-14 | 2001-09-27 | Zhao Liu | Data rate limiting |
US20030225965A1 (en) * | 2002-06-04 | 2003-12-04 | Ram Krishnan | Hitless restart of access control module |
US20040174892A1 (en) * | 2003-03-04 | 2004-09-09 | Samsung Electronics Co., Ltd. | Packet forwarding system having a control packet processor which allocates the bandwidth for a control packet adaptively and processing method thereof |
JP2005117214A (ja) * | 2003-10-06 | 2005-04-28 | Nippon Telegr & Teleph Corp <Ntt> | パケットフォワーディング回路 |
US20050157723A1 (en) * | 2004-01-19 | 2005-07-21 | Bong-Cheol Kim | Controlling traffic congestion |
CN1677957A (zh) * | 2004-03-31 | 2005-10-05 | 国际商业机器公司 | 用于控制从分布式系统到中央系统的数据流的方法和系统 |
US20060007856A1 (en) * | 2004-06-07 | 2006-01-12 | Nokia Corporation | Backpressure method on multiplexed links |
KR20060009047A (ko) * | 2006-01-16 | 2006-01-27 | 이윤호 | 휴대폰 배터리 방전을 지연시키기 위한 휴대폰 본체와배터리의 결합구조 |
CN1972248A (zh) * | 2005-11-21 | 2007-05-30 | 阿尔卡特公司 | 具有控制平面处理器过载保护的网络节点 |
US20070230339A1 (en) * | 2006-04-03 | 2007-10-04 | Realtek Semiconductor Corp. | Network system capable of dynamically controlling data flow and its method |
US20070258370A1 (en) * | 2005-10-21 | 2007-11-08 | Raghu Kondapalli | Packet sampling using rate-limiting mechanisms |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE59107340D1 (de) * | 1990-11-20 | 1996-03-14 | Siemens Ag | Phasenregelkreis höherer Ordnung |
US6434620B1 (en) * | 1998-08-27 | 2002-08-13 | Alacritech, Inc. | TCP/IP offload network interface device |
US6788680B1 (en) * | 1999-08-25 | 2004-09-07 | Sun Microsystems, Inc. | Defferrable processing option for fast path forwarding |
US6684270B1 (en) * | 2000-06-02 | 2004-01-27 | Nortel Networks Limited | Accelerated file system that recognizes and reroutes uncontested read operations to a second faster path for use in high-capacity data transfer systems |
US7406087B1 (en) * | 2002-11-08 | 2008-07-29 | Juniper Networks, Inc. | Systems and methods for accelerating TCP/IP data stream processing |
US7355969B2 (en) * | 2003-10-07 | 2008-04-08 | Alcatel | Line card port protection rate limiter circuitry |
JP2006180162A (ja) * | 2004-12-22 | 2006-07-06 | Nec Corp | パケット交換装置およびパケット交換方法 |
KR100645537B1 (ko) | 2005-02-07 | 2006-11-14 | 삼성전자주식회사 | 안정적인 패킷 포워딩을 위한 동적인 큐 관리방법 및 이를위한 네트워크 프로세서의 구성요소 |
US8174980B2 (en) | 2008-03-28 | 2012-05-08 | Extreme Networks, Inc. | Methods, systems, and computer readable media for dynamically rate limiting slowpath processing of exception packets |
-
2008
- 2008-04-10 US US12/100,498 patent/US8174980B2/en active Active
-
2009
- 2009-03-17 CN CN200980119500.4A patent/CN102047619B/zh active Active
- 2009-03-17 EP EP09723809.1A patent/EP2258083B8/en active Active
- 2009-03-17 JP JP2011501912A patent/JP2011523242A/ja not_active Withdrawn
- 2009-03-17 WO PCT/US2009/037452 patent/WO2009120545A1/en active Application Filing
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010024452A1 (en) * | 2000-03-14 | 2001-09-27 | Zhao Liu | Data rate limiting |
US20030225965A1 (en) * | 2002-06-04 | 2003-12-04 | Ram Krishnan | Hitless restart of access control module |
US20040174892A1 (en) * | 2003-03-04 | 2004-09-09 | Samsung Electronics Co., Ltd. | Packet forwarding system having a control packet processor which allocates the bandwidth for a control packet adaptively and processing method thereof |
JP2005117214A (ja) * | 2003-10-06 | 2005-04-28 | Nippon Telegr & Teleph Corp <Ntt> | パケットフォワーディング回路 |
US20050157723A1 (en) * | 2004-01-19 | 2005-07-21 | Bong-Cheol Kim | Controlling traffic congestion |
CN1677957A (zh) * | 2004-03-31 | 2005-10-05 | 国际商业机器公司 | 用于控制从分布式系统到中央系统的数据流的方法和系统 |
US20060007856A1 (en) * | 2004-06-07 | 2006-01-12 | Nokia Corporation | Backpressure method on multiplexed links |
US20070258370A1 (en) * | 2005-10-21 | 2007-11-08 | Raghu Kondapalli | Packet sampling using rate-limiting mechanisms |
CN1972248A (zh) * | 2005-11-21 | 2007-05-30 | 阿尔卡特公司 | 具有控制平面处理器过载保护的网络节点 |
KR20060009047A (ko) * | 2006-01-16 | 2006-01-27 | 이윤호 | 휴대폰 배터리 방전을 지연시키기 위한 휴대폰 본체와배터리의 결합구조 |
US20070230339A1 (en) * | 2006-04-03 | 2007-10-04 | Realtek Semiconductor Corp. | Network system capable of dynamically controlling data flow and its method |
Also Published As
Publication number | Publication date |
---|---|
JP2011523242A (ja) | 2011-08-04 |
EP2258083A4 (en) | 2013-11-06 |
EP2258083A1 (en) | 2010-12-08 |
US20100254264A1 (en) | 2010-10-07 |
EP2258083B1 (en) | 2016-02-17 |
WO2009120545A1 (en) | 2009-10-01 |
CN102047619B (zh) | 2014-12-17 |
EP2258083B8 (en) | 2016-04-13 |
US8174980B2 (en) | 2012-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102047619A (zh) | 用于对异常分组的慢路径处理进行动态速率限制的方法、系统和计算机可读介质 | |
Lu et al. | {Multi-Path} transport for {RDMA} in datacenters | |
KR102317523B1 (ko) | 패킷 제어 방법 및 네트워크 기기 | |
AU2003291743B2 (en) | Apparatus and method for distributing buffer status information in a switching fabric | |
CN103493449B (zh) | 分组交换网络中的有效电路 | |
JP4358437B2 (ja) | デジタルデータネットワークにおいてメッセージ伝送をスケジューリングし、処理を行うシステムおよび方法 | |
CN101227402B (zh) | 聚合链路流量分担方法及装置 | |
US9703743B2 (en) | PCIe-based host network accelerators (HNAS) for data center overlay network | |
JP2010081641A (ja) | デジタルデータネットワークにおけるメッセージフローを調整するシステムおよび方法 | |
TW200415889A (en) | Apparatus and method for virtual output queue feedback | |
US7564860B2 (en) | Apparatus and method for workflow-based routing in a distributed architecture router | |
TWI411264B (zh) | 非阻塞式網路系統及其封包仲裁方法 | |
CN108768898A (zh) | 一种片上网络传输报文的方法及其装置 | |
JP5971072B2 (ja) | フレーム転送装置及びフレーム転送方法 | |
CN109716719B (zh) | 数据处理方法及装置、交换设备 | |
CN101022414A (zh) | 一种报文转发的方法和装置 | |
CN101635683A (zh) | 基于链路聚合的业务下发方法及装置 | |
WO2023093805A1 (zh) | 存储控制方法、存储控制器、存储芯片、网卡、可读介质 | |
CN112272933B (zh) | 队列控制方法、装置及存储介质 | |
Khan et al. | RecFlow: SDN-based receiver-driven flow scheduling in datacenters | |
US7110360B1 (en) | Credit-based flow control over unreliable links | |
WO2022259040A1 (en) | Method for distributing multipath flows in a direct interconnect network | |
KR20230002947A (ko) | 온칩 라우터 | |
US6807594B1 (en) | Randomized arbiters for eliminating congestion | |
CN117118762B (zh) | 中央处理器收包处理方法、装置、电子设备和存储介质 |
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 |