一种设备升级方法及接入设备与流程

文档序号:15521322发布日期:2018-09-25 19:32阅读:154来源:国知局

本发明涉及通信领域,具体涉及一种设备升级方法及接入设备。



背景技术:

在大型网络接入的过程中,一般需要将接入侧设备(例如,接入交换机)通过链路聚合连接到汇聚设备(例如,汇聚交换机),通常汇聚设备为跨设备系统,也即由多台相同类型的汇聚设备通过运行特定协议组建成的一个逻辑系统。每个接入侧设备通过多条物理链路分别连接该多台汇聚设备,该多条物理链路组成链路聚合组(linkaggregationgroup,lag),该多条物理链路称为该lag的成员链路,该多条物理链路分别连接所述接入侧设备和所述多台汇聚设备的端口,称为该lag的成员端口。接入侧设备通过lag连接汇聚交换机,可负载分担提高网络带宽利用率并增强可靠性。跨设备系统典型数据流模型采用双归组网的接入方式,也即接入侧设备或网络侧设备通过lag双归接入两台跨设备系统的汇聚设备上。

当对跨设备系统进行升级时,例如当跨设备系统包括主汇聚设备和备汇聚设备时,可分别对主汇聚设备和备汇聚设备进行升级。例如当对备汇聚设备进行升级时,可在备汇聚设备的lag成员端口关闭时将原来设置为通过备汇聚设备转发的数据流切换至主汇聚设备进行转发。但是目前在该升级过程中,由于主汇聚设备和备汇聚设备各单板芯片类型、端口不一致,接入侧设备、网络侧设备感知端口故障时间点也不一致。例如,当备汇聚设备网络侧端口关闭,备汇聚设备接入侧端口尚未关闭或备汇聚设备端口均已关闭而接入侧设备感知端口故障慢时,接入侧设备数据流仍然流向备汇聚设备,此时发往汇聚设备的数据流中的数据包会丢失。



技术实现要素:

本发明实施例提供了一种设备升级方法及相关设备,以避免跨设备系统升级过程中的数据包丢失。

第一方面,本发明实施例提供了一种设备升级方法,该方法应用于网络系统中,该网络系统包括接入设备,以及分别连接该接入设备的至少两个汇聚设备,该方法通过以下步骤实现设备升级。首先接入设备接收目标汇聚设备发送的第一状态指示消息,该第一状态指示消息用于通知接入设备上述目标汇聚设备的升级状态为升级准备状态,其中,该目标汇聚设备为上述至少两个汇聚设备中的任意一个;然后接入设备在接收到第一状态指示消息后,将预配置为通过目标汇聚设备转发的目标数据流配置为通过其它汇聚设备进行转发;最后接入设备再向目标汇聚设备发送第一反馈消息,该第一反馈消息用于通知该目标汇聚设备上述接入设备的升级状态为升级准备状态,以指示目标汇聚设备开始升级。

本发明实施例提供的方案中,接入设备在目标汇聚设备即将升级时,将配置为通过该目标汇聚设备转发的目标数据流配置为通过其它汇聚设备进行转发,然后在配置完成后,通知目标汇聚设备开始升级,从而防止跨设备系统升级过程中的数据包丢失。

更进一步地,通过上述方法,可以屏蔽lag接口芯片类型、端口类型、端口介质、路由规格等导致的数据流中断时间,保证系统工作稳定性,提高用户满意度。

更进一步地,由于该方法并不限制转发数据流的接入设备类型与转发数据流的转出方向,所以使得该方法不仅能防止跨设备系统升级过程中单播数据包丢失,也能防止跨设备系统升级过程中广播数据包、组播数据包以及未知单播数据包的丢失。

在一个可能的设计中,在接入设备向目标汇聚设备发送第一反馈消息之后,接入设备还接收目标汇聚设备发送的第二状态指示消息,其中,该第二状态指示消息用于通知接入设备上述目标汇聚设备的升级状态为升级完成状态,然后接入设备在接收到该第一反馈消息之后,将目标数据流重新配置为通过该目标汇聚设备进行转发。以实现目标数据流的回切。

在一个示例中,接入设备与目标汇聚设备之间通过lacp协议进行通信,在lacp协议报文中扩展tlv字段,该扩展tlv字段包括升级状态标识,该升级状态标识用于表示接入设备或目标汇聚设备的升级状态,从而在接入设备通过lacp报文接收目标汇聚设备发送的第一状态指示消息时,在该升级状态标识中携带目标汇聚设备当前的升级状态为升级准备状态;在接入设备通过lacp报文向目标汇聚设备发送第一反馈消息时,该升级状态标识中携带接入设备当前的升级状态为升级准备状态;在接入设备通过lacp报文接收目标汇聚设备发送的第二状态指示消息时,该升级状态中携带目标汇聚设备当前的升级状态为升级完成状态。

在一个可能的设计中,该接入设备包括链路聚合组lag出方向转发表,其中,该lag出方向转发表用于存储用于转发目标数据流的汇聚设备连接的接入设备的端口的标识,该lag出方向转发表预配置为包括连接目标汇聚设备的接入设备的端口的标识与目标数据流的对应关系;在接入设备接收到目标汇聚设备发送的第一状态指示消息后,接入设备将连接目标汇聚设备的接入设备的端口从lag出方向转发表中移除,并在lag出方向转发表中配置目标数据流对应的端口为接入设备连接其它汇聚设备的端口。

在一个可能的设计中,在接入设备接收到目标汇聚设备发送的第二状态指示消息后,在lag出方向转发表中将目标数据流对应的端口重新配置为接入设备连接所述目标汇聚设备的端口。

通过更新lag出方向转发表,可调整目标数据流的转发路径,从而保证接入设备能通过处于正常状态的汇聚设备转发数据流,防止数据流包的丢失。

