堆叠系统协议控制和转发链路分离的方法、装置及交换机与流程

文档序号:12623751阅读:309来源:国知局
堆叠系统协议控制和转发链路分离的方法、装置及交换机与流程

本发明涉及通信技术领域,特别是指一种堆叠系统协议控制和转发链路分离的方法、装置及交换机。



背景技术:

随着政企网的蓬勃发展,交换机被广泛的应用,市场上需要交换机能够像积木一样组合,以满足不同的网络规模,建立了堆叠系统。

然而目前堆叠系统的建立,数据转发链路和协议控制链路往往使用同一条物理链路,在实际使用过程中,业务报文和协议报文就不可避免相互影响,从而产生业务丢包或堆叠系统不稳定等问题。



技术实现要素:

本发明的目的是提供一种堆叠系统协议控制和转发链路分离的方法、装置及交换机,通过自动将堆叠系统的协议控制链路和数据转发链路分开,实现二者去耦合,避免链路间的相互干扰。

为达到上述目的,本发明的实施例提供一种堆叠系统协议控制和转发链路分离的方法,应用于一交换机,所述交换机已开启堆叠模式,包括:

通过已配置的堆叠端口发送堆叠邻居发现消息;

根据接收到的所述堆叠邻居发现消息的堆叠邻居响应消息,确定所述交换机对应堆叠邻居的协议控制链路和数据转发链路的对数;

根据所述交换机对应堆叠邻居的协议控制链路和数据转发链路的对数以及预先设置的规则分离协议控制链路和数据转发链路。

其中,所述根据接收到的所述堆叠邻居发现消息的堆叠邻居响应消息,确定所述交换机对应堆叠邻居的协议控制链路和数据转发链路的对数,具体包括:

获取接收到的所述堆叠邻居发现消息的堆叠邻居响应消息中的硬件地址 MAC;

根据所述MAC,确定与所述交换机建立堆叠的堆叠邻居的数目;

根据所述堆叠邻居的数目,确定所述交换机对应堆叠邻居的协议控制链路和数据转发链路的对数。

其中,所述根据所述交换机对应堆叠邻居的协议控制链路和数据转发链路的对数以及预先设置的规则分离协议控制链路和数据转发链路,具体包括:

根据所述交换机对应堆叠邻居的协议控制链路和数据转发链路的对数,获取每个堆叠邻居的端口信息;其中,所述端口信息包括端口的数目、带宽、ID和业务量;

在所述堆叠邻居的端口数目大于一预设值时,根据预先设定的规则,选择所述堆叠邻居的端口中的预设数量的端口作为协议控制端口;

选择所述堆叠邻居的剩余端口作为数据转发端口;

根据选择的协议控制端口和数据转发端口分离协议控制链路和数据转发链路。

其中,所述根据预先设定的规则,选择所述堆叠邻居的端口中的一个端口作为协议控制端口,具体包括:

根据所述端口信息中的带宽,选择所述堆叠邻居中带宽最小的端口为协议控制端口,若端口的带宽相同,则选择ID最小的端口为协议控制端口;或者

根据所述端口信息中的业务量,选择所述堆叠邻居中业务量最多的端口为协议控制端口,若端口的业务量相同,则选择ID最小的端口为协议控制端口;或者

根据所述端口信息中的ID,选择所述堆叠邻居中ID最小的端口为协议控制端口。

其中,所述根据所述交换机对应堆叠邻居的协议控制链路和数据转发链路的对数以及预先设置的规则分离协议控制链路和数据转发链路,具体还包括:

获取所述堆叠邻居的端口选定信息,其中,由所述端口选定信息可知所述堆叠邻居选定的所述交换机的协议控制端口;

在所述交换机选定的协议控制端口与所述堆叠邻居选定的协议控制端口不是对应端口时,根据所述交换机和所述堆叠邻居的MAC大小确定协议控制 链路的端口。

