一种基于SDN框架的流表配置下发方法及系统与流程

文档序号:11234462阅读:1008来源:国知局
一种基于SDN框架的流表配置下发方法及系统与流程

本发明涉及计算机应用技术领域,特别涉及一种基于sdn框架的流表配置下发方法及系统。



背景技术:

随着计算机技术以及集成电路技术的飞速发展,云计算凭借其在系统利用率高、人力和管理成本低以及灵活性和可扩展性强等方面表现出的优势,已经成为目前企业it建设的新形态;但在网络方面,传统的网络已经不能满足数据中心网络虚拟化的特性。

在云计算中,大量的采用和部署虚拟化是一个基本的技术模式。服务器虚拟化技术的广泛部署,极大地增加了数据中心的计算密度;同时,为了实现业务的灵活性,部分虚拟机vm(virtualmachine)业务需要进行内外网通信,也就是进行南北向流量的互通。数据中心中东西向流量的处理可以通过分布式路由来进行流量的分布式处理解决流量单点集中的问题,但是目前南北向流量的处理依然存在这巨大的技术难度,一方面是因为流量的集中处理容易造成单点故障,另一方面其链路质量容易收到数据中心中虚拟机之间的竞争而下降,此外其灵活性的欠缺也给用户带来了巨大的不便。因此,这就为虚拟机通过浮动ip实现南北流量互通的设计带来迫切的需求与巨大难题。

现有技术中,尽管数据中心中南北向流量可以通过虚拟交换机(openvswitch,ovs)实现,也就是通过虚拟交换机完成虚拟机的网络地址转换,利用虚拟交换机对流表的支持,用户可以通过流表控制流量的抓发与报文的处理,但是用户需要自己根据浮动ip配置虚拟交换机支持的流表,完成流表下发的过程,这无疑大大增加了用户的学习成本与配置复杂性,不利于用户体验。因此,数据中心如何方便快捷的根据浮动ip配置虚拟交换机支持的流表,减少用户的学习成本与配置复杂性,解决南北向流量的处理问题,提升用户体验,是现今急需解决的问题。



技术实现要素:

本发明的目的是提供一种基于sdn框架的流表配置下发方法及系统,以利用sdn(softwardefinenetwork,软件定义网络)这一新型网络创新架构,自动配置并下发流表,减少用户的学习成本与配置复杂性,提升用户体验。

为解决上述技术问题,本发明提供一种基于sdn框架的流表配置下发方法,包括:

接收浮动ip的配置信息;其中,所述配置信息包括所述浮动ip与对应的虚拟机的网卡id的绑定关系;

利用sdn框架根据所述配置信息判断所述虚拟机是否运行;

若是,则配置并下发流表到所述虚拟机对应的虚拟交换机。

可选的,所述下发流表到所述虚拟机对应的虚拟交换机之后,还包括:

当所述虚拟机发送南北向的第一报文时,所述虚拟交换机根据所述流表将所述第一报文的源ip和源mac分别由所述虚拟机的ip和mac改为所述浮动ip和所述浮动ip对应的虚拟网关的mac;

当所述虚拟机接收南北向的第二报文时,所述虚拟交换机根据所述流表将所述第二报文的目的ip和目的mac分别由所述浮动ip和所述浮动ip对应的虚拟网关的mac改为所述虚拟机的ip和mac。

可选的,所述接收浮动ip的配置信息之后,还包括:

对所述配置信息进行合法性检查。

可选的,该方法还包括:

利用所述sdn框架检测所述虚拟机对应的网桥、所述虚拟机和所述浮动ip是否发生异常事件;

若是,则删除所述异常事件对应的流表。

可选的,所述删除所述异常事件对应的流表,包括:

所述浮动ip删除时,判断所述虚拟机是否已删除;

若否,则删除所述流表。

此外,本发明还提供了一种基于sdn框架的流表配置下发系统,包括:

接收模块,用于接收浮动ip的配置信息;其中,所述配置信息包括所述浮动ip与对应的虚拟机的网卡id的绑定关系;

判断模块,用于利用sdn框架根据所述配置信息判断所述虚拟机是否运行;

下发模块,用于若所述虚拟机运行,则配置并下发流表到所述虚拟机对应的虚拟交换机。

可选的,该系统还包括:

第一转换模块,用于当所述虚拟机发送南北向的第一报文时,所述虚拟交换机根据所述流表将所述第一报文的源ip和源mac分别由所述虚拟机的ip和mac改为所述浮动ip和所述浮动ip对应的虚拟网关的mac;

第二转换模块,用于当所述虚拟机接收南北向的第二报文时,所述虚拟交换机根据所述流表将所述第二报文的目的ip和目的mac分别由所述浮动ip和所述浮动ip对应的虚拟网关的mac改为所述虚拟机的ip和mac。

可选的,所述接收模块,包括:

检查子模块,用于对所述配置信息进行合法性检查。

可选的,该系统还包括:

监测模块,用于利用所述sdn框架检测所述虚拟机对应的网桥、所述虚拟机和所述浮动ip中至少一项是否发生异常事件;

删除模块,用于若所述网桥、所述虚拟机和所述浮动ip中至少一项发生所述异常事件,则删除所述异常事件对应的流表。

可选的,所述删除模块,包括:

判断子模块,用于所述浮动ip删除时,判断所述虚拟机是否已删除;

删除子模块,用于若所述虚拟机已删除,则删除所述流表。

本发明所提供的一种基于sdn框架的流表配置下发方法,包括:接收浮动ip的配置信息;其中,所述配置信息包括所述浮动ip与对应的虚拟机的网卡id的绑定关系;利用sdn框架根据所述配置信息判断所述虚拟机是否运行;若是,则配置并下发流表到所述虚拟机对应的虚拟交换机;

可见,本发明通过利用sdn框架根据配置信息在虚拟机运行的情况下,配置并下发流表到虚拟机对应的虚拟交换机,可以利用sdn框架的高效、可编程和扩展性好的特点,很大程度上降低了用户的学习成本与配置复杂性,同时保证的极大的灵活性,从而使虚拟交换机可以根据流表进行报文处理,实现了虚拟机通过浮动ip进行南北向通信的功能,提升了用户体验。此外,本发明还提供了一种基于sdn框架的流表配置下发系统,同样具有上述有益效果。

附图说明

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

图1为本发明实施例所提供的一种基于sdn框架的流表配置下发方法的流程图;

图2为本发明实施例所提供的另一种基于sdn框架的流表配置下发方法的流程图;

图3为本发明实施例所提供的另一种基于sdn框架的流表配置下发方法的逻辑架构示意图;

图4为本发明实施例所提供的一种基于sdn框架的流表配置下发系统的结构图。

具体实施方式

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

请参考图1,图1为本发明实施例所提供的一种基于sdn框架的流表配置下发方法的流程图。该方法可以包括:

步骤101:接收浮动ip的配置信息;其中,配置信息包括浮动ip与对应的虚拟机的网卡id的绑定关系。

可以理解的是,本步骤可以为通过与用户进行交互的控制平面接收用户发送的配置信息,也可以为通过网络或其他接口接收用户发送的配置信息。对于接收配置信息的具体方式,可以由设计人员根据实用场景和用户需求自行设置,本实施例对此不受任何限制。对于控制平面的具体内容设置,也就是与用户进行交互的界面的内容设置,可以由设计人员自行设置,本实施例对此不受任何限制。

需要说明的是,本步骤还可以包括对配置信息进行合法性检查的步骤,也就是控制平面可以对配置信息中的参数进行合法性检查的工作,进一步提升本实施所提供的方法的安全性。对于合法性检查的具体过程,可以使用与现有技术相似的方式,也可以由设计人员自行设置其他方式,本实施例对此不做任何限制。

具体的,配置信息可以为用户在控制平面配置的浮动ip与对应的虚拟机的网卡id的绑定关系,也可以为用户在虚拟机创建浮动ip时,控制界面自动接收的浮动ip与虚拟机的网卡id的绑定关系,本实施例对此不受任何限制。对于配置信息的具体内容,可以由设计人员自行设置,只要可以包括浮动ip与对应的虚拟机的网卡id的绑定关系,本实施例对此同样不做任何限制。

步骤102:利用sdn框架根据配置信息判断虚拟机是否运行;若是,则进入步骤103。