第二方面,本发明实施例提供了一种设备升级方法,该方法应用于网络系统中,该网络系统包括接入设备以及至少两个汇聚设备,该至少两个汇聚设备分别连接接入设备,该至少两个汇聚设备包括目标汇聚设备,该方法通过以下步骤实现设备升级。首先当目标汇聚设备即将升级时,目标汇聚设备向接入设备发送第一状态指示消息,该述第一状态指示消息用于通知接入设备上述目标汇聚设备的升级状态为升级准备状态;然后目标汇聚设备接收接入设备发送的第一反馈消息,该第一反馈消息用于通知述目标汇聚设备上述接入设备的升级状态为升级准备状态,该升级准备状态为接入设备将预配置为通过目标汇聚设备转发的目标数据流配置为通过其它汇聚设备进行转发,也即接入设备已完成对目标数据流的切换,从而目标汇聚设备开始升级。

本发明实施例提供的方案中,目标汇聚设备在即将升级时,向目标汇聚设备发送当前的升级状态,从而接入设备将配置为通过该目标汇聚设备转发的目标数据流配置为通过其它汇聚设备进行转发,然后目标汇聚设备在接收到接入设备的当前状态为升级准备状态后再开始升级,从而防止跨设备系统升级过程中的数据包丢失。

更进一步地,通过上述方法,可以屏蔽lag接口芯片类型、端口类型、端口介质、路由规格等导致的数据流中断时间,保证系统工作稳定性,提高用户满意度。

更进一步地,由于该方法并不限制转发数据流的接入设备类型与转发数据流的转出方向,所以使得该方法不仅能防止跨设备系统升级过程中单播数据包丢失,也能防止跨设备系统升级过程中广播数据包、组播数据包以及未知单播数据包的丢失。

在一个可能的设计中,在目标汇聚设备接收接入设备发送的第一反馈消息之后,并且目标汇聚设备升级完成之后,目标汇聚设备向接入设备发送第二状态指示消息,该第二状态指示消息用于使接入设备将目标数据流重新配置为通过目标汇聚设备进行转发,该第二状态指示消息用于通知接入设备上述目标汇聚设备的升级状态为升级完成状态。以实现目标数据流的回切换。

在一个示例中,接入设备与目标汇聚设备之间通过lacp协议进行通信,在lacp协议报文中扩展tlv字段,该扩展tlv字段包括升级状态标识,该升级状态标识用于表示接入设备或目标汇聚设备的升级状态,从而在目标汇聚设备通过lacp报文向接入设备目标汇聚发送第一状态指示消息时,在该升级状态标识中携带目标汇聚设备当前的升级状态为升级准备状态;在目标汇聚设备通过lacp报文接收接入设备发送的第一反馈消息时,该升级状态标识中携带接入设备当前的升级状态为升级准备状态;在目标汇聚设备通过lacp报文向接入设备发送第二状态指示消息时,该升级状态中携带目标汇聚设备当前的升级状态为升级完成状态。

第三方面,本发明实施例提供一种接入设备,该接入设备具有实现上述第一方面的方法的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。

第四方面,本发明实施例提供一种接入设备,该接入设备包括处理器和至少一个通信端口,所述处理器被配置为支持接入设备执行上述方法中相应的功能。所述通信端口用于支持接入设备与汇聚设备之间的通信。进一步的,接入设备还可以包括存储器,所述存储器用于与处理器耦合,其保存接入设备必要的程序指令和数据。

第五方面,本发明实施例提供一种计算机存储介质,用于储存为上述用于第三方面所述的接入设备所用的计算机软件指令,其包含用于执行上述第一方面的方法的程序。

第六方面,本发明实施例提供一种汇聚设备,该汇聚设备具有实现上述第二方面的方法的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。

第七方面,本发明实施例提供一种汇聚设备,该汇聚设备包括处理器、通信端口,所述处理器被配置为支持汇聚设备执行上述方法中相应的功能。所述通信端口用于支持汇聚设备与接入设备之间的通信。进一步的,汇聚设备还可以包括存储器,所述存储器用于与处理器耦合,其保存汇聚设备必要的程序指令和数据。

第八方面,本发明实施例提供一种计算机存储介质,用于储存为上述用于第六方面所述的汇聚设备所用的计算机软件指令,其包含用于执行上述第二方面所的方法的程序。

第九方面,本发明实施例提供一种网络系统,该系统包括上述方面所述的接入设备以及汇聚设备。

相较于现有技术,本发明实施例的方案中,通过在目标汇聚设备升级之前,提前将配置为目标汇聚设备进行转发的流量切换至其它汇聚设备,防止跨设备系统升级过程中的数据包丢失。

更进一步地,通过该方法,可以屏蔽lag接口芯片类型、端口类型、端口介质、路由规格等导致的数据流中断时间,保证系统工作稳定性,提高用户满意度。

更进一步地,由于该方法并不限制转发数据流的接入设备类型与转发数据流的转出方向,所以使得该方法不仅能防止跨设备系统升级过程中单播数据包丢失,也能防止跨设备系统升级过程中广播数据包、组播数据包以及未知单播数据包的丢失。

附图说明

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

图1是本发明实施例提供的一种网络系统的架构示意图;

图2是本发明实施例提供的lag功能实现的硬件结构示意图;

图3是本发明实施例提供的一种跨设备系统数据流转发示意图;

图4-a是本发明实施例提供的一种跨设备系统中第一汇聚交换机升级重启时数据流转发示意图;

图4-b是本发明实施例提供的一种跨设备系统中第二汇聚交换机升级重启时数据流转发示意图;

图5是本发明实施例提供的一种跨设备系统中第一汇聚交换机升级重启时各端口的故障时间点不一致导致丢包的过程示意图;

图6是本发明实施例提供一种设备升级方法的流程示意图;

