首页> 中国专利> 路由协议多实例并行执行系统及其并行执行方法

路由协议多实例并行执行系统及其并行执行方法

摘要

本发明涉及一种路由协议多实例并行执行系统及其并行执行方法,该系统包含转发单元、协议执行单元及中央控制单元,转发单元,用于IP数据匹配、修改、转发和统计上报;协议执行单元,用于路由协议报文处理及路由计算,并将路由计算结果发给中央控制单元;中央控制单元,用于管理多个协议执行单元状态,对协议执行单元之间的数据进行分发,维护协议执行单元中的路由计算结果,对路由计算结果通过策略优选进行选择后发给转发单元。本发明采用数据转发与控制分离的体系架构,并行运行多个路由协议执行单元,将路由协议执行单元计算得到的路由表信息进行汇总决策并下发数据转发面,保证在单个协议执行单元失效或失控时,路由和转发仍然能够正常工作。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-01-02

    授权

    授权

  • 2015-12-30

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

    实质审查的生效

  • 2015-12-02

    公开

    公开

说明书

技术领域

本发明涉及路由协议实现技术领域,特别涉及一种路由协议多实例并行执行系统及其并行执行方法。

背景技术

路由器作为网络基础设施的重要组成部分,其自身的安全形势日益严峻。而路由协议作为路由器的大脑,实现动态路由的建立,其安全形势也不容乐观。路由协议面临的主要安全威胁包括以摧毁路由协议为目的的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头中的transactionid的对应表。

优选的,所述报文消息处理规则还包含中央控制单元对于openflow中asynchronous消息族中port-status消息复制后转发给所有协议执行单元;对于error消息,则按照OF头中的transactionin的对应表转发给对应的协议执行单元;对于flow-removed消息,则直接丢弃;对于packet-in消息,则依据消息中承载的原始数据帧中的目的ip地址,若为单播包,则转发给对应的协议执行单元,若为组播包,则将消息复制后,转发给所有协议执行单元。

上述的路由协议多实例并行执行方法,所述步骤3中按照流表优选策略从多个协议执行单元下发的流表中选择一条流表包含中央控制单元收到协议执行单元下发的modify-state消息,建立该流表数据库,若只接收到一个协议执行单元下发的流表消息,则将直接下发给转发单元,若接收到多个协议执行单元下发的流表信息,流表信息不一致,则按照本地流表选择算法,优选出一条流表下发给转发单元;在中央控制单元接收到某个流表不可用消息,如果该流表已经下发给转发单元,则启动本地流表选择算法,选择另一条流表信息并主动下发modify-state消息,若所有流表均不可用,则主动下发下发modify-state消息,并撤销转发单元的流表信息。

上述的路由协议多实例并行执行方法,所述步骤4还包含监测到协议执行单元失效,中央处理单元将删除本地维护的与该协议执行单元关联的所有流表信息,若删除的流表信息已经下发给转发单元,需按照流表优选策略重新选择一条流表,并重新下发给转发单元。

本发明的有益效果:

1.本发明采用数据转发与控制分离的体系架构,同时并行运行多个路由协议执行单元,将路由协议执行单元的计算得到的路由表信息进行汇总决策并下发数据转发面,保证在单个协议执行单元失效或失控时,路由和转发仍然能够正常工作。

2.本发明容错能力强,在某个路由协议故障或者失效的条件下,仍然保证数据的正常转发;系统部署简单,现有技术中switch与单个controller进行消息交互,或者switch与两个controller交互,两个controller分为主controller和备controller,不能同时做主controller,本发明中转发单元和协议执行单元分别为现有的openflowswitch和openflowcontroller,中央控制单元仅作为一个接插件,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头中的transactionin的对应表转发给对应的协议执行单元;对于flow-removed消息,则直接丢弃;对于packet-in消息,则依据消息中承载的原始数据帧中的目的ip地址,若为单播包,则转发给对应的协议执行单元,若为组播包,则将消息复制后,转发给所有协议执行单元。

所述步骤3中按照流表优选策略从多个协议执行单元下发的流表中选择一条流表包含中央控制单元收到协议执行单元下发的modify-state消息,建立该流表数据库,若只接收到一个协议执行单元下发的流表消息,则将直接下发给转发单元,若接收到多个协议执行单元下发的流表信息,流表信息不一致,则按照本地流表选择算法,优选出一条流表下发给转发单元;在中央控制单元接收到某个流表不可用消息,如果该流表已经下发给转发单元,则启动本地流表选择算法,选择另一条流表信息并主动下发modify-state消息,若所有流表均不可用,则主动下发下发modify-state消息,并撤销转发单元的流表信息。

所述步骤4还包含监测到协议执行单元失效,中央处理单元将删除本地维护的与该协议执行单元关联的所有流表信息,若删除的流表信息已经下发给转发单元,需按照流表优选策略重新选择一条流表,并重新下发给转发单元。

本发明并不局限于上述具体实施方式,本领域技术人员还可据此做出多种变化,但任何与本发明等同或者类似的变化都应涵盖在本发明权利要求的范围内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号