CN105406992B - 一种面向sdn的业务需求转化和部署方法 - Google Patents

一种面向sdn的业务需求转化和部署方法 Download PDF

Info

Publication number
CN105406992B
CN105406992B CN201510709846.7A CN201510709846A CN105406992B CN 105406992 B CN105406992 B CN 105406992B CN 201510709846 A CN201510709846 A CN 201510709846A CN 105406992 B CN105406992 B CN 105406992B
Authority
CN
China
Prior art keywords
service function
network
strategy
condition
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.)
Active
Application number
CN201510709846.7A
Other languages
English (en)
Other versions
CN105406992A (zh
Inventor
董黎刚
费硕成
王伟明
郭凯强
张华飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Gongshang University
Original Assignee
Zhejiang Gongshang University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Gongshang University filed Critical Zhejiang Gongshang University
Priority to CN201510709846.7A priority Critical patent/CN105406992B/zh
Publication of CN105406992A publication Critical patent/CN105406992A/zh
Application granted granted Critical
Publication of CN105406992B publication Critical patent/CN105406992B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0889Techniques to speed-up the configuration process

Abstract

本发明公开了一种面向SDN的业务需求转化和部署方法。它主要包括以下步骤:1)根据用户提出的网络业务需求创建服务功能链;2)本地控制器向根控制器上报底层网络节点的资源状况;3)根控制器设计服务功能实例链;4)每一个服务功能实例解析解析为一个多状态的网络策略的选择机制;5)根控制器根据当前网络的状态,选择合适的网络策略下发给对应的本地控制器;6)本地控制器对同一网络节点上来自不同服务功能实例链的实例进行组合;7)本地控制器对同一网络策略中的复杂条件策略转化为若干简单条件策略;8)本地控制器将组合后的策略编译为OpenFlow流表;9)本地控制器将流表下发至底层网络节点,部署策略。

Description

