CN113395334B - 服务功能链在线更新方法、***及设备 - Google Patents
服务功能链在线更新方法、***及设备 Download PDFInfo
- Publication number
- CN113395334B CN113395334B CN202110602599.6A CN202110602599A CN113395334B CN 113395334 B CN113395334 B CN 113395334B CN 202110602599 A CN202110602599 A CN 202110602599A CN 113395334 B CN113395334 B CN 113395334B
- Authority
- CN
- China
- Prior art keywords
- service function
- function chain
- sub
- flow table
- table data
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种服务功能链在线更新方法、***及设备,所述方法包括以下步骤:若当前服务功能链标识号不是空标识号,则判断所述新服务功能链标识号与所述当前服务功能链标识号是否一致;若不一致,则查找与当前服务功能链标识号绑定的当前流表数据集合,将查找到的当前流表数据集合从配置文件中删除,并判断预配置的可用服务功能链集合里是否存在新服务功能链标识号对应的服务功能链;若存在,则获取与新服务功能链标识号绑定的新流表数据集合,下发所述新流表数据集合,并将当前服务功能链标识号替换为新服务功能链标识号,从而实现服务功能链在线更新。
Description
技术领域
本发明涉及互联网技术领域,具体的说,涉及了一种服务功能链在线更新方法、***及设备。
背景技术
网络流量按照业务逻辑设定的顺序,通过部署有业务功能的设备(主要指安全设备如防火墙、负载均衡、第三方安全设备等)的场景称之为服务功能链(Service FuctionChain)。数据报文在网络设备中经过不同的路径处理,实现服务功能链的多样化,最终提供给用户安全、多样、稳定的网络服务。传统网络的服务链在变更、扩容时,都需要改动网络拓扑,重新进行网络设备的配置。
服务功能链和网络拓扑紧密耦合、部署复杂,传统网络设备组成的网络拓扑的变动实现成本高。
为了解决以上存在的问题,人们一直在寻求一种理想的技术解决方案。
发明内容
本发明的目的是针对现有技术的不足,从而提供一种服务功能链在线更新方法、***及设备。
为了实现上述目的,本发明所采用的技术方案是:
本发明第一方面提供一种服务功能链在线更新方法,所述服务功能链在线更新方法包括以下步骤:
接收携带新服务功能链标识号的切换指令,响应于所述切换指令,搜索当前服务功能链标识号,判断当前服务功能链标识号是否为空标识号;
若当前服务功能链标识号为空标识号,则判断预配置的可用服务功能链集合里是否存在所述新服务功能链标识号对应的服务功能链;若存在,则获取与所述新服务功能链标识号绑定的新流表数据集合,下发所述新流表数据集合,并将当前服务功能链标识号设置为新服务功能链标识号;
若当前服务功能链标识号不是空标识号,则判断所述新服务功能链标识号与所述当前服务功能链标识号是否一致;若不一致,则查找与当前服务功能链标识号绑定的当前流表数据集合,将查找到的当前流表数据集合从配置文件中删除,并判断预配置的可用服务功能链集合里是否存在新服务功能链标识号对应的服务功能链;若存在,则获取与新服务功能链标识号绑定的新流表数据集合,下发所述新流表数据集合,并将当前服务功能链标识号替换为新服务功能链标识号。
本发明第二方面提供一种服务功能链在线更新***,它包括服务功能链管理组件、SDN控制器、SDN交换机、OF交换机和服务功能单元,每个服务功能单元均部署在虚拟机中,部署有服务功能单元的虚拟机分布式挂载在不同的OF交换机上;
所述服务功能链管理组件,与所述SDN控制器的北向接口通讯互联,用于上述的服务功能链在线更新方法的步骤,获得新流表数据集合,并将所述新流表数据集合传输至所述SDN控制器;
所述SDN控制器,分别与所述SDN交换机和各个OF交换机通讯互联,用于解析新流表数据集合,获取子流表数据下发至相应的交换机;
所述SDN交换机,分别与各个OF交换机通讯互联,用于基于新服务功能链指导数据流量的转发,对服务功能链进行在线更新。
本发明第三方面提供一种服务功能链在线更新设备,它包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的服务功能链在线更新程序,所述服务功能链在线更新程序被所述处理器执行时实现如上述的服务功能链在线更新方法的步骤。
本发明相对现有技术具有突出的实质性特点和显著的进步,具体的说:
1)本发明提出了一种服务功能链在线更新方法、***及设备,使用OpenFlow交换机加SDN控制器的形式组成的网络拓扑,通过修改流表更改流量经过的网络设备,实现在线更新路径,极大地提高了服务功能链的切换效率;
SDN方式以及NFV(Network Functions Virtualization,网络功能虚拟化)的应用,也让数据中心的网络控制变得更加灵活,更具有扩展性。
附图说明
图1是本发明的服务功能链在线更新方法的流程图;
图2是本发明的构建备用子流表数据集合的流程图;
图3是本发明的构建新增流表数据集合的流程图;
图4是本发明的服务功能链在线更新***的结构示意图;
图5是本发明的服务功能链在线更新***的应用效果图;
图6是本发明的服务功能链调度整体流程图一;
图7是本发明的服务功能链调度整体流程图二。
具体实施方式
下面通过具体实施方式,对本发明的技术方案做进一步的详细描述。
实施例1
图1示出了一种服务功能链在线更新方法的具体实施方式,所述服务功能链在线更新方法包括以下步骤:
接收携带新服务功能链标识号的切换指令,响应于所述切换指令,搜索当前服务功能链标识号,判断当前服务功能链标识号是否为空标识号;
若当前服务功能链标识号为空标识号,则判断预配置的可用服务功能链集合里是否存在所述新服务功能链标识号对应的服务功能链;若存在,则获取与所述新服务功能链标识号绑定的新流表数据集合,下发所述新流表数据集合,并将当前服务功能链标识号设置为新服务功能链标识号;
若当前服务功能链标识号不是空标识号,则判断所述新服务功能链标识号与所述当前服务功能链标识号是否一致;若不一致,则查找与当前服务功能链标识号绑定的当前流表数据集合,将查找到的当前流表数据集合从配置文件中删除,并判断预配置的可用服务功能链集合里是否存在新服务功能链标识号对应的服务功能链;若存在,则获取与新服务功能链标识号绑定的新流表数据集合,下发所述新流表数据集合,并将当前服务功能链标识号替换为新服务功能链标识号。
需要说明的是,服务功能链在线更新所需时间对于实现服务功能链的多样化至关重要。利用上述服务功能链在线更新方法进行服务路径调度时,若新服务功能链标识号为sfc_2,则首先从配置记录中查询当前应用的路径信息,若当前服务功能链标识号为sfc_1,则先发送删除流表消息到SDN控制器,删除配置文件中的当前流表数据集合,即所有与sfc_1相关的流表数据sfc_1{flow_i,fow_j,…,fow_k}(1≤i,j,k≤n,i≠j≠k),再发送添加流表消息到SDN控制器,下发配置文件中的新流表数据集合,即与sfc_2相关的流表数据sfc_2{flow_i,fow_j,…,fow_k}(1≤i,j,k≤n,i≠j≠k),并更新当前使用的路径id记录;若配置记录中当前无服务链流经使用记录,则直接下发sfc_2对应的流表集合到SDN控制器,并更新当前使用的路径ID记录,从而根据用户安全需求动态且快速地编排部署安全功能服务链。
可以理解,服务功能链在线更新效果如附图5所示,***配置有两条可选服务路径sfc1和sfc2。路径sfc1经过服务功能单元SF1和SF3;路径sfc2经过服务功能单元SFn1和SFn2,通过路径切换控制接入***的流量经过不同的服务功能单元,实现根据用户的安全需求使数据流有序地依次经过各个虚拟安全设备,达到过滤数据流的目的,实现网络流量的动态控制。
需要说明的是,通过预配置可用服务功能链集合,根据用户的常用安全需求预先存储一些常用的服务功能链,以提高服务功能链在线更新效率。
考虑到用户的安全需求的多样性,还配置有生成新服务功能链的方法:
若预配置的可用服务功能链集合里不存在该新服务功能链标识号对应的服务功能链,则生成添加新服务功能链消息;
响应于所述添加新服务功能链消息,生成新增流表数据集合;
生成新增服务功能链标识号,并将所述新增服务功能链标识号与所述新增流表数据集合绑定起来;下发所述新增流表数据集合,并将当前服务功能链标识号设置为新增服务功能链标识号。
实施例2
需要说明的是,在服务功能链较长的情况下,可以对路径分段处理,划分为子路径集合,通过客户端依次配置保存每个子路径,构建备用子流表数据集合。如附图2所示,一种在预配置可用服务功能链集合之前,执行的构建备用子流表数据集合的具体实施方式:
确定是否获取到子路径生成消息;
响应于所述子路径生成消息,生成子服务功能链ID,确定与子服务功能链关联的服务功能标识,并判断与该子服务功能链关联的服务功能标识数量是否超过一个;
若该子服务功能链关联的服务功能标识数量为一个,则生成该子服务功能链的子流表数据集合,将所述子流表数据集合与对应的子服务功能链ID绑定起来,作为第一类子服务功能链,并存储至备用子流表数据集合;
若该子服务功能链关联的服务功能标识数量超过一个,则判定该子服务功能链中的服务功能单元为相邻服务功能单元,并判断相邻服务功能单元是否挂载在同一OF交换机;若是,则根据子服务功能链中的服务功能单元总数计算子路径流表项总数;否则,根据子服务功能链中的服务功能单元总数和第一动态值计算子路径流表项总数;所述第一动态值跟随相邻服务功能单元的数量以及部署位置变化;
根据子路径流表项总数,服务功能单元优先级,以及服务功能单元所在虚拟机的流量输入侧所需的流表、输出侧所需的流表,以及挂载对应服务功能单元的OF交换机输入侧所需的流表、输出侧所需的流表,生成该子服务功能链的子流表数据集合,将所述子流表数据集合与对应的子服务功能链ID绑定起来,作为第二类子服务功能链,并存储至备用子流表数据集合。
可以理解,接收用户选择的某些服务功能,自动计算指导流量转发所需的子流表数据集合,组成一条子服务功能链。在后续的增删、切换操作过程中,通过对常用子路径的复用,能够提高服务功能链在线更新的效率,增强服务功能链在线更新功能的灵活性。
进一步的,在生成备用子流表数据集合之前,还执行:
生成每个服务功能单元对应的SF数据结构,所述SF数据结构为sf_m{name,switch_id,port_switch,port_sf,port_left,port_right},1≤m≤n,n表示***支持的最大服务功能数量;
其中,sf_m表示服务功能标识,name表示服务功能名称,switch_id表示挂载对应服务功能单元的OF交换机序号,port_switch表示SDN交换机的流量输入侧端口id和输出侧端口id,port_sf表示挂载该服务功能单元的OF交换机的输入侧端口id和输出侧端口id,port_left表示该服务功能单元的流量输入侧端口id,port_right表示该服务功能单元的流量输出侧端口id。
需要说明的是,根据端口名称检测,预先构建每个服务功能单元对应的SF数据结构,将每个服务功能单元的服务功能标识与构建流表项所需的端口id关联存储,为构建新增流表数据集合或者重新生成子流表数据集合做准备。
因此,在按预置的子路径流表数据集合生成规则,生成该子服务功能链的子流表数据集合时,所需:服务功能单元所在虚拟机的流量输入侧所需的流表、输出侧所需的流表,以及挂载对应服务功能单元的OF交换机输入侧所需的流表、输出侧所需的流表,均可以从服务功能单元对应的SF数据结构中获取,从而缩短新增流表数据集合、子流表数据集合的构建时间,进而缩短服务功能链在线更新时间。
本实施例给出了一种构建可用服务功能链集合的具体实施方式,预配置可用服务功能链集合时,执行:
从所述备用子流表数据集合中,调用第一类子服务功能链和/或第二类子服务功能链对应的子流表数据集合组合成流表数据集合;
生成一系列服务功能链标识号,将各个服务功能链标识号与对应的流表数据集合绑定起来,作为可用服务功能链;
基于已生成的可用服务功能链,生成可用服务功能链集合。
在一种具体实施方式中,定义某条服务路径的服务功能链标识号为sfc_m,可用服务功能链集合为sfc{sfc_1,sfc_2,…,sfc_m}(1≤m≤q,q表示***支持的最大SFC数量),构成可直接调用的服务功能链;根据输入的参数不同,实现多个路径的转发规则的生成与保存,在需要调度切换服务功能链路径时,直接选择对应的服务功能链标识号,一键切换流量转发链路。
接收用户输入某条可用服务功能链包含的SF名称和五元组信息后,根据SF名称检索对应的sf_m结构体,结合sf_m中端口信息和输入的五元组信息精确生成报文的匹配与转发规则,即流表项集合flow_m{flow_adv{[mflow_in],[flow_in],[mflow_out],flow_out},flow_ret{[mflow_in],[flow_in],[mflow_out],flow_out}}(1≤m≤n),其中flow_adv、flow_ret分别表示正、反方向转发所需的流表,mflow_in、mflow_out分别表示在Switch0输入输出方向转发所需的流表,flow_in、flow_out表示在服务功能单元挂载的SDN交换机中控制流量输入与输出转发的流表,[]表示根据情况可选生成。
如图5所示的SFC1、SFC2两条路径,每个路径包含多个SF,具体分为几种情况:从左到右流量方向上,SF有无相邻SF,相邻SF是否挂载在同一个交换机区分,决定生成的结构体flow_m的具体流表项数量,反之亦然。最终根据配置的服务功能链SFC中SF顺序生成流表数据集合sfc_m{flow_i,fow_j,…,fow_k}(1≤i,j,k≤n,i≠j≠k,1≤m≤q,q表示***支持的最大SFC数量)。
流表数据集合生成后,发送http消息到、SDN控制器,SDN控制器发送OpenFlow消息到交换机,最终把生成的流表项下发到sf_m标识的交换机,指导流量在SF之间的转发,保存该条SFC路径生成的所有流表项sfc_m到配置文件。
本实施例还给出了一种构建新增流表数据集合的具体实施方式,生成新增流表数据集合时,执行:
确定与新服务功能链关联的服务功能标识,根据所述服务功能标识,判断所述备用子流表数据集合是否存在可复用的第一类子服务功能链或者第二类子服务功能链;
若存在可复用的第一类子服务功能链或者第二类子服务功能链,则调用可复用的第一类子服务功能链或者第二类子服务功能链对应的子流表数据集合,并生成剩余部分的子流表数据集合;
若不存在可复用的第一类子服务功能链或者第二类子服务功能链,则执行:
根据与新服务功能链关联的服务功能标识的排列顺序,判断新服务功能链中是否存在相邻服务功能单元;
若不存在相邻服务功能单元,则根据服务功能单元总数计算新增流表项总数;
若存在相邻服务功能单元,则判断相邻服务功能单元是否均未挂载在同一OF交换机,若是,则根据服务功能单元总数计算新增流表项总数;否则,根据服务功能单元总数和第二动态值计算新增流表项总数;所述第二动态值跟随相邻服务功能单元的数量以及部署位置变化;
根据新增流表项总数、服务功能单元优先级、以及服务功能单元对应的SF数据结构,生成新增流表数据集合;
基于复用的子流表数据集合以及重新生成的子流表数据集合生成新增流表数据集合。
例如,复用的子流表数据集合为sfc_11{flow_i,…,fow_j},重新生成的子流表数据集合sfc_12{ fow_j,…,fow_k},sfc_11与sfc_12组合成sfc_1{flow_i,fow_j,…,fow_k}。
需要说明的是,如附图3所示,按预置的新增流表数据集合生成规则,根据用户输入的SF(服务功能单元)顺序,自动检索交换机ID以及端口信息等,构建新增流表数据集合,达到自动化路径计算的目的。
实施例3
本实施例与上述实施例的区别在于:所述服务功能链在线更新方法,还包括:统计每个服务功能单元的使用概率;
若某个服务功能单元的使用概率超过第一调度阈值,且所述备用子流表数据集合里不存在只包含该服务功能单元的子服务功能链,则新增该服务功能单元的子流表数据集合以及对应的子服务功能链ID,将新增的子流表数据集合与子服务功能链ID绑定起来,作为新增第一类子服务功能链,并存储至备用子流表数据集合。
进一步的,所述的服务功能链在线更新方法,还包括:
统计每个服务功能单元与其他服务功能单元的组合概率;
若某几个服务功能单元的组合概率超过第二调度阈值,且所述备用子流表数据集合里不存在只包含这几个服务功能单元的子服务功能链,则新增这几个服务功能单元的子流表数据集合以及对应的子服务功能链ID,将新增的子流表数据集合与子服务功能链ID绑定起来,作为新增第二类子服务功能链,并存储至备用子流表数据集合。
通过上述方法,不断自动对备用子流表数据集合进行更新,从而丰富预配置的可用服务功能链集合里的可用服务功能链,并为生成新服务功能链做准确,在预配置的可用服务功能链集合里不存在该新服务功能链标识号对应的服务功能链,能够有效缩短新增流表数据集合的构建时间。
实施例4
基于上述实施例中的服务功能链在线更新方法,本实施例给出了一种服务功能链在线更新***的具体实施方式,如附图4所示:
所述服务功能链在线更新***包括服务功能链管理组件、SDN(Software DefinedNetwork)控制器、SDN交换机、OF(OpenFlow)交换机和服务功能单元,每个服务功能单元均部署在虚拟机中,部署有服务功能单元的虚拟机分布式挂载在不同的OF交换机上;
所述服务功能链管理组件,与所述SDN控制器的北向接口通讯互联,用于执行上述实施例中的服务功能链在线更新方法的步骤,获得新流表数据集合,并将所述新流表数据集合传输至所述SDN控制器;
所述SDN控制器,分别与所述SDN交换机和各个OF交换机通讯互联,用于解析新流表数据集合,获取子流表数据下发至相应的交换机;
所述SDN交换机,分别与各个OF交换机通讯互联,用于基于新服务功能链指导数据流量的转发,对服务功能链进行在线更新。
为提高***性能,服务功能单元采用分布式部署方式,SF分布式挂载在交换机Switch_1-Switch_n上,网络流量接入使用Switch_0端口,实现服务功能链对流量的过滤;服务功能单元SF(如防火墙、负载均衡、第三方安全设备等)部署在各个虚拟机中,虚拟机挂载接入到不同的OF交换机,实现SF(Service Fuction)的轻量化部署。
可以理解,所述服务功能链管理组件使用http方式和SDN控制器的北向接口通信,通过北向接口全局监控整个网络的资源状态,并对资源进行统一调度,远程控制OF交换机集群,对OF交换机的流表以及服务功能路径进行添加、删除、查询以及路径切换的控制,解决服务功能链调度的问题,如附图6和附图7所示:
在客户端进行配置的删除时,若删除某条流表项,则直接发送删除流表项消息到控制器,并接收控制器的反馈消息;若删除某条服务功能链sfc_m,则读取保存的路径信息sfc_m[flow_1,flow_2,…,flow_nm],依次删除sfc1路径中的流表项数据,并接收反馈处理结果;若后面不需要某条路径配置,则直接清空保存的该条路径数据即可;
在查询配置时,客户端根据输入参数(如设备ID、流表ID、服务功能链标识号),发送查询消息到控制器中间件,接收读取解析反馈消息,显示OpenFlow交换机中当前配置的流表项内容,以及配置和当前应用的服务功能链标识号等内容,展示***当前状态。
所述服务功能链管理组件还通过SDN控制器检测Switch的端口信息,构建每个服务功能单元对应的SF数据结构;以CLI客户端方式,预配置可用服务功能链集合;以命令行CLI方式接收输入参数(OF交换机ID、优先级、报文五元组,出端口等信息),根据用户选择的服务功能顺序,自动生成指导流量转发的新服务功能链的流表集合,下发到各个交换机。
所述SDN控制器作为中间件,包括北向接口和南向接口,北向接口和服务功能链管理组件建立http协议通信,收发消息;南向接口和SDN交换机使用OpenFlow协议通信,下发服务功能链管理组件的配置数据到交换机,并基于LLDP协议、ARP协议获取OF交换机和服务功能单元SF所在虚拟机设备的接口(ID、接口、MAC、IP等信息)和网络拓扑信息,并使用控制器前端页面显示出当前的***内部的设备信息、流表信息和网络拓扑状态,解决网络全局运行情况的可视化的问题。
SDN交换机使用OF(OpenFlow)交换机负责网络流量的快速转发,转发决策依赖于流表,SDN控制器使用OpenFlow协议管理交换机流表和监控设备状态。交换机在远程SDN控制器的管控下工作,与之相关的设备状态和控制指令都需要经由SDN控制器的南向接口传达,从而实现集中化统一管理。
接入***的流量在服务功能链管理组件配置的流表项指导下,在***内部根据流表定义的路径在数据平面转发,依次流经选定的服务功能单元,进行数据流过滤;经过这些服务功能单元已部署的功能进行处理后,最终转发出***。从***的输入输出端口来看,***没有对报文内容做修改,保证了数据透明传输。
需要说明的是,由于网络设备、NFV、主机操作***对 NSH 的支持非常有限,NSH需要在每条服务链的所有服务设备上维持状态,这很大程度上降低了***效率;NSH 携带了服务链路径信息,流量在不同服务功能单元之间的引导还需要通过其他隧道技术机制来实现(例如 VxLAN、GRE 等),影响转发效率。因此,所述服务功能链在线更新***内部的转发路径基于OpenFlow流表形式实现数据流量的转发,不需要给报文添加网络服务头(NSH),相比于NSH实现的服务功能链方式具有转发速率优势。
在实现SDN场景下SFC的配置和切换的同时,***可用通过查询当前流表状态信息与服务功能单元内部的报文统计情况进行故障的诊断。
实施例5
本实施例给出了一种服务功能链在线更新设备,所述服务功能链在线更新设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的服务功能链在线更新程序,所述服务功能链在线更新程序被所述处理器执行时实现如上述实施例中的服务功能链在线更新方法的步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,上述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。
Claims (10)
1.一种服务功能链在线更新方法,其特征在于,包括以下步骤:
接收携带新服务功能链标识号的切换指令,响应于所述切换指令,搜索当前服务功能链标识号,判断当前服务功能链标识号是否为空标识号;
若当前服务功能链标识号为空标识号,则判断预配置的可用服务功能链集合里是否存在所述新服务功能链标识号对应的服务功能链;若存在,则获取与所述新服务功能链标识号绑定的新流表数据集合,下发所述新流表数据集合,并将当前服务功能链标识号设置为新服务功能链标识号;
若当前服务功能链标识号不是空标识号,则判断所述新服务功能链标识号与所述当前服务功能链标识号是否一致;若不一致,则查找与当前服务功能链标识号绑定的当前流表数据集合,将查找到的当前流表数据集合从配置文件中删除,并判断预配置的可用服务功能链集合里是否存在新服务功能链标识号对应的服务功能链;若存在,则获取与新服务功能链标识号绑定的新流表数据集合,下发所述新流表数据集合,并将当前服务功能链标识号替换为新服务功能链标识号。
2.根据权利要求1所述的服务功能链在线更新方法,其特征在于,若预配置的可用服务功能链集合里不存在该新服务功能链标识号对应的服务功能链,则生成添加新服务功能链消息;
响应于所述添加新服务功能链消息,生成新增流表数据集合;
生成新增服务功能链标识号,并将所述新增服务功能链标识号与所述新增流表数据集合绑定起来;
下发所述新增流表数据集合,并将当前服务功能链标识号设置为新增服务功能链标识号。
3.根据权利要求2所述的服务功能链在线更新方法,其特征在于,在预配置可用服务功能链集合之前,执行:
确定是否获取到子路径生成消息;
响应于所述子路径生成消息,生成子服务功能链ID,确定与子服务功能链关联的服务功能标识,并判断与该子服务功能链关联的服务功能标识数量是否超过一个;
若该子服务功能链关联的服务功能标识数量为一个,则生成该子服务功能链的子流表数据集合,将所述子流表数据集合与对应的子服务功能链ID绑定起来,作为第一类子服务功能链,并存储至备用子流表数据集合;
若该子服务功能链关联的服务功能标识数量超过一个,则判定该子服务功能链中的服务功能单元为相邻服务功能单元,并判断相邻服务功能单元是否挂载在同一OF交换机;若是,则根据子服务功能链中的服务功能单元总数计算子路径流表项总数;否则,根据子服务功能链中的服务功能单元总数和第一动态值计算子路径流表项总数;所述第一动态值跟随相邻服务功能单元的数量以及部署位置变化;
根据子路径流表项总数,服务功能单元优先级,以及服务功能单元所在虚拟机的流量输入侧所需的流表、输出侧所需的流表,以及挂载对应服务功能单元的OF交换机输入侧所需的流表、输出侧所需的流表,生成该子服务功能链的子流表数据集合,将所述子流表数据集合与对应的子服务功能链ID绑定起来,作为第二类子服务功能链,并存储至备用子流表数据集合。
4.根据权利要求3所述的服务功能链在线更新方法,其特征在于,在生成备用子流表数据集合之前,还执行:
生成每个服务功能单元对应的SF数据结构,所述SF数据结构为sf_m{name,switch_id,port_switch,port_sf,port_left,port_right},1≤m≤n,n表示***支持的最大服务功能数量;
其中,sf_m表示服务功能标识,name表示服务功能名称,switch_id表示挂载对应服务功能单元的OF交换机序号,port_switch表示SDN交换机的流量输入侧端口id和输出侧端口id,port_sf表示挂载该服务功能单元的OF交换机的输入侧端口id和输出侧端口id,port_left表示该服务功能单元的流量输入侧端口id,port_right表示该服务功能单元的流量输出侧端口id。
5.根据权利要求3所述的服务功能链在线更新方法,其特征在于,还包括:
统计每个服务功能单元的使用概率;
若某个服务功能单元的使用概率超过第一调度阈值,且所述备用子流表数据集合里不存在只包含该服务功能单元的子服务功能链,则新增该服务功能单元的子流表数据集合以及对应的子服务功能链ID,将新增的子流表数据集合与子服务功能链ID绑定起来,作为新增第一类子服务功能链,并存储至备用子流表数据集合。
6.根据权利要求3所述的服务功能链在线更新方法,其特征在于,还包括:
统计每个服务功能单元与其他服务功能单元的组合概率;
若某几个服务功能单元的组合概率超过第二调度阈值,且所述备用子流表数据集合里不存在只包含这几个服务功能单元的子服务功能链,则新增这几个服务功能单元的子流表数据集合以及对应的子服务功能链ID,将新增的子流表数据集合与子服务功能链ID绑定起来,作为新增第二类子服务功能链,并存储至备用子流表数据集合。
7.根据权利要求3所述的服务功能链在线更新方法,其特征在于,预配置可用服务功能链集合时,执行:
从所述备用子流表数据集合中,调用第一类子服务功能链和/或第二类子服务功能链对应的子流表数据集合组合成流表数据集合;
生成一系列服务功能链标识号,将各个服务功能链标识号与对应的流表数据集合绑定起来,作为可用服务功能链;
基于已生成的可用服务功能链,生成可用服务功能链集合。
8.根据权利要求4所述的服务功能链在线更新方法,其特征在于,生成新增流表数据集合时,执行:
确定与新服务功能链关联的服务功能标识,根据所述服务功能标识,判断所述备用子流表数据集合是否存在可复用的第一类子服务功能链或者第二类子服务功能链;
若存在可复用的第一类子服务功能链或者第二类子服务功能链,则调用可复用的第一类子服务功能链或者第二类子服务功能链对应的子流表数据集合,并生成剩余部分的子流表数据集合;
若不存在可复用的第一类子服务功能链或者第二类子服务功能链,则执行:
根据与新服务功能链关联的服务功能标识的排列顺序,判断新服务功能链中是否存在相邻服务功能单元;
若不存在相邻服务功能单元,则根据服务功能单元总数计算新增流表项总数;
若存在相邻服务功能单元,则判断相邻服务功能单元是否均未挂载在同一OF交换机,若是,则根据服务功能单元总数计算新增流表项总数;否则,根据服务功能单元总数和第二动态值计算新增流表项总数;所述第二动态值跟随相邻服务功能单元的数量以及部署位置变化;
根据新增流表项总数、服务功能单元优先级、以及服务功能单元对应的SF数据结构,生成新增流表数据集合;
基于复用的子流表数据集合以及重新生成的子流表数据集合生成新增流表数据集合。
9.一种服务功能链在线更新***,其特征在于:包括服务功能链管理组件、SDN控制器、SDN交换机、OF交换机和服务功能单元,每个服务功能单元均部署在虚拟机中,部署有服务功能单元的虚拟机分布式挂载在不同的OF交换机上;
所述服务功能链管理组件,与所述SDN控制器的北向接口通讯互联,用于执行权利要求1至8任一项所述的服务功能链在线更新方法的步骤,获得新流表数据集合,并将所述新流表数据集合传输至所述SDN控制器;
所述SDN控制器,分别与所述SDN交换机和各个OF交换机通讯互联,用于解析新流表数据集合,获取子流表数据下发至相应的交换机;
所述SDN交换机,分别与各个OF交换机通讯互联,用于基于新服务功能链指导数据流量的转发,对服务功能链进行在线更新。
10.一种服务功能链在线更新设备,其特征在于,包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的服务功能链在线更新程序,所述服务功能链在线更新程序被所述处理器执行时实现如权利要求1-8任一项所述的服务功能链在线更新方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110602599.6A CN113395334B (zh) | 2021-05-31 | 2021-05-31 | 服务功能链在线更新方法、***及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110602599.6A CN113395334B (zh) | 2021-05-31 | 2021-05-31 | 服务功能链在线更新方法、***及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113395334A CN113395334A (zh) | 2021-09-14 |
CN113395334B true CN113395334B (zh) | 2022-12-13 |
Family
ID=77619564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110602599.6A Active CN113395334B (zh) | 2021-05-31 | 2021-05-31 | 服务功能链在线更新方法、***及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113395334B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115550214A (zh) * | 2022-08-17 | 2022-12-30 | 青岛海尔科技有限公司 | 任务监控方法、装置、存储介质及电子装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107276798A (zh) * | 2017-06-12 | 2017-10-20 | 郑州云海信息技术有限公司 | 一种虚拟化网络服务功能链的实现方法及装置 |
CN107666412A (zh) * | 2017-11-20 | 2018-02-06 | 电子科技大学 | 服务功能链的虚拟网络功能部署方法 |
CN110213369A (zh) * | 2019-06-03 | 2019-09-06 | 电子科技大学 | 一种服务功能链自动编排***及其编排方法 |
CN111654386A (zh) * | 2020-01-15 | 2020-09-11 | 许继集团有限公司 | 一种业务功能链建立方法及*** |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10462626B2 (en) * | 2014-09-23 | 2019-10-29 | Nokia Solutions And Networks Oy | Control of communication using service function chaining |
US10567276B2 (en) * | 2016-08-05 | 2020-02-18 | Huawei Technologies Co., Ltd. | Virtual network pre-configuration in support of service-based traffic forwarding |
CN108429685B (zh) * | 2018-04-28 | 2020-08-04 | 电子科技大学 | 一种基于分段路由技术的服务功能链寻路方法 |
CN109842528B (zh) * | 2019-03-19 | 2020-10-27 | 西安交通大学 | 一种基于sdn和nfv的服务功能链的部署方法 |
CN110545228B (zh) * | 2019-07-26 | 2020-11-20 | 北京邮电大学 | 服务功能链请求处理方法及*** |
CN112083933B (zh) * | 2020-08-27 | 2023-07-04 | 重庆大学 | 一种基于强化学习的服务功能链部署方法 |
-
2021
- 2021-05-31 CN CN202110602599.6A patent/CN113395334B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107276798A (zh) * | 2017-06-12 | 2017-10-20 | 郑州云海信息技术有限公司 | 一种虚拟化网络服务功能链的实现方法及装置 |
CN107666412A (zh) * | 2017-11-20 | 2018-02-06 | 电子科技大学 | 服务功能链的虚拟网络功能部署方法 |
CN110213369A (zh) * | 2019-06-03 | 2019-09-06 | 电子科技大学 | 一种服务功能链自动编排***及其编排方法 |
CN111654386A (zh) * | 2020-01-15 | 2020-09-11 | 许继集团有限公司 | 一种业务功能链建立方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN113395334A (zh) | 2021-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190044888A1 (en) | Methods and apparatus for providing services in a distributed switch | |
US9667492B2 (en) | Methods and apparatus for selecting a master virtual processor within a switch fabric element | |
US7330467B2 (en) | System and method for centralized, intelligent proxy driver for a switch fabric | |
US8533316B2 (en) | Management computer for setting configuration information of node | |
US20180124183A1 (en) | Method and Apparatus for Stateful Control of Forwarding Elements | |
EP2774329B1 (en) | Data center network architecture | |
US8462636B2 (en) | Systems and methods for communication of management traffic over link aggregation group interface for a network element with distributed architecture | |
CN104704779A (zh) | 用于加速软件定义网络中的转发的方法和设备 | |
CN104702522A (zh) | 软件定义网络(sdn)中基于性能的路由 | |
US9008080B1 (en) | Systems and methods for controlling switches to monitor network traffic | |
US11442791B2 (en) | Multiple server-architecture cluster for providing a virtual network function | |
CN109743259B (zh) | 一种网络的流量调度方法及装置 | |
CN106034077A (zh) | 一种动态路由配置方法、装置及*** | |
CN111147372B (zh) | 下行报文发送、转发方法和装置 | |
US20140036726A1 (en) | Network, data forwarding node, communication method, and program | |
CN108965134B (zh) | 报文转发方法及装置 | |
CN113395334B (zh) | 服务功能链在线更新方法、***及设备 | |
EP4207699A1 (en) | Service packet forwarding method, sr policy sending method, device, and system | |
US8886913B2 (en) | Apparatus and method for identifier management | |
CN113965470B (zh) | 一种航空信息网络实验仿真*** | |
KR101829881B1 (ko) | 플로우 관제 시스템, 컨트롤러 및 장애 검출 방법 | |
CN112865999B (zh) | 信息处理方法及相关设备 | |
CN113225267B (zh) | 一种流量智能分发方法和装置 | |
JP2015119234A (ja) | 通信装置および、障害復旧制御方法 | |
CN116800606A (zh) | 网络变更方法、网络控制设备及存储介质 |
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 |