图7是本发明实施例提供的一种接入设备的结构示意图;

图8是本发明实施例提供的另一种接入设备的结构示意图;

图9是本发明实施例提供的一种汇聚设备的结构示意图;

图10是本发明实施例提供的另一种汇聚设备的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

参见图1,图1是本发明实施例提供的一种网络系统100的架构示意图,如图1所示,该网络系统100包括至少一个接入设备120a-120d、至少一个汇聚设备130a-130b以及网络侧设备(位于因特网中的设备,图中未示出)。其中,接入设备120a-120d部署于接入层120中,汇聚设备130a-130b部署于汇聚层130中。接入设备120a-120d可以为接入交换机,汇聚设备130a-130b可以是汇聚交换机。接入设备120a-120d中的每个接入设备通过汇聚设备130a-130b与其他接入设备或网络侧设备通信。图1为了简便,仅仅示出了接入设备120c与汇聚设备130a和130b之间的连接关系。此外,为了叙述方便,本申请中将网络设备的端口分为接入侧端口和网络侧端口,其中,北向端口(即图1中向上连接的端口)称为网络侧端口,南向端口(即图1中向下连接的端口)称为接入侧端口。则对于接入设备120a-120d来说,连接服务器110的端口为接入侧端口,连接汇聚设备130a-130b的端口为网络侧端口。对于汇聚设备130a-130b来说,连接接入设备120a-120d的端口为接入侧端口,连接因特网的端口为网络侧端口。

接入设备120a-120d中的每个接入设备至少连接一台服务器110。其中,服务器110用于存储数据。服务器110还可以通过对应的接入交换机以及汇聚交换机从网络侧接收数据,或者上传数据到网络侧。具体地,该服务器110可以为数据服务器。

可选地,在本发明的一个可能的实施例中,该服务器110也可以替换为其它终端设备。

在本发明实施例中,该汇聚层130中的多个汇聚设备通过内部协议组成一个跨设备的逻辑系统。例如,汇聚设备130a和汇聚设备130b组成了一个跨设备系统。当某个接入设备,例如接入设备120c通过多个汇聚设备,例如汇聚设备130a和汇聚设备130b与网络侧设备通信时,该接入设备120c以链路聚合的方式连接到汇聚设备130a和汇聚设备130b上,也即该接入设备120c通过多条链路,分别连接汇聚设备130a和汇聚设备130b,所述多条链路组成一个链路聚合组lag,例如,图1中的链路lag1-1和链路lag1-2组成了聚合链路组lag1。lag1-1和lag1-2称为lag1的成员链路。由于链路可以由该链路两端的端口来表示,当lag1-1和lag1-2分别指示汇聚设备130a和汇聚设备130b连接接入设备120c的端口时,则lag1-1和lag1-2也可以称为lag1的成员端口。当链路聚合组lag1建立完成后,接入设备120c将通过lag1的两条成员链路以负载分担的方式发送数据流,即接入设备120c将所述数据流负载分担至汇聚设备130a和130b上,从而提高网络带宽利用率并增强可靠性。其中,lag是指将多条连接到同一设备的链路捆绑在一起,例如将接入设备120c与汇聚设备130a和130b的物理以太端口配置在同一个lag聚合端口,这样接入设备120c在通过lag聚合端口发送数据流时,会通过一定的算法(例如哈希算法)选择转发出接口,以便于增加带宽和改善链路的可靠性,聚合的链路可以当作是一条逻辑链路。在本发明实施例中,也即将至少一个接入设备聚合后的数据链路当作一条逻辑链路,再将该逻辑链路上的数据流负载分担至汇聚设备上,也即至少一个汇聚交换机120上。

值得说明的是,汇聚设备130a和130b也可以通过链路聚合的方式接入网络侧设备,则汇聚设备130a和130b分别连接网络侧设备的两条链路组成一个链路聚合组,例如lag2,该两条链路,例如lag2-1和lag2-2分别为lag2的成员链路,相应的,对应lag2-1和lag2-2的端口称为lag2的成员端口。

在本发明实施例中,为了实现在各接入设备、网络侧设备以及汇聚设备之间形成链路聚合组lag,可通过在各接入设备、网络侧设备以及汇聚设备上配置同样的硬件结构,该硬件结构具体如图2所示。其中,图2是本发明实施例提供的lag功能实现的硬件结构示意图,图2所示的硬件结构集成在接入设备、网络侧设备和汇聚设备上。

其中,如图2所示,该硬件结构中,中央处理器(英文:centralprocessingunit,cpu),用于对各接入设备、网络侧设备和汇聚设备的运行进行控制,例如,对各接入设备、网络侧设备和汇聚设备的lag功能以及lag成员端口的开启与关闭进行控制。在本发明实施例中,该lag功能可以是指数据流的转发行为,该lag功能主要在局域网交换芯片(英文:lanswitch,lsw)中实现。具体地,该数据流的转发行为可通过对转发表项进行配置来实现,从而cpu可用于控制lsw对转发表项的初始化、重配置等。同时cpu还用于控制各接入设备、网络侧设备和汇聚设备之间的协议报文的收发。

随机存取存储器(英文:random-accessmemory,ram)用于存储执行lag功能时所使用的代码和数据,例如,数据流的转发行为实现程序以及上述转发表项等;闪存(flash)用于存储当前运行的程序以及静态配置的参数,例如,可用于存储接入设备、网络侧设备和汇聚设备的当前升级状态的一个标识信息;物理层接口(英文:physicallayerinterface,phy)用于完成各接入设备、网络侧设备以及汇聚设备之间的光口或电器的以太网接口对接。

