数据交换机和广播分组队列估算方法转让专利

申请号 : CN02829532.3

文献号 : CN1659842B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 什里达尔·穆巴拉克·米什拉古鲁普拉塞德·阿德哈娜利

申请人 : 因芬奈昂技术股份有限公司

摘要 :

一种数据交换机,包括与输入队列(3)相关联的输入端口和与输出队列(9)相关联的输出端口。测量输入队列(3)的长度,并估算到达输入端口处的广播分组的水平。根据此估算结果来决定广播分组的水平是否过高,并在过量情况下执行广播风暴控制。

权利要求 :

1.一种数据交换机,具有通过交换结构相连的多个输入端口和输出端口,所述交换机具有多个输入队列,用于排列得自于到达输入端口的数据分组的数据,所述交换机的特征在于还包括:广播分组估算装置,用于得到所述多个输入队列中至少一个队列的长度的测量值并用它来获得广播分组到达频率的测量值;以及广播分组控制装置,设置用于在广播分组到达频率的测量值高于第一预定水平时,被触发进入广播风暴控制模式,在所述广播风暴控制模式下,通过删除至少一些广播分组来实现广播风暴控制。

2.根据权利要求1所述的数据交换机,其特征在于,广播分组估算装置将所述广播分组到达频率的测量值确定为输入队列的最长长度。

3.根据权利要求1所述的数据交换机,其特征在于,当所述多个输入队列中的每一个的长度之和高于第三预定水平时触发广播风暴控制模式。

4.根据权利要求1或2或3所述的数据交换机,其特征在于,当所述多个输入队列中所述至少一个队列的长度的测量值低于第二预定水平时,所述广播风暴控制模式停止。

5.一种操作数据交换机的方法,所述交换机具有通过交换结构相连的多个输入端口和输出端口,所述交换机具有多个输入队列,用于排列得自于到达输入端口的数据分组的数据,所述方法包括:得到所述多个输入队列中至少一个队列的长度的测量值,并用所述多个输入队列中所述至少一个队列的长度的测量值来获得广播分组到达频率的测量值;以及在广播分组到达频率的测量值高于第一预定水平时,触发广播风暴控制模式,通过删除至少一些广播分组来实现广播风暴控制。

6.根据权利要求5所述的方法,其特征在于,广播分组到达频率的测量值是所述多个输入队列的最长长度的测量值。

7.根据权利要求5所述的方法,其特征在于,当所述多个输入队列的每一个的长度的测量值之和高于第三预定水平时触发广播风暴控制模式。

8.根据权利要求5或6或7所述的方法,其特征在于还包括:当所述多个输入队列中所述至少一个队列的长度的测量值降低到低于第二预定水平时,停止删除分组。

说明书 :

数据交换机和广播分组队列估算方法

技术领域

[0001] 本发明涉及一种数据交换机和一种操作其的方法。

背景技术

[0002] 需要用以太网交换机来传输的各种数据分组中,有一种是广播分组,即需要从输入端口之一传输到所有输出端口的分组,除了与广播分组所到达的输入端口(“源端口”)相对应的输出端口以外。共享存储器输出队列以太网交换机不能维持过高水平的广播分组,因为在业务流中,存储器需求随着广播的百分比线性增长。这就意味着需要限制系统中广播的数量。
[0003] 在识别到广播分组的数量过多的情况下,例如,已知的是,依据分组报头中定义了分组重要性的参数,有选择地删除选定的一些广播分组。这被称为“广播风暴控制”(BSC)。
[0004] 识别广播分组业务过量的传统方法是通过计算单位时间内的广播量来实现的。一旦此数值上升到高于预定水平,就开启BSC。当此数值降到低于预定水平(例如,低于其特定量,所以存在滞后)时,关闭BSC。这个方法具有以下问题:它需要计数器来清楚地计数广播分组。另外,由于必须在单位时间内完成计数,例如,需要定时器按照每个定时器时间间隔递减计数器。

发明内容

