一种交换机堆叠系统中报文处理的方法及交换机设备转让专利

申请号 : CN200710187279.9

文献号 : CN100596118C

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王肖军

申请人 : 福建星网锐捷网络有限公司

摘要 :

本发明实施例公开了一种交换机堆叠系统中报文处理的方法,该方法为:接收到输入报文时,确定该报文属于第一类报文,或第二类报文,或第三类报文;所述第一类报文为堆叠系统成员设备之间交互的报文、所述第二类报文为堆叠系统成员设备与堆叠系统之外的外界设备交互的报文、所述第三类报文为堆叠系统之外的外界设备之间交互的报文;根据所述确定结果,为所述报文设置优先级,并且为第一类报文设置的优先级高于第二类报文、为第二类报文设置的优先级高于第三类报文;进行报文输出时,按照报文优先级从高到低的顺序输出报文。本发明实施例还公开了一种交换机设备。采用本发明,能够使得堆叠系统在网络拥塞时也能正常的工作。

权利要求 :

1、一种交换机堆叠系统中报文处理的方法,其特征在于,该方法包括:接收到输入报文时,确定该报文属于第一类报文,或第二类报文,或第三 类报文;所述第一类报文为堆叠系统成员设备之间交互的报文、所述第二类报 文为堆叠系统成员设备与堆叠系统之外的外界设备交互的报文、所述第三类报 文为堆叠系统之外的外界设备之间交互的报文;

根据所述确定结果,为所述报文设置优先级,并且为第一类报文设置的优 先级高于第二类报文、为第二类报文设置的优先级高于第三类报文;

进行报文输出时,按照报文优先级从高到低的顺序输出报文。

2、如权利要求1所述的方法,其特征在于,所述为所述报文设置优先级 包括:当确定所述报文为第三类报文时,根据所述报文携带的信息确定所述报文 的目的设备是否为堆叠系统的成员设备,如果是,则为所述报文设置内部优先 级低于第一类报文和第二类报文的优先级。

3、如权利要求1所述的方法,其特征在于,该方法进一步包括:当确定所述报文为第二类报文时,将所述第二类报文到输出端口的发送速 率限制在设置的速率范围内。

4、如权利要求1所述的方法,其特征在于,该方法进一步包括:当确定所述报文为第二类报文时,根据所述报文携带的信息确定所述报文 的目的设备是否为除本设备之外的堆叠系统的成员设备,如果是,则将所述报 文重定向到通往目的成员设备的输出端口。

5、如权利要求1所述的方法,其特征在于,所述确定该报文属于第一类 报文,或第二类报文,或第三类报文包括:将所述报文与保存的报文特征信息进行匹配,判断所述报文是否符合第一 类报文或第二类报文或第三类报文的报文特征,如果符合,则所述报文属于第 一类报文或第二类报文或第三类报文。

6、如权利要求1所述的方法,其特征在于,该方法进一步包括:将所述确定结果和/或优先级设置信息作为报文分类信息封装在所述报文 中;

所述确定该报文属于第一类报文,或第二类报文,或第三类报文包括:根据所述报文携带的报文分类信息,确定所述报文属于第一类报文,或第 二类报文,或第三类报文。

7、一种交换机设备,其特征在于,该设备包括:

报文输入单元,用于接收输入的报文;

报文处理单元,用于确定所述报文属于第一类报文,或第二类报文,或第 三类报文;所述第一类报文为堆叠系统成员设备之间交互的报文、所述第二类 报文为堆叠系统成员设备与堆叠系统之外的外界设备交互的报文、所述第三类 报文为堆叠系统之外的外界设备之间交互的报文;根据所述确定结果,为所述 报文设置优先级,并且为第一类报文设置的优先级高于第二类报文、为第二类 报文设置的优先级高于第三类报文;

报文输出单元,用于按照报文优先级从高到低的顺序输出并发送报文。

8、如权利要求7所述的设备,所述报文输入单元包括外部端口、管理端 口和堆叠端口,其特征在于,所述报文处理单元包括:外部端口报文分类单元,用于在所述外部端口接收到报文时,确定所述报 文为第二类报文或第三类报文;

管理端口报文分类单元,用于在所述管理端口接收到报文时,确定所述报 文为第一类报文或第二类报文,并根据确定结果为所述报文设置优先级;

堆叠端口报文分类单元,用于在所述堆叠端口接收到报文时,确定所述报 文为第一类报文,或第二类报文,或第三类报文。

9、如权利要求8所述的设备,其特征在于,所述报文处理单元还包括:报文筛选单元,用于在所述外部端口报文分类单元或所述堆叠端口报文分 类单元确定所述报文为第三类报文时,根据所述报文携带的信息确定所述报文 的目的设备是否为堆叠系统的成员设备;

优先级重映射单元,在所述报文筛选单元确定所述报文的目的设备为堆叠 系统的成员设备时,为所述报文设置内部优先级低于第一类报文和第二类报文 的优先级。

