首页> 中国专利> 一种流表下发方法、系统、SDN控制器及SDN交换机

一种流表下发方法、系统、SDN控制器及SDN交换机

摘要

本发明提供一种流表下发方法、系统、SDN控制器及SDN交换机,所述流表下发方法包括:检测SDN控制器生成的流表项的数量是否超过预设的阈值,若是,则生成包含流表项的流文件,若否,则SDN控制器向SDN交换机下发包含流表项的流表;在生成流文件后,SDN控制器向SDN交互机发送包含流文件信息的流表消息;SDN交互机根据接收到的流表消息以预设的网络访问方式从SDN控制器获取所述流文件中的流表项,并根据获取的流表项配置并下发流表。本发明通过SDN控制器生成包含大量流表项的流文件,SDN交互机利用FTP方式从SDN控制器一次性获取下发大量流表项,提高了整个SDN网络的流表下发速度。

著录项

  • 公开/公告号CN105357117A

    专利类型发明专利

  • 公开/公告日2016-02-24

    原文格式PDF

  • 申请/专利权人 上海斐讯数据通信技术有限公司;

    申请/专利号CN201510688178.4

  • 发明设计人 王超;

    申请日2015-10-21

  • 分类号H04L12/721(20130101);H04L12/751(20130101);

  • 代理机构31219 上海光华专利事务所;

  • 代理人庞红芳

  • 地址 201616 上海市松江区思贤路3666号

  • 入库时间 2023-12-18 14:30:45

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-12-13

    授权

    授权

  • 2016-03-23

    实质审查的生效 IPC(主分类):H04L12/721 申请日:20151021

    实质审查的生效

  • 2016-02-24

    公开

    公开

说明书

技术领域

本发明涉及网络技术领域,特别是SDN网络技术领域,具体为一种流表下发方法、系统、SDN控制器及SDN交换机。

背景技术

软件定义网络(SoftwareDefinedNetwork,SDN),是Emulex网络一种新型网络创新架构,是网络虚拟化的一种实现方式,其核心技术OpenFlow通过将网络设备控制面与数据面分离开来,从而实现了网络流量的灵活控制,使网络作为管道变得更加智能。传统IT架构中的网络,根据业务需求部署上线以后,如果业务需求发生变动,重新修改相应网络设备(路由器、交换机、防火墙)上的配置是一件非常繁琐的事情。在互联网/移动互联网瞬息万变的业务环境下,网络的高稳定与高性能还不足以满足业务需求,灵活性和敏捷性反而更为关键。SDN所做的事是将网络设备上的控制权分离出来,由集中的控制器管理,无须依赖底层网络设备(路由器、交换机、防火墙),屏蔽了来自底层网络设备的差异。而控制权是完全开放的,用户可以自定义任何想实现的网络路由和传输规则策略,从而更加灵活和智能。SDN是下一代IP网络管理架构设计的代表,这种思路强调拆分控制层面与转发层面,用“流交换”替换“包转换”,用“集中管理”取代单独配置。OpenFlow则是实现这种思路时,用网络集中管理平台的流表(FlowTable,更通用的词是NIB,即NetworkInformationBase)取代网络设备路由表(RIB,RoutingInformationBase)的协议。

SDN网络包括SDNController(SDN控制器)和SDN交换机。SDN控制器是软件定义网络(SDN)中的应用程序,负责流量控制以确保智能网络。SDN控制器是基于如OpenFlow等协议的,允许服务器告诉交换机向哪里发送数据包。SDN控制器是整个SDN网络的控制中心,SDN交换机通过OpenFlow协议,依靠SDN控制器下发各种流表进行报文转发。SDN网络中,支持OpenFlow的SDN交互机依靠流表进行业务转发,SDN交互机中的流表是SDN控制器生成并一条条下发给SDN交互机。用户业务很多时,SDN控制器会生成大量流表项,通过OpenFlow协议本身的流表下发机制,配置SDN交换机的流表速度比较慢,因此生成流表很多,流表下发速度慢,导致业务完全生效时间会很长,影响用户体验。

发明内容

鉴于以上所述现有技术的缺点,本发明的目的在于提供一种流表下发方法、系统、SDN控制器及SDN交换机,用于解决现有技术中SDN控制器中生成流表很多时,流表下发速度慢的问题。