一种面向SDN的业务需求转化和部署方法
技术领域
本发明涉及SDN(Software Defined Network,软件定义网络)网络策略管理,具体涉及一种简化SDN编程的业务需求转化和部署方法。
背景技术
现有网络体系架构庞大复杂,网络管理部署复杂度高,这与日益增长的网络规模和用户需求形成了尖锐的矛盾。软件定义网络(Software Defined Networking,SDN)提出了一种新型的网络架构,其基本特征之一,即是使用开放、标准的接口,如OpenFlow、ForCES(Forwarding and Control Element Separation),来替换各个设备供应商的私有配置语法,以达到简化网络配置任务的目的,这为未来网络的管理提供了一种新的解决方案。
SDN是一种新型的网络架构,其目标是简化网络控制和管理,通过网络的可编程性引导创新。在SDN网络中,网络管理人员不再需要用生成树等协议去管理各个设备,而是将网络的控制面移动到一个逻辑上集中的SDN控制器上,控制器则主要负责为网络设备作数据包转发等决策。网络管理人员可以在一个地点实现自动化集中式地网络管理和配置,无需经历费时费力的手工配置,避免使用分布式系统中为保持整体一致性而设计的复杂易错方案,能实现全局的优化;实现了网络资源动态,灵活的按需分配;对业务需求具有更快的响应,如流量工程、访问控制、创建虚拟网络、路由、策略等;底层设备只需关注转发和存储能力,因此可使用较廉价的通用架构设备来实现。
SDN通过使用这种开放、标准的接口来替换各个设备供应商的私有配置语法,以简化网络配置任务。但是,随着网络业务的数量不断增大,管理这些网络业务成为网络管理员的一大负担,原本的静态网络管理方法配置复杂不够灵活,并且对服务组合的描述严重依赖网络拓扑,当网络状态发生变化时都需要手动配置,大大增加了网络配置的工作量。因此,一种面向SDN的业务需求转化和部署方法是十分有必要的。
目前网络策略的编程语言包括Frenetic,NetCore,Pyretic,Procera,Kinetic。主要目的都是用少数抽象的高层次策略翻译成数量庞大、复杂的OpenFlow命令,从而提高网络应用的开发效率。但目前编程语言仅仅实现了局部的策略翻译,并没有给出整合整个网络部署过程。
发明内容
本发明的目的是设计一种面向SDN的业务需求转化和部署方法,基于服务功能链和网络状态监视,来实现在不同的网络状态下,根据要求动态地将抽象网络业务请求转化为具体网络设备策略并进行部署的方案。
为了自动应对不同网络设备、资源触发的网络事件(安全警报,系统错误,网络故障),我们设计了一种面向SDN的网络服务功能部署方法来实现自动化管理策略。核心思想是,提供一种基于“状态—事件”的虚拟网络策略部署方法并结合服务功能链技术组合多个服务策略实现策略的动态部署。将网络管理员从繁琐的配置工作中解放出来。我们使用形式化策略序列来描述服务功能,使用服务功能链组合服务功能并检测出策略之间的冲突,最后通过流表下发网络服务策略。发明创新点如下:
(1)提出基于服务功能的业务需求转化和部署方法,实现从业务需求到服务功能、服务功能实例、网络策略、流表的完整过程。
(2)本方法在原有高级网络编程语言的基础上扩充运算语言,提出了服务功能之间三种组合类型:无冲突,强冲突,弱冲突。
(3)提出动态网络策略管理方案,根据网络状态自适应选择网络策略。
(4)设计了一套组合方法,实现了同一网络节点上来自不同服务功能实例链的实例有效正确地进行组合。针对无冲突,强冲突,弱冲突三种组合类型,定义了五种组合方式:串行,分类并行,复制并行,合并,排他,有效实现了策略间的组合,解决了策略间的冲突问题,如表1所示。
实现网络服务功能部署的方案如下:
一种面向SDN的业务需求转化和部署方法,在SDN网络结构中,实现抽象的网络业务请求到具体的网络设备配置策略的转换并部署,并根据网络状态动态调整部署的网络策略方案,其方法包括以下步骤:
1-1)SDN网络结构由根控制器、本地控制器和网络节点组成。根控制器管理多个本地控制器,而本地控制器直接控制若干个网络节点,一个本地控制器可能受多个根控制器管理;
1-2)根控制器根据用户提出的网络业务需求创建服务功能链,同一服务功能链中服务功能间的关系为:分类并行,复制并行,串行;
1-3)本地控制器向根控制器上报底层网络节点的资源状况;
1-4)根控制器根据底层网络节点的资源状况和服务功能链信息设计服务功能实例链;
1-5)服务功能实例链中的每一个服务功能实例解析为一个针对多状态的网络策略的选择机制,每个网络策略对应一种网络状态下的一套网络配置;
1-6)根控制器根据当前网络的状态,选择合适的网络策略下发给对应的本地控制器;
1-7)本地控制器对同一网络节点上来自不同服务功能实例链的实例进行组合,组合类型有:无冲突,强冲突,弱冲突;组合方式有:串行,分类并行,复制并行,合并,排他;
1-8)本地控制器对同一网络策略中的复杂条件策略转化为只含“与”和“非”操作的若干简单条件策略。
1-9)本地控制器将组合后的策略编译为OpenFlow流表;
1-10)本地控制器将流表下发至底层网络节点,部署策略,如果部署成功跳转至步骤1-6,否则跳转至步骤1-3。
所述的步骤1-2)根控制器根据用户提出的网络业务需求创建服务功能链,同一服务功能链中服务功能间的关系为:
2-1)串行:两个服务功能有严格的执行顺序,前一个服务功能的输出是后一个的输入;
2-2)分类并行:数据包将根据分类要求分成若干流,分别经过并行的服务功能。
2-3)复制并行:在分类并行的基础上,部分数据包需要同时接受多个服务功能处理,这些数据包将复制多份,分别经过每个并行的服务功能。
所述的步骤1-4)根控制器根据底层网络节点的资源状况和服务功能链信息设计服务功能实例链。实施过程如下:
3-1)向用户获取创建服务功能链的特征,包括服务功能的位置、数量和顺序,所需CPU和带宽;
3-2)根据服务功能链的特征信息,通过本地控制器获取可选网络节点的资源状况,包括节点位置,CPU,带宽,链路延时,支持的服务功能;
3-3)基于服务功能链特征信息和网络节点资源状况,优化计算出服务功能实例链的特征信息。
所述的步骤1-6)根控制器根据当前网络的状态,选择合适的网络策略下发给对应的本地控制器。具体操作过程如下:
4-1)根控制器为每个服务功能实例建立一个“状态参数—阈值”表,每个表中包含服务功能实例敏感的参数及其设定的阈值;
4-2)根控制器为每个网络节点建立一个“参数—服务功能实例”表,每个表中包含该节点上被监测参数及相关的服务功能实例编号;
4-3)根控制器建立一个“状态参数监视表”,该表是服务功能实例编号、本地控制器编号、网络节点编号、“状态参数—阈值”表地址的对应表;
4-4)查询“状态参数监视表”,根控制器通过本地控制器,将每个服务功能敏感的网络状态参数和阈值发送给其实例相关的网络节点;
4-5)当网络状态发生改变,且某参数匹配阈值时,网络节点通过本地控制器发送一个事件消息给根控制器;
4-6)当根控制器接收到事件消息后,查询“参数—服务功能实例”表获得对应的服务功能实例编号,然后从该服务功能实例对应的策略集合中选择特定的网络策略序列下发给对应的本地控制器。
所述的步骤1-7)本地控制器对同一网络节点上来自不同服务功能实例链的实例进行组合,组合类型有:无冲突,强冲突,弱冲突;组合方式有:串行,分类并行,复制并行,合并,排他;
5-1)本地控制器根据参与组合的服务功能的条件和动作来判断策略组合的类型。无冲突组合类型:参与组合的服务功能条件无交集,或者条件有交集且动作一样。强冲突组合类型:参与组合的服务功能条件有交集,且至少一方的动作为丢包。弱冲突组合类型:参与组合的服务功能条件有交集,且动作均为不同目的的转发;
5-2)本地控制器根据参与组合的服务功能的组合类型和动作来判断功能间的组合方式。当服务功能间的动作一致时,组合方式为:合并(合并操作对条件进行“或”操作,动作与参与组合的服务功能保持一致)。当服务功能间组合类型为无冲突,动作却不一致时,组合方式为分类并行。当服务功能间的组合类型为强冲突时,组合方式可以根据用户要求选择排他(只执行其中一方的动作)或者串行。当服务功能间的组合类型为弱冲突时,组合方式可以根据用户要求选择排他、串行或者复制并行。
所述的步骤1-8)本地控制器对同一网络策略中的复制条件策略转化为只含“与”和“非”操作的若干简单条件策略。其具体转化过程如下:
6-1)本地控制器判断每条策略中的条件是否为包含“或”、“差”和“括号”符号的组合条件,拥有组合条件的网络策略称为复杂条件网络策略。将该网络节点上所有复杂条件网络策略提取出所有不含“或”、“差”和“括号”符号的简单条件网络策略;
6-2)为每条简单条件策略的末尾加上缺省条件(该简单条件策略都未覆盖的部分),形成简单条件策略序列;
6-3)任选两个简单条件策略序列进行条件组合生成简单条件策略序列(按照条件覆盖范围大小由小到大进行排序),在执行条件组合时把“或”、“差”转换成“与”、“非”进行运算;
6-4)重复执行6-3)操作,直到只有一个简单条件策略序列为止。
所述的步骤1-9)本地控制器将组合后的策略编译为OpenFlow流表。具体步骤如下:
7-1) 将策略条件和动作翻译为对应流表元组项,每一个条件或动作对应一个元组项;
7-2) 每一条简单条件策略转化为一条流表项,根据策略在简单条件策略序列中的先后顺序为流表项添加优先级;
7-3)每一个服务功能实例对应一张流表。
附图说明
图1 为H学院网络拓扑图;
图2 为H学院的服务功能链SFC-1,SFC-2,SFC-3;
图3为 服务功能实例链的映射;
图4 为SFC-1服务功能链“状态参数—阈值”表;
图5 为S1上的“参数—服务功能实例”表;
图6 为S2上的“参数—服务功能实例”表;
图7为 服务功能链的“状态参数监视表”;
图8 为服务功能实例链组合情况。
具体实施方式
以下通过附图和具体实施方式对本发明做进一步的说明。
转发策略管理系统,将高层次抽象策略自动转换成具体的网络设备配置,步骤如下:
1、一种面向SDN的业务需求转化和部署方法,在SDN网络结构中,实现抽象的网络业务请求到具体的网络设备配置策略的转换并部署,并根据网络状态动态调整部署的网络策略方案,其方法包括以下步骤:
1-1)SDN网络结构由根控制器、本地控制器和网络节点组成。根控制器管理多个本地控制器,而本地控制器直接控制若干个网络节点,一个本地控制器可能受多个根控制器管理;
1-2)根控制器根据用户提出的网络业务需求创建服务功能链,同一服务功能链中服务功能间的关系为:分类并行,复制并行,串行;
1-3)本地控制器向根控制器上报底层网络节点的资源状况;
1-4)根控制器根据底层网络节点的资源状况和服务功能链信息设计服务功能实例链;
1-5)服务功能实例链中的每一个服务功能实例解析为一个针对多状态的网络策略的选择机制,每个网络策略对应一种网络状态下的一套网络配置;
1-6)根控制器根据当前网络的状态,选择合适的网络策略下发给对应的本地控制器;
1-7)本地控制器对同一网络节点上来自不同服务功能实例链的实例进行组合,组合类型有:无冲突,强冲突,弱冲突;组合方式有:串行,分类并行,复制并行,合并,排他;
1-8)本地控制器对同一网络策略中的复杂条件策略转化为只含“与”和“非”操作的若干简单条件策略;
1-9)本地控制器将组合后的策略编译为OpenFlow流表;
1-10)本地控制器将流表下发至底层网络节点,部署策略,如果部署成功跳转至步骤1-6,否则跳转至步骤1-3;
所述的步骤1-2)根控制器根据用户提出的网络业务需求创建服务功能链,同一服务功能链中服务功能间的关系为:
2-1)串行:两个服务功能有严格的执行顺序,前一个服务功能的输出是后一个的输入;
2-2)分类并行:数据包将根据分类要求分成若干流,分别经过并行的服务功能;
2-3)复制并行:在分类并行的基础上,部分数据包需要同时接受多个服务功能处理,这些数据包将复制多份,分别经过每个并行的服务功能;
所述的步骤1-4)根控制器根据底层网络节点的资源状况和服务功能链信息设计服务功能实例链。实施过程如下:
3-1)向用户获取创建服务功能链的特征,包括服务功能的位置、数量和顺序,所需CPU和带宽;
3-2)根据服务功能链的特征信息,通过本地控制器获取可选网络节点的资源状况,包括节点位置,CPU,带宽,链路延时,支持的服务功能;
3-3)基于服务功能链特征信息和网络节点资源状况,优化计算出服务功能实例链的特征信息。
所述的步骤1-6)根控制器根据当前网络的状态,选择合适的网络策略下发给对应的本地控制器。具体操作过程如下:
4-1)根控制器为每个服务功能实例建立一个“状态参数—阈值”表,每个表中包含服务功能实例敏感的参数及其设定的阈值;
4-2)根控制器为每个网络节点建立一个“参数—服务功能实例”表,每个表中包含该节点上被监测参数及相关的服务功能实例编号;
4-3)根控制器建立一个“状态参数监视表”,该表是服务功能实例编号、本地控制器编号、网络节点编号、“状态参数—阈值”表地址的对应表;
4-4)查询“状态参数监视表”,根控制器通过本地控制器,将每个服务功能敏感的网络状态参数和阈值发送给其实例相关的网络节点;
4-5)当网络状态发生改变,且某参数匹配阈值时,网络节点通过本地控制器发送一个事件消息给根控制器;
4-6)当根控制器接收到事件消息后,查询“参数—服务功能实例”表获得对应的服务功能实例编号,然后从该服务功能实例对应的策略集合中选择特定的网络策略下发给对应的本地控制器。
所述的步骤1-7)本地控制器对同一网络节点上来自不同服务功能实例链的实例进行组合,组合类型有:无冲突,强冲突,弱冲突;组合方式有:串行,分类并行,复制并行,合并,排他;
5-1)本地控制器根据参与组合的服务功能的条件和动作来判断策略组合的类型。无冲突组合类型:参与组合的服务功能条件无交集,或者条件有交集且动作一样。强冲突组合类型:参与组合的服务功能条件有交集,且至少一方的动作为丢包。弱冲突组合类型:参与组合的服务功能条件有交集,且动作均为不同目的的转发;
5-2)本地控制器根据参与组合的服务功能的组合类型和动作来判断功能间的组合方式。当服务功能间的动作一致时,组合方式为:合并(合并操作对条件进行“或”操作,动作与参与组合的服务功能保持一致)。当服务功能间组合类型为无冲突,动作却不一致时,组合方式为分类并行。当服务功能间的组合类型为强冲突时,组合方式可以根据用户要求选择排他(只执行其中一方的动作)或者串行。当服务功能间的组合类型为弱冲突时,组合方式可以根据用户要求选择排他、串行或者复制并行。
所述的步骤1-8)本地控制器对同一网络策略中的复制条件策略转化为只含“与”和“非”操作的若干简单条件策略。其具体转化过程如下:
6-1)本地控制器判断每条策略中的条件是否为包含“或”、“差”和“括号”符号的组合条件,拥有组合条件的网络策略称为复杂条件网络策略。将该网络节点上所有复杂条件网络策略提取出所有不含“或”、“差”和“括号”符号的简单条件网络策略;
6-2)为每条简单条件策略的末尾加上缺省条件(该简单条件策略都未覆盖的部分),形成简单条件策略序列;
6-3)任选两个简单条件策略序列进行条件组合生成简单条件策略序列(按照条件覆盖范围大小由小到大进行排序),在执行条件组合时把“或”、“差”转换成“与”、“非”进行运算;
6-4)重复执行6-3)操作,直到只有一个简单条件策略序列为止。
所述的步骤1-9)本地控制器将组合后的策略编译为OpenFlow流表。具体步骤如下:
7-1) 将策略条件和动作翻译为对应流表元组项,每一个条件或动作对应一个元组项;
7-2) 每一条简单条件策略转化为一条流表项,根据策略在简单条件策略序列中的先后顺序为流表项添加优先级;
7-3)每一个服务功能实例对应一张流表。
实施例
下面以A大学H学院对网络流量进行流量管理、负载均衡以及流量审计业务为例,对业务需求转化和部署方法过程进行说明。
如图1所示,本实施例网络拓扑由1台核心交换机,2台SDN交换机S1和S2,5台服务器,和若干主机/终端设备组成。全网分为六个网段,网段1:网络研究所(10.20.4.0/24);网段2:研究生实验室(10.20.5.0/24);网段3:云实验室(10.20.6.0/24);网段4:云实验室服务器组(10.20.7.0/24)。网段4中的4台服务器是用来运行云实验室操作系统的。网段5:审计服务器(10.20.8.0/24),可以根据管理员需要选择性地备份数据包,进行事后审计。网段6:数据服务器(10.20.9.0/24),这台数据服务器负责整个学院的数据存储。云实验室服务器组网段通过一台SDN交换机与学院主干网络连接,可实现云实验室流量的均衡分配。网段1-3通过一台SDN交换机实现互联,所有六个网段通过学院核心交换机与学院主干网络连通。
第一步,SDN网络结构由根控制器、本地控制器和网络节点组成。根控制器管理多个本地控制器,而本地控制器直接控制若干个网络节点,一个本地控制器可能受多个根控制器管理。在本实施例中有一个根控制器,一个本地控制器,两个SDN的网络节点。
第二步,根控制器根据用户提出的网络业务需求创建服务功能链,同一服务功能链中服务功能间的关系为:分类并行,复制并行,串行。在本实施例中,用户提出三个业务需求,需求1:对网段1-3的网络终端和主机进行流量管理;需求2:实现网段4云实验室服务器组的负载均衡;需求3:对访问网段6数据服务器的流量进行审计。根控制器将建立三条服务功能链SFC-1,SFC-2和SFC-3。服务功能链SFC-1中包含“用户认证(SF1)”和“流量管理(SF2)”两个串行连接的服务功能;SFC-2中包含“用户认证(SF1)”和“负载均衡(SF3)”两个串行连接的服务功能;SFC-3中包含“用户认证(SF1)”和“流量审计(SF4)”两个串行连接的服务功能。
服务功能链中包含的四个服务功能描述具体如下:
(1)“用户认证( Authentication,缩写Auth)”服务功能用于管理和授权上网人员,只有通过认证的用户名和IP号才能访问网络信息。H学院对研究所(10.20.4.0/24)、研究生实验室(10.20.5.0/24)、云实验室终端(10.20.6.0/24)三个网段实行用户认证,该服务功能可以减少“非法”流量,同时方便管理用户权限。
(2)“流量管理(Traffic Management,缩写TM)”服务功能,为了确保云实验室终端有访问云服务器的速度足够快,将视情况限制访问数据服务器的流量。
(3)“负载均衡(Server_Loadbalance,缩写LB)”服务功能根据服务器的延时情况,将云实验室终端连接到延时最小的服务器上。
(4)“流量审计(Traffic Audit,缩写TA)”服务功能为确保数据安全,对访问数据服务器(10.20.9.1)的数据流进行审计。
我们构建的三条服务功能链分别对应三个业务需求,三条服务功能链结构如图2所示:
第三步,本地控制器向根控制器上报底层网络节点的资源状况。本地控制器首先确定网络拓扑中SDN交换机数量有2台,名称分别为S1和S2,通过Sflow模块(http://www.sflow.org/)获取交换机的位置(IP地址),CPU和带宽状况。S1的CPU性能指标为=500MIPS,交换机S2的CPU性能指标为 =700MIPS。链路带宽=100Mbps。
第四步,根控制器根据底层网络节点的资源状况和服务功能链信息设计服务功能实例链。
1.向用户获取创建服务功能链的特征。如表2所示:
说明1:V1和V2为两个虚拟节点。
说明2:SF1>>SF2表示串行关系(SF1必须在SF2之前执行);SF1||SF2表示分类并行关系;SF1⊕SF2表示复制并行关系。
2.根据服务功能链的特征信息,通过本地控制器获取可选网络节点的资源状况。拓扑中可选的网络节点为S1和S2。
3.基于服务功能链特征信息和网络节点资源状况,优化计算出服务功能实例链的特征信息。通过优化计算可以得出虚拟节点V1、V3、V5和V6映射到网络节点S1,虚拟节点V2和V4映射到网络节点S2。交换机S1上执行服务功能实例“用户认证”、“流量管理”和“流量审计”,交换机S2上执行“流量管理”和“负载均衡”。以下是服务功能实例链。
SFC-1= Auth(S1)>>TM(S1)>>TM(S2)
SFC-2= Auth(S1)>>LB(S2)
SFC-3=Auth(S1)>>TA(S1)
到此为止,完成了服务功能链到服务功能实例链的映射,如图3所示。接下去的工作是部署服务功能实例链。
第五步服务功能实例链中的每一个服务功能实例解析为一个针对多状态的网络策略的选择机制,每个网络策略对应一种网络状态下的一套网络配置。以下是四个服务功能的多状态的网络策略选择机制:
1.“用户认证”服务功能要求只有通过认证的“合法”账户才可以访问网段4中的服务器。针对多状态的网络策略的选择机制如下(以下代码采用python编写)。
_auth_flows = self.get_policy(‘authenticated')#获取账号的认证状态。
= if_(match_auth_flows, self.allow_policy(),self.drop)# 如果认证通过则执行转发,若认证不通过则执行丢包。
p1;
2.“流量管理”服务功能要求,对网段1,2,3中的终端/主机进行流量监视,当访问数据服务器速率过高时要限制其流量,针对多状态的网络策略的选择机制如下:
match_fast_flows = self.get_policy('fast') #判断流量是否属于过大
match_slow_flows = self.get_policy('slow') #判断流量是否属于正常
p1 = if_(match_fast_flows, self.fastpath()) #流量过大,禁止访问数据服务器
p2 = if_(match_slow_flows, self.slowpath()) #流量正常,允许访问数据服务器
return p1+p2;
3.“负载均衡”服务功能要求比较四台服务器A,B,C,D的网络延时,找到一条延时最小的链路。针对多状态的网络策略的选择机制是:
serverA_flows = self.get_delaytime('sa')#获取服务器A的延时
serverB_flows = self.get_delaytime('sb') #获取服务器B的延时
serverC_flows = self.get_delaytime('sc') #获取服务器C的延时
serverD_flows = self.get_delaytime('sd') #获取服务器D的延时
a=[serverA_flows, serverB_flows, serverC_flows, serverD_flows]
a.sort()
server_choice=a[:1] #选取延时最小的服务器
p1=if_(serverA_flows=server_choice,self.serverA_policy());#若最小延时服务器为A,则将数据包转发到服务器A上,以下三行类似。
p2=if_(serverB_flows=server_choice,self.serverB_policy());
p3=if_(serverC_flows=server_choice,self.serverC_policy());
p4=if_(serverD_flows=server_choice,self.serverD_policy());
return p1+p2+p3+p4;
策略通过serverA_flows = self.get_delaytime('sa')函数获取对应的服务器上的延时,再通过a.sort()和server_choice=a[:1]函数获取延时最小的服务器。
4. “流量审计”服务功能审计访问数据服务器(10.20.9.1)的数据流。来确保数据服务器的安全。流量管理中的审计功能不需要多状态选择机制,故直接确定策略。
=match(switch=S1)& match(DstAddr=10.20.9.1&SrcAddr=10.20.0.0/16)[fwd(5)] #目标地址为数据服务器的数据包转发到5号端口审计。
第六步根控制器根据当前网络的状态,选择合适的网络策略下发给对应的本地控制器。
1.根控制器为每个服务功能实例建立一个“状态参数—阈值”表,如图4,其中用户认证,负载均衡,流量管理三个服务功能对应的状态参数分别是“认证值”,“最小时延云服务器”和“数据服务器流量”。图4是三个服务功能的“状态参数—阈值”表。以“最小时延云服务器”为例,阈值为A服务器时延最小(SER_A), B服务器时延最小(SER_B), C服务器时延最小(SER_C), D服务器时延最小(SER_D)。
“参数—服务功能实例”表。为S1,S2建立的“参数—服务功能实例”表如图5,图6所示。
“状态参数监视表”。如图7所示。
4.查询“状态参数监视表”,根控制器通过本地控制器,将每个服务功能敏感的网络状态参数和阈值发送给其实例相关的网络节点。比如根控制器通过查询“状态参数监视表”获取 “用户认证”服务功能敏感的网络参数是“认证值”,以及合法与非法两个阈值。根控制器将这些信息下发到网络节点S1对应的1号本地控制器。同理在其他两个服务功能上也执行类似的操作。
5.当网络状态发生变化,且某参数匹配阈值时,网络节点通过本地控制器发送一个事件消息给根控制器。例如,当数据服务器访问流量小于2Mbps时,匹配上“<2M”阈值。网络节点发送事件消息给根控制器。
6.当根控制器接收到事件消息后,查询“参数—服务功能实例”表获得对应的服务功能实例编号,然后从该服务功能实例对应的策略集合中选择特定的网络策略下发给对应的本地控制器。比如收到数据服务器访问流量小于2Mbps触发的事件消息后,查表获得服务功能编号为SF3,然后根据状态选择执行“self.slowpath()”。
下面是每个服务功能在当前状态下需要发到本地控制器的网络策略:
(1)“用户认证”服务功能会阻止未通过认证的终端/主机发出的数据包,比如网段1中IP为10.20.4.5的PC机无法通过认证,该主机发出的数据包将被丢弃,其余终端/主机发送的数据包都能通过。在当前状态下,“用户认证”业务功能将对这两种数据包分别执行“self.drop”和 “self.allow_policy()”语句,从而下发以下策略:
match(SrcAddr=10.20.0.0/16\(SrcAddr:10.20.4.5))[fwd(1)];#将源地址为10.20.0.0/16的三个网段(除了10.20.4.5主机)的数据包从S1的端口1发送出去。
(2)“流量管理”服务功能也会在不同状态下为网络设备下发不同的网络设备策略。当前状态下发现访问数据服务器(10.20.9.1)的流量过大,因此只允许网段1(10.20.4.0/24)或网段3(10.20.6.0/24)的主机/终端访问数据服务器,因此当前状态下,“流量管理”服务功能对源地址是网段2的数据包执行“fastpath()”,对源地址是网段1或3的数据包执行“slowpath()”,从而下发以下策略:
match(switch=S1)&match(SrcAddr=10.20.4.0/24|SrcAddr=10.20.6.0/24)[fwd(1)]#源地址是网段1和网段3的主机可以通过S1的端口1发送至数据服务器
match(switch=S2)&match(SrcAddr=10.20.4.0/24|SrcAddr=10.20.6.0/24)[fwd(5)] #源地址是网段1和网段3的主机可以通过S2的端口5发送至数据服务器。
(3)“负载均衡”服务功能会查找当前状态下延时最小的服务器 ,并将访问服务器的云实验室终端连接到这个延时最小的服务器上。假如目前状态下服务器D拥有最小延时100ms,策略将把云实验室终端的流量都连接到服务器D上。在当前状态下,“负载均衡”服务功能将对普通数据包执行“self.serverD_policy()”语句,从而下发以下策略:
match(DstAddr=10.20.7.0/24)[fwd(4)]#将目标地址为10.20.7.0/24的数据包从S2的端口4发送出去,到服务器D。
(4)“流量审计”服务功能在S1上执行数据包审计工作,因此下发P3策略:
match(switch=S1)& match(DstAddr=10.20.9.1 & SrcAddr=10.20.0.0/16)[fwd(5)]
下面我们汇总一下三个服务功能下发给两个网络节点的网络策略:
Auth(S1):match(SrcAddr =10.20.0.0/16\( SrcAddr:10.20.4.5))[fwd(1)]
TM(S1):match(SrcAddr=10.20.4.0/24|SrcAddr=10.20.6.0/24)[fwd(1)]
TA(S1):match(DstAddr=10.20.9.1 & SrcAddr=10.20.0.0/16)[fwd(5)]
TM(S2):match(SrcAddr=10.20.4.0/24|SrcAddr=10.20.6.0/24)[fwd(5)]
LB(S2):match(DstAddr=10.20.7.0/24)[fwd(4)]
说明:当执行Auth(S1)>>TM(S1)时,“>>”前一个服务功能的动作[fwd(1)]将改为[fwd(TM(S1))]操作。
第七步,本地控制器对同一网络节点上来自不同服务功能实例链的实例进行组合,组合类型有:无冲突,强冲突,弱冲突;组合方式有:串行,分类并行,复制并行,合并,排他;
1. 本地控制器根据参与组合的服务功能的条件和动作来判断策略组合的类型。无冲突组合类型:参与组合的服务功能条件无交集,或者条件有交集且动作一样。强冲突组合类型:参与组合的服务功能条件有交集,且至少一方的动作为丢包。弱冲突组合类型:参与组合的服务功能条件有交集,且动作均为不同目的的转发。
(1)网络节点S1上的来自三条服务链的“用户认证”服务功能条件有交集,动作一致,属于无冲突类型。“用户认证”服务功能和“流量管理”服务功能条件有交集,交集部分动作为丢包或转发,属于强冲突类型。“用户认证”服务功能和“流量审计”服务功能条件有交集,交集部分转发动作不一致,属于弱冲突类型。“流量管理”服务功能和“流量审计”服务功能条件有交集,交集部分转发动作不一致,属于弱冲突类型。
(2)网络节点S2上“负载均衡”服务功能和“流量审计”服务功能条件有交集,交集部分转发动作不一致,属于弱冲突类型。
2. 本地控制器根据参与组合的服务功能的组合类型和动作来判断功能间的组合方式。当服务功能间的动作一致时,组合方式为:合并(合并操作对条件进行“或”操作,动作与参与组合的服务功能保持一致)。当服务功能间组合类型为无冲突,动作却不一致时,组合方式为分类并行。当服务功能间的组合类型为强冲突时,组合方式可以根据用户要求选择排他(只执行其中一方的动作)或者串行。当服务功能间的组合类型为弱冲突时,组合方式可以根据用户要求选择排他、串行或者复制并行。
(1)网络节点S1上来自三条服务链的“用户认证”服务功能条件动作都一样,组合方式为:合并;“用户认证”服务功能和“流量管理”服务功能属于强冲突,组合方式为:串行,串行顺序根据用户要求决定,此实施例中为先执行用户认证后执行流量管理;“用户认证”服务功能和“流量审计”服务功能属于弱冲突,组合方式为:串行,串行顺序先执行用户认证,后执行流量审计;“流量管理”服务功能和“流量审计”服务功能属于弱冲突,组合方式为:复制并行。
(2)网络节点S2上“负载均衡”服务功能和“流量审计”服务功能属于弱冲突,组合方式:串行,串行顺序先执行流量管理,再执行负载均衡。
到此服务功能实例在网络节点上的组合情况如下图8所示:
第八步:本地控制器对同一网络策略中的复杂条件策略转化为只含“与”和“非”操作的若干简单条件策略。
1. 本地控制器判断每条策略中的条件是否为包含“或”、“差”和“括号”符号的组合条件,拥有组合条件的网络策略称为复杂条件网络策略。将该网络节点上所有复杂条件网络策略提取出所有不含“或”、“差”和“括号”符号的简单条件网络策略。
“用户认证”服务功能为复杂条件策略:
Auth(S1):match(SrcAddr =10.20.0.0/16\( SrcAddr:10.20.4.5))[fwd(1)]
从复杂条件网络策略可以提取出2个简单条件:
e1= SrcAddr =10.20.0.0/16;
e2= SrcAddr=10.20.4.5
2.为每条简单条件策略的末尾加上缺省条件(该简单条件策略都未覆盖的部分),形成简单条件策略序列
T1(s1,e1)=<SrcAddr =10.20.0.0/16:true>#“true”代表该条件下需要执行策略动作。
<*:false> #“*”表示缺省条件,“false”代表缺省条件下不执行策略动作。
T1(s1,e2)=<SrcAddr=10.20.4.5:true>
<*:false>
依照上文1和2两个步骤同理可得“流量管理”的简单条件策略序列。
“流量管理”在网络节点S1上的复杂条件策略如下
TM(S1):match(SrcAddr=10.20.4.0/24|SrcAddr=10.20.6.0/24)[fwd(1)]
“流量管理”在S1的简单条件策略序列。
e1= SrcAddr =10.20.4.0/24
e2= SrcAddr=10.20.6/24
T2(s1,e1)=<(Dstaddr=10.20.4.0/24):true>
<*:false>
T2(s1, e2)=<(SrcAddr=10.20.6/24):true>
<*:false>
“流量管理”在网络节点S2上复杂条件策略如下:
TM(S2):match(SrcAddr=10.20.4.0/24|SrcAddr=10.20.6.0/24)[fwd(5)]
“流量管理”在S2上的简单条件策略序列:
e1= SrcAddr =10.20.4.0/24
e2= SrcAddr=10.20.6/24
T2(s2,e1)=<(Dstaddr=10.20.4.0/24):true>
<*:false>
T2(s2, e2)=<(SrcAddr=10.20.6/24):true>
<*:false>
同理可得“负载均衡”的简单条件序列。
“负载均衡”在网络节点S2上的策略不是复杂条件策略:
LB (S2):match(DstAddr=10.20.7.0/24)[fwd(4)]
其为“负载均衡”策略添加缺省条件,直接成为简单条件策略序列:
e1= Dstaddr=10.20.7.0/24
T3(s1,e1)=<(Dstaddr=10.20.7.0/24):true>#同时满足两个条件的情况不执行策略动作。
<*:false> #满足此条件下执行策略动作。
“流量审计”在网络节点S2上复杂条件策略如下
TA(S1)=match(DstAddr=10.20.9.1 & SrcAddr=10.20.0.0/16)[fwd(5)]
“流量审计”的简单条件策略序列。
e1= Dstaddr=10.20.9.1
e2= SrcAddr=10.20.0.0/16
T4(s1,e1)=<(Dstaddr=10.20.9.1):true>
<*:false>
T4(s1, e2)=<(SrcAddr=10.20.0.0/16):true>
<*:false>
3. 任选两个简单条件策略序列进行条件组合生成简单条件策略序列(按照条件覆盖范围大小由小到大进行排序),在执行条件组合时把“或”、“差”转换成“与”、“非”进行运算。
(1)“用户认证”服务功能中两个简单条件策略序列进行组合,并对结果按照条件覆盖范围大小由小到大进行排序形成不含”或”、“差”的条件策略序列。
T1(s1, e1∩¬e2)=<(Srcaddr=10.20.0.0/16∩Srcaddr=10.20.4.5):false>#同时满足两个条件的情况不执行策略动作。
<(Srcaddr=10.20.0.0/16):ture>#满足此条件下执行策略动作。
<(Srcaddr=10.20.4.5):false>#满足此条件下不执行策略动作。
<*:false>#缺省条件不执行策略动作
为简单条件策略序列添加对应的动作。Ω代表缺省简单条件策略的动作,可以根据管理员需求定义为“丢包”或者“重定向”,此处定义为丢包。以下为“用户认证”的化简后的简单条件策略序列。
P1(s1, e1∩¬e2)=<(Srcaddr=10.20.0.0/16∩ Srcaddr=10.20.4.5):Ω>
<(Srcaddr=10.20.0.0/16):fwd(TM,TA)>
<(Srcaddr=10.20.4.5):Ω>
<*:Ω>
(2)“流量管理”服务功能中。在网络节点S1上两个简单条件执行策略组合。根据集合运算规律组合获得不含”或”、“差”的简单条件策略序列。
T2(s1, e1∪e2)=<(Dstaddr=10.20.4.0/24∩SrcAddr=10.20.6/24):true>
<Dstaddr=10.20.4.0/24:true>
<SrcAddr=10.20.6/24:true>
<*:false>
为简单条件添加对应的动作,生成简单策略序列。
P2(s1, e1∪e2)=<(Dstaddr=10.20.4.0/24∩SrcAddr=10.20.6/24):fwd(1)>
<Dstaddr=10.20.4.0/24:fwd(1)>
<SrcAddr=10.20.6/24:fwd(1)>
<*:Ω>
在网络节点S2上两个简单条件执行策略组合。根据集合运算规律组合获得不含”或”、“差”的简单条件策略序列。
T2(s2, e1∪e2)=<(Dstaddr=10.20.4.0/24∩SrcAddr=10.20.6/24):true>
<Dstaddr=10.20.4.0/24:true>
<SrcAddr=10.20.6/24:true>
<*:false>
为简单条件添加对应的动作,生成简单策略序列。
P2(s2, e1∪e2)=<(Dstaddr=10.20.4.0/24∩SrcAddr=10.20.6/24):fwd(LB)>
<Dstaddr=10.20.4.0/24:fwd(LB)>
<SrcAddr=10.20.6/24:fwd(LB)>
<*:Ω>
(3)“负载均衡”功能中简单条件策略序列为:
T3(s1,e1)=<(Dstaddr=10.20.7.0/24):true>#同时满足两个条件的情况不执行策略动作。
<*:false> #满足此条件下执行策略动作。
为简单条件添加对应的动作,生成简单策略序列:
P3(s1,e1)=<(Dstaddr=10.20.7.0/24):fwd(4)>
<*:Ω>
(4)“流量审计”服务功能中,在网络节点S1上两个简单条件执行策略组合。根据集合运算规律组合获得不含”或”、“差”的简单条件策略序列。。
T2(s1, e1∩e2)=<(Dstaddr=10.20.9.1∩SrcAddr=10.20.0.0/16):true> (条件组合)
<(Dstaddr=10.20.9.1):false>
<(SrcAddr=10.20.0.0/16):false>
<*:false>
为简单条件添加对应的动作,生成简单策略序列:
P2(s1, e1∩e2)=<(Dstaddr=10.20.9.1∩ SrcAddr=10.20.0.0/16):fwd(5)>
<(Dstaddr=10.20.9.1):Ω>
<(SrcAddr=10.20.0.0/16):Ω>
<*:Ω>
4. 重复执行6-3)操作,直到只有一个简单条件策略序列为止。至此为止,每条复杂条件策略已经转化成一个简单条件序列。
到目前为止,S1和S2上的服务功能实例链可以用以下表达式表达:
P(s1)= P1(s1, e1∩¬e2)>>[P2(s1, e1∪e2)⊕ P2(s1, e3∩e4)]
P(s2)= P2(s2, e1∪e2) >> P3(s2,e1)
第九步,本地控制器将组合后的策略编译为OpenFlow流表。
1. 将策略条件和动作翻译为对应流表元组项,每一个条件或动作对应一个元组项。根据表3中的对应关系,将服务功能实例中简单条件网络策略序列的条件和动作翻译成元组项。
2. 每一条策略转化为一条流表项,根据策略在策略序列中策略中的先后顺序为流表项添加优先级。
3. 每一个服务功能实例对应一张流表。下面我们将S2上的“负载均衡”服务功能实例下的若干策略转化为流表作为示例。
策略:P3(s1,e1)=<(Dstaddr=10.20.7.0/24):fwd(4)>
<*:Ω>
流表:
cookie=0x0, duration=59.411s, table=0, n_packets=0, n_bytes=0, idle_age=59, priority=59995,vlan_tci=0x0000 actions=drop #缺省条件匹配的数据包,执行丢包操作。
=0x0, duration=59.411s, table=0, n_packets=0, n_bytes=0, idle_age=59,priority=59998,ip,vlan_tci=0x0000,nw_dst=10.20.7.0/24 actions=output:4 #目标地址为10.20.7.0/24的IP #数据包,从端口4转发出去。
=0x0, duration=59.411s, table=0, n_packets=0, n_bytes=0, idle_age=59,priority=59996,arp,vlan_tci=0x0000,arp_tpa=10.20.7.0/24 actions=output:4 #目标地址为10.20.7.0/24的ARP #数据包,从端口4转发出去。
=0x0, duration=59.411s, table=0, n_packets=0, n_bytes=0, idle_age=59,priority=59997,arp,in_port=4,vlan_tci=0x0000,arp_tpa=10.20.7.0/24 actions=IN_PORT #从端口4进入,目标地址为10.20.7.0/24的ARP数据包,依然从端口4转发出去
cookie=0x0, duration=59.411s, table=0, n_packets=0, n_bytes=0, idle_age=59, priority=59999,ip,in_port=4,vlan_tci=0x0000,nw_dst=10.20.7.0/24actions=IN_PORT #从端口4进入,目标地址为10.20.7.0/24的IP数据包,依然从端口4转发出去
cookie=0x0, duration=59.411s, table=0, n_packets=0, n_bytes=0, idle_age=59, priority=0 actions=CONTROLLER:65535 #无法匹配的转发到控制器,重定向。
第十步,本地控制器将流表下发至底层网络节点,部署策略。

Claims (6)

1.一种面向SDN的业务需求转化和部署方法,其特征在于,在SDN网络结构中,实现抽象的网络业务请求到具体的网络设备配置策略的转换并部署,并根据网络状态动态调整部署的网络策略方案,其方法包括以下步骤:
1-1)SDN网络结构由根控制器、本地控制器和网络节点组成,根控制器管理多个本地控制器,而本地控制器直接控制若干个网络节点;
1-2)根控制器根据用户提出的网络业务需求创建服务功能链,同一服务功能链中服务功能间的关系为:分类并行、复制并行、串行;
1-3)本地控制器向根控制器上报底层网络节点的资源状况;
1-4)根控制器根据底层网络节点的资源状况和服务功能链信息设计服务功能实例链;
1-5)服务功能实例链中的每一个服务功能实例解析为一个针对多状态的网络策略的选择机制,每个网络策略对应一种网络状态下的一套网络配置;
1-6)根控制器根据当前网络的状态,选择合适的网络策略下发给对应的本地控制器;
1-7)本地控制器对同一网络节点上来自不同服务功能实例链的实例进行组合,组合类型包括:无冲突、强冲突、弱冲突;组合方式包括:串行、分类并行、复制并行、合并、排他;
1-8)本地控制器对同一网络策略中的复杂条件策略转化为只含与和非操作的若干简单条件策略;
1-9)本地控制器将组合后的策略编译为OpenFlow流表;
1-10)本地控制器将流表下发至底层网络节点,部署策略,如果部署成功跳转至步骤1-6),否则跳转至步骤1-3);
所述的步骤1-6)根控制器根据当前网络的状态,选择合适的网络策略下发给对应的本地控制器,具体操作过程如下:
4-1)根控制器为每个服务功能实例建立一个“状态参数—阈值”表,每个表中包含服务功能实例敏感的参数及其设定的阈值;
4-2)根控制器为每个网络节点建立一个参数—服务功能实例表,每个表中包含该节点上被监测参数及相关的服务功能实例编号;
4-3)根控制器建立一个状态参数监视表,该表是服务功能实例编号、本地控制器编号、网络节点编号、状态参数—阈值表地址的对应表;
4-4)查询状态参数监视表,根控制器通过本地控制器,将每个服务功能敏感的网络状态参数和阈值发送给其实例相关的网络节点;
4-5)当网络状态发生改变,且某参数匹配阈值时,网络节点通过本地控制器发送一个事件消息给根控制器;
4-6)当根控制器接收到事件消息后,查询参数—服务功能实例表获得对应的服务功能实例编号,然后从该服务功能实例对应的策略集合中选择特定的网络策略下发给对应的本地控制器。
2.根据权利要求1所述的方法,其特征在于,所述的步骤1-2)根控制器根据用户提出的网络业务需求创建服务功能链,同一服务功能链中服务功能间的关系为:
2-1)串行:两个服务功能有严格的执行顺序,前一个服务功能的输出是后一个的输入;
2-2) 分类并行:数据包将根据分类要求分成若干流,分别经过并行的服务功能;
2-3)复制并行:在分类并行的基础上,部分数据包需要同时接受多个服务功能处理,这些数据包将复制多份,分别经过每个并行的服务功能。
3.根据权利要求1所述的方法,其特征在于,所述的步骤1-4)根控制器根据底层网络节点的资源状况和服务功能链信息设计服务功能实例链,实施过程如下:
3-1)向用户获取创建服务功能链的特征,包括服务功能的位置、数量和顺序,所需CPU和带宽;
3-2)根据服务功能链的特征信息,通过本地控制器获取可选网络节点的资源状况,包括节点位置,CPU,带宽,链路延时,支持的服务功能;
3-3)基于服务功能链特征信息和网络节点资源状况,优化计算出服务功能实例链的特征信息。
4.根据权利要求1所述的方法,其特征在于,所述的步骤1-7)本地控制器对同一网络节点上来自不同服务功能实例链的实例进行组合,组合类型包括:无冲突、强冲突、弱冲突;组合方式包括:串行、分类并行、复制并行、合并、排他;
5-1)本地控制器根据参与组合的服务功能的条件和动作来判断策略组合的类型,无冲突组合类型:参与组合的服务功能条件无交集,或者条件有交集且动作一样;强冲突组合类型:参与组合的服务功能条件有交集,且至少一方的动作为丢包;弱冲突组合类型:参与组合的服务功能条件有交集,且动作均为不同目的的转发;
5-2)本地控制器根据参与组合的服务功能的组合类型和动作来判断功能间的组合方式;当服务功能间的动作一致时,组合方式为:合并,即合并操作对条件进行或操作,动作与参与组合的服务功能保持一致;当服务功能间组合类型为无冲突,动作却不一致时,组合方式为分类并行;当服务功能间的组合类型为强冲突时,组合方式可以根据用户要求选择排他或者串行,当服务功能间的组合类型为弱冲突时,组合方式可以根据用户要求选择排他、串行或者复制并行。
5.根据权利要求1所述的方法,其特征在于,所述的步骤1-8)本地控制器对同一网络策略中的复制条件策略转化为只含与和非操作的若干简单条件策略,其具体转化过程如下:
6-1)本地控制器判断每条策略中的条件是否为包含或、差和括号符号的组合条件,拥有组合条件的网络策略称为复杂条件网络策略,将该网络节点上所有复杂条件网络策略提取出所有不含有或、差和括号符号的简单条件网络策略;
6-2)为每条简单条件策略的末尾加上缺省条件,该简单条件策略都未覆盖的部分,形成简单条件策略序列;
6-3)任选两个简单条件策略序列进行条件组合生成简单条件策略序列,按照条件覆盖范围大小由小到大进行排序,在执行条件组合时把或、差转换成与、非进行运算;
6-4)重复执行6-3)操作,直到只有一个简单条件策略序列为止。
6.根据权利要求1所述的方法,其特征在于,所述的步骤1-9)本地控制器将组合后的策略编译为OpenFlow流表,具体步骤如下:
7-1) 将策略条件和动作翻译为对应流表元组项,每一个条件或动作对应一个元组项;
7-2) 每一条简单条件策略转化为一条流表项,根据策略在简单条件策略序列中的先后顺序为流表项添加优先级;
7-3)每一个服务功能实例对应一张流表。
CN201510709846.7A 2015-10-28 2015-10-28 一种面向sdn的业务需求转化和部署方法 Active CN105406992B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510709846.7A CN105406992B (zh) 2015-10-28 2015-10-28 一种面向sdn的业务需求转化和部署方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510709846.7A CN105406992B (zh) 2015-10-28 2015-10-28 一种面向sdn的业务需求转化和部署方法

