基于SDN的业务链编排方法及业务链拓扑结构与流程

文档序号:14953049发布日期:2018-07-17 22:59阅读:320来源:国知局

本发明涉及一种通信技术领域,具体地说,涉及一种在软件定义网络(softwaredefinednetwork,sdn)中实现业务链数据流调度的方法,还涉及一种对应的sdn控制器。



背景技术:

业务链是指一组由网络功能构成的链,即一组服务的有序集合,其可执行对通信流的过滤,转换,检查等操作,从而提供如防火墙,网络地址转换(nat),深度包检测(dpi)等网络功能。

近年来,随着云计算技术发展,云环境中对增值业务的动态编排、可迁移及可编程性提出了强烈需求。传统数据中心中,增值业务被静态部署在固定位置,导致业务链变更时需要更新网络拓扑并进行重新部署和配置,增加了管理维护的成本。

针对以上问题,现有技术在数据中心网络通过隧道引流或者传统路由或者二层转发技术将通信流引导至网络设备来实现业务链功能。由于二者均未有标准化的技术及过程,各厂商实现技术及支持情况不统一,且基于隧道引流容易出现最大传输单元(mtu)过大的问题。



技术实现要素:

本发明所要解决的技术问题是针对上述缺陷,本发明提供了一种实现业务链的拓扑结构,方法及系统。

本发明为解决上述技术问题采用以下技术方案:

基于sdn的业务链编排方法,所述编排方法在用户对拟实例化的业务流链路需求的基础上,根据当前拓扑数据获取业务流路径对应节点信息(对应交换机接口及设备mac地址),组装业务路径通信流表下发至路径经过的交换设备,通过流表指导交换设备对指定数据流修改数据包包头内容,并转发至对应设备。

进一步的,所述方法具体包括以下步骤:

步骤1,获取业务链需求,确认业务流的匹配特征及其所经过的中间设备有序集合,根据业务链需求,生成逻辑链路模型,建立业务链流表并下发至交换设备;

步骤2,在交换设备处接收到数据包,根据所述数据包的源mac地址、目标mac地址和接收端口在转发表中查找匹配的规则;

步骤3,响应于在转发表中找到匹配的规则,对该数据包的源mac地址和目标mac地址执行匹配的规则中指定的修改或恢复操作,并通过匹配的规则中指定的转发端口转发数据包。

进一步的,步骤2中,所述转发表中的规则指定了数据包的源mac地址、目标mac地址和接收端口与将对数据包的目标mac地址执行的修改或恢复操作,以及指定了数据包的转发端口之间的映射。

进一步的,所述修改操作包括:将该数据包的目标mac地址修改为业务链中下一跳的中间设备的指定mac地址;

所述恢复操作包括:将该数据包的修改后的目标mac地址恢复为该包的原始目标mac地址,并将该数据包的修改后的源mac地址恢复为该数据包的原始源mac地址。

一种业务链拓扑结构,所述结构包括:提供网络功能的中间设备,支持对通信流二层帧头,三层报文头识别的交换设备和控制器;所述中间设备连接交换设备,所述控制器连接所述交换设备。

所述控制器为sdn控制器,具体包括用户输入单元,业务链管理单元,中间设备管理单元,交换设备管理单元,包处理模块和流表处理模块;其中,

所述用户输入单元,负责接收用户拟实例化的业务链的参数;

所述业务链管理单元,负责根据用户输入的业务链参数,计算业务链的资源需求,并从中间设备管理器获取中间设备mac地址,从交换设备管理器获取交换设备id及相关端口信息资源,根据用户拟定的业务链路径,将路径所经过的设备信息封装为业务链路径单元,并将处理后的业务链路径提交至流表处理模块形成业务链流表;

所述中间设备管理单元,负责管理与获取业务链所经过中间设备资源,包括于中间设备类型,mac地址资源;

所述交换设备管理单元,负责管理与获取业务链通信流转发所经过的交换设备资源,包括交换设备id,流表,数据流统计资源;

所述数据包处理模块,其被配置为:响应于从交换机接收到的数据包,根据该数据包的源mac地址和目标mac地址以及所述业务链确定数据包所属的业务链及其当前在业务链的位置,从而确定将包的目标mac地址执行修改操作以及包的转发端口,形成映射规则,并通过所确定的路径转发该数据包;将所形成的流表规则发送给交换机。

