一种端口设置方法、装置及系统与流程

文档序号:14073282阅读:188来源:国知局

本发明涉及堆叠技术领域,尤其涉及一种端口设置方法、装置及系统。



背景技术:

堆叠是指将多个设备组合起来共同工作,以便在有限的空间内提供尽可能多的端口的技术。目前,堆叠技术能够被用于集群交换系统(英文:clusterswitchsystem,简称:css)中,css是指将至少两台交换机通过专用的堆叠电缆链接起来,对外呈现为一台逻辑交换机。图1为css的应用场景示意图,其中包括主交换机101、备交换机102、上游设备103和下游设备104,css采用双归的接入方式,即上游设备103和下游设备104分别通过以太网主干接口(英文:ethernettrunkinterface,简称:eth-trunk)双归接入css的两台交换机上,从而流量可以由上游设备103流经主交换机101或备交换机102到达下游设备104,或者由上游设备103经主交换机101或备交换机102中的一个交换机流入,经另一个交换机流出至下游设备104,中间通过主交换机101和备交换机102之间的堆叠端口01转发流量。

现有技术中,css的软件升级过程中,首先备交换机进行软件升级,然后主交换机进行软件升级。其中,备交换机102在进行软件升级前会预先关闭上游端口21和下游端口22,即备交换机102的eth-trunk端口,让流量切换到主交换机101,备交换机102升级完成后通知主交换机101进行软件升级,并使能上游端口21和下游端口22,以及与上游设备103和下游设备104进行端口状态的协商。主交换机101接收到通知后会关闭自身的上游端口11和下游端口12,并进行软件升级让流量切换到备交换机102,升级完成后使能上游端口11和下游端口12,让流量在主交换机101和备交换机102内进行负载分担。

上述css的软件升级过程中,备交换机102在升级完成后进行流量的转发时,由于备交换机102中上游端口21和下游端口22的类型、介质等差异,使能上游端口21的时间比使能下游端口22的时间长,从而当备交换机102与上游设备103将上游的eth-trunk端口状态协商成功后,流量就从上游端口21进入备交换机102,但是由于使能下游端口22的时间会比较长,从而下游的eth-trunk端口状态协商也较慢,导致数据包从上游端口21进入备交换机102后由于无法立刻被转发出去而被丢弃,进而导致业务中断的问题。



技术实现要素:

本申请的实施例提供一种端口设置方法、装置及系统,解决了现有技术中堆叠系统的成员设备在升级后上游端口的使能时间和下游端口的使能时间不一致导致的业务中断的问题。

为达到上述目的,本申请的实施例采用如下技术方案:

第一方面,提供一种端口设置方法,应用于堆叠系统中的第一成员设备,第一成员设备包括连接第一网络设备的上游端口和连接第二网络设备的下游端口,该方法包括:在第一成员设备的软件升级过程中,使能该上游端口和该下游端口,使能后的上游端口和下游端口均处于初始状态;确定第一成员设备的升级是否完成,当第一成员设备的升级未完成时,分别通过该上游端口和该下游端口向第一网络设备和第二网络设备发送第一指示消息,每个第一指示消息用于指示发送所述第一指示消息的端口的状态为初始状态;分别通过该上游端口和该下游端口接收第一网络设备和第二网络设备在接收到对应的第一指示消息后发送的第一响应消息,每个第一响应消息用于指示发送所述第一响应消息的端口的状态;当每个第一响应消息指示的端口状态均为选中状态,且第一成员设备的升级已经完成时,将该上游端口和该下游端口的状态设置为选中状态。上述技术方案中,可以使第一成员设备在升级后的上游端口和下游端口同时进入选中状态,避免了上下游端口使能时间不一致导致的业务中断的问题。

在一种可能的实现方式中,在第一成员设备使能该上游端口和该下游端口之前,该方法还包括:为第一成员设备设置对应的升级标记;相应的,确定第一成员设备的升级是否完成包括:查询是否存在对应第一成员设备的升级标记,当存在升级标记时,确定第一成员设备的升级未完成,当不存在升级标记时,确定第一成员设备的升级已经完成。上述可选的技术方案中,提供了一种第一成员设备确定升级是否完成的方法,从而使第一成员设备在确定不存在升级标记时,确定升级已经完成。

在一种可能的实现方式中,该方法还包括:监控第一成员设备的升级过程,当升级过程完成后,删除第一成员设备的升级标记。上述可选的技术方案中,可以实时地监控第一成员设备的升级过程,并在升级完成后删除相应的升级标记,使第一成员设备根据不存在升级标记,而确定升级已经完成。

