CN109873724A - 应用于sdn网络的服务链高可用方法 - Google Patents
应用于sdn网络的服务链高可用方法 Download PDFInfo
- Publication number
- CN109873724A CN109873724A CN201910147965.6A CN201910147965A CN109873724A CN 109873724 A CN109873724 A CN 109873724A CN 201910147965 A CN201910147965 A CN 201910147965A CN 109873724 A CN109873724 A CN 109873724A
- Authority
- CN
- China
- Prior art keywords
- service
- service function
- function
- switch
- chaining
- 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.)
- Granted
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种应用于SDN网络的服务链高可用方法,包括:分别为SDN网络中的每个SDN交换机的上行方向和下行方向构建网络服务功能链路;分别为每个网络服务功能链路构建服务功能路径;分别为每个服务功能路径构建确定的服务功能路径;分别为所有确定的服务功能路径构建服务功能转发者图;根据每一幅服务功能转发者图,分别计算OpenFlow流表集合,通过创建服务功能路径,构建服务功能转发者图,计算出OpenFlow流标集合,解决跨交换机的流量牵引问题,并在不同交换机上的服务功能(SF)之间进行流量分配,达到在交换机以及服务功能两个层面解决单点故障、负载均衡等问题,实现服务链的高可用性,提高网络通信效率。
Description
技术领域
本发明涉及网络通信技术领域,具体涉及一种应用于SDN网络的服务链高可用方法。
背景技术
端到端服务的交付通常需要各种服务功能包括传统的网络服务功能(SF)(比如,防火墙和服务器负载平衡器等),以及特定于应用程序的功能,例如HTTP应用防火墙等。
服务功能当前的部署模型通常很紧密耦合到网络拓扑和物理资源,从而导致相对刚性和静态部署,限制了网络运维者引入新的或修改现有的服务功能。此外还有一个层叠效应:修改服务链中的一个或多个服务往往会影响链中的其他服务。这个问题在需要相对迅速的部署、解构或移动物理、虚拟服务功能的网络环境中尤为突出。另外,向虚拟平台的过渡需要在现有网络中,支持敏捷服务接入模型,例如支持弹性和非常细粒度的服务部署,事后修改以及移动服务功能和应用负载。
基于SDN技术的服务链(SFC),能够很好的解决上述传统的服务部署面临的诸多限制,提供敏捷、可靠的服务接入模型。但是由于服务链技术的复杂性,目前应用基本上都是基于单台SDN交换机,存在单点故障的风险以及多交换机的负载均衡等问题。
相关术语:
OpenFlow,网络通信协议,能够控制网络交换器或路由器的转发平面(forwardingplane),借此改变网络数据包所走的网络路径。
SDN(Software-defined networking),软件定义网络是一种新型网络架构,它利用OpenFlow协议将路由器的控制平面(control plane)从数据平面(data plane)中分离,改以软件方式实现。该架构可使网络管理员在不更动硬件设备的前提下,以中央控制方式用程序重新规划网络,为控制网络流量提供了新方案,也为核心网络和应用创新提供了良好平台。
SFC(Service Function Chain),服务链交换机链路,利用SDN技术创建的包含多个网络服务(比如防火墙、NAT、IDS)的链路。
SF(Service Function),服务功能,在SFC中的网络服务功能节点,比如一个防火墙。
SFG(Service Function Group),服务功能组,一组SF的集合。
SFF(Service Function Forwarder),SF转发者,用于SF接收、发送网络流量
SFP(Service Function Path),服务功能路径,包含各个SF的逻辑链路
RSP(Rendered Service Path),确定的服务功能路径,由SFP生成的一条没有分叉的逻辑链路。
发明内容
为解决上述技术问题,本发明提出了一种应用于SDN网络的服务链高可用方法,以达到在交换机以及服务功能两个层面解决单点故障、负载均衡等问题,实现服务链的高可用性,提高网络通信效率的目的。
为达到上述目的,本发明的技术方案如下:一种应用于SDN网络的服务链高可用方法,所述方法包括:
步骤1:分别为服务链中的每个SDN交换机在网络流量的上行方向和下行方向构建服务链交换机链路;
步骤2:分别为步骤1中构建的每个服务链交换机链路构建服务功能路径;
步骤3:分别为步骤2中构建的每个服务功能路径构建确定的服务功能路径;
步骤4:分别为步骤3中构建的所有确定的服务功能路径构建服务功能转发者图,即以网络功能服务对象为节点、以服务功能转发者连接线为边的有向图;
步骤5:根据步骤4构建的每一幅服务功能转发者图,分别计算OpenFlow流表集合。
进一步地,所述分别为服务链中的每个SDN交换机在网络流量的上行方向和下行方向构建服务链交换机链路具体为:为每个SDN交换机及其交换机上的服务功能和服务功能组,分别创建上行、下行服务链交换机链路,该链路包含了服务功能和服务功能组及其相对位置关系。
进一步地,所述为步骤1中构建的每个服务链交换机链路构建服务功能路径具体为:遍历每个服务链交换机链路上的所有服务功能和服务功能组:根据服务功能创建新的服务功能对象,插入到该服务功能所在路径中对应的位置上;根据服务功能组,遍历服务功能组中的所有服务功能,创建新的服务功能对象,插入到该服务功能组所在路径中对应的位置上。
进一步地,所述为步骤2中构建的每个服务功能路径构建确定的服务功能路径具体为:排列组合得到服务功能路径的每个位置上的服务功能对象,将服务功能对象按位置顺序插入到确定的服务功能路径中。
进一步地,所述为步骤3中构建的所有确定的服务功能路径构建服务功能转发者图具体为:根据服务功能之间的流向,遍历确定的服务功能路径中每个服务功能对象,基于每个服务功能对象遍历此对象之前的功能服务对象,创建连接两个功能服务对象与功能服务对象之间的边。
进一步地,所述根据步骤4构建的每一幅服务功能转发者图,分别计算OpenFlow流表集合具体为:通过服务功能转发者图的每条边映射成OpenFlow的转发流表。
本发明具有如下优点:
(1).本发明通过创建服务功能路径,构建服务功能转发者图,计算出OpenFlow流标集合,解决跨交换机的流量牵引问题,并在不同交换机上的服务功能(SF)之间进行流量分配,从而在交换机以及服务功能两个层面解决单点故障、负载均衡等问题,从而实现服务链的高可用性。
(2).本发明保证网络流量被正确牵引至各个服务功能中;并在切换Openflow流表集合时,保证网络链接不中断。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例公开的服务功能链路示意图;
图2为本发明实施例公开的SFC交换机链路(上行)示意图;
图3为本发明实施例公开的SFC交换机A链路(上行)/SFP示意图;
图4为本发明实施例公开的SFC交换机A链路(上行)/RSP的同交换机和跨交换机示意图;
图5为本发明实施例公开的SFF Graph示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本发明提供了一种应用于SDN网络的服务链高可用方法,其工作原理是通过创建服务功能路径,构建服务功能转发者图,计算出OpenFlow流标集合,解决跨交换机的流量牵引问题,并在不同交换机上的服务功能(SF)之间进行流量分配,达到在交换机以及服务功能两个层面解决单点故障、负载均衡等问题,实现服务链的高可用性,提高网络通信效率。
下面结合实施例和具体实施方式对本发明作进一步详细的说明。
一种应用于SDN网络的服务链高可用方法,所述方法包括:
步骤1:分别为服务链中的每个SDN交换机在网络流量的上行方向和下行方向构建服务链交换机链路;
步骤2:分别为步骤1中构建的每个服务链交换机链路构建服务功能路径;
步骤3:分别为步骤2中构建的每个服务功能路径构建确定的服务功能路径;
步骤4:分别为步骤3中构建的所有确定的服务功能路径构建服务功能转发者图,即以网络功能服务对象为节点、以服务功能转发者连接线为边的有向图;
步骤5:根据步骤4构建的每一幅服务功能转发者图,分别计算OpenFlow流表集合。
其中,所述分别为服务链中的每个SDN交换机在网络流量的上行方向和下行方向构建服务链交换机链路具体为:为每个SDN交换机及其交换机上的服务功能和服务功能组,分别创建上行、下行服务链交换机链路,该链路包含了服务功能和服务功能组及其相对位置关系。
其中,所述为步骤1中构建的每个服务链交换机链路构建服务功能路径具体为:遍历每个服务链交换机链路上的所有服务功能和服务功能组:根据服务功能创建新的服务功能对象,插入到该服务功能所在路径中对应的位置上;根据服务功能组,遍历服务功能组中的所有服务功能,创建新的服务功能对象,插入到该服务功能组所在路径中对应的位置上。
其中,所述为步骤2中构建的每个服务功能路径构建确定的服务功能路径具体为:排列组合得到服务功能路径的每个位置上的服务功能对象,将服务功能对象按位置顺序插入到确定的服务功能路径中。
其中,所述为步骤3中构建的所有确定的服务功能路径构建服务功能转发者图具体为:根据服务功能之间的流向,遍历确定的服务功能路径中每个服务功能对象,基于每个服务功能对象遍历此对象之前的功能服务对象,创建连接两个功能服务对象与功能服务对象之间的边。
其中,所述根据步骤4构建的每一幅服务功能转发者图,分别计算OpenFlow流表集合具体为:通过服务功能转发者图的每条边映射成OpenFlow的转发流表。
如图1所示,假设服务链使用两台交换机,分别为SDN交换机A和SDN交换机B;每个交换机上分别部署一个服务功能,分别为SF_A和SF_B;同时部署服务功能组SFG_X;两交换机之间有一条物理链接作为HA链路,用于跨交换机流量在交换机之前的互转通道。
服务功能(SF)只能处理所在交换机的流量;服务功能组(SFG)中的SF,可以同时处理来自不同交换机的流量。
如图2所示,为每个交换机以及在网络流量的上行、下行方向上,分别构建SFC交换机链路;按上述服务链部署为例,将构建出4条SFC交换机链路,分别为:SFC交换机A链路(上行)/SFC交换机B链路(上行)/SFC交换机A链路(下行)/SFC交换机B链路(下行);每条SFC交换机链路包含了一个服务功能SF_A或者SF_B,并共同拥有服务功能组SFG_X(及其包含的SF)。
如图3所示,根据构建出的所有SFC链路,分别构建SFP;以其中一条SFC链路:SFC交换机A链路(上行)为例,说明如何构建SFP。
根据SFC链路创建SFP,SFC链路中的每一个SF或者SFG在SFP中都对应一个位置;SFP中每个位置可以插入多个SF对象。
遍历该条SFC链路中的所有SF和SFG;
如果存在SF,且在SFC链路中的位置为I,则根据SF生成新的SF对象,把新生成的对象插入SFP对应的位置I。
如果存在SFG,且在SFC链路中的位置为II,则查找SFG包含的所有的SF,遍历这些SF生成新的SF对象,插入SFP对应的位置II。
如图4所示,根据构建出的所有SFP,分别构建RSP。
在SFP中,流量可以从SF_A流向SFG/SF_A,也可以是从SF_A流向SFG/SF_B,RSP的目的是构建一条明确的网络流量路径。该路径是从SFP中SF对象的重新排列组合生成,以其中一条SFP:SFC交换机A链路(上行)/SFP为例,说明如何构建RSP。
遍历该条SFP中的所有SF对象
排列组合得到SFP在每个位置上的SF对象
创建RSP,把这些对象按位置顺序插入RSP。
结果如下图所示,根据SFC交换机A链路(上行)/SFP最终生成两条RSP:SFC交换机A链路(上行)/RSP,SFC交换机A链路(上行)/RSP(跨交换机)。
SFC交换机A链路(上行)/RSP,流量从SF_A流向SFG/SF_A。
SFC交换机A链路(上行)/RSP(跨交换机),流量从SF_A流向SFG/SF_B(通过HA链路),并重新回到交换机A(再次通过HA链路)。
如图5所示,根据构建出的所有RSP,分别构建SFF Graph图,即构建基于SF为节点、SFF连接线为边的流向图,SFF对象用交换机/端口描述为:SF_A/SFF(OUT)->AF_B/SFF(IN)即可描述途中的一条边,这条边即可映射为OpenFlow的一条流表。
每条RSP在逻辑上,都具有SF_A流向SF_B->…->SF_N的形式,每个SF_N都可以从它之前的SF对象牵引流量,具体算法如下。
遍历该条RSP中的所有SF对象对于每个SF_X,在该条RSP上遍历SF_X之前的所有SF_Y;
创建边SF_Y/SFF(OUT)->SF_X/SFF(IN)。
根据构建出的每一幅SFF Graph图,分别计算OpenFlow流表集合,图中的每一条边可映射成一条OpenFlow的转发流表。以SF_A/SFF(OUT)->SF_B/SFF(IN)为例:
当SF_A与SF_B在同一个交换机时,映射成流表具有如下形式:
match:{in_port:switch_id:port_id},instructions:{output:port_id};
当SF_A与SF_B跨交换机时,映射成流表具有如下形式:
SDN交换机A:match:{in_port:switch_id:port_id},
instructions:{setmark:mark_id;output:ha_port_id};
SDN交换机B:
match:{in_port:switch_id:ha_port_id},instructions:{output:port_id};
根据服务组和服务的负载均衡策略,计算出属于各个服务的分类器流表,该流表根据策略配置不同,具有如下形式:
match:{src_ip:xx.xx.xx.xx/24},instructions:{};
每条转发流表,分别与一条或者多条分类器流表合并,生成最终的Openflow流表集合。
最后,OpenFlow流表集合通过SDN控制器下发给各个交换机。
以上所述的仅是本发明所公开的一种应用于SDN网络的服务链高可用方法的优选实施方式,应当指出,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
Claims (6)
1.一种应用于SDN网络的服务链高可用方法,其特征在于,所述方法包括:
步骤1:分别为服务链中的每个SDN交换机在网络流量的上行方向和下行方向构建服务链交换机链路;
步骤2:分别为步骤1中构建的每个服务链交换机链路构建服务功能路径;
步骤3:分别为步骤2中构建的每个服务功能路径构建确定的服务功能路径;
步骤4:分别为步骤3中构建的所有确定的服务功能路径构建服务功能转发者图,即以网络功能服务对象为节点、以服务功能转发者连接线为边的有向图;
步骤5:根据步骤4构建的每一幅服务功能转发者图,分别计算OpenFlow流表集合。
2.根据权利要求1所述的应用于SDN网络的服务链高可用方法,其特征在于,所述分别为服务链中的每个SDN交换机在网络流量的上行方向和下行方向构建服务链交换机链路具体为:为每个SDN交换机及其交换机上的服务功能和服务功能组,分别创建上行、下行服务链交换机链路,该链路包含了服务功能和服务功能组及其相对位置关系。
3.根据权利要求1所述的应用于SDN网络的服务链高可用方法,其特征在于,所述为步骤1中构建的每个服务链交换机链路构建服务功能路径具体为:遍历每个服务链交换机链路上的所有服务功能和服务功能组:根据服务功能创建新的服务功能对象,插入到该服务功能所在路径中对应的位置上;根据服务功能组,遍历服务功能组中的所有服务功能,创建新的服务功能对象,插入到该服务功能组所在路径中对应的位置上。
4.根据权利要求1所述的应用于SDN网络的服务链高可用方法,其特征在于,所述为步骤2中构建的每个服务功能路径构建确定的服务功能路径具体为:排列组合得到服务功能路径的每个位置上的服务功能对象,将服务功能对象按位置顺序插入到确定的服务功能路径中。
5.根据权利要求1所述的应用于SDN网络的服务链高可用方法,其特征在于,所述为步骤3中构建的所有确定的服务功能路径构建服务功能转发者图具体为:根据服务功能之间的流向,遍历确定的服务功能路径中每个服务功能对象,基于每个服务功能对象遍历此对象之前的功能服务对象,创建连接两个功能服务对象与功能服务对象之间的边。
6.根据权利要求1所述的应用于SDN网络的服务链高可用方法,其特征在于,所述根据步骤4构建的每一幅服务功能转发者图,分别计算OpenFlow流表集合具体为:通过服务功能转发者图的每条边映射成OpenFlow的转发流表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910147965.6A CN109873724B (zh) | 2019-02-28 | 2019-02-28 | 应用于sdn网络的服务链高可用方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910147965.6A CN109873724B (zh) | 2019-02-28 | 2019-02-28 | 应用于sdn网络的服务链高可用方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109873724A true CN109873724A (zh) | 2019-06-11 |
CN109873724B CN109873724B (zh) | 2022-05-10 |
Family
ID=66919465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910147965.6A Active CN109873724B (zh) | 2019-02-28 | 2019-02-28 | 应用于sdn网络的服务链高可用方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109873724B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111756632A (zh) * | 2020-06-22 | 2020-10-09 | 中国电子科技集团公司第五十四研究所 | 一种基于mpls封装的安全服务链动态编排方法 |
CN112954086A (zh) * | 2021-02-19 | 2021-06-11 | 南京创网网络技术有限公司 | 基于arp协议的sdn网络实现三层模式服务链的方法 |
CN113098784A (zh) * | 2021-03-30 | 2021-07-09 | 南京创网网络技术有限公司 | 一种基于sdn架构的分布式分流器及其创建方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105721297A (zh) * | 2016-01-28 | 2016-06-29 | 北京国电通网络技术有限公司 | 基于sdn网络中路由环路的检测方法及系统 |
CN106936777A (zh) * | 2015-12-29 | 2017-07-07 | 中移(苏州)软件技术有限公司 | 基于OpenFlow的云计算分布式网络实现方法、系统 |
CN107005480A (zh) * | 2015-01-20 | 2017-08-01 | 华为技术有限公司 | 用于sdt与nfv和sdn相互配合的系统和方法 |
CN107809381A (zh) * | 2017-10-19 | 2018-03-16 | 北京邮电大学 | 一种实现基于sdn中路由环路主动审计算法及实现方法 |
US20180139154A1 (en) * | 2016-11-16 | 2018-05-17 | Sprint Communications Company L.P. | Network function virtualization (nfv) software-defined network (sdn) network-to-network interfaces (nnis) |
US20180302343A1 (en) * | 2017-04-14 | 2018-10-18 | Argela Yazilim ve Bilisim Teknolojileri San. ve Tic. A.S. | System and method for convergence of software defined network (sdn) and network function virtualization (nfv) |
-
2019
- 2019-02-28 CN CN201910147965.6A patent/CN109873724B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107005480A (zh) * | 2015-01-20 | 2017-08-01 | 华为技术有限公司 | 用于sdt与nfv和sdn相互配合的系统和方法 |
CN106936777A (zh) * | 2015-12-29 | 2017-07-07 | 中移(苏州)软件技术有限公司 | 基于OpenFlow的云计算分布式网络实现方法、系统 |
CN105721297A (zh) * | 2016-01-28 | 2016-06-29 | 北京国电通网络技术有限公司 | 基于sdn网络中路由环路的检测方法及系统 |
US20180139154A1 (en) * | 2016-11-16 | 2018-05-17 | Sprint Communications Company L.P. | Network function virtualization (nfv) software-defined network (sdn) network-to-network interfaces (nnis) |
US20180302343A1 (en) * | 2017-04-14 | 2018-10-18 | Argela Yazilim ve Bilisim Teknolojileri San. ve Tic. A.S. | System and method for convergence of software defined network (sdn) and network function virtualization (nfv) |
CN107809381A (zh) * | 2017-10-19 | 2018-03-16 | 北京邮电大学 | 一种实现基于sdn中路由环路主动审计算法及实现方法 |
Non-Patent Citations (3)
Title |
---|
ETSI: ""Network Function Virtualisation(NFV); Use Case"", 《ESTI GS NFV 001 V1.1.1》 * |
徐倜杰: ""SDN服务功能链部署研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
杨柯: ""数据中心网络中服务功能链的部署与路由"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111756632A (zh) * | 2020-06-22 | 2020-10-09 | 中国电子科技集团公司第五十四研究所 | 一种基于mpls封装的安全服务链动态编排方法 |
CN111756632B (zh) * | 2020-06-22 | 2021-10-22 | 中国电子科技集团公司第五十四研究所 | 一种基于mpls封装的安全服务链动态编排方法 |
CN112954086A (zh) * | 2021-02-19 | 2021-06-11 | 南京创网网络技术有限公司 | 基于arp协议的sdn网络实现三层模式服务链的方法 |
CN112954086B (zh) * | 2021-02-19 | 2022-05-27 | 南京创网网络技术有限公司 | 基于arp协议的sdn网络实现三层模式服务链的方法 |
CN113098784A (zh) * | 2021-03-30 | 2021-07-09 | 南京创网网络技术有限公司 | 一种基于sdn架构的分布式分流器及其创建方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109873724B (zh) | 2022-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103229468B (zh) | 分组交换资源分配方法及设备 | |
CN105406992B (zh) | 一种面向sdn的业务需求转化和部署方法 | |
CN104901890B (zh) | 一种sdn的路由生成、匹配方法和系统 | |
CN101313528B (zh) | 一种多域路由计算方法和系统 | |
CN103618677B (zh) | 一种网络流量调整方法及系统 | |
CN103997414B (zh) | 生成配置信息的方法和网络控制单元 | |
CN109873724A (zh) | 应用于sdn网络的服务链高可用方法 | |
CN106105115A (zh) | 网络环境中由服务节点始发的服务链 | |
CN103825954A (zh) | 一种OpenFlow控制方法及相应插件、平台和网络 | |
CN108234169B (zh) | 一种分布式仿真网络结构实时动态优化方法 | |
CN106850381A (zh) | 虚拟集群交换 | |
CN103428061B (zh) | 接入底盘节点和利用接入底盘节点进行数据转发的方法 | |
CN104243270A (zh) | 一种建立隧道的方法和装置 | |
CN104518899B (zh) | 网络路由流量仿真方法和装置 | |
CN108243123A (zh) | 广播报文的处理方法、装置、控制器和交换机 | |
CN104734948A (zh) | 一种实现智能选路的方法和装置 | |
CN106209615A (zh) | 一种基于spfa算法计算转发路径的动态路由控制方法 | |
CN110380973A (zh) | 软件定义网络拓扑探测方法 | |
CN103532742B (zh) | 一种ipran复杂场景下全二层业务的配置方法 | |
CN108880969A (zh) | 一种sdn网络中建立链路的方法和装置 | |
CN105024934A (zh) | 一种实时流量调度方法和系统 | |
CN102480377B (zh) | 聚合链路的管理方法及系统 | |
CN105553846A (zh) | 一种在软件定义网络中分配资源的方法 | |
CN112566183A (zh) | 一种自动开通5g传输电路的sdn控制器 | |
CN108512737A (zh) | 一种数据中心ip层互联的方法和sdn控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |