一种OpenFlow实例的配置方法及装置与流程

文档序号:16308719发布日期:2018-12-19 05:11阅读:185来源:国知局
一种OpenFlow实例的配置方法及装置与流程

本申请涉及通信技术领域,特别是涉及一种openflow实例的配置方法及装置。

背景技术

openflow(开源流)是sdn(softwaredefinednetwork,软件定义网络)架构中定义的一个控制器与转发层之间的通信接口标准,可以实现控制面和数据面的分离。openflow网络中包括openflow控制器、openflow设备以及安全通道,目前可以基于openflow设备上的端口,在openflow设备上创建多个实例。例如,openflow设备上的端口1属于实例1,端口2属于实例2,端口3属于实例3。一个实例可以连接多个openflow控制器,一个openflow控制器也能连接多个实例。

若将openflow协议应用于无线网络中,当终端接入接入点(accesspoint,ap)时,ap会为该终端创建一个无线虚接口,需为该无线虚接口配置实例,当终端断开与ap的连接时,需删除为该无线虚接口配置的实例,由于接入ap的终端具有移动性,可能出现ap上频繁创建和删除无线虚接口的现象,导致需要频繁地为无线虚接口配置或删除实例,引起配置振荡,可见在无线设备上实现openflow多实例较为复杂。



技术实现要素:

本申请实施例的目的在于提供一种openflow实例的配置方法及装置,以解决在无线设备上实现openflow多实例较为复杂的问题。具体技术方案如下:

第一方面,本申请实施例提供一种openflow实例的配置方法,所述方法应用于接入控制器ac,所述方法包括:

获取全局实例的配置信息和接入所述ac的每个接入点ap对应的ap实例的配置信息;

分别向接入所述ac的每个ap发送各自对应的ap实例的配置信息,以使得每个ap分别根据接收到的ap实例的配置信息创建一个ap实例,且使得每个ap分别与自身创建的ap实例绑定;

根据所述全局实例的配置信息在所述ac上创建全局实例;

将所述ac以及接入所述ac的ap绑定所述全局实例。

在一种可能的实现方式中,所述方法还包括:

接收软件定义网络sdn控制器发送的用于集中转发的第一上行流表项,所述第一上行流表项包括目的互联网协议ip地址、虚拟局域网vlan值、目的媒体访问控制mac地址以及连接ap的无线接口标识;

当接收到第一ap发送的上行数据报文,且所述上行数据报文包括的目的ip地、vlan值、目的mac地址与所述第一上行流表项包括的目的ip地址、vlan值、目的mac地址均匹配时,确定接收所述上行数据报文的无线接口是否与所述第一上行流表项包括的无线接口标识一致;

如果一致,则根据所述第一上行流表项向所述目的ip地址转发所述上行数据报文;

或者,

所述方法还包括:

接收所述sdn控制器发送的用于集中转发的第一下行流表项,所述第一下行流表项包括目的ip地址、vlan值、目的mac地址以及ap标识;

当接收到下行数据报文,且所述下行数据报文包括的目的ip地址、vlan值、目的mac地址与所述第一下行流表项包括的目的ip地址、vlan值、目的mac地址均匹配时,确定用于转发所述下行数据报文的第一ap是否与所述第一下行流表项中的ap标识一致;

如果一致,则根据所述第一下行流表项,通过连接所述第一ap的无线接口向所述第一ap发送所述下行数据报文。

在一种可能的实现方式中,所述方法还包括:

接收sdn控制器发送的用于本地转发的第二上行流表项,其中,所述第二上行流表项包括源ip地址、vlan值、源mac地址以及ap标识;

当接收到第二ap发送的上行数据报文,且所述上行数据报文包括的源ip地址、vlan值、源mac地址与所述第二上行流表项包括的源ip地址、vlan值、源mac地址均匹配时,确定所述第二ap的标识是否与所述第二上行流表项包括的ap标识一致;

如果一致,则根据所述第二上行流表项向目的ip地址转发所述上行数据报文;

或者,

所述方法还包括:

接收sdn控制器发送的用于本地转发的第二下行流表项,所述第二下行流表项包括目的ip地址、vlan值、目的mac地址以及ap标识;

当接收到下行数据报文,且所述下行数据报文包括的目的ip地址、vlan值、目的mac地址与所述第二下行流表项包括的目的ip地址、vlan值、目的mac地址均匹配时,确定用于转发所述下行数据报文的第二ap的标识是否与所述第二下行流表项包括的ap标识一致;

如果一致,则根据所述第二下行流表项向所述第二ap发送所述下行数据报文。

在一种可能的实现方式中,所述方法还包括:

接收sdn控制器发送的用于本地转发的第三上行流表项,所述第三上行流表项包括用于连接终端的无线虚接口的标识;

向第二ap发送所述第三上行流表项,以使得当所述第二ap接收到终端发送的上行数据报文,且接收所述上行数据报文的无线虚接口与所述第三上行流表项包括的无线虚接口的标识匹配时,根据所述第三上行流表项向所述ac发送所述上行数据报文;

或者,

所述方法还包括:

接收sdn控制器发送的用于本地转发的第三下行流表项,所述第三下行流表项包括目的mac地址;

向所述第二ap发送所述第三下行流表项,以使得当所述第二ap接收到所述ac发送的下行数据报文,且所述下行数据报文包括的目的mac地址与所述第三下行流表项包括的目的mac地址匹配时,通过所述第三下行流表项指定的无线虚接口向终端发送所述下行数据报文。

第二方面,本申请实施例提供一种openflow实例的配置方法,所述方法应用于接入点ap,所述方法包括:

获取ap实例的配置信息;

根据所述ap实例的配置信息在所述ap上创建ap实例;

将所述ap绑定所述ap实例。

在一种可能的实现方式中,所述方法还包括:

在所述ap支持本地转发的情况下,接收接入控制器ac发送的用于本地转发的上行流表项,所述上行流表项包括用于连接终端的无线虚接口的标识;

当接收到终端发送的上行数据报文,且接收所述上行数据报文的无线虚接口与所述上行流表项包括的无线虚接口的标识匹配时,根据所述上行流表项向所述ac发送所述上行数据报文;

或者,

所述方法还包括:

在所述ap支持本地转发的情况下,接收所述ac发送的下行流表项,所述下行流表项包括目的媒体访问控制mac地址;

当接收到所述ac发送的下行数据报文,且所述下行数据报文包括的目的mac地址与所述下行流表项中的目的mac地址匹配时,通过所述下行流表项指定的无线虚接口向终端发送所述下行数据报文。

第三方面,本申请实施例提供一种openflow实例的配置装置,所述装置应用于接入控制器ac,所述装置包括:

获取模块,用于获取全局实例的配置信息和接入所述ac的每个接入点ap对应的ap实例的配置信息;

发送模块,用于分别向接入所述ac的每个ap发送各自对应的ap实例的配置信息,以使得每个ap分别根据接收到的ap实例的配置信息创建一个ap实例,且使得每个ap分别与自身创建的ap实例绑定;

创建模块,用于根据所述获取模块获取的所述全局实例的配置信息在所述ac上创建全局实例;

绑定模块,用于将所述ac以及接入所述ac的ap绑定所述全局实例。

在一种可能的实现方式中,所述装置还包括:确定模块;

所述获取模块,用于接收软件定义网络sdn控制器发送的用于集中转发的第一上行流表项,所述第一上行流表项包括目的互联网协议ip地址、虚拟局域网vlan值、目的媒体访问控制mac地址以及连接ap的无线接口标识;

所述确定模块,用于当所述获取模块接收到第一ap发送的上行数据报文,且所述上行数据报文包括的目的ip地、vlan值、目的mac地址与所述第一上行流表项包括的目的ip地址、vlan值、目的mac地址均匹配时,确定接收所述上行数据报文的无线接口是否与所述第一上行流表项包括的无线接口标识一致;

所述发送模块,用于如果所述确定模块确定接收所述上行数据报文的无线接口与所述第一上行流表项包括的无线接口标识一致,则根据所述第一上行流表项向所述目的ip地址转发所述上行数据报文;

所述获取模块,还用于接收所述sdn控制器发送的用于集中转发的第一下行流表项,所述第一下行流表项包括目的ip地址、vlan值、目的mac地址以及ap标识;

所述确定模块,还用于当所述获取模块接收到下行数据报文,且所述下行数据报文包括的目的ip地址、vlan值、目的mac地址与所述第一下行流表项包括的目的ip地址、vlan值、目的mac地址均匹配时,确定用于转发所述下行数据报文的第一ap是否与所述第一下行流表项中的ap标识一致;

所述发送模块,还用于如果所述确定模块确定用于转发所述下行数据报文的第一ap与所述第一下行流表项中的ap标识一致,则根据所述第一下行流表项,通过连接所述第一ap的无线接口向所述第一ap发送所述下行数据报文。

在一种可能的实现方式中,所述装置还包括确定模块;

所述获取模块,还用于接收sdn控制器发送的用于本地转发的第二上行流表项,其中,所述第二上行流表项包括源ip地址、vlan值、源mac地址以及ap标识;

所述确定模块,还用于当所述获取模块接收到第二ap发送的上行数据报文,且所述上行数据报文包括的源ip地址、vlan值、源mac地址与所述第二上行流表项包括的源ip地址、vlan值、源mac地址均匹配时,确定所述第二ap的标识是否与所述第二上行流表项包括的ap标识一致;

所述发送模块,还用于如果所述确定模块确定所述第二ap的标识与所述第二上行流表项包括的ap标识一致,则根据所述第二上行流表项向目的ip地址转发所述上行数据报文;

所述获取模块,还用于接收sdn控制器发送的用于本地转发的第二下行流表项,所述第二下行流表项包括目的ip地址、vlan值、目的mac地址以及ap标识;

所述确定模块,还用于当所述获取模块接收到下行数据报文,且所述下行数据报文包括的目的ip地址、vlan值、目的mac地址与所述第二下行流表项包括的目的ip地址、vlan值、目的mac地址均匹配时,确定用于转发所述下行数据报文的第二ap的标识是否与所述第二下行流表项包括的ap标识一致;

