CN105119820B - 路由协议多实例并行执行系统及其并行执行方法 - Google Patents
路由协议多实例并行执行系统及其并行执行方法 Download PDFInfo
- Publication number
- CN105119820B CN105119820B CN201510436410.5A CN201510436410A CN105119820B CN 105119820 B CN105119820 B CN 105119820B CN 201510436410 A CN201510436410 A CN 201510436410A CN 105119820 B CN105119820 B CN 105119820B
- Authority
- CN
- China
- Prior art keywords
- message
- unit
- agreement
- flow table
- execution 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种路由协议多实例并行执行系统及其并行执行方法,该系统包含转发单元、协议执行单元及中央控制单元,转发单元,用于IP数据匹配、修改、转发和统计上报;协议执行单元,用于路由协议报文处理及路由计算,并将路由计算结果发给中央控制单元;中央控制单元,用于管理多个协议执行单元状态,对协议执行单元之间的数据进行分发,维护协议执行单元中的路由计算结果,对路由计算结果通过策略优选进行选择后发给转发单元。本发明采用数据转发与控制分离的体系架构,并行运行多个路由协议执行单元,将路由协议执行单元计算得到的路由表信息进行汇总决策并下发数据转发面,保证在单个协议执行单元失效或失控时,路由和转发仍然能够正常工作。
Description
技术领域
本发明涉及路由协议实现技术领域,特别涉及一种路由协议多实例并行执行系统及其并行执行方法。
背景技术
路由器作为网络基础设施的重要组成部分,其自身的安全形势日益严峻。而路由协议作为路由器的大脑,实现动态路由的建立,其安全形势也不容乐观。路由协议面临的主要安全威胁包括以摧毁路由协议为目的的DoS攻击和控制并注入虚假路由为目的的路由欺骗。传统路由器通过修补路由协议漏洞、增加附加的安全机制应对上述攻击,从根本上并没有改变路由协议的静态特性,无法完全解决路由协议和路由信息的脆弱性问题。
发明内容
针对现有技术中的不足,本发明提供一种路由协议多实例并行执行系统及其并行执行方法,采用数据转发与控制分离的体系架构,同时并行运行多个路由协议执行单元,将路由协议执行单元的计算得到的路由表信息进行汇总决策并下发数据转发面,保证在单个协议执行单元失效或失控时,路由和转发仍然能够正常工作。
按照本发明所提供的设计方案,一种路由协议多实例并行执行系统,包含转发单元、若干协议执行单元及中央控制单元,其中,转发单元,用于IP数据匹配、修改、转发和统计上报;协议执行单元,用于路由协议报文处理及路由计算,并将路由计算结果发给中央控制单元;中央控制单元,用于管理多个协议执行单元状态,对协议执行单元之间的数据进行分发,维护协议执行单元中的路由计算结果,对路由计算结果通过策略优选进行选择后发给转发单元。
上述的,所述协议执行单元包含路由协议运行状态监控模块,用于协议执行单元在协议失效情况下进行自我恢复。
上述的,所述转发单元的控制网口与中央控制单元的外网口相信号连接,中央控制单元的Base网口与协议执行单元的Base网口相信号连接。
一种路由协议多实例并行执行方法,具体包含如下步骤:
步骤1.中央控制单元接收转发单元发起的openflow会话,并同时与每个协议执行单元建立openflow会话;
步骤2.中央控制单元监听协议执行单元下发的报文消息,并按照报文消息处理规则对报文消息进行丢弃或者下发给转发单元;中央控制单元监听转发单元上报的报文消息,按照报文消息处理规则将报文消息转发给某个或者某些或者所有的协议执行单元;
步骤3.中央控制单元对每一个协议执行单元下发的流表信息进行维护和管理,按照流表优选策略从多个协议执行单元下发的流表中选择一条流表,并下发给转发单元;
步骤4.中央控制单元实时监测协议执行单元状态,在监测到协议执行单元失效时,通过带外通道将该协议执行单元重启,使其恢复到正常初始状态,若无法恢复,则主动停止openflow会话。
上述的路由协议多实例并行执行方法,步骤1中中央控制单元与转发单元之间会话交互协议及中央控制单元与协议执行单元之间会话交互协议均需遵从openflow1.3规范,通过openflow中Symmetric消息族维护通道存活。
上述的路由协议多实例并行执行方法,所述报文消息处理规则包含:中央控制单元对openflow中controller-to-switch消息族中features消息、read-state消息,直接下发给转发单元;对于packet-out消息,需检测消息中原始数据包类型,若为单播包,则直接下发给转发单元,若为组播包,则需下发给转发单元外,还要产生packet-in消息,并下发给其他协议执行单元;对于role-request消息、asynchronous-configuration消息,则直接回应error消息;对于configuration消息中的OFPT_SET_CONFIG子类型,直接回应error消息,其他子类型则需下发给转发单元;对于modify-state消息,则直接转步骤3处理;下发给转发单元的features消息、read-state消息、configuration消息,中央控制单元维护来自协议执行单元ID和OF头中的transaction id的对应表。
优选的,所述报文消息处理规则还包含中央控制单元对于openflow中asynchronous消息族中port-status消息复制后转发给所有协议执行单元;对于error消息,则按照OF头中的transaction in的对应表转发给对应的协议执行单元;对于flow-removed消息,则直接丢弃;对于packet-in消息,则依据消息中承载的原始数据帧中的目的ip地址,若为单播包,则转发给对应的协议执行单元,若为组播包,则将消息复制后,转发给所有协议执行单元。
上述的路由协议多实例并行执行方法,所述步骤3中按照流表优选策略从多个协议执行单元下发的流表中选择一条流表包含中央控制单元收到协议执行单元下发的modify-state消息,建立该流表数据库,若只接收到一个协议执行单元下发的流表消息,则将直接下发给转发单元,若接收到多个协议执行单元下发的流表信息,流表信息不一致,则按照本地流表选择算法,优选出一条流表下发给转发单元;在中央控制单元接收到某个流表不可用消息,如果该流表已经下发给转发单元,则启动本地流表选择算法,选择另一条流表信息并主动下发modify-state消息,若所有流表均不可用,则主动下发下发modify-state消息,并撤销转发单元的流表信息。
上述的路由协议多实例并行执行方法,所述步骤4还包含监测到协议执行单元失效,中央处理单元将删除本地维护的与该协议执行单元关联的所有流表信息,若删除的流表信息已经下发给转发单元,需按照流表优选策略重新选择一条流表,并重新下发给转发单元。
本发明的有益效果:
1.本发明采用数据转发与控制分离的体系架构,同时并行运行多个路由协议执行单元,将路由协议执行单元的计算得到的路由表信息进行汇总决策并下发数据转发面,保证在单个协议执行单元失效或失控时,路由和转发仍然能够正常工作。
2.本发明容错能力强,在某个路由协议故障或者失效的条件下,仍然保证数据的正常转发;系统部署简单,现有技术中switch与单个controller进行消息交互,或者switch与两个controller交互,两个controller分为主controller和备controller,不能同时做主controller,本发明中转发单元和协议执行单元分别为现有的openflow switch和openflow controller,中央控制单元仅作为一个接插件,openflow设备对其无感,该系统易于增量部署;系统部署灵活,可以根据实际应用环境需求和成本需求确定采用多少个协议执行单元,协议执行单元可部署于真实服务器,也可以部署于虚拟机。
附图说明:
图1为本发明的路由协议多实例并行执行系统原理框图;
图2为本发明的路由协议多实例并行执行方法流程示意图。
具体实施方式:
下面结合附图和技术方案对本发明作进一步详细的说明,并通过优选的实施例详细说明本发明的实施方式,但本发明的实施方式并不限于此。
openflow协议是用来描述控制器和openflow交换机之间交互所用的信息的接口标准,其核心是openflow协议信息的集合。openflow协议支持三种消息族类型:controller-to-switch、asynchronous异步和symmetric对称,而每一类消息族又可以拥有多个子消息类型。其中,controller-to-switch消息由控制器发起,用来管理或获取openflow交换机的状态;asynchronous消息由openflow交换机发起,用来将网络事件或交换机状态变化更新到控制器;symmetric消息可由交换机或控制器发起。
实施例一,参见图1所示,一种路由协议多实例并行执行系统,包含转发单元、若干协议执行单元及中央控制单元,其中,转发单元,用于IP数据匹配、修改、转发和统计上报;协议执行单元,用于路由协议报文处理及路由计算,并将路由计算结果发给中央控制单元;中央控制单元,用于管理多个协议执行单元状态,对协议执行单元之间的数据进行分发,维护协议执行单元中的路由计算结果,对路由计算结果通过策略优选进行选择后发给转发单元,其中,策略优选是指先将路由计算结果相同的协议执行单元划为一组,并计算其协议执行单元个数,选择协议执行个数最多的组作为下发优选的下发到转发单元,在实际应用中,中央控制单元透明处理switch和controller之间消息,使得一个switch支持多个并行工作的controller,保证在单个协议执行单元失效或失控时,路由和转发仍然能够正常工作。
优选的,所述协议执行单元包含路由协议运行状态监控模块,用于协议执行单元在协议失效情况下进行自我恢复,路由协议运行状态监控模块通过心跳机制,运行看门狗程序,动态与路由协议进行心跳消息交互,如果在给定时间段内无法从路由协议收到心跳消息,则认为路由协议失效;或通过进程监控机制,运行看门狗程序,周期性查看路由协议进程状态,如果进程不存在,则认为路由协议失效。
转发单元的控制网口与中央控制单元的外网口相信号连接,中央控制单元的Base网口与协议执行单元的Base网口相信号连接。
实施例二,参见图2所示,一种路由协议多实例并行执行方法,具体包含如下步骤:
步骤1.中央控制单元接收转发单元发起的openflow会话,并同时与每个协议执行单元建立openflow会话;
步骤2.中央控制单元监听协议执行单元下发的报文消息,并按照报文消息处理规则对报文消息进行丢弃或者下发给转发单元;中央控制单元监听转发单元上报的报文消息,按照报文消息处理规则将报文消息转发给某个或者某些或者所有的协议执行单元;
步骤3.中央控制单元对每一个协议执行单元下发的流表信息进行维护和管理,按照流表优选策略从多个协议执行单元下发的流表中选择一条流表,并下发给转发单元;
步骤4.中央控制单元实时监测协议执行单元状态,在监测到协议执行单元失效时,通过带外通道将该协议执行单元重启,使其恢复到正常初始状态,若无法恢复,则主动停止openflow会话,中央控制单元透明处理switch和controller之间消息,使得一个switch支持多个并行工作的controller,保证在单个协议执行单元失效或失控时,路由和转发仍然能够正常工作。
实施例三,与实施例二基本相同,不同之处在于:步骤1中中央控制单元与转发单元之间会话交互协议及中央控制单元与协议执行单元之间会话交互协议均需遵从openflow1.3规范,通过openflow中Symmetric消息族维护通道存活。
所述报文消息处理规则包含:中央控制单元对openflow中controller-to-switch消息族中features消息、read-state消息,直接下发给转发单元;对于packet-out消息,需检测消息中原始数据包类型,若为单播包,则直接下发给转发单元,若为组播包,则需下发给转发单元外,还要产生packet-in消息,并下发给其他协议执行单元;对于role-request消息、asynchronous-configuration消息,则直接回应error消息;对于configuration消息中的OFPT_SET_CONFIG子类型,直接回应error消息,其他子类型则需下发给转发单元;对于modify-state消息,则直接转步骤3处理;下发给转发单元的features消息、read-state消息、configuration消息,中央控制单元维护来自协议执行单元ID和OF头中的transactionid的对应表。所述报文消息处理规则还包含中央控制单元对于openflow中asynchronous消息族中port-status消息复制后转发给所有协议执行单元;对于error消息,则按照OF头中的transaction in的对应表转发给对应的协议执行单元;对于flow-removed消息,则直接丢弃;对于packet-in消息,则依据消息中承载的原始数据帧中的目的ip地址,若为单播包,则转发给对应的协议执行单元,若为组播包,则将消息复制后,转发给所有协议执行单元。
所述步骤3中按照流表优选策略从多个协议执行单元下发的流表中选择一条流表包含中央控制单元收到协议执行单元下发的modify-state消息,建立该流表数据库,若只接收到一个协议执行单元下发的流表消息,则将直接下发给转发单元,若接收到多个协议执行单元下发的流表信息,流表信息不一致,则按照本地流表选择算法,优选出一条流表下发给转发单元;在中央控制单元接收到某个流表不可用消息,如果该流表已经下发给转发单元,则启动本地流表选择算法,选择另一条流表信息并主动下发modify-state消息,若所有流表均不可用,则主动下发下发modify-state消息,并撤销转发单元的流表信息。
所述步骤4还包含监测到协议执行单元失效,中央处理单元将删除本地维护的与该协议执行单元关联的所有流表信息,若删除的流表信息已经下发给转发单元,需按照流表优选策略重新选择一条流表,并重新下发给转发单元。
本发明并不局限于上述具体实施方式,本领域技术人员还可据此做出多种变化,但任何与本发明等同或者类似的变化都应涵盖在本发明权利要求的范围内。
Claims (7)
1.一种基于路由协议多实例并行执行系统的路由协议多实例并行执行方法,其特征在于:所述的路由协议多实例并行执行系统包含转发单元、若干协议执行单元及中央控制单元,其中,转发单元,用于IP数据匹配、修改、转发和统计上报;协议执行单元,用于路由协议报文处理及路由计算,并将路由计算结果发给中央控制单元;中央控制单元,用于管理多个协议执行单元状态,对协议执行单元之间的数据进行分发,维护协议执行单元中的路由计算结果,对路由计算结果通过策略优选进行选择后发给转发单元;该路由协议多实例并行执行方法具体包含如下步骤:
步骤1.中央控制单元接收转发单元发起的openflow会话,并同时与每个协议执行单元建立openflow会话;
步骤2.中央控制单元监听协议执行单元下发的报文消息,并按照报文消息处理规则对报文消息进行丢弃或者下发给转发单元;中央控制单元监听转发单元上报的报文消息,按照报文消息处理规则将报文消息转发给某个或者某些或者所有的协议执行单元;
步骤3.中央控制单元对每一个协议执行单元下发的流表信息进行维护和管理,按照流表优选策略从多个协议执行单元下发的流表中选择一条流表,并下发给转发单元,其中,按照流表优选策略从多个协议执行单元下发的流表中选择一条流表包含中央控制单元收到协议执行单元下发的modify-state消息,建立该流表数据库,若只接收到一个协议执行单元下发的流表消息,则将直接下发给转发单元,若接收到多个协议执行单元下发的流表信息,流表信息不一致,则按照本地流表选择算法,优选出一条流表下发给转发单元;在中央控制单元接收到某个流表不可用消息,如果该流表已经下发给转发单元,则启动本地流表选择算法,选择另一条流表信息并主动下发modify-state消息,若所有流表均不可用,则主动下发modify-state消息,并撤销转发单元的流表信息;
步骤4.中央控制单元实时监测协议执行单元状态,在监测到协议执行单元失效时,通过带外通道将该协议执行单元重启,使其恢复到正常初始状态,若无法恢复,则主动停止openflow会话。
2.根据权利要求1所述的路由协议多实例并行执行方法,其特征在于:所述协议执行单元包含路由协议运行状态监控模块,用于协议执行单元在协议失效情况下进行自我恢复。
3.根据权利要求1所述的路由协议多实例并行执行方法,其特征在于:所述转发单元的控制网口与中央控制单元的外网口相信号连接,中央控制单元的Base网口与协议执行单元的Base网口相信号连接。
4.根据权利要求1所述的路由协议多实例并行执行方法,其特征在于:步骤1中中央控制单元与转发单元之间会话交互协议及中央控制单元与协议执行单元之间会话交互协议均需遵从openflow1.3规范,通过openflow中Symmetric消息族维护通道存活。
5.根据权利要求1所述的路由协议多实例并行执行方法,其特征在于:所述报文消息处理规则包含:中央控制单元对openflow中controller-to-switch消息族中features消息、read-state消息,直接下发给转发单元;对于packet-out消息,需检测消息中原始数据包类型,若为单播包,则直接下发给转发单元,若为组播包,则需下发给转发单元外,还要产生packet-in消息,并下发给其他协议执行单元;对于role-request消息、asynchronous-configuration消息,则直接回应error消息;对于configuration消息中的OFPT_SET_CONFIG子类型,直接回应error消息,其他子类型则需下发给转发单元;对于modify-state消息,则直接转步骤3处理;下发给转发单元的features消息、read-state消息、configuration消息,中央控制单元维护来自协议执行单元ID和OF头中的transaction id的对应表。
6.根据权利要求5所述的路由协议多实例并行执行方法,其特征在于:所述报文消息处理规则还包含中央控制单元对于openflow中asynchronous消息族中port-status消息复制后转发给所有协议执行单元;对于error消息,则按照OF头中的transaction in的对应表转发给对应的协议执行单元;对于flow-removed消息,则直接丢弃;对于packet-in消息,则依据消息中承载的原始数据帧中的目的ip地址,若为单播包,则转发给对应的协议执行单元,若为组播包,则将消息复制后,转发给所有协议执行单元。
7.根据权利要求1所述的路由协议多实例并行执行方法,其特征在于:所述步骤4还包含监测到协议执行单元失效,中央处理单元将删除本地维护的与该协议执行单元关联的所有流表信息,若删除的流表信息已经下发给转发单元,需按照流表优选策略重新选择一条流表,并重新下发给转发单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510436410.5A CN105119820B (zh) | 2015-07-23 | 2015-07-23 | 路由协议多实例并行执行系统及其并行执行方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510436410.5A CN105119820B (zh) | 2015-07-23 | 2015-07-23 | 路由协议多实例并行执行系统及其并行执行方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105119820A CN105119820A (zh) | 2015-12-02 |
CN105119820B true CN105119820B (zh) | 2018-01-02 |
Family
ID=54667715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510436410.5A Active CN105119820B (zh) | 2015-07-23 | 2015-07-23 | 路由协议多实例并行执行系统及其并行执行方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105119820B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111865898B (zh) | 2016-03-21 | 2023-07-21 | 华为技术有限公司 | 基于流规则协议的通信方法、设备和系统 |
CN106487598B (zh) * | 2016-11-15 | 2018-06-29 | 国家数字交换系统工程技术研究中心 | 异构冗余Snmp协议多实例实现系统及其实现方法 |
CN111147369B (zh) * | 2018-11-05 | 2022-02-08 | 中国电信股份有限公司 | 路由系统、路由方法和服务器 |
CN109587061B (zh) * | 2018-11-08 | 2022-04-22 | 华为技术有限公司 | 一种路由处理的方法、装置及设备 |
CN110149309A (zh) * | 2019-04-04 | 2019-08-20 | 中国人民解放军战略支援部队信息工程大学 | 一种路由器威胁感知方法及系统 |
CN111404818B (zh) * | 2020-03-12 | 2022-04-15 | 深圳市风云实业有限公司 | 一种面向通用多核网络处理器的路由协议优化方法 |
CN111490935B (zh) * | 2020-03-31 | 2022-05-27 | 新华三信息安全技术有限公司 | 分布式架构中的信息同步方法、转发单元及控制单元 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130054761A1 (en) * | 2011-08-29 | 2013-02-28 | Telefonaktiebolaget L M Ericsson (Publ) | Implementing a 3G Packet Core in a Cloud Computer with Openflow Data and Control Planes |
CN103491006A (zh) * | 2013-09-13 | 2014-01-01 | 清华大学 | 虚拟网络路由器的数据统一转发方法 |
CN104184663A (zh) * | 2014-07-17 | 2014-12-03 | 北京交通大学 | 基于软件定义网络和一体化标识网络的通信方法和装置 |
-
2015
- 2015-07-23 CN CN201510436410.5A patent/CN105119820B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130054761A1 (en) * | 2011-08-29 | 2013-02-28 | Telefonaktiebolaget L M Ericsson (Publ) | Implementing a 3G Packet Core in a Cloud Computer with Openflow Data and Control Planes |
CN103491006A (zh) * | 2013-09-13 | 2014-01-01 | 清华大学 | 虚拟网络路由器的数据统一转发方法 |
CN104184663A (zh) * | 2014-07-17 | 2014-12-03 | 北京交通大学 | 基于软件定义网络和一体化标识网络的通信方法和装置 |
Non-Patent Citations (1)
Title |
---|
"一种面向多样化网络业务融合的SDN网络架构";龚向阳等;《中兴通讯技术》;20131031;第19卷(第5期);第16-21页 * |
Also Published As
Publication number | Publication date |
---|---|
CN105119820A (zh) | 2015-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105119820B (zh) | 路由协议多实例并行执行系统及其并行执行方法 | |
US10257265B2 (en) | Redundancy network protocol system | |
CN102904818B (zh) | 一种arp信息表项更新方法及装置 | |
CN104104570B (zh) | Irf系统中的聚合处理方法及装置 | |
EP2086178B1 (en) | Link aggregation method and device, mac frame receiving/sending method and system | |
CN106375384A (zh) | 一种虚拟网络环境中镜像网络流量的管理系统和控制方法 | |
US20100014433A1 (en) | Method for processing multiple active devices in stacking system and stacking member device | |
CN104468151B (zh) | 一种集群切换时保持tcp会话的系统和方法 | |
CN102917286A (zh) | 一种epon接入系统中的手拉手保护倒换方法和系统 | |
CN104639867B (zh) | 一种视频会议恢复方法及系统 | |
CN101217353A (zh) | 一种呼叫中心多点双机冗余系统的控制方法 | |
CN105471610B (zh) | 一种使用多板卡保护HQoS的方法和装置 | |
CN104901825B (zh) | 一种实现零配置启动的方法和装置 | |
CN105656645A (zh) | 堆叠系统的故障处理的决策方法和装置 | |
CN105072101B (zh) | 基于入侵容忍的sdn控制器端系统和安全通信方法 | |
CN109039888A (zh) | 报文环路消除方法及分布式弹性dr设备 | |
CN103152239A (zh) | 一种基于Open VSwitch的虚拟网络实现方法和系统 | |
CN102244609A (zh) | 解决vpls接入l3故障切换导致断流的方法及路由器 | |
CN104753707B (zh) | 一种系统维护方法及网络交换设备 | |
CN106487598B (zh) | 异构冗余Snmp协议多实例实现系统及其实现方法 | |
CN101340339A (zh) | 宽带接入服务器集群系统及装置 | |
CN106941424A (zh) | 一种基于ttdp协议的冗余切换方法及设备 | |
CN103490964A (zh) | 一种实现灵活配置终端接入数量的方法及装置 | |
CN107682410A (zh) | 一种分布式sdn控制器集群的控制方法及装置 | |
CN108270593A (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 |