在一种可能的实现方式中,将该上游端口和该下游端口的状态设置为选中状态之后,该方法还包括:分别通过该上游端口和该下游端口向第一网络设备和第二网络设备发送第二指示消息,每个第二指示消息用于指示发送所述第二指示消息的端口的状态为选中状态;分别通过该上游端口和该下游端口接收第一网络设备和第二网络设备在接收到对应的第二指示消息后发送的第二响应消息,每个第二响应消息用于指示发送所述第二响应消息的端口的状态;当每个第二响应消息指示的端口状态均为转发状态时,将该上游端口和该下游端口的状态设置为转发状态。上述可选的技术方案中,可以使第一成员设备的上游端口和下游端口同时进入转发状态,避免了上下游端口因为端口状态协商时间不一致导致的业务中断的问题。

在一种可能的实现方式中,分别通过该上游端口和该下游端口向第一网络设备和第二网络设备发送第一指示消息包括:每隔设定间隔分别通过该上游端口和该下游端口向第一网络设备和第二网络设备发送第一指示消息;分别通过该上游端口和该下游端口向第一网络设备和第二网络设备发送第二指示消息包括:将该上游端口和该下游端口的状态设置为选中状态后立即分别通过该上游端口和该下游端口向第一网络设备和第二网络设备发送第二指示消息。上述可选的技术方案中,提供了发送第一指示消息和第二指示消息的方法,从而可以使第一成员设备按照设定间隔发送第一指示消息,并在第一成员设备的上下游端口都进入选中状态的第一时刻发送第二指示消息,使第一成员设备的上下游端口可以快速地进入转发状态并转发流量。

在一种可能的实现方式中,该堆叠系统还包括第二成员设备,该方法还包括:向第二成员设备发送升级指示消息,该升级指示消息用于使第二成员设备在将与第一成员设备通信的堆叠端口阻塞后,对第二成员设备的软件进行升级。上述可选的技术方案中,可以在堆叠成员设备依次进行软件升级的过程中,保证流量转发不中断,进而保证堆叠系统升级过程中用户的业务不中断,提高用户体验。

第二方面,提供一种堆叠成员设备,应用于堆叠系统中,该堆叠成员设备为第一成员设备,第一成员设备包括连接第一网络设备的上游端口和连接第二网络设备的下游端口,第一成员设备包括:使能单元,用于在第一成员设备的软件升级过程中,使能该上游端口和该下游端口,使能后的上游端口和下游端口均处于初始状态;确定单元,用于确定第一成员设备的升级是否完成;发送单元,用于当第一成员设备的升级未完成时,分别通过该上游端口和该下游端口向第一网络设备和第二网络设备发送第一指示消息,每个第一指示消息用于指示发送所述第一指示消息的端口的状态为初始状态;接收单元,用于分别通过该上游端口和该下游端口接收第一网络设备和第二网络设备在接收到对应的第一指示消息后发送的第一响应消息,每个第一响应消息用于指示发送所述第一响应消息的端口的状态;设置单元,用于当每个第一响应消息指示的端口状态均为选中状态,且第一成员设备的升级已经完成时,将该上游端口和该下游端口的状态设置为选中状态。

在一种可能的实现方式中,设置单元,还用于为第一成员设备设置对应的升级标记;确定单元,具体用于:查询是否存在对应第一成员设备的升级标记,当存在升级标记时,确定第一成员设备的升级未完成,当不存在升级标记时,确定第一成员设备的升级已经完成。

在一种可能的实现方式中,第一成员设备还包括:监控单元,用于监控第一成员设备的升级过程,当升级过程完成后,删除升级标记。

在一种可能的实现方式中,发送单元,还用于分别通过该上游端口和该下游端口向第一网络设备和第二网络设备发送第二指示消息,每个第二指示消息用于指示发送所述第二指示消息的端口的状态为选中状态;接收单元,还用于分别通过该上游端口和该下游端口接收第一网络设备和第二网络设备在接收到对应的第二指示消息后发送的第二响应消息,每个第二响应消息用于指示发送所述第二响应消息的端口的状态;设置单元,还用于当每个第二响应消息指示的端口状态均为转发状态时,将该上游端口和该下游端口的状态设置为转发状态。

在一种可能的实现方式中,发送单元,具体用于:每隔设定间隔分别通过该上游端口和该下游端口向第一网络设备和第二网络设备发送第一指示消息;发送单元,还具体用于:在设置单元将该上游端口和该下游端口的状态设置为选中状态后立即分别通过该上游端口和该下游端口向第一网络设备和第二网络设备发送第二指示消息。

在一种可能的实现方式中,堆叠系统还包括第二成员设备,发送单元,还用于向第二成员设备发送升级指示消息,该升级指示消息用于使第二成员设备在将与第一成员设备通信的堆叠端口阻塞后,对第二成员设备的软件进行升级。

第三方面,本申请提供一种设备,该设备包括至少一个处理器、存储器和通信接口;所述至少一个处理器、所述存储器和所述通信接口均通过总线连接;所述通信接口用于与网络设备进行数据交互;所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述设备执行上述第一方面或者第一方面的各种可能的实现方式所提供的端口设置方法。

第四方面,提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当设备的至少一个处理器执行该计算机执行指令时,该设备执行上述第一方面或者第一方面的各种可能的实现方式所提供的端口设置方法。

第五方面,提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中;设备的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得设备实施上述第一方面或者第一方面的各种可能的实现方式所提供的端口设置方法。

第六方面,提供一种堆叠系统,该堆叠系统包括第一成员设备和第二成员设备,第一成员设备包括连接第一网络设备的上游端口和连接第二网络设备的下游端口;其中,第一成员设备,用于执行上述第一方面或者第一方面的各种可能的实现方式所提供的端口设置;第二成员设备,用于在接收到第一成员设备发送的升级指示消息时,将与第一成员设备通信的堆叠端口阻塞后,执行上述第一方面至第一方面的第五种可能的实现方式中的任一种所提供的端口设置。

本申请的实施例提供的一种端口设置方法、装置及系统,通过在第一成员设备的软件升级过程中,使能第一成员设备包括的上游端口和下游端口,并在确定第一成员设备的升级未完成时,分别通过该上游端口和该下游端口向第一网络设备和第二网络设备发送第一指示消息,以及接收第一网络设备和第二网络设备发送的第一响应消息,当每个第一响应消息指示的端口状态均为选中状态,且第一成员设备的升级已经完成时,将该上游端口和该下游端口的状态设置为选中状态,从而使第一成员设备的上游端口和下游端口同时进入选中状态,避免了上游端口和下游端口由于使能时间不一致,而导致业务中断的问题。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1为现有技术提供的一种集群交换系统css的结构示意图;

图2为本发明实施例提供的一种端口状态的状态切换示意图;

图3为本发明实施例提供的一种堆叠成员设备的结构示意图;

图4为本发明实施例提供的一种端口设置方法的流程示意图;

图5为本发明实施例提供的另一种端口设置方法的流程示意图;

图6为本发明实施例提供的一种堆叠成员设备的结构示意图;

图7为本发明实施例提供的另一种堆叠成员设备的结构示意图;

图8为本发明实施例提供的又一种堆叠成员设备的结构示意图;

图9为本发明实施例提供的一种网络设备的结构示意图;

图10为本发明实施例提供的另一种网络设备的结构示意图;

图11为本发明实施例提供的又一种网络设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。

本发明下述各实施例中将会使用到以下术语。

成员设备,是指组成堆叠系统的设备,且一个堆叠系统可以包括多个成员设备,该多个成员设备可以是同一类型的设备,也可以是不同类型的设备。在以下实施例中,以一个堆叠系统包括两个成员设备,即第一成员设备和第二成员设备,为例进行说明。其中,第一成员设备和第二成员设备可以是堆叠系统中的任意两个成员备。比如,以css为例,第一成员设备和第二成员设备可以为css中的主交换机和备交换机。

上游端口和下游端口,是指成员设备上下游的eth-trunk端口,成员设备通过上游端口可以接收上游的网络设备发送的流量,通过下游端口可以向下游的设备(可以是用户设备或者网络设备)发送流量。

连接第一网络设备的上游端口,是指第一成员设备在转发流量时接收上游的网络设备发送的流量时所使用的上游端口;连接网络设备的下游端口,是指第一成员设备在转发流量时将流量发送给下游的网络设备时所使用的下游端口。

转发流量端口的状态包括:初始状态、选中状态和转发状态;其中,初始状态为端口使能后的最初状态,此时端口处于阻塞状态,不能转发流量;选中状态,是指当端口被选中预备用于转发流量时,则称该端口的状态为选中状态,此时端口仍然处于阻塞状态,不能转发流量;转发状态是指解除端口的阻塞状态,端口可以正常转发流量的状态。若将成员设备的某一端口称为本端端口,本端端口连接的网络设备的端口称为对端端口,如图2所示,以本端端口和对端端口为例,对本端端口的状态转换进行说明。具体的,当本端端口处于初始状态时,若本端端口被选中事件触发则本端端口进入选中状态,若在选中状态下本端端口被对端端口选中事件触发则进入转发状态;若在本端端口处于转发状态时,本端端口被对端端口未选中事件触发,则本端端口返回选中状态,如果本端端口被本端端口的未选中事件触发时,本端端口从选中状态返回初始状态。