所述发送模块,还用于如果所述确定模块确定用于转发所述下行数据报文的第二ap的标识与所述第二下行流表项包括的ap标识一致,则根据所述第二下行流表项向所述第二ap发送所述下行数据报文。

在一种可能的实现方式中,所述获取模块,还用于接收sdn控制器发送的用于本地转发的第三上行流表项,所述第三上行流表项包括用于连接终端的无线虚接口的标识;

所述发送模块,还用于向第二ap发送所述获取模块获取的所述第三上行流表项,以使得当所述第二ap接收到终端发送的上行数据报文,且接收所述上行数据报文的无线虚接口与所述第三上行流表项包括的无线虚接口的标识匹配时,根据所述第三上行流表项向所述ac发送所述上行数据报文;

所述获取模块,还用于接收sdn控制器发送的用于本地转发的第三下行流表项,所述第三下行流表项包括目的mac地址;

所述发送模块,还用于向所述第二ap发送所述获取模块获取的第三下行流表项,以使得当所述第二ap接收到所述ac发送的下行数据报文,且所述下行数据报文包括的目的mac地址与所述第三下行流表项包括的目的mac地址匹配时,通过所述第三下行流表项指定的无线虚接口向终端发送所述下行数据报文。

第四方面,本申请实施例提供一种openflow实例的配置装置,所述装置应用于接入点ap,所述装置包括:

获取模块,用于获取ap实例的配置信息;

创建模块,用于根据所述ap实例的配置信息在所述ap上创建ap实例;

绑定模块,用于将所述ap绑定所述ap实例。

在一种可能的实现方式中,所述装置还包括:发送模块;

所述获取模块,还用于在所述ap支持本地转发的情况下,接收接入控制器ac发送的用于本地转发的上行流表项,所述上行流表项包括用于连接终端的无线虚接口的标识;

所述发送模块,用于当所述获取模块接收到终端发送的上行数据报文,且接收所述上行数据报文的无线虚接口与所述上行流表项包括的无线虚接口的标识匹配时,根据所述上行流表项向所述ac发送所述上行数据报文;

所述获取模块,还用于在所述ap支持本地转发的情况下,接收所述ac发送的下行流表项,所述下行流表项包括目的媒体访问控制mac地址;

所述发送模块,还用于当所述获取模块接收到所述ac发送的下行数据报文,且所述下行数据报文包括的目的mac地址与所述下行流表项中的目的mac地址匹配时,通过所述下行流表项指定的无线虚接口向终端发送所述下行数据报文。

第五方面,本申请实施例提供一种ac,该ac包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现第一方面中所述的openflow实例的配置方法。

第六方面,本申请实施例提供一种ap,该ap包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现第二方面中所述的openflow实例的配置方法。

第七方面,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面或第二方面中所述的openflow实例的配置方法。

第八方面,本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面中所述的openflow实例的配置方法。

采用本申请实施例提供的openflow实例的配置方法及装置,ac可创建全局实例,并将ac以及接入ac的ap绑定全局实例,且每个ap与一个ap实例绑定,即使ap中的无线虚端口发生变化,ap与openflow实例之间的绑定关系也不会发生变化,即当ap的无线虚端口发生变化时,无需重新配置实例,相比于现有技术中基于端口配置实例的方法,本申请实施例采用的配置实例的方法可以减小配置工作量,实现过程较为简单。

当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。

附图说明

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

图1为本申请实施例提供的一种openflow网络的架构示意图;

图2为本申请实施例提供的一种openflow多实例的示例性示意图;

图3为本申请实施例提供的一种无线网络架构的示意图;

图4为本申请实施例提供的一种openflow实例配置结果的示例性示意图;

图5为本申请实施例提供的一种openflow实例的配置方法的流程图;

图6为本申请实施例提供的另一种openflow实例的配置方法的流程图;

图7为本申请实施例提供的一种集中上行转发流程的示意图;

图8为本申请实施例提供的一种集中下行转发流程的示意图;

图9为本申请实施例提供的一种本地上行转发流程的示意图;

图10为本申请实施例提供的一种本地下行转发流程的示意图;

图11为本申请实施例提供的一种openflow实例的配置装置的结构示意图;

图12为本申请实施例提供的另一种openflow实例的配置装置的结构示意图;

图13为本申请实施例提供的一种ac的结构示意图;

图14为本申请实施例提供的一种ap的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请实施例应用于openflow网络中,如图1所示,图1为本申请实施例提供的一种openflow网络的架构示意图,openflow网络中包括openflow设备、openflow控制器以openflow设备和openflow控制器之间的安全通道(securechannel)。

openflow控制器是虚拟网的控制中心,可以根据用户的配置或者动态运行的协议生成流表,并将流表发送到openflow设备。

openflow设备用于接收openflow控制器下发的流表,并根据流表进行报文处理,向openflow控制器上报设备状态和事件,如接口up或接口down等事件。其中,openflow设备可以为接入控制器(accesspointcontroller,ac)或ap。

图1中的虚线为安全通道,用于支持openflow控制器与openflow设备之间的通信。

