软件定义网络设备与控制器连接状态的指示方法及装置与流程

文档序号:19615441发布日期:2020-01-07 08:05阅读:207来源:国知局
软件定义网络设备与控制器连接状态的指示方法及装置与流程

本发明涉及通信领域,具体而言,涉及一种软件定义网络设备与控制器连接状态的指示方法及装置。



背景技术:

软件定义网络(softwaredefinednetwork,简称为sdn)是一种数据控制分离、软件可编程的新型网络体系架构。sdn采用了集中式的控制平面和分布式的转发平面,两个平面相互分离、控制平面利用控制-转发通信接口对转发平面上的网络设备进行集中式控制,并提供灵活的可编程能力,控制信令的流量发生在控制器与网络设备之间,独立于终端间通信产品产生的数据流量,网络设备通过接受控制信令生成转发表,并据此决定数据流量的处理,不再需要使用复杂的分布式网络协议来进行数据转发。

sdn体系架构并不是一种具体的网络协议,而是一种网络协议体系框架,这种框架中可以包含多种接口协议。如使用openflow等南向接口协议实现sdn控制器与sdn交换机的交互,使用北向应用程序接口(applicationprogramminginterface,简称为api)实现业务应用与sdn控制器的交互。

针对相关技术中的,软件定义网络设备与控制器之间连接状态无法直观显示的问题,目前还没有有效的解决方案。



技术实现要素:

本发明提供了一种软件定义网络设备与控制器连接状态的指示方法及装置,以至少解决相关技术中软件定义网络设备与控制器之间连接状态无法直观显示的问题。

根据本发明的一个方面,提供了一种软件定义网络设备与控制器连接状态的指示方法,包括:

软件定义网络sdn设备发送与控制器建链的传输控制协议(transfercontrolprotocol,简称为tcp)报文;

在所述tcp报文的目的ip为所述控制器的ip,所述tcp报文的目的端口为所述控制器的端口的情况下,所述sdn设备发送第一指示指令给所述软件定义网络sdn设备上的led指示灯,所述第一指示指令指示所述软件定义网络sdn设备上的led指示灯处于第一类颜色的第一状态。

进一步地,所述软件定义网络sdn设备发送与控制器建链的传输控制协议tcp报文之前,所述方法还包括:

所述sdn设备发送第二指示指令给所述软件定义网络sdn设备上的led指示灯,所述第二指示指令指示所述led指示灯处于所述第一类颜色的第二状态。

进一步地,所述软件定义网络sdn设备发送与控制器建链的传输控制协议tcp报文之后,所述方法还包括:

所述sdn设备接收所述控制器的第一建立报文,并且依据所述第一建立报文向所述控制器发送第二建立报文后,所述sdn设备发送第三指示指令给所述软件定义网络sdn设备上的led指示灯,所述第三指示指令指示所述软件定义网络sdn设备上的led指示灯处于第二类颜色的第二状态;

所述sdn设备未接收所述控制器的所述第一建立报文,所述sdn设备发送第四指示指令给所述软件定义网络sdn设备上的led指示灯,所述第四指示指令指示所述软件定义网络sdn设备上的led指示灯处于第三类颜色的第二状态。

进一步地,所述依据所述第一建立报文向所述控制器发送所述第二建立报文后,所述方法包括:

所述sdn设备接收所述控制器发送的响应请求报文后,所述sdn设备发送第五指示指令给所述软件定义网络sdn设备上的led指示灯,所述第五指示指令指示所述软件定义网络sdn设备上的led指示灯持续处于所述第二类颜色的第二状态;

所述sdn设备未接收所述控制器发送的响应请求报文后,所述sdn设备发送第六指示指令给所述软件定义网络sdn设备上的led指示灯,所述第六指示指令指示所述软件定义网络sdn设备上的led指示灯处于所述第三类颜色的第一状态;

所述sdn设备未接收所述控制器发送的响应请求报文的时间达到预设时间阈值后,所述sdn设备发送第七指示指令给所述软件定义网络sdn设备上的led指示灯,所述第七指示指令指示所述软件定义网络sdn设备上的led指示灯处于所述第二类颜色的第二状态。

进一步地,所述依据所述第一建立报文向所述控制器发送所述第二建立报文后,所述方法包括:

