CN105262692A - 实现openflow交换机流表实时同步的方法及装置 - Google Patents
实现openflow交换机流表实时同步的方法及装置 Download PDFInfo
- Publication number
- CN105262692A CN105262692A CN201510611443.9A CN201510611443A CN105262692A CN 105262692 A CN105262692 A CN 105262692A CN 201510611443 A CN201510611443 A CN 201510611443A CN 105262692 A CN105262692 A CN 105262692A
- Authority
- CN
- China
- Prior art keywords
- openflow switch
- request message
- main
- message
- controller
- 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.)
- Withdrawn
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明揭示了一种实现openflow交换机流表实时同步的方法及装置,应用于由控制器、主openflow交换机、备openflow交换机组成的openflow网络中,控制器每隔一段时间向主openflow交换机发送用于请求主openflow交换机上流表信息的第一请求消息,主openflow交换机收到第一请求消息后,返回给控制器对应的回复消息,控制器提取回复消息中携带的主openflow交换机上的流表信息,并将所述流表信息重组转换成第二请求消息后下发给备openflow交换机。本发明实现多台openflow交换机之间的流表相互同步部分,并在一定应用场合下实现设备及流表完全冗余备份,减少IT管理人员对设备流表信息丢失带来的困扰。
Description
技术领域
本发明涉及openflow网络技术领域,尤其是涉及一种实现openflow交换机流表实时同步的方法及装置。
背景技术
目前互联网发展迅速,其应用规模的庞大及其地位的重要性,远远超出了设计者们的想象,而现在的互联网主要有以下弊端:特定的范围内没有统一的管理、网络转发机制与策略单一、运营商难以最大限度优化自身网络、以及传统交换机用于转发的功能和协议多且杂,很难配置,系统容易出错等问题。为应对上述弊端,人们提出了Openflow交换机,其将传统交换机上的报文转发和转发策略分离开来,采用专门的一台控制器(controller)通过网线和交换机连接。这样原来同在一台交换机设备上的报文转发功能(硬件芯片实现)和报文转发策略(各种软件协议)就被分开到了不同的硬件设备上。而一台控制器(controller)还可以控制多台Openflow交换机,从而实现了统一的转发控制端,更有效地控制了网络。
目前,在Openflow交换机系统中,无论是控制器本身还是控制器的控制通道(controlpath),都有可能由于种种原因而导致其不可靠,譬如,控制网络拥塞,网络不可用或控制器死机等问题,此时,如果某个控制器出现了网络断开,而该控制器的功能又不能被其他控制器所替代,那么势必导致整个交换机系统的不能正常运作。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种实现openflow交换机流表实时同步的方法及装置,通过控制器以实现Openflow交换机间的信息同步。
为实现上述目的,本发明提出如下技术方案:一种实现openflow交换机流表实时同步的方法,所述方法应用于由控制器、主openflow交换机、备openflow交换机组成的openflow网络中,所述方法包括:
控制器每隔一段时间向主openflow交换机发送用于请求主openflow交换机上流表信息的第一请求消息;
所述主openflow交换机收到第一请求消息后,返回给控制器对应的回复消息;
所述控制器提取回复消息中携带的主openflow交换机上的流表信息,并将所述流表信息重组转换成第二请求消息后下发给备openflow交换机。
优选地,所述主openflow交换机上的流表信息包括流表信息和组表信息,所述第一请求消息包括第一流表请求消息和第一组表请求消息。
优选地,所述第一流表请求消息是类型为OFPMP_FLOW的OFPT_MULTIPART_REQUEST消息,所述第一组表请求消息是类型为OFPMP_GROUP_DESC的OFPT_MULTIPART_REQUEST消息。
优选地,所述第二请求消息包括第二流表请求消息和第二组表请求消息。
优选地,所述第二流表请求消息是指令为OFPFC_ADD的OFPT_FLOW_MOD消息,所述第二组表请求消息是指令为OFPGC_ADD的OFPT_GROUP_MOD消息。
优选地,所述控制器实时监测主openflow交换机,并在发现主openflow交换机发生故障或意外中断后,再将提取的主openflow交换机上流表信息重组转换成第二请求消息后下发给备openflow交换机。
优选地,当所述主openflow交换机发生故障或意外中断时,报文切换到备openflow交换机上,并按照备openflow交换机上同步过来的主openflow交换机流表信息进行转发。
本发明还提供了一种实现openflow交换机流表实时同步的装置,包括控制器和与控制器均相连的主openflow交换机、备openflow交换机,所述控制器包括消息请求模块、提取信息模块、信息重组转换模块和消息下发模块,
所述消息请求模块用于每隔一段时间向主openflow交换机发送用于请求主openflow交换机上流表信息的第一请求消息;
所述主openflow交换机用于在收到第一请求消息后返回给控制器对应的回复消息;
所述提取信息模块用于提取回复消息中携带的主openflow交换机上的流表信息;
所述信息重组转换模块用于将所述流表信息重组转换成第二请求消息;
所述消息下发模块用于将第二请求消息下发给备openflow交换机。
优选地,所述控制器还包括监测模块,所述监测模块用于实时监测主openflow交换机,并在发现主openflow交换机发生故障或意外中断后通知所述信息重组转换模块。
与现有技术相比,本发明的有益效果是:通过控制器下发openflow标准消息,来实现多台openflow交换机之间的流表相互同步部分,并在一定应用场合下实现设备及流表完全冗余备份,减少IT管理人员对设备流表信息(流表、组表等信息)丢失带来的困扰。
附图说明
图1是本发明实现openflow交换机流表实时同步的方法的流程示意图;
图2是本发明实现openflow交换机流表实时同步的装置的原理框图。
具体实施方式
下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完整的描述。
本发明主要应用于由控制器、主openflow交换机、备openflow交换机组成的openflow网络中,在正常情况下,控制器与主openflow交换机、备openflow交换机均相连,始终管理这两台openflow交换机,数据流量正常是通过主openflow交换机转发。本发明通过控制器来实现主openflow交换机上的流表信息实时同步到备openflow交换机上,并在一定应用场合下实现设备及流表信息完全冗余备份。
如图1所示,本发明所揭示的一种实现openflow交换机流表实时同步的方法,包括以下步骤:
控制器每隔一段时间向主openflow交换机发送用于请求主openflow交换机上流表信息的第一请求消息。
具体地,控制器可以每隔如10s向主openflow交换机发送第一请求消息,间隔时间可以视控制其性能而言而设定。主openflow交换机上流表信息包括多条组表和多条流表,相应的,第一请求消息则对应包括第一流表请求消息和第一组表请求消息,控制器向主openflow交换机发送第一流表请求消息来请求主openflow交换机上的flow信息;控制器向主openflow交换机发送第一组表请求消息来请求主openflow交换机上的group(组)信息。本发明实施例中,第一流表请求消息是类型为OFPMP_FLOW的OFPT_MULTIPART_REQUEST消息,第一组表请求消息是类型为OFPMP_GROUP_DESC的OFPT_MULTIPART_REQUEST消息。
主openflow交换机收到第一请求消息后,返回给控制器对应的回复消息。
具体地,主openflow交换机收到第一流表请求消息后,返回给控制器带有flow信息的返回信息;主openflow交换机收到第一组表请求消息后,返回给控制器带有group信息的返回信息,这样控制器便获取了主openflow交换机上的流表信息。
控制器提取回复消息中携带的主openflow交换机上的流表信息,并将流表信息重组转换成第二请求消息后下发给备openflow交换机。
具体地,控制器主要提取返回的flow信息中的table_id(流表id),priority(优先级),idle_timeout(匹配流表超时),hard_timeout(硬件超时),cookie,ofp_match(匹配flow字段)以及ofp_instruction(指令)信息,并主要提取返回的group信息中的type,group_id(组类型)以及ofp_bucket(组行为)信息。
信息提取之后,控制器将提取的flow信息重组到第二流表请求消息中并下发给备openflow交换机,同时将提取的group信息重组到第二组表请求消息中并下发给备openflow交换机。具体地,控制器把返回的flow信息中的table_id,priority,idle_timeout,hard_timeout,cookie,ofp_match以及ofp_instruction信息重组成指令为OFPFC_ADD的OFPT_FLOW_MOD消息,,即把这些信息重组到指令为OFPFC_ADD的OFPT_FLOW_MOD消息中,再将指令为OFPFC_ADD的OFPT_FLOW_MOD消息下发到备openflow交换机上;控制器把返回的group信息中的type,group_id以及ofp_bucket信息重组成指令为OFPGC_ADD的OFPT_GROUP_MOD消息,即把这些信息重组到指令为OFPGC_ADD的OFPT_GROUP_MOD消息中,再将指令为OFPGC_ADD的OFPT_GROUP_MOD消息下发到备openflow交换机上。这样,备openflow交换机上就已经同步到的主openflow交换机的流和组信息。
当主openflow交换机一旦发生故障或意外中断,主openflow交换机上的数据通过一些机制就会被切换到备openflow交换机上,而这个时候,备openflow交换机已经获取到了主openflow交换机相应的flow和group信息,所以数据流量还是会按照正确的flow转发,实现真正意义上的冗余备份。
作为可替换的实施例,本发明可通过控制器自身来实时监测主openflow交换机上flow或者group的异动,一旦控制器监测不到主openflow交换机信号之后,再把提取的主openflow交换机上流表信息重组转换成第二请求消息后下发给备openflow交换机。
对应的,本发明还揭示了一种实现openflow交换机流表实时同步的装置,如图2所示,主要包括控制器和与控制器均相连的主openflow交换机A、备openflow交换机B,正常情况下,数据流量是通过openflow交换机A转发。
控制器包括消息请求模块、提取信息模块、信息重组模块和消息下发模块,消息请求模块用于每隔一段时间向主openflow交换机发送用于请求主openflow交换机上流表信息的第一请求消息;主openflow交换机用于在收到第一请求消息后返回给控制器对应的回复消息;提取信息模块用于提取回复消息中携带的主openflow交换机上的流表信息;信息重组模块用于将所述流表信息重组转换成第二请求消息;消息下发模块用于将第二请求消息下发给备openflow交换机。其中消息请求模块、提取信息模块、信息重组模块和消息下发模块的具体实现原理,参照上述实现openflow交换机流表实时同步的方法中的详细描述。
进一步地,控制器还可包括监测模块,监测模块用于实时监测主openflow交换机,并在发现主openflow交换机发生故障或意外中断后通知信息重组转换模块把提取的主openflow交换机上流表信息重组转换成第二请求消息,最后由消息下发模块将第二请求消息下发给备openflow交换机。
当主openflow交换机A一旦发生故障或意外中断,主openflow交换机A上的数据通过一些机制就会被切换到备openflow交换机B上,而这个时候,备openflow交换机B已经获取到了主openflow交换机A相应的flow和group信息,所以数据流量还是会按照正确的flow转发,实现真正意义上的冗余备份。
如图2所示,本发明实现openflow交换机流表实时同步的装置还可包括交换机C、交换机D、计算机、用户和数据中心(DataCenter),交换机C和交换机D可为普通交换机或Openflow交换机,可实现数据转发即可,计算机、用户和DataCenter均可视为数据流量的源或者目的地。
本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。
Claims (10)
1.一种实现openflow交换机流表实时同步的方法,所述方法应用于至少由控制器、主openflow交换机、备openflow交换机组成的openflow网络中,其特征在于,所述方法包括:
控制器每隔一段时间向主openflow交换机发送用于请求主openflow交换机上流表信息的第一请求消息;
所述主openflow交换机收到第一请求消息后,返回给控制器对应的回复消息;
所述控制器提取回复消息中携带的主openflow交换机上的流表信息,并将所述流表信息重组转换成第二请求消息后下发给备openflow交换机。
2.根据权利要求1所述的实现openflow交换机流表实时同步的方法,其特征在于,所述第一请求消息包括第一流表请求消息和第一组表请求消息。
3.根据权利要求2所述的实现openflow交换机流表实时同步的方法,其特征在于,所述第一流表请求消息是类型为OFPMP_FLOW的OFPT_MULTIPART_REQUEST消息,所述第一组表请求消息是类型为OFPMP_GROUP_DESC的OFPT_MULTIPART_REQUEST消息。
4.根据权利要求1所述的实现openflow交换机流表实时同步的方法,其特征在于,所述第二请求消息包括第二流表请求消息和第二组表请求消息。
5.根据权利要求4所述的实现openflow交换机流表实时同步的方法,其特征在于,所述第二流表请求消息是指令为OFPFC_ADD的OFPT_FLOW_MOD消息,所述第二组表请求消息是指令为OFPGC_ADD的OFPT_GROUP_MOD消息。
6.根据权利要求1所述的实现openflow交换机流表实时同步的方法,其特征在于,所述控制器实时监测主openflow交换机,并在发现主openflow交换机发生故障或意外中断后,再将提取的主openflow交换机上流表信息重组转换成第二请求消息后下发给备openflow交换机。
7.根据权利要求1~6任意一项所述的实现openflow交换机流表实时同步的方法,其特征在于,当所述主openflow交换机发生故障或意外中断时,报文切换到备openflow交换机上,并按照备openflow交换机上同步过来的主openflow交换机流表信息进行转发。
8.一种实现openflow交换机流表实时同步的装置,其特征在于,包括控制器和与控制器均相连的主openflow交换机、备openflow交换机,所述控制器包括消息请求模块、提取信息模块、信息重组模块和消息下发模块,
所述消息请求模块用于每隔一段时间向主openflow交换机发送用于请求主openflow交换机上流表信息的第一请求消息;
所述主openflow交换机用于在收到第一请求消息后返回给控制器对应的回复消息;
所述提取信息模块用于提取回复消息中携带的主openflow交换机上的流表信息;
所述信息重组模块用于将所述流表信息重组转换成第二请求消息;
所述消息下发模块用于将第二请求消息下发给备openflow交换机。
9.根据权利要求8所述的实现openflow交换机流表实时同步的装置,其特征在于,所述控制器还包括监测模块,所述监测模块用于实时监测主openflow交换机,并在发现主openflow交换机发生故障或意外中断后通知所述信息重组转换模块。
10.根据权利要求8或9所述的实现openflow交换机流表实时同步的装置,其特征在于,当所述主openflow交换机发生故障或意外中断时,报文切换到备openflow交换机上,并按照备openflow交换机上同步过来的主openflow交换机流表信息进行转发。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510611443.9A CN105262692A (zh) | 2015-09-23 | 2015-09-23 | 实现openflow交换机流表实时同步的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510611443.9A CN105262692A (zh) | 2015-09-23 | 2015-09-23 | 实现openflow交换机流表实时同步的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105262692A true CN105262692A (zh) | 2016-01-20 |
Family
ID=55102200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510611443.9A Withdrawn CN105262692A (zh) | 2015-09-23 | 2015-09-23 | 实现openflow交换机流表实时同步的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105262692A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106130911A (zh) * | 2016-08-31 | 2016-11-16 | 南京元融信息技术有限公司 | 转发流表切片化的脊交换机所组构的云计算中心网络架构 |
CN108337168A (zh) * | 2018-02-11 | 2018-07-27 | 天津大学 | 流簇交换路由机制OpenFlow组表选择方法 |
CN111555970A (zh) * | 2020-04-16 | 2020-08-18 | 深圳震有科技股份有限公司 | 一种基于双机冗余系统的网络切换方法、系统及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011144495A1 (en) * | 2010-05-19 | 2011-11-24 | Telefonaktiebolaget L M Ericsson (Publ) | Methods and apparatus for use in an openflow network |
CN102882719A (zh) * | 2012-09-26 | 2013-01-16 | 盛科网络(苏州)有限公司 | 实现Openflow交换机系统中控制器冗余备份的方法及系统 |
CN104243205A (zh) * | 2014-09-03 | 2014-12-24 | 杭州华三通信技术有限公司 | 一种虚拟交换机故障时的报文处理方法和设备 |
CN104639464A (zh) * | 2015-01-09 | 2015-05-20 | 盛科网络(苏州)有限公司 | OpenFlow交换机上实现跨交换机链路聚合的系统及方法 |
-
2015
- 2015-09-23 CN CN201510611443.9A patent/CN105262692A/zh not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011144495A1 (en) * | 2010-05-19 | 2011-11-24 | Telefonaktiebolaget L M Ericsson (Publ) | Methods and apparatus for use in an openflow network |
CN102882719A (zh) * | 2012-09-26 | 2013-01-16 | 盛科网络(苏州)有限公司 | 实现Openflow交换机系统中控制器冗余备份的方法及系统 |
CN104243205A (zh) * | 2014-09-03 | 2014-12-24 | 杭州华三通信技术有限公司 | 一种虚拟交换机故障时的报文处理方法和设备 |
CN104639464A (zh) * | 2015-01-09 | 2015-05-20 | 盛科网络(苏州)有限公司 | OpenFlow交换机上实现跨交换机链路聚合的系统及方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106130911A (zh) * | 2016-08-31 | 2016-11-16 | 南京元融信息技术有限公司 | 转发流表切片化的脊交换机所组构的云计算中心网络架构 |
CN106130911B (zh) * | 2016-08-31 | 2019-04-05 | 星融元数据技术(苏州)有限公司 | 转发流表切片化的脊交换机所组构的云计算中心网络架构 |
CN108337168A (zh) * | 2018-02-11 | 2018-07-27 | 天津大学 | 流簇交换路由机制OpenFlow组表选择方法 |
CN108337168B (zh) * | 2018-02-11 | 2021-01-05 | 天津大学 | 流簇交换路由机制OpenFlow组表选择方法 |
CN111555970A (zh) * | 2020-04-16 | 2020-08-18 | 深圳震有科技股份有限公司 | 一种基于双机冗余系统的网络切换方法、系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9686383B2 (en) | Synchronization of traffic multiplexing in link aggregation | |
CN100499507C (zh) | 一种容灾系统、方法和网络设备 | |
CN103001887A (zh) | 一种链路保活方法、控制器及交换机 | |
CN102137017A (zh) | 用于虚拟网络单元的工作方法及装置 | |
CN101764706B (zh) | 基于epa网桥的链路冗余控制方法 | |
WO2017024697A1 (zh) | 一种调度自动化系统跨网段的消息转发方法 | |
CN104618254A (zh) | 软件定义网络中避免网络拥塞的方法和控制器 | |
CN104158642A (zh) | 一种为软件定义网络控制器提供备份的方法及系统 | |
US9166868B2 (en) | Distributed control plane for link aggregation | |
CN104639867A (zh) | 一种视频会议恢复方法及系统 | |
CN105262692A (zh) | 实现openflow交换机流表实时同步的方法及装置 | |
CN103825759A (zh) | 获取网络拓扑信息的方法和系统 | |
CN104468231A (zh) | Sdn交换机和控制器动态注册方法 | |
CN107682411A (zh) | 一种大规模sdn控制器集群及网络系统 | |
CN111787349A (zh) | 一种数据缓存方法、装置、设备及介质 | |
CN108616455A (zh) | 一种单机堆叠系统的路由同步方法 | |
CN111835555A (zh) | 数据恢复方法、装置及可读存储介质 | |
CN102611610A (zh) | 一种多条相同路径隧道集中管理的方法和系统 | |
CN102970621A (zh) | 一种网元内传输资源管理装置及方法 | |
CN102571598A (zh) | Vrrp组流量同步切换方法和路由设备 | |
CN102407868B (zh) | 适用于轨道交通现代监控系统通讯规约的热备双连接方法 | |
RU2730390C1 (ru) | Способ и устройство для автоматического определения топологии межузловой связи в совместно используемом резервном кольце трансокеанской мультиплексной секции | |
CN107395424B (zh) | 一种实现tcp连接备份的方法 | |
CN102118266A (zh) | 工业以太网双链路冗余技术 | |
CN102843265B (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20160120 |
|
WW01 | Invention patent application withdrawn after publication |