目前可以在openflow设备上配置多个openflow实例,一个openflow实例可连接多个openflow控制器,一个openflow控制器也可连接多个openflow实例。如图2所示,若一个openflow设备上存在三个端口,每个端口对应一个openflow实例,分别为openflow实例1、openflow实例2和openflow实例3。其中,openflow实例1连接于openflow控制器1,openflow实例2连接于openflow控制器1和openflow控制器2,openflow实例3连接于openflow控制器3。

若图2中的openflow设备为ap,当有终端接入ap或者有终端断开与ap之间的连接时,ap的端口均会发生变化,使得openflow控制器频繁地为端口配置实例,且还会出现由于网络不稳定或者终端处于ap服务范围的边缘导致的连接不稳定的现象,例如终端接入ap后,ap为该终端创建无线虚接口,openflow控制器为该无线虚接口配置实例,但是很快终端又断开与ap的连接,ap删除该无线虚接口,openflow控制器则需再删除为该无线虚接口配置的实例,若终端反复连接ap又断开,会导致openflow控制器的配置振荡,可见现有技术中在无线设备上实现openflow多实例较为复杂。

为了解决上述问题,本申请实施例可基于无线网络中的ap来划分openflow实例,先对本申请实施例应用的无线网络进行介绍,该无线网络中包括sdn控制器,ac,连接于ac的至少两个ap,以及ap服务的终端。如图3所示,图3示例性地示出了一个sdn控制器,一个ac,以及与ac连接的ap1和ap2。

其中,sdn控制器为使用openflow协议的控制器,也可称为openflow控制器。可选地,sdn控制器可通过交换机与ac相连。ap1可服务于终端1和终端2,ap1通过无线虚接口1与终端1通信,通过无线虚接口2与终端2通信。ap2服务于终端3,ap3通过无线虚接口3与终端3通信。

为了解决现有技术在无线设备上实现openflow多实例较为复杂的问题,本申请实施例可分别为每个ap划分一个openflow实例,ap创建的无线虚接口可与ap对应的openflow实例绑定,这样当ap上的无线虚接口出现变化时,openflow控制器无需重新划分openflow实例,可以降低在无线设备上实现openflow多实例的复杂度。

结合图3所示的无线网络架构,本申请实施例中为图3中的无线设备配置的实例如图4所示,其中ap1绑定openflow实例1,ap2绑定openflow实例2,且ap1和ap2均绑定到全局openflow实例。

当ap1中有终端上线时,ap1创建的无线虚接口均属于openflow实例1,例如图3中的无线虚接口1和无线虚接口2均属于openflow实例1。当ap2中有终端上线时,ap2创建的无线虚接口均属于openflow实例2,例如图3中的无线虚接口3属于openflow实例2。可选地,在一种可能的实现方式中,也可以在ap上创建多个实例,预先无线虚接口特征与实例的对应关系,例如,在ap1上创建实例a和实例b,预先设置用于连接品牌1和品牌2的终端的无线虚接口属于实例a,用于连接品牌3和品牌4的终端的无线虚接口属于实例b。

以下结合具体实施例对本申请实施例提供的openflow实例的配置方法进行描述。

如图5所示,本申请实施例提供了一种openflow实例的配置方法,该方法由ac执行,该方法包括:

s501、ac获取全局实例的配置信息和接入ac的每个ap对应的ap实例的配置信息。

其中,ac可接收用户输入的或sdn控制器下发的全局实例的配置信息。

ac接收到的全局实例的配置信息可包括全局实例和sdn控制器的互联网协议(internetprotocol,ip)地址和端口号,还可以包括自身的ip地址和端口号。全局实例为全局openflow实例,简称为全局实例。ap实例是为ap配置的openflow实例,简称为ap实例。

可选地,ac还可接收用户输入的或sdn控制器下发的接入ac的每个ap对应的ap实例的配置信息。

例如,结合图3,ac可接收到ap1对应的ap实例1的配置信息,以及ap2对应的ap实例2的配置信息。

s502、分别向接入ac的每个ap发送各自对应的ap实例的配置信息,以使得每个ap分别根据接收到的ap实例的配置信息创建一个ap实例,且使得每个ap分别与自身创建的ap实例绑定。

例如,在图3中,ac可向ap1发送ap实例1的配置信息,可向ap2发送ap实例2的配置信息,使得ap1可创建ap实例1,ap2可创建ap实例2,且ap1可绑定ap实例1,ap2可绑定ap实例2。

s503、根据全局实例的配置信息在ac上创建全局实例。

s504、将ac以及接入ac的ap绑定全局实例。

示例性地,如图4所示,图3中的ap1可绑定ap实例1,ap2可绑定ap实例2,ap1和ap2均可绑定至全局实例。

采用本申请实施例提供的openflow实例的配置方法,ac可创建全局实例,并将ac以及接入ac的ap绑定全局实例,且每个ap与一个ap实例绑定,即使ap中的无线虚端口发生变化,ap与openflow实例之间的绑定关系也不会发生变化,即当ap的无线虚端口发生变化时,无需重新配置实例,相比于现有技术中基于端口配置实例的方法,本申请实施例采用的配置实例的方法可以减小配置工作量,实现过程较为简单。