其中,所述根据所述交换机对应堆叠邻居的协议控制链路和数据转发链路的对数以及预先设置的规则分离协议控制链路和数据转发链路,具体还包括:

在所述堆叠邻居的端口的数目为预设值时,选择所述端口作为协议控制端口以及数据转发端口。

为达到上述目的,本发明的实施例还提供了一种堆叠系统协议控制和转发链路分离的装置,应用于一交换机,所述交换机已开启堆叠模式,包括:

发送模块,用于通过已配置的堆叠端口发送堆叠邻居发现消息;

确定模块,用于根据接收到的所述堆叠邻居发现消息的堆叠邻居响应消息,确定所述交换机对应堆叠邻居的协议控制链路和数据转发链路的对数;

分离模块,用于根据所述交换机对应堆叠邻居的协议控制链路和数据转发链路的对数以及预先设置的规则分离协议控制链路和数据转发链路。

其中,所述确定模块包括:

第一获取子模块,用于获取接收到的所述堆叠邻居发现消息的堆叠邻居响应消息中的硬件地址MAC;

第一确定子模块,用于根据所述MAC,确定与所述交换机建立堆叠的堆叠邻居的数目;

第二确定子模块,用于根据所述堆叠邻居的数目,确定所述交换机对应堆叠邻居的协议控制链路和数据转发链路的对数。

其中,所述分离模块包括:

第二获取子模块,用于根据所述交换机对应堆叠邻居的协议控制链路和数据转发链路的对数,获取每个堆叠邻居的端口信息;其中,所述端口信息包括端口的数目、带宽、ID和业务量;

第一选择子模块,用于在所述堆叠邻居的端口数目大于一预设值时,根据预先设定的规则,选择所述堆叠邻居的端口中的预设数量的端口作为协议控制端口;

第二选择子模块,用于选择所述堆叠邻居的剩余端口作为数据转发端口;

分离子模块,用于根据选择的协议控制端口和数据转发端口分离协议控制链路和数据转发链路。

其中,所述第一选择子模块包括:

第一选择单元,用于根据所述端口信息中的带宽,选择所述堆叠邻居中带宽最小的端口为协议控制端口,若端口的带宽相同,则选择ID最小的端口为协议控制端口;或者

第二选择单元,用于根据所述端口信息中的业务量,选择所述堆叠邻居中业务量最多的端口为协议控制端口,若端口的业务量相同,则选择ID最小的端口为协议控制端口;或者

第三选择单元,用于根据所述端口信息中的ID,选择所述堆叠邻居中ID最小的端口为协议控制端口。

其中,所述分离模块还包括:

第三获取子模块,用于获取所述堆叠邻居的端口选定信息,其中,由所述端口选定信息可知所述堆叠邻居选定的所述交换机的协议控制端口;

第三确定子模块,用于在所述交换机选定的协议控制端口与所述堆叠邻居选定的协议控制端口不是对应端口时,根据所述交换机和所述堆叠邻居的MAC大小确定协议控制链路的端口。

其中,所述分离模块还包括:

第三选择子模块,用于在所述堆叠邻居的端口的数目为预设值时,选择所述端口作为协议控制端口以及数据转发端口。

为达到上述目的,本发明的实施例还提供了一种交换机,所述交换机已开启堆叠模式,包括如上所述的堆叠系统协议控制和转发链路分离的装置。

本发明的上述技术方案的有益效果如下:

本发明实施例的方法,通过已配置的堆叠端口发送堆叠邻居发现消息,去发现该交换机的堆叠邻居,在接收到返回的堆叠邻居响应消息后,就能够确定该交换机对应堆叠邻居的协议控制链路和数据转发链路的对数,随后再根据协议控制链路和数据转发链路的对数以及预先设置的规则分离协议控制链路和数据转发链路,分别通过堆叠建立协议和数据转发协议处理。实现了自动将协议控制链路和数据转发链路分开,将二者的去耦合,避免了链路间的相互干扰。

附图说明

图1表示本发明实施例的方法的步骤流程图;

