基于双链路管理口的通信方法、设备及存储介质与流程

文档序号:17725560发布日期:2019-05-22 02:29阅读:135来源:国知局
基于双链路管理口的通信方法、设备及存储介质与流程

本发明涉及网络通信技术领域,尤其涉及一种基于双链路管理口的通信方法、设备及存储介质。



背景技术:

随着数据中心的快速发展和对安全性要求的提高,对组网设备进行冗余和备份的要求也随之而来,当前数据中心实际运行设备大部分都采用了堆叠技术,即将多台设备虚拟成一台设备进行管理。在堆叠环境下,控制面的功能都需要在主控设备实现,所以主控设备的管理口作为整个堆叠系统的管理口,承担着控制面报文交互的任务,其余设备的管理口则没有使用。此时,如果主控设备管理口出现故障状态(down),不能继续进行通信,整个堆叠系统就处于脱管状态。



技术实现要素:

本发明的主要目的在于提出一种基于双链路管理口的通信方法、设备及存储介质,旨在解决主控设备管理口出现故障状态不能继续通信的问题。

为实现上述目的,本发明提供的一种基于双链路管理口的通信方法,所述方法包括以下步骤:

获取主设备和备设备对应的主管理口和备管理口的端口状态;

根据所述端口状态,判断所述主管理口和备管理口之中是否存在正常状态的管理口;

若是,则从所述主管理口和所述备管理口中选择一个正常状态的管理口作为逻辑管理口,以处理通信数据。

此外,为实现上述目的,本发明还提出一种设备,所述设备包括处理器和存储器,所述处理器用于执行存储器中存储的按键消抖程序,以实现上述的方法。

此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述的方法。

本发明提出的基于双链路管理口的通信方法、设备及存储介质,通过获取主设备和备设备对应的主管理口和备管理口的端口状态,根据该端口状态,当判断主管理口和备管理口之中存在正常状态的管理口时,则从主管理口和备管理口中选择一个正常状态的管理口作为逻辑管理口,以处理通信数据。本发明利用堆叠系统中原本没有使用的备设备上的管理口作为主设备的管理口的备份,在主链路失效的时候,能够快速有效的切换到备设备管理口以保证控制面不断链。

附图说明

图1为本申请第一实施例提供的基于双链路管理口的通信方法的流程示意图;

图2为本申请中备设备上报消息的结构示意图;

图3为本申请第一实施例提供的基于双链路管理口的通信方法的子流程示意图;

图4为本申请第一实施例提供的基于双链路管理口的通信方法的另一流程示意图一;

图5为本申请第一实施例提供的基于双链路管理口的通信方法的另一流程示意图二;

图6本申请第一实施例提供的基于双链路管理口的通信方法的另一流程示意图三;

图7本申请第一实施例提供的基于双链路管理口的通信方法的另一流程示意图四;

图8为本申请第三实施例中平台的结构框图;

图9为图8中基于双链路管理口的通信程序的模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

第一实施例

如图1所示,为本申请第一实施例提供的基于双链路管理口的通信方法的流程示意图。在图1中,所述基于双链路管理口的通信方法,包括以下步骤:

步骤110,获取主设备和备设备对应的主管理口和备管理口的端口状态;

步骤120,判断所述主管理口和备管理口之中是否存在正常状态的管理口;若是,则进入步骤130;若否,则进入步骤140;

步骤130,从所述主管理口和所述备管理口中选择一个正常状态的管理口作为逻辑管理口,以处理通信数据;

步骤140,管理口处于故障状态。

具体的,主设备和备设备的管理口在各自设备上通过中断上报其正常状态(up)或者故障状态(down)在各自设备上,并通过进程间通信(interprocesscommunication,ipc)消息进行汇总。根据主设备和备设备的上报情况,获取主设备对应的主管理口和备设备对应的备管理口的位置信息(所在设备id)、以及状态信息(up/down)。

根据获取的端口状态,判断主管理口和备管理口之中是否存在正常状态的管理口,若是,则从中选择一个正常状态的管理口作为逻辑管理口处理通信数据。

可选的,在本实施例中,当获取主设备和备设备对应的主管理口和备管理口的端口状态之后,所述方法还包括:

向上层上报管理口状态。

具体的,上报管理口状态的规则为:如果主设备和备设备的管理口状态都为down,则认为管理口状态为down,如果主备管理口有任一个状态为up,则认为管理口状态为up,即对上层来说,两个管理口虚拟为一个逻辑管理口。通过构造ipc消息发送给上层,以通告管理口状态。如图2所示,为上报消息的结构,上报的消息内容包括:主管理口状态、备管理口状态、主设备id、以及备设备id。