为实现上述目的及其他相关目的,本发明提供一种流表下发方法,应用于SDN网路中SDN控制器向SDN交换机下发流表的过程中,所述流表下发方法包括:检测SDN控制器生成的流表项的数量是否超过预设的阈值,若是,则生成包含所述流表项的流文件,若否,则所述SDN控制器向SDN交换机下发包含所述流表项的流表;在生成包含所述流表项的流文件后,向所述SDN交互机发送包含所述流文件信息的流表消息;所述SDN交互机根据接收到的所述流表消息以预设的网络访问方式从所述SDN控制器获取所述流文件中的流表项;所述SDN交互机根据获取的流表项配置并下发流表。

优选地,所述流表下发方法还包括:扩展OpenFlow协议标准中的Experimenter消息,在向所述SDN交互机发送包含所述流文件信息的流表消息时,由所述Experimenter消息携带所述流表消息。

优选地,所述流表下发方法还包括:在向所述SDN交互机发送包含所述流文件信息的流表消息之后,所述SDN控制器在预设时间内未收到所述SDN交互机反馈的用于确认已获取流表项并已下发流表的反馈信息时,所述SDN控制器向SDN交换机下发包含所述流表项的流表。

优选地,所述预设的网络访问方式为FTP网络访问方式。

为实现上述目的,本发明还提供一种SDN控制器,用于SDN网路中向SDN交换机下发流表,所述SDN控制器内包含:阈值设置模块,用于设置流表项的阈值;阈值检测模块,与所述阈值设置模块相连,用于检测SDN控制器生成的流表项的数量是否超过预设的阈值;流文件模块,与所述阈值检测模块相连,用于在SDN控制器生成的流表项的数量超过预设的阈值时生成包含所述流表项的流文件;流表下发模块,与所述阈值检测模块相连,用于在SDN控制器生成的流表项的数量未超过预设的阈值时向SDN交换机下发包含所述流表项的流表;流表信息发送模块,与所述流文件模块相连,用于向SDN交互机发送包含所述流文件信息的流表消息。

优选地,所述SDN控制器中还包含:扩展模块,与所述流表信息发送模块相连,用于扩展OpenFlow协议标准中的Experimenter消息;在所述流表信息发送模块向所述SDN交互机发送包含所述流文件信息的流表消息时,由所述Experimenter消息携带所述流表消息。

优选地,所述SDN控制器中还包含:反馈信息接收模块,用于判断在预设时间内是否收到所述SDN交互机反馈的用于确认已获取流表项并已下发流表的反馈信息;在预设时间内未收到所述SDN交互机反馈的反馈信息时,所述流表下发模块向所述SDN交换机下发包含所述流表项的流表。

为实现上述目的,本发明还提供一种SDN交换机,用于SDN网路中向SDN控制器获取流表,所述SDN交换机内包含:流表信息接收模块,用于从SDN控制器接收包含流文件信息的流表消息;流表项获取模块,与所述流表信息接收模块相连,用于根据接收到的所述流表消息以预设的网络访问方式从所述SDN控制器获取所述流文件中的流表项;配置下发模块,与所述流表项获取模块相连,用于根据获取的流表项配置并下发流表。

优选地,所述SDN交换机内还包含:反馈信息发送模块,与所述配置下发模块相连,用于向所述SDN控制器发送用于确认已获取流表项并已下发流表的反馈信息。

为实现上述目的,本发明还提供一种流表下发系统,应用于SDN网路中SDN控制器向SDN交换机下发流表的过程中,所述流表下发系统包括如上所述的SDN控制器和如上所述的SDN交换机。

如上所述,本发明的一种流表下发方法、系统、SDN控制器及SDN交换机,具有以下有益效果:

1、本发明通过SDN控制器生成包含大量流表项的流文件,SDN交互机利用FTP方式从SDN控制器一次性获取下发大量流表项,提高了整个SDN网络的流表下发速度。

2、本发明避免了传统流表下发方式,通过消息机制保障流表之间的依赖;如SND交换机不支持FTP下发方式,可继续按传统流表下发方式处理。

3、本发明简单高效,具有较强的通用性和实用性。

附图说明

图1显示为本发明的流表下发方法的流程示意图。

图2显示为本发明的流表下发方法中SDN控制器的处理流程示意图。

图3显示为本发明的流表下发方法中SDN交换机的处理流程示意图。

图4显示为本发明的流表下发系统的结构示意图。

图5显示为本发明的SDN控制器的结构示意图。