下面对本发明实施例进行详细说明。首先参见图3,图3是本发明实施例提供的一种跨设备系统数据流转发示意图,图3是基于图1的一个简化结构图,以便于理解基于链路聚合组的数据流转发情形。如图3所示,该网络系统包括第一汇聚交换机以及第二汇聚交换机,当需要对汇聚交换机升级时,例如首先对第一汇聚交换机更换新版本并进行升级时,第一汇聚交换机重启时,第一汇聚交换机上的lag成员端口物理关闭后,接入交换机和网络侧设备发送的数据流会全部切换到第二汇聚交换机,具体可参见图4-a,图4-a是本发明实施例提供的一种跨设备系统中第一汇聚交换机升级重启时数据流转发示意图。当第一汇聚交换机升级到新版本且启动完成后,第一汇聚交换机上的lag成员端口恢复正常通信,第一汇聚交换机通知第二汇聚交换机升级,此时第二汇聚交换机更换新版本并重启,接入交换机和网络侧设备发送的数据流会从第二汇聚交换机全部切换到第一汇聚交换机,具体可参见图4-b,图4-b是本发明实施例提供的一种跨设备系统中第二汇聚交换机升级重启时数据流转发示意图。当第二汇聚交换机升级为新版本后,第一汇聚交换机上的lag成员端口恢复正常通信,接入交换机和网络侧设备发送的数据流重新在第一汇聚交换机和第二汇聚交换机的lag内负载分担。

在本发明实施例中,当第一汇聚交换机升级重启时,第一汇聚交换机的lag成员端口关闭。接入交换机、网络侧设备需要在感知到第一汇聚交换机的lag成员端口故障后将数据流切换至第二汇聚交换机上。而由于网络时延等的存在,接入设备、网络侧设备并无法及时感知到lag成员端口故障,导致在lag成员端口故障后,接入设备、网络侧设备仍然将数据流转发至第一汇聚交换机上,从而造成该数据流的数据包丢失;或者由于第二汇聚交换机中的各单板芯片类型、端口不一致,接入设备、网络侧设备感知到lag成员端口故障时间点也不一致,此时间差越大造成丢包的时间越长,具体可参见图5。图5是本发明实施例提供的一种跨设备系统中第一汇聚交换机升级重启时各端口的故障时间点不一致导致丢包的过程示意图,如图5所示,当第一汇聚交换机的网络侧端口关闭但第一汇聚交换机接入侧端口尚未关闭,或第一汇聚交换机的网络侧端口和接入侧端口均已关闭而接入设备感知端口故障慢时,接入设备仍然向第一汇聚交换机发送数据流,此时第一汇聚交换机不能转发数据流,导致该数据流的数据包丢失。

更进一步地,当第一汇聚交换机升级完成后,第一汇聚交换机的各单板注册成功且各端口恢复正常通信时,与第一汇聚交换机升级时场景类似,由于接入设备、网络侧设备感知端口恢复时间滞后,或由于第一汇聚交换机的单板不同芯片类型、端口介质的差异,第一汇聚交换机的网络侧端口恢复正常通信时间与接入侧端口恢复正常通信的时间可能不一致,同样会出现数据包丢失的情况。此外,由于第一汇聚交换机恢复正常通信时还需要重新建立路由协议,并向转发面下发转发表项,如果转发表项规格过大,表项未下发完成也会造成数据包丢失。

综上所述,跨设备系统升级过程中需要经过多次故障切换,且影响数据流切换及恢复的因素不可控,包括芯片差异、介质差异、端口类型差异、转发表项规格等,升级过程中丢包可能较多,影响用户体验以及增加管理维护成本。因此,本发明提出了一种设备升级方法。参见图6,为本发明实施例提供一种设备升级方法的流程示意图,该设备升级方法应用于跨设备链路聚合场景,如图6所示,该方法可以包括以下步骤:

s601、当目标汇聚设备即将升级时,目标汇聚设备向其所连接的每个接入设备发送第一状态指示消息。

相应地,与所述目标汇聚设备相连的每个接入设备接收所述第一状态指示消息。

其中,所述第一状态指示消息用于通知所述接入设备所述目标汇聚设备的升级状态为升级准备状态。

其中,该目标汇聚设备为即将进行升级的汇聚设备,该目标汇聚设备与至少另一汇聚设备组成跨设备系统,所述跨设备系统与所述接入设备通过跨设备链路聚合方式连接,即所述目标汇聚设备连接所述接入设备的第一链路和所述另一汇聚设备连接所述接入设备的第二链路组成链路聚合组lag,所述第一链路和所述第二链路为所述lag的成员链路,所述第一链路在所述目标汇聚设备上的端口和所述第二链路在所述另一汇聚设备上的端口为所述lag的成员端口。所述目标汇聚设备的状态为升级准备状态意味着该目标汇聚设备的lag成员端口将断开,使得在该目标汇聚设备在升级的过程中无法转发数据流,该目标汇聚设备可以为图1所示的网络系统中的任一汇聚设备。

其中,该接入设备包括但不限于图1所示的网络系统中的接入设备或网络侧设备。也即当在接入设备通过汇聚设备数据流转发数据流时,汇聚设备需要升级,该接入设备可以为当前正处于工作状态的任一接入设备或网络侧设备。

可选地,在本发明的一个实施例中,所述第一状态指示消息包括所述目标汇聚设备的升级状态标识,所述升级状态标识用于表示所述目标汇聚设备的升级状态,由于跨设备系统与各接入设备、网络侧设备(也即另一接入设备)之间均通过链路汇聚控制协议(linkaggregationcontrolprotocol,lacp)进行通信,故目标汇聚设备向接入设备发送第一状态指示消息具体为,目标汇聚设备通过lacp报文发送所述第一状态指示消息,所述lacp协议包括扩展类型长度值(tlv)字段,所述扩展tlv字段包括所述升级状态标识。

可选地,在本发明的一些可能的实施例中,目标汇聚设备也可以通过其它消息或报文向接入设备发送第一状态指示消息。