可以理解的是,本步骤可以为利用sdn框架完成流表配置下发的触发过程。对于本步骤的具体过程,可以为利用sdn框架根据配置信息判断虚拟机是否运行,如当监听到用户配置浮动ip事件时,利用与sdn框架查询虚拟机情况,判断流表是否配置下发;也可以为虚拟机运行时利用sdn框架判断虚拟机是否存在对应的配置信息,如当监听到虚拟机运行的事件时判断虚拟机网卡是否配置浮动ip来决定是否配置下发对应功能的流表。只要可以在配置信息存在且对应的虚拟机运行时,触发步骤103利用sdn框架完成流表配置下发,对于本步骤具体的判断过程可以由设计人员根据实用场景和用户需求自行设置,本实施例对此不受任何限制。

需要说明的是,本实施例所提供的方法还可以包括利用sdn框架检测虚拟机对应的网桥、虚拟机和浮动ip是否发生异常事件;若是,则删除异常事件对应的流表的步骤,也就是流表回收的步骤。对于删除流表的具体过程,也就是流表回收的具体过程,可以与上述触发配置下发流表的过程相似,如虚拟机删除时判断对应的配置信息是否已经删除,若删除则说明流表已经删除,不再重复删除;浮动ip删除时判断虚拟机是否删除,若虚拟机未删除则删除流表;也可以由设计人员自行设置。只要使用sdn框架提供的标准南向协议——ovsdb(openvswitchdatebase,虚拟交换机数据库)检测虚拟机对应的网桥、虚拟机和浮动ip产生的异常事件来进行老旧流表的回收,及时阻断流量的错误封装,对于删除流表的具体过程,本实施例不做任何限制。

具体的,对于本步骤中虚拟机未运行的情况,可以由设计人员自行设置,如可以将配置信息保存,等待虚拟机运行或创建时再次进行判断。本实施例对此不受任何限制。

步骤103:配置并下发流表到虚拟机对应的虚拟交换机。

其中,对于本步骤中利用sdn框架根据配置信息配置虚拟交换机支持的流表的具体过程,可以由设计人员根据实用场景和用户需求自行设置,本实施例对此不受任何限制。

可以理解的是,本实施例所提供的方法还可以包括虚拟交换机根据下发的流表实现nat(networkaddresstranslation,网络地址转换)功能的步骤。如虚拟交换机将将虚拟机产生的南北向流量的源mac改为浮动ip对应的虚拟网关的mac,将源ip改为用户配置的浮动ip,完成内网报文到外网(公网)报文的转化并发送;当外网报文回送时将报文的目的ip改为虚拟机的ip,目的mac改为虚拟机的mac并发送到虚拟机中,完成外网报文到内网报文的转换。对于虚拟交换机实现nat功能的具体方式,可以由设计人员自行设置,本实施例对此不受任何限制。

本实施例中,本发明实施例通过利用sdn框架根据配置信息在虚拟机运行的情况下,配置并下发流表到虚拟机对应的虚拟交换机,可以利用sdn框架的高效、可编程和扩展性好的特点,很大程度上降低了用户的学习成本与配置复杂性,同时保证的极大的灵活性,从而使虚拟交换机可以根据流表进行报文处理,实现了虚拟机通过浮动ip进行南北向通信的功能,提升了用户体验。

请参考图2和图3,图2为本发明实施例所提供的另一种基于sdn框架的流表配置下发方法的流程图;图3为本发明实施例所提供的另一种基于sdn框架的流表配置下发方法的逻辑架构示意图。该方法可以包括:

步骤201:接收浮动ip的配置信息。

其中,本步骤与步骤101相似,在此不再赘述。

可以理解的是,本步骤可以为图3中控制平面执行的接收用户配置的过程。

步骤202:利用sdn框架根据配置信息判断虚拟机是否运行;若是,则进入步骤203。

步骤203:配置并下发流表到虚拟机对应的虚拟交换机。

其中,步骤202和步骤203与步骤102和步骤103相似,在此不再赘述。

可以理解的是,步骤202和步骤203可以为图3中sdn控制器执行的流表下发过程,异常处理过程可以按照上一实施例中阐述的流表回收的步骤进行。

步骤204:当虚拟机发送南北向的第一报文时,虚拟交换机根据流表将第一报文的源ip和源mac分别由虚拟机的ip和mac改为浮动ip和浮动ip对应的虚拟网关的mac。

