CN111756632B - 一种基于mpls封装的安全服务链动态编排方法 - Google Patents

一种基于mpls封装的安全服务链动态编排方法 Download PDF

Info

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
Application number
CN202010573773.4A
Other languages
English (en)
Other versions
CN111756632A (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.)
CETC 54 Research Institute
Original Assignee
CETC 54 Research Institute
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 CETC 54 Research Institute filed Critical CETC 54 Research Institute
Priority to CN202010573773.4A priority Critical patent/CN111756632B/zh
Publication of CN111756632A publication Critical patent/CN111756632A/zh
Application granted granted Critical
Publication of CN111756632B publication Critical patent/CN111756632B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header 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封装的安全服务链动态编排方法
技术领域
本方法涉及网络安全技术领域,特别是指一种基于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(流量分类流表)中实现服务链流匹配和负载均衡:
Figure GDA0003255741160000051
Figure GDA0003255741160000061
2)在vSwitch的table:5(封装流表)中实现服务链报头封装:
Figure GDA0003255741160000062
3)在vSwitch的table:10(流量牵引流表)中实现SFC报头解封装,并发往虚拟网络或安全功能:
Figure GDA0003255741160000063
(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)生成流量牵引流表,流量牵引流表的转发端口为每个网络端口对中的入口,从而实现流调度。
CN202010573773.4A 2020-06-22 2020-06-22 一种基于mpls封装的安全服务链动态编排方法 Active CN111756632B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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带内控制网络的流表数量优化方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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