[0005] 本发明提出了一种新的和有用的方式来确定广播分组的过量水平,尤其是便于能够实行BSC。
[0006] 概括地,本发明提出,测量位于输入端口的各个队列的长度,并基于这些长度,估算或者在一些情况下精确确定广播分组的水平。所述方法是因为注意到广播分组比通常的分组通过交换机所用的时间更长并因此导致队列长度增长而受到启发的。在具有一对一业务流的网速单播系统中,广播分组实际上是唯一能够引起输入队列长度增加的分组。
[0007] 根据广播分组的水平,确定该水平是否过量,并在过量的情况下,执行BSC,例如,根据上述传统方法。例如,无论何时系统确定任意队列的长度上升到高于预定水平时,都可以执行BSC,由于队列的长度提供了广播分组到达频率的测量值(在相应的输入端口处)。

附图说明

[0008] 现在描述本发明的优选特征,仅为图解说明的目的,参考图1,图中示意性地示出了根据本发明的交换机。

具体实施方式

[0009] 参考图1,示出了作为本发明的实施例的以太网交换机。根据传统结构,以太网交换机具有多个输入端口n和相应的n个输出端口。数据分组到达输入端口,以便跨越交换结构传输到输出端口。
[0010] 以太网交换机具有分组解析模块1,包括针对每个输入端口的相应输入队列3。输入队列标记为Rx#0到Rx#n-1。分组解析模块1确定到达特定输入端口的每个分组的目的地列表(即,它应该传输到的输出端口的列表),并把这一信息存储在其相应的队列中。图1中,4标记了典型分组的目的地列表,包括对于n个目的地中的每一个,要么标识为将会发送分组(在目的地列表4中标识为黑方块),要么标识为不会发送(标识为0)。图1所示的目的地列表4针对以输入1作为源端口的广播分组,因此对于目的地1标识为0,所有其他目的地标识为黑方块。
[0011] 以太网交换机还包括队列管理模块5,具有调度器7和针对n个输出端口中的每一个的相应输出队列9。输出队列标记为Tx#0到Tx#n-1。队列管理模块5中的调度器7以循环方式处理来自每个输入端口的分组。对于每个分组,把分组细节传输到此分组的目的地列表中所规定的所有输出队列。这一插入所用的时间取决于队列管理模块5中可用的并行数量,其被称为调动器带宽,可以是每单位时间5个插入。
[0012] 必须把每个广播分组插入到每个输出队列(除源端口以外)中,所以如果广播分组每单位时间到达输出队列结构,调度器必须具有n-1的带宽来匹配输入带宽(即使在没有其他分组的情况下)。如果调度器的带宽小于这个带宽,输入队列的大小就会增长。
[0013] 确切地说,假设每个输入端口处的分组速率为每单位时间M个分组(0≤M≤1),那么每单位时间到达交换机的分组总数为NM。假设广播业务在所有业务中所占的比例为b(0≤b≤1),且实际的调度器带宽为每单位时间S。这种情况下,所需的调度器速率为每单位时间NM(1-b)+bNM(N-1),即等于NM(1+(N-2)b)。因此,输出速率与输入速率之间的差为NM(1-b)+bNM(N-1)-S,因此输入队列的增长速率为{NM(1-b)+bNM(N-1)-S}/N。
[0014] 在本实施例中,设置分组解析模块1来确定每个队列的长度,并根据这些长度来决定是否应用BSC。优选地,当发现任意一个队列的长度上升到预定水平以上时,分组解析模块就确定属于该情况。或者(另外),当发现n个队列的总长度(即,n个队列的长度之和)上升到预定的最大值以上时,分组解析模块可以确定属于该情况。
[0015] 一旦应用了BSC,分组解析模块1就持续的监测是否应当再次关闭它。例如,如果BSC是由于任意一个队列的长度上升到预定水平以上而触发的,则可以在发现现在此队列的长度降低到第二预定水平以下的情况下,再次撤销BSC。相似地,在BSC是由于队列的总长度上升到预定水平以上而触发的情况下,则可以在发现此队列的总长度降低到第二预定水平以下的情况下,撤销BSC。在任何一种情况下,第二预定水平必须不高于第一预定水平,而且最好是低于第一预定水平,因为这样可以产生滞后。
[0016] 虽然只描述了本方法的一个实施例,但本发明并不只限于这一方面,并且可能有很多变化,就像存在多种已知的以太网交换机设计一样。特别地,不同的以太网交换机按照不同的方式管理其输入端口,但是测量输入队列长度以及从中得到广播分组部分的测量值的一般原理仍然是有效的。