可选的,如图3所示,步骤130具体包括以下步骤:

步骤310,判断主管理口为正常状态还是故障状态;若为正常状态,则进入步骤320,若为故障状态,则进入步骤330;

步骤320,选择所述主管理口作为逻辑管理口;

步骤330,选择所述备管理口作为逻辑管理口;

步骤340,删除网络中交换设备上的媒体访问控制mac表项地址。

具体的,当主设备和备设备管理口物理状态都为up状态时,主设备管理口对收到的报文上送至中央处理器(centralprocessingunit,cpu)处理,同时正常对外发送报文。若备设备的管理口收到的报文,备设备不对报文进行任何处理,也不对外发送报文。且网络中的交换设备学习到管理口的媒体访问控制(mediaaccesscontrol,mac)地址出端口为连接主设备管理口的端口(a)。

当主管理口状态为down时,无法接收报文,且主设备和备设备记录当前状态,将mac出口端由主设备管理口的端口a切换至备设备管理口的端口b。由于主管理口状态为down,网络中交换设备上的mac表项被删除。

可选的,设置主备管理口的ip地址和mac地址为相同地址,从而在主管理口状态是down之后,对于网络中的交换设备,地址解析协议(addressresolutionprotocol,arp)表项不需要刷新,从而保证了链路的快速切换。

可选的,如图4所示,当主管理口为故障状态,且接收报文时,所述方法还包括:

步骤410,封装备管理口接收的报文;

步骤420,发送ipc消息至所述主设备,以使所述主设备解析所述备管理口接收的所述报文;

步骤430,发送解析后的报文至所述主设备的处理器进行处理。

具体的,备管理口接收控制报文后,通过ipc消息经由堆叠口上送到主设备,使主设备对备管理口接收的报文进行解析,再将解析后的报文发送至主设备的cpu处理,从而对上层屏蔽掉了主管理口down的事件。

可选的,在如图5所示,在步骤430之后,所述方法还包括:

步骤510,向交换设备广播控制报文切换至所述备设备的消息;

步骤520,接收所述交换设备的响应消息。

具体的,广播控制报文切换至备设备的消息至交换设备,并通过回应报文更新mac信息,使得之后的报文全部切换到备设备管理口所在链路。与备设备连接关系不同的交换设备,其mac更新信息不同,如图6所示,具体通过以下方式实现:

步骤610,根据响应消息,判断所述交换设备是否与所述备设备直接连接;若是,则进入步骤620,若否,则进入步骤630;

步骤620,更新所述交换设备的mac表项地址;

步骤630,保持所述交换设备的mac表项地址不变。

具体的,通过备设备的备管理口发送报文,根据交换设备的相应消息,判断交换设备是否与备设备直连,若交换设备与备设备直连,该交换设备收到报文后,将更新直连交换设备的mac地址表,且与正常情况下的mac地址表相比出,将地址出端口由连接主设备管理口的端口a切换至备设备管理口的端口b。若交换设备没有与备设备直连,则该交换设备的mac表项不会发生变化。

可选的,如图7所示,所述方法还包括以下步骤:

步骤710,检测所述主管理口恢复至正常状态;

步骤720,判断所述交换设备是否与所述主设备直接连接;若是,则进入步骤730;

步骤730,向交换设备广播控制报文切换至所述主设备的消息;

步骤740,更新所述交换设备的mac表项地址。

当所述主管理口为正常状态,且所述备设备收到消息时,所述方法还包括:

关闭报文通过ipc消息上送和报文发送,以使所述备设备不再对接收到的控制报文进行处理。

具体的,由于使用备设备管理口通信需要通过ipc消息将收到的报文上送主设备cpu,会导致ipc消息增加,在控制报文流量较多时,可能对堆叠设备间原有的板间通信造成拥塞,从而在主链路恢复后,需要将报文切换回主链路。当检测主管理口状态恢复为up时,向交换设备广播控制报文切换至所述主设备的消息,并判断交换设备是否与主设备直连,若交换设备与主设备直连,在主设备上,由于备管理口一直处于up状态,直连的交换设备上的mac表项不会更新,需要主设备管理口主动发送报文去更新mac表项,以使与主设备直连的交换设备上堆叠系统管理口mac表项对应出端口由连接备设备管理口的端口b迁移到主设备管理口的端口a,使得上行软件定义网络(softwaredefinednetwork,sdn)控制流能够通过a口发送到设备。备设备收到状态消息后,关闭报文通过ipc消息上送和报文发送,不再对接收到的控制报文进行处理,sdn控制流完全切换到主设备管理口。若交换设备没有与主设备直连,则该交换设备的mac表项保持不变。

