一种Openflow交换机快速主备切换的方法和系统与流程

文档序号:12828868阅读:323来源:国知局
一种Openflow交换机快速主备切换的方法和系统与流程

本发明涉及网络通信技术领域,具体涉及软件定义网络(softwaredefinednetwork,sdn)与传统ip网络结合部署时,一种实现openflow交换机快速主备切换的方法和系统。



背景技术:

sdn是一种控制平面与转发平面分离的网络,通常由sdn控制器及其上的应用进行集中化的网络管理,由其下发转发策略给下辖的交换机,下辖的交换机不自主参与网络构建,仅按照sdn控制器下发的转发策略进行转发操作。openflow协议是sdn控制器与下辖交换机间常用的一种交互协议,支持openflow协议的交换机也称为openflow交换机,以区别于传统交换机。

sdn技术具有可编排、易创新、易部署等优势,近年来,越来越多的运营商、互联网服务提供商等开始积极尝试采用sdn技术解决现有网络在安全防护、流量管理、运维管理、新业务上线等方面遇到的问题,因此也出现了sdn网络与传统网络结合部署的情况。

如图1所示,sdn与传统网络结合部署,传统网络流量经由传统交换机1到达openflow交换机,经过sdn网络后,经由传统交换机2返回传统网络。为了确保网络高可靠、高可用,openflow交换机采用主备设计,当其中一台交换机不可用时,流量能够快速切换到另外一台可用的交换机。但是如果不对openflow交换机主备切换的操作顺序进行合理设计,而是当一台openflow交换机因故障中断时,直接启用备份的openflow交换机,会引发传统交换机采用stp(spanningtreeprotocol)、rstp(rapidspanningtreeprotocol)进行路径选择,避免环路的产生,但是算法需要时间收敛。默认最慢情况下,stp的收敛时间达到50秒,rstp的收敛时间达到6秒,这个主备切换时间对于实时性高的网络应用是不可接受的。



技术实现要素:

为了解决上述技术问题,本发明提供了一种openflow交换机快速主备切换的方法和系统,能够在sdn与传统网络结合部署时,实现openflow交换机快速主备切换。

为了达到本发明目的,本发明提供了一种openflow交换机快速主备切换的方法,应用在sdn控制器上,包括:

预先将sdn中openflow交换机设置为主交换机或备交换机;获取sdn中主交换机和备交换机的可用性状态信息,所述可用性状态信息包括与传统交换机相连接的端口号和与所述端口号对应的端口状态;

如果根据可用性状态信息确定主交换机出现故障,则选举一台可用的备交换机变更为新主交换机,并将故障的主交换机变更为备交换机;

将传输路径切换到新主交换机,通过新主交换机与传统交换机进行数据传输。

进一步地,所述方法还包括:为备交换机下发drop策略,备交换机基于drop策略对于接收到的数据进行直接丢弃。

进一步地,所述备交换机的drop策略具有最高优先级,在备交换机中drop策略优先于其他转发策略执行。

进一步地,所述可用性状态信息包括与传统交换机相连接的端口号和与所述端口号对应的端口状态,其中端口状态包括端口正常或端口异常;所述方法还包括:如果主交换机的可用性状态信息中的端口状态为端口异常,则判断出主交换机出现故障,将主交换机出现故障的信息发送到主备切换消息队列。

进一步地,所述选举一台可用的备交换机变更为新主交换机,并将故障的主交换机变更为备交换机的步骤包括:如果主备切换消息队列不为空,则获取故障的主交换机与传统交换机连接的端口号,将所述端口号对应的端口设置为down状态;选举一台可用的备交换机变更为新主交换机,并为所述新主交换机删除drop策略;将故障的主交换机变更为备交换机,并为所述故障的主交换机变更为的备交换机下发drop策略;将所述故障的主交换 机变更为的备交换机的与传统交换机相连接的端口设置为up状态。

进一步地,所述方法还包括:通过openflow交换机端口的down状态的设置触发相连接的传统交换机进行路径切换。

本发明还提供了一种实现openflow交换机快速主备切换装置,包括:

