交换机端口控制方法、装置及系统与流程

文档序号:18452073发布日期:2019-08-17 01:20阅读:399来源:国知局
交换机端口控制方法、装置及系统与流程

本发明涉及通信技术,尤其涉及一种适用于软件定义网络(Software Define Network,简称SDN)技术中的交换机端口控制方法、装置及系统。



背景技术:

SDN技术允许对一个网络进行编程,可将物理网络的抽象层直接提供给控制元件,允许通过软件设置和操作网络,例如开放流(OpenFlow)技术。SDN技术的核心思想为,将完全由交换机/路由器控制的数据包转发过程,转化为由交换机和控制器分别完成的独立过程。

例如,在OpenFlow技术中,开放流交换机(OpenFlow Switch,简称:OFS)与开放流控制器(OpenFlow Controller,简称OFC)基于开放流协议(OpenFlow Protocol,简称OFP)进行交互。OFC负责全局管理,制定数据包的转发规则,并将制定的转发规则通过流表项发送给OFS,OFS接收到流表项后,对于接收到的数据包,查找对应的流表项,并按照流表项中的转发规则对数据包进行转发处理,若OFS找不到对应的流表项,则将该数据包转发给OFC,由OFC决定该数据包的转发规则,并将决定的转发规则作为新的流表项下发到OFS,对OFS中的流表项进行更新。

交换机作为SDN的核心转发单元,数量多,功耗大,对于目前网络能耗占比很大,如何降低SDN交换机的能耗是运营商降低资本支出(Capital Expenditure,简称CAPEX)的迫切诉求。



技术实现要素:

有鉴于此,本发明实施例提供一种交换机端口控制方法、装置及系统,以克服解决现有技术中SDN交换机作为核心转发单元能耗占比大的问题。

第一方面,本发明实施例提供一种交换机端口控制方法,包括:

SDN交换机接收SDN控制器发送的节能设置消息,所述节能设置消息包括端口号以及节能指示,所述节能指示用于指示对所述端口号对应的端口进行节能设置;

所述SDN交换机根据所述节能指示对所述端口进行节能设置,使所述端口进入节能状态。

结合第一方面,在第一方面的第一种可能的实现方式中,所述节能设置消息还包括节能速率,所述节能速率大于等于零,所述节能速率用于指示将所述端口的速率调整到所述节能速率;

相应地,所述SDN交换机根据所述节能指示对所述端口进行节能设置,包括:

所述SDN交换机根据所述节能指示将所述端口的速率设置为所述节能速率。

结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述SDN交换机接收SDN控制器发送的节能设置消息之前,还包括:

所述SDN交换机根据所述端口的端口流量与流量阈值确定所述端口满足进入节能状态的条件;

所述SDN交换机向所述SDN控制器发送端口状态消息,所述端口状态消息包括所述端口对应的端口号以及节能状态,所述节能状态用于指示所述端口准备进入节能状态。

结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述端口状态消息还包括期望速率,所述期望速率用于指示期望的所述端口的节能速率。

结合第一方面和第一方面的第一到第三种可能的实现方式中的任一种,在第一方面的第四种可能的实现方式中,所述SDN交换机根据所述节能指示对所述端口号对应的端口进行节能设置之后,还包括:

若所述SDN交换机根据所述节能指示成功对所述端口进行节能设置,则所述SDN交换机向所述SDN控制器发送节能设置响应消息,所述节能设置响应消息包括所述端口号以及节能设置状态,所述节能设置状态用于指示所述端口为节能状态。

结合第一方面和第一方面的第一到第三种可能的实现方式中的任一种,在第一方面的第五种可能的实现方式中,所述SDN交换机根据所述节能指示对所述端口号对应的端口进行节能设置之后,还包括:

若所述SDN交换机根据所述节能指示对所述端口进行节能设置失败,则所述SDN交换机向所述SDN控制器发送设置错误消息,所述设置错误消息包括所述端口号以及节能设置错误信息,所述节能设置错误信息用于指示对所述端口号对应的端口进行节能设置失败。

结合第一方面和第一方面的第一到第三种可能的实现方式中的任一种,在第一方面的第六种可能的实现方式中,还包括:

所述SDN交换机接收所述SDN控制器发送的节能取消消息,所述节能取消消息包括所述端口号以及节能取消指示,所述节能取消指示用于指示取消对所述端口号对应的端口的节能设置;

所述SDN交换机根据所述节能取消指示取消对所述端口的节能设置,使所述端口退出节能状态。

结合第一方面的第六种可能的实现方式,在第一方面的第七种可能的实现方式中,所述SDN交换机根据所述节能取消指示取消对所述端口的节能设置,包括:

所述SDN交换机将所述端口的速率设置为所述端口允许的最大速率。

结合第一方面的第六或第七种可能的实现方式,在第一方面的第八种可能的实现方式中,所述SDN交换机根据所述节能取消指示取消对所述端口的节能设置之后,还包括:

若所述SDN交换机根据所述节能取消指示成功取消对所述端口的节能设置,则所述SDN交换机向所述SDN控制器发送节能取消响应消息,所述节能取消响应消息包括所述端口号以及节能取消状态,该节能取消状态用于指示所述端口号对应的端口为非节能状态。

结合第一方面的第六或第七种可能的实现方式,在第一方面的第九种可能的实现方式中,所述SDN交换机根据所述节能取消指示取消对所述端口的节能设置之后,还包括:

若所述SDN交换机根据所述节能取消指示取消对所述端口的节能设置失败,则所述SDN交换机向所述SDN控制器发送取消错误消息,所述取消错误消息包括所述端口号以及节能取消错误信息,所述节能取消错误信息用于指示对所述端口号对应的端口取消节能设置失败。

第二方面,本发明实施例提供一种交换机端口控制方法,包括:

SDN控制器确定对SDN交换机的端口进行节能设置;

所述SDN控制器向所述SDN交换机发送节能设置消息,所述节能设置消息包括所述端口对应的端口号以及节能指示,所述节能指示用于指示对所述端口进行节能设置。