10、如权利要求9所述的设备,其特征在于,所述报文处理单元还包括:报文属性控制单元,用于在所述外部端口报文分类单元或所述堆叠端口报 文分类单元确定所述报文为第二类报文时,为所述报文设置优先级低于第一类 报文、高于第三类报文的优先级。

11、如权利要求10所述的设备,其特征在于,所述报文属性控制单元进 一步用于:将所述第二类报文到输出端口的发送速率限制在设置的速率范围内。

12、如权利要求10或11所述的设备,其特征在于,所述报文属性控制单 元进一步用于:根据所述报文携带的信息确定所述报文的目的设备是否为除本设备之外 的堆叠系统的成员设备,如果是,则将所述报文重定向到通往目的成员设备的 输出端口。

13、如权利要求10所述的设备,其特征在于,所述报文处理单元进一步 包括:堆叠端口报文封装单元,用于将所述管理端口报文分类单元的确定结果和 优先级设置信息作为报文分类信息封装在所述报文中;将所述优先级重映射单 元的优先级设置信息作为报文分类信息封装在所述报文中;将所述报文属性控 制单元的优先级设置信息作为报文分类信息封装在所述报文中。

14、如权利要求13所述的设备,其特征在于,所述堆叠端口报文分类单 元用于:根据所述报文携带的报文分类信息,确定所述报文为第一类报文,或第二 类报文,或第三类报文。

15、如权利要求13所述的设备,其特征在于,所述堆叠端口报文分类单 元与所述堆叠端口报文封装单元设置在同一单元中,或分开设置。

说明书 :

技术领域

本发明涉及网络通信领域,尤其涉及一种交换机堆叠系统中报文处理的方 法及交换机设备。

背景技术

交换机堆叠技术是一种集中式管理和交换机端口扩展技术,该技术使用堆 叠端口和堆叠线缆将多台功能上独立的交换机组合在一起形成逻辑上的一台 交换机,其被称为交换机堆叠系统,以下简称“堆叠系统”。加入堆叠系统的原 先独立的交换机称为堆叠系统的成员设备。堆叠系统的成员设备分为一个主设 备和多个从设备,主设备是整个堆叠系统的集中管理者,主要用于大部分网络 协议的运算和网络控制命令的下达;从设备主要用于接收和执行网络控制命 令。每个成员设备都有一个设备号,成员设备之间的报文转发和成员设备管理 都用该设备号进行定位。每个成员设备由两部分组成:管理单元和交换单元。 管理单元主要用于网络协议的运行和交换单元属性的控制,交换单元则主要用 于报文转发。管理单元和交换单元通过内部总线互连,具体结构如图1所示。
使用交换机堆叠技术,可以灵活扩展交换机端口数量,堆叠系统的总端口 数是堆叠系统中所有成员设备端口数的总和,因此可以根据网络规模灵活的增 加或减少成员设备,从而控制堆叠系统的端口数量。使用交换机堆叠技术,可 以通过一个IP地址和一个管理接口来管理堆叠系统中的所有成员设备,方便 网络设备的管理。使用交换机堆叠技术还可以增强网络的稳定性,堆叠系统在 逻辑上是一台设备,在网络中是一个网络节点,其成员设备的变化不会引起网 络节点的添加或删除,从而保持了网络的稳定性。
目前,交换机堆叠技术存在以下技术问题:
成员设备的交换单元接收到应该由主设备处理的网络协议控制报文时,该 报文通过成员设备的管理单元转发给主设备,增加了报文的传送延迟,也加重 了成员设备的负担,间接减弱了成员设备的抗攻击能力。
目前网络中存在耗尽网络设备处理资源的网络攻击,该攻击会使得网络拥 塞,从而可能会导致堆叠管理报文和协议控制报文丢失,堆叠管理报文的丢失 使得堆叠系统管理信息无法可靠的传递到成员设备,使得对成员设备的管理和 控制得不到保证,堆叠系统无法正常工作,例如,主从设备之间频频失去连接, 主设备无法对从设备进行管理;当长时间失去连接后还会导致成员设备会认为 堆叠系统异常而复位重启。协议控制报文的丢失使得网络协议控制信息无法可 靠的传递到成员设备,网络协议不能正常工作,影响了网络拓扑的稳定性和堆 叠系统的正常工作。

发明内容