图2表示本发明实施例的方法的具体步骤流程图一;

图3表示本发明实施例的方法的具体步骤流程图二;

图4表示应用了本发明实施例的方法后的堆叠系统;

图5表示本发明实施例的装置的结构示意图。

具体实施方式

为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。

本发明针对现有的数据转发链路和协议控制链路使用同一条物理链路,在实际使用过程中,业务报文和协议报文就不可避免相互影响,从而产生业务丢包或堆叠系统不稳定等问题,提供一种堆叠系统协议控制和转发链路分离的方法,通过自动将堆叠系统的协议控制链路和数据转发链路分开,实现二者去耦合,避免链路间的相互干扰。

如图1所示,本发明实施例的一种堆叠系统协议控制和转发链路分离的方法,应用于一交换机,所述交换机已开启堆叠模式,包括:

步骤11,通过已配置的堆叠端口发送堆叠邻居发现消息;

由于交换机已开启堆叠模式,该交换机会进行堆叠端口的配置,如此,可通过该些堆叠端口发送堆叠邻居发现消息,去发现与该交换机同一堆叠系统的一个或多个交换机,而发现的交换机可以称为本机的堆叠邻居。

步骤12,根据接收到的所述堆叠邻居发现消息的堆叠邻居响应消息,确定所述交换机对应堆叠邻居的协议控制链路和数据转发链路的对数;

堆叠邻居在接收到堆叠邻居发现消息后,会返回堆叠邻居响应消息,通过堆叠邻居响应消息可以确定该交换机对应堆叠邻居的协议控制链路和数据转发链路的对数,交换机会为每个堆叠邻居配设一对协议控制链路和数据转发链路,当然,一般情况下协议控制链路只有一条,而数据转发链路并不一定是一条,可能是多条。

步骤13,根据所述交换机对应堆叠邻居的协议控制链路和数据转发链路 的对数以及预先设置的规则分离协议控制链路和数据转发链路。

按照上述步骤,本发明的实施例通过已配置的堆叠端口发送堆叠邻居发现消息,去发现该交换机的堆叠邻居,在接收到返回的堆叠邻居响应消息后,就能够确定该交换机对应堆叠邻居的协议控制链路和数据转发链路的对数,随后再根据协议控制链路和数据转发链路的对数以及预先设置的规则分离协议控制链路和数据转发链路,分别通过堆叠建立协议和数据转发协议处理。这样,可如图4所示,将堆叠系统的相邻交换机1、2通过不同物理链路分别实现协议控制链路和数据转发链路,自动将协议控制链路和数据转发链路分开,实现二者的去耦合,避免链路间的相互干扰。

其中,所述堆叠邻居发现消息还可以通过已知协议邻居发现协议LLDP实现。

进一步的,如图2所示,步骤12具体包括:

步骤121,获取接收到的所述堆叠邻居发现消息的堆叠邻居响应消息中的硬件地址MAC;

在步骤11中,通过已配置的堆叠端口会发送堆叠邻居发现消息,去发现该交换机的堆叠邻居,因此,该交换机的堆叠邻居在接收到堆叠邻居发现消息后,会返回堆叠邻居响应消息,而在该响应消息中就能够获取到返回堆叠邻居响应消息的堆叠邻居的MAC。若没有接收到堆叠邻居响应消息,会发出告警,提示用户确认交换机间的端口已经连接。

步骤122,根据所述MAC,确定与所述交换机建立堆叠的堆叠邻居的数目;

应该了解到,堆叠系统中每个交换机有一个MAC,故通过MAC的数目就能够确定与本机的堆叠邻居的数目。

步骤123,根据所述堆叠邻居的数目,确定所述交换机对应堆叠邻居的协议控制链路和数据转发链路的对数。

该交换机不论有几个堆叠邻居,对应每个堆叠邻居只有一对协议控制链路和数据转发链路,因此,可根据堆叠邻居的数目,确定交换机对应堆叠邻居的协议控制链路和数据转发链路的对数。