功能应用模块,用于获取sdn中主交换机和备交换机的可用性状态信息,所述可用性状态信息包括与传统交换机相连接的端口号和与所述端口号对应的端口状态;如果根据可用性状态信息确定主交换机出现故障,则选举一台可用的备交换机变更为新主交换机,并将故障的主交换机变更为备交换机;将传输路径切换到新主交换机,通过新主交换机与传统交换机进行数据传输;

接口模块,用于通过调用sdn控制器提供的应用开发接口,实现功能应用模块和sdn控制器的数据传输。

进一步地,所述功能应用模块,还用于为备交换机下发具有最高优先级drop策略。

进一步地,所述功能应用模块,还用于如果根据主交换机的可用性状态信息判断出主交换机出现故障,将主交换机出现故障的信息发送到主备切换消息队列。

进一步地,所述功能应用模块选举一台可用的备交换机变更为新主交换机,并将故障的主交换机变更为备交换机具体为:如果主备切换消息队列不为空,则获取故障的主交换机与传统交换机连接的端口号,将所述端口号对应的端口设置为down状态;选举一台可用的备交换机变更为新主交换机,并为所述新主交换机删除drop策略;将故障的主交换机变更为备交换机,并为所述故障的主交换机变更为的备交换机下发drop策略;将所述故障的主交换机变更为的备交换机的与传统交换机相连接的端口设置为up状态。

与现有技术相比,本发明通过对于openflow交换机的最高优先级的drop策略的增删以及openflow交换机端口的down/up设置,实现主备交换机的选择;通过openflow交换机端口的down设置通知相连接的传统交换机进行路径切换。由于将drop策略设置为最高优先级,因此该策略会 优先于其他转发策略执行,不影响其他应用在调整转发策略时对主备交换机进行策略同步。如果传统交换机打开stp,该stp协议用于在网络中建立树形拓扑及消除网络中的环路,在认为传统交换机和主备交换机之间产生环路时会启动路径计算过程,本发明通过将故障的主交换机与传统交换机连接的端口设置为down状态,让传统交换机同时作出故障的主交换机所在路径已断的判断,避免了打开stp的传统交换机认为环路产生而启动路径计算过程,省去了收敛时间,从而实现openflow交换机快速主备切换。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。

图1是现有技术提供的sdn网络与传统网络结合部署实现openflow交换机主备切换的架构示意图;

图2是本发明提供的实现openflow交换机快速主备切换系统的架构示意图。

图3是本发明提供的openflow交换机快速主备切换的方法的流程示意图。

图4是本发明提供的实现openflow交换机快速主备切换装置的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机 系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图2是本发明提供的实现openflow交换机快速主备切换系统的架构示意图。如图2所示,sdn网络与传统网络部署实现openflow交换机快速主备切换,其中,传统网络流量经由传统交换机1到达openflow交换机,经过sdn网络后,经由传统交换机2返回传统网络。在本发明中,对openflow交换机的数量不做限制,在具体的实施例中,以openflow交换机1和openflow交换机2为例进行描述。

相较于现有技术,当需要进行主备切换时,本发明的sdn控制器能够获取openflow交换机的可用性状态信息从而对openflow交换机进行监控,对openflow交换机进行主备切换控制。

图3是本发明提供的openflow交换机快速主备切换的方法的流程示意图。如图3所示,该方法包括:

步骤301,预先将sdn中openflow交换机设置为主交换机或备交换机。

在本步骤中,预先设置sdn中的一台openflow交换机为主交换机,其余的openflow交换机为备交换机。如存在多于一个备交换机时,可以设置备交换机的优先级顺序,具体如何设置在此不赘述。

此外,为备交换机下发最高优先级的drop策略,备交换机基于drop策略对于接收到的数据进行直接丢弃,并不反馈任何回应。由于drop策略具有最高优先级,该drop策略会优先于其他转发策略执行,因此不影响其他应用在调整转发策略时对主备交换机进行策略同步。

步骤302,获取sdn中主交换机和备交换机的可用性状态信息。

相较于现有技术,sdn控制器新增加功能应用,该功能应用包含两部分,一部分是openflow交换机监控进程,交换机的各种可用性相关的状态信息可以通过openflow协议中交换机状态信息或发送探测数据包的方法获取;一部分是openflow交换机主备切换控制进程。