本发明实施例提供一种交换机堆叠系统中报文处理的方法及交换机设备, 用以解决现有技术中交换机堆叠系统在网络拥塞时无法正常工作的问题。
本发明实施例提供一种交换机堆叠系统中报文处理的方法,该方法包括:
接收到输入报文时,确定该报文属于第一类报文,或第二类报文,或第三 类报文;所述第一类报文为堆叠系统成员设备之间交互的报文、所述第二类报 文为堆叠系统成员设备与堆叠系统之外的外界设备交互的报文、所述第三类报 文为堆叠系统之外的外界设备之间交互的报文;
根据所述确定结果,为所述报文设置优先级,并且为第一类报文设置的优 先级高于第二类报文、为第二类报文设置的优先级高于第三类报文;
进行报文输出时,按照报文优先级从高到低的顺序输出报文。
本发明实施例提供一种交换机设备,该设备包括:
报文输入单元,用于接收输入的报文;
报文处理单元,用于确定所述报文属于第一类报文,或第二类报文,或第 三类报文;所述第一类报文为堆叠系统成员设备之间交互的报文、所述第二类 报文为堆叠系统成员设备与堆叠系统之外的外界设备交互的报文、所述第三类 报文为堆叠系统之外的外界设备之间交互的报文;根据所述确定结果,为所述 报文设置优先级,并且为第一类报文设置的优先级高于第二类报文、为第二类 报文设置的优先级高于第三类报文;
报文输出单元,用于按照报文优先级从高到低的顺序输出报文。
本发明实施例能够产生如下有益效果:
本发明实施例中,将输入报文分为第一类报文,或第二类报文,或第三类 报文,所述第一类报文为堆叠系统成员设备之间交互的报文,所述第二类报文 为堆叠系统成员设备与堆叠系统之外的外界设备交互的报文,所述第三类报文 为堆叠系统之外的外界设备之间交互的报文,在进行报文输出时,按照第一类 报文先于第二类报文、并且第二类报文先于第三类报文的顺序输出并发送报 文,使得第一类报文优先于第二类报文得到处理,第二类报文优先于第三类报 文得到处理,在网络协议出现异常时能够通过堆叠管理报文可靠的控制网络协 议的运行,在网络拥塞时网络协议报文能够可靠的得到处理,从而使得堆叠系 统正常的工作。

附图说明

图1为现有技术中的交换机堆叠系统结构示意图;
图2为本发明实施例提供的方法流程示意图;
图3A为本发明实施例一的流程示意图;
图3B为本发明实施例二的流程示意图;
图4A为本发明实施例三的流程示意图;
图4B为本发明实施例四的流程示意图;
图4C为本发明实施例五的流程示意图;
图5为本发明实施例六和实施例七的流程示意图;
图6为本发明实施例六和实施例七中的优先级映射表;
图7A为本发明实施例提供的设备结构示意图;
图7B为本发明实施例提供的设备实例结构示意图;
图8A为本发明实施例八中的设备结构示意图;
图8B为本发明实施例八中的流程示意图;
图9A为本发明实施例九中的设备结构示意图;
图9B为本发明实施例九中的流程示意图;
图10A为本发明实施例十中的设备结构示意图;
图10B为本发明实施例十中的流程示意图。

具体实施方式