图6显示为本发明的SDN交换机的结构示意图。

元件标号说明

1流表下发系统

11SDN控制器

111阈值设置模块

112阈值检测模块

113流文件模块

114流表下发模块

115流表信息发送模块

116扩展模块

117反馈信息接收模块

12SDN交换机

121流表信息接收模块

122流表项获取模块

123配置下发模块

124反馈信息发送模块

S11~S16步骤

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。

请参阅图1至图6,本实施例的目的在于提供一种流表下发方法、系统、SDN控制器及SDN交换机,用于解决现有技术中SDN控制器中生成流表很多时,流表下发速度慢的问题。以下将详细阐述本发明的一种流表下发方法、系统、SDN控制器及SDN交换机的原理及实施方式,使本领域技术人员不需要创造性劳动即可理解本发明的一种流表下发方法、系统、SDN控制器及SDN交换机。

本实施例提供一种流表下发方法、系统、SDN控制器及SDN交换机基于消息队列机制,SDN控制器根据预先设定的流表项阈值,判断流表下发方式,如果生成的流表项数量超过阈值,发送带有流文件标志和流文件名的Experimenter消息给SDN交换机,SDN交换机通过FTP方式获取流文件,按照流文件中的顺序,快速下发流表项,提高整个SDN网络系统的流表下发速度。

具体地,如图1所示,本实施例提供一种流表下发方法,应用于SDN网路中SDN控制器向SDN交换机下发流表的过程中,所述流表下发方法包括以下步骤。

步骤S11,检测SDN控制器生成的流表项的数量是否超过预设的阈值,若否,则接着执行步骤S12,若是,则接着执行步骤S13。

步骤S12,所述SDN控制器向SDN交换机下发包含所述流表项的流表。

步骤S13,生成包含所述流表项的流文件。

步骤S14,在生成包含所述流表项的流文件后,向所述SDN交互机发送包含所述流文件信息的流表消息。

步骤S15,所述SDN交互机根据接收到的所述流表消息以预设的网络访问方式从所述SDN控制器获取所述流文件中的流表项。

步骤S16,所述SDN交互机根据获取的流表项配置并下发流表。

以下对步骤S11至步骤S16进行详细说明。

步骤S11,检测SDN控制器生成的流表项的数量是否超过预设的阈值。流表项的阈值可根据网络负载能力、网络速度等进行设定。本实施例中的流表下发方法根据流表项的阈值确定流表下发的方式。若SDN控制器生成的流表项的数量未超过预设的流表项的阈值,则执行步骤S12,所述SDN控制器向SDN交换机下发包含所述流表项的流表。也就说,若SDN控制器生成的流表项的数量未超过预设的流表项的阈值,SDN控制器继续以传统流表下发方式到SDN交换机,即SDN控制器生成流表并一条条下发给SDN交互机。若SDN控制器生成的流表项的数量超过预设的流表项的阈值,则执行步骤S13,SDN控制器则生成包含所述流表项的流文件。

在生成包含所述流表项的流文件后,接着执行步骤S14,SDN控制器向所述SDN交互机发送包含所述流文件信息的流表消息,其中所述流表信息中至少包括流文件标识和流文件的名称。

在本实施例中,SDN控制器具体按照以下方式向所述SDN交互机发送包含所述流文件信息的流表消息:扩展OpenFlow协议标准中的Experimenter消息,在向所述SDN交互机发送包含所述流文件信息的流表消息时,由所述Experimenter消息携带所述流表消息。

在SDN交换机端,接着执行步骤S15,所述SDN交互机根据接收到的所述流表消息以预设的网络访问方式从所述SDN控制器获取所述流文件中的流表项。其中,在本实施例中,所述预设的网络访问方式为FTP网络访问方式。SDN交互机利用FTP方式可以从SDN控制器一次性获取下发大量流表项,提高了整个SDN网络的流表下发速度。

在所述SDN控制器获取所述流文件中的流表项后,接着执行步骤S16,所述SDN交互机根据获取的流表项配置并下发流表。