以交换机A、交换机B和交换机C的堆叠系统为例,交换机A通过堆叠 端口发送堆叠邻居发现消息。B和C在接收到堆叠邻居发现消息后向A返回堆叠邻居应答消息(携带发送该消息的交换机的MAC),A接收到5条堆叠邻居应答消息,2条携带B的MAC,3条携带C的MAC,A通过判断接收到的MAC为两种,确定其堆叠邻居有两个,从而确定有两对协议控制链路和数据转发链路。

本发明实施例中,配置堆叠端口可能众多,通过堆叠端口发送的堆叠邻居发现消息,若端口连通,就能够接收到堆叠邻居返回的应答消息,而要从众多应答消息中确定是哪个堆叠邻居发送的就可通过MAC来确定,确定堆叠邻居的数目,确定交换机对应堆叠邻居的协议控制链路和数据转发链路的对数。

进一步的,如图3所示,步骤13具体包括:

步骤131,根据所述交换机对应堆叠邻居的协议控制链路和数据转发链路的对数,获取每个堆叠邻居的端口信息;其中,所述端口信息包括端口的数目、带宽、ID和业务量;

知道了交换机对应堆叠邻居的协议控制链路和数据转发链路的对数,可以确定每个堆叠邻居具有哪些端口,就可获取到每个堆叠邻居的端口信息如端口的数目、带宽、ID和业务量等,ID是指该端口在其所属交换机的端口号。

步骤132,在所述堆叠邻居的端口数目大于一预设值时,根据预先设定的规则,选择所述堆叠邻居的端口中的预设数量的端口作为协议控制端口;

一般情况协议控制链路只需要一条,而数据转发链路往往不做要求。在堆叠邻居与本机连通的端口数目与协议控制链路需要数目相同时,就不存在链路分离的必要了,只有在堆叠邻居的端口数目大于一预设值时,才需要根据预先设定的规则,选择所述堆叠邻居的端口中的预设数量的端口作为协议控制端口。该预设值是根据协议控制链路的需求设置的,该预设值也就是该预设数量的值。

步骤133,选择所述堆叠邻居的剩余端口作为数据转发端口;

在选择了协议控制端口后,剩余的端口就能够作为数据转发端口了。她们之间可使用链路汇聚控制协议LACP调度。

步骤134,根据选择的协议控制端口和数据转发端口分离协议控制链路和数据转发链路。

选择后确定了堆叠邻居的协议控制端口和数据转发端口,就可通过对应端 口的物理链路实现协议控制链路和数据转发链路,分离了协议控制链路和数据转发链路。

延续上例,A确定其堆叠邻居有两个,从而确定有两对协议控制链路和数据转发链路后,也就能够确定A的五个端口A1-A5对应B的两个端口B1、B2,C的三个端口C1、C2、C3,然后获取每个堆叠邻居的端口信息。假设A和C之间端口对应关系为A1-C1,A2-C2,A3-C3,获取C的三个端口的端口信息,此时预设值为1,再根据预先设定的规则,就可以在C1、C2、C3中选择出一个端口作为协议控制端口假设是C1,剩余的两个端口C2和C3就可作为数据转发端口。C1对应A1,链路A1C1就可设置为协议控制链路,链路A2C2和A3C3设置为数据转发链路,这样,实现了协议控制链路和数据转发链路的分离。

本发明实施例中,根据交换机对应堆叠邻居的协议控制链路和数据转发链路的对数获取每个堆叠邻居的端口信息,对每一个堆叠邻居的端口进行选择。根据预先设定的规则,选择出本机与堆叠邻居的协议控制端口和数据转发端口,分离协议控制链路和数据转发链路,实现了二者的去耦合,避免了链路间的干扰。

进一步的,步骤132具体包括:

步骤132a,根据所述端口信息中的带宽,选择所述堆叠邻居中带宽最小的端口为协议控制端口,若端口的带宽相同,则选择ID最小的端口为协议控制端口;或者