ac在创建全局实例之后,还可接收到sdn控制器下发的流表项,以根据流表项对报文进行处理。

在第一种可能的实施方式中,针对集中转发方式,可按照以下方法进行处理。

ac接收sdn控制器发送的用于集中转发的第一上行流表项。

其中,第一上行流表项包括目的ip地址、虚拟局域网(virtuallocalareanetwork,vlan)值、目的媒体访问控制(mediaaccesscontrol,mac)地址,以及连接ap的无线接口标识。

可选的,第一上行流表项可表示为:openflow基本匹配域(目的ip地址+vlan值+目的mac地址)+加扩展匹配域(连接ap的无线接口标识)+output(目的ip地址)。

当ac接收到第一ap发送的上行数据报文,且上行数据报文包括的目的ip地、vlan值、目的mac地址与第一上行流表项包括的目的ip地址、vlan值、目的mac地址均匹配时,确定接收上行数据报文的无线接口是否与第一上行流表项包括的无线接口标识一致。如果一致,则ac根据第一上行流表项向目的ip地址转发上行数据报文。

换言之,若ac接收到的上行数据报文与第一上行流表项中的基本匹配域和扩展匹配域均匹配成功,则可根据第一上行流表项的output转发该上行数据报文。

在这种实施方式中,ac还可以接收sdn控制器发送的用于集中转发的第一下行流表项。

其中,第一下行流表项包括目的ip地址、vlan值、目的mac地址以及ap标识。

可选的,第一下行流表项可表示为:openflow基本匹配域(目的ip地址+vlan值+目的mac地址)+扩展匹配域(ap标识)+output(连接ap的无线接口标识)。

当ac接收到下行数据报文,且所述下行数据报文包括的目的ip地址、vlan值、目的mac地址与所述第一下行流表项包括的目的ip地址、vlan值、目的mac地址均匹配时,确定用于转发所述下行数据报文的第一ap是否与第一下行流表项中的ap标识一致。如果一致,则根据第一下行流表项,通过连接所述第一ap的无线接口向第一ap发送所述下行数据报文。

换言之,若ac接收到的下行数据报文与第一下行流表项中的基本匹配域和扩展匹配域均匹配成功,则可根据第一下行流表项的output转发该下行数据报文。

在第二种可能的实施方式中,针对本地转发方式,可按照以下方法进行处理。

ac接收sdn控制器发送的用于本地转发的第二上行流表项。

其中,第二上行流表项包括源ip地址、vlan值、源mac地址以及ap标识。

可选的,第二上行流表项可表示为:openflow基本匹配域(源ip地址+vlan值+源mac地址)+扩展匹配域(ap标识)+output(目的ip地址)。

当ac接收到第二ap发送的上行数据报文,且所述上行数据报文包括的源ip地址、vlan值、源mac地址与第二上行流表项包括的源ip地址、vlan值、源mac地址均匹配时,确定第二ap的标识是否与第二上行流表项包括的ap标识一致;如果一致,则根据第二上行流表项向目的ip地址转发所述上行数据报文。

换言之,若ac接收到的上行数据报文与第二上行流表项中的基本匹配域和扩展匹配域均匹配成功,则可根据第二上行流表项中的output转发该上行数据报文。

在这种实施方式中,ac还可以接收sdn控制器发送的用于本地转发的第二下行流表项。

其中,第二下行流表项包括目的ip地址、vlan值、目的mac地址以及ap标识;

可选的,第二下行流表项可表示为:openflow基本匹配域(目的ip地址+vlan值+目的mac地址)+扩展匹配域(ap标识)+output(ap标识)。

当ac接收到下行数据报文,且所述下行数据报文包括的目的ip地址、vlan值、目的mac地址与第二下行流表项包括的目的ip地址、vlan值、目的mac地址均匹配时,确定用于转发所述下行数据报文的第二ap的标识是否与第二下行流表项包括的ap标识一致。如果一致,则ac根据第二下行流表项向第二ap发送所述下行数据报文。

换言之,若ac接收到的下行数据报文与第二下行流表项中的基本匹配域和扩展匹配域均匹配成功,则可根据第二下行流表项中的output转发该下行数据报文。

由于采用本地转发方式还需由ap对报文进行转发和封装,所以在上述第二种实现方式的基础上,sdn控制器还可以通过ac向ap下发流表项,以使得ap可根据接收到的流表项对报文进行处理,具体实现过程如下:

ac接收sdn控制器发送的用于本地转发的第三上行流表项,然后向第二ap发送第三上行流表项,以使得当第二ap接收到终端发送的上行数据报文,且接收上行数据报文的无线虚接口与第三上行流表项包括的无线虚接口的标识匹配时,根据第三上行流表项向ac发送该上行数据报文。

其中,第三上行流表项包括用于连接终端的无线虚接口的标识。可选的,第三上行流表项可表示为:openflow扩展匹配域(无线虚接口的标识)+output(ac标识)。