此外,在本实施例中,在向所述SDN交互机发送包含所述流文件信息的流表消息之后,为确保SDN交互机已经获取流文件中的流表项,所述SDN控制器发送一询问消息(例如Barrier消息)询问所述SDN交换机是否已经获取流文件中的流表项,所以在本实施例中,所述SDN交互机根据获取的流表项配置并下发流表之后,所述SDN交互机向所述SDN控制器反馈用于确认已获取流表项并已下发流表的反馈信息。所述SDN控制器在预设时间内未收到所述SDN交互机反馈的用于确认已获取流表项并已下发流表的反馈信息时,所述SDN控制器向SDN交换机下发包含所述流表项的流表,也就是说,所述SDN控制器在预设时间内未收到所述SDN交互机反馈的用于确认已获取流表项并已下发流表的反馈信息时,SDN控制器继续以传统流表下发方式到SDN交换机,即SDN控制器生成流表并一条条下发给SDN交互机。

为使本领域技术人员进一步理解本实施例中的流表下发方法,如图2和图3所示,以下将进一步说明本实施例中流表下发方法的实施过程。

预先设置好流表项的阈值。SDN控制器检查需要生成的流表项是否超过设定阈值,如果没有超过,SDN控制器继续以传统流表下发方式到SDN交换机,即SDN控制器生成流表并一条条下发给SDN交互机。如果超过,SDN控制器把本次生成的流表项写入流文件,SDN控制器发送扩展带有流文件标志和流文件名的Experimenter消息给SDN交换机。SDN交换机接收带有流文件标志和流文件名的Experimenter消息,如果SDN交换机没有收到该Experimenter消息或不支持Experimenter消息,继续传统流表下发方式。如SDN交换机收到该Experimenter消息,SDN交换机通过FTP从SDN控制器获取流文件,如超时,获取不成功,继续传统流表下发方式。如果成功获取,SDN交换机顺序读取流文件中的表项,快速配置流表。

为确保SDN交换机已获取并下发流文件中的表项,SDN控制器通过发送Barrier消息询问所述SDN交换机是否已经获取流文件中的流表项,所述SDN交互机根据获取的流表项配置并下发流表之后,所述SDN交互机回应SDN控制器的Barrier消息,表明已处理完毕。SDN控制器等待Barrier消息回应,若SDN控制器在预设时间内收到Barrier消息回应,返回步骤S11,重复执行本实施例中的流表下发方法。若SDN控制器在规定时间内没有收到Barrier消息回应,提示用户错误,并按传统流表下发流程处理。

为实现上述目的,本发明还提供一种流表下发系统,具体地,如图4所示,所述流表下发系统1包括:SDN控制器11和SDN交换机12。

以下对所述流表下发系统1中的SDN控制器11和SDN交换机12进行详细说明。

所述SDN控制器11用于SDN网路中向SDN交换机12下发流表,具体地,如图4和图5所述,所述SDN控制器11内包含:阈值设置模块111,阈值检测模块112,流文件模块113,流表下发模块114,流表信息发送模块115以及扩展模块116。

所述阈值设置模块111用于设置流表项的阈值;流表项的阈值可根据网络负载能力、网络速度等进行设定。本实施例根据流表项的阈值确定流表下发的方式。

所述阈值检测模块112与所述阈值设置模块111相连,用于检测SDN控制器11生成的流表项的数量是否超过预设的阈值。

所述流文件模块113与所述阈值检测模块112相连,用于在SDN控制器11生成的流表项的数量超过预设的阈值时生成包含所述流表项的流文件。所述流表下发模块114与所述阈值检测模块112相连,用于在SDN控制器11生成的流表项的数量未超过预设的阈值时向SDN交换机12下发包含所述流表项的流表。

若SDN控制器11生成的流表项的数量未超过预设的流表项的阈值,所述流表下发模块114向SDN交换机12下发包含所述流表项的流表。也就说,若SDN控制器11生成的流表项的数量未超过预设的流表项的阈值,SDN控制器11继续以传统流表下发方式到SDN交换机12,即SDN控制器11生成流表并一条条下发给SDN交互机。若SDN控制器11生成的流表项的数量超过预设的流表项的阈值,则所述流文件模块113生成包含所述流表项的流文件。

所述流表信息发送模块115与所述流文件模块113相连,用于向SDN交互机发送包含所述流文件信息的流表消息。在生成包含所述流表项的流文件后,所述流表信息发送模块115向所述SDN交互机发送包含所述流文件信息的流表消息,其中所述流表信息中至少包括流文件标识和流文件的名称。

所述扩展模块116与所述流表信息发送模块115相连,用于扩展OpenFlow协议标准中的Experimenter消息;在所述流表信息发送模块115向所述SDN交互机发送包含所述流文件信息的流表消息时,由所述Experimenter消息携带所述流表消息。