步骤132b,根据所述端口信息中的业务量,选择所述堆叠邻居中业务量最多的端口为协议控制端口,若端口的业务量相同,则选择ID最小的端口为协议控制端口;或者

步骤132c,根据所述端口信息中的ID,选择所述堆叠邻居中ID最小的端口为协议控制端口。

端口信息包括带宽、ID和业务量等,可以选择带宽最小的端口为协议控制端口,当然若出现端口的业务量相同的情况,则选择ID最小的端口为协议控制端口;可以选择业务量最多的端口为协议控制端口,当然若出现端口的业务量相同的情况,则选择ID最小的端口为协议控制端口;还可以直接选择ID 最小的端口为协议控制端口。当然,预设规则并不仅限于上述的情况,还可以是上述的一种或多种标准的加权组合,也可以根据其他端口信息设置,在此不一一列举。

还应该知道的是,在堆叠系统中交换机互为堆叠邻居,每个交换机都在对方的端口中进行选择,这样可能出现如:A可能选择B的端口B2作为协议控制端口,而A对应B2的端口是A5,但是B选择A的端口A4作为协议控制端口,就不可避免的会出现选择的冲突情况,因此,进一步的,步骤13具体还包括:

步骤135,获取所述堆叠邻居的端口选定信息,其中,由所述端口选定信息可知所述堆叠邻居选定的所述交换机的协议控制端口;

步骤136,在所述交换机选定的协议控制端口与所述堆叠邻居选定的协议控制端口不是对应端口时,根据所述交换机和所述堆叠邻居的MAC大小确定协议控制链路的端口。

通过获取本机的堆叠邻居的端口选定信息来了解该堆叠邻居选择的协议控制端口是否与本机选择的协议控制端口对应,若对应则可以直接分离链路,但若不对应,就需要对二者进行统一,可以比较本机与堆叠邻居的MAC大小来确定采用谁的选择,如以MAC小的交换机选择的链路所在端口为控制端口。当然,以MAC大小的判断也仅是一种实现方式,也可以通过其他如业务量大小等方式实现,在此不一一列举,可由工作人员根据需要进行提前的设置。

由上述内容可知,在堆叠邻居与本机连通的端口数目与协议控制链路需要数目相同时,就不存在链路分离的必要了,那么此时,步骤13具体还包括:

步骤137,在所述堆叠邻居的端口的数目为预设值时,选择所述端口作为协议控制端口以及数据转发端口。

由于堆叠邻居与本机连通的端口数目与协议控制链路需要数目相同,数据转发链路也就不得不与协议控制链路共用物理链路,端口即是协议控制端口也是数据转发端口。

综上所述,本发明实施例的堆叠系统协议控制和转发链路分离的方法,通过了解堆叠邻居的端口的多种信息,在不增加配置难度基础上,以一定的条件自动分离协议控制链路和数据转发链路,实现协议控制链路和数据转发链路的 去耦合,避免链路间的相互干扰。

如图5所示,本发明的实施例还提供了一种堆叠系统协议控制和转发链路分离的装置,应用于一交换机,所述交换机已开启堆叠模式,包括:

发送模块10,用于通过已配置的堆叠端口发送堆叠邻居发现消息;

确定模块20,用于根据接收到的所述堆叠邻居发现消息的堆叠邻居响应消息,确定所述交换机对应堆叠邻居的协议控制链路和数据转发链路的对数;

分离模块30,用于根据所述交换机对应堆叠邻居的协议控制链路和数据转发链路的对数以及预先设置的规则分离协议控制链路和数据转发链路。

其中,所述确定模块包括:

第一获取子模块,用于获取接收到的所述堆叠邻居发现消息的堆叠邻居响应消息中的硬件地址MAC;

第一确定子模块,用于根据所述MAC,确定与所述交换机建立堆叠的堆叠邻居的数目;

第二确定子模块,用于根据所述堆叠邻居的数目,确定所述交换机对应堆叠邻居的协议控制链路和数据转发链路的对数。

