一种SDN流表下发方法、系统及控制器与流程

文档序号:12752168阅读:3624来源:国知局
一种SDN流表下发方法、系统及控制器与流程

本发明涉及通信技术领域,尤其涉及一种SDN流表下发方法、系统及控制器。



背景技术:

软件定义网络(Software-Defined Networking,SDN)是一种新型网络体系架构。SDN架构将原本完全由交换机、路由器完成的数据包转发过程,转化为由OpenFlow交换机和控制器分别完成的独立过程,实现将网络设备控制平面与数据平面分离开来,同时具有可编程的特性,使底层基础设施被抽象为应用程序和网络服务,从而实现了网络流量的灵活控制。

SDN控制器作为网络的一种操作系统,负责管理、策略制定等,以此确保网络智能化,而交换机只负责高效率地转发数据,其数据转发的依据就是流表。SDN控制器的流表下发有主动和被动两种模式,它们具有各自的特点。主动的流表下发模式利用预先设定好的规则计算得出大量的流表下发到交换机上;当数据包到达交换机后,交换机先进行流表匹配,再根据相应的流表项对数据包作出相应的处理动作;被动的流表下发模式则是针对由交换机上传的各个数据包设置工作,制定下发流表。



技术实现要素:

从上述可知,现有的SDN控制器的流表下发模式中,主动的流表下发模式考虑到数据流的多样性,有些流表项是为了某些特殊问题出现而配置的,其利用率比较低,通常闲置在交换机上,消耗了交换机的存储资源;而被动的流表下发模式虽能更有效地利用交换机上的流表存储资源,但在处理过程中,会增加额外的流表设置时间,其流表下发的效率不高。

针对上述问题,本发明的目的在于提供一种SDN流表下发方法、系统及控制器,不仅优化了交换机的流表存储资源,还提高了流表的下发效率。

本发明提供一种SDN流表下发方法,包括如下步骤:

预先计算流表,并存储到本地数据库中;

获取交换机发送的数据包,并将所述数据包与所述本地数据库中的流表进行匹配;

在匹配到与所述数据包相应的流表时,从所述本地数据库中调用与所述数据包相应的流表并下发给所述交换机。

上述技术方案中,通过预先计算流表,并存储在本地数据库中;当SDN网络开始运作时,获取交换机发送的数据包,并将所述数据包与所述本地数据库中的流表进行匹配;在匹配成功时,从所述本地数据库中调用匹配的流表并下发给所述交换机;不仅优化了交换机的流表存储资源,还提高了流表的下发效率。

优选的,当未匹配到与所述数据包相应的流表时,为所述数据包配置新的流表并下发给所述交换机。

优选的,将所述新的流表发送到所述本地数据库中进行存储。

优选的,所述本地数据库采用MySQL数据库。

本发明还提供一种SDN流表下发装置,包括:

流表管理模块,用于预先计算流表,并存储到本地数据库中;

流表匹配模块,用于获取交换机发送的数据包,并将所述数据包与所述本地数据库中的流表进行匹配;

流表发送模块,用于在匹配到与所述数据包相应的流表时,从所述本地数据库中调用与所述数据包相应的流表并下发给所述交换机。

在上述技术方案中,所述流表管理模块预先计算流表,并存储在本地数据库中;当SDN网络开始运作时,所述流表匹配模块获取交换机发送的数据包,并将所述数据包与所述本地数据库中的流表进行匹配;在匹配成功时,所述流表发送模块从所述本地数据库中调用匹配的流表并下发给所述交换机;不仅优化了交换机的流表存储资源,还提高了流表的下发效率。

优选的,所述SDN流表下发装置还包括:

流表配置模块,用于当未匹配到与所述数据包相应的流表时,为所述数据包配置新的流表,并发送给所述流表发送模块,以使所述流表发送模块将所述新的流表下发给所述交换机。

优选的,所述流表配置模块,还用于将所述新的流表发送到所述本地数据库中进行存储。

优选的,所述SDN流表下发装置采用OpenFlow协议与所述交换机进行数据交互。

本发明还提供一种控制器,所述控制器包含如上述的SDN流表下发装置。

本发明提供的SDN流表下发方法、系统及控制器,具有如下有益效果:通过预先计算流表,并存储在本地数据库中;当SDN网络开始运作时,获取交换机发送的数据包,并将所述数据包与所述本地数据库中的流表进行匹配;在匹配成功时,从所述本地数据库中调用匹配的流表并下发给所述交换机。采用本发明提供的技术方案,不仅优化了交换机的流表存储资源,还提高了流表的下发效率。

附图说明

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

图1是本发明提供的SDN流表下发方法的一个实施例的流程示意图。

图2是本发明提供的SDN流表下发装置的一个实施例的结构示意图。