本实施例的基于双链路管理口的通信方法,通过获取主设备和备设备对应的主管理口和备管理口的端口状态,根据该端口状态,当判断主管理口和备管理口之中存在正常状态的管理口时,则从主管理口和备管理口中选择一个正常状态的管理口作为逻辑管理口,以处理通信数据。本发明利用堆叠系统中原本没有使用的备设备上的管理口作为主设备的管理口的备份,在主链路失效的时候,能够快速有效的切换到备设备管理口以保证控制面不断链。

第二实施例

如图8所示,为本申请第二实施例提供一种设备硬件架构的示意图。在图8中,设备包括:存储器810、处理器820及存储在所述存储器810上并可在所述处理器820上运行的基于双链路管理口的通信程序830。在本实施例中,所述的基于双链路管理口的通信程序830包括一系列的存储于存储器810上的计算机程序指令,当该计算机程序指令被处理器820执行时,可以实现本发明各实施例的应用程序图标显示操作。在一些实施例中,基于该计算机程序指令各部分所实现的特定的操作,基于双链路管理口的通信程序830可以被划分为一个或多个模块。如图9所示,基于双链路管理口的通信程序830包括:获取模块910、判断模块920、管理口选择模块930、删除模块940、报文封装模块950、发送模块960、广播模块970、接收模块980、以及更新模块990。其中,

获取模块910,用于获取主设备和备设备对应的主管理口和备管理口的端口状态;

判断模块920,用于判断所述主管理口和备管理口之中是否存在正常状态的管理口;若是,则触发管理口选择模块930;若否,则判断模块920判定管理口处于故障状态;

管理口选择模块930,用于从所述主管理口和所述备管理口中选择一个正常状态的管理口作为逻辑管理口,以处理通信数据。

具体的,主设备和备设备的管理口在各自设备上通过中断上报其正常状态(up)或者故障状态(down)在各自设备上,并通过ipc消息进行汇总。根据主设备和备设备的上报情况,获取模块910获取主设备对应的主管理口和备设备对应的备管理口的位置信息(所在设备id)、以及状态信息(up/down)。

根据获取的端口状态,判断模块920判断主管理口和备管理口之中是否存在正常状态的管理口,若是,则管理口选择模块930从中选择一个正常状态的管理口作为逻辑管理口处理通信数据。

可选的,在本实施例中,当获取模块910获取主设备和备设备对应的主管理口和备管理口的端口状态之后,所述处理器820用于执行存储器810中存储的基于双链路管理口的通信程序830,以实现以下步骤:

向上层上报管理口状态。

具体的,上报管理口状态的规则为:如果主设备和备设备的管理口状态都为down,则认为管理口状态为down,如果主备管理口有任一个状态为up,则认为管理口状态为up,即对上层来说,两个管理口虚拟为一个逻辑管理口。通过构造ipc消息发送给上层,以通告管理口状态。如图2所示,为上报消息的结构,上报的消息内容包括:主管理口状态、备管理口状态、主设备id、以及备设备id。

判断模块920,还用于判断主管理口为正常状态还是故障状态;若为正常状态,则管理口选择模块930选择所述主管理口作为逻辑管理口,若为故障状态,则管理口选择模块930选择所述备管理口作为逻辑管理口;

删除模块940,用于删除网络中交换设备上的mac表项地址。

具体的,当主设备和备设备管理口物理状态都为up状态时,主设备管理口对收到的报文上送至中央处理器(centralprocessingunit,cpu)处理,同时正常对外发送报文。若备设备的管理口收到的报文,备设备不对报文进行任何处理,也不对外发送报文。且网络中的交换设备学习到管理口的媒体访问控制(mediaaccesscontrol,mac)地址出端口为连接主设备管理口的端口(a)。

当主管理口状态为down时,无法接收报文,且主设备和备设备记录当前状态,将mac出口端由主设备管理口的端口a切换至备设备管理口的端口b。由于主管理口状态为down,网络中交换设备上的mac表项被删除。