可选地,在本发明的一个实施例中,目标汇聚设备通过lag成员端口(属于任意一个lag的端口)向对端接入设备发送第一状态指示消息。

具体地,在本发明的一个实施例中,跨设备系统的目标汇聚设备升级时,通知目标汇聚设备的lacp模块当前该目标汇聚设备正处于跨设备系统升级状态中,然后lacp模块在标准的lacp报文中扩展tlv字段,得到扩展的lacp报文,具体可参见表一,表一示出了本发明实施例提供的扩展的lacp报文,相比标准的lacp报文,多了扩展的tlv字段(黑色字体所示)。如下表一所示,该扩展tlv字段包括的类型(tlv_type)为升级信息,长度(length)为升级信息长度update_information_length,以及值(value)为升级状态标识update_state。其中,表一中扩展tlv的各字段的详细说明可参见表二,表二是本发明实施例提供的报文扩展tlv字段说明。然后该目标汇聚设备通过所有lag成员端口发送所述扩展的lacp报文,从而使得各接入设备获知目标汇聚设备的升级状态。

表一

表二

可选地,在本发明的一个实施例中,若跨设备系统包括第一汇聚设备和第二汇聚设备,其中,第一汇聚设备为备汇聚设备,第二汇聚设备为主汇聚设备,若首先对第一汇聚设备进行升级,此时该第一汇聚设备即目标汇聚设备。本发明中,可首先由第二汇聚设备获取到用户升级命令,然后第二汇聚设备通过跨设备内部协议通知到该目标汇聚设备。

更进一步地,在本发明的一个实施例中,可以在第二汇聚设备和该目标汇聚设备的闪存flash中均设置设备升级标记(flag),该设备升级标记用于实时记录各汇聚设备的当前升级状态,并且在升级重启后该升级标记也不丢失。例如,对于目标汇聚设备来说,在升级准备至升级结束期间,该设备升级标记一直标识设备正处于升级状态,而当目标汇聚设备升级完成后,目标汇聚设备的设备升级标记能及时读取目标汇聚设备的升级状态,并将该设备升级标记及时更新为新的状态,也即用于标识设备处于升级完成的状态。可以理解,通过该设备升级标记,可以实时准确地记录汇聚设备的设备升级状态,以方便目标汇聚设备通过读取该设备升级标记及时准确地获取到目标汇聚设备的升级状态并通知到其它设备。

s602、每个接收到所述第一状态指示消息的接入设备将预配置为通过所述目标汇聚设备转发的目标数据流配置为通过其它汇聚设备进行转发。

可选地,在本发明的一个实施例中,与所述目标汇聚设备连接的每个接入设备接收到目标汇聚设备发送的lacp报文后,通过解析该lacp报文,获取到扩展tlv字段的升级状态标识为升级准备状态时,该接入设备将预配置为通过所述目标汇聚设备转发的目标数据流配置为通过其它汇聚设备进行转发。具体来说,所述接入设备将所述目标数据流的出端口修改为所述接入设备连接其他汇聚设备的端口。

在本发明实施例中,接入设备通过各个汇聚设备转发数据流时,可通过对接入设备中的lag转发表进行设置从而控制经过哪个汇聚设备转发哪些数据流。其中,lag转发表包括lag出方向转发表以及lag入方向转发表,lag出方向转发表用于确定数据报文从哪些出端口方向的lag成员端口进行流量负载分担,也即lag出方向转发表中包括可用于向汇聚设备转发数据流的端口,lag入方向转发表用于确定入方向报文的源端口是否属于lag成员。

可选地,在本发明的一个实施例中,当接入设备中包括lag出方向转发表时,该lag出方向转发表用于存储可转发所述目标数据流的汇聚设备连接的该接入设备的端口的标识,该lag出方向转发表包括目标汇聚设备连接的该接入设备的端口的标识,以及其它汇聚设备连接的接入设备的端口的标识,该lag出发向转发表预配置为包括连接该目标汇聚设备的该接入设备的端口的标识与目标数据流的对应关系,从而指示该目标数据流预配置为通过所述目标汇聚设备转发。当目标汇聚设备需要升级时,接入设备接收到第一状态指示消息后,接入设备将目标汇聚设备连接的该接入设备的端口的标识从所述lag出方向转发表中移除,并在lag出方向转发表中配置该目标数据流对应的端口为接入设备连接其它汇聚设备的端口。

举例说明,在本发明的一个实施例中,若汇聚设备包括第一汇聚设备和第二汇聚设备,可首先配置接入设备的lag出方向转发表包括连接第一汇聚设备的端口1和连接第二汇聚设备的端口2,接入设备可通过一定的算法(例如哈希算法)将待转发数据流通过端口1和端口2分配给第一汇聚设备以及第二汇聚设备;当接入设备获知需要对第二汇聚设备进行升级时,也即此时第二汇聚设备为目标汇聚设备,接入设备更新所述接入设备上的lag出方向转发表,将连接第二汇聚设备的端口2从所述lag出方向转发表中移除,从而接入设备不再将待转发数据流分配至第二汇聚设备进行转发。lag出方向转发表的变化情况可参见表三,表三是本发明实施例提供的一种lag出方向转发表变化示意图。其中,lag哈希关键词用于标识各待转发数据流,lag出方向转发表成员用于分别标识连接第一汇聚设备和第二汇聚设备的端口,在该实施例中,连接第一汇聚设备的端口用数字1标识,连接第二汇聚设备的端口用数字2进行标识。可以看出,由于第二汇聚设备在升级,所以当对lag出方向转发表进行更新后,lag出方向转发表成员将不包括连接第二汇聚设备的端口2,从而当利用更新后的lag出方向转发表进行数据流转发时,数据流将不会转发至第二汇聚设备中。