此外,ac可接收sdn控制器发送的用于本地转发的第三下行流表项,然后向第二ap发送第三下行流表项,以使得当第二ap接收到ac发送的下行数据报文,且下行数据报文包括的mac地址与第三下行流表项包括的mac地址匹配时,通过第三下行流表项指定的无线虚接口向终端发送该下行数据报文。

所述第三下行流表项包括目的mac地址。可选的,第三下行流表项可表示为:openflow基本匹配域(目的mac地址)+output(无线虚接口的标识)。

对应于图5所示的实施例,本申请实施例还提供一种openflow实例的配置方法,由ap执行,如图6所示,该方法包括:

s601、获取ap实例的配置信息。

其中,ap可接收用户输入的ap实例的配置信息,或sdn控制器发送给ac,ac再转发给ap的ap实例的配置信息。ap实例是为ap配置的openflow实例,简称为ap实例。可选地,ap实例的配置信息可包括ap实例和sdn控制器的ip地址和端口号,还可以包括自身的ip地址和端口号。

s602、根据ap实例的配置信息在ap上创建ap实例。

s603、将ap绑定ap实例。

其中,在ap绑定ap实例后,ap创建的用于连接终端的无线虚接口也属于该ap实例。

采用本申请实施例提供的openflow实例的配置方法,ap可根据ap实例的配置信息创建ap实例,并将ap绑定ap实例,即该ap属于ap实例,即使ap中的无线虚接口发生变化,ap与ap实例之间的绑定关系也不会发生变化,这样无线虚接口的变化不会影响到实例的划分,即当ap的无线虚接口发生变化时,无需重新配置实例,相比与现有技术中基于端口配置实例的方法,本申请实施例采用的基于ap配置实例的方法可以减少配置工作量,实现较为简单。

在ap创建ap实例后,在ap支持本地转发的情况下,可接收ac发送的用于本地转发的上行流表项和下行流表项。该上行流表项为上述实施例中的第三上行流表项,该下行流表项为上述实施例中的第三下行流表项。

其中,上行流表项包括用于连接终端的无线虚接口的标识。可选的,该上行流表项可表示为:openflow扩展匹配域(无线虚接口的标识)+output(ac标识)。

当ap接收到终端发送的上行数据报文,且接收上行数据报文的无线虚接口与上行流表项包括的无线虚接口的标识匹配时,可根据上行流表项向ac发送上行数据报文。换言之,若ap接收到的上行数据报文与上行流表项中的扩展匹配域匹配,则可根据上行流表项中的output转发上行数据报文,即根据output中的ac标识向该ac转发上行数据报文。

下行流表项包括目的mac地址。可选的,该下行流表项可表示为:openflow基本匹配域(目的mac地址)+output(无线虚接口的标识)。

当ap接收到ac发送的下行数据报文,且下行数据报文包括的目的mac地址与下行流表项中的目的mac地址匹配时,可通过下行流表项指定的无线虚接口向终端发送下行数据报文。换言之,若ap接收到的下行数据报文与下行流表项中的基本匹配域匹配,则可根据下行流表项中的output转发下行数据报文,即根据output中的无线虚接口的标识,向该无线虚接口转发该下行数据报文。

以下结合具体的例子对本申请实施例提供的openflow实例的配置方法进行说明,结合图3和图4,ac可创建全局实例,将ac、ap1和ap2绑定全局实例,ap1创建ap实例1,并与ap实例1绑定,ap2创建ap实例2,并与ap实例2绑定。假设ap1支持集中转发,ap2支持本地转发。

如图7所示,图7为集中上行转发流程的示例性示意图,在图7的场景中,ap1支持集中转发,sdn控制器无需为ap1下发上行流表项,可为ac下发第一上行流表项:openflow基本匹配域(目的ip地址+vlan值+目的mac值)+扩展匹配域(连接ap的无线接口标识)+output(目的ip地址)。

目前,ap1通过射频口接收到终端1发送的上行数据报文后,按照图7中的箭头方向对上行数据报文进行转发,即ap1通过无线转发方式将上行数据报文转发至ac的二层转发模块,ac的二层转发模块再将上行数据报文转发至三层转发模块,三层转发模块将上行数据报文转发给ac的无线转发模块,然后无线转发模块再将上行数据报文发送至二层转发模块,由二层转发模块根据上行数据报文中的目的地址对上行数据报文进行转发。

在本申请实施例中,ac中的第一上行流表项可代替图7中的二层转发模块和三层转发模块,即ap1接收到终端1发送的上行数据报文后,通过无线转发方式将上行数据报文转发至ac的无线转发模块,若ac确定上行数据报文中的目的ip地址、vlan值、目的mac地址与第一上行流表项中的基本匹配域相匹配,且接收该上行数据报文的无线接口与第一上行流表项包括的无线接口标准一致,则确定该上行数据报文与第一上行流表项匹配,进而根据第一上行流表项由无线转发模块将该上行数据报文转发至目的ip地址。

如图8所示,图8为集中下行转发流程的示例性示意图,在图8的场景中,ap1支持集中转发,sdn控制器无需为ap1下发下行流表项,可为ac下发第一下行流表项:openflow基本匹配域(目的ip地址+vlan值+目的mac地址)+扩展匹配域(ap标识)+output(连接ap的无线接口标识)。