其中,所述分离模块包括:

第二获取子模块,用于根据所述交换机对应堆叠邻居的协议控制链路和数据转发链路的对数,获取每个堆叠邻居的端口信息;其中,所述端口信息包括端口的数目、带宽、ID和业务量;

第一选择子模块,用于在所述堆叠邻居的端口数目大于一预设值时,根据预先设定的规则,选择所述堆叠邻居的端口中的预设数量的端口作为协议控制端口;

第二选择子模块,用于选择所述堆叠邻居的剩余端口作为数据转发端口;

分离子模块,用于根据选择的协议控制端口和数据转发端口分离协议控制链路和数据转发链路。

其中,所述第一选择子模块包括:

第一选择单元,用于根据所述端口信息中的带宽,选择所述堆叠邻居中带宽最小的端口为协议控制端口,若端口的带宽相同,则选择ID最小的端口为协议控制端口;或者

第二选择单元,用于根据所述端口信息中的业务量,选择所述堆叠邻居中业务量最多的端口为协议控制端口,若端口的业务量相同,则选择ID最小的端口为协议控制端口;或者

第三选择单元,用于根据所述端口信息中的ID,选择所述堆叠邻居中ID最小的端口为协议控制端口。

其中,所述分离模块还包括:

第三获取子模块,用于获取所述堆叠邻居的端口选定信息,其中,由所述端口选定信息可知所述堆叠邻居选定的所述交换机的协议控制端口;

第三确定子模块,用于在所述交换机选定的协议控制端口与所述堆叠邻居选定的协议控制端口不是对应端口时,根据所述交换机和所述堆叠邻居的MAC大小确定协议控制链路的端口。

其中,所述分离模块还包括:

第三选择子模块,用于在所述堆叠邻居的端口的数目为预设值时,选择所述端口作为协议控制端口以及数据转发端口。

该装置的发送模块通过已配置的堆叠端口发送堆叠邻居发现消息,去发现该交换机的堆叠邻居,在接收到返回的堆叠邻居响应消息后,确定模块就能够确定该交换机对应堆叠邻居的协议控制链路和数据转发链路的对数,随后分离模块再根据协议控制链路和数据转发链路的对数以及预先设置的规则分离协议控制链路和数据转发链路,分别通过堆叠建立协议和数据转发协议处理。这样,该实施例就自动将协议控制链路和数据转发链路分开,实现二者的去耦合,避免链路间的相互干扰。

本发明实施例中,模块可以用软件实现,以便由各种类型的处理器执行。举例来说,一个标识的可执行代码模块可以包括计算机指令的一个或多个物理或者逻辑块,举例来说,其可以被构建为对象、过程或函数。尽管如此,所标识模块的可执行代码无需物理地位于一起,而是可以包括存储在不同位里上的不同的指令,当这些指令逻辑上结合在一起时,其构成模块并且实现该模块的规定目的。

需要说明的是,该装置是应用了上述堆叠系统协议控制和转发链路分离的方法的装置,上述方法的实现方式适用于该装置,也能达到相同的技术效果。

本发明的实施例还提供了一种交换机,所述交换机已开启堆叠模式,包括如上所述的堆叠系统协议控制和转发链路分离的装置。

该交换机能够通过已配置的堆叠端口发送堆叠邻居发现消息,去发现该交换机的堆叠邻居,在接收到返回的堆叠邻居响应消息后,就能够确定该交换机对应堆叠邻居的协议控制链路和数据转发链路的对数,随后再根据协议控制链路和数据转发链路的对数以及预先设置的规则分离协议控制链路和数据转发链路,分别通过堆叠建立协议和数据转发协议处理。这样,该实施例就自动将协议控制链路和数据转发链路分开,实现二者的去耦合,避免链路间的相互干扰。

需要说明的是,该交换机包括了上述堆叠系统协议控制和转发链路分离的装置,上述装置的实现方法适用于该交换机,也能达到相同的技术效果。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1