本发明应用于堆叠系统中的成员设备进行软件升级的场景中,且主要用于解决成员设备升级过程中数据包被丢弃导致的业务中断问题。其中,该堆叠系统包括的多个成员设备在进行软件升级时,是依次进行软件升级的,且在本发明实施中,当多个成员设备包括主设备和从设备时,该主设备和从设备进行软件升级时不限定升级的先后顺序。以css为例,通过本发明实施例的方法进行软件升级时,可以是备交换机先进行软件升级,然后主交换机进行软件升级;或者主交换机先进行软件升级,然后备交换机进行软件升级。

本发明的基本原理在于,在第一成员设备软件升级过程中,使能连接有第一网络设备的上游端口和连接有第二网络设备的下游端口,保持第一成员设备的上游端口和下游端口均处于初始状态,并在第一成员设备的升级未完成时,与第一网络设备和第二网络设备进行端口状态协商,直到第一网络设备和第二网络设备的端口都进入选中状态时,将第一成员设备的上游端口和下游端口的状态设置为选中状态,从而保证第一成员设备的上游端口和下游端口同时进入选中状态,进而同时进入转发状态,进行流量的转发,避免了流量从上游端口进入第一成员设备后无法立刻转发出去,而导致数据包被丢弃导致的业务中断问题。

本发明实施例所应用的堆叠系统的系统架构与图1所示的集群交换系统css的系统架构类似,且本发明中的堆叠系统包括的第一成员设备和第二成员设备可以为同一类型的设备,也可以为不同类型的设备。第一成员设备和第二成员设备分别包括连接第一网络设备的上游端口,以及连接第二网络设备的下游端口,且在第一成员设备和第二成员设备之间设置有堆叠端口。当第一成员设备和第二成员设备转发流量时,流量可以由第一网络设备流经第一成员设备的上下游端口,或者流经第二成员设备的上下游端口达到第二网络设备;或者,由第一网络设备流经第一成员设备的上游端口后通过堆叠端口进入第二成员设备,从第二成员设备的下游端口达到第二网络设备,当然也可以由第一网络设备流经第二网络设备的上游端口后通过堆叠端口进而第一网络设备,从第一成员设备的下游端口达到第二网络设备。比如,当第一成员设备和第二成员设备的类型相同时,第一成员设备和第二成员设备可以为图1中的主交换机和备交换机,且第一成员设备可以为备交换机102,第二成员设备为主交换机101,或者第一成员设备为主交换机101,第二成员设备为备交换机102。

图3为本发明实施例提供的一种堆叠成员设备110的结构示意图,该堆叠成员设备可以是上面的第一成员设备或者第二成员设备。参见图3,该堆叠成员设备110包括处理器1101、存储器1102、和以太网接口1103。其中,处理器1101通过运行或执行存储在存储器1102内的软件程序和/或模块,以及调用存储在存储器1102内的数据,执行第一成员设备的各种功能。处理器1101可以包括一个或者多个模块,比如,包括中央处理单元(英文:centralprocessingunit,简称:cpu)和网络处理器(英文:networkprocessor,简称:np),该网络处理器可以由专用集成电路(英文:application-specificintegratedcircuit,简称:asic)或现场可编程门阵列(英文:field-programmablegatearray,简称:fpga)芯片实现。存储器1102可用于存储数据、软件程序以及模块,可以由任何类型的易失性或非易失性存储器或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘等等。以太网接口1103即为堆叠成员设备的端口,可以被配置为堆叠成员设备的上游端口,也可以被配置为下游端口,且堆叠成员设备可以通过该上游端口和下游端口对数据流量进行转发。

本领域技术人员可以理解,图3示出的堆叠成员设备的结构并不构成对其结构的限定。在实际应用中,堆叠成员设备还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

图4为本发明实施例提供的一种端口设置方法的流程图,该方法应用于堆叠系统中的第一成员设备,第一成员设备包括连接第一网络设备的上游端口和连接第二网络设备的下游端口,参见图4,该方法包括以下几个步骤。

步骤201:在第一成员设备的软件升级过程中,使能该上游端口和该下游端口,使能后的上游端口和下游端口均处于初始状态。

其中,使能第一成员设备的上游端口和下游端口,是指物理打开第一成员设备的上游端口和下游端口,也即是,使第一成员设备的上游端口和下游端口的物理状态为打开(up)状态。关闭第一成员设备的上游端口和下游端口,是指使第一成员设备的上游端口和下游端口的物理状态为关闭(down)状态。