目前,ac接收到下行数据报文后可按照图8中的箭头顺序对下行数据报文进行转发,在本申请中,ac中的下行流表项可替换图8中的二层转发模块和三层转发模块。即ac接收到下行数据报文后,若确定下行数据报文中的目的ip地址、vlan值、目的mac地址与下行流表项中的基本匹配域相匹配,且根据该下行数据报文确定用于转发该下行数据报文的ap,与第一下行流表项中的ap标识匹配,则确定该下行数据报文与第一下行流表项匹配,进而根据第一下行流表项通过连接ap的无线接口将该下行数据报文转发至ap1,再由ap1将该下行数据报文转发给终端。

如图9所示,图9为本地上行转发流程的示例性示意图,在图9的场景中,ap2支持本地转发,ac接收到的第二上行流表项为:openflow基本匹配域(源ip地址+vlan值+源mac地址)+扩展匹配域(ap标识)+output(目的ip地址);ap2接收到的第三上行流表项为openflow扩展匹配域(无线虚接口的标识)+output(ac标识)。

目前ap2接收到来自终端的上行数据报文后可按照图9中的箭头顺序对上行数据报文进行转发,在本申请中,ac的第二上行流表项可替换图9中ac的二层转发模块和三层转发模块,ap2的第二上行流表项可替换图9中ap2的二层转发模块。

即ap2接收到来自终端的上行数据报文后,若接收该上行数据报文的无线虚接口与第三上行流表项的扩展匹配域中的无线虚接口相同,则确定该上行数据报文与ap2中的第三上行流表项匹配,进而根据该第三上行流表项将上行数据报文转发给ac。ac接收到该上行数据报文后,若确定上行数据报文中的目的ip地址、vlan值值、目的mac地址与自身存储的第二上行流表项中的基本匹配域匹配,发送该上行数据报文的ap与第二上行流表项中的ap标识匹配,则确定该上行数据报文与该第二上行流表项匹配,进而根据该第二上行流表项将上行数据报文转发至目的ip地址。

如图10所示,图10为本地下行转发流程的示例性示意图,在图10的场景中,ap2支持本地转发,ac接收到的第二下行流表项为:openflow基本匹配域(目的ip地址+vlan值+目的mac地址)+扩展匹配域(ap标识)+output(ap标识);ap2接收到的第三下行流表项为:openflow基本匹配域(目的mac地址)+output(无线虚接口的标识)。

目前ap2接收到下行数据报文后可按照图10中的箭头顺序对下行数据报文进行转发,在本申请中,ac的第二下行流表项可替换图10中ac的二层转发模块和三层转发模块,ap2的第三下行流表项可替换图10中ap2的二层转发模块。

即ac接收到下行数据报文后,若确定下行数据报文中的目的ip地址、vlan值、目的mac地址与第二下行流表项中的基本匹配域相匹配,且根据该下行数据报文确定用于转发该下行数据报文的ap2,与第二下行流表项中的ap标识匹配,则确定该下行数据报文与该第二下行流表项匹配,进而根据该第二下行流表项将该下行数据报文转发给ap2。ap2接收到下行数据报文后,若确定下行数据报文中的目的mac地址与自身存储的第三下行流表项中的目的mac地址相同,则可确定该下行数据报文与该第三下行流表项匹配,进而通过第三下行流表项指示的无线虚接口向终端转发该下行数据报文。

对应于图5的方法实施例,本申请实施例还提供一种openflow实例的配置装置,该装置应用于ac,如图11所示,该装置装置包括:获取模块1101、发送模块1102、创建模块1103和绑定模块1104。

获取模块1101,用于获取全局实例的配置信息和接入ac的每个接入点ap对应的ap实例的配置信息。

发送模块1102,用于分别向接入ac的每个ap发送各自对应的ap实例的配置信息,以使得每个ap分别根据接收到的ap实例的配置信息创建一个ap实例,且使得每个ap分别与自身创建的ap实例绑定。

创建模块1103,用于根据获取模块1101获取的全局实例的配置信息在ac上创建全局实例。

绑定模块1104,用于将ac以及接入ac的ap绑定全局实例。

可选地,该装置还包括:确定模块1105。

获取模块1101,用于接收sdn控制器发送的用于集中转发的第一上行流表项,第一上行流表项包括目的互联网协议ip地址、虚拟局域网vlan值、目的媒体访问控制mac地址以及连接ap的无线接口标识。

确定模块1105,用于当获取模块1101接收到第一ap发送的上行数据报文,且上行数据报文包括的目的ip地、vlan值、目的mac地址与第一上行流表项包括的目的ip地址、vlan值、目的mac地址均匹配时,确定接收上行数据报文的无线接口是否与第一上行流表项包括的无线接口标识一致;

发送模块1102,用于如果确定模块1105确定接收上行数据报文的无线接口与第一上行流表项包括的无线接口标识一致,则根据第一上行流表项向目的ip地址转发上行数据报文;

