CN111756632B - 一种基于mpls封装的安全服务链动态编排方法 - Google Patents
一种基于mpls封装的安全服务链动态编排方法 Download PDFInfo
- Publication number
- CN111756632B CN111756632B CN202010573773.4A CN202010573773A CN111756632B CN 111756632 B CN111756632 B CN 111756632B CN 202010573773 A CN202010573773 A CN 202010573773A CN 111756632 B CN111756632 B CN 111756632B
- Authority
- CN
- China
- Prior art keywords
- flow
- service chain
- security
- function
- safety
- 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
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出了一种基于MPLS封装的安全服务链动态编排方法,涉及网络安全技术领域。本发明在MPLS多协议标签交换的基础上,对其头部进行了重定义,并提出了生成流量分类表和牵引流表的方法,实现网络与安全功能服务链的动态编排。本发明将MPLS作为SFC封装协议,可实现同一安全功能模块在不同安全服务链中的复用,同时无需额外扩展Openflow协议和改造当前SDN交换机功能,因此能够在实际中快速应用。
Description
技术领域
本方法涉及网络安全技术领域,特别是指一种基于MPLS封装的安全服务链动态编排方法。
背景技术
在网络通信过程中,包含各式各样的服务功能(Service Function,SF),既包括传统的像FW、IDS、NAT等安全功能,也包括特定的应用服务功能如视频、Web应用。将这些网络服务与安全功能有序地组合起来,并让流量按序流经这些服务功能就构成了服务功能链。SFC的目的是动态建立服务链使不同的流量可以按照不同顺序导向不同的服务功能模块。其概念类似于策略路由,即SFC使网络报文流量走特定的路径,而不是通过IP目的地址来查看路由表得最终目的地。
SFC主要应用于软件定义网络(Software Defined Network,SDN)技术中,通常用来联同网络功能虚拟化(Network Function Virtualization,NFV)实现特定功能。
虚拟安全功能通常表现为提供安全服务的虚拟机,一个虚拟机上会有1个或多个网络端口(port),虚拟安全功能服务链就是一条由虚拟功能的port构成的port链。
port链包括port的列表以及分类器的列表。port的列表用于定义网络与安全功能的顺序,分类器的列表用于指定分类后的流量进入哪个port链,实现流量与port链的绑定。如果一个安全功能有一对port,那么第一个port为入口,第二个port为出口。port链在实际应用中以一连串port对来呈现。分类器用于选择能够访问port链的流量,只要流量匹配到了分类器的分类规则,就会被重定向到port链的第1个port。安全服务链动态编排技术本质就是实现流量与安全服务链的绑定以及流量在安全服务链中安全功能之间的跳转。
针对用户的网络与安全需求,需要研究服务功能路径的生成,从而完成SFC封装,构建安全服务链。但是,现有技术中尚缺少网络与安全功能服务链的动态编排方法。
发明内容
有鉴于此,本发明提出了一种基于MPLS封装的安全服务链动态编排方法,该方法重定义了MPLS协议的头部,实现流量与安全服务链的绑定,并利用分类器生成流量分类流表和安全功能转发的流量牵引流表,保障不同的流量可以按照不同顺序导向不同的安全功能模块。
为了实现上述目的,本发明采用的技术方案为:
一种基于MPLS封装的安全服务链动态编排方法,其包括以下步骤:
(1)根据流量的特征,通过分类器创建流量分类流表,根据数据包头信息对流量进行流表匹配;在流量分类流表中,将目的MAC地址设置为安全服务链中首个安全功能vFW虚拟机的MAC地址,并将流量转发到封装流表;
(2)通过重定义MPLS协议的头部字段,封装服务链报头,将流量与安全服务链进行绑定;重定义的方式为:
①将MPLS协议头部的label字段定义为:nsp<<8|nsi,其中nsp表示安全服务链的标识,nsi表示下一个安全服务功能的序号,<<8表示左移8位,|表示将前后两部分连接起来;
②将MPLS的TTL字段定义为下一个安全服务功能的序号nsi;
(3)查询虚拟交换机的配置信息,获取安全服务链中所有安全功能虚拟机在虚拟交换机中对应的网络端口编号;
(4)根据安全服务链中安全功能虚拟机和网络端口的关联关系,构建网络端口对,每个网络端口对中第1个网络端口为入口,第2个网络端口为出口;
(5)根据安全服务链中安全功能的顺序,构建网络端口链;
(6)生成流量牵引流表,流量牵引流表的转发端口为每个网络端口对中的入口,从而实现流调度。
本发明与现有技术相比,取得的有益效果为:
1、本发明在MPLS协议的基础上,对其头部进行了重定义,并提出了生成流量分类表和牵引流表的方法,实现了网络与安全功能服务链的动态编排。
2、本发明利用分类器生成流量分类流表和安全功能转发的流量牵引流表,保障不同的流量可以按照不同顺序导向不同的安全功能模块。
3、本发明在流量引入每个安全功能虚拟机前利用MPLS协议实现流量与安全服务链的绑定,可实现安全功能在不同的安全服务链中的复用,同时将MPLS作为SFC封装协议,无需额外扩展Openflow协议和改造当前SDN交换机功能,因此能够在实际中快速应用。
附图说明
图1为现有技术中服务链的示意图,图中不同线型的箭头线表示不同的服务功能链。
图2为采用本发明实施例安全服务链动态编排方法的服务链示意图。
图3为采用本发明实施例安全服务链动态编排方法的流表生成流程图。
具体实施方式
下面,结合附图对本发明的技术方案做进一步说明。
图1所示为现有技术中服务链的示意图,在该服务链中,可以强制某流量从A到B必须经过中间的防火墙,或者不经过防火墙。
根据RFC7665的定义,一条服务链主要由5个要素组成:分类器(classifier)、服务功能、服务功能转发器(Service Function Forwarder,SFF)、服务功能路径(ServiceFunction Path,SFP)和SFC封装(SFC Encapsulation)。其中:
(1)classifier:根据不同的用户策略、网络策略或业务策略,对流量进行分类,入口处将流量与某条服务链绑定(即添加SFC封装),并重定向到相应服务功能链中,服务链出口处将流量与服务链解绑(即卸载SFC封装)。一条SFC可以有一个或多个分类器。
(2)SF:SF负责对收到的报文进行具体处理,其作为一个逻辑功能块,可运行在虚拟机中或嵌入到硬件设备中。服务功能主要包括:防火墙、广域网和应用加速、入侵检测、服务负载均衡、NAT、抗DDoS攻击、Web应用、视频业务等。
(3)SFF:SFF根据数据流中携带的SFC封装的元信息将流量按序调度在SF中调度,并接收SF转发出的流量,如图1所示SFF1将流量迁移到SF1中并接收SF1转发出的流量。另外,SFF也用于将流量转发给分类器(如图1所示SFF3将流量转发给Classifier2),或转发给另一个SFF(如图1所示SFF2将流量转发给SFF3)或者终止一条SFC。
(4)SFP:是SFC的实例化,SFP就是SF构成的流量流经的路径。SFC仅仅描述了服务功能顺序,并未具体给出每个服务功能对应的SFF。SFP介于SFC和SFF之间,它提供了一个间接的服务链路径描述方式,通过SFP可以控制网络中SFF和SF的优先级。
(5)SFC封装:SFC封装用来实现流量与SFP的绑定。SFC封装头除了包含SFP标识,也包含SF序号,表示数据包当前须进入第几个SF,以及也可包含数据包进入SFP时的背景信息等。MPLS作为一种引导数据流高速、高效传输的标签协议,已得到Openflow协议以及SDN交换机的充分支持,可实现网络与安全功能服务链的动态编排。
一种基于MPLS封装的安全服务链动态编排方法,该例中的服务链如图2所示,其生成流量分类流表和流量牵引流表的具体的步骤如图3所示。该例中,服务链由三个虚拟安全功能构成,包括vFW、vIPS和vNetAudit。图2中[{p2,p3},{p4,p5},{p6,p7}]为一条port链,p2为整条port链的头部,p7为整条port链的尾部;{p2,p3}为一个port对,{p4,p5}为一个port对,{p6,p7}为一个port对,其中port对第1个port为入口,第2个port为出口。分类器用于选择能够访问port链的流量,只要流量匹配到了分类器的分类规则,就会被重定向到port链的第1个port。
在图2所示的服务链实例中,p1与p2在同一个子网1.0.0.0/24中,p3与p4在同一个子网2.0.0.0/24中,p5与p6在同一个子网3.0.0.0/24中,p7与p8在同一个子网4.0.0.0/24中。各port配置信息如下所示:
(1)p1:1,MAC地址为:00:00:00:00:00:01
(2)p2:2,MAC地址为:00:00:00:00:00:11
(3)p3:3,MAC地址为:00:00:00:00:00:12
(4)p4:4,MAC地址为:00:00:00:00:00:21
(5)p5:5,MAC地址为:00:00:00:00:00:22
(6)p6:6,MAC地址为:00:00:00:00:00:31
(7)p7:7,MAC地址为:00:00:00:00:00:32
(8)p8:8,MAC地址为:00:00:00:00:00:41
该方法包括以下步骤:
(1)根据流量的特征,如5元组(源IP、目的IP、源端口、目的端口、协议)等,分类器创建流量分类流表,根据数据包头信息对流量进行流表匹配。在流量分类流表中,将目的MAC地址设置为安全服务链中首个安全功能vFW虚拟机的MAC地址,并将流量转发到封装流表。分类器生成的流量分类流表可根据数据包头信息将数据包与服务功能路径绑定。
生成classifier流量分类流表时,需要指定流量特征,如5元组等,进而生成classifier流量分类流表,用于根据数据包头信息将数据包与SFP绑定。生成SFF流量牵引流表时,需要获取服务链的网络与安全功能列表,即port的排列顺序,以及服务链中网络与安全功能的port编号信息。流量牵引流表可根据服务链中网络与安全功能的列表以及port编号信息生成。
生成的classifier流量分类流表和SFF流量牵引流表在vSwitch中的典型形式如下所示:
1)在vSwitch的table:0(流量分类流表)中实现服务链流匹配和负载均衡:
2)在vSwitch的table:5(封装流表)中实现服务链报头封装:
3)在vSwitch的table:10(流量牵引流表)中实现SFC报头解封装,并发往虚拟网络或安全功能:
(2)通过重定义MPLS协议头部字段,封装服务链报头,实现流量与安全服务链的绑定。封装头除了包含安全服务链的标识,也包含安全服务功能的序号,表示数据包当前须进入第几个安全服务功能,具体的封装格式:
①将MPLS协议头部的label字段定义为:nsp<<8|nsi,其中nsp表示SFP的标识,nsi表示下一个安全服务功能的序号,<<8表示将nsp左移8位,|表示将前后两部分连接起来;例如:
511的二进制为111111111,即0001|11111111,其中0001即nsp左移8位的值,11111111即nsi的值。因此,511即表示当前该数据包须由ID为1的服务链中位置为255的虚拟网络或安全功能处理。
509的二进制为111111101,即0001|11111101,其中0001即nsp左移8位的值,11111101即nsi的值。因此,509即表示当前该数据包须由ID为1的安全服务链中位置为253的虚拟安全功能处理。
②将MPLS的TTL字段定义为下一个安全服务功能的序号nsi。
(3)查询虚拟交换机的配置信息,获取安全服务链中所有安全功能虚拟机在虚拟交换机中对应的网络端口(port)编号:p2,p3,p4,p5,p6,p7。
(4)根据安全服务链中安全功能虚拟机和网络端口的关联关系,构建port对:{p2,p3},{p4,p5},{p6,p7},每个port对中第1个port为入口,第2个port为出口。
(5)根据安全服务链中安全功能的顺序,构建port链:[{p2,p3},{p4,p5},{p6,p7}]。
(6)根据以上信息,生成流量牵引流表,流量牵引流表的转发端口为每个port对中的入口,从而实现流调度。
总之,本发明在多协议标签交换(Multi-Protocol Label Switching,MPLS)的基础上,对其头部进行了重定义,并提出了生成流量分类表和牵引流表的方法,实现网络与安全功能服务链(Service Function Chain,SFC)的动态编排。本发明将MPLS作为SFC封装协议,可实现同一安全功能模块在不同安全服务链中的复用,同时无需额外扩展Openflow协议和改造当前SDN交换机功能,因此能够在实际中快速应用。
Claims (1)
1.一种基于MPLS封装的安全服务链动态编排方法,其特征在于,包括以下步骤:
(1)根据流量的特征,通过分类器创建流量分类流表,根据数据包头信息对流量进行流表匹配;在流量分类流表中,将目的MAC地址设置为安全服务链中首个安全功能vFW虚拟机的MAC地址,并将流量转发到封装流表;
(2)通过重定义MPLS协议的头部字段,封装服务链报头,将流量与安全服务链进行绑定;重定义的方式为:
①将MPLS协议头部的label字段定义为:nsp<<8 | nsi,其中nsp表示安全服务链的标识,nsi表示下一个安全服务功能的序号,<<8表示左移8位,|表示将前后两部分连接起来;
②将MPLS的TTL字段定义为下一个安全服务功能的序号nsi;
(3)查询虚拟交换机的配置信息,获取安全服务链中所有安全功能虚拟机在虚拟交换机中对应的网络端口编号;
(4)根据安全服务链中安全功能虚拟机和网络端口的关联关系,构建网络端口对,每个网络端口对中第1个网络端口为入口,第2个网络端口为出口;
(5)根据安全服务链中安全功能的顺序,构建网络端口链;
(6)生成流量牵引流表,流量牵引流表的转发端口为每个网络端口对中的入口,从而实现流调度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010573773.4A CN111756632B (zh) | 2020-06-22 | 2020-06-22 | 一种基于mpls封装的安全服务链动态编排方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010573773.4A CN111756632B (zh) | 2020-06-22 | 2020-06-22 | 一种基于mpls封装的安全服务链动态编排方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111756632A CN111756632A (zh) | 2020-10-09 |
CN111756632B true CN111756632B (zh) | 2021-10-22 |
Family
ID=72675549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010573773.4A Active CN111756632B (zh) | 2020-06-22 | 2020-06-22 | 一种基于mpls封装的安全服务链动态编排方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111756632B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11848865B2 (en) | 2021-05-27 | 2023-12-19 | Cisco Technology, Inc. | Application programming interface (API)-based multi-tenant routing control plane |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113411207B (zh) * | 2021-05-28 | 2022-09-20 | 中国人民解放军战略支援部队信息工程大学 | 智慧网络服务功能链的服务功能流转编排基础平台及方法 |
CN114244592B (zh) * | 2021-12-08 | 2024-07-02 | 中盈优创资讯科技有限公司 | 一种vpc环境下安全服务的调度方法及装置 |
CN114157612A (zh) * | 2021-12-09 | 2022-03-08 | 中国电信股份有限公司 | 流量牵引控制方法和装置、引流装置、流量牵引系统 |
CN114900458B (zh) * | 2022-03-22 | 2024-01-09 | 阿里云计算有限公司 | 报文转发方法、设备、介质及产品 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109495391A (zh) * | 2018-12-18 | 2019-03-19 | 天津城建大学 | 一种基于sdn的安全服务链系统及数据包匹配转发方法 |
CN109873724A (zh) * | 2019-02-28 | 2019-06-11 | 南京创网网络技术有限公司 | 应用于sdn网络的服务链高可用方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101834793A (zh) * | 2010-04-29 | 2010-09-15 | 电子科技大学 | 基于mpls/ops的虚拟专用网的实现方法 |
US9363180B2 (en) * | 2013-11-04 | 2016-06-07 | Telefonkatiebolaget L M Ericsson (Publ) | Service chaining in a cloud environment using Software Defined Networking |
US10243922B2 (en) * | 2014-09-23 | 2019-03-26 | Nec Corporation | Efficient service function chaining over a transport network |
US9686181B2 (en) * | 2014-10-07 | 2017-06-20 | Cisco Technology, Inc. | Selective service bypass in service function chaining |
EP3300317B1 (en) * | 2015-06-10 | 2020-08-26 | Huawei Technologies Co., Ltd. | Method, device and system for realizing service link |
CN105430051A (zh) * | 2015-10-30 | 2016-03-23 | 浙江工商大学 | 一种面向sdn的服务功能链构建方法 |
CN105681196B (zh) * | 2016-01-12 | 2019-01-22 | 中国联合网络通信集团有限公司 | 一种业务处理的方法、转发器及分类器 |
US10063415B1 (en) * | 2016-06-29 | 2018-08-28 | Juniper Networks, Inc. | Network services using pools of pre-configured virtualized network functions and service chains |
CN106789542B (zh) * | 2017-03-03 | 2019-08-09 | 清华大学 | 一种云数据中心安全服务链的实现方法 |
CN107819663B (zh) * | 2017-11-27 | 2020-06-16 | 锐捷网络股份有限公司 | 一种实现虚拟网络功能服务链的方法和装置 |
CN110891020B (zh) * | 2019-12-24 | 2021-07-13 | 中国电子科技集团公司第五十四研究所 | 一种sdn带内控制网络的流表数量优化方法 |
-
2020
- 2020-06-22 CN CN202010573773.4A patent/CN111756632B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109495391A (zh) * | 2018-12-18 | 2019-03-19 | 天津城建大学 | 一种基于sdn的安全服务链系统及数据包匹配转发方法 |
CN109873724A (zh) * | 2019-02-28 | 2019-06-11 | 南京创网网络技术有限公司 | 应用于sdn网络的服务链高可用方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11848865B2 (en) | 2021-05-27 | 2023-12-19 | Cisco Technology, Inc. | Application programming interface (API)-based multi-tenant routing control plane |
Also Published As
Publication number | Publication date |
---|---|
CN111756632A (zh) | 2020-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111756632B (zh) | 一种基于mpls封装的安全服务链动态编排方法 | |
US10757231B2 (en) | Providing network efficiencies in forwarding packets among provider networks and applying segment routing policies | |
CN111512601B (zh) | 分组的分段路由网络处理 | |
EP3210345B1 (en) | Transparent network service header path proxies | |
US8644328B2 (en) | Methods for intelligent NIC bonding and load-balancing | |
US7486674B2 (en) | Data mirroring in a service | |
US9451056B2 (en) | Method for mapping packets to network virtualization instances | |
US7190695B2 (en) | Flexible application of mapping algorithms within a packet distributor | |
US7742480B2 (en) | Selective header field dispatch in a network processing system | |
US6977932B1 (en) | System and method for network tunneling utilizing micro-flow state information | |
CN102415065B (zh) | 在有路由的网络中冗余主机连接的方法和装置 | |
US6996102B2 (en) | Method and apparatus for routing data traffic across a multicast-capable fabric | |
CN105376158B (zh) | 基于mpls报文中exp值的sdn流转方法及其装置 | |
US20160014016A1 (en) | Encoding Inter-Domain Shared Service Paths | |
US20110110382A1 (en) | Distribution of Packets Among PortChannel Groups of PortChannel Links | |
US10601610B2 (en) | Tunnel-level fragmentation and reassembly based on tunnel context | |
KR20090083339A (ko) | 다중경로 환경에서 전송 프로토콜의 성능을 향상시키기 위한 시스템 및 방법 | |
WO2010132061A1 (en) | A method and apparatus for policy enforcement using a tag | |
CA2467346C (en) | Active networks | |
WO2021168145A1 (en) | Methods and systems for processing data in a programmable data processing pipeline that includes out-of-pipeline processing | |
US10461873B1 (en) | Disaggregated hybrid optical transport network, internet protocol, and Ethernet switching system | |
CN103109503B (zh) | 入口vlan vcl的出口处理 | |
EP4397018A1 (en) | Network node-to-node connectivity verification including data path processing of packets within a packet switching device | |
CN110581799A (zh) | 一种业务流的转发方法及装置 | |
US11683271B1 (en) | Differential processing of packets using service function instances identified by service function values in packets |
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 |