另外,端口的状态可以通过mux状态机来体现,mux状态机是链路汇聚控制协议(英文:linkaggregationcontrolprotocol,简称:lacp)协商过程中根据本端端口和对端端口的选中状态来决定是否阻塞端口接收和发送数据功能的状态机,可以分为三个状态:对应端口初始状态的detached状态、对应于端口选中状态的attached状态、以及对应于端口转发状态的collectong_distributing状态。

可选的,链路汇聚控制协议数据单元(英文:linkaggregationcontrolprotocoldataunit,简称:lacpdu)报文中的同步标志位可用来表示端口的状态。比如,当端口处于初始状态时,则同步标志位对应为false,若该同步标志位为1比特(bit)时,该同步标志位的值可以为0或1,当该同步标志位的值为0时,可以对应为false,当该同步标志位的值为1时,可以对应为true。当然,在实际应用中,也可以使同步标志位的值为0时对应为true,使同步标志位的值为1时对应为false,本发明实施例对此不做限定。

具体的,第一成员设备在进入软件升级状态后,会关闭第一成员设备的上游端口和下游端口,并进行复位操作,在复位操作后第一成员设备进行软件升级,在软件升级过程中,第一成员设备可以使能该上游端口和该下游端口,使该上游端口和该下游端口均处于初始状态,该上游端口和该下游端口处于初始状态时,第一成员设备不能通过该上游端口和该下游端口转发流量。

步骤202:确定第一成员设备的升级是否完成,当第一成员设备的升级未完成时,分别通过该上游端口和该下游端口向第一网络设备和第二网络设备发送第一指示消息,每个第一指示消息用于指示发送第一指示消息的端口的状态为初始状态。

其中,可以根据第一成员设备的升级标记确定第一成员设备的升级是否完成时,该升级标记可以是第一成员设备在进行复位操作前记录的升级标记,也即是,第一成员设备可以为第一成员设备设置对应的升级标记,比如,第一成员设备可以在缓存中记录该升级标记。具体的,当确定第一成员设备的升级是否完成时,第一成员设备可以在缓存中查询是否存在对应第一成员设备的升级标记,当存在该升级标记时,可以确定第一成员设备的升级未完成,也即是,第一成员设备处于升级过程中;当不存在该升级标记时,可以确定第一成员设备的升级已经完成。

另外,第一成员设备分别通过该上游端口和该下游端口向第一网络设备和第二网络设备发送第一指示消息,是指第一成员设备通过该上游端口向第一网络设备发送指示该上游端口为初始状态的第一指示消息,并通过该下游端口向第二网络设备发送指示该下游端口为初始状态的第一指示消息。

具体的,第一成员设备可以通过lacpdu报文来发送第一指示消息,由于第一指示消息用于指示发送第一指示消息的端口的状态为初始状态,因此,第一成员设备通过lacpdu报文发送第一指示消息时,lacpdu报文中的同步标志位为false,false用于表示发送该lacpdu报文的端口的状态为初始状态。

可选的,当第一成员设备分别通过该上游端口和该下游端口向第一网络设备和第二网络设备发送第一指示消息时,第一成员设备可以每隔设定间隔分别通过该上游端口和该下游端口向第一网络设备和第二网络设备发送第一指示消息。

需要说明的是,该设定间隔可以事先进行设置,比如,该设定间隔可以是发送lacpdu报文时的时间间隔。当然,在实际应用中,该设定间隔也可以设置为其他的时间间隔,比如,该设定间隔可以为1s、2s等等,本发明实施例对此不做限定。

另外,第一成员设备向第一网络设备和第二网络设备分别发送第一指示消息时可以不分先后顺序,即第一成员设备可以同时向第一网络设备和第二网络设备发送;或者第一成员设备先向第一网络设备发送,然后向第二网络设备发送;或者,第一成员设备先向第二网络设备发送,然后向第一网络设备发送,本发明实施例对此不做限定。

步骤203:第一成员设备分别通过该上游端口和该下游端口接收第一网络设备和第二网络设备在接收到对应的第一指示消息后发送的第一响应消息,每个第一响应消息用于指示发送第一响应消息的端口的状态。

具体的,当第一网络设备接收到第一成员设备通过该上游端口发送的用于指示该上游端口为初始状态的第一指示消息时,第一网络设备向第一成员设备发送第一响应消息,该第一响应消息用于指示发送该第一响应消息的端口的状态,也即是,该第一响应消息用于指示第一网络设备中与该上游端口对应的对端端口的状态。同样,当第二网络设备接收到第一成员设备通过该下游端口发送的用于指示该下游端口为初始状态的第一指示消息时,第二网络设备向第一成员设备发送第一响应消息,该第一响应消息用于指示发送该第一响应消息的端口的状态,也即是,该第一响应消息用于指示第二网络设备中与该下游端口对应的对端端口的状态。