结合第二方面,在第二方面的第一种可能的实现方式中,所述SDN控制器确定对所述SDN交换机的端口进行节能设置,包括:

所述SDN控制器根据自身策略确定对所述SDN交换机的端口进行节能设置。

结合第二方面,在第二方面的第二种可能的实现方式中,所述SDN控制器确定对SDN交换机的端口进行节能设置之前,还包括:

所述SDN控制器接收所述SDN交换机发送的端口状态消息,所述端口状态消息包括端口号以及节能状态,所述节能状态用于指示所述端口号对应的端口准备进入节能状态;

所述SDN控制器确定对所述SDN交换机的端口进行节能设置,包括:

所述SDN控制器根据所述端口状态消息包括的节能状态确定对所述端口状态消息包括的端口号对应的端口进行节能设置。

结合第二方面和第二方面的第一到第二种可能的实现方式中的任一种,在第二方面的第三种可能的实现方式中,所述节能设置消息还包括节能速率,所述节能速率大于等于零,所述节能速率用于指示将所述端口的速率调整到节能速率。

结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述端口状态消息还包括期望速率,所述SDN控制器根据所述期望速率确定所述节能速率。

结合第二方面和第二方面的第一到第四种可能的实现方式中的任一种,在第二方面的第五种可能的实现方式中,所述SDN控制器向所述SDN交换机发送所述节能设置消息之后,还包括:

所述SDN控制器接收所述SDN交换机发送的节能设置响应消息,所述节能设置响应消息包括端口号以及节能设置状态,所述节能设置状态用于指示所述端口号对应的端口为节能状态。

结合第二方面和第二方面的第一到第四种可能的实现方式中的任一种,在第二方面的第六种可能的实现方式中,所述SDN控制器向所述SDN交换机发送所述节能设置消息之后,还包括:

所述SDN控制器接收所述SDN交换机发送的设置错误消息,所述设置错误消息包括所述端口号以及节能设置错误信息,所述节能设置错误信息用于指示对所述端口号对应的端口进行节能设置失败。

结合第二方面和第二方面的第一到第五种可能的实现方式中的任一种,在第二方面的第七种可能的实现方式中,还包括:

所述SDN控制器确定取消对所述SDN交换机的端口的节能设置;

所述SDN控制器向所述SDN交换机发送节能取消消息,所述节能取消消息包括所述端口对应的端口号以及节能取消指示,所述节能取消指示用于指示取消对所述端口号对应的端口的节能设置。

结合第二方面的第七种可能的实现方式,在第二方面的第八种可能的实现方式中,所述SDN控制器向所述SDN交换机发送所述节能取消消息之后,还包括:

所述SDN控制器接收所述SDN交换机发送的节能取消响应消息,所述节能取消响应消息包括所述端口号以及节能取消状态,所述节能取消状态用于指示所述端口号对应的端口为非节能状态。

结合第二方面的第七种可能的实现方式,在第二方面的第九种可能的实现方式中,所述SDN控制器向所述SDN交换机发送所述节能取消消息之后,还包括:

所述SDN控制器接收所述SDN交换机发送的取消错误消息,所述取消错误消息包括所述端口号以及节能取消错误信息,所述节能取消错误信息用于指示对所述端口号对应的端口取消节能设置失败。

第三方面,本发明实施例提供一种SDN交换机,包括:

接收模块,用于接收SDN控制器发送的节能设置消息,所述节能设置消息包括端口号以及节能指示,所述节能指示用于指示对所述端口号对应的端口进行节能设置;

节能模块,用于根据所述节能指示对所述端口进行节能设置,使所述端口进入节能状态。

结合第三方面,在第三方面的第一种可能的实现方式中,所述节能设置消息还包括节能速率,所述节能速率大于等于零,所述节能速率用于指示将所述端口号对应的端口的速率调整到节能速率;

相应地,所述节能模块,具体用于根据所述节能指示将所述端口号对应的端口的当前速率设置为所述节能速率。

结合第三方面或第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,还包括:

确定模块,用于根据所述端口的端口流量与流量阈值确定所述端口是否满足进入节能状态的条件;

发送模块,用于若所述确定模块确定所述端口满足进入节能状态的条件,则向所述SDN控制器发送端口状态消息,所述端口状态消息包括所述端口对应的端口号以及节能状态,所述节能状态用于指示所述端口准备进入节能状态。

结合第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述端口状态消息还包括期望速率,所述期望速率用于指示期望的所述端口的节能速率。

结合第三方面和第三方面的第一到第三种可能的实现方式中的任一种,在第三方面的第四种可能的实现方式中,所述发送模块,在所述节能模块根据所述节能指示对所述端口号对应的端口进行节能设置之后,还用于:

若所述节能模块根据所述节能指示成功对所述端口进行节能设置,则向所述SDN控制器发送节能设置响应消息,所述节能设置响应消息包括所述端口号以及节能设置状态,所述节能设置状态用于指示所述端口号对应的端口为节能状态。

结合第三方面和第三方面的第一到第三种可能的实现方式中的任一种,在第三方面的第五种可能的实现方式中,所述发送模块,在所述节能模块根据所述节能指示对所述端口号对应的端口进行节能设置之后,还用于:

若所述节能模块根据所述节能指示对所述端口进行节能设置失败,则向所述SDN控制器发送设置错误消息,所述设置错误消息包括所述端口号以及节能设置错误信息,所述节能设置错误信息用于指示对所述端口号对应的端口进行节能设置失败。

结合第三方面和第三方面的第一到第四种可能的实现方式中的任一种,在第三方面的第六种可能的实现方式中,所述接收模块,还用于:

所述接收模块,还用于:

接收所述SDN控制器发送的节能取消消息,所述节能取消消息包括端口号以及节能取消指示,所述节能取消指示用于指示取消对所述端口号对应的端口的节能设置;