具体实施方式

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

请参阅图1,本发明提供一种SDN流表下发方法的一个实施例,包括步骤S11~S13,具体如下:

S11,预先计算流表,并存储到本地数据库中。

具体地,利用预先设定好的规则计算得出流表,并存储到本地数据库中。优选的,所述本地数据库采用MySQL数据库。MySQL是一种开放源代码的关系型数据库管理系统,可以大大降低拥有成本。MySQL既能够作为一个单独的应用程序应用在客户端服务器网络环境中;也能够作为一个库而嵌入到其他的软件中提供多语言支持,比如C#、Java、Python、Perl、Tcl等;还能够支持Windows/Linux/Unix等等主流的操作系统。它因为其很快的查询速度、高可靠性和适应性,成为一个用于管理、检查、优化数据库操作的较好的选择。当然,所述本地数据库也可采用其他数据库,这些均在本发明的保护范围之内,在此不做限制。

S12,获取交换机发送的数据包,并将所述数据包与所述本地数据库中的流表进行匹配。

具体的,首先,接收交换机发送的数据包,并获取所述数据包的匹配字段;其中,所述匹配字段包含源/目的MAC(Media Access Control,媒体访问控制)地址、以太网类型、VLAN(Virtual Local Area Network,虚拟局域网)ID、源/目的IP地址、IP协议、IP TOS(Type-Of-Service,服务类型)及源/目的TCP/UDP端口;然后,根据所述匹配字段进行分类区分;最后,采用流水线处理技术对每一类所述数据包进行流表匹配;其中,所述流水线处理技术为本发明领域的技术人员所公知的,本发明不做赘述。

可以理解的是,此步骤还可以采用其他方法来进行流表匹配,这些均在本发明的保护范围之内,本发明不做具体限制。

S13,在匹配到与所述数据包相应的流表时,从所述本地数据库中调用与所述数据包相应的流表并下发给所述交换机。

优选的,所述交换机支持OpenFlow协议。

在本发明的一个实施例中,所述SDN流表下发方法还包括:当未匹配到与所述数据包相应的流表时,为所述数据包配置新的流表并下发给所述交换机。

在本发明的另一个实施例中,所述SDN流表下发方法还包括:当未匹配到与所述数据包相应的流表时,为所述数据包制定新的流表并下发给所述交换机;并将所述新的流表发送到所述本地数据库中进行存储。

综上,本发明实施例提供的SDN流表下发方法,通过预先计算流表,并存储在本地数据库中;当SDN网络开始运作时,获取交换机发送的数据包,并将所述数据包与所述本地数据库中的流表进行匹配;在匹配成功时,从所述本地数据库中调用匹配的流表并下发给所述交换机;不仅优化了交换机的流表存储资源,还提高了流表的下发效率。

进一步的,本发明实施例还提供一种SDN流表下发装置,可执行上述实施例提供的SDN流表下发方法的所有流程。

请参阅图2,是本发明提供的SDN流表下发装置的一个实施例的结构示意图。

本发明实施例提供一种SDN流表下发装置20,包括流表管理模块21、流表匹配模块22和流表发送模块23,具体如下:

所述流表管理模块21,用于预先计算流表,并存储到本地数据库中。

优选的,所述本地数据库采用MySQL数据库。

所述流表匹配模块22,用于获取交换机发送的数据包,并将所述数据包与所述本地数据库中的流表进行匹配。

所述流表发送模块23,用于在匹配到与所述数据包相应的流表时,从所述本地数据库中调用与所述数据包相应的流表并下发给所述交换机。

优选的,所述SDN流表下发装置采用OpenFlow协议与所述交换机进行数据交互。

在本发明的一个实施例中,所述SDN流表下发装置20还包括:

流表配置模块24,用于当未匹配到与所述数据包相应的流表时,为所述数据包配置新的流表,并发送给所述流表发送模块,以使所述流表发送模块将所述新的流表下发给所述交换机。

在本发明的另一个实施例中,所述流表配置模块24,还用于将所述新的流表发送到所述本地数据库中进行存储。

可以理解的是,本发明实施例中的SDN流表下发装置20的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。

此外,本发明实施例还提供一种控制器。所述控制器包含如上述的SDN流表下发装置20。

本发明实施例提供的SDN流表下发方法、装置及控制器,具有如下有益效果:通过预先计算流表,并存储在本地数据库中;当SDN网络开始运作时,获取交换机发送的数据包,并将所述数据包与所述本地数据库中的流表进行匹配;在匹配成功时,从所述本地数据库中调用匹配的流表并下发给所述交换机。采用本发明提供的技术方案,不仅优化了交换机的流表存储资源,还提高了流表的下发效率。

以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

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