在本步骤中,通过新增加的功能应用获取sdn中主交换机和备交换机的可用性状态信息,该可用性状态信息包括与传统交换机相连接的端口号和该 端口号对应的端口状态,其中端口状态包括端口正常或端口异常,端口异常的原因可以是端口故障、端口掉线等。

步骤303,根据可用性状态信息判断主交换机是否出现故障,如果是,进行步骤304;如果否,返回步骤302。

在本步骤中,sdn控制器根据获取到的主交换机的可用性状态信息中端口状态来判断主交换机是否出现故障。

步骤304,如果根据可用性状态信息确定主交换机出现故障,则选举一台可用的备交换机变更为新主交换机,并将故障的主交换机变更为备交换机。

在本步骤中,如果通过端口状态判断出主交换机出现故障,将主交换机出现故障的信息发送到主备切换消息队列。

判断主备切换消息队列是否为空,如果不为空,则获取主交换机与传统交换机连接的端口号,主备控制模块将该端口号对应的端口设置为down状态,从而触发和该端口相连接的传统交换机进行路径切换。

选举一台可用的备交换机变更为新主交换机,并为新主交换机删除drop策略,即由备交换机变更为的新主交换机对接收到的数据进行处理和回应。

将故障的主交换机变更为备交换机,并为该备交换机下发drop策略,即由故障的主交换机变更为的备交换机将对接收到的数据进行直接丢弃,并不反馈任何回应。

将原主交换机与传统交换机连接的端口设置为up状态。

步骤305,将传输路径切换到新主交换机,通过新主交换机与传统交换机进行数据传输。

在本步骤中,在新主交换机确定后,将传输路径从故障的主交换机切换到新主交换机上,通过新主交换机与传统交换机进行数据传输,对接收到的数据进行处理和回应。

图4是本发明提供的实现openflow交换机快速主备切换装置的结构示意图。如图4所示,包括:

功能应用模块401,用于判断是否需要获取sdn中openflow交换机的 可用性状态信息;如果需要,获取sdn中主交换机和备交换机的可用性状态信息;根据可用性状态信息判断主交换机是否出现故障;在确定主交换机出现故障后,选举一台可用的备交换机变更为新主交换机,并将故障的主交换机变更为备交换机;将传输路径切换到新主交换机,通过新主交换机与传统交换机进行数据传输;

接口模块402,用于通过调用sdn控制器提供的应用开发接口,实现功能应用模块和sdn控制器的数据传输。

相较于现有技术,本发明通过sdn控制器上新增加功能应用,该功能应用通过接口模块控制sdn控制器获取openflow交换机的可用性状态信息对openflow交换机进行监控;当根据可用性状态信息判断主交换机故障需要进行主备切换时,对openflow交换机进行快速主备切换控制。

本发明的实现openflow交换机快速主备切换装置的具体技术细节和前述的实现openflow交换机快速主备切换方法对应的技术细节类似,故在此不赘述。

本发明提供的openflow交换机快速主备切换方法和装置,通过对于openflow交换机的最高优先级的drop策略的增删以及openflow交换机端口的down/up设置,实现主备交换机的选择。通过openflow交换机端口的down设置触发相连接的传统交换机进行路径切换。由于将drop策略设置为最高优先级,因此该策略会优先于其他转发策略执行,不影响其他应用在调整转发策略时对主备交换机进行策略同步。如果传统交换机打开stp,该stp协议用于在网络中建立树形拓扑及消除网络中的环路,在认为传统交换机和主备交换机之间产生环路时会启动路径计算过程,由于将故障的主交换机与传统交换机连接的端口设置为down状态,让传统交换机同时作出故障的主交换机所在路径已断的判断,避免了打开stp的传统交换机认为环路产生而启动路径计算过程,省去了收敛时间,从而openflow交换机快速主备切换。

所属技术领域的技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,并被通讯设备内部的处理器执行,前述的程序在被执行时 处理器可以执行包括上述方法实施例的全部或者部分步骤。其中,所述处理器可以作为一个或多个处理器芯片实施,或者可以为一个或多个专用集成电路(applicationspecificintegratedcircuit,asic)的一部分;而前述的存储介质可以包括但不限于以下类型的存储介质:闪存(flashmemory)、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

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

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