买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种SDN中控制面表项与流表及各类转发表项转发同步的方法_浙江工商大学_201710132668.5 

申请/专利权人:浙江工商大学

申请日:2017-03-07

公开(公告)日:2020-07-03

公开(公告)号:CN107040472B

主分类号:H04L12/755(20130101)

分类号:H04L12/755(20130101)

优先权:

专利状态码:有效-授权

法律状态:2020.07.03#授权;2017.09.05#实质审查的生效;2017.08.11#公开

摘要:本发明公开了一种SDN中控制面表项与流表及各类转发表项转发同步的方法,针对SDN网络中控制平面和多个数据平面间的表同步,包括如下步骤:通过对数据面物理节点进行转发表管理配置和下发生成SDN服务承载网;采用转发表定时批量更新机制、控制面节点动态查询同步数据面节点间转发表机制和数据面节点流表、转发表失效保护机制保证控制面节点与数据面节点之间流表与转发表在同步过程中保持一致,使业务在SDN服务承载网上正常传送。本发明从控制面和转发面同时制定相应策略,从而较好地解决域间多控制平面和数据平面实现控制层面表项与流表及各类转发表项的同步问题。

主权项:1.一种SDN中控制面表项与流表及各类转发表项转发同步的方法,针对SDN网络中控制平面和多个数据平面间的表同步,其特征在于,包括如下步骤:1通过对数据面物理节点进行转发表管理配置和下发生成SDN服务承载网,SDN服务承载网是一种特定的、为SDN各类业务承载建立的服务网络;2采用转发表定时批量更新机制、控制面节点动态查询同步数据面节点间转发表机制和数据面节点流表、转发表失效保护机制保证控制面节点与数据面节点之间流表与转发表在同步过程中保持一致,使业务在SDN服务承载网上正常传送;所述转发表定时批量更新机制,采用策略的定时批量更新保证各控制面节点流表和转发信息表的一致,包括如下方面:1数据面节点流表与转发表同步专用的同步消息队列2每隔δms,将固定数目的转发表更新消息下发一次;新启动的数据面节点的下发动作通过同步消息队列1来完成,所有同步动作由上述两个队列来完成,在两个队列之间采用有优先级的轮询方式;2每次从同步消息队列中取不超过100条的消息打包,以组播的形式将流表更新消息发送至所有数据面节点,同步消息队列1为数据面节点启动需要下载所有流表和转发表信息,是单播消息,同步消息队列2为各个数据面节点的流表与转发表更新消息,流表更新消息以组播的形式发送至所有数据面节点,数据面节点收到该消息后再经本地的流表、转发表管理与维护模块对数据面节点的信息转发表FIB表做相应修改;3发送FIB同步消息队列中的数据包后打上时间戳,当数据面节点发送同步消息反馈给控制面节点报告各数据面节点同步更新完毕后控制面节点再删除该数据包;所述控制面节点动态查询同步数据面节点间转发表机制,采用控制面节点动态查询机制来确保数据面节点间表的同步,包括如下方面:1查询数据面节点转发表表项总数以及该表所有表项索引的校验和;控制面节点根据定时器Timer1,以Timer1清零时的时间值向FIB同步消息队列中添加一条查询消息;2数据面节点收到该查询消息后将数据面节点此刻的FIB表项总数及HASH索引校验和与消息中的进行比对,一旦发现不同则向控制面节点返回错误;控制面节点收到该消息后在FIB同步消息队列重新写入Timer1内所有新学到的表项;所述数据面节点流表、转发表失效保护机制,包括如下方面:1系统每24小时将控制面节点上所有的流表与FIB表项向数据面节点重新同步一次;2管理员发现表项不一致,可使用同步命令使系统重新下发所有流表与FIB表项,实现数据面节点间流表与FIB表的一致。