所述节能模块,还用于根据所述节能取消指示取消对所述端口的节能设置,使所述端口退出节能状态。

结合第三方面的第六种可能的实现方式,在第三方面的第七种可能的实现方式中,所述节能模块,具体用于:

将所述端口的速率设置为所述端口允许的最大速率。

结合第三方面的第六或第七种可能的实现方式,在第三方面的第八种可能的实现方式中,所述发送模块,在所述节能模块根据所述节能取消指示取消对所述端口的节能设置之后,还用于:

若所述节能模块根据所述节能取消指示成功取消对所述端口的节能设置,则向所述SDN控制器发送节能取消响应消息,所述节能取消响应消息包括所述端口号以及节能取消状态,该节能取消状态用于指示所述端口号对应的端口为非节能状态。

结合第三方面的第六或第七种可能的实现方式,在第三方面的第九种可能的实现方式中,所述发送模块,在所述节能模块根据所述节能取消指示取消对所述端口的节能设置之后,还用于:

若所述节能模块根据节能取消指示取消对所述端口的节能设置失败,则向所述SDN控制器发送取消错误消息,所述取消错误消息包括所述端口号以及节能取消错误信息,所述节能取消错误信息用于指示对所述端口号对应的端口取消节能设置失败。

第四方面,本发明实施例提供一种SDN控制器,包括:

确定模块,用于确定对SDN交换机的端口进行节能设置;

发送模块,用于向所述SDN交换机发送节能设置消息,所述节能设置消息包括所述端口对应的端口号以及节能指示,所述节能指示用于指示对所述端口进行节能设置。

结合第四方面,在第四方面的第一种可能的实现方式中,所述确定模块,具体用于:

根据自身策略确定对所述SDN交换机的端口进行节能设置。

结合第四方面,在第四方面的第二种可能的实现方式中,还包括:

接收模块,用于接收所述SDN交换机发送的端口状态消息,所述端口状态消息包括端口号以及节能状态,所述节能状态用于指示所述端口号对应的端口准备进入节能状态;

所述确定模块,具体用于:根据所述端口状态消息包括的节能状态确定对所述端口状态消息包括的端口号对应的端口进行节能设置。

结合第四方面和第四方面的第一到第二种可能的实现方式中的任一种,在第四方面的第三种可能的实现方式中,所述节能设置消息还包括节能速率,所述节能速率大于等于零,所述节能速率用于指示将所述端口的速率调整到节能速率。

结合第四方面的第三种可能的实现方式,在第四方面的第四种可能的实现方式中,所述端口状态消息还包括期望速率,所述确定模块还用于根据所述期望速率确定所述节能速率。

结合第四方面和第四方面的第一到第四种可能的实现方式中的任一种,在第四方面的第五种可能的实现方式中,所述接收模块,在所述发送模块向所述SDN交换机发送所述节能设置消息之后,还用于:

接收所述SDN交换机发送的节能设置响应消息,所述节能设置响应消息包括端口号以及节能设置状态,所述节能设置状态用于指示所述端口号对应的端口为节能状态。

结合第四方面和第四方面的第一到第四种可能的实现方式中的任一种,在第四方面的第六种可能的实现方式中,所述接收模块,在所述发送模块向所述SDN交换机发送所述节能设置消息之后,还用于:

接收所述SDN交换机发送的设置错误消息,所述设置错误消息包括所述端口号以及节能设置错误信息,所述节能设置错误信息用于指示对所述端口号对应的端口进行节能设置失败。

结合第四方面和第四方面的第一到第五种可能的实现方式中的任一种,在第四方面的第七种可能的实现方式中,所述确定模块,还用于:

确定取消对所述SDN交换机的端口的节能设置;

所述发送模块,还用于向所述SDN交换机发送节能取消消息,所述节能取消消息包括所述端口对应的端口号以及节能取消指示,所述节能取消指示用于指示取消对所述端口号对应的端口的节能设置。

结合第四方面的第七种可能的实现方式,在第四方面的第八种可能的实现方式中,所述接收模块,在所述发送模块向所述SDN交换机发送所述节能取消消息之后,还用于:

接收所述SDN交换机发送的节能取消响应消息,所述节能取消响应消息包括所述端口号以及节能取消状态,所述节能取消状态用于指示所述端口号对应的端口为非节能状态。

结合第四方面的第七种可能的实现方式,在第四方面的第九种可能的实现方式中,所述接收模块,在所述发送模块向所述SDN交换机发送所述节能取消消息之后,还用于:

接收所述SDN交换机发送的取消错误消息,所述取消错误消息包括所述端口号以及节能取消错误信息,所述节能取消错误信息用于指示对所述端口号对应的端口取消节能设置失败。

第五方面,本发明实施例提供一种SDN交换机,包括:

通过总线连接的存储器和处理器,其中所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,执行如第一方面以及第一方面的第一到第九种可能的实现方式中的任一项所述的交换机端口控制方法。

第六方面,本发明实施例提供一种SDN控制器,包括:

通过总线连接的存储器和处理器和通信接口,其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器存储的程序代码,执行如第二方面以及第二方面的第一到第九种可能的实现方式中的任一项所述的交换机端口控制方法。

第七方面,本发明实施例提供一种交换机端口控制系统,包括:如第五方面所述的SDN交换机以及如第六方面所述的SDN控制器。

通过上述方案,本发明提供的实施例,通过SDN交换机接收SDN控制器发送的包括节能指示的节能设置消息,并根据节能指示对对应的端口进行节能设置,从而实现对SDN交换机端口节能的灵活控制。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的交换机端口控制方法实施例一的流程图;

图2为本发明提供的交换机端口控制方法实施例二的流程图;

图3为本发明提供的交换机端口控制方法实施例三的信令交互图;

图4为本发明提供的交换机端口控制方法实施例四的信令交互图;

图5为本发明提供的SDN交换机实施例一的结构示意图;

图6为本发明提供的SDN控制器实施例一的结构示意图;

图7为本发明提供的SDN交换机实施例二的结构示意图;

图8为本发明提供的SDN控制器实施例二的结构示意图;

图9为本发明提供的交换机端口控制系统实施例的结构示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

SDN中,可以采用Openflow协议作为SDN交换机与SDN控制器之间的消息交互格式,当然也可以采用其他协议,例如,简单网络管理协议(Simple Network Management Protocol,简称SNMP)、名址分离网络协议(Locator Identity Separation Protocol,简称LISP)、可扩展消息处理现场协议(Extensible Messaging and Presence Protocol,简称XMPP)、路径计算单元交互协议(Path Computation Element Communication Protocol,简称PCEP)等。Openflow协议是SDN比较主流的南向控制方式,为方便描述及理解,本文实施例中均采用Openflow协议进行说明,并不对本专利的保护范围造成影响。

图1为本发明提供的交换机端口控制方法实施例一的流程图,该方法实施例的执行主体为SDN交换机,例如Openflow协议中的OFS,如图1所示,该方法实施例包括以下步骤:

步骤101、SDN交换机接收SDN控制器发送的节能设置消息,该节能设置消息包括端口号以及节能指示,该节能指示用于指示对该端口号对应的端口进行节能设置;

其中,SDN交换机可以为OFS,SDN控制器可以为OFC,以OFC为例,具体的,OFC可以根据全局情况采用整体调度算法确定是否向OFS发送节能设置消息,若确定对OFS的端口进行节能设置,则OFC向OFS发送包含端口号以及节能指示的节能设置消息。

步骤102、SDN交换机根据该节能指示对端口进行节能设置,使该端口进入节能状态。

进一步地,上述节能设置消息还可以包括节能速率,该节能速率大于等于零,该节能速率用于指示将端口的速率调整到节能速率;

相应地,步骤102,包括:

SDN交换机根据节能指示将端口的速率设置为节能速率。其中,在节能速率等于零时,SDN交换机可以关闭对应的端口。

以SDN交换机为OFS为例,通常地,OFS端口的速率在非节能状态下可以是端口允许的最大速率,如端口允许的最大速率可以为100兆比特每秒(Million bits per second,简称Mbps)或者1千兆比特每秒(Giga bit per second,简称Gbps)或者10Gbps,则OFC向OFS发送的端口状态指示消息中包括的节能速率(speed)可以为大于等于零且小于最大速率的任意值,如最大速率为1Gbps时,节能速率可以为大于等于0并且小于1Gbps的任意值,例如当节能速率为10Mbps时,则OFS对端口进行速率降级设置,将端口的速率降低为节能速率即10Mbps,当节能速率为0时,则OFS可以直接关闭端口。

优选地,在步骤101之前,该方法实施例,还可以包括:

SDN交换机根据端口的端口流量与流量阈值确定该端口是否满足进入节能状态的条件;

若确定该端口满足进入节能状态的条件,则SDN交换机向SDN控制器发送端口状态消息,端口状态消息包括端口对应的端口号以及节能状态,该节能状态用于指示该端口准备进入节能状态,以使接收到该端口状态消息的SDN控制器根据该节能状态确定对该端口进行节能设置。

上述SDN交换机可以对端口流量进行监测,并可预先配置流量阈值,其中可以根据指定时间内的端口流量与端口指定时间允许的最大流量的比值来设置流量阈值,也可以根据指定时间端口流量的平均速率与端口允许的最大速率的比值来设置流量阈值。当然也可以为采用其他方式来设置流量阈值来判断端口当前是否比较空闲,而满足进入节能状态的条件,对此本发明不作限定。

举例来说,若监测到当前1小时内端口的端口流量为5M,1小时内该端口允许的最大端口流量为1000M,则当前端口的端口流量与最大流量比值为0.5%,而流量阈值为2%,则表明当前端口流量小于流量阈值,由此可确定该端口当前比较空闲,满足进入节能状态的条件。

再比如说,若检测到3小时内端口的平均速率为1Mbps,端口允许的最大速率为100Mbps,平均速率与最大速率比值为1%,而流量阈值为2%,则表明当前端口流量小于流量阈值,由此可确定该端口当前比较空闲,满足进入节能状态的条件。

若SDN交换机确定端口满足进入节能状态的条件,则SDN交换机向SDN控制器发送包括端口号以及节能状态的端口状态消息。

上述端口状态消息优选地还可以包括期望速率,该期望速率用于指示期望的端口的节能速率,以使接收到端口状态消息的SDN控制器可以根据期望速率确定节能速率。

可选地,步骤102之后,该方法实施例,还包括:

若上述SDN交换机根据节能指示成功对端口进行节能设置,则SDN交换机向SDN控制器发送节能设置响应消息,该节能设置响应消息包括上述端口号以及节能设置状态,该节能设置状态用于指示端口为节能状态。

进一步地,若SDN交换机根据节能指示对端口进行节能设置失败,则SDN交换机向SDN控制器发送设置错误消息,该设置错误消息包括端口号以及节能设置错误信息,该节能设置错误信息用于指示对端口号对应的端口进行节能设置失败。

进一步地,该方法实施例,还可以包括:

SDN交换机接收SDN控制器发送的节能取消消息,改节能取消消息包括端口号以及节能取消指示,该节能取消指示用于指示取消对端口号对应的端口的节能设置;

SDN交换机根据节能取消指示取消对端口的节能设置,使端口退出节能状态。

其中,SDN交换机根据节能取消指示取消对端口的节能设置,包括:SDN交换机将端口的速率设置为该端口允许的最大速率。

需说明的是,若该端口的速率为0,并且该端口为关闭状态,则SDN交换机还可以在将端口的速率设置为该端口允许的最大速率之前,打开该端口。

此处,SDN交换机接收到的节能取消消息,可以是SDN控制器根据全局情况采用整体调度算法判决确定取消对OFS的端口进行节能设置发出的,以使SDN交换机对端口取消速率降级或者打开端口,从而使端口退出节能状态。

