网络流量控制系统的制作方法

文档序号:7605738阅读:98来源:国知局
专利名称:网络流量控制系统的制作方法
附图简介

图1显示典型网络流量控制系统的框图。
图2显示根据本发明实施例的网络流量控制系统的框图。
图3显示用于对单独端口的输入流量整形的令牌桶。
图4显示用于对两个端口的总计输入流量整形的令牌桶。
发明目的技术领域和背景技术本发明涉及网络流量控制系统,更具体地说涉及具有交换处理器的网络流量控制系统,其中,流量可以通过允许设置每个通信端口的速率限制来控制,即使交换处理器不支持速率限制功能。
由于各种网络应用,如基于因特网的网络应用的增长,人们对计算机网络的兴趣日益增加。随着人们对计算机网络的兴趣增加,专用于控制网络上互联终端的流量状况的技术受到广泛关注。此类技术称为“网络流量控制技术”,而实施此类技术的系统称为“网络流量控制系统”。
如图1所示,典型的网络流量控制系统一般包括用于交换网络上计算机终端之间传送的分组的交换控制器200以及用于设置和控制各种参数(例如每个端口的通信量)的中央处理单元(CPU)100,这些参数必须加以设置,以便交换处理器200正常工作。交换处理器200包括用于记录每个端口的通信量的寄存器210,用于控制每个端口的通信量的流量控制器220(某些制造商也将其称为“端口管理器”)以及物理层连接(PHY)230。交换处理器200的流量控制器220在寄存器210中记录的每个端口的允许的最大通信量范围内调整通信量。如上所述,交换处理器200中设置每个端口的通信量的功能称为“速率限制”。
速率限制存在一些问题。如果预先限制通信量,则传输分组必须使得分组传输的总通信量低于通信量极限。因此,如果预期所有分组传输的通信量超过该通信量极限,则流量控制器220会强制不必要地丢弃部分分组,其中该部分分组(如果传送的的话)会产生超过通信量极限的额外通信量。这会导致传输数据或控制数据损失,进而导致数据传输延迟。
与速率限制有关的另一个问题是支持速率限制功能的交换处理器200的大多数制造商将设置输入和输出通信量的单位预设为例如8M的单位。因此,从交换处理器客户的角度来看,该通信量无法考虑特定客户群的特殊需要而设为较小的单位如1M的单位。
采用无速率限制能力的交换处理器也会产生问题。对于此类交换处理器,每个端口的允许的通信量被制造商预设为固定的值,这也使得难以根据特定客户群的需求来进行不同的设置或调整通信量。
发明目的本发明目的在于提供一种具有交换处理器的网络流量控制系统,其中用户可以任意调整由所述交换处理器控制的每个通信端口的通信量。
本发明的另一个目的在于提供一种具有交换处理器的网络流量控制系统,用于在所述交换处理器所支持的允许的通信量范围内自由地设置和控制每个通信端口的通信量,其中所述交换处理器不支持速率限制功能。
发明的公开根据本发明的一个方面,提供一种用于控制网络上流量的装置,包括交换处理器,其包括可连接到网络线路的多个端口以及用于存储通过所述多个端口输入和输出的分组的有关计数信息的分组计数寄存器,用于响应输入的流量控制命令而控制所述多个端口中各端口的输入和输出分组通信量;以及控制器,用于将所述多个端口中各端口的通信量作为用户值记录在内部寄存器中,所述通信量通过输入输入单元输入,以及用于将所述多个端口中各端口的用户值与各端口的所述分组计数寄存器中相应一个中的值作比较,以便将各端口的输入通信控制命令输出到所述交换处理器。所述输入通信控制命令是允许将通过各端口输入和输出的分组排队、丢弃或暂停的控制命令。
如上所述,根据本发明,可以自适应地控制通过所述交换处理器的各端口输入和输出的通信量,以使其在控制单元预设的允许的通信量范围内,这样,用户便可以任意调整每个端口的通信量,从而实现通信量控制。
所述允许的通信量范围可由最大通信量的用户值来表示。该用户值被写入寄存器中,以便可以与所述通信量的相应值作比较,所述相应值被写入分组计数寄存器中。如果所述相应值超过所述用户值,则可以向所述交换处理器发出通信控制命令。
本发明并不局限于各单独端口的流量控制。它还涵盖将一定数量或多个端口汇聚或捆绑以便协作的情况或配置。链路或端口的汇聚(也称为端口捆绑)广泛地应用于冗余和带宽扩充。对于这种配置,希望为通过所述多个端口输入和输出的合计流量设置最大流量限制。这种多个端口的流量控制可以通过令牌桶来实现。令牌桶是一种通用排队技术概念。典型算法是对应于每秒的时间,保存一个令牌。如果发送了令牌,则破坏这些令牌之一。如果没有分组在发送,则令牌开始累积,这些累积的令牌可以在以后用于突发分组。图3显示了用于对流量进行整形或调整的令牌桶。如图4所示,此概念可以扩展到两个或两个以上端口。由多个端口共享同一个令牌桶。如果所述端口之一流量小,则所述多个端口中的其他端口可以通过利用未用令牌来自适应地传输(输入/输出)更多的流量。此令牌桶共享概念还可应用于排队、丢弃和暂停。
同时控制涉及多个端口的汇聚流量与涉及各分离端口的流量也是可能的。通常,可以任何可能的方式将大量端口分组。对应的流量可以通过将与所述大量端口的分组对应的流量限制指配给任意多个端口和任一单独端口来控制。
利用帧大小约束(frame-size pinching)是一种丢弃分组的高效机制。结合各单独端口(或不同的多个端口)的流量控制使用的丢弃机制要求,应该仅控制输入流量,而不干扰输出流量,而且应该是逐端口可控的。帧大小约束包括将最大帧大小的参数(最大帧大小参数)设为小于所支持的最小帧大小的某个数值。例如,基于以太网标准的网络要求最小帧大小为64字节。将最大帧大小参数设为小于64字节的值,则小于64字节的分组将被丢弃,因为它们不符合以太网标准设定的限制,而等于64字节或更大的分组也将被丢弃,因为受到最大帧大小限制。
下文参考附图,描述本发明的实施例。如果对本发明的熟知部分或单元的详细描述(如果包含在本文中的话)据信会使本发明的本质模糊,则会为简洁起见而加以被省略。
参见图2,其中显示了根据本发明实施例的网络流量控制系统。如图2所示,数据输入单元300从操作员接收各端口540的输入和输出分组通信量。常规的数据输入设备,如键盘、鼠标等均可以用于实现数据输入单元300。从数据输入单元300输入的通信量作为用户值记录在寄存器410中。寄存器410和中央处理单元(CPU)420(下面将对它们进行描述)可操作以控制交换处理器500。寄存器410和CPU 420可以集成到单个芯片上。
CPU 420将寄存器410中记录的各端口的用户值与相应端口的相应一个分组计数寄存器510中的值作比较。然后,CPU 420将各端口的流量控制命令发送到交换处理器500,从而控制各端口的通信量。注意,所述流量控制命令是允许将通过各端口输入和输出的分组排队、丢弃或暂停的控制命令。
交换处理器500包括分组计数寄存器510、流量控制器520、物理层连接530以及多个端口540。交换处理器500在控制单元400的控制下控制各端口540的通信量。
端口540中的每个端口用于将物理媒体,即构成网络的通信线路连接到交换处理器500。分组计数寄存器510用于记录通信量,即当前通过每个端口540输入和输出的分组数量。分组计数寄存器510中记录的各端口的分组数量由CPU 420读取。
流量控制器520对各端口540的输入和输出分组数量计数,以将其写入分组计数寄存器510中。此外,流量控制器520响应来自CPU420的流量控制命令而控制各端口540的输入和输出分组通信量。例如,在从CPU 420接收到控制通信量的丢弃命令时,流量控制器520执行分组控制,以使通过每个端口540进入的部分分组被丢弃且然后被输出。注意,丢弃命令可以在各端口540的输入分组通信量超过寄存器410中记录的用户值时生成。物理层连接530将来自数据链路层的数据编码(数据链路层在网络体系结构中处于较高层),并将经过编码的数据传送给物理层媒体相关部分(PMD)(处于较低层)。
下文将描述根据本发明的网络流量控制系统的操作。首先,操作员或用户利用数据输入单元300设置交换处理器500中提供的各端口540的输入和输出分组通信量。在此情况中,操作员或用户可以任意设置输入和输出分组通信量,使其在各端口540的允许的最大通信量限定的范围内。操作员可根据其特定的通信量需求基于比常规交换处理器所用的较小单位来调整通信量,使得例如可将256Mbit的输入流量分配给端口#1,而将230Mbit的输入流量分配给端口#2。一旦按上述方式设置了各端口540的通信量,则将所设置的通信量作为用户值记录到寄存器410中。
如果分组通过交换处理器500交换并经各端口540传送,则流量控制器520对各端口540的输入或输出分组数计数,以将其写入分组计数寄存器510中。之后,CPU 420从各分组计数寄存器510读取该值(数值)并将其与为相应端口540设定的用户值作比较。CPU 420然后根据比较结果发出控制命令来控制各端口540的通信量。
例如,当特定端口的实时输出分组通信量超过记录的用户值时,则CPU 420向流量控制器520发出丢弃命令。响应该丢弃命令,流量控制器520强制使通过该端口输出的分组通信量被丢弃,由此将输出分组限制在所记录的范围内。如果特定端口的输入分组通信量低于所记录的用户值,则CPU 420向流量控制器520发出排队命令。响应该排队命令,只要存储器容量允许,流量控制器520便使输入分组在存储器(未显示)中排队。另一方面,如果预期输入分组通信量超过所记录的用户值,则CPU 420向流量控制器520发暂停命令。然后,流量控制器520向对方(发送)终端发送暂停命令,以使输入分组暂时停止发送。
如上所述,根据本发明,操作员或用户利用数据输入单元在控制单元400中设置作为用户值的各端口分组通信量,以便可以基于预设的用户值来控制各端口的通信量。因此,本发明可以支持速率限制功能,而无论所述交换处理器是否具有这种速率限制功能,并允许用户基于任意小的单位调整通信量。
发明效果如上所述,根据本发明,交换处理器的用户可以任意方式调整由交换处理器控制的各端口的通信量,从而实现对所述通信量的控制。此外,本发明的网络通信控制系统可有利地用于允许用户在不支持速率限制功能的交换处理器的各端口的可用最大通信量所限定的范围内任意设置并控制各端口的通信量。
虽然已结合本发明的实施例对本发明作了描述和图示,但对本领域技术人员而言,显然在不背离本发明的一般原理和教导的前提下可以进行各种变化和修改,本发明的一般原理和教导仅有所附权利要求书来限定。
权利要求
1.一种用于控制网络上流量的装置,包括交换处理器,其包括可连接到网络线路的多个端口以及用于存储通过所述多个端口输入和输出的分组的有关计数信息的分组计数寄存器,用于响应输入的流量控制命令而控制所述多个端口中各端口的输入和输出分组通信量;以及控制器,用于将所述多个端口中每一个的通信量作为用户值记录在内部寄存器中,所述通信量通过输入输入单元输入,以及用于将所述多个端口中各端口的用户值与所述各端口的所述分组计数寄存器中相应一个中的值作比较,以便将所述各端口的所述输入通信控制命令输出到所述交换处理器。
2.一种用于控制网络上流量的装置,包括交换处理器,其包括可连接到网络线路的多个端口以及用于存储通过所述多个端口输入和输出的分组的有关计数信息的分组计数寄存器,用于响应输入的流量控制命令而控制所述多个端口的输入和输出分组通信量;以及控制器,用于将所述多个端口的通信量作为用户值记录在内部寄存器中,所述通信量通过输入输入单元输入,以及用于将所述多个端口的用户值与所述多个端口的所述分组计数寄存器中相应一个中的值作比较,以便将所述多个端口的所述输入通信控制命令输出到所述交换处理器。
3.如权利要求2所述的装置,其特征在于所述输入和/或输出通信量通过令牌桶来控制,所述令牌桶在所述多个端口中的端口之间共享。
4.如权利要求1至3之一所述的装置,其特征在于所述输入流量控制命令是允许将通过所述各端口输入或输出的所述分组排队、丢弃或暂停的控制命令。
5.一种用于控制通过交换处理器的一个或多个端口输入或输出的通信量的方法,所述方法包括如下步骤输入最大通信量的用户值,将所述用户值与所述通信量的相应值作比较,所述相应值被写入分组计数寄存器中,以及向所述交换处理器发送流量控制命令。
6.如权利要求5所述的方法,其特征在于所述通信量与多个端口相关,以及所述通信量通过令牌桶来控制,所述令牌桶在所述多个端口中的端口之间共享。
7.如权利要求5或6所述的方法,其特征在于通过将所述帧大小参数设置为小于最小以太网帧大小来丢弃分组。
全文摘要
一种网络流量控制系统,其中,可通过允许任意设置每个通信端口的速率限制来控制流量,即使交换处理器不支持速率限制功能。根据本发明的网络流量控制系统包括交换处理器,其包括可连接到网络线路的多个端口以及用于存储通过所述多个端口输入和输出的分组的有关计数信息的分组计数寄存器,用于响应输入的流量控制命令控制所述多个端口中各端口的输入和输出分组通信量;以及控制器,用于将所述多个端口中每一个的通信量作为用户值记录在内部寄存器中,其中所述通信量通过输入输入单元输入,以及用于将所述多个端口中各端口的用户值与所述各端口的所述分组计数寄存器中相应一个中的值作比较,以便将针对各端口的输入通信控制命令输出到所述交换处理器。
文档编号H04L12/56GK1778078SQ200480010555
公开日2006年5月24日 申请日期2004年4月21日 优先权日2003年4月21日
发明者S·李, D·辛 申请人:西门子公司, 苶山网络公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1