全文数据:一种SDN中控制面表项与流表及各类转发表项转发同步的方法技术领域[0001]本发明适用于SDN网络控制层面表项与流表及各类转发表项的同步方法,能保证同一SDN服务承载网中各个数据转发节点间流表和转发表的一致性,及时修正数据转发节点本地的流表和转发表,从而保证转发面的正常工作。背景技术[0002]SDN服务承载网的生成需要对数据面物理节点进行转发表管理配置和下发,表管理主要存在2方面的问题:1如何实现高性能的流表或转发表查找算法;2如何实现控制层面表项和多个转发表的同步。查找算法目前可以借鉴很多已有的成熟的研宄,如采用新颖的地址前缀查找算法、二进制Trie树、缓存目的地址法等传统前缀查找算法,及基于二分哈希树查找等方法,而控制层面表项和多个转发表的同步问题则有着自身的特点。SDN服务承载网域间构建和映射方法分别运行在域间不同的控制节点上,各个控制节点通过交换网络收集到多个控制节点运行的多域路径信息后,生成了最优的全局映射表,域内控制节点和数据转发节点运行在不同的设备上,需要提取全局映射表中的关键信息生成全局流表及转发表下发到数据转发平面多个转发节点,如图1所示。考虑到随着新数据转发节点的动态加入,流表和转发表尚未下发前,正常运行数据转发节点与新加入数据转发节点的流表和转发表状态信息的不一致,在下发全局映射表完成前的一段时间里,数据转发节点间消息的更新与同步带来了难度。因此我们提出采用某种机制保证控制面节点与数据面节点之间流表与转发表在同步过程中保持一致,使业务在SDN服务承载网上正常传送。发明内容[0003]本发明所要解决的技术问题:更新全局映射表信息会带来全局流表和转发表的改变,引起在数据转发节点流表和转发表信息的更新。采用转发表定时批量更新机制、控制面节点动态查询同步数据面节点间转发表机制和数据面节点流表、转发表失效保护机制保证在全局转发表下发过程中,更新其他数据转发节点的流表和转发表在新启动的数据转发节点上同步得到更新,保证同一SDN服务承载网中各个数据转发节点间流表和转发表的一致性,及时修正数据转发节点本地的流表和转发表,从而保证转发平面的正常工作。[0004]本发明所采用的技术方案:一种SDN中控制面表项与流表及各类转发表项转发同步的方法,针对SDN网络中控制平面和多个数据平面间的表同步,其特征在于,包括如下步骤:[0005]1通过对数据面物理节点进行转发表管理配置和下发生成SDN服务承载网,SDN服务承载网是一种特定的、为SDN各类业务承载建立的服务网络。[0006]2采用转发表定时批量更新机制、控制面节点动态查询同步数据面节点间转发表机制和数据面节点流表、转发表失效保护机制保证控制面节点与数据面节点之间流表与转发表在同步过程中保持一致,使业务在SDN服务承载网上正常传送。[0007]进一步地,通过对数据面物理节点进行转发表管理配置和下发生成SDN服务承载网,包括如下方面:[0008]1.1实现流表或转发表查找,查找算法包括地址前缀查找算法、二进制Trie树、缓存目的地址法、基于二分哈希树查找法。[0009]I.2实现控制层面表项和多个转发表的同步。[0010]进一步地,所述转发表定时批量更新机制,采用策略的定时批量更新保证各控制面节点流表和转发信息表的一致,包括如下方面:[0011]1数据面节点流表与转发表同步专用的同步消息队列2每隔Sms该时间点的选择视网络流量状况而定,可以修改间隔时间长度将固定数目的转发表更新消息下发一次。下发动作通过队列1来完成,所有同步动作由两个队列来完成,在两个队列之间采用有优先级的轮询方式。[0012]2每次从消息队列中取不超过1〇〇条的消息打包,以组播的形式将流表更新消息发送至所有数据面节点,数据面节点收到该消息后再经本地的流表、转发表管理与维护模块对数据面节点的信息转发表FIB表做相应修改。t0013]3发送HB同步消息队列中的数据包后打上时间戳,当数据面节点发送同步消息反馈给控制面节点报告各数据面节点同步更新完毕后控制面节点再删除该数据包。[OOM]进一步地,所述控制面节点动态查询同步数据面节点间转发表机制,采用控制面节点动态查询机制来确保数据面节点间表的同步,包括如下方面:[0015]1查询数据面节点转发表表项总数以及该HASH表所有表项索引的校验和。控制面节点根据定时器Timerl,以Timerl清零时的时间值向FIB同步消息队列中添加一条查询消肩、。[0016]2数据面节点收到该查询消息后将数据面节点此刻的FIB表项总数及HASH索引校验和与消息中的进行比对,一旦发现不同则向控制面节点返回错误。控制面节点收到该消息后在FIB同步消息队列重新写入Timerl内所有新学到的表项。[0017]进一步地,所述数据面节点流表、转发表失效保护机制,包括如下方面:[0018]1系统每24小时将控制面节点上所有的流表与FIB表项向数据面节点重新同步一次。[0019]2管理员发现表项不一致,可使用同步命令使系统重新下发所有流表与FIB表项,实现数据面节点间流表与FIB表的一致。[0020]本发明的有益积极效果:[0021]1、本发明作为一种SDN中控制面表项与流表及各类转发表项转发同步的方法,与只通过控制面策略或仅通过对转发面的策略制定的现有研宄不同,从控制面和转发面同时制定相应策略,从而较好地解决域间多控制平面和数据平面实现控制层面表项与流表及各类转发表项的同步问题。[0022]2、本发明采用某种机制,保证在全局转发表下发过程中,更新其他数据转发节点的流表和转发信息在新启动的数据转发节点上同步得到更新,使业务在SDN服务承载网上正常传送。附图说明[0023]图1:分布式SDN表映射转换模型图;[0024]图2:控制面节点表映射功能图;[0025]图3:控制平面与各数据平面表同步算法流程图。具体实施方式[0026]下面结合附图和具体实施例对本发明作进一步详细说明。[0027]控制面节点需要将主控平面上的全局映射表同步到数据面节点上,如图2所示。通过传输协议将控制面节点软件平台上用户添加、删除流表动作和计算出来的SDN服务承载网节点映射表的添加或删除,同步到数据面节点的软件平台上,由数据面节点完成对本地流表和转发表的维护。为保证控制面节点与数据面节点之间流表与转发表内容在同步过程中的一致,在实现中同时采用如下机制:[0028]1、转发表定时批量更新机制。在实际运行环境中,节点上的计算映射算法收敛后生成的流表和转发表拥有庞大的数据,有可能同时存在成千上万条流表,而网络中表下发带来的短时震荡会造成大量的流转发更新。然而,如果直接通过控制面节点向数据面节点实时同步,会在短时内对传输通道造成巨大冲击,将会导致主控节点与数据面节点间通信丢失等问题。为保证各控制面节点流表和转发信息表的一致,采用策略的定时批量更新。[0029]2、控制面节点动态查询同步数据面节点间转发表机制。为了避免控制面节点与数据面节点间丢包导致的数据面节点间表不一致的情况,我们采用控制面节点动态查询机制来确保数据面节点间表的同步。[0030]3、数据面节点流表、转发表失效保护机制。[0031]第一个机制,转发表定时批量更新机制。控制面节点上的映射表管理与维护模块学习到新的流表、转发表或删除陈旧的流表、转发表之后通知映射表与流表、转发表同步模块,由全局流表、转发表维护和管理模块生成下发给数据面节点的分布式流表与转发表,同时将该动作写入数据面节点流表与转发表同步专用的同步消息队列2,目前策略并不马上向数据面节点同步,而是采用每隔100ms该时间点的选择视网络流量状况而定,可以修改间隔时间长度才把固定数目的转发表更新消息下发一次的方式。对于新启动的数据面节点则需要下发全部的流表和转发表信息,并与其它数据面节点保持转发表的同步,下发动作通过队列1来完成。所有同步动作由2个队列来完成,在2个队列之间采用有优先级的轮询方式。开始时轮询2个队列,当其中一个队列中有数据包到达时启动定时器TimerH己录更新数据包的时间,为了防止影响数据面节点和控制面节点之间的通信的冲击,启动定时器Timer2每100ms超时1次有间隔的发送路由更新消息。由于队列1为数据面节点启动需要下载所有流表和转发表信息,是单播消息,并具有较高的优先级,队列2为各个数据面节点的流表与转发表更新消息,优先级较低,因此在队列1下发完所有数据包后,才考虑队列2中100ms超时1次有间隔的发送路由更新消息,每次从消息队列中取不超过1〇〇条的消息打包,对于流表更新消息以组播的形式发送至所有数据面节点。当数据面节点收到该消息后再经本地的流表、转发表管理与维护模块对数据面节点的信息转发表FIB表做相应修改。FIB同步消息队列中的数据包在发送以后打上时间戳,当数据面节点发送同步消息反馈给控制面节点报告各数据面节点同步更新完毕后控制面节点再删除该数据包。[0032]第二个机制,控制面节点动态查询同步数据面节点间转发表机制。查询的内容为数据面节点转发表表项总数,以及该hash表所有表项索引的校验和。控制面节点根据定时器Timerl,以Timerl清零时的时间值向FIB同步消息队列中添加一条查询消息。数据面节点在接收到该查询消息后,会将数据面节点此刻的FIB表项总数及HASH索引校验和与消息中的进行比对,一旦发现不同则向控制面节点返回错误。控制面节点收到该消息后会将Timerl内所有新学到的表项重新写入该数据面节点的FIB同步消息队列。该机制进一步保证了在主控节点与数据面节点通信压力较大的情况下,如果发生消息丢失的事件,可以第一时间进行消息重传,使各数据面节点间HB表一致。[0033]第三个机制,数据面节点流表、转发表失效保护机制。如果上述机制均出现问题,系统还设计了失效保护机制,即每24小时周期性会将控制面节点上所有的流表与FIB表项向数据面节点重新同步一次。一旦管理员发现表项不一致,还可以使用同步命令,使系统重新下发所有流表与FIB表项,最终实现数据面节点间流表与FIB表的一致,保证各数据面节点间流转发的正常进行。