在所述sdn设备与所述控制器交互协议的控制消息的情况下,所述sdn设备发送第八指示指令给所述软件定义网络sdn设备上的led指示灯,所述第八指示指令指示所述软件定义网络sdn设备上的led指示灯处于所述第二类颜色的第一状态。

根据本发明的另一个方面,还提供了一种软件定义网络设备与控制器连接状态的指示装置,包括:

第一发送模块,用于软件定义网络sdn设备发送与控制器建链的传输控制协议tcp报文;

第二发送模块,用于在所述tcp报文的目的ip为所述控制器的ip,所述tcp报文的目的端口为所述控制器的端口的情况下,所述sdn设备发送第一指示指令给所述软件定义网络sdn设备上的led指示灯,所述第一指示指令指示所述软件定义网络sdn设备上的led指示灯处于第一类颜色的第一状态。

进一步地,所述装置还包括:

第三发送模块,用于所述软件定义网络sdn设备发送与控制器建链的传输控制协议tcp报文之前,所述sdn设备发送第二指示指令给所述软件定义网络sdn设备上的led指示灯,所述第二指示指令指示所述led指示灯处于所述第一类颜色的第二状态。

进一步地,所述装置还包括:

第一接收模块,用于所述软件定义网络sdn设备发送与控制器建链的传输控制协议tcp报文之后,所述sdn设备接收所述控制器的第一建立报文;

第四发送模块,用于依据所述第一建立报文向所述控制器发送第二建立报文后,所述sdn设备发送第三指示指令给所述软件定义网络sdn设备上的led指示灯,所述第三指示指令指示所述软件定义网络sdn设备上的led指示灯处于第二类颜色的第二状态;

第五发送模块,用于所述软件定义网络sdn设备发送与控制器建链的传输控制协议tcp报文之后,所述sdn设备未接收所述控制器的所述第一建立报文,所述sdn设备发送第四指示指令给所述软件定义网络sdn设备上的led指示灯,所述第四指示指令指示所述软件定义网络sdn设备上的led指示灯处于第三类颜色的第二状态。

进一步地,所述装置包括:

第二接收模块,用于所述依据所述第一建立报文向所述控制器发送所述第二建立报文后,所述sdn设备接收所述控制器发送的响应请求报文;

第六发送模块,用于所述sdn设备接收所述控制器发送的响应请求报文后,所述sdn设备发送第五指示指令给所述软件定义网络sdn设备上的led指示灯,所述第五指示指令指示所述软件定义网络sdn设备上的led指示灯持续处于所述第二类颜色的第二状态;

第七发送模块,用于所述sdn设备未接收所述控制器发送的响应请求报文后,所述sdn设备发送第六指示指令给所述软件定义网络sdn设备上的led指示灯,所述第六指示指令指示所述软件定义网络sdn设备上的led指示灯处于所述第三类颜色的第一状态;

第八发送模块,用于所述sdn设备未接收所述控制器发送的响应请求报文的时间达到预设时间阈值后,所述sdn设备发送第七指示指令给所述软件定义网络sdn设备上的led指示灯,所述第七指示指令指示所述软件定义网络sdn设备上的led指示灯处于所述第二类颜色的第二状态。

进一步地,所述装置包括:

第九发送模块,用于所述依据所述第一建立报文向所述控制器发送所述第二建立报文后,在所述sdn设备与所述控制器交互协议的控制消息的情况下,所述sdn设备发送第八指示指令给所述软件定义网络sdn设备上的led指示灯,所述第八指示指令指示所述软件定义网络sdn设备上的led指示灯处于所述第二类颜色的第一状态。

通过本发明,软件定义网络sdn设备发送与控制器建链的传输控制协议tcp报文,在该tcp报文的目的ip为该控制器的ip,该tcp报文的目的端口为该控制器的端口的情况下,该sdn设备发送第一指示指令给该软件定义网络sdn设备上的led指示灯,该第一指示指令指示该软件定义网络sdn设备上的led指示灯处于第一类颜色的第一状态,解决了软件定义网络设备与控制器之间连接状态无法直观显示的问题,实现了直观显示sdn设备与控制器之间的连接状态。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种软件定义网络设备与控制器连接状态的指示方法的流程图;

图2是根据本发明实施例的一种软件定义网络设备与控制器连接状态的指示装置的结构框图;

图3是根据本发明优选实施例的sdn设备与控制器连接状态流程示意图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

在本实施例中提供了一种软件定义网络设备与控制器连接状态的指示方法,图1是根据本发明实施例的一种软件定义网络设备与控制器连接状态的指示方法的流程图,如图1所示,该流程包括如下步骤:

步骤s102,软件定义网络sdn设备发送与控制器建链的传输控制协议tcp报文;

步骤s104,在该tcp报文的目的ip为该控制器的ip,该tcp报文的目的端口为该控制器的端口的情况下,该sdn设备发送第一指示指令给该软件定义网络sdn设备上的led指示灯,该第一指示指令指示该软件定义网络sdn设备上的led指示灯处于第一类颜色的第一状态。

通过上述步骤,软件定义网络sdn设备发送与控制器建链的传输控制协议tcp报文后,在该tcp报文的目的ip为该控制器的ip,该tcp报文的目的端口为该控制器的端口的情况下,该sdn设备发送第一指示指令给该软件定义网络sdn设备上的led指示灯,该第一指示指令指示该软件定义网络sdn设备上的led指示灯处于第一类颜色的第一状态,解决了软件定义网络设备与控制器之间连接状态无法直观显示的问题,实现了直观显示sdn设备与控制器之间的连接状态。

在本实施例中,需要说明是的是,第一类颜色,第二类颜色以及第三类颜色可以是黄色,绿色,红色中的任一种,或者是其他颜色,第一状态和第二状态可以是长亮状态,可以是闪烁状态,也可以是其他的状态。

在本实施例中,该软件定义网络sdn设备发送与控制器建链的传输控制协议tcp报文之前,该sdn设备发送第二指示指令给该软件定义网络sdn设备上的led指示灯,该第二指示指令指示该led指示灯处于该第一类颜色的第二状态。

在本实施例中,该软件定义网络sdn设备发送与控制器建链的传输控制协议tcp报文之后,该sdn设备接收该控制器的第一建立报文,并且依据该第一建立报文向该控制器发送第二建立报文后,该sdn设备发送第三指示指令给该软件定义网络sdn设备上的led指示灯,该第三指示指令指示该软件定义网络sdn设备上的led指示灯处于第二类颜色的第二状态;

该sdn设备未接收该控制器的该第一建立报文,该sdn设备发送第四指示指令给该软件定义网络sdn设备上的led指示灯,该第四指示指令指示该软件定义网络sdn设备上的led指示灯处于第三类颜色的第二状态。

在本实施例中,该依据该第一建立报文向该控制器发送该第二建立报文后,该sdn设备接收该控制器发送的响应请求报文后,该sdn设备发送第五指示指令给该软件定义网络sdn设备上的led指示灯,该第五指示指令指示该软件定义网络sdn设备上的led指示灯持续处于该第二类颜色的第二状态;

该sdn设备未接收该控制器发送的响应请求报文后,该sdn设备发送第六指示指令给该软件定义网络sdn设备上的led指示灯,该第六指示指令指示该软件定义网络sdn设备上的led指示灯处于该第三类颜色的第一状态;

该sdn设备未接收该控制器发送的响应请求报文的时间达到预设时间阈值后,该sdn设备发送第七指示指令给该软件定义网络sdn设备上的led指示灯,该第七指示指令指示该软件定义网络sdn设备上的led指示灯处于该第二类颜色的第二状态。

在本实施例中,该依据该第一建立报文向该控制器发送该第二建立报文后,在该sdn设备与该控制器交互协议的控制消息的情况下,该sdn设备发送第八指示指令给该软件定义网络sdn设备上的led指示灯,该第八指示指令指示该软件定义网络sdn设备上的led指示灯处于该第二类颜色的第一状态。

在本实施例中还提供了一种软件定义网络设备与控制器连接状态的指示装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图2是根据本发明实施例的一种软件定义网络设备与控制器连接状态的指示装置的结构框图,如图2所示,该装置包括

第一发送模块22,用于软件定义网络sdn设备发送与控制器建链的传输控制协议tcp报文;

第二发送模块24,用于在该tcp报文的目的ip为该控制器的ip,该tcp报文的目的端口为该控制器的端口的情况下,该sdn设备发送第一指示指令给该软件定义网络sdn设备上的led指示灯,该第一指示指令指示该软件定义网络sdn设备上的led指示灯处于第一类颜色的第一状态。

通过上述装置,软件定义网络sdn设备发送与控制器建链的传输控制协议tcp报文后,在该tcp报文的目的ip为该控制器的ip,该tcp报文的目的端口为该控制器的端口的情况下,该sdn设备发送第一指示指令给该软件定义网络sdn设备上的led指示灯,该第一指示指令指示该软件定义网络sdn设备上的led指示灯处于第一类颜色的第一状态,解决了软件定义网络设备与控制器之间连接状态无法直观显示的问题,实现了直观显示sdn设备与控制器之间的连接状态。

在本实施例中,该装置还包括:

第三发送模块,用于该软件定义网络sdn设备发送与控制器建链的传输控制协议tcp报文之前,该sdn设备发送第二指示指令给该软件定义网络sdn设备上的led指示灯,该第二指示指令指示该led指示灯处于该第一类颜色的第二状态。

在本实施例中,该装置还包括:

第一接收模块,用于该软件定义网络sdn设备发送与控制器建链的传输控制协议tcp报文之后,该sdn设备接收该控制器的第一建立报文;

第四发送模块,用于依据该第一建立报文向该控制器发送第二建立报文后,该sdn设备发送第三指示指令给该软件定义网络sdn设备上的led指示灯,该第三指示指令指示该软件定义网络sdn设备上的led指示灯处于第二类颜色的第二状态;

第五发送模块,用于该软件定义网络sdn设备发送与控制器建链的传输控制协议tcp报文之后,该sdn设备未接收该控制器的该第一建立报文,该sdn设备发送第四指示指令给该软件定义网络sdn设备上的led指示灯,该第四指示指令指示该软件定义网络sdn设备上的led指示灯处于第三类颜色的第二状态。

在本实施例中,该装置包括:

第二接收模块,用于该依据该第一建立报文向该控制器发送该第二建立报文后,该sdn设备接收该控制器发送的响应请求报文;

第六发送模块,用于该sdn设备接收该控制器发送的响应请求报文后,该sdn设备发送第五指示指令给该软件定义网络sdn设备上的led指示灯,该第五指示指令指示该软件定义网络sdn设备上的led指示灯持续处于该第二类颜色的第二状态;

第七发送模块,用于该sdn设备未接收该控制器发送的响应请求报文后,该sdn设备发送第六指示指令给该软件定义网络sdn设备上的led指示灯,该第六指示指令指示该软件定义网络sdn设备上的led指示灯处于该第三类颜色的第一状态;

第八发送模块,用于该sdn设备未接收该控制器发送的响应请求报文的时间达到预设时间阈值后,该sdn设备发送第七指示指令给该软件定义网络sdn设备上的led指示灯,该第七指示指令指示该软件定义网络sdn设备上的led指示灯处于该第二类颜色的第二状态。

在本实施例中,该装置包括:

第九发送模块,用于该依据该第一建立报文向该控制器发送该第二建立报文后,在该sdn设备与该控制器交互协议的控制消息的情况下,该sdn设备发送第八指示指令给该软件定义网络sdn设备上的led指示灯,该第八指示指令指示该软件定义网络sdn设备上的led指示灯处于该第二类颜色的第一状态。

下面结合优选实施例和实施方式对本发明进行详细说明。

openflow是基于网络中“流”的概念设计的一种sdn南向接口协议。传统ip网络是一种基于数据分组转发的分组交换网络,一次网络通信会产生大量的数据分组,虽然它们有千丝万缕的联系,但是传统网络设备对它们的处理确是独立的,这大大降低了处理的效率。如果能通过提取出这次通信产生的数据分组的共同特征(如mac地址,ip地址等),把它们抽象成一个“流”,使网络设备统一看待这些数据分组,将能很好的解决上面提到的问题。openflow引入“流”的概念后,控制器可以根据某次通信中“流”的第一个数据分组的特征,使用openflow协议提供的接口对数据平面设备部署策略-openflow称之为流表,而这次通信的后续流量则按照相应流表在硬件层次进行匹配、转发,从而实现了灵活的网络转发平面策略。

基本的openflow网络包括:控制面的网络控制器(controller)和转发面的网络设备。openflow网络中转发数据报文的方法为利用流表进行数据报文转发,具体为:控制器通过标准化的openflow协议控制多个转发面网络设备,网络设备接受并保存流表;当网络设备收到网络发来的数据报文后,查看流表中是否有匹配的流表项,若有则按照流表项中的动作转发数据报文;若没有查到匹配的流表项,则将数据报文的头信息封装为packet-in消息发送给控制器;控制器接收到packet-in消息后,根据自身保存的拓扑信息计算路径,利用得到的路径生成packet-out消息和flow-mod消息,将packet-out消息和flow-mod发送给网络设备;网络设备根据packet-out消息转发数据报文,并根据flow-mod消息建立流表项。

本优选实施例提供了一种sdn设备与控制器连接状态可视化的方法。包括如下内容:

sdn设备与控制器通过网线或者光纤接口连接,sdn设备接口上带有led指示灯,初始状态设置为黄灯长亮;

当该设备开始发送与控制器建链的tcp报文,其中报文的目的ip为控制器的ip,目的端口为配置的控制器端口时,置led指示灯为黄灯一闪一闪;

当设备收到控制器发送的hello报文解析出其中的版本信息后,在向控制器发送hello报文的同时,置该设备上的led指示灯置为绿灯长亮,建链成功后控制器定时向设备发送echorequest报文;

如果该设备未收到控制器发送的hello报文或者收到控制器发送的hello报文后、本端设备由于故障未向控制器发送hello报文,将该设备上的led指示灯设置为红灯长亮;

当该设备与控制器协商成功,控制器与该设备交互控制报文(包括流表,组表等)时,将led指示灯设置为绿灯一闪一闪;

当设备未在规定时间内接收到响应请求(echorequest)报文,则判定链路中断,设置led指示灯为红灯一闪一闪;

当超过规定时间后,设置led灯为初始状态,即黄灯长亮,设备重新开始与控制器的建链流程。

本优选实施例主要包括sdn网络设备与控制器建链、连接中、连接中断状态可视化方法。

图3是根据本发明优选实施例的sdn设备与控制器连接状态流程示意图,如图3所示,

步骤301:当设备发送tcp建链报文时,置led指示灯为黄灯一闪一闪,表示正在连接中,其中,tcp三次握手,发送配置的目的ip、目的端口的tcp同步序列编号(synchronizesequencenumber,简称为syn)报文和应答号(acknowledgmentnumber,简称为ack),接收ack。

步骤302:设备收到控制器的hello报文,解析出openflow协议的版本(version),再向控制器发送hello报文的同时,置led指示灯为绿灯长亮,表示连接成功。如果设备没有收到控制器的hello报文,则将led指示灯置为红灯长亮,表示连接失败。

步骤303:控制器定时向设备发送响应请求(echorequest)报文,设备接受后向控制器发送响应答复(echoreply)报文,则不改变led指示灯状态;如果设备没有收到echorequest报文,或收到echorequest报文后没有发送echoreply报文,则置led指示灯为红灯一闪一闪,表示连接中断;如果该状态持续时间超过规定时间,则将led指示灯置为初始值黄灯,表示设备没有和控制器进行连接。

步骤304:下发流表,设备与控制器交互openflow控制消息时,将led指示灯置为绿灯一闪一闪,表示设备与控制器进行数据交互。

步骤305:保活,同步骤303。

在上述优选实施例中,设备与控制器无连接时,led指示灯为黄灯长亮;

设备与控制器连接中时,led指示灯为黄灯一闪一闪;

设备与控制器连接成功时,led指示灯为绿灯长亮;

设备与控制器连接失败时,led指示灯为红灯长亮;

设备与控制器连接中断时,led指示灯为红灯一闪一闪;

设备与控制器交互openflow控制消息时,led指示灯为绿灯一闪一闪。

本优选实施例可以利用通过设备端口上的led指示灯来直观显示设备与控制器的连接状态。

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

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行上述实施例的方法步骤的程序代码:

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行上述实施例的方法步骤。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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