表三

其中,目标数据流是指接入设备转发的数据流中预先配置为通过目标汇聚设备进行转发的那部分数据流。

可以理解,通过更新lag出方向转发表,可调整目标数据流的转发路径,从而保证接入设备能通过处于正常状态的汇聚设备转发数据流,防止数据流包的丢失。

值得说明的是,在接入设备更新lag出方向转发表时,并不更改与限制lag入方向转发表,即该接入设备可接收数据报文。并且接入设备在接收到目标汇聚设备的升级状态时,不将接收的数据报文转发至目标汇聚设备,但依然将所述接收的数据报文转发给其它汇聚设备,以降低网络系统因为跨设备系统升级所造成的影响。

s603、所述目标汇聚设备相连的每个接入设备向所述目标汇聚设备发送第一反馈消息,相应地,所述目标汇聚交换机接收所述每个交换机发送的第一反馈消息。

其中,每个第一反馈消息用于通知所述目标汇聚设备发送所述第一反馈消息的接入设备的对应所述目标汇聚设备的升级状态为升级准备状态,以指示所述目标汇聚设备开始升级。

可选地,在本发明的一个实施例中,所述第一反馈消息包括所述接入设备对应所述目标汇聚设备的的升级状态标识,所述对应所述目标汇聚设备的升级状态标识用于标识所述接入设备相对于所述目标汇聚设备的升级状态,所述接入设备向所述目标汇聚设备发送第一反馈消息时,可通过链路汇聚控制协议(lacp)报文向所述目标汇聚设备发送所述第一反馈消息,该lacp报文包括扩展的tlv字段,该扩展的tlv字段包括所述接入设备对应所述目标汇聚设备的升级状态标识,当接入设备已将预配置为目标汇聚设备的数据流切换至其它汇聚设备后,该升级状态标识指示所述接入设备对所述目标汇聚设备为升级准备状态。可选地,在本发明的一些可能的实施例中,接入设备也可以通过其它消息或报文向目标汇聚设备发送第一反馈消息。

在本发明实施例中,当目标汇聚设备接收到连接的所有接入设备发送的第一反馈消息后,获取到各接入设备对应所述目标汇聚设备的升级状态均为升级准备状态,目标汇聚设备开始升级。

具体地,在本发明的一个实施例中,当目标汇聚设备与接入设备通过lacp协议进行通信,并且在lacp报文中扩展tlv字段携带设备升级状态标识时,目标汇聚设备通过遍历所有接入设备的双归lag成员端口获取到各接入设备对应所述目标汇聚设备的升级状态均为升级准备状态时,目标汇聚设备开始升级。在升级过程中,目标汇聚设备将向各接入设备发送的lacp报文中的扩展tlv字段携带的升级状态标识置为升级状态,以用于表示目标汇聚设备的升级状态为正在升级。所述目标汇聚设备连接的接入设备在通过lacp报文获取到该目标汇聚设备的升级状态时,不改变当前的数据流转发设置。

s604、在所述目标汇聚设备升级完成之后,所述目标汇聚设备向所述目标汇聚设备连接的每个接入设备发送第二状态指示消息,相应地,所述每个接入设备接收所述目标汇聚设备发送的第二状态指示消息。

其中,该第二状态指示消息用于通知所述目标汇聚设备连接的每个接入设备所述目标汇聚设备的升级状态为升级完成状态,以使所述每个接入设备将所述目标数据流重新配置为通过所述汇聚设备进行转发。

具体地,在本发明的一个实施例中,当目标汇聚设备与接入设备通过lacp协议进行通信时,目标汇聚设备将发送的lacp报文中的扩展tlv字段携带的设备升级状态标识置为升级完成状态,以用于表示目标汇聚设备此时的升级状态为升级完成状态。

可选地,在本发明的另一些可能的实施例中,目标汇聚设备也可以通过其它消息或报文向接入设备发送第二状态指示消息。

更进一步地,在本发明的一个实施例中,在目标汇聚设备的闪存flash中设置设备升级标记,目标汇聚设备在升级完成后更新该设备升级标记,该设备升级标记用于标识该目标汇聚设备升级完成,目标汇聚设备可通过读取该设备升级标记来获取到目标汇聚设备此时的升级状态为升级完成,并触发目标汇聚设备将该目标汇聚设备的升级状态通知连接的每个接入设备。

s605、每个接入设备将所述接入设备的目标数据流重新配置为通过所述目标汇聚设备进行转发。

具体地,在本发明的一个实施例中,当在接入设备中包括lag出方向转发表时,该lag出方向转发表用于存储可用于转发所述目标数据流的汇聚设备的lag成员端口的标识,lag出方向转发表预配置为包括连接目标汇聚设备的所述接入设备的端口的标识与所述目标数据流的对应关系,所述接入设备在该lag出方向转发表中将目标数据流对应的端口重新配置为接入设备连接目标汇聚设备的端口,用于指示所述目标数据流通过所述目标汇聚设备的lag成员端口进行转发。从而使得接入设备待转发的目标数据流可重新通过该汇聚设备进行转发,使得网络系统能正常工作。

更进一步地,在本发明的一个实施例中,当接入设备将目标数据流重新配置为通过目标汇聚设备进行转发后,接入设备再向目标汇聚设备发送第二反馈消息。该第二反馈消息用于通知目标汇聚设备,该接入设备对应所述目标汇聚设备的升级状态为升级完成状态,也即该接入设备的目标数据流转发配置重新切换至目标汇聚设备。

可选地,在本发明的一个实施例中,当接入设备将目标数据流重新配置为通过目标汇聚设备进行转发后,接入设备可将lacp报文的tlv扩展字段中的升级状态标识设置为升级完成状态,用于通知目标汇聚设备该接入设备已将数据流重新切换回目标汇聚设备。