也即是,由于第一成员设备处于升级状态时,该上游端口和该下游端口将保持初始状态,同时第一成员设备发送的lacpdu报文中的同步标志位始终为false,从而第一成员设备的mux状态机始终处于detached状态,即不处于转发状态。而第一网络设备和第二网络设备由于没有端口选中的限制,将先进入选中状态,并向第一成员设备发送用于指示端口状态为选中状态的第一响应消息。

可选的,第一网络设备和第二网络设备可以通过lacpdu报文来发送第一响应消息,且在第一网络设备和第二网络设备的端口均进入选中状态时,第一网络设备和第二网络设备发送的lacpdu报文中的同步标志位为true。

步骤204:当每个第一响应消息指示的端口状态均为选中状态,且第一成员设备的升级已经完成时,第一成员设备将该上游端口和该下游端口的状态设置为选中状态。

其中,每个第一响应消息指示的端口状态均为选中状态,是指第一成员设备接收的第一网络设备发送的第一响应消息指示与该上游端口对应的对端端口的状态为选中状态,以及第一成员设备接收的第二网络设备发送的第一响应消息指示与该下游端口对应的对端端口的状态也为选中状态。

另外,在第一成员设备进行软件升级过程中,第一成员设备会监控自身的升级过程,当监测到该升级过程完成后,第一成员设备会删除该升级标记,从而当确定第一成员设备的升级是否已经完成时,第一成员设备可以在缓存中查询是否存在对应第一成员设备的升级标记,若查询不到对应第一成员设备的升级标记,也即是,不存在该升级标记时,可以确定第一成员设备的升级已经完成。

具体的,当第一成员设备接收到的每个第一响应消息指示的端口状态均为选中状态,且确定第一成员设备的升级已经完成时,可以确定第一成员设备已经具备了端口选中的条件,从而第一成员设备可以分别将该上游端口和该下游端口的状态设置为选中状态,使第一成员设备的上游端口和下游端口同时进入选中状态,避免了上游端口和下游端口在进行物理up和端口状态协商时,因为端口类型和端口介质等因素而导致该上游端口和下游端口物理up需要的时间不同,进而导致上游端口先进入转发状态,流量经该上游端口进入第一成员设备后被丢弃的问题。

进一步的,参见图5,在步骤204之后,该方法还包括:步骤205-步骤207。

步骤205:第一成员设备分别通过该上游端口和该下游端口向第一网络设备和第二网络设备发送第二指示消息,每个第二指示消息用于指示发送该第二指示消息的端口的状态为选中状态。

其中,第一成员设备分别通过该上游端口和该下游端口向第一网络设备和第二网络设备发送第二指示消息,是指第一成员设备通过该上游端口向第一网络设备发送指示该上游端口为选中状态的第二指示消息,并通过该下游端口向第二网络设备发送指示该下游端口为选中状态的第二指示消息。

可选的,当第一成员设备分别通过该上游端口和该下游端口向第一网络设备和第二网络设备发送第二指示消息时,第一成员设备可以在将该上游端口和该下游端口的状态设置为选中状态后,立即分别通过该上游端口和该下游端口向第一网络设备和第二网络设备发送第二指示消息。也即是,当第一成员设备将该上游端口和该下游端口的状态设置为选中状态后,第一成员设备可以立即向第一网络设备和第二网络设备发送第二指示消息,而无需按照设定间隔向第一网络设备和第二网络设备发送第二指示消息,从而可以快速地使第一网络设备在接收到第二指示消息时,将第一网络设备中与该上游端口对应的对端端口设置为转发状态,以及使第二网络设备在接收到第二指示消息时,将第二网络设备中与该下游端口对应的对端端口设置为转发状态。

具体的,第一成员设备在发送第二指示消息时,可以通过lacpdu报文进行发送,该lacpdu报文中的同步标志位为true,控制lacpdu报文发送的标志ntt也为true,从而可以触发第一成员设备立即分别通过该上游端口和该下游端口向第一网络设备和第二网络设备发送第二指示消息。

步骤206:第一成员设备分别通过该上游端口和该下游端口接收第一网络设备和第二网络设备在接收到对应的第二指示消息后发送的第二响应消息,每个第二响应消息用于指示发送该第二响应消息的端口的状态。