为了使得堆叠管理报文和协议控制报文更加可靠的得到处理,交换机堆叠 系统在网络拥塞时也能够正常的工作,本发明实施例提供一种交换机堆叠系统 中报文处理的方法,本方法中,将堆叠系统的网络报文分为三类:堆叠系统成 员设备之间交互的报文,称为A类报文;成员设备与外界系统交互的报文, 称为B类报文;以及外界系统之间交互的报文,称为C类报文,并且,A类 报文的处理优先于B类报文,B类报文的处理优先于C类报文的处理。
下面结合附图2对本发明实施例提供的报文发送的方法进行说明:
步骤20:报文输入端口接收到报文时,确定该报文属于堆叠系统成员设备 之间交互的报文,或成员设备与外界系统交互的报文,或外界系统之间交互的 报文,即确定报文属于A类报文,或B类报文,或C类报文;
步骤21:根据所述确定结果为所述报文设置优先级,并且为A类报文设 置的优先级高于B类报文、为B类报文设置的优先级高于C类报文;
步骤22:报文输出端口在进行报文输出时,按照报文优先级从高到低的顺 序输出并发送报文。
堆叠系统成员设备的报文输入端口分为外部端口、管理端口和堆叠端口三 种类型,其中,外部端口是堆叠系统与堆叠系统之外的外界网络设备互连的端 口,管理端口是堆叠系统成员设备内部的交换单元与管理单元互连的端口,堆 叠端口是堆叠系统的成员设备互连的端口。
步骤20中确定报文属于A类报文,或B类报文,或C类报文,其具体方 法可以为:保存各类报文对应的报文特征,将所述报文与保存的报文特征进行 匹配,判断该报文符合哪类报文的报文特征就可确定该报文属于哪类报文。根 据报文输入端口类型的不同,在具体匹配时有以下三种方式:
第一种,由于外部端口只可能接收到B类报文和C类报文,那么,对于 外部端口接收到的报文,只需将收到的报文与B类报文的报文特征进行匹配, 如果匹配成功,则该报文属于B类报文,否则,该报文属于C类报文。例如, 保存有B类报文的报文特征:二层协议类型为0x0806,在进行匹配时,如果 报文的二层协议类型为0x0806,那么,该报文为B类报文,否则,该报文属 于C类报文。
第二种,由于管理端口只可能接收到A类报文和B类报文,那么,对于 管理端口接收到的报文,只需将收到的报文与A类报文的报文特征进行匹配, 如果匹配成功,则该报文属于A类报文,否则,该报文属于B类报文。例如, 保存有A类报文的报文特征:目的MAC地址为20,在进行匹配时,如果报文 的目的MAC地址为20,那么,该报文为A类报文,否则,该报文为B类报 文。A类报文的报文特征一般为堆叠系统私有的报文属性值。当然,这里在匹 配时,也可以将收到的报文与B类报文的报文特征进行匹配,但由于A类报 文的类型相对于B类报文较少,因此与A类报文的报文特征进行匹配,效率 较高。
第三种,由于从堆叠端口输入的报文携带有报文分类信息,因此可以不进 行报文特征的匹配,而是根据报文分类信息获知报文所属的类型,报文分类信 息的封装具体参见下面将要描述的实施例一-实施例七。
同样,根据输入端口类型的不同,对三类报文的处理有多种不同的实施例, 具体如下:
对于A类报文,根据对A类报文和外部端口、管理端口、堆叠端口的定 义,可以知道,只有管理端口和堆叠端口可能接收到A类报文,下面分别对从 管理端口和堆叠端口接收到的A类报文的处理进行具体说明:
实施例一:
本实施例为对管理端口接收到A类报文的处理,管理端口接收到的A类 报文的目的设备为其他成员设备,该A类报文被发送到目的堆叠端口,由目的 堆叠端口发送到目的成员设备,如图3A所示,具体包括:
步骤301:对于从管理端口接收到的A类报文,为该报文设置最高优先级, 设置的优先级高于B类报文和C类报文的优先级;将报文分类信息封装在该 报文中;
本步骤中,报文分类信息包括:标识该报文为A类报文的信息和设置的优 先级信息。具体实现时,假设输出端口的有8个输出队列,为其设置优先级0-7, 标识越高的队列其输出优先级就越高,那么,这里为A类报文所设置的优先级 就为7。
步骤302:将携带有报文分类信息的A类报文传递至目的堆叠端口;
这里,目的堆叠端口根据报文所携带的目的成员设备信息来确定,目的堆 叠端口为本设备与目的成员设备互连的端口。
步骤303:目的堆叠端口收到A类报文时,根据报文所携带的报文分类信 息,将该报文放入优先级最高的输出队列等待输出。
实施例二:
本实施例为对堆叠端口接收到A类报文的处理,堆叠端口接收到的A类 报文的目的设备为本设备或其他成员设备,目的设备为本设备时,该A类报文 被发送至本设备的管理端口,由管理端口发送至本设备的管理单元;目的设备 为其他成员设备时,该A类报文被发送至目的堆叠端口,由目的堆叠端口发送 至目的成员设备。如图3B所示,具体包括:
步骤311:对于从堆叠端口接收到的A类报文,根据该报文所携带的目的 设备信息,确定目的设备为本设备或其他成员设备,如果目的设备为本设备, 到步骤312;如果目的设备为其他成员设备,到步骤313;
步骤312:对于目的设备为本设备的A类报文,将该报文传递至本设备的 管理端口;管理端口根据报文所携带的报文分类信息,将该报文放入优先级最 高的输出队列等待调度;
步骤313:对于目的设备为其他成员设备的A类报文,将该报文传递至目 的堆叠端口;目的堆叠端口根据该报文所携带的报文分类信息,将该报文放入 优先级最高的输出队列等待调度。
步骤312和步骤313中,由于A类报文是从堆叠端口输入的,该报文在前 续成员设备的报文转发过程中已经进行了分类处理,携带有报文分类信息,因 此,管理端口或堆叠端口可以直接根据原有的报文分类信息确定报文优先级。
对于B类报文,根据对B类报文和外部端口、管理端口、堆叠端口的定 义,可以知道,外部端口、管理端口和堆叠端口都可能接收到B类报文,下面 分别对从外部端口、管理端口和堆叠端口接收到的A类报文的处理进行具体说 明:
实施例三:
本实施例为对外部端口接收到B类报文的处理,外部端口接收到的B类 报文的目的设备为本设备或其他成员设备,目的设备为本设备时,该B类报文 被发送到本设备的管理端口,由管理端口发送到本设备的管理单元;目的设备 为其他成员设备时,该B类报文被发送到目的堆叠端口,由目的堆叠端口发送 到目的成员设备。如图4A所示,具体包括:
步骤401:对于从外部端口接收到的B类报文,进行报文属性控制,以及 报文分类信息封装;
报文属性控制,包括速率限制、报文重定向和优先级设置,具体的,
速率限制,是指将发往管理端口的B类报文的发送速率控制在某一范围 内,具体方法可以采用现有的令牌桶算法等。通过速率限制,直接避免了管理 单元接收到过量的B类报文,从而可以避免堆叠系统受到耗尽网络设备处理资 源的恶意攻击。
报文重定向,是指根据B类报文所携带的目的设备信息,确定目的设备为 本设备或其他成员设备,如果目的设备为本设备,则将所述报文的出端口设置 为本设备的管理端口,后续处理到步骤402;如果目的设备为其他成员设备, 则将所述报文的出端口重定向为通往目的成员设备的目的堆叠端口端口,后续 处理到步骤403。通过报文重定向,将非本设备管理单元处理的B类报文直接 重定向到通往目的成员设备的堆叠端口,而不是像现有技术中需要通过本设备 的管理端口将该B类报文发送至管理单元,由管理单元中转到目的成员设备, 减少了本设备管理单元需要处理的B类报文的数量,节省了设备的处理资源, 从而间接的增强了堆叠系统的抗攻击能力。
优先级设置,是指将B类报文的优先级设置为低于A类报文,但高于C 类报文。具体实现时,对于目的设备为本设备的B类报文,其目的端口为本设 备的管理端口,由于管理端口只接收A类报文和B类报文,管理端口有8个 输出队列,可以将优先级为7的队列用于输出A类报文,将优先级为0-6的队 列用于输出B类报文,那么,在为目的设备为本设备的为B类报文设置优先 级时,可以将该B类报文的优先级设置为0-6;对于目的设备为其他成员设备 的为B类报文,其目的端口为堆叠端口,堆叠端口可能接收A类报文、B类报 文和C类报文,可以将优先级为7的队列用于输出A类报文,优先级为6的 队列用于输出B类报文,优先级为0-5的队列用于输出C类报文,此时,需要 将目的设备为其他成员设备的B类报文的优先级设置为6。
当然,具体的优先级设置方法并不局限于上述方法,还可以采取其他任何 可能的方式,只要保证为B类报文设置的优先级低于A类报文,高于C类报 文即可。
步骤402:将目的设备为本设备的B类报文发送到本设备的管理端口;管 理端口根据该报文携带的报文分类信息,将该报文放入优先级低于A类报文的 输出队列等待输出。
步骤403:将目的设备为其他成员设备的B类报文传递至目的堆叠端口; 目的堆叠端口根据报文携带的报文分类信息,将该报文放入优先级低于A类报 文、高于C类报文的输出队列等待输出。
实施例四:
本实施例为对管理端口接收到B类报文的处理,管理端口接收到的B类 报文最终是送往堆叠系统以外的外部设备,该外部设备分为与本设备相连的外 部设备和与其他成员设备相连的外部设备,在是与本设备相连的外部设备时, 本次B类报文的目的设备为该外部设备;在是与其他成员设备相连的外部设备 时,本次B类报文的目的设备为该其他成员设备。在目的设备为外部设备时, 该B类报文被发送到通往外部设备的外部端口,由外部端口发送到外部设备; 在目的设备为其他成员设备时,该B类报文被发送到目的堆叠端口,由目的堆 叠端口发送到目的成员设备。如图4B所示,具体包括:
步骤411:对于从管理端口接收到的B类报文,为该报文设置优先级,设 置的优先级低于A类报文、高于C类报文;根据该报文所携带的目的设备信 息,确定目的设备为其他成员设备或外部设备,如果目的设备为其他成员设备, 到步骤412;如果目的设备为外部设备,到步骤413;
步骤412:对于目的设备为其他成员设备的B类报文,将该报文进行报文 分类信息封装,并将封装后的B类报文传递至目的堆叠端口;目的堆叠端口根 据B类报文所携带的报文分类信息,将所述B类报文放入优先级低于A类报 文、高于C类报文的输出队列等待输出。
步骤413:对于目的设备为外部设备的B类报文,将该报文传递至通往所 述外部设备的外部端口等待输出。
实施例五:
本实施例为对堆叠端口接收到B类报文的处理,堆叠端口接收到的B类 报文最终是送往本设备的管理单元进行处理,或者是送往堆叠系统以外的外部 设备。在需要送往本设备的管理单元进行处理时,本次B类报文的目的设备为 本设备;在需要送往堆叠系统以外的外部设备时,该外部设备分为与本设备相 连的外部设备和与其他成员设备相连的外部设备,在是与本设备相连的外部设 备时,本次B类报文的目的设备为该外部设备;在是与其他成员设备相连的外 部设备时,本次B类报文的目的设备为该其他成员设备。在目的设备为本设备 时,该B类报文被发送到本设备的管理端口,由管理端口发送到本设备的管理 单元;在目的设备为其他成员设备时,该B类报文被发送到目的堆叠端口,由 目的堆叠端口发送到目的成员设备;在目的设备为外部设备时,该B类报文被 发送到通往外部设备的外部端口,由外部端口发送到外部设备;如图4C所示, 具体包括:
步骤421:对于从堆叠端口接收到的B类报文,根据该报文所携带的目的 设备信息,确定目的设备为本设备、或其他成员设备,或外部设备,如果目的 设备为本设备,到步骤422;如果目的设备为其他成员设备,到步骤423;如 果目的设备为外部设备,到步骤424;
步骤422:对于目的设备为本设备的B类报文,进行报文属性控制,主要 包括速率限制;将经过报文属性控制的B类报文传递至本设备的管理端口;管 理端口根据该报文携带的报文分类信息,将该报文放入优先级低于A类报文的 输出队列等待输出;
步骤423:对于目的设备为其他成员设备的B类报文,将该报文传递至目 的堆叠端口;目的堆叠端口根据报文携带的报文分类信息,将该报文放入优先 级低于A类报文、高于C类报文的输出队列等待输出;
步骤424:对于目的设备为外部设备的B类报文,将该报文传递至通往所 述外部设备的外部端口等待输出。
需要说明的是,步骤422和步骤423中,由于B类报文是从堆叠端口输入 的,该报文在前续成员设备的报文转发过程中已经进行了分类处理,携带有报 文分类信息,因此,管理端口或堆叠端口可以直接根据原有的报文分类信息确 定报文优先级。同时,实施例三~实施例五中为B类报文封装的报文分类信息 包括:标识该报文为B类报文的信息和设置的优先级信息。
对于C类报文,根据对C类报文和外部端口、管理端口、堆叠端口的定 义,可以知道,只有外部端口和堆叠端口可能接收到C类报文,下面分别对从 外部端口和堆叠端口接收到的C类报文的处理进行具体说明:
实施例六:
本实施例为对外部端口接收到C类报文的处理,外部端口接收到的C类 报文最终是送往堆叠系统以外的外部设备,该外部设备分为与本设备相连的外 部设备和与其他成员设备相连的外部设备,在是与本设备相连的外部设备时, 本次C类报文的目的设备为该外部设备;在是与其他成员设备相连的外部设备 时,本次C类报文的目的设备为该其他成员设备。在目的设备为其他成员设备 时,该C类报文被发送到通往目的成员设备的目的堆叠端口,由目的堆叠端口 发送到目的成员设备;在目的设备为外部设备时,该B类报文被发送到通往外 部设备的外部端口,由外部端口发送到外部设备。如图5所示,具体包括:
步骤501:对于从外部端口接收到的C类报文,根据该报文所携带的目的 设备信息,确定目的设备为其他成员设备或外部设备,如果目的设备为其他成 员设备,到步骤502;如果目的设备为外部设备,到步骤504;
步骤502:对于目的设备为其他成员设备的C类报文,进行优先级重映射, 将该报文原始的优先级映射为本设备内部处理的优先级,映射后的优先级低于 A类报文和B类报文的优先级;
这里,将C类报文进行优先级重映射的具体实现时,如果优先级标识为 0-5的输出队列用于C类报文输出,那么,在重映射时,可以将原始的优先级 0-7重映射为0-5,具体参见图6。当然,重映射方式并不局限于图6所示,可 以是任何其他可以采取的映射方式,但要保证重映射后的优先级低于A类和B 类报文的优先级。
将C类报文原始的优先级映射为本设备内部处理优先级,但不修改其原始 的优先级,映射后的优先级仅用于内部使用,跨设备就失效,因此不会影响C 类报文最终的IEEE-802.1Q的转发决策,从而很好的与国际标准相兼容。
步骤503:将报文分类信息封装在所述C类报文中;将携带有报文分类信 息的C类报文发送至目的堆叠端口;目的堆叠端口根据该报文携带的报文分类 信息,将该报文放入优先级低于A类和B类报文的输出队列等待输出;
步骤504:对于目的设备为外部设备的C类报文,将该报文传递至通往所 述外部设备的外部端口等待输出。
实施例七:
本实施例为对堆叠端口接收到C类报文的处理,堆叠端口接收到的C类 报文最终是送往堆叠系统以外的外部设备,该外部设备分为与本设备相连的外 部设备和与其他成员设备相连的外部设备,在是与本设备相连的外部设备时, 本次C类报文的目的设备为该外部设备;在是与其他成员设备相连的外部设备 时,本次C类报文的目的设备为该其他成员设备。在目的设备为其他成员设备 时,该C类报文被发送到通往目的成员设备的目的堆叠端口,由目的堆叠端口 发送到目的成员设备;在目的设备为外部设备时,该C类报文被发送到通往外 部设备的外部端口,由外部端口发送到外部设备。具体可参见图5。
实施例六~实施例七中,为C类报文封装的报文分类信息包括:标识该报 文为C类报文的信息和重映射后的优先级信息。
本领域技术人员众所周知,网络设备大部分处理为查表操作,因此查表速度 和需查表的报文数量决定了网络设备的性能。在堆叠系统中,跨设备的报文转 发需经过多个交换单元的处理,然而其在初次进入交换单元时,就已经通过查 表获取了报文分类信息,因此其后续在其它交换单元处理时就没有必要再进行 查表操作了。本实施例将报文分类信息传递给邻居设备,这样每个报文仅需在 其最初进入交换单元时经过一次查表分类处理,从而提高了堆叠系统的性能。 例如成员设备A,其外部端口输入了1000个报文,其堆叠端口输入了1000个 报文,如果不采用上述方法,那么该设备需进行2000次查表操作,然而采用 上述方法后,该设备仅需进行1000次查表操作,有效的减少了需查表的报文 数量。
参见图7A,本发明实施例还提供一种交换机设备,该设备包括:
报文输入单元70,包括三种报文输入端口:外部端口、管理端口和堆叠端 口,用于接收输入的报文;
报文处理单元71,用于在所述报文输入单元接收到报文时,确定所述报文 属于第一类报文,或第二类报文,或第三类报文;所述第一类报文为堆叠系统 成员设备之间交互的报文、所述第二类报文为堆叠系统成员设备与堆叠系统之 外的外界设备交互的报文、所述第三类报文为堆叠系统之外的外界设备之间交 互的报文;根据所述确定结果,为所述报文设置优先级,并且为第一类报文设 置的优先级高于第二类报文、为第二类报文设置的优先级高于第三类报文;
报文输出单元72,包括三种报文输出端口:外部端口、管理端口和堆叠端 口,用于按照报文优先级从高到低的顺序输出并发送报文。
所述报文处理单元71包括:
外部端口报文分类单元80,用于在所述外部端口接收到报文时,确定所述 报文为第二类报文或第三类报文;
管理端口报文分类单元81,用于在所述管理端口接收到报文时,确定所述 报文为第一类报文或第二类报文,并根据确定结果为所述报文设置优先级;
堆叠端口报文分类单元82,用于在所述堆叠端口接收到报文时,确定所述 报文为第一类报文,或第二类报文,或第三类报文。
所述报文处理单元71还包括:
报文筛选单元83,用于在所述外部端口报文分类单元或所述堆叠端口报文 分类单元确定所述报文为第三类报文时,根据所述报文携带的信息确定所述报 文的目的设备是否为堆叠系统的成员设备;
优先级重映射单元84,在所述报文筛选单元确定所述报文的目的设备为堆 叠系统的成员设备时,为所述报文设置内部优先级低于第一类报文和第二类报 文的优先级。
所述报文处理单元71还包括:
报文属性控制单元85,用于在所述外部端口报文分类单元或所述堆叠端口 报文分类单元确定所述报文为第二类报文时,为所述报文设置优先级低于第一 类报文、高于第三类报文的优先级。
所述报文属性控制单元85进一步用于:
采用令牌桶算法将所述第二类报文到输出端口的发送速率限制在设置的 速率范围内。
所述报文属性控制单元85进一步用于:
根据所述报文携带的信息确定所述报文的目的设备是否为除本设备之外 的堆叠系统的成员设备,如果是,则将所述报文重定向到通往目的成员设备的 输出端口。
所述报文处理单元71进一步包括:
堆叠端口报文封装单元86,用于将所述管理端口报文分类单元的确定结果 和优先级设置信息作为报文分类信息封装在所述报文中;将所述优先级重映射 单元的优先级设置信息作为报文分类信息封装在所述报文中;将所述报文属性 控制单元的优先级设置信息作为报文分类信息封装在所述报文中。
所述堆叠端口报文分类单元82用于:
根据所述报文携带的报文分类信息,确定所述报文为第一类报文,或第二 类报文,或第三类报文。
所述堆叠端口报文分类单元82与所述堆叠端口报文封装单元83设置在同 一单元中,或分开设置。如图7B所示,为堆叠端口报文分类单元82与堆叠端 口报文封装单元83设置在堆叠端口报文处理单元中的结构示意图。
下面结合具体实施例对所述交换机设备的具体工作流程进行说明:
实施例八:
本实施例为所述交换机设备对外部端口输入的报文进行处理的流程说明, 如图8A和图8B所示,具体包括:
步骤S01:外部端口接收到报文时,外部端口报文分类单元80通过查询B 类报文特征表,确定该报文属于B类报文或C类报文;如果是C类报文,到 步骤S02,如果是B类报文,到步骤S05;
步骤S02:报文筛选单元83确定所述C类报文的目的设备是否为其它成 员设备,如果是,则到步骤S03;否则,将所述C类报文发送到相应的外部端 口进行输出;
步骤S03:优先级重映射单元84对所述C类报文进行优先级重映射,为 该报文设置内部最低优先级;
步骤S04:堆叠端口报文封装单元86对所述C类报文进行报文分类信息 封装,将封装后的报文传递至目的堆叠端口,到步骤S08;
步骤S05:报文属性控制单元为所述B类报文设置中优先级,同时,对于 目的设备为本设备的B类报文进行速率限制,将经过速率限制的B类报文传 递至管理端口,到步骤S07;对于目的设备为其它成员设备的B类报文,将该 报文进行重定向,将其目的端口设置为通往目的成员设备的目的堆叠端口,到 步骤S06;
步骤S06:堆叠端口报文封装单元86对所述B类报文进行报文分类信息 封装,将封装后的报文传递至目的堆叠端口,到步骤S08;
步骤S07:管理端口接收到所述B类报文时,将该报文放入中优先级的输 出队列中等待输出;在进行报文输出时,按照优先级从高到低的顺序输出报文, 结束;
步骤S08:堆叠端口对于接收到的B类报文,将该报文放入中优先级的输 出队列中等待输出;对于接收到的C类报文,将该报文放入最低优先级的输出 队列中等待输出;在进行报文输出时,按照优先级从高到低的顺序输出报文, 结束。
实施例九:
本实施例为所述交换机设备对管理端口输入的报文进行处理的流程说明, 如图9A和图9B所示,具体包括:
步骤S11:管理端口接收到报文时,管理端口报文分类单元81通过查询A 类报文特征表,确定该报文属于A类报文或B类报文,如果是A类报文,为 该报文设置最高优先级;如果是B类报文,为该报文设置中优先级;
步骤S12:对于目的设备为其它成员设备的A类报文或B类报文,堆叠端 口报文封装单元86将报文分类信息封装在所述A类报文或B类报文中,并将 所述A类报文或B类报文传递至目的堆叠端口;
步骤S13:堆叠端口对于接收到的A类报文,将该报文放入最高优先级的 输出队列中等待输出;对于接收到的B类报文,将该报文放入中优先级的输出 队列中等待输出;在进行报文输出时,按照优先级从高到低的顺序输出报文。
实施例十:
本实施例为所述交换机设备对堆叠端口输入的报文进行处理的流程说明, 如图10A和图10B所示,具体包括:
步骤S21:堆叠端口接收到报文时,堆叠端口报文分类单元82根据该报文 携带的报文分类信息,确定该报文属于A类报文,或B类报文,或C类报文, 对于目的设备为本设备的A类报文,将该报文传递至管理端口,到步骤S26; 对于目的设备为本设备的B类报文,到步骤S22;对于目的设备为其他成员设 备的A类或B类报文,到步骤S23;对于目的设备为其他成员设备的C类报 文,到步骤S24;
步骤S22:报文属性控制单元85将所述B类报文进行速率限制,将速率 限制后的B类报文传递至管理端口,到步骤S26;
步骤S23:堆叠端口报文封装单元86判断所述A类或B类报文已携带有 报文分类信息,将该报文传递至目的堆叠端口,到步骤S27;
步骤S24:优先级重映射单元84对所述C类报文进行优先级重映射,到 步骤S25;
步骤S25:堆叠端口报文封装单元86将所述重映射结果封装在所述C类 报文中,并将该报文传递至目的堆叠端口,到步骤S27;
步骤S26:管理端口对于接收到的A类报文,将该报文放入最高优先级的 输出队列中等待输出;对于接收到的B类报文,将该报文放入中优先级的输出 队列中等待输出;在进行报文输出时,按照优先级从高到低的顺序输出报文, 结束;
步骤S27:堆叠端口对于接收到的A类报文,将该报文放入最高优先级的 输出队列中等待输出;对于接收到的B类报文,将该报文放入中优先级的输出 队列中等待输出;对于接收到的C类报文,将该报文放入最低优先级的输出队 列中等待输出;在进行报文输出时,按照优先级从高到低的顺序输出报文,结 束。
综上,本发明实施例的有益效果在于:
本发明实施例所提供的方案中,堆叠系统成员设备之间交互的报文处理优 先于管理单元与外界系统交互的报文,管理单元与外界系统交互的报文处理优 先于外界系统之间交互的报文。这样,在网络协议出现异常时网络管理者能可 靠的管理堆叠系统来控制网络协议的运行,在网络出现报文拥塞时网络协议也 能可靠的工作,提高了堆叠系统地可靠性。
通过对管理单元与外界系统交互的报文进行了速率限制,防止过量的外界 报文送到管理单元,从而避免了堆叠系统受到攻击。通过对报文重定向,从而 节省了管理单元的处理资源,间接的增强了堆叠系统的抗攻击能力,提高了堆 叠系统的安全性。
通过对外界系统之间交互的报文进行了内部优先级重映射处理,既保证了 其不影响高优先级报文的转发,又不影响自身最终的IEEE-802.1Q的转发优先 级决策,在保证可靠性和安全性的同时兼容了国际标准。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发 明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及 其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。