所述流表处理模块,负责响应业务链管理单元下发的业务链配置规则,并转换为相关转发规则下发给业务链所经过的交换设备。

进一步的,所述业务链的参数包括业务链匹配流特征参数、业务链中间设备需求。

进步一点,所述修改操作包括:将该数据包的目的mac地址修改为业务链中下一跳中间设备的mac地址,若当前位置下一跳为最终目的,则修改为数据包原始目的mac地址,并将数据包的源mac地址修改为原始源mac地址。

本发明采用以上技术方案与现有技术相比,具有以下技术效果:

本发明的实现业务链配置的方法和装置,流终端设备及中间设备所接收到的通信流保持原始格式,不影响现有网络转发,传统网络转发及处理设备可直接接入业务链集成并一起工作;转发规则由控制器产生并下发至交换设备,不需要对交换设备进行配置,在变更及增删业务链时不需要对网络拓扑进行变更。

附图说明

图1为本发明的实施例提供的业务链拓扑示意图;

图2为本发明的实施例提供的业务链编排方法的一种示意图;

图3为本发明的实施例的sdn控制器的结构框图及运行所在的sdn网络体系结构图;

图4为二层包结构示意图;

图5为根据本发明的实施例修改后的包结构示意图。

具体实施方式

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

本发明实例提供的一种业务链编排方法,能够根据不同的业务需求实例化服务链,并自动进行业务链配置下发及通信流测试分析。

如图1所示,本发明实例提供的业务链编排系统的一种基本拓扑结构包括:控制器101,交换设备102和中间设备103,所述控制器可以为sdn控制器,负责获取网络拓扑结构,接收业务链请求,并下发业务链配置及流表;所述中间设备可以为防火墙,dpi,nat等设备。本发明实例主要应用在网络出口解决方案中,包含但不限于数据中心出口,园区网出口,接入网vims并作为该解决方案的核心技术。

如图2所示,本发明实例提供的业务链编排方法的一种示意图包括:

步骤201、获取用户业务链编排需求,确定业务链实例化的资源需求;

步骤202、根据业务链需求,生成逻辑链路模型;

步骤203、根据适配的逻辑链路模型,对应拓扑环境,建立业务链流表并下发至交换设备;

为了进一步理解本发明实施例提供的业务链编排系统的结构,划分图1中的控制器为不同的单元及模块,图3所示为本发明实施例提供的业务链编排系统的一种细化的结构示意图。控制器包括用户输入单元,业务链管理单元,中间设备管理单元,交换设备管理单元,数据包(下简称包)处理模块和流表处理模块六个部分;

1)所述用户输入单元,负责接收用户拟实例化的业务链的参数;在具体实现中,用户输入单元包括业务链匹配流特征参数、业务链中间设备需求等;

2)所述业务链管理单元,负责根据用户输入的业务链参数,计算业务链的资源需求,并从中间设备管理器获取中间设备mac地址,从交换设备管理器获取交换设备id及相关端口信息等资源,并将处理后的业务链路径提交至流表处理模块形成业务链流表;

3)所述中间设备管理单元,负责管理与获取业务链所经过中间设备资源,包括但不限于中间设备类型,mac地址等资源;

4)所述交换设备管理单元,负责管理与获取业务链通信流转发所经过的交换设备资源,包括但不限于交换设备id,流表,数据流统计等资源;

5)所述包处理模块,其被配置为:响应于从交换机接收到的包,根据该包的源mac地址和目标mac地址以及所述业务链确定包所属的业务链及其当前在业务链的位置,从而确定将包的目标mac地址执行修改操作以及包的转发端口,形成映射规则,并通过所确定的转发转发该包;将所形成的流表规则发送给交换机。其中,所述修改操作包括:将该包的目的mac地址修改为业务链中下一跳中间设备的mac地址,若当前位置下一跳为最终目的,则修改为包原始目的mac地址,并将包的源mac地址修改为原始源mac地址。

6)所述流表处理模块,负责响应业务链管理单元下发的业务链配置规则,并转换为相关转发规则下发给业务链所经过的交换设备。

如图4所示,为二层包结构示意图。

如图5所示,本发明实例提供的业务链编排方法通过定义流表实现对进入交换机的数据帧二层头部的修改,即将目的mac地址修改为下一跳中间设备或者终端设备的mac地址。

以上参照附图说明了根据本发明的实施例的sdn控制器,应指出的是,以上描述仅为示例,而不是对本发明的限制。在本发明的其他实施例中,该sdn控制器可具有更多、更少或不同的模块且模块间连接和功能等关系可与所述和图示的不同。