可选地,在本发明的另一些可能的实施例中,接入设备在将目标数据流重新切换回至目标汇聚设备后,也可以通过其它消息或报文通知目标汇聚设备该接入设备的升级状态为升级完成状态。

更进一步地,在本发明的一个实施例中,当目标汇聚设备接收到接入设备发送的第二反馈消息后,若目标汇聚设备为所有汇聚设备中最后进行升级的汇聚设备,说明跨设备系统升级完成,若目标汇聚设备不是所有汇聚设备中最后进行升级的汇聚设备,该目标汇聚设备通过跨设备系统内部协议通知其它汇聚设备进行升级,或者该目标汇聚设备通知各汇聚设备中的主汇聚设备该目标汇聚设备已升级完成,以使得主汇聚设备再通知其它汇聚设备进行升级。

值得说明的是,当其它汇聚设备进行升级时,升级过程与该目标汇聚设备的升级过程一样,也即此时将该升级的其它汇聚设备重新确定为目标汇聚设备,并使用上述方法步骤进行升级,直至跨设备系统中所有汇聚设备升级完成。

具体地,在本发明的一个实施例中,在目标汇聚设备的闪存flash中设置设备升级标记,当目标汇聚设备接收到接入设备发送的第二反馈消息后,也即目标汇聚设备的所有升级过程以及数据流切换过程已完成后,该目标汇聚设备将清除该设备升级标记,以释放内存空间,提高运行效率。而此时若再重新确定新的目标汇聚设备,将可以再在该新的目标汇聚设备的flash中设置设备升级标记,以用于实时读取该新的目标汇聚设备的升级状态。

可以看出,本发明实施例的方案中,当目标汇聚设备即将升级时,目标汇聚设备向其所连接的每个接入设备发送第一状态指示消息,该第一状态指示消息用于通知接入设备该目标汇聚设备的升级状态为升级准备状态,接入设备接收到第一状态指示消息后,将预配置为通过目标汇聚设备转发的目标数据流配置为通过其它汇聚设备进行转发,并向目标汇聚设备发送第一反馈消息,该第一反馈消息用于通知所述目标汇聚设备所述接入设备的升级状态为升级准备状态,以指示所述目标汇聚设备开始升级。从而实现在目标汇聚设备升级之前,接入设备提前配置为通过目标汇聚设备的目标数据流切换至其它汇聚设备,防止跨设备系统升级过程中的数据包丢失。

更进一步地,通过该方法,可以屏蔽lag接口芯片类型、端口类型、端口介质、路由规格等导致的数据流中断时间,保证系统工作稳定性,提高用户满意度。

更进一步地,由于该方法并不限制转发数据流的接入设备类型与转发数据流的转出方向,所以使得该方法不仅能防止跨设备系统升级过程中单播数据包丢失,也能防止跨设备系统升级过程中广播数据包、组播数据包以及未知单播数据包的丢失。

参见图7,图7是本发明实施例提供的一种接入设备的结构示意图,用于实现本发明实施例公开的设备升级方法。其中,该接入设备应用于网络系统中,所述网络系统包括所述接入设备以及至少两个汇聚设备,所述至少两个汇聚设备分别连接所述接入设备,如图7所示,本发明实施例提供的一种接入设备700可以包括:

接收模块710,用于接收目标汇聚设备发送的第一状态指示消息,所述第一状态指示消息用于通知所述接入设备所述目标汇聚设备的升级状态为升级准备状态;所述目标汇聚设备为所述至少两个汇聚设备中的任意一个;

配置模块720,用于将预配置为通过所述目标汇聚设备转发的目标数据流配置为通过其它汇聚设备进行转发;

发送模块730,用于向所述目标汇聚设备发送第一反馈消息,所述第一反馈消息用于通知所述目标汇聚设备所述接入设备的升级状态为升级准备状态,以指示所述目标汇聚设备开始升级。

可选地,在所述发送模块730向所述目标汇聚设备发送第一反馈消息之后,所述接收模块710还用于接收所述目标汇聚设备发送的第二状态指示消息,所述第二状态指示消息用于通知所述接入设备所述目标汇聚设备的升级状态为升级完成状态;

所述配置模块720还用于将所述目标数据流重新配置为通过所述目标汇聚设备进行转发。

可选地,所述接入设备包括链路聚合组lag出方向转发表,所述lag出方向转发表用于存储用于转发所述目标数据流的汇聚设备连接的所述接入设备的端口的标识,所述lag出方向转发表预配置为包括连接所述目标汇聚设备的所述接入设备的端口的标识与所述目标数据流的对应关系;

所述配置模块720将预配置为通过所述目标汇聚设备转发的目标数据流配置为通过其它汇聚设备进行,包括:

将连接所述目标汇聚设备的所述接入设备的端口从所述lag出方向转发表中移除,并在所述lag出方向转发表中配置所述目标数据流对应的端口为所述接入设备连接其它汇聚设备的端口。

可选地,所述配置模块720将所述目标数据流重新配置为通过所述目标汇聚设备进行转发,包括:

在所述lag出方向转发表中将所述目标数据流对应的端口重新配置为所述接入设备连接所述目标汇聚设备的端口。

可以看出,本实施例的方案中,当目标汇聚设备即将升级时,目标汇聚设备向其所连接的每个接入设备700发送第一状态指示消息,该第一状态指示消息用于通知接入设备该目标汇聚设备的升级状态为升级准备状态,接入设备700接收到第一状态指示消息后,将预配置为通过目标汇聚设备转发的目标数据流配置为通过其它汇聚设备进行转发,并向目标汇聚设备发送第一反馈消息,该第一反馈消息用于通知所述目标汇聚设备所述接入设备700的升级状态为升级准备状态,以指示所述目标汇聚设备开始升级。从而实现在目标汇聚设备升级之前,接入设备提前配置为通过目标汇聚设备的目标数据流切换至其它汇聚设备,防止跨设备系统升级过程中的数据包丢失。