其中,本步骤中的当虚拟机发送南北向的第一报文时,可以为当虚拟交换机接收虚拟机向外网发送的南北向的第一报文时,也就是虚拟机通过虚拟交换机向外网发送报文时,虚拟交换机可以通过本步骤改变报文的源ip和源mac,使虚拟机可以通过浮动ip向外网发送报文。

可以理解的是,本步骤中虚拟交换机可以根据流表的指导,将虚拟机产生的南北向的报文的源mac改为浮动ip对应的虚拟网关的mac,将源ip改为用户配置的浮动ip,完成内网报文到外网报文的转化并发送。对于虚拟交换机根据流表所执行的具体转换过程,可以由设计人员自行设置,本实施例对此不受任何限制。

步骤205:当虚拟机接收南北向的第二报文时,虚拟交换机根据流表将第二报文的目的ip和目的mac分别由浮动ip和浮动ip对应的虚拟网关的mac改为虚拟机的ip和mac。

其中,本步骤中的当虚拟机接收南北向的第二报文时,可以为当虚拟交换机接收外网回送到对应的虚拟机的南北向的第二报文时,也就是外网通过虚拟交换机向虚拟机发送报文,虚拟机需要接收该报文时,虚拟交换机可以通过本步骤改变该报文的目的ip和目的mac,使虚拟机可以通过浮动ip接收外网发送报文。

可以理解的是,本步骤中虚拟交换机可以根据流表的指导,将外网回送给虚拟机对应的浮动ip的报文的目的ip改为虚拟机的ip,目的mac改为虚拟机的mac并发送到虚拟机中,完成外网报文到内网报文的转换。对于虚拟交换机根据流表所执行的具体转换过程,可以由设计人员自行设置,本实施例对此不受任何限制。

需要说明的是,步骤204和步骤205可以为图3中computenode(计算节点)中的br-int中的虚拟交换机执行的流表处理和根据流表指导对vm(虚拟机)的报文进行转发的过程。

本实施例中,本发明实施例通过虚拟交换机根据流表对第一报文的源ip和源mac的改变和对第二报文的目的ip和目的mac的改变,实现了nat功能,使虚拟机可以通过浮动ip实现与外网的通信,极大地提高了虚拟机报文的转发速度,保证了关键虚拟机对外网访问的质量,解决了在虚拟环境下大量虚拟机通过单点网关访问公网时出现的资源竞争、链路质量不稳定的问题。

请参考图4,图4为本发明实施例所提供的一种基于sdn框架的流表配置下发系统的结构图。该系统可以包括:

接收模块100,用于接收浮动ip的配置信息;其中,配置信息包括浮动ip与对应的虚拟机的网卡id的绑定关系;

判断模块200,用于利用sdn框架根据配置信息判断虚拟机是否运行;

下发模块300,用于若虚拟机运行,则配置并下发流表到虚拟机对应的虚拟交换机。

可选的,该系统还可以包括:

第一转换模块,用于当虚拟机发送南北向的第一报文时,虚拟交换机根据流表将第一报文的源ip和源mac分别由虚拟机的ip和mac改为浮动ip和浮动ip对应的虚拟网关的mac;

第二转换模块,用于当虚拟机接收南北向的第二报文时,虚拟交换机根据流表将第二报文的目的ip和目的mac分别由浮动ip和浮动ip对应的虚拟网关的mac改为虚拟机的ip和mac。

可选的,接收模块100,可以包括:

检查子模块,用于对配置信息进行合法性检查。

可选的,该系统还可以包括:

监测模块,用于利用sdn框架检测虚拟机对应的网桥、虚拟机和浮动ip中至少一项是否发生异常事件;

删除模块,用于若网桥、虚拟机和浮动ip中至少一项发生异常事件,则删除异常事件对应的流表。

可选的,删除模块,可以包括:

判断子模块,用于浮动ip删除时,判断虚拟机是否已删除;

删除子模块,用于若虚拟机已删除,则删除流表。

本实施例中,本发明实施例通过下发模块300利用sdn框架根据配置信息在虚拟机运行的情况下,配置并下发流表到虚拟机对应的虚拟交换机,可以利用sdn框架的高效、可编程和扩展性好的特点,很大程度上降低了用户的学习成本与配置复杂性,同时保证的极大的灵活性,从而使虚拟交换机可以根据流表进行报文处理,实现了虚拟机通过浮动ip进行南北向通信的功能,提升了用户体验。

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

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的基于sdn框架的流表配置下发方法及系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

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