获取模块1101,还用于接收sdn控制器发送的用于集中转发的第一下行流表项,第一下行流表项包括目的ip地址、vlan值、目的mac地址以及ap标识;

确定模块1105,还用于当获取模块1101接收到下行数据报文,且下行数据报文包括的目的ip地址、vlan值、目的mac地址与第一下行流表项包括的目的ip地址、vlan值、目的mac地址均匹配时,确定用于转发下行数据报文的第一ap是否与第一下行流表项中的ap标识一致。

发送模块1102,还用于如果确定模块1105确定用于转发下行数据报文的第一ap与第一下行流表项中的ap标识一致,则根据第一下行流表项,通过连接第一ap的无线接口向第一ap发送下行数据报文。

可选地,获取模块1101,还用于接收sdn控制器发送的用于本地转发的第二上行流表项,其中,第二上行流表项包括源ip地址、vlan值、源mac地址以及ap标识。

确定模块1105,还用于当获取模块1101接收到第二ap发送的上行数据报文,且上行数据报文包括的源ip地址、vlan值、源mac地址与第二上行流表项包括的源ip地址、vlan值、源mac地址均匹配时,确定第二ap的标识是否与第二上行流表项包括的ap标识一致。

发送模块1102,还用于如果确定模块1105确定第二ap的标识与第二上行流表项包括的ap标识一致,则根据第二上行流表项向目的ip地址转发上行数据报文。

获取模块1101,还用于接收sdn控制器发送的用于本地转发的第二下行流表项,第二下行流表项包括目的ip地址、vlan值、目的mac地址以及ap标识。

确定模块1105,还用于当获取模块1101接收到下行数据报文,且下行数据报文包括的目的ip地址、vlan值、目的mac地址与第二下行流表项包括的目的ip地址、vlan值、目的mac地址均匹配时,确定用于转发下行数据报文的第二ap的标识是否与第二下行流表项包括的ap标识一致。

发送模块1102,还用于如果确定模块1105确定用于转发下行数据报文的第二ap的标识与第二下行流表项包括的ap标识一致,则根据第二下行流表项向第二ap发送下行数据报文。

可选地,获取模块1101,还用于接收sdn控制器发送的用于本地转发的第三上行流表项,第三上行流表项包括用于连接终端的无线虚接口的标识;

发送模块1102,还用于向第二ap发送获取模块1101获取的第三上行流表项,以使得当第二ap接收到终端发送的上行数据报文,且接收上行数据报文的无线虚接口与第三上行流表项包括的无线虚接口的标识匹配时,根据第三上行流表项向ac发送上行数据报文。

获取模块1101,还用于接收sdn控制器发送的用于本地转发的第三下行流表项,第三下行流表项包括目的mac地址。

发送模块1102,还用于向第二ap发送获取模块1101获取的第三下行流表项,以使得当第二ap接收到ac发送的下行数据报文,且下行数据报文包括的目的mac地址与第三下行流表项包括的目的mac地址匹配时,通过第三下行流表项指定的无线虚接口向终端发送下行数据报文。

对应于图6所示的方法实施例,本申请实施例还提供一种openflow实例的配置装置,该装置应用于ap,如图12所示,该装置包括:获取模块1201、创建模块1202和绑定模块1203。

获取模块1201,用于获取ap实例的配置信息。

创建模块1202,用于根据获取模块1201获取的ap实例的配置信息在ap上创建ap实例。

绑定模块1203,用于将ap绑定ap实例。

可选地,该装置还包括:发送模块1204。

获取模块1201,还用于在ap支持本地转发的情况下,接收接入控制器ac发送的用于本地转发的上行流表项,上行流表项包括用于连接终端的无线虚接口的标识。

发送模块1204,用于当获取模块1201接收到终端发送的上行数据报文,且接收上行数据报文的无线虚接口与上行流表项包括的无线虚接口的标识匹配时,根据上行流表项向ac发送上行数据报文。

获取模块1201,还用于在ap支持本地转发的情况下,接收ac发送的下行流表项,下行流表项包括目的媒体访问控制mac地址。

发送模块1204,还用于当获取模块1201接收到ac发送的下行数据报文,且下行数据报文包括的目的mac地址与下行流表项中的目的mac地址匹配时,通过下行流表项指定的无线虚接口向终端发送下行数据报文。

本申请实施例还提供了一种ac,如图13所示,包括处理器1301、通信接口1302、存储器1303和通信总线1304,其中,处理器1301,通信接口1302,存储器1303通过通信总线1304完成相互间的通信,

存储器1303,用于存放计算机程序;

处理器1301,用于执行存储器1303上所存放的程序时,实现上述方法实施例中由ac执行的步骤。

上述ac提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述ac与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

本申请实施例还提供了一种ap,如图14所示,包括处理器1401、通信接口1402、存储器1403和通信总线1404,其中,处理器1401,通信接口1402,存储器1403通过通信总线1404完成相互间的通信,

存储器1403,用于存放计算机程序;

处理器1401,用于执行存储器1403上所存放的程序时,实现上述方法实施例中由ap执行的步骤。

上述ap提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述ap与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一openflow实例的配置方法的步骤。

在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一openflow实例的配置方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

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