权利要求:1.一种SDN中控制面表项与流表及各类转发表项转发同步的方法,针对SDN网络中控制平面和多个数据平面间的表同步,其特征在于,包括如下步骤:1通过对数据面物理节点进行转发表管理配置和下发生成SDN服务承载网,SDN服务承载网是一种特定的、为SDN各类业务承载建立的服务网络。2采用转发表定时批量更新机制、控制面节点动态查询同步数据面节点间转发表机制和数据面节点流表、转发表失效保护机制保证控制面节点与数据面节点之间流表与转发表在同步过程中保持一致,使业务在SDN服务承载网上正常传送。2.根据权利要求1所述的一种SDN中控制面表项与流表及各类转发表项转发同步的方法,其特征在于,通过对数据面物理节点进行转发表管理配置和下发生成SDN服务承载网,包括如下方面:1.1实现流表或转发表查找,查找算法包括地址前缀查找算法、二进制Trie树、缓存目的地址法、基于二分哈希树查找法。1.2实现控制层面表项和多个转发表的同步。3.根据权利要求1所述的一种SDN中控制面表项与流表及各类转发表项转发同步的方法,其特征在于,所述转发表定时批量更新机制,采用策略的定时批量更新保证各控制面节点流表和转发信息表的一致,包括如下方面:1数据面节点流表与转发表同步专用的同步消息队列2每隔Sms该时间点的选择视网络流量状况而定,可以修改间隔时间长度将固定数目的转发表更新消息下发一次。下发动作通过队列1来完成,所有同步动作由两个队列来完成,在两个队列之间采用有优先级的轮询方式。2每次从消息队列中取不超过100条的消息打包,以组播的形式将流表更新消息发送至所有数据面节点,数据面节点收到该消息后再经本地的流表、转发表管理与维护模块对数据面节点的信息转发表FIB表做相应修改。3发送FIB同步消息队列中的数据包后打上时间戳,当数据面节点发送同步消息反馈给控制面节点报告各数据面节点同步更新完毕后控制面节点再删除该数据包。^4.根据权利要求1所述的一种SDN中控制面表项与流表及各类转发表项转发同步的方法,其特征在于,所述控制面节点动态查询同步数据面节点间转发表机制,采用控制面节与动态查询机制来确保数据面节点间表的同步,包括如下方面:^1查询数据面节点转发表表项总数以及该HASH表所有表项索引的校验和。控制面节点根据定时器Timerl,以Timerl清零时的时间值向FIB同步消息队列中添加一条查询消息。;'''2数据面节点收到该查询消息后将数据面节点此刻的FIB表项总数及HASH索引校验和与消息中的进行比对,一旦发现不同则向控制面节点返回错误。控制面节点收到该消^后在FIB同步消息队列重新写入Timerl内所有新学到的表项。n5.根据权利要求1所述的一种SDN中控制面表项与流表及各类转发表项转发同步的方法,其特征在于,所述数据面节点流表、转发表失效保护机制,包括如下方面:1系统每24小时将控制面节点上所有的流表与FIB表项向数据面节点重新同步〜次。2管理员发现表项不一致,可使用同步命令使系统重新下发所有流表与HB表项,实现数据面节点间流表与FIB表的一致。’

百度查询: 浙江工商大学 一种SDN中控制面表项与流表及各类转发表项转发同步的方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。