可选的,设置主备管理口的ip地址和mac地址为相同地址,从而在主管理口状态是down之后,对于网络中的交换设备,地址解析协议(addressresolutionprotocol,arp)表项不需要刷新,从而保证了链路的快速切换。

可选的,当主管理口为故障状态,且接收报文时,报文封装模块950,用于封装备管理口接收的报文;

发送模块960,用于发送ipc消息至所述主设备,以使所述主设备解析所述备管理口接收的所述报文;以及,发送解析后的报文至所述主设备的处理器进行处理。

具体的,备管理口接收控制报文后,通过ipc消息经由堆叠口上送到主设备,使主设备对备管理口接收的报文进行解析,再将解析后的报文发送至主设备的cpu处理,从而对上层屏蔽掉了主管理口down的事件。

广播模块970,用于向交换设备广播控制报文切换至所述备设备的消息;

接收模块980,用于接收所述交换设备的响应消息。

具体的,广播模块970广播控制报文切换至备设备的消息至交换设备,并通过接收模块980接收的回应报文更新mac信息,使得之后的报文全部切换到备设备管理口所在链路。与备设备连接关系不同的交换设备,其mac更新信息不同,具体通过以下方式实现:

判断模块920,还用于根据响应消息,判断所述交换设备是否与所述备设备直接连接;若是,则触发更新模块990更新所述交换设备的mac表项地址,若否,则保持所述交换设备的mac表项地址不变。

具体的,通过备设备的备管理口发送报文,根据交换设备的相应消息,判断模块920判断交换设备是否与备设备直连,若交换设备与备设备直连,该交换设备收到报文后,更新模块990更新直连交换设备的mac地址表,且与正常情况下的mac地址表相比出,将地址出端口由连接主设备管理口的端口a切换至备设备管理口的端口b。若交换设备没有与备设备直连,则该交换设备的mac表项不会发生变化。

可选的,如图7所示,所述方法还包括以下步骤:

获取模块910,还用于检测所述主管理口恢复至正常状态;

判断模块920,还用于判断所述交换设备是否与所述主设备直接连接;若是,则触发广播模块970向交换设备广播控制报文切换至所述主设备的消息,且更新模块990更新所述交换设备的mac表项地址。

当所述主管理口为正常状态,且所述备设备收到消息时,处理器820还用于执行存储器810中存储的基于双链路管理口的通信程序830,以实现以下步骤:

关闭报文通过ipc消息上送和报文发送,以使所述备设备不再对接收到的控制报文进行处理。

具体的,由于使用备设备管理口通信需要通过ipc消息将收到的报文上送主设备cpu,会导致ipc消息增加,在控制报文流量较多时,可能对堆叠设备间原有的板间通信造成拥塞,从而在主链路恢复后,需要将报文切换回主链路。当获取模块910检测主管理口状态恢复为up时,向交换设备广播控制报文切换至所述主设备的消息,判断模块920判断交换设备是否与主设备直连,若交换设备与主设备直连,在主设备上,由于备管理口一直处于up状态,直连的交换设备上的mac表项不会更新,需要主设备管理口主动发送报文去更新mac表项,以使与主设备直连的交换设备上堆叠系统管理口mac表项对应出端口由连接备设备管理口的端口b迁移到主设备管理口的端口a,使得上行软件定义网络(softwaredefinednetwork,sdn)控制流能够通过a口发送到设备。若备设备同时接收到状态消息,则关闭报文通过ipc消息上送和报文发送,不再对接收到的控制报文进行处理,sdn控制流完全切换到主设备管理口。若交换设备没有与主设备直连,则该交换设备的mac表项保持不变。

本实施例的终端,通过获取模块910获取主设备和备设备对应的主管理口和备管理口的端口状态,根据该端口状态,当判断模块920判断主管理口和备管理口之中存在正常状态的管理口时,则管理口选择模块930从主管理口和备管理口中选择一个正常状态的管理口作为逻辑管理口,以处理通信数据。本发明利用堆叠系统中原本没有使用的备设备上的管理口作为主设备的管理口的备份,在主链路失效的时候,能够快速有效的切换到备设备管理口以保证控制面不断链。

第三实施例

本申请实施例还提供了一种计算机可读存储介质。这里的计算机可读存储介质存储有一个或者多个程序。其中,计算机可读存储介质可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘;存储器还可以包括上述种类的存储器的组合。当计算机可读存储介质中一个或者多个程序可被一个或者多个处理器执行,以实现上述第一实施例所提供的基于双链路管理口的通信方法。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。

上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本申请的保护之内。

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