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

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

Info

Publication number
CN104579972B
CN104579972B CN201410804877.6A CN201410804877A CN104579972B CN 104579972 B CN104579972 B CN 104579972B CN 201410804877 A CN201410804877 A CN 201410804877A CN 104579972 B CN104579972 B CN 104579972B
Authority
CN
China
Prior art keywords
controller
list item
network
aging
forwarding unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410804877.6A
Other languages
English (en)
Other versions
CN104579972A (zh
Inventor
戴锦友
余少华
董喜明
汪学舜
朱国胜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fiberhome Telecommunication Technologies Co Ltd
Original Assignee
Wuhan FiberHome Networks Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan FiberHome Networks Co Ltd filed Critical Wuhan FiberHome Networks Co Ltd
Priority to CN201410804877.6A priority Critical patent/CN104579972B/zh
Publication of CN104579972A publication Critical patent/CN104579972A/zh
Application granted granted Critical
Publication of CN104579972B publication Critical patent/CN104579972B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种软件定义网络中多控制器环境下流表表项老化的同步处理方法,定义网络中有一台或多台控制器,每台控制器负责控制该网络中的一个网段;当某一转发设备的某一流表表项的空闲时间或硬老化时间到达门限时,该表项将会在该设备上移除,同时该设备会把表项删除消息报告给对应的控制器;当该控制器收到上报的表项老化消息,如果是单控制器网络,则根据控制器上保存的路由信息,删除与该表项关联的转发路由上所有转发设备的对应表项;如果是多控制器网络,则通过各控制器间的合作,分别由各控制器删除其所控制的网段中与该表项关联的转发路由上所有转发设备的关联表项,达到在第一时间该超时表项在整个网络中所有转发设备中同步老化的目的。

Description

一种软件定义网络中多控制器环境下表项老化的同步方法
技术领域
本发明属于软件定义网络领域,尤其涉及一种软件定义网络中多控制器环境下表项老化的同步方法。
背景技术
网络的飞速发展是近代最为明显的特征之一,网络给社会带来的好处难以胜数,但现有网络体系架构复杂度高、可扩展性差、对硬件设备依赖性强、虚拟化能力弱等等问题也日渐突出,这些问题使得现有网络与应用对网络的高效、智能、开放、灵活、低成本的矛盾日渐尖锐,难以调和。
当前,业内人士较为看好软件定义网络(Software Defined Networking,SDN)成为解决上述问题的利器。因为SDN正好是针对现有包括互联网的各种网络体系架构上的不足应运而生,基于软件定义的网络能够满足未来应用对网络的各种需求。
SDN技术目前尚在发展阶段,远未到成熟的地步。它不仅有很多问题尚待解决,同时也需要采纳各种灵巧的方法和有效的措施完善自身。
控制器和转发设备是SDN网络的基本组成成分,其中控制器是整个SDN网络的核心和灵魂。在SDN网络中,由于硬件的性能不能无限制扩展,单控制器的控制能力是有限的,而SDN网络的规模则可能很大,有可能超出了单控制器管理的能力限度。这通常需要通过多控制器协同完成整个网络的控制。因此,多控制器环境是SDN网络较为普遍的应用场景。在这种情况下,需要所有控制器之间协同配合。换句话说,控制器不仅需要与转发设备交换信息,控制器之间也存在信息交换。
流表表项老化是SDN网络中转发设备上经常发生的事件,由于该流表表项与该流表表项对应数据流经过的所有转发设备相关,因此一台转发设备的表项老化,意味着其它转发设备应该同步老化。当前通常的做法是:控制器一般不做显式干预,听任转发设备完成该老化操作。这种方法具有如下两方面的不足:
(1)在流表老化时间点上,对应控制器可能收到大量流表表项老化上报消息,造成控制器因处理这些报文瞬时负担过重。
(2)在各转发设备设置的流表表项老化时间不同时,造成某些转发设备上无效表项在一段时间上仍然存在,浪费了宝贵的硬件资源。
关于上述两点不足,第(1)点在转发路由上转发设备较多时更为突出,由于流表表项数量众多,老化操作频繁,统计上对控制器的影响是非常显著的。第(2)点不足在多控制器环境下尤为明显。由于各控制器的策略的差异,不同的控制器控制不同的网段,不同的网段中转发设备的老化时间设置差异有可能很大。
发明内容
本发明目的是在软件定义网络中,多控制器环境下,通过各控制器间以及控制器与转发设备的协作,完成流表表项老化在整个网络中的同步处理。
该方法的基本原理是:将SDN网络根据需要划分为不同的网段(不需划分则可看作一个网段),每个网段由一台独立的控制器进行控制,并且控制器间存在交互信息的通道。当某一转发设备的某一流表表项的空闲时间(Openflow标准中定义的“Idle_timeout”)或硬老化时间(Openflow标准中定义的“Hard_timeout”)到达门限时,该表项将会在该设备上移除,同时该设备会把表项删除消息报告给对应的控制器。当该控制器收到上报的表项老化消息,如果是单控制器网络,则根据控制器上保存的路由信息,删除与该表项关联的转发路由上所有转发设备的对应表项;如果是多控制器网络,则通过各控制器间的合作,分别由各控制器删除其所控制的网段中与该表项关联的转发路由上所有转发设备的关联表项。以达到在第一时间该超时表项在整个网络中所有转发设备中同步老化的目的。
该方法的基本思路是:
第一步,网段的划分和控制器的部署:将SDN网络根据需要划分为不同的网段(不需划分则可看作一个网段),则各控制器分别控制该网络的一个网段。
第二步,当网络中某一台转发设备中有某一条流表表项的空闲超时时间或硬超时时间超过设置值时,该转发设备将移除该表项,同时向对应的控制器发送表项老化消息。
第三步,当某一台控制器收到报文老化消息,则基于该流表表项的信息,查找与该表项关联的转发路由,并得到本网段内与上述路由关联的转发设备集。
第四步,如果上述转发设备集非空,则上述控制器向上述转发设备集中所有转发设备发送流表表项删除消息,以删除这些转发设备上的关联物理表项。
第五步,如果上述控制器收到的报文老化消息来自转发设备,则该控制器是直接控制上报老化消息的转发设备的控制器,该控制器还需向网络中的其它控制器发送相应的报文老化消息,收到报文老化消息的其它控制器按照第三步和第四步删除其转发设备上的关联物理表项。
本发明实施例提供的一种软件定义网络中多控制器环境下表项老化的同步方法的有益效果包括:
本发明提供的一种软件定义网络中多控制器环境下表项老化的同步方法,在多控制器环境下,通过各控制器间以及控制器与转发设备的协作,完成流表表项老化在整个网络中的同步处理,在某一转发设备中存在流表表项老化的情况时,能够第一时间使这个表项的老化同步到整个网络,从而提高网络中转发设备上流表资源的利用率以及减轻控制器在流表表项处理期间的报文处理负担。
并且各个处理器相互通信协作时,实时更新记录各个控制器是否收到表项老化信息以及是否处理该表项老化信息的数据的已处理和已通知控制集,避免了各个处理器重复通信处理同一个表项老化信息。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种软件定义网络中多控制器环境下表项老化的同步方法中转发设备的处理过程流程图;
图2是本发明实施例提供的一种软件定义网络中多控制器环境下表项老化的同步方法中控制器的处理过程流程图;
图3是本发明提供的一种多控制器环境SDN网络转发路由的示意图;
图4是本发明实施例提供的一种SDN网络中控制器间采用直接方式进行信息交换的结构示意图;
图5是本发明实施例提供的一种SDN网络中控制器间采用传递方式进行信息交换的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
本发明提供的一种软件定义网络中多控制器环境下表项老化的同步方法,包括如下步骤:
(1)在SDN网络中,控制器和转发设备是基本组成成份;根据需要部署一台或多台控制器,各控制器分别控制SDN网络的一个网段。
(2)当SDN网络中某一台转发设备中存在某流表表项的空闲超时时间或硬超时时间超过设置值时,转发设备将移除该表项,同时向对应的控制器发送表项老化消息。
(3)当某一台控制器收到报文老化消息,则基于流表表项的信息,查找与表项关联的转发路由,并得到本网段内与路由关联的转发设备集。
(4)如果转发设备集非空,则控制器向转发设备集中所有转发设备发送流表表项删除消息,以删除转发设备上的关联物理表项。
(5)如果控制器收到的报文老化消息来自转发设备,则控制器是直接控制上报老化消息的转发设备的控制器,控制器还向网络中的其它控制器发送相应的报文老化消息,收到报文老化消息的其它控制器按照步骤(3)和步骤(4)删除转发设备上的关联物理表项。
●网络的划分和多控制器部署
SDN网络的规模很大时,需要部署多台控制器一起完成对整个SDN网络的控制。具体的做法是将网络划分成相互独立的网段,每个网段部署一台控制器对该网段进行控制。
当SDN网络的规模较小时,一台控制器足够完成对整个网络的控制,这时可看作只有一个网段,可只部署一台控制器。因此,单控制器环境可看作多控制器环境的一个特例。
当SDN网络为了提高网络的安全可靠性,同一网段部署多台控制器以实现控制器冗余备份时,这些控制器可看作一个控制器组,而这个控制器组功能上可看作上述多控制器环境中的一台控制器。
附图3是SDN网络多控制器环境的一个示意图。
●控制器间信息交互
附图4和5给出了控制器间交换信息的两种方式。SDN网络中,控制器间应具备直接或间接的信息通道以便控制器向其它控制器发送数据。
当控制器与所有其它控制器都有直接的信息通道时,它就可直接向其它控制器发送数据,这就是附图4所示的“直接方式”。
当控制器并不具备与所有其它控制器直接的信息通道时,它就不能够直接向所有其它控制器发送数据,但它可以通过控制器中继的方式保证需发送的数据到达所有其它的控制器,这就是附图5所示的“传递方式”。
就本方法而言,控制器间需要交换的信息主要是流表表项老化消息以及关联的其它消息(如对应流表表项老化消息的响应消息),控制器间交换的其它信息不在本方法的描述范围
需要说明的是:控制器器间交换信息可以使用标准协议、标准协议扩展或专有协议来实现。
●多控制器环境下流表表项老化同步处理过程
附图1和图2给出了本发明的主要功能流程。
首先,看看附图1的转发设备的控制流程,这和目前SDN网络转发设备的通常做法相同。也就是:当某一转发设备中存在流表表项的空闲超时时间或硬老化时间到达设置值时,该转发设备移除该流表表项,同时向本网段对应的控制器发送流表表项老化消息。
转发设备上的操作不是本方法的主要内容,但它是本方法的完整工作流程的有机组成成分。
图2为控制器上的工作流程。
这里的控制器实际上可区分为两类:A类:直接控制报告流表表项老化消息的转发设备的控制器,它直接从转发设备上接收流表表项老化消息;B类:上述A类控制器以外的控制器,它们从其它控制器接收流表表项老化消息。这两类控制器的处理流程略有差别,但都可以在附图1和图2上得到体现。
对于A类控制器,第一步,它检索数据库得到需老化表项对应的转发路由,得到转发路由上本网段内的转发设备集。第二步,它将转发设备集内所有转发设备与需老化表项关联的表项处理掉。这样,本网段内的操作就已完成。第三步,它需要通知其它控制器来联动,这通过向其它控制器发送流表表项老化消息来实现,同时还发送已处理以及已通知的控制器集合,已免其它控制器重复通知。
有两种情况不用执行第三步,一种情况是网络中只有一台控制器,另一种上述转发路由完全属于本网段,此时说明表项老化操作不需涉及其它控制器,那么步骤(5)省略。
对于B类控制器,第一步和第二步的操作与A类控制器相同,但第三步的处理不相同。B类控制器需要根据收到的信息和本网段的连接情况更新已通知和已处理的控制器集,在将该控制器集发送给与之直接连接的控制器,已免控制器重复处理。
●特别说明
上述关于本发明的描述仅仅是针对本发明的实施方式的详细说明,并非由于限制本发明的保护范围,在对应领域的技术人员应明白,凡未脱离本发明技术本质所作的等效实施方式或变更都应包含在本发明的保护范围内。

Claims (7)

1.一种软件定义网络中多控制器环境下流表表项老化的同步处理方法,其特征在于,所述方法包括如下步骤:
(1)在SDN网络中,所述控制器和转发设备是基本组成成份;根据需要部署一台或多台所述控制器,各所述控制器分别控制所述SDN网络的一个网段;
(2)当所述SDN网络中某一台转发设备中存在某流表表项的空闲超时时间或硬超时时间超过设置值时,所述转发设备将移除该表项,同时向对应的控制器发送表项老化消息;
(3)当某一台控制器收到报文老化消息,则基于所述流表表项的信息,查找与所述表项关联的转发路由,并得到本网段内与所述路由关联的转发设备集;
(4)如果所述转发设备集非空,则所述控制器向所述转发设备集中所有转发设备发送流表表项删除消息,以删除所述转发设备上的关联物理表项;
(5)如果所述控制器收到的报文老化消息来自所述转发设备,则所述控制器是直接控制上报老化消息的转发设备的控制器,所述控制器还向网络中的其它控制器发送相应的报文老化消息,所述收到报文老化消息的其它控制器按照所述步骤(3)和步骤(4)删除所述转发设备上的关联物理表项;
所述方法同样适用于单控制器网络,所述单控制器网络为控制器网络的一个特例;在所述单控制器网络情况下,所述步骤(5)省略。
2.如权利要求1所述的方法,其特征在于:所述多控制器特指控制不同网段的控制器;如果为可靠性考虑,有多台控制器控制同一网段,则这些控制同一网段的控制器视为控制器组,所述控制器组功能上等价于所述多控制器中的一台控制器。
3.如权利要求1所述的方法,其特征在于:在执行所述步骤(3)后,如果所述控制器发现所述转发路由上的源、目的主机同属于一个网段,则表项老化操作不需涉及其它控制器,那么所述步骤(5)省略。
4.如权利要求1所述的方法,其特征在于:在所述步骤(5)中,所述控制器发送的表项老化消息,直接或间接到达所有其它控制器。
5.如权利要求4所述的方法,其特征在于:当所述控制器要向其它控制器发送表项老化消息时,如果所述控制器有到其它控制器的直接数据链路,则所述控制器通过所述直接数据链路将表项老化消息发送给所述其它控制器。
6.如权利要求4所述的方法,其特征在于:当所述控制器要向其它控制器发送表项老化消息时,如果所述控制器不具备到某一台或多台控制器的直接数据链路,则所述控制器可通过其它控制器将表项老化报文中转给这些表项老化消息不能直接到达的控制器。
7.如权利要求1所述的方法,其特征在于:所述步骤(5)中,所述收到报文老化消息的其它控制器还根据收到的信息和本网段的连接情况更新已通知和已处理的控制器集,再将所述控制器集发送给与之直接连接的控制器,避免控制器重复处理。
CN201410804877.6A 2014-12-23 2014-12-23 一种软件定义网络中多控制器环境下表项老化的同步方法 Active CN104579972B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410804877.6A CN104579972B (zh) 2014-12-23 2014-12-23 一种软件定义网络中多控制器环境下表项老化的同步方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410804877.6A CN104579972B (zh) 2014-12-23 2014-12-23 一种软件定义网络中多控制器环境下表项老化的同步方法

Publications (2)

Publication Number Publication Date
CN104579972A CN104579972A (zh) 2015-04-29
CN104579972B true CN104579972B (zh) 2017-12-19

Family

ID=53095197

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410804877.6A Active CN104579972B (zh) 2014-12-23 2014-12-23 一种软件定义网络中多控制器环境下表项老化的同步方法

Country Status (1)

Country Link
CN (1) CN104579972B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3297228A4 (en) * 2015-06-30 2018-06-13 Huawei Technologies Co., Ltd. Flow table ageing method, switch and controller
CN105553768B (zh) * 2015-12-15 2018-11-09 浙江工商大学 一种基于自适应超时时间的sdn控制器故障检测方法
CN107547244B (zh) * 2017-05-25 2020-11-20 新华三技术有限公司 一种表项处理方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101370016A (zh) * 2008-10-17 2009-02-18 成都市华为赛门铁克科技有限公司 一种数据流表的老化方法、装置和系统
CN103856417A (zh) * 2012-11-30 2014-06-11 中兴通讯股份有限公司 软件定义网络报文转发方法和系统
CN103944828A (zh) * 2014-04-15 2014-07-23 杭州华三通信技术有限公司 一种协议报文的传输方法和设备
CN103997432A (zh) * 2013-07-31 2014-08-20 中国人民解放军理工大学 一种支持量化分析OpenFlow应用性能的测量系统及其方法
CN104219150A (zh) * 2014-09-03 2014-12-17 杭州华三通信技术有限公司 流表下发方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080083828A (ko) * 2007-03-13 2008-09-19 삼성전자주식회사 상태기반 패킷필터링 장치 및 그 장치에서의 테이블 관리방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101370016A (zh) * 2008-10-17 2009-02-18 成都市华为赛门铁克科技有限公司 一种数据流表的老化方法、装置和系统
CN103856417A (zh) * 2012-11-30 2014-06-11 中兴通讯股份有限公司 软件定义网络报文转发方法和系统
CN103997432A (zh) * 2013-07-31 2014-08-20 中国人民解放军理工大学 一种支持量化分析OpenFlow应用性能的测量系统及其方法
CN103944828A (zh) * 2014-04-15 2014-07-23 杭州华三通信技术有限公司 一种协议报文的传输方法和设备
CN104219150A (zh) * 2014-09-03 2014-12-17 杭州华三通信技术有限公司 流表下发方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《基于OpenFlow的SDN技术研究》;左青云,陈鸣,赵广松,邢长友,张国敏,蒋培成;《软件学报》;20130531;第24卷(第5期);全文 *

Also Published As

Publication number Publication date
CN104579972A (zh) 2015-04-29

Similar Documents

Publication Publication Date Title
CN102622303B (zh) 一种内存过载控制的方法及装置
CN103825954B (zh) 一种OpenFlow控制方法及相应插件、平台和网络
US20180129579A1 (en) Systems and Methods with a Realtime Log Analysis Framework
WO2016029726A1 (zh) 节能控制方法、管理服务器和网络设备
CN104219288B (zh) 基于多线程的分布式数据同步方法及其系统
CN104468397B (zh) 一种虚拟机热迁移转发不丢包的方法和装置
CN102624554B (zh) 一种结合了设备管理和业务管理的综合网络管理方法
CN104092746B (zh) 一种运维审计系统及用在其系统中的网络负载均衡方法
CN104158707B (zh) 一种检测并处理集群脑裂的方法和装置
CN104579972B (zh) 一种软件定义网络中多控制器环境下表项老化的同步方法
CN101170517A (zh) 对控制会话表进行老化的方法及装置
CN109657003A (zh) 一种将硬件数据直接接入大数据平台的方法
CN109150572A (zh) 实现告警关联的方法、装置以及计算机可读存储介质
CN103780675B (zh) 一种云盘文件同步方法和装置
CN106453541A (zh) 一种数据同步的方法、服务器以及数据同步系统
CN105991458A (zh) 一种负载均衡的方法及负载均衡装置
WO2019076236A1 (zh) 数据同步方法、装置、超级控制器、域控制器及存储介质
CN110781009A (zh) 浏览器页面实时通信的方法及装置
CN105988886B (zh) 一种运维过程中的故障处理方法及装置
CN108965147B (zh) 网络控制方法、装置及网络设备
CN108140035A (zh) 分布式系统的数据库复制方法及装置
CN106254274A (zh) 变电站交换机goose报文传输减少线头阻塞的方法
CN111614702B (zh) 一种边缘计算方法以及边缘计算系统
CN102136957A (zh) 一种标签交换路径监控的实现方法、装置和系统
WO2017088528A1 (zh) 配置信息管理方法及装置、操作维护中心或基站

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190114

Address after: 430074 No. 6, High-tech Fourth Road, Donghu High-tech Development Zone, Wuhan City, Hubei Province

Patentee after: Fenghuo Communication Science &. Technology Co., Ltd.

Address before: 430074 3rd Floor, Optical Communication Building, 67 Guanggu Pioneer Street, Donghu Development Zone, Wuhan City, Hubei Province

Patentee before: Wuhan Fenghuo Network Co., Ltd.