可选地,上述SDN交换机根据节能取消指示取消对端口的节能设置之后,还包括:

若SDN交换机根据节能取消指示成功取消对端口的节能设置,则SDN交换机向SDN控制器发送节能取消响应消息,该节能取消响应消息包括端口号以及节能取消状态,该节能取消状态用于指示端口号对应的端口为非节能状态。

进一步地,SDN交换机根据节能取消指示取消对端口的节能设置之后,还包括:

若SDN交换机根据节能取消指示取消对端口的节能设置失败,则SDN交换机向SDN控制器发送取消错误消息,该取消错误消息包括端口号以及节能取消错误信息,该节能取消错误信息用于指示对端口号对应的端口取消节能设置失败。

具体的,若SDN交换机对端口进行节能设置成功,则端口进入节能状态,可选的,SDN交换机可以向SDN控制器发送包含端口号以及节能设置状态的节能设置响应消息;若SDN交换机成功对端口取消节能设置,使端口退出节能状态,此时端口的当前状态为非节能状态,则可选的,SDN交换机可以向SDN控制器发送包含端口号以及节能取消状态的节能取消响应消息。若SDN交换机根据节能指示对端口进行节能设置失败或者SDN交换机根据节能取消指示对端口取消节能设置失败,则SDN交换机可以向SDN控制器发送包括端口号以及节能设置错误信息的设置错误消息或者包括端口号以及节能取消错误信息的取消错误消息,以将对端口进行节能设置失败或者对端口取消节能设置失败的原因上报给SDN控制器。

以SDN交换机为OFS,SDN控制器为OFC为例,具体来说,OFS接收OFC发送的包括节能指示或者节能取消指示的端口状态指示信息,该端口状态指示信息还可以包括节能速率,若端口状态指示信息包括节能指示,则OFS根据节能指示将端口速率降低为节能速率,当节能速率为零时则可以直接关闭端口,以使端口进入节能状态,若成功使端口进入节能状态,则OFS可以向OFC返回包含节能设置状态的端口状态消息,否则OFS可以向OFC返回包含节能设置错误信息的错误消息;若端口状态指示信息包括节能取消指示,此时,OFS可以不用关心节能速率,OFS根据节能取消指示将端口速率设置为端口所允许的最大速率,若所述端口当前为关闭状态,则打开端口,然后将端口速率设置为端口所允许的最大速率,以使端口退出节能状态,若成功使端口退出节能状态,则OFS可以向OFC返回包含节能取消状态的端口状态消息,否则OFS可以向OFC返回包含节能取消错误信息的错误消息。优选地,OFS还可以设置流量阈值,对端口进行流量监控,若OFS根据端口流量和流量阈值确定端口满足进入节能状态的条件,则可以向OFC发送包括第一节能状态的端口状态消息,以使OFC可以及时根据节能状态确定是否对端口进行节能设置,从而可以使端口尽早进入节能状态,提高节能效率。

下面以Openflow协议来说明各消息的具体实现方式:上述节能设置消息以及节能取消消息在具体实现时均可以采用端口状态指示消息,其区别在于包括不同的节能指示;上述端口状态消息、节能设置响应消息,以及节能取消响应消息在具体实现时均可以采用端口状态消息,其区别在于包括不同的节能状态;上述设置错误消息和取消错误消息在具体实现时均可以采用错误消息,其区别在于包括不同的节能错误。

现有技术中,OF协议(OF protocol,简称OFP)中的端口状态消息主要包括端口状态结构体(ofp_port_status),在该ofp_port_status结构体中主要包括reason字段,以及端口描述(desc)字段,其中desc字段所属的端口结构体(ofp_port)至少包括端口号(port_no)字段,端口状态(state)字段,端口当前速率(curr_speed)字段,以及最大端口速率(max_speed)字段,具体的,ofp_port_status结构体可以描述如下,其中省略号(……)表示在实际应用中还可能包括其他相关信息,后续结构体中的省略号表示相同的含义,不再赘述:

其中,上述desc字段所属的ofp_port结构体可以描述如下:

具体实现时,本方法实施例中的端口状态消息可以在上述OFP中的端口状态消息ofp_port_status的基础上进行优化,可以在reason字段新增枚举save_energy,以表明该端口状态消息为与端口节能相关的端口状态消息,并且可以在desc所述的ofp_port结构体中的端口号字段填写进行节能设置的端口对应的端口号,在state字段新增用于表示不同节能状态的枚举,如节能状态的枚举save_mode_ready,节能设置状态的枚举save_mode_ok,以及节能取消状态的枚举save_mode_cancel,举例来说,OFS向OFC发送端口状态消息,则OFS可以向OFC发送reason字段填充save_energy,端口号字段填充端口号,并且在state字段填充save_mode_ready的端口状态消息,优选地,还可以在curr_speed字段填充期望速率,如期望速率填充0,则表示期望关闭端口;OFS向OFC发送节能设置响应消息,则OFS可以向OFC发送reason字段填充save_energy,端口号字段填充端口号,并且在state字段填充save_mode_ok的端口状态消息;OFS向OFC发送节能取消响应消息,则OFS可以向OFC发送reason字段填充save_energy,端口号字段填充端口号,并且在state字段填充save_mode_cancel的端口状态消息。

现有的OFP协议中,不存在端口状态指示消息,对于OFC发送的端口状态指示消息,本发明实施例可以通过新增端口指示结构体(ofp_port_ind),并在端口状态指示消息中包括的端口状态指示结构体(ofp_port_status_ind)中包括具有ofp_port_ind结构的描述(desc)字段,其中ofp_port_ind结构体中至少包括可用于填充端口号的端口号(port_no)字段,可用于填充节能指示或节能取消指示的命令(command)字段,以及可用于填充节能速率的速率(speed)字段,具体的,ofp_port_status_ind可以为如下所示的结构体:

其中,上述ofp_port_status_ind desc所属的ofp_port_ind,可以为如下所示的结构体:

具体发送端口状态指示消息时,如可以用“Allowed”表示节能指示的枚举,“not allowed”表示节能取消指示的枚举,当要发送的端口状态指示消息为节能设置消息,则OFS可以在ofp_port_ind中包括的端口号字段填充端口号,并在指令(command)字段填充“allowed”,并且可以在速率(speed)填充节能速率;当要发送的端口状态指示消息为节能取消消息,则OFS可以在ofp_port_ind中包括的端口号字段填充端口号,并在指令(command)字段填充“not allowed”,此时speed字段可以填充也可以不填充,OFS在接收到节能取消消息时也不用关心速率字段。

现有的OFP规定的错误消息(ofp_error_msg)结构体如下所示,至少包括类型(type)字段,错误码(code)字段以及数据(data)字段。

本发明实施例的设置错误消息和取消错误消息,可以采用上述OFP中规定的的错误消息结构体,并在此基础上新增用于表示节能失败的错误类型枚举,如用ofp_save_energy_failed表示该错误类型为节能错误,并且新增用于表示不同节能错误的枚举,例如,可以增加表示节能设置错误信息的枚举degrade_error,表示节能取消错误信息的枚举degrade_cancel_error。具体发送设置错误消息或者取消错误消息时,可以在在设置错误消息或者取消错误消息中的type字段填充ofp_save_energy_failed,并在code字段填充相应的错误degrade_error或者degrade_cancel_error,而节能设置失败的端口号则可以填充在data字段。

其中,上述在data字段填充节能设置失败的端口号,可以采用若端口0节能设置失败则data第1位(bit)置1,端口1节能设置失败则data第2 bit置1,以此类推的方式来实现。

需说明的是,上述枚举字段仅为本发明的一些优选实施例,还可以采用其他不同于常规的特殊字段用于端口状态信息交互以对请求关闭端口或者对端口进行速率降级,以实现对端口的节能控制,对此本发明不作限制。

本实施例,通过SDN交换机接收SDN控制器发送的包括端口号以及节能指示的节能设置消息,并根据节能指示对对应的端口进行节能设置使对应端口进入节能状态,并且接收SDN控制器发送的包括端口号以及节能取消指示的节能取消消息,根据节能取消指示取消对应端口的节能设置使端口退出节能状态,从而可以在网络空闲时使SDN交换机的端口进入节能状态,降低SDN交换机端口的功耗,在网络繁忙时使SDN交换机端口退出节能状态保证转发工作的正常运行,实现了对SDN交换机端口节能的灵活控制。

图2为本发明提供的交换机端口控制方法实施例二的流程图,该方法实施例的执行主体为SDN控制器,例如Openflow技术中的OFC,与图1所示的方法实施例对应,如图2所示,该方法实施例包括以下步骤:

步骤201、SDN控制器确定对SDN交换机的端口进行节能设置;

步骤202、SDN控制器向SDN交换机发送节能设置消息,节能设置消息包括端口对应的端口号以及节能指示,节能指示用于指示对端口进行节能设置。

其中,步骤201,包括:

SDN控制器根据自身策略确定对SDN交换机的端口进行节能设置。具体的,SDN控制器可以根据全局情况采用整体调度算法确定对OFS的端口进行节能设置。

或者,在步骤201之前,本方法实施例还可以包括:

SDN控制器接收SDN交换机发送的端口状态消息,端口状态消息包括端口号以及节能状态,节能状态用于指示所述端口号对应的端口准备进入节能状态;

相应地,步骤201,包括:

SDN控制器根据端口状态消息包括的节能状态确定对端口状态消息包括的端口号对应的端口进行节能设置。

进一步地,节能设置消息还可以包括节能速率,节能速率大于等于零,节能速率用于指示将端口的速率调整到节能速率。其中,上述端口状态消息还可以包括期望速率,相应的,SDN控制器可以根据该期望速率来确定节能速率。

可选地,步骤202之后,还包括:

SDN控制器接收SDN交换机发送的节能设置响应消息,节能设置响应消息包括端口号以及节能设置状态,节能设置状态用于指示端口号对应的端口为节能状态。

进一步地,步骤202之后,还包括:

SDN控制器接收SDN交换机发送的设置错误消息,设置错误消息包括端口号以及节能设置错误信息,节能设置错误信息用于指示对端口号对应的端口进行节能设置失败。

更进一步地,该方法实施例,还包括:

SDN控制器确定取消对SDN交换机的端口的节能设置;

SDN控制器向SDN交换机发送节能取消消息,节能取消消息包括端口对应的端口号以及节能取消指示,节能取消指示用于指示取消对端口号对应的端口的节能设置。

其中,可选地,上述SDN控制器向SDN交换机发送所述节能取消消息之后,还包括:

SDN控制器接收SDN交换机发送的节能取消响应消息,节能取消响应消息包括端口号以及节能取消状态,节能取消状态用于指示端口号对应的端口为非节能状态。

进一步地,上述SDN控制器向SDN交换机发送所述节能取消消息之后,还包括:

SDN控制器接收SDN交换机发送的取消错误消息,取消错误消息包括端口号以及节能取消错误信息,节能取消错误信息用于指示对端口号对应的端口取消节能设置失败。

具体实现时,上述端口状态消息、节能设置消息,节能取消消息,节能设置响应,节能取消响应消息,设置错误消息以及取消错误消息,可参照图1所示方法实施例中相关的部分,具体不再赘述。

需说明的是,在SDN控制器向SDN交换机发送节能取消消息之后,SDN控制器也可以不发送节能设置响应消息或者节能取消响应消息,相应的SDN控制器也会接收不到节能设置响应消息或者节能取消响应消息,此时,SDN控制器可以根据若SDN控制器也没有接收到SDN交换机向SDN控制器发送的设置错误消息或者取消错误消息来确认SDN交换机对端口成功进行了节能设置或者取消节能设置。

本方法实施例,通过SDN控制器向SDN交换机发送包括端口号以及节能指示的节能设置消息,使得SDN交换机根据节能指示对对应的端口进行节能设置使端口进入节能状态,并且向SDN交换机发送包括端口号以及节能取消指示的节能取消消息,使得SDN控制器根据节能取消指示对对应的端口取消节能设置使端口退出节能状态,从而可以在网络空闲时使SDN交换机的端口进入节能状态,降低SDN交换机端口的功耗,在网络繁忙时使SDN交换机端口退出节能状态保证转发工作的正常运行,实现了对SDN交换机端口节能的灵活控制。

下面以Openflow技术中的OFS和OFC为例,对本发明提供的交换机端口控制方法中的信令交互过程进行具体说明。

图3为本发明提供的交换机端口控制方法实施例三的信令交互图,如图3所示,该方法实施例包括以下步骤:

步骤301、OFS向OFC发送端口状态消息,通过端口状态消息向OFC请求对端口状态消息包括的端口号对应的端口进行节能设置;

步骤302、OFC确定对端口进行节能设置,并将端口状态消息包括的端口号填充到节能设置消息的端口号字段;

步骤303、OFC向OFS发送节能设置消息,通过节能设置消息包括的节能指示指示对节能设置消息包括的端口号对应的端口进行节能设置;

步骤304、OFS对端口进行节能设置;

步骤305a、若OFS对端口进行节能设置成功,则OFS向OFC发送节能设置响应消息,否则执行步骤305b;

步骤305b、OFS向OFC发送设置错误消息,以将端口节能设置失败的错误信息上报给OFC。

需说明的是,本实施例中步骤301为可选步骤,相应地,步骤302中OFC可以直接根据全局情况采用整体调度算法确定允许对端口进行节能设置,并且若OFS对端口进行节能设置成功,也可以不执行步骤305a。

本实施例,通过OFS与OFC之间的信令交互,可以实现对OFS空闲端口进行节能设置,使得空闲端口被关闭或者降低速率进入节能状态,从而降低OFS端口的功耗。

图4为本发明提供的交换机端口控制方法实施例四的信令交互图,如图4所示,该方法实施例包括以下步骤:

步骤401、OFC确定取消对端口进行节能设置,并将确定取消节能设置的端口对应的端口号填充到节能取消消息的端口号字段;

步骤402、OFC向OFS发送节能取消消息,通过节能取消消息指示取消对节能取消消息包括的端口号对应的端口的节能设置;

步骤403、OFS取消对端口的节能设置;

步骤404a、若OFS成功取消对端口的节能设置,则OFS向OFC发送节能取消响应消息,将端口的非节能状态汇报给OFC,否则执行步骤404b;

步骤404b、OFS向OFC发送取消错误消息,以将取消端口的节能设置失败的错误信息上报给OFC。

需说明的是,本实施例中若OFS对端口进行节能设置成功,也可以不执行步骤404a。

本方法实施例,通过OFS与OFC之间的信令交互,可以使得进入节能状态的端口,在网络繁忙时,恢复正常工作状态,使得在对端口进行节能的同时,保证OFS的正常转发工作。

图5为本发明提供的SDN交换机实施例一的结构示意图,如图5所示,该SDN交换机500包括:接收模块501和节能模块,502,其中,

接收模块501,用于接收SDN控制器发送的节能设置消息,该节能设置消息包括端口号以及节能指示,节能指示用于指示对端口号对应的端口进行节能设置;

节能模块502,用于根据所述节能指示对所述端口进行节能设置,使所述端口进入节能状态。

进一步地,所述节能设置消息还包括节能速率,所述节能速率大于等于零,所述节能速率用于指示将所述端口号对应的端口的速率调整到节能速率;

相应地,所述节能模块502,具体用于根据所述节能指示将所述端口号对应的端口的当前速率设置为所述节能速率。

优选地,该SDN交换机500,还可以包括确定模块503和发送模块504,其中,

确定模块503,用于根据所述端口的端口流量与流量阈值确定所述端口是否满足进入节能状态的条件;

发送模块504,用于若所述确定模块503确定所述端口满足进入节能状态的条件,则向所述SDN控制器发送端口状态消息,所述端口状态消息包括所述端口对应的端口号以及节能状态,节能状态用于指示端口准备进入节能状态,以使接收到所述端口状态消息的SDN控制器根据节能状态确定是否对端口进行节能设置。

优选地,所述端口状态消息还包括期望速率,所述期望速率用于指示期望的所述端口的节能速率,以使接收到所述端口状态消息的SDN控制器根据所述期望速率确定节能速率。

可选地,所述发送模块504,在所述节能模块502根据所述节能指示对所述端口号对应的端口进行节能设置之后,还用于:

若所述节能模块502根据所述节能指示成功对所述端口进行节能设置,则向所述SDN控制器发送节能设置响应消息,所述节能设置响应消息包括所述端口号以及节能设置状态,所述节能设置状态用于指示所述端口为节能状态。

进一步地,所述发送模块504,在所述节能模块502根据所述节能指示对所述端口号对应的端口进行节能设置之后,还用于:

若所述节能模块502根据所述节能指示对所述端口进行节能设置失败,则向所述SDN控制器发送设置错误消息,所述设置错误消息包括所述端口号以及节能设置错误信息,所述节能设置错误信息用于指示对所述端口号对应的端口进行节能设置失败。

进一步地,所述接收模块501,还用于:

接收所述SDN控制器发送的节能取消消息,所述节能取消消息包括端口号以及节能取消指示,所述节能取消指示用于指示取消对所述端口号对应的端口的节能设置;

所述节能模块502,还用于根据所述节能取消指示取消对所述端口的节能设置,使所述端口退出节能状态。

进一步地,所述节能模块502,具体用于:

将所述端口的速率设置为所述端口允许的最大速率。

优选地,所述发送模块504,在节能模块502根据节能取消指示取消对所述端口的节能设置之后,还用于:

若所述节能模块502根据所述节能取消指示成功取消对所述端口的节能设置,则向所述SDN控制器发送节能取消响应消息,所述节能取消响应消息包括所述端口号以及节能取消状态,该节能取消状态用于指示所述端口为非节能状态。

进一步地,所述发送模块504,在所述节能模块502根据所述节能取消指示取消对所述端口的节能设置之后,还用于:

若所述节能模块502根据节能取消指示取消对所述端口的节能设置失败,则向所述SDN控制器发送取消错误消息,所述取消错误消息包括所述端口号以及节能取消错误信息,所述节能取消错误信息用于指示对所述端口号对应的端口取消节能设置失败。

本实施例中所述提供的SDN交换机500可用于执行图1所示方法实施例的技术方案,并且可以执行图3或图4所示方法实施例的技术方案中相应的步骤,其实现原理和技术效果是类似的,具体不再赘述。

图6为本发明提供的SDN控制器实施例一的结构示意图,如图6所示,该SDN控制器600包括:确定模块601和发送模块602,其中,

确定模块601,用于确定对SDN交换机的端口进行节能设置;

发送模块602,用于向SDN交换机发送节能设置消息,所述节能设置消息包括所述端口对应的端口号以及节能指示,所述节能指示用于指示对所述端口进行节能设置。

进一步地,所述确定模块601,具体用于:

根据自身策略确定对所述SDN交换机的端口进行节能设置。

进一步地,该SDN控制器600,还可以包括:接收模块603,其中,

优选地,该接收模块603,用于接收所述SDN交换机发送的端口状态消息,所述端口状态消息包括端口号以及节能状态,所述节能状态用于指示所述端口号对应的端口准备进入节能状态;

所述确定模块601,具体用于:

根据所述端口状态消息包括的节能状态确定对所述端口状态消息包括的端口号对应的端口进行节能设置。

进一步地,所述节能设置消息还包括节能速率,所述节能速率大于等于零,所述节能速率用于指示将所述端口的速率调整到节能速率。

优选地,所述端口状态消息还包括期望速率,所述确定模块601还用于根据所述期望速率确定所述节能速率。

可选地,所述接收模块603,在所述发送模块602向所述SDN交换机发送所述节能设置消息之后,还用于:

接收所述SDN交换机发送的节能设置响应消息,所述节能设置响应消息包括端口号以及节能设置状态,所述节能设置状态用于指示所述端口号对应的端口为节能状态。

或者,进一步地,所述接收模块603,在所述发送模块602向所述SDN交换机发送所述节能设置消息之后,还可以用于:

接收所述SDN交换机发送的设置错误消息,所述设置错误消息包括所述端口号以及节能设置错误信息,所述节能设置错误信息用于指示对所述端口号对应的端口进行节能设置失败。

进一步地,所述确定模块601,还用于:

确定取消对所述SDN交换机的端口的节能设置;

所述发送模块602,还用于向所述SDN交换机发送节能取消消息,所述节能取消消息包括所述端口对应的端口号以及节能取消指示,所述节能取消指示用于指示取消对所述端口号对应的端口的节能设置。

可选地,所述接收模块603,在所述发送模块602向所述SDN交换机发送所述节能取消消息之后,还用于:

接收所述SDN交换机发送的节能取消响应消息,所述节能取消响应消息包括所述端口号以及节能取消状态,所述节能取消状态用于指示所述端口号对应的端口为非节能状态。

或者,进一步地,所述接收模块603,在所述发送模块602向所述SDN交换机发送所述节能取消消息之后,还用于:

接收所述SDN交换机发送的取消错误消息,所述取消错误消息包括所述端口号以及节能取消错误信息,所述节能取消错误信息用于指示对所述端口号对应的端口取消节能设置失败。

本实施例中所述提供的SDN控制器600可用于执行图2所示方法实施例的技术方案,并且可以执行图3或图4所示方法实施例的技术方案中相应的步骤,其实现原理和技术效果是类似的,具体不再赘述。

图7为本发明提供的SDN交换机实施例二的结构示意图,如图7所示,该SDN交换机700包括:通过总线(如图7中粗实线所示)连接的存储器701和处理器702,其中所述存储器701用于存储程序代码,所述处理器702用于调用所述程序代码,执行图1所示方法实施例的技术方案,和图3或图4所示方法实施例的技术方案中相应的步骤,其实现原理和技术效果是类似的,具体不再赘述。

图8为本发明提供的SDN控制器实施例二的结构示意图,如图8所示,该SDN控制器800包括:通过总线(如图8中粗实线所示)连接的存储器801和处理器802,其中所述存储器801用于存储程序代码,所述处理器802用于调用所述程序代码,执行执行图2所示方法实施例的技术方案,和图3或图4所示方法实施例的技术方案中相应的步骤,其实现原理和技术效果是类似的,具体不再赘述。

图9为本发明提供的交换机端口控制系统实施例的结构示意图,如图9所示,该端口控制系统900包括:SDN交换机901和SDN控制器902,其中SDN交换机901可以为图5或图7所示的SDN交换机,SDN控制器902可以为图6或图8所示的SDN控制器,可以用于执行图1至图4所示方法实施例的技术方案,其实现原理和技术效果是类似的,具体不再赘述。

本发明实施例还给出一种计算机程序产品,该计算机程序产品包括计算机可读介质,该可读介质包括一组程序代码,用于执行上述图1所示交换机端口控制方法中的步骤,和用于执行上述图2所示交换机端口控制方法中的步骤。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可以用硬件实现,或固件实现,或它们的组合方式来实现。当使用软件实现时,可以将上述功能存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。此外。任何连接可以适当的成为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户线(DSL)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其他远程源传输的,那么同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线和微波之类的无线技术包括在所属介质的定影中。如本发明所使用的,盘(Disk)和碟(disc)包括压缩光碟(CD)、激光碟、光碟、数字通用光碟(DVD)、软盘和蓝光光碟,其中盘通常磁性的复制数据,而碟则用激光来光学的复制数据。上面的组合也应当包括在计算机可读介质的保护范围之内。

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

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