具体的,当第一网络设备接收到第一成员设备通过该上游端口发送的用于指示该上游端口为选中状态的第二指示消息时,第一网络设备会立即将与该上游端口对应的对端端口的状态设置为转发状态,并向第一成员设备发送第二响应消息,该第二响应消息用于指示发送该第二响应消息的端口的状态,也即是,该第一响应消息用于指示第一网络设备中与该上游端口对应的对端端口的状态。同样,当第二网络设备接收到第一成员设备通过该下游端口发送的用于指示该下游端口为选中状态的第二指示消息时,第二网络设备会立即将与该下游端口对应的对端端口的状态设置为转发状态,并向第一成员设备发送第二响应消息,该第二响应消息用于指示发送该第二响应消息的端口的状态,也即是,该第二响应消息用于指示第二网络设备中与该下游端口对应的对端端口的状态。

步骤207:当每个第二响应消息指示的端口状态均为转发状态时,第一成员设备将该上游端口和该下游端口的状态设置为转发状态。

其中,每个第二响应消息指示的端口状态均为转发状态,是指第一成员设备接收的第一网络设备发送的第二响应消息指示与该上游端口对应的对端端口的状态为转发状态,以及第一成员设备接收的第二网络设备发送的第二响应消息指示与该下游端口对应的对端端口的状态也为转发状态。

具体的,当第一成员设备接收到的每个第二响应消息指示的端口状态均为转发状态时,第一成员设备可以分别将该上游端口和该下游端口的状态设置为转发状态,从而使第一成员设备的上游端口和下游端口同时进入转发状态,对流量进行转发,从而避免了上游端口和下游端口在进行物理up和端口状态协商时,该上游端口先协商好进入转发状态,下游端口后协商好进入转发状态,而导致流量经该上游端口进入第一成员设备后被丢弃的问题。

进一步的,该堆叠系统还包括第二成员设备,在步骤207之后,该方法还可以包括:第一成员设备向第二成员设备发送升级指示消息,该升级指示消息用于使第二成员设备在将与第一成员设备通信的堆叠端口阻塞后,对第二成员设备的软件进行升级。

具体的,当第一成员设备的上游端口和下游端口均进入转发状态,并对流量进行转发时,第一成员设备可以向第二成员设备发送升级指示信息,以使第二成员设备根据该升级指示信息将与第一成员设备通信的堆叠端口阻塞后,关闭第二成员设备的上游端口和下游端口,并按照上述图4或图5所示的端口设置方法对第二成员设备的软件进行升级。

本发明实施例提供的端口设置方法,通过在第一成员设备的软件升级过程中,使能第一成员设备包括的连接第一网络设备的上游端口和连接第二网络设备的下游端口,使能后的该上游端口和该下游端口均处于初始状态,并在确定第一成员设备的升级未完成时,分别通过该上游端口和该下游端口向第一网络设备和第二网络设备发送第一指示消息,以及分别通过该上游端口和该下游端口接收第一网络设备和第二网络设备发送的第一响应消息,当每个第一响应消息指示的端口状态均为选中状态,且第一成员设备的升级已经完成时,将该上游端口和该下游端口的状态设置为选中状态,从而使第一成员设备的上游端口和下游端口同时进入选中状态,避免了上游端口和下游端口在进行物理up和端口状态协商时的需要的时间不同,而导致上游端口先进入转发状态,流量经该上游端口进入第一成员设备后被丢弃的问题。

上述主要从各个网元之间交互的角度对本发明实施例提供的方案进行了介绍。可以理解的是,各个网元,例如诸如第一成员设备和第二成员设备的堆叠成员设备,以及诸如第一网络设备和第二网络设备的网络设备等为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的网元及算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

本发明实施例可以根据上述方法示例对堆叠成员设备等进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

在采用对应各个功能划分各个功能模块的情况下,图6示出了上述实施例中所涉及的堆叠成员设备的一种可能的结构示意图,堆叠成员设备300包括:使能单元301、确定单元302、发送单元303、接收单元304和设置单元305。其中,使能单元301用于执行图4和图5中的过程201;确定单元302用于执行确定堆叠成员设备的升级过程是否完成的过程;发送单元303用于执行图4和图5中的过程203、图5中过程205、以及与第二成员设备通信;接收单元304用于执行图4和图5中的过程203、以及图5过程206;设置单元305用于执行图4和图5中的过程204、以及图5中的过程207。进一步的,该堆叠成员设备还可以包括监控单元,其中,监控单元用于监控该堆叠成员设备的升级过程,当该升级过程完成后,删除该升级标记的过程。上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。