SDN交换机12所述用于SDN网路中向SDN控制器11获取流表,具体地,如图4和图6所示,所述SDN交换机12内包含:流表信息接收模块121,流表项获取模块122以及配置下发模块123。

所述流表信息接收模块121用于从SDN控制器11接收包含流文件信息的流表消息;所述流表项获取模块122与所述流表信息接收模块121相连,用于根据接收到的所述流表消息以预设的网络访问方式从所述SDN控制器11获取所述流文件中的流表项。

其中,在本实施例中,所述预设的网络访问方式为FTP网络访问方式。SDN交互机利用FTP方式可以从SDN控制器11一次性获取下发大量流表项,提高了整个SDN网络的流表下发速度。

所述配置下发模块123与所述流表项获取模块122相连,用于根据获取的流表项配置并下发流表。

此外,在本实施例中,在向所述SDN交互机发送包含所述流文件信息的流表消息之后,为确保SDN交互机已经获取流文件中的流表项,所述SDN控制器11发送一询问消息(例如Barrier消息)询问所述SDN交换机12是否已经获取流文件中的流表项。所以在本实施例中,所述SDN交换机12内还包含:反馈信息发送模块124,与所述配置下发模块123相连,用于向所述SDN控制器11发送用于确认已获取流表项并已下发流表的反馈信息。所述SDN控制器11中还包含:反馈信息接收模块117,用于判断在预设时间内是否收到所述SDN交互机反馈的用于确认已获取流表项并已下发流表的反馈信息。反馈信息接收模块117在预设时间内未收到所述SDN交互机反馈的反馈信息时,所述流表下发模块114向所述SDN交换机12下发包含所述流表项的流表。也就是说,所述反馈信息接收模块117在预设时间内未收到所述反馈信息发送模块124反馈的用于确认已获取流表项并已下发流表的反馈信息时,SDN控制器11继续以传统流表下发方式到SDN交换机12,即SDN控制器11生成流表并一条条下发给SDN交互机。

为使本领域技术人员进一步理解本实施例中的流表下发系统1,以下将进一步说明本实施例中流表下发系统1的工作过程。

阈值设置模块111预先设置好流表项的阈值。阈值检测模块112检查需要生成的流表项是否超过设定阈值,如果没有超过,流表下发模块114继续以传统流表下发方式到SDN交换机12,即SDN控制器11生成流表并一条条下发给SDN交互机。如果超过,流文件模块113把本次生成的流表项写入流文件,流表信息发送模块115发送通过扩展模块116扩展的带有流文件标志和流文件名的Experimenter消息给SDN交换机12。SDN交换机12接收带有流文件标志和流文件名的Experimenter消息,在所述流表信息发送模块115向所述SDN交互机发送包含所述流文件信息的流表消息时,由所述Experimenter消息携带所述流表消息。如果SDN交换机12中的流表信息接收模块121没有收到该Experimenter消息或不支持Experimenter消息,流表下发模块114继续采用传统流表下发方式。如流表信息接收模块121收到该Experimenter消息,流表项获取模块122通过FTP从SDN控制器11获取流文件,如超时,获取不成功,流表下发模块114继续传统流表下发方式。如果成功获取,流表项获取模块122顺序读取流文件中的表项,配置下发模块123进行快速配置流表。

为确保SDN交换机12已获取并下发流文件中的表项,SDN控制器11通过发送Barrier消息询问所述SDN交换机12是否已经获取流文件中的流表项,所述SDN交互机根据获取的流表项配置并下发流表之后,所述反馈信息发送模块124回应SDN控制器11的Barrier消息,表明已处理完毕。反馈信息接收模块117等待Barrier消息回应,若反馈信息接收模块117在预设时间内收到Barrier消息回应,结束本次流表下发过程。若反馈信息接收模块117在规定时间内没有收到Barrier消息回应,提示用户错误,流表下发模块114按传统流表下发流程处理。

综上所述,本发明通过SDN控制器生成包含大量流表项的流文件,SDN交互机利用FTP方式从SDN控制器一次性获取下发大量流表项,提高了整个SDN网络的流表下发速度;本发明避免了传统流表下发方式,通过消息机制保障流表之间的依赖;如SND交换机不支持FTP下发方式,可继续按传统流表下发方式处理;本发明简单高效,具有较强的通用性和实用性。。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号