根据本发明的各实施例的技术方案的优点包括以下一项或多项:流终端设备及中间设备所接收到的通信流保持原始格式,不影响现有网络转发,传统网络转发及处理设备可直接接入业务链集成并一起工作;转发规则由控制器产生并下发至交换设备,不需要对交换设备进行配置,在变更及增删业务链时不需要对网络拓扑进行变更。因此业务链的部署将是容易和轻巧的;此外,转发规则可由sdn控制器动态更新,提供了灵活的性能和安全支持。

第一方面,提供了一种业务链拓扑结构,包括:提供网络功能的中间设备,支持对通信流二层帧头,三层报文头识别的交换设备和控制器。所述中间设备连接交换设备,所述控制器连接所述交换设备。

所述控制器用于通过openflow协议定义的安全通道与所述交换设备连接,通过协议获取设备端口信息。所述控制器通过openflow协议向所述设备下发流规则,通过流规则修改进入所述交换设备的通信流的目的mac地址,并定义流转发操作,建立所述通信流有序经过所述中间设备的业务链。

所述交换设备连接用于作为通信流入口及连接所述中间设备,提供所述业务链通信流的数据转发及修改能力。

第二方面,提供了一种实现业务链的方法,包括以下步骤:

步骤1、获取业务链需求,确认业务流匹配特征及其所经过的中间设备有序集合。交换设备接收到所述业务链数据包并将该包的目的mac地址修改为下一跳中间设备的mac地址,并转发至下一跳中间设备对应端口。流表通过指导交换设备匹配指定包头信息,并执行规定动作,实现对指定数据流的操作。

本发明提供的业务链流表结构如下所示,匹配规则通过“matchfield”定义,执行动作通过“instructions”定义。

步骤2、在交换机处接收到包,根据该包的源mac地址、目标mac地址和接收端口在转发表中查找匹配的规则,其中,转发表中的规则指定了包的源mac地址、目标mac地址和接收端口与将对包的目标mac地址执行的修改或恢复操作和包的转发端口之间的映射。

步骤3、响应于在转发表中找到匹配的规则,对该包的源mac地址和目标mac地址执行匹配的规则中指定的修改或恢复操作,并通过匹配的规则中指定的转发端口转发该包,其中,所述修改操作包括:将该包的目标mac地址修改为该业务链中下一跳的中间盒的指定mac地址,并且其中,所述恢复操作包括:将该包的修改后的目标mac地址恢复为该包的原始目标mac地址,并将该包的修改后的源mac地址恢复为该包的原始源mac地址。

第三方面,提供了一种实现业务链的sdn控制器,包括:业务链管理器,通过维护业务链表管理业务链,所述业务链表包含业务链标识与业务链的中间盒列表之间的映射。本发明的实施例提供的业务链拓扑结构、业务链设置方法和控制器,通过将各个节点设备直接连接到交换设备上,由控制器基于与所述交换设备建立的开放流openflow协议对所述交换设备进行端口发现;再由控制器还基于对所述交换设备的端口发现通过在所述交换设备中的流表项中,设置业务流流入所述交换设备的上一个节点设备,并且设置所述业务流流出所述交换设备的下一个节点设备,控制所述交换设备将业务流引流至对应的节点设备,使每一条所述业务流的流入节点设备和流出节点设备之间连接所述交换设备,建立所述上一个节点设备和所述下一个节点设备之间的业务链,当需要改变业务链路径时,只要修改流表项即可,不必对整个业务链物理结构进行改变。解决了现有业务链根据报文路径来部署业务节点的方式不灵活的问题。

实施例1

该实施例提供了一个业务链的应用案例。在数据中心或园区网出口,一个数据流通常需要通过多个网络服务设备,例如ids/ips,防火墙,lb,等,最终才能到达目的端。这些网络设备,即本方案所述中间设备。本方案通过所述业务链编排方法,将外部访问流量导入中间设备,实现网络安全防护业务。

由以上技术方案可见,本发明的实现业务链配置的方法和装置,流终端设备及中间设备所接收到的通信流保持原始格式,不影响现有网络转发,传统网络转发及处理设备可直接接入业务链集成并一起工作;转发规则由控制器产生并下发至交换设备,不需要对交换设备进行配置,在变更及增删业务链时不需要对网络拓扑进行变更。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1