在采用集成的单元的情况下,图7示出了上述实施例中所涉及的堆叠成员设备310的一种可能的逻辑结构示意图。堆叠成员设备310包括:处理模块312和通信模块313。处理模块312用于对堆叠成员设备的动作进行控制管理,例如,处理模块312用于执行图4和图5中的过程201和204,图5中的过程207,和/或用于本文所描述的技术的其他过程。通信模块313用于与网络设备或其他堆叠成员设备的通信。堆叠成员设备310还可以包括存储模块311,用于存储堆叠成员设备的程序代码和数据。

其中,处理模块312可以是处理器或控制器,例如可以是中央处理器单元,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等等。通信模块313可以是收发器、收发电路或通信接口等。存储模块311可以是存储器。

当处理模块312为处理器,通信模块313为通信接口,存储模块311为存储器时,本发明实施例所涉及的堆叠成员设备可以为图8所示的设备。

参阅图8所示,为堆叠成员设备的一种硬件结构举例,该堆叠成员设备320包括:处理器322、通信接口323、存储器321以及总线324。其中,通信接口323、处理器322以及存储器321通过总线324相互连接;总线324可以是外设部件互连标准(英文:peripheralcomponentinterconnect,简称:pci)总线或扩展工业标准结构(英文:extendedindustrystandardarchitecture,简称:eisa)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

在采用对应各个功能划分各个功能模块的情况下,图9示出了上述实施例中所涉及的网络设备的一种可能的结构示意图,网络设备400包括:接收单元401、发送单元402、设置单元403。其中,接收单元401用于执行接收堆叠成员设备发送的第一指示消息,以及接收第二指示消息的过程;发送单元402执行向堆叠成员设备发送第一响应消息,以及发送第二响应消息的过程;设置单元403用于执行在接收到第二指示消息指示堆叠成员设备中发送该第二指示消息的端口为选中状态时,将网络设备中发送第二响应消息的端口状态设置为转发状态的过程。上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。

在采用集成的单元的情况下,图10示出了上述实施例中所涉及的网络设备410的一种可能的逻辑结构示意图。网络设备410包括:处理模块412和通信模块413。处理模块412用于网络设备的动作进行控制管理,例如,处理模块412用于执行在接收到第二指示消息指示堆叠成员设备中发送该第二指示消息的端口为选中状态时,将网络设备中发送第二响应消息的端口状态设置为转发状态的过程,和/或用于本文所描述的技术的其他过程。通信模块413用于与堆叠成员设备或其他网络设备的通信。网络设备410还可以包括存储模块411,用于网络设备的程序代码和数据。

其中,处理模块412可以是处理器或控制器,例如可以是中央处理器单元,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等等。通信模块413可以是收发器、收发电路或通信接口等。存储模块411可以是存储器。

当处理模块412为处理器,通信模块413为通信接口,存储模块411为存储器时,本发明实施例所涉及的网络设备可以为图11所示的设备。

参阅图11所示,为网络设备的一种硬件结构举例,该网络设备420包括:处理器422、通信接口423、存储器421以及总线424。其中,通信接口423、处理器422以及存储器421通过总线424相互连接;总线424可以是外设部件互连标准(英文:peripheralcomponentinterconnect,简称:pci)总线或扩展工业标准结构(英文:extendedindustrystandardarchitecture,简称:eisa)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

在本发明的另一实施例中,还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当设备的至少一个处理器执行该计算机执行指令时,该设备执行上述图4或图5所提供的端口设置方法。

在本发明的另一实施例中,还提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中;设备的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得设备实施上述图4或图5所提供的端口设置方法。

在本发明的另一实施例中,还提供一种堆叠系统,该堆叠系统包括上述图6-图8中任一个所示的堆叠成员设备,即包括第一成员设备和第二成员设备,第一成员设备包括连接第一网络设备的上游端口和连接第二网络设备的下游端口;其中,第一成员设备,用于执行上述图4或图5所提供的端口设置方法;第二成员设备,用于在接收到第一成员设备发送的升级指示消息时,将与第一成员设备通信的堆叠端口阻塞后,执行上述图4或图5所提供的端口设置方法。

本申请的实施例提供的堆叠系统,通过在第一成员设备的软件升级过程中,使能第一成员设备包括的上游端口和下游端口,并在确定第一成员设备的升级未完成时,分别通过该上游端口和该下游端口向第一网络设备和第二网络设备发送第一指示消息,以及接收第一网络设备和第二网络设备发送的第一响应消息,当每个第一响应消息指示的端口状态均为选中状态,且设备的升级已经完成时,将该上游端口和该下游端口的状态设置为选中状态,从而使第一成员设备的上游端口和下游端口同时进入选中状态,避免了上游端口和下游端口由于在进行物理up和端口状态协商时因为需要的时间不同,而导致的业务中断的问题。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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