一种软件定义网络中多控制器环境下表项老化的同步方法

文档序号:8265569阅读:311来源:国知局
一种软件定义网络中多控制器环境下表项老化的同步方法
【技术领域】
[0001]本发明属于软件定义网络领域,尤其涉及一种软件定义网络中多控制器环境下表项老化的同步方法。
【背景技术】
[0002]网络的飞速发展是近代最为明显的特征之一,网络给社会带来的好处难以胜数,但现有网络体系架构复杂度高、可扩展性差、对硬件设备依赖性强、虚拟化能力弱等等问题也日渐突出,这些问题使得现有网络与应用对网络的高效、智能、开放、灵活、低成本的矛盾日渐尖锐,难以调和。
[0003]当前,业内人士较为看好软件定义网络(Software Defined Networking, SDN)成为解决上述问题的利器。因为SDN正好是针对现有包括互联网的各种网络体系架构上的不足应运而生,基于软件定义的网络能够满足未来应用对网络的各种需求。
[0004]SDN技术目前尚在发展阶段,远未到成熟的地步。它不仅有很多问题尚待解决,同时也需要采纳各种灵巧的方法和有效的措施完善自身。
[0005]控制器和转发设备是SDN网络的基本组成成分,其中控制器是整个SDN网络的核心和灵魂。在SDN网络中,由于硬件的性能不能无限制扩展,单控制器的控制能力是有限的,而SDN网络的规模则可能很大,有可能超出了单控制器管理的能力限度。这通常需要通过多控制器协同完成整个网络的控制。因此,多控制器环境是SDN网络较为普遍的应用场景。在这种情况下,需要所有控制器之间协同配合。换句话说,控制器不仅需要与转发设备交换信息,控制器之间也存在信息交换。
[0006]流表表项老化是SDN网络中转发设备上经常发生的事件,由于该流表表项与该流表表项对应数据流经过的所有转发设备相关,因此一台转发设备的表项老化,意味着其它转发设备应该同步老化。当前通常的做法是:控制器一般不做显式干预,听任转发设备完成该老化操作。这种方法具有如下两方面的不足:
[0007](I)在流表老化时间点上,对应控制器可能收到大量流表表项老化上报消息,造成控制器因处理这些报文瞬时负担过重。
[0008](2)在各转发设备设置的流表表项老化时间不同时,造成某些转发设备上无效表项在一段时间上仍然存在,浪费了宝贵的硬件资源。
[0009]关于上述两点不足,第(I)点在转发路由上转发设备较多时更为突出,由于流表表项数量众多,老化操作频繁,统计上对控制器的影响是非常显著的。第(2)点不足在多控制器环境下尤为明显。由于各控制器的策略的差异,不同的控制器控制不同的网段,不同的网段中转发设备的老化时间设置差异有可能很大。

【发明内容】

[0010]本发明目的是在软件定义网络中,多控制器环境下,通过各控制器间以及控制器与转发设备的协作,完成流表表项老化在整个网络中的同步处理。
[0011]该方法的基本原理是:将SDN网络根据需要划分为不同的网段(不需划分则可看作一个网段),每个网段由一台独立的控制器进行控制,并且控制器间存在交互信息的通道。当某一转发设备的某一流表表项的空闲时间(Openflow标准中定义的“Idle_timeout”)或硬老化时间(Openflow标准中定义的“Hard_timeout”)到达门限时,该表项将会在该设备上移除,同时该设备会把表项删除消息报告给对应的控制器。当该控制器收到上报的表项老化消息,如果是单控制器网络,则根据控制器上保存的路由信息,删除与该表项关联的转发路由上所有转发设备的对应表项;如果是多控制器网络,则通过各控制器间的合作,分别由各控制器删除其所控制的网段中与该表项关联的转发路由上所有转发设备的关联表项。以达到在第一时间该超时表项在整个网络中所有转发设备中同步老化的目的。
[0012]该方法的基本思路是:
[0013]第一步,网段的划分和控制器的部署:将SDN网络根据需要划分为不同的网段(不需划分则可看作一个网段),则各控制器分别控制该网络的一个网段。
[0014]第二步,当网络中某一台转发设备中有某一条流表表项的空闲超时时间或硬超时时间超过设置值时,该转发设备将移除该表项,同时向对应的控制器发送表项老化消息。
[0015]第三步,当某一台控制器收到报文老化消息,则基于该流表表项的信息,查找与该表项关联的转发路由,并得到本网段内与上述路由关联的转发设备集。
[0016]第四步,如果上述转发设备集非空,则上述控制器向上述转发设备集中所有转发设备发送流表表项删除消息,以删除这些转发设备上的关联物理表项。
[0017]第五步,如果上述控制器收到的报文老化消息来自转发设备,则该控制器是直接控制上报老化消息的转发设备的控制器,该控制器还需向网络中的其它控制器发送相应的报文老化消息,收到报文老化消息的其它控制器按照第三步和第四步删除其转发设备上的关联物理表项。
[0018]本发明实施例提供的一种软件定义网络中多控制器环境下表项老化的同步方法的有益效果包括:
[0019]本发明提供的一种软件定义网络中多控制器环境下表项老化的同步方法,在多控制器环境下,通过各控制器间以及控制器与转发设备的协作,完成流表表项老化在整个网络中的同步处理,在某一转发设备中存在流表表项老化的情况时,能够第一时间使这个表项的老化同步到整个网络,从而提高网络中转发设备上流表资源的利用率以及减轻控制器在流表表项处理期间的报文处理负担。
[0020]并且各个处理器相互通信协作时,实时更新记录各个控制器是否收到表项老化信息以及是否处理该表项老化信息的数据的已处理和已通知控制集,避免了各个处理器重复通信处理同一个表项老化信息。
【附图说明】
[0021]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0022]图1是本发明实施例提供的一种软件定义网络中多控制器环境下表项老化的同步方法中转发设备的处理过程流程图;
[0023]图2是本发明实施例提供的一种软件定义网络中多控制器环境下表项老化的同步方法中控制器的处理过程流程图;
[0024]图3是本发明提供的一种多控制器环境SDN网络转发路由的示意图;
[0025]图4是本发明实施例提供的一种SDN网络中控制器间采用直接方式进行信息交换的结构不意图;
[0026]图5是本发明实施例提供的一种SDN网络中控制器间采用传递方式进行信息交换的结构示意图。
【具体实施方式】
[0027]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0028]为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
[0029]本发明提供的一种软件定义网络中多控制器环境下表项老化的同步方法,包括如下步骤:
[0030](I)在SDN网络中,控制器和转发设备是基本组成成份;根据需要部署一台或多台控制器,各控制器分别控制SDN网络的一个网段。
[0031](2)当SDN网络中某一台转发设备中存在某流表表项的空闲超时时间或硬超时时间超过设置值时,转发设备将移除该表项,同时向对应的控制器发送表项老化消息。
[0032](3)当某一台控制器收到报文老化消息,则基于流表表项的信息,查找与表项关联的转发路由,并得到本网段内与路由关联的转发设备集。
[0033](4)如果转发设备集非空,则控制器向转发设备集中所有转发设备发送流表表项删除消息,以删除转发设备上的关联物理表项。
[0034](5)如果控制器收到的报文老化消息来自转发设备,则控制器是直接控制上报老化消息的转发设备的控制器,控制器还向网络中的其它控制器发送相应的报
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1