更进一步地,通过该方法,可以屏蔽lag接口芯片类型、端口类型、端口介质、路由规格等导致的数据流中断时间,保证系统工作稳定性,提高用户满意度。

更进一步地,由于该方法并不限制转发数据流的接入设备类型与转发数据流的转出方向,所以使得该方法不仅能防止跨设备系统升级过程中单播数据包丢失,也能防止跨设备系统升级过程中广播数据包、组播数据包以及未知单播数据包的丢失。

在本实施例中,接入设备700是以单元的形式来呈现。这里的“单元”可以指特定应用集成电路(application-specificintegratedcircuit,asic),执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。

可以理解的是,本实施例的接入设备700的各功能单元的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。

参见图8,图8为本发明实施例提供的另一种接入设备的结构示意图,如图8所示,该接入设备800包括:

通信端口801和处理器802。其中,处理器802也可以为控制器,所述通信端口801用于支持接入设备800(具体可以是接入交换机)与上述实施例中的所述至少两个汇聚设备之间收发信息,以及支持所述接入设备与其他设备之间进行通信。进一步的,接入设备800还可以包括存储器803,存储器803用于存储接入设备800的程序代码和数据,并由处理器802来控制执行。该存储器803可以独立存在,通过总线与处理器802相连接。存储器803也可以和处理器802集成在一起。

可以理解的是,图8仅仅示出了接入设备800的简化设计。在实际应用中,接入设备800可以包含任意数量的通信端口,处理器和存储器等,而所有可以实现本发明实施例的接入设备都在本发明实施例的保护范围之内。

参见图9,图9是本发明实施例提供的一种汇聚设备的结构示意图,用于实现本发明实施例公开的设备升级方法。其中,所述汇聚设备为网络系统中的目标汇聚设备,所述网络系统包括接入设备以及至少两个汇聚设备,所述至少两个汇聚设备分别连接所述接入设备,所述目标汇聚设备为所述至少两个汇聚设备中的任意一个,如图9所示,本发明实施例提供的一种汇聚设备900可以包括:

发送模块910,用于当所述汇聚设备即将升级时,向所述接入设备发送第一状态指示消息,所述第一状态指示消息用于通知所述接入设备所述汇聚设备的升级状态为升级准备状态;

接收模块920,用于接收所述接入设备发送的第一反馈消息,所述第一反馈消息用于通知所述汇聚设备所述接入设备的升级状态为升级准备状态,所述升级准备状态为所述接入设备将预配置为通过所述汇聚设备转发的目标数据流配置为通过其它汇聚设备进行转发。

可选地,在所述接收模块920接收所述接入设备发送的第一反馈消息之后,所述发送模块910还用于在所述汇聚设备升级之后,向所述接入设备发送第二状态指示消息,所述第二状态指示消息用于使所述接入设备将所述目标数据流重新配置为通过所述汇聚设备进行转发,所述第二状态指示消息用于通知所述接入设备所述汇聚设备的升级状态为升级完成状态。

可以看出,本实施例的方案中,当汇聚设备900即将升级时,汇聚设备900向其所连接的每个接入设备发送第一状态指示消息,该第一状态指示消息用于通知接入设备该汇聚设备900的升级状态为升级准备状态,接入设备接收到第一状态指示消息后,将预配置为通过汇聚设备900转发的目标数据流配置为通过其它汇聚设备进行转发,并向汇聚设备900发送第一反馈消息,该第一反馈消息用于通知所述汇聚设备900所述接入设备700的升级状态为升级准备状态,以指示所述汇聚设备开始升级。从而实现在汇聚设备升级之前,接入设备提前配置为通过汇聚设备的目标数据流切换至其它汇聚设备,防止跨设备系统升级过程中的数据包丢失。

更进一步地,通过该方法,可以屏蔽lag接口芯片类型、端口类型、端口介质、路由规格等导致的数据流中断时间,保证系统工作稳定性,提高用户满意度。

更进一步地,由于该方法并不限制转发数据流的接入设备类型与转发数据流的转出方向,所以使得该方法不仅能防止跨设备系统升级过程中单播数据包丢失,也能防止跨设备系统升级过程中广播数据包、组播数据包以及未知单播数据包的丢失。

在本实施例中,汇聚设备900是以单元的形式来呈现。这里的“单元”可以指特定应用集成电路(application-specificintegratedcircuit,asic),执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。

可以理解的是,本实施例的汇聚设备900的各功能单元的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。

参见图10,图10为本发明实施例提供的另一种汇聚设备的结构示意图,如图10所示,该汇聚设备1000包括:

通信端口1001和处理器1002。其中,处理器1002也可以为控制器。所述通信端口1001用于支持汇聚设备1000(具体可以是汇聚交换机)与上述实施例中的所述接入设备之间收发信息,以及支持所述汇聚设备与其他设备之间进行通信。进一步的,汇聚设备1000还可以包括存储器1003,存储器1003用于存储汇聚设备1000的程序代码和数据,并由处理器1002来控制执行。该存储器1003可以是独立存在,通过总线与处理器1002相连接。存储器1003也可以和处理器1002集成在一起。

可以理解的是,图10仅仅示出了汇聚设备1000的简化设计。在实际应用中,汇聚设备1000可以包含任意数量的通信端口,处理器和存储器等,而所有可以实现本发明实施例的汇聚设备都在本发明实施例的保护范围之内。

本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可以实现包括上述方法实施例中记载的任何设备升级方法的部分或全部步骤。前述的存储介质包括:u盘、只读存储器(英文:read-onlymemory)、随机存取存储器(英文:randomaccessmemory,ram)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

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

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