Publications (2)

Publication Number Publication Date
CN105406992A CN105406992A (zh) 2016-03-16
CN105406992B true CN105406992B (zh) 2018-11-09

Family

ID=55472255

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510709846.7A Active CN105406992B (zh) 2015-10-28 2015-10-28 一种面向sdn的业务需求转化和部署方法

Country Status (1)

Country Link
CN (1) CN105406992B (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170317886A1 (en) * 2016-05-02 2017-11-02 Huawei Technologies Co., Ltd. Systems and Methods for Configuring a Radio Access Network Process in a Communications Network
CN106850726B (zh) * 2016-06-20 2019-11-15 北京交通大学 基于sdn的云数据中心负载可感知的请求路由方法
CN107925624B (zh) 2016-07-01 2021-02-23 华为技术有限公司 基于业务功能链sfc的报文转发方法、装置和系统
CN107645400B (zh) * 2016-07-22 2019-09-03 中兴通讯股份有限公司 策略发送、接收方法、装置及控制器
US11134010B2 (en) 2016-08-03 2021-09-28 Schneider Electric Industries Sas Industrial software defined networking architecture for deployment in a software defined automation system
US11349881B2 (en) 2016-08-05 2022-05-31 Alcatel Lucent Security-on-demand architecture
CN106570099A (zh) * 2016-10-24 2017-04-19 上海斐讯数据通信技术有限公司 Portal页面中媒体文件的存储及获取方法、Portal服务器及终端
CN108092934A (zh) * 2016-11-21 2018-05-29 中国移动通信有限公司研究院 安全服务系统及方法
CN106656579B (zh) * 2016-11-29 2019-11-05 浙江工商大学 一种基于服务功能冲突预防的虚拟网络规划方法
CN106899662B (zh) * 2017-02-06 2020-05-15 中山大学 一种异种智能传感网协作通信的通用平台
CN108418776B (zh) * 2017-02-09 2021-08-20 上海诺基亚贝尔股份有限公司 用于提供安全业务的方法和设备
CN106953744A (zh) * 2017-02-27 2017-07-14 浙江工商大学 一种sdn集群控制器高可用架构设计方法
CN107124303B (zh) * 2017-04-19 2020-08-04 电子科技大学 低传输时延的服务链优化方法
CN107483286B (zh) * 2017-08-14 2021-01-26 电子科技大学 一种基于云-雾环境下合并和部署服务功能链的方法
CN108092803B (zh) * 2017-12-08 2020-07-17 中通服咨询设计研究院有限公司 网络功能虚拟化环境中实现网元级并行化服务功能的方法
CN108200202B (zh) * 2018-02-06 2019-11-12 电子科技大学 一种应用于云雾计算网络的服务功能链安全部署方法
CN109379441A (zh) * 2018-12-07 2019-02-22 华中科技大学 一种云环境中服务链规则组合方法及系统
CN110673097B (zh) * 2019-10-24 2022-01-18 浙江工商大学 利用音频到达时间差对空间中发声物体的定位方法
CN110855651B (zh) * 2019-11-05 2021-12-24 中盈优创资讯科技有限公司 一种基于流量驱动的访问控制策略的自动生成方法及系统
US11509578B2 (en) * 2019-12-13 2022-11-22 Cisco Technology, Inc. Flexible policy semantics extensions using dynamic tagging and manifests
CN112311895B (zh) * 2020-11-12 2022-10-11 中国电子科技集团公司第五十四研究所 一种基于sdn的透明模式tcp流负载均衡方法及设备
CN113114594B (zh) * 2021-03-23 2023-04-07 中国联合网络通信集团有限公司 一种策略生成方法及装置、存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103986663A (zh) * 2014-05-08 2014-08-13 中国联合网络通信集团有限公司 数据中心及其实现数据处理的方法和网络控制器
CN104243240A (zh) * 2014-09-23 2014-12-24 电子科技大学 一种基于OpenFlow的SDN流量测量方法
CN104348727A (zh) * 2013-08-05 2015-02-11 杭州华三通信技术有限公司 OpenFlow网络中的流表表项处理方法及设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104348727A (zh) * 2013-08-05 2015-02-11 杭州华三通信技术有限公司 OpenFlow网络中的流表表项处理方法及设备
CN103986663A (zh) * 2014-05-08 2014-08-13 中国联合网络通信集团有限公司 数据中心及其实现数据处理的方法和网络控制器
CN104243240A (zh) * 2014-09-23 2014-12-24 电子科技大学 一种基于OpenFlow的SDN流量测量方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
SDN控制器中网络转发策略管理研究;张华飞;《中国优秀硕士论文全文数据库》;20150531;第3.6.5节,图3-10 *
Service Function Chaining (SFC) Architecture draft-ietf-sfc- architecture-10;J.Halpern et al;《Network Working Group Internet-Draft》;20150724;第4-5节 *
基于性能模型的服务链构建方法及自动化研究;盛权;《中国优秀硕士学位论文全文数据库》;20140803;第2.1-2.2.3节,图2-3、2-9、2-10、2-11、2-12 *

Also Published As

Publication number Publication date
CN105406992A (zh) 2016-03-16

Similar Documents

Publication Publication Date Title
CN105406992B (zh) 一种面向sdn的业务需求转化和部署方法
KR101473783B1 (ko) 터널링을 이용한 다이나믹 서비스 체이닝 제어 방법 및 장치
Fernandez Evaluating OpenFlow controller paradigms
CN107819742B (zh) 一种动态部署网络安全服务的系统架构及其方法
CN103763367A (zh) 一种云计算数据中心分布式虚拟网络设计方法及系统
CN105684365A (zh) 利用软件定义流映射和虚拟化的网络功能的网络控制
Zhang et al. Enabling efficient service function chaining by integrating NFV and SDN: architecture, challenges and opportunities
CN106105115A (zh) 网络环境中由服务节点始发的服务链
Babbar et al. A genetic load balancing algorithm to improve the QoS metrics for software defined networking for multimedia applications
Zhang et al. A box-covering-based routing algorithm for large-scale SDNs
CN108259387A (zh) 一种通过交换机构建的交换系统及其路由算法
Chou et al. A security service on-demand architecture in SDN
Olimjonovich Software Defined Networking: Management of network resources and data flow
KR101746105B1 (ko) 서비스 체이닝이 가능한 오픈플로우 스위치
Khan et al. Data visualization of software-defined networks during load balancing experiment using floodlight controller
Bedhief et al. From evaluating to enabling sdn for the internet of things
CN105794156A (zh) 通信系统、通信方法、网络信息组合装置以及网络信息组合程序
CN109586973A (zh) 基于普适标识网络体系的数据流跳变传输方法
CN106100960A (zh) 跨存储区域网络Fabric互通的方法、装置及系统
Peros et al. Dynamic QoS support for IoT backhaul networks through SDN
Rashid et al. Performance evaluation of software-defined networking controllers in wired and wireless networks
CN104885417A (zh) 控制装置、通信系统、通信节点控制方法以及程序
Chaturvedi et al. Comparative Analysis of Traditional Virtual-LAN with Hybrid Software Defined Networking Enabled Network
Grønsund et al. A solution for SGi-LAN services virtualization using NFV and SDN
Zhang et al. Programmable Service System Based on SIDaaS in Computing Power Network

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