您好,欢迎来到尚车旅游网。
搜索
您的当前位置:首页基于软件定义网络的业务功能链的实现[发明专利]

基于软件定义网络的业务功能链的实现[发明专利]

来源:尚车旅游网
(19)中华人民共和国国家知识产权局

(12)发明专利申请

(10)申请公布号 CN 112385185 A(43)申请公布日 2021.02.19

(21)申请号 201880095531.X(22)申请日 2018.07.11(85)PCT国际申请进入国家阶段日

2021.01.08(86)PCT国际申请的申请数据

PCT/CN2018/095336 2018.07.11(87)PCT国际申请的公布数据WO2020/010557 ZH 2020.01.16(71)申请人 上海诺基亚贝尔股份有限公司地址 上海市浦东新区金桥宁桥路388号 申请人 诺基亚通信公司(72)发明人 胡志远 陈端 骆志刚 (74)专利代理机构 北京市金杜律师事务所

11256

代理人 酆迅 罗利娜(54)发明名称

基于软件定义网络的业务功能链的实现(57)摘要

本公开的实施例涉及基于软件定义网络的业务功能链的实现。在一些实施例中,提供了一种在业务功能链控制器处实现的方法。该方法包括为分组创建业务功能链,业务功能链包括要用于处理分组的一组有序业务功能;以及将与业务功能链相关联的相应转发规则直接或间接配置到软件定义网络中的多个网络节点,相应转发规则指示多个网络节点如何将分组转发到业务功能链中的一组有序业务功能。以此方式,可以在软件定义网络中实现业务功能链。

(51)Int.Cl.

H04L 12/703(2006.01)

CN 112385185 A2..

(71)申请人(对除CW外的所有指定国):诺基亚技术有

限公司(NOKIATECHNOLOGIESOY)[FI/FI];芬

(51)国际专利分类号:

H04L12/703(2013.01)(21)(22)(25)(26)

国际申请号:国际申请日:申请语言:公布语言:

PCT/CN2018/095336

2018年7月11日(11.07.2018)

中文中文

兰凯拉波蒂3,埃斯波,Espoo02610(FI)。

(72)

发明人:胡志远

(HU,Zhiyuan);中国上海市浦

(CN)。骆志刚

东金桥宁桥路388号,Shanghai201206陈端(CHEN,Duan);

中国上海市浦东金桥宁

(CN)。

桥路388号,Shanghai201206

(71)申请人(仅对CW):上海诺基亚贝尔股份有

限公司(NOKIASHANGHAIBELLCO.,LTD.)[CN/

(LUO,Zhigang):中国上海市浦东金桥宁桥路388号,Shanghai201206(CN)。

CN];中国上海市浦东金桥宁桥路388号,

Shanghai201206(CN)。诺基亚通信公司(NOKIA

(74)代理人:北京市金杜律师事务所(KING&

WOODMALLESONS);中国北京市朝阳区东

三环中路1号环球金融中心办公楼东楼20层,Beijing100020(CN)。

SOLUTIONSANDNETWORKSOY)[FI/FI];芬兰

凯拉波蒂3,埃斯波,Espoo02610(FI)。

(81)

指定国(除另有指明,要求每一种可提供的国家

保护):AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,

(54)Title:IMPLEMENTATIONOFSERVICEFUNCTIONCHAINONBASISOFSOFTWARE-DEFINEDNETWORK

=(54)

发明名称:基于软件定义网络的业务功能链的实现

图2

=

(57)Abstract:Theembodimentsofthepresentdisclosurerelatetotheimplementationofaservicefunctionchainonthebasisofa

software-definednetwork(SDN).Providedinsomeembodimentsisamethodforimplementationataservicefunctionchaincontroller.Themethodcomprises:creatingaservicefunctionchainforapacket,theservicefunctionchaincomprisingagroupoforderedservicefunctionstobeusedforprocessingthepacket;anddirectlyorindirectlyconfiguringacorrespondingforwardingrulethatrelatestotheservicefunctionchaintoapluralityofnetworknodesinanSDN,thecorrespondingforwardingruleindicatinghowthepluralityofnetworknodesforwardthepackettothegroupoforderedservicefunctionsintheservicefunctionchain.Byemployingthedescribedmethod,aservicefunctionchainmaybeimplementedinaSDN.

(57)

摘要:本公开的实施例涉及基于软件定义网络的业务功能链的实现。在一些实施例中,提供了

一种在业务功能链控制器处实现的方法。该方法包括为分组创建业务功能链,业务功能链包括要用于处理分组的一组有序业务功能;以及将与业务功能链相关联的相应转发规则直接或间接配置到

S

0

软件定义网络中的多个网络节点,相应转发规则指示多个网络节点如何将分组转发到业务功能链中的一组有序业务功能。以此方式,可以在软件定义网络中实现业务功能链。

[见续页]

BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IR,IS,JO,JP,KE,KG,KH,KN,KP,KR,KW,KZ,LA,LC,LK,

LR,LS,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT,TZ,UA,UG,US,UZ,VC,VN,ZA,ZM,ZW。

(84)指定国(除另有指明,要求每一种可提供的地区

保护):ARIPO(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,ST,SZ,TZ,UG,ZM,ZW),欧亚(AM,AZ,BY,KG,KZ,RU,TJ,TM),欧洲(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OAPI(BF,BJ,CF,CG,Cl,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG)。

根据细则4.17的声明:-发明人资格(细则4.17(iv))本国际公布:

-包括国际检索报告(条约第21条(3))。

基于软件定义网络的业务功能链的实现

技术领域

本公开的实施例一般涉及网络领域,并且具体地涉及基于软件定义网络(SDN)的业务功能链(SFC)的实现。

背景技术

随着网络功能虚拟化(NFV)、软件定义网络(SDN)和业务功能链(SFC)等技术的出现,网络运营者能够进行网络改造以使得网络可编程并且降低成本。因此,基于这些技术能快速和方便地部署各种应用。SDN技术能够实现业务流的网络侧精细控制,因此能够支持自动且动态的应用部署和重新配置。SFC技术使得业务提供方能够动态地提供各种业务功能而无需改变底层网络部署。这样的业务功能包括网络业务功能,诸如移动网络中的移动性管理和会话管理、认证、防火墙、入侵检测系统、深度包检测、传统IP网络地址解译(NAT)等。SFC技术还可以用于提供特定于应用的功能。

通常,SDN技术和

SFC

技术分别被部署。例如,为了提供动态

业务功能,需要在网络中部署控制平面的

SFC控制器,并且在数据

平面中部署用于管理针对分组的业务功能链的分类器以及用于实现分组到相应业务功能的转发的业务功能转发器(SFF)。在基于SDN

的网络中,需要部署控制平面中的SDN控

制器,并且在数据平面部

署用于支持分组转发的交换机。

发明内容

下面给出了对各实施例的简要概述,以提供对各种实施例的一些方面的基本理解。注意,发明内容部分并非旨在标识关键元素的要点或描述各种实施例的范围。其唯一目的在于以简化形式呈现一些概念,作为对后述更具体描述的前序。

在第一方面,提供了一种在业务功能链控制器处实现的方法。

该方法包括为分组创建业务功能链,业务功能链包括要用于处理分组的一组有序业务功能;以及将与业务功能链相关联的转发规则直接或间接配置到软件定义网络中的多个网络节点,转发规则指示多个网络节点如何将分组转发到业务功能链中的一组有序业务功能。

在第二方面,提供了一种在软件定义网络中的网络节点处实现的方法。该方法包括:从软件定义网络中的上游节点接收分组;从业务功能链控制器获得与分组的业务功能链相关联的转发规则,业务功能链包括要用于处理分组的一组有序业务功能,并且转发规则指示网络节点如何将分组转发到一组有序业务功能中的业务功能;以及基于转发规则,将分组转发到与一组有序业务功能中的业务功能通信耦合的下游节点。

在第三方面,提供了一种在软件定义网络控制器处实现的方法。该方法包括从业务功能链控制器接收与为分组创建的业务功能链相关联的相应转发规则,业务功能链包括要用于处理分组的一组有序业务功能,并且相应转发规则指示软件定义网络中的多个网络节点如何将分组转发到业务功能链中的一组有序业务功能;以及将相应转发规则提供给多个网络节点。

在第四方面,提供了一种通信设备。该设备包括处理器;以及存储器,所述存储器存储有指令,所述指令在被所述处理器执行时使所述设备执行根据第一方面、第二方面或第三方面的方法。

在第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现根据第一方面、第二方面或第三方面的方法。

应当理解,发明内容部分中所描述的内容并非旨在限定本公开实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。

附图说明

从下文的公开内容和权利要求中,本公开的目的、优点和其他

特征将变得更加明显。这里仅出于示例的目的,参考附图来给出优选实施例的非限制性描述,在附图中:

图1示出用于提供

SFC

的典型系统的示例性架构图;

图2示出根据本公开的实施例的基于SDN

实现

SFC

的系统的示

例性架构图;

图3示出在SDN

网络中用于转发基于标签协议的分组的流表的

示例结构图;

图4A和图4B示出根据本公开的实施例的在图2的系统中用于分组转发的流表的示例结构图;

图4C示出了根据本公开的实施例的在流条目中定义的处理动作的示例;

图5示出了根据本公开的实施例的路径标签的示例结构;图6示出根据本公开的实施例的基于SDN

SFC

系统的一个示

例;

图7A至图7N示出了在图6的示例中使用的流表的示例结构图;图8示出根据本公开的实施例的在SFC

控制器处实现的方法的

流程图;

图9示出根据本公开的实施例的在SDN

网络中的网络节点处实

现的方法的流程图;

图10示出根据本公开的实施例的在SDN

控制器处实现的方法

的流程图;以及

图11示出可以用来实施本公开的实施例的示例设备的示意性框图。

在各个附图中,相同或对应的标号表示相同或对应的部分。

具体实施方式

在以下描述中,出于说明的目的而阐述许多细节。然而,本领域普通技术人员将认识到可以在不使用这些具体细节的情况下实现本公开。因此,本公开不旨在于受限于所示实施例、而是将被赋予

与本文描述的原理和特征一致的最苋的范围。

应当理解,术语“第

“第二”等仅被用来将一个元素与另一个

元素区分开来。而实际上第一元素也能够被称为第二元素,反之亦然。另外还应当理解“包括”,“包含”仅被用来说明所陈述的特征、元素、功能或者部件的存在,然而并不排除存在一个或者多个其他的特征、元素、功能或者部件。

图1示出了用于提供

SFC的典型系统100的示例性架构图。系

统100可以包括控制平面中的一个或者多个控制器,该一个或多个控制器可以被分布在一个或者多个物理主机和/或虚拟主机上。如图1所示,系统100可以包括业务功能链(SFC)控制器110。

如图1所示,SFC控制器110可以与数据平面上的各个节点进行通信,并对数据平面上的各个节点进行配置。例如,数据平面可以包括分类器120,一个或多个业务功能转发器(SFF)130-1、130-2、130-3、130-4(为便于描述,统称为

SFF130),以及相应的业务功

能(SF)140-1、140-2、140-3、140-4等(为便于描述,统称为SF140)。

在提供

SFC的系统100中,分类器120提供分类功能,以将分

组分类到匹配的业务功能链(SFC)中。分类策略可以特定于用户、特定于网络或特定于业务。分类器120可以包括分类表121,用于确定分组到

SFC的匹配。

SF140用于对接收到的分组执行特定处理。SF140可以是一个

逻辑元件,其可以被实现为物理网络设备中的虚拟元件或者被嵌入其中。SF140可以提供通用的网络业务功能或者特定于应用的功能。

SF140的示例可以包括但不限于防火墙、访问控制、实体认证、统

一威胁管理(UTM)、入侵检测系统(IDS)、入侵预防系统(IPS)、虚拟私人网络(VPN)、安全网关、深度包检测(DPI)、合法监听(LI)、流量清洗、数据完整性验证、数据机密性保护、数据脱敏、数据加密、数据解密等等。

SFF130用于将分组转发到与其通信连接的SF140,并且从SF

140接收处理后的分组。SFF130可以分别包括业务功能路径(SFP)

表150-1、150-2、150-3和150-4(为便于描述,通常为

SFP表150)。

SFF130基于SFP表150来确定如何转发分组。SFF130可以被实现

为物理网络设备中的虚拟元件或者被嵌入其中。

在系统

100中,SFC控制器110可以为分组创建业务功能链

(SFC)。SFC有时也可被简称为业务链(SC),每个SFC包括一

组有序的SF140。被分类到特定SFC中的分组将由该链中涉及的SF

140处理。如果

SFC中的SF均涉及数据安全功能,则SFC还可以

被称为安全业务链(SSC)。

在图1的示例中示出了两条

SFC,分别用于从主机170-1传输到

主机170-2的分组以及从主机170-1传输到主机170-3。两条SFC的

路径对应于SFP161和162,其中SFP161涉及:主机170-1->分类

器120->SFF130-1->SF140-1->SFF130-1->SFF130-2->SF140-2->

SFF130-2->SFF130-4->SF140-4->SFF130-4->主机

170-2。SFP162涉及:主机170-1->分类器120->SFF130-1->SFF

130-3->SF140-3->

SFF130-3->主机170-3。在SFP161中,从主

机170-1到主机170-2的分组被一组有序的SF140-1、140-2、140-3

和140-4构成的

SFC处理。在SFP162中,从主机170-1到主机170-3

的分组被由SF140-3组成的

SFC处理。

应当理解,图1中所示的系统100的架构仅为示例性的。在实际应用中,系统100可以包括更多的组件、更少的组件或者不同的组件。

在网络部署中,存在一种基于软件定义网络(SDN)技术实现的网络通信。在

SDN网络中存在SDN控制器和一个或多个交换机。

SDN控制器根据指定的控制协议来控制交换机对分组的转发,从而

使得交换机能够将分组从源地址被传输到目的地地址。SDN网络的核心是通过将网络设备的控制平面与数据平面分离开来,实现了网络流量的灵活控制,使网络作为管道变得更加智能。

如以上提及的,SDN技术和SFC技术分别被部署。SFC控制器

SDN控制器分别控制数据平面的元件用以实现相应功能。期望能

够利用SDN网络中的网络设备来实现SFC,从而能够获得两种技术带来的优点。

根据本公开的实施例,提出了一种基于SDN来实现SFC的方案。在该方案中,将用于支持SFC的SFC部件(诸如分类器、SFF)实现为SDN网络中的网络节点的转发规则,诸如流表。转发规则指示网络节点如何将分组转发到相应SFC的SFJFC

控制器可以与SDN

控制器或网络节点通信,以向网络节点配置这样的转发规则。以下将参考附图来详细说明本公开的实施例。

图2示出了根据本公开的实施例的基于SDN实现SFC的系统200的示例结构图。在系统200中,控制平面中包括SFC控制器210,用于控制分组的SFC。控制平面中还包括SDN控制器212,用于控制SDN网络中的网络节点(诸如网络节点220-1、220-2等)。网络节点220-1、220-2可以统称为网络节点220,其负责分组的转发。网络节点220有时也可被称为网络设备、交换机、交换设备等。网络节点220-2还连接到SF240-1。SF240-1用于处理分组,以提供特定业务功能。

应当理解,图2示出的设备的数目和部署仅是一个示例。在其他情况中,系统200中还可以包括更多的网络节点和更多的SF,每个网络节点可以连接到多于一个的SF。

SDN网络中的SDN控制器212和网络节点220可以以各种控制协议进行交互。一种控制协议的示例是OpenFlow协议。在这种协议下,网络节点220也可以被称为OpenFlow

交换机,SDN控制器212

可以被称为OpenFlow控制器。支持控制和数据平面之间的交互的其他协议也可以使用,诸如虚拟扩展局域网(VXLAN

)协议等。在下

文中,以OpenFlow协议为例来描述本公开的实施例,但应当理解这些实施例也可以适用于SDN控制器212与网络节点220使用其他通信协议的情况。还应注意,在基于OpenFlow协议的通信中,对分组的通信也可以被称为是对数据流的通信。

在操作中,SFC控制器210为分组创建SFC,该SFC包括要用

于处理分组的一组有序SF(在图2的示例中是SF240-1)。SFC可以特定于用户、特定于应用、特定于网络,等等。在这种情况下,来自于特定用户或特定应用的分组或者在特定网络(例如系统200)中传输的分组都将由该SFC中的SF处理。SFC控制器210将与所创建的SFC相关联的相应转发规则配置到SDN中的网络节点220。转发规则指示网络节点220如何将分组转发到所创建的SFC中的各个SF。与所创建的SFC相关联的转发规则可能涉及多个网络节点的转发,因此SFC控制器210可以将相应的转发规则配置到各个网络节点220,每个网络节点220获得的转发规则指定该网络节点220本身对分组的转发操作。

在单纯的SFC实现中,在创建SFC之后,针对该SFC的分组将由分类器分类到该SFC中并提供给相应的SFF,然后经由SFF转发到相应的SF以用于处理。为了在

SDN中实现这样的功能,根据本

公开的实施例,分类器和SFF对分组到SFC中的传递被配置为SDN

中的网络节点的转发规则。在被配置有这样的转发规则之后,网络节点220将基于转发规则来转发分组,以使得分组能够被正确地传送到由SFC控制器210创建的SFC所涉及的SF中。

如图2所示,网络节点220-1可以从上游节点接收分组。向网络节点220-1提供分组的上游节点可以是主机设备或者其他生成分组的用户设备。网络节点220-1基于SFC控制器210配置的转发规则202-1将分组转发给下游网络节点220-2(也称为下一跳)。网络节点220-2连接到SF240-1。基于被配置的转发规则202-2,

网络节点

220-2可以将分组提供给SF240-1处理并且将分组转发给下游节点,也称为下一跳(例如,下一网络节点或者分组的目的地设备)。

SFC控制器210可以将转发规则直接或间接配置到网络节点

220。在一些实施例中,SFC控制器210可以将转发规则直接传输给网络节点220。例如,在网络节点220是

OpenFlow交换机的示例中,

SFC控制器210可以利用诸如扩展NETCONF协议来与网络节点220

直接通信,以向网络节点220传输转发规则。在这样的实施例中,

可以不改变

SDN控制器212与网络节点220之间的通信协议。

SDN控制器212来将转发规SDN控制器212充当SFC控制

备选地,SFC控制器210可以经由则提供给网络节点220。换言之,由

器210与网络节点220之间的通信中介,以实现转发规则的间接配置。在这样的实现中,SDN控制器212可以包括一个SFC实现模块214,

用于支持与SFC控制器210的通信。SFC控制器210将转发规

则传输给

SDN控制器212(例如其中的SFC实现模块214)。在获

得转发规则后,SDN控制器212根据与网络节点220的通信协议(例如

OpenFlow协议)来将转发规则传输给网络节点220。SDN控制器

212与网络节点220之间的常规通信将被改变以支持转发规则的传输。例如,SDN控制器212与网络节点220之间的传输的消息配置需要更新,以支持与SFC相关联的转发规则的传输。

在一些实施例中,为了创建SFC和生成转发规则,SFC控制器210还向

SDN控制器212请求网络相关的信息,诸如网络拓扑信息。

网络拓扑信息指示系统200中的网络节点220之间、网络节点220与发起和接收分组的主机设备之间、以及网络节点220与SF240-1之间的拓扑结构。SFC控制器210向

SDN控制器212发送针对网络

拓扑信息的请求。响应于该请求,SDN控制器212向SFC控制器210传输网络拓扑信息。SFC控制器210可以基于这样的网络拓扑信息来创建SFC。网络拓扑信息可以指示SF在网络中的部署情况,与之相连接的网络节点等等,这可以促进SFC控制器210对SFC的生成。在配置转发规则时,SFC控制器210也可以参考所获得的网络拓扑信息,例如使得转发规则可以指示哪个网络节点如何将分组转发到哪些SF。与SFC控制器210相关的通信均可以由中的SFC实现模块214来实现。

在一些实施例中,SFC控制器210还可以请求与网络节点220和/或SF240-1的部署状态和操作状态有关的信息,以用于支持

SDN控制器212

SFC

的创建和转发规则的配置。网络节点220和/或SF240-1的部署状态可以从诸如管理和编排(Management

andOrchestration,MANO)设

备获得。MANO设备(在图2中未示出)在SDN网络中负责执行虚拟机(VM)管理和虚拟化网络功能的管理、维护和供应。MANCHA备可以向SFC控制器210提供网络节点220和/或SF240-1的部署状态和操作状态,诸如这些节点的呑吐量、延迟性、IP地址、运行业务功能的灵活度和可用性等等。

下文将详细讨论SFC控制器210如何配置转发规则,以使得网络节点220能够实现将分组转发到组成特定SFC的相应SF。在SFC的实现中,需要一个分类功能,以实现将分组分类到相对应的SFC中。此外,还需要业务功能转发(SFF),以实现将分类到对应SFC的分组在SFP中的传输,从将分组提供给相应的SF进行处理。在基于SDN的SFC实现中,分类功能和SFF功能都被配置为网络节点220中的转发规则。

在基于OpenFlow协议的SDN网络中,网络节点220基于流表来执行分组的转发。在常规SDN网络中,由SDN控制器来配置流表。一个流表包括一条或多条流条目,每条流条目指示网络节点要对分组执行的动作。在接收到分组后,网络节点220查找流表,以确定与分组相匹配的流条目并且根据该流条目执行相应动作,诸如分组报头的封装或去封装、多路径转发、输出到一个或几个端口、去往其他流表继续处理等等。

图3示出了在SDN网络中用于转发基于标签协议的流表的流条目300的一种示例结构。流表目300包括匹配字段,其中记录用于分组匹配的信息(也称为匹配信息)。如果分组包含与一条流条目的匹配字段中一项或多项信息相匹配的信息,则该分组与该流条目匹配。在图3的示例中,匹配字段包括输入端口、输入标签和目的地互联网协议(IP)地址。输入端口指示分组输入到网络节点的端口。输入标签在SDN控制器根据路径标签服务来指示网络节点的转发的情况中指示网络节点从中接收到分组的交换路径的标签。路径标签诸如可以包括多协议标签交换(MPLS)标签、通用路由封装(GRE)标签、虚拟扩展局域网-通用路径封装(VXLAN-GRE)标

签等。输入标签可以进一步指示分组的输入路径。匹配字段中的目的地IP地址指示分组将被转发到的目的地的IP地址。虽然包括多个字段,但取决于实际转发需要,流条目300的匹配字段中的一项或多项可以不被配置有相应的信息。匹配字段还可以包括其他用于匹配的信息,诸如分组的源IP地址、源端口号、目的地IP地址、目的地端口号、分组所采用的协议类型、输入端口等。

如图

3所示,流条目300还包括输出标签字段,用于在SDN控

制器根据路径标签服务来指示网络节点的转发的情况中指示网络节点要将分组输出的路径标签。流条目300还包括指令字段,指示要网络节点要执行的相应操作。指令字段的“应用动作”部分可以包括“更新分组报头”字段,其指示对分组的报头的相应操作,诸如插入特定信息、移除特定信息等。“应用动作”部分还可以包括“输出端口”字段,指示将网络节点将分组从该字段指示的输出端口输出。在一些示例中,流条目300的指令字段还可以包括“去往流表”的字段。该字段通常在网络节点包括多个流表的情况下使用。如果网络节点包括多个流表,网络节点可能需要执行流表的流水线处理。也就是说,在根据一个流表的流条目处理分组之后,如果该流条目的“去往流表”字段指示下一个流表,网络节点还根据下一流表中的匹配流条目继续处理该分组。

3示出的流表的流条目仅仅是一个示例说明。根据OpenFlow

SFC,SFC

协议,流条目还可以具有其他变型。

在本公开的一些实施例中,为了支持在SDN中实现

控制器将为分组创建的SFC相关联的转发规则配置为网络节点中的流条目。与常规流条目相比,为了支持SFC所需要的分类和SFP转发功能,需要扩展或修改流表中的流条目。下文结合图

4A和图4B

的示例来描述用于支持SFC所需的分类和SFP转发的流条目的示例。SDN控制器212将要扩展网络节点220的流表,以支持这样的流条目。

图4A示出了针对SFC的分类的流条目410。流条目410中包括

新的网络业务报头(NSH)字段,用于指示分组的NSH。在SFC的分类中,通过在分组分类到所创建的

SFC之后,将向该分组封装

NSH。NSH的格式诸如可以是与SFC相关的协议中定义的报头格式,

的标识符,诸如业务路径标识符(SPI)、业务索引(SI)等。NSH还可以包括

“下一协议”字段,指示分组所封装的数据(有效载荷)

的协议类型。NSH还可以可选地包括“上下文报头”字段,指示SFC的元数据

(即上下文数据)。NSH具有不同类型,图4A

中示出的

NSH的结构仅是示例。根据SFC相关协议的定义,NSH可以包括更

多信息、不同的信息或者更少的信息(例如,下一协议字段和上下文报文字段均可以被省略)。

流条目410还可以包括新的

“下一跳”

字段,指示分组要被转

发到的一组有序SF中的下一个SF,例如可以包括下一个SF的地址。“下一跳”

字段的指示通常根据

SFC的业务分组路径(SFP)中的

下一跳位置,其根据SPI和SI来指示。“下一跳”字段也可以与SFC相关的协议中定义的

SFC中的分组传递相一致,诸如在

“下一跳”

IETF

兄FG5300协议中所定义的。SFC的可以用于在基于底层

网络协议建立的传输路径中传输被封装有NSH的分组。通常,在分类时,流条目410中的

“下一跳”

字段指示SFC的一组有序SF中

“下一跳”

的指示,可以在当

的第一个SF。在一些实施例中,根据前网络节点与

“下一跳”

相关联的节点之间建立转发路径,诸如标

签交换路径(LSP)。一些SFC可能需要构建多个LSP(例如如果包括多个SF)。多个LSP可以构成分组在整个网络中的转发。

在一些实施例中,流条目410还可以指示对分组的一些特定处理动作。如关于图3所描述的,常规流条目中包括其中的

“应用动作”

“指令”

字段,

部分定义了网络节点需要对分组执行的处理动

作。考虑到SFC的实现,可以对网络节点要执行的处理动作进行扩展。在一些实现中,流条目410可以指示与SFC相关的报头(即NSH报头)相关联的处理动作。在分类功能的实现中,流条目410的“更

新分组报头”组插入行。

的动作字段可以被扩展为指示如下的处理动作:向分

的插入通常在将分组分类到

NSH。NSHSFC的路径中时被执

“更新

流条目410的“应用动作”还可以包括额外的动作字段报头匹配字段”

,以指示如下处理动作:将分组的目的地地址替换

为下一跳所指示的

SF的地址。通过应用该处理动作,分组的目的地

地址被替换,以便于支持建立与下一跳的

LSP。

IP

地址、源

在一些实施例中,为了支持对分组的更精细的分类,流条目410的匹配字段除了常规的流表的匹配信息(诸如分组的源端口号、目的地

IP地址、目的地端口号、协议类型、输入端口等)

SFC场景下的额外匹配信息。这样的额外匹配

之外,还可以包括在

信息的示例可以包括分组的应用类型,指示生成该分组中的有效载荷的应用属于何种类型。额外的匹配信息还可以包括分组的用户信息,指示发起该分组的用户或用户的主机设备的相关信息。这些匹配信息中的一项或者多项可以被配置。因此,SDN的常规流表中的流条目被扩展为包括上述字段类型,以用于承载这些额外的配置信息。例如,在字段类型

OpenFlow

协议的规范中,匹配字段可以被扩展为包括

=

“OFPXMTOFBAPPLICATION—TYPE

”以

=括

xx,/*Application

type.

用于指示在匹配字段中承载分组的应用类型。匹配字段

字/*

“OFPXMTOFBUSERINFORMATION

*/”

xx,Userinformation.

,用于指示在匹配字段中承载分组的用户信息。

在一些实施例中,如果流条目410被设置在具有多个流表的网

络节点中,流条目410还包括“去往流表”字段,用于指示在网络

节点的流表的流水线处理中的下一流表。在一些实施例中,在网络节点的流表的流水线处理中,包含流条目410的流表可以是流水线处理中的第二个流表。

图4A示出了针对器210在创建

SFC的分类的流条目的示例结构。SFC控制

SFC之后,可以将所创建的SFC,将用于SFC的分类

的流条目配置到相应网络节点的流表中。在网络节点220包括多个流表的情况下,配置有如图4A示例说明的用于分类的流条目的流表可以与其他流表一起在流表的流水线处理中使用。

图4B示出了针对SFC的SFP转发的流条目420。在常规SFC中,SFP转发通常由SFF这样的组件来实现。在本公开的实施例中,

SFF转发功能被实现为网络节点的流表中的流条目。流条目420用

于使网络节点220将分组转发到相应的SF进行处理,并且还将由

SF处理后返回的分组继续转发到下一节点。

如图4B所示,流条目420指示SFC的标识符,其可以被包括在流条目420的匹配字段中作为匹配信息。SFC的标识符可以包括SPI和/或SI。在SFP转发中,接收到的分组通常被封装有NSH报头,其中包含SFC的标识符(即SPI和/或SI)。因此,在流条目的匹配字段中,通过SFC的标识符即可确定分组是否匹配该条目。在一些实施例中,流条目420的匹配字段除了SFC的标识符之外还可以包括其他匹配信息,诸如以上关于图3或图4A描述的匹配信息。因此,

SDN的常规流表中的流条目被扩展为包括上述字段类型,以用于承

载这些额外的配置信息。例如,在OpenFlow协议的规范中,匹配字段可以被扩展为包括字段类型“OFPXMT_OFB_NSH_SPI_LABEL=

xx,/*NSHSPIlabel.*/”,用于指示在匹配字段中承载SFC的SPI

为包括字段类型

,用于

标识。匹配字段还可以被扩展

“OFPXMTOFB—NSH—SILABEL=xx,/*NSHSIlabel.*/”

指示在匹配字段中承载SFC的SI标识。

在一些实施例中,与流条目410类似,流条目420还可以包括新的“下一跳”字段,指示分组要被转发到的一组有序SF中的下一个SF,例如可以包括下一个SF的地址。“下一跳”字段也可以与

SFC相关的协议中的定义相一致,诸如在IETFRFC8300协议中所定

义的。SFC的“下一跳”可以用于在基于底层网络协议建立的传输路径中传输被封装有NSH的分组。通常,在SFP转发时,流条目420中的“下一跳”字段指示SFC的一组有序SF中的某个中间SF

或者最后一个SF。在一些实施例中,根据“下一跳”的指示,可以

在当前网络节点与

“下一跳”相关联的节点之间建立转发路径,诸

如标签交换路径(LSP)。

在一些实施例中,流条目420还可以指示对分组的一些特定处理动作。在一些实现中,流条目420可以指示与SFC相关的报头(即

NSH报头)相关联的处理动作。在SFP功能的实现中,流条目410

的“更新分组报头”的动作字段可以被扩展为指示如下的处理动作:从分组移除NSH。NSH报头的移除通常在要提供用于分组处理的SF不支持SFC时、或者在要将分组提供到目的地设备时、或网络的下一跳不支持SFC时、或分组即将离开SFC域时被执行。

流条目420的

“应用动作”还可以包括额外的动作字段

“更新

报头匹配字段”

,以指示如下处理动作:将分组的目的地地址替换

为下一跳所指示的SF的地址。通过应用该处理动作,分组的目的地地址被替换,以便于支持建立与下一跳的LSP。

在一些实施例中,如果流条目420被设置在具有多个流表的网络节点中,流条目420还包括

“去往流表”

字段,用于指示在网络

节点的流表的流水线处理中的下一流表。在一些实施例中,在网络节点的流表的流水线处理中,包含流条目420的流表可以是流水线

处理中的第二个流表。

以上关于图4A和图4B讨论了用于分类的流表和用于SFP转发的流表。在图4A和图4B的示例中,为了支持SFC的实现,流条目还将指示与NSH相关的处理动作。这些动作被总结在图4C中的表430。如图4C所示,流条目可以包含动作标签“推入NSH报头”或“取出NSH报头”

的动作标签,分别指示在分组中插入新的NSH

报头和从分组中移除NSH报头。表430还指示动作标签“推入NSH报头”相关联的数据的类型,例如为以太网数据类型。

在一些实施例中,如以上提及的,在网络节点220之间转发时,

SDN控制器212可以控制网络节点根据路径标签来实现分组的转发。SDN控制器212可以基于转发规则,创建SDN的一条转发路径以用

于分组在SDN中的传输。例如,SDN控制器212可以将为制器210创建的SFC的路径(即SFP)映射到交换路径(即

SFC控

SDN中的多协议标签

MPLS)。

MPLS协议独立于网络层协议。

MPLS管理模块和路径计算元件(PCE)

通常,路径标签的协议,诸如

SDN控制器

212可以包括

服务器(控制元件),用于确定

MPLS在网络节点220之间的标签

交换路径(LSP)。网络节点220可以包括基于

PCE客户端,用于支持

MPLS的交换路径转发。网络节点220可以基于分组的输入或

输出标签来执行分组转发。在这样的实现中,SDN控制器212和网络节点220可以支持

PCE通信协议,诸如在IETFRFC4665、IETF

RFC5440

诸如

中定义的协议规范。MPLS管理也可以根据相应协议规范,

来实现。

IETFRFC3209

在基于路径标签来转发时,如果分组被插入

NSH报头,在指示NSH报头。图5

多协议标签交换路径的标签中指示分组中是否存在示出了基于

MPLS的路径标签的示例结构500。通常,路径标签500

包括标签字段,指示标签值,其长度例如可以为20比特。路径标签500还可以包括预留字段,也称为试验使用字段,其被预留用于实验使用,长度例如可以为3比特。路径标签500还可以包括

S字段,

其指示标签堆栈的底部,长度为1比特。S字段用在标签堆栈的情况中(例如存在多个路径标签时)。路径标签500还包括存活时间(TTL)字段,其指示路径标签500的存活时间,长度可以为8比特。在的实现中,在分组的转发期间,可以在路径标签中增加对分组的

SFC

NSH

报头的存在的指示。例如,可以利用路径标签500中的预留字段中的一比特部分510(由

N表示)来指示分组中存在NSH报头。这意

味着在网络节点的转发中需要转发分组的有效载荷以及其中插入的

NSH报头。

上文讨论了在SDN中实现SFC时如何配置网络节点的流条目以作为与SFC相关联的转发规则。通常,分组在数据平面中由网络节点220首先接收。如果网络节点220中不存在用于该分组的转发的

流条目,网络节点220将确定没有找到与分组相匹配的被转发。在这种情况下,网络节点220向没有找到与分组相匹配的没有相匹配的或者经由

SFC,不能

SFC控制器210提供关于

SFC的指示。例如,网络节点220可以将

SFC控制器210。网络节点220与

SFC的分组中的报头信息直接传输给SFC控制器210

制器212转发给

SDN控

SFC控制器210的直接通信例如可以基于扩展的NETCONF协议来

实现。如果经由

SDN

控制器212转发,分组可以经由

Packetin

消息从网络节点220提供给

SDN

控制器212。在另外一些实现中,

网络节点220也可以提供关于某个分组没有相匹配的被转发的间接指示。

SFC从而不能

响应于从网络节点220获得分组因为没有相匹配的

SFC

从而不

能被转发的指示(例如不能被转发的分组本身或分组的报头信息),

SFC控制器210可以为该分组创建SFC,并且将与所创建的SFC相

关联的转发规则配置到从中获得分组网络节点220

以及实现分组到

SFC中的业务功能的转发所涉及的其他网络节点220。

以上实施例讨论了如何向网络节点220

配置转发规则(例如流

表的流条目)。在一些实施例中,根据应用,SFC控制器210可以更新或者删除相应的

SFC。在这种情况下,SFC控制器210向网络

SFC相关联的转发规则,指示网络节点220

节点220配置与更新后的

丟弃与旧的或者已被删除的与网络节点220212来冗成。

SFC相关联的转发规则。SFC控制器210

的这种通信也可以直接执行或者经由

SDN

控制器

在一些实施例中,在被配置转发规则(例如,流表中的流条目)之外,网络节点220可以基于转发规则来转发分组,以使得分组能够被转发到

SFC所涉及的相应SF,以供处理。应当理解,在网络节

点220对分组的转发过程中,除了用于的流表的流条目之外,网络节点220现网络节点与网络节点、网络节点与间的分组转发。

SFC的分类和SFP转发功能

中还被配置其他流条目,以实

SF以及网络节点与主机设备之

在基于流条目的转发时,网络节点220将提取分组的报头,并且确定报头是否包含与流条目所指示的匹配信息。如果报头包含这样的匹配信息,这意味着分组与该流条目相匹配。在这种情况下,网络节点可以基于匹配的流条目来处理分组。对分组的处理可以由流条目的指令字段中的信息来执行。

在图2的示例中,网络节点220-1将被配置有与SFC的分类功能相关的转发规则,诸如指示如图4A所示出的信息的流条目。网络节点220-1可以基于这样的流条目来确定如何转发分组。具体地,如果网络节点220-1确定分组的报头包含流条目的匹配信息,则对分组执行流条目所指示的处理动作,诸如向分组中插入

NSH报头,和/

或将分组的目的地地址替换为流条目所指示的SF的地址。网络节点220-1可以基于这样的目的地地址,将分组转发到与该SF通信耦合的下游节点(例如,网络节点220-2)。

网络节点220-2可以被配置有与SFP转发相关的转发规则,诸如指示如图4B所示出的信息的流条目。网络节点220-2可以基于这样的流条目来确定如何转发分组。具体地,如果网络节点220-2确定分组的报头包含流条目的匹配信息(诸如SFC的标识符),则可以对分组执行流条目所指示的处理动作,诸如从分组移除

NSH报头,

和/或将分组的目的地地址替换为流条目所指示的SF的地址。网络节点220-2可以基于这样的目的地地址,将分组转发到与该SF通信耦合的下游节点。

由于网络节点220-2与SF240-1相连(即通信耦合)并且SF240-1被包括在分组的SFC中,因此网络节点220-2还可以被配置有另外的转发规则,指示将分组转发到SF240-1进行处理。这样的规则也可以由SFC控制器210配置作为网络节点220-2的流表中的流条目。

以下将参照图6来描述在基于SDN的SFC实现的系统200的一个具体示例,以具体讨论网络节点如何实现分组到SFC的各个SF的转发。在图6的示例中,为了解释说明的目的,除了网络节点220-1、220-2之外,系统200包括另外的网络节点620-3、620-4和620-5,

它们分别与SF640-2、SF640-2和640-3。这些网络节点620-3、620-4和620-5的功能与网络节点220类似,并且也可以从SFC控制器210获得转发规则以用于执行分组到SF的转发。在图6的示例中,由

SFC控制器210配置的与SFC相关联的转发规则被实现为网络节点

中的流表602中的流条目。每个网络节点可以包括多个流表,并且需要执行流表的流水线处理来执行分组转发。

图6示出了为从主机650-1到主机650-2的分组611提供的

SFC,

其涉及SF240-1、SF640-2和SF640-4。图6还示出了为从主机650-1到主机650-3的分组612提供的SFC,其涉及SF640-3。图6的示例中SDN控制器212将SFC映射为网络节点之中的

MPLS路径。涉及

SF240-1SF640-2和SF640-4的SFC的路径被映射为LSP_1、LSP_2

LSP_3。涉及640-3的SFC的路径被映射为LSP_5。

在操作中,网络节点220-1和220-2以及网络节点620-3、620-4

和620-5根据其中配置的流表来执行分组的转发。图7A至图7N示出了这些网络节点在转发时所使用的流表的示例。下面将详细描述网络节点如何相应转发分组。

网络节点220-1从主机650-1接收到分组611,例如经由输入端口101接收。网络节点220-1基于流表710来执行关于SFC的分类的操作。具体地,网络节点220-1从该分组中提取报头,其包括例如分组的源

IP地址、目的地IP地址、协议类型、输入端口等。网络节

点220-1将所提取的信息与图7A所示的流表710的流条目中的匹配字段进行匹配。如果从分组611提取的信息与流表710中的第一流条目中的匹配字段中的信息(例如源IP地址:192.168.0.1、目的地

IP地址:192.168.0.2、协议类型为IPv4、输入端口为101)相匹配,

网络节点220-1确定该流条目与分组611相匹配。然后,网络节点220-1基于该流条目来执行对分组611的处理动作。具体地,网络节点220-1确定该流条目指示处理动作为“推入NSH报头”,因此将

该流条目指示的

NSH插入到分组611。此外,网络节点220-1还将

分组的报头中的目的地IP地址替换为该流条目指示的下一跳的目的

地IP地址(即SF240-1的IP地址:202.0.0.11),并且根据流表的流水线处理而继续去参考流表12来处理分组611。

在一些实施例中,如果网络节点220-1在流表710中没有查找到与分组611相匹配的流条目,网络节点220-1将无法转发分组。在这种情况下,网络节点220-1可以根据

NETCONF协议将分组611直

接传输给SFC控制器210或者经由SDN控制器212将分组611转发给SFC控制器210。响应于接收到这样的分组,SFC控制器210可以创建该分组的SFC并且将与所创建的SFC相关联的流表条目配置到网络节点220-1。

对于从主机650-1接收到分组612,类似地,网络节点220-1也可以基于流表710来执行关于SFC的分类的操作,确定流表710中的第二条流条目与分组612相匹配。基于该流条目,网络节点220-1向分组612插入

NSH报头,并且将分组612的目的地IP地址修改

为匹配的流条目指示的下一跳的目的地IP地址(即SF640-3的IP地址:202.0.0.13),并且根据流表的流水线处理而继续去参考流表

12来处理分组612。如果网络节点220-1原先未被配置有与分组612

相匹配的流条目,网络节点220-1可以也可以将分组612提供给SFC控制器210,以从SFC控制器210获得正确的流条目。

在流表的流水线处理中,网络节点220-1继续参考流表12来处理分组611和612。图7B示出了网络节点220-1中的流表612的示例结构712。针对分组611,

网络节点220-1将分组611的报头中提

目的地IP地址202.0.0.11)与流表

取的信息(例如,输入端口101,

712的流条目进行匹配。如果从流表712中查找到相匹配的流条目(例如第一条流条目),网络节点220-1基于该流条目设置分组的输出标签(MPLS标签10入

),并且更新分组611的分组报头(即推

MPLS标签1000),并且将分组经由输出端口102转发。

针对分组612,网络节点220-1将分组612的报头中提取的信息

(例如,输入端口101,目的地IP地址202.0.0.13)与流表712的流条目进行匹配。如果从流表712中查找到相匹配的流条目(例如第

二条流条目),网络节点220-1基于该流条目设置分组的输出标签(MPLS标签2000),并且更新分组612的分组报头(即推入标签2000),并且将分组经由输出端口102转发。

经过处理,分组611和612将由网络节点220-1的输出端口102输出,并且经由网络节点220-2的输入端口201输入网络节点220-2。网络节点220-2首先基于如图7C中示出的流表720来执行对分组611和612的转发。具体地,在网络节点220-2中,针对从上游节点220-1接收到的分组611,

网络节点220-2提取分组611的报头(例

MPLS

如其包括输入端口201、输入网络节点220-1插入的

MPLS标签1100、目的地IP地址、由

NSH报头等)。网络节点220-2将提取的信

MPLS标签1100)相匹配。网络节点

MPLS标签1100,并且将

息与流表720的流条目进行匹配,并且确定流表720中的第一流条目(包含输入端口201和输入

220-2可以基于该流条目执行对分组611的处理动作。网络节点220-2可以更新该分组611的分组报头,以取出分组611经由输出端口202输出。

网络节点220-2经由输出端口202与SF240-1通信耦合。因此,

SF240-1可以接收到分组611并且对分组611执行相应的处理。在

一些示例中,SF240-1利用分组611的如

NSH报头中的上下文报头(例

Cl)来处理分组611并且将分组611的NSH报头中的标识符SI

减小(例如从255减小到254)。经过处理之后,SF240-1将分组611经由网络节点220-2的输入端口203返回给网络节点220-2。网络节点220-2接收到分组611之后,提取分组611的报头(例如,输入端口、输入

MPLS标签、NSH中的SH和SI)。网络节点220-2

确定分组611与流表720中的第三条流条目(其指示输入端口203)相匹配。基于该流条目,网络节点220-2将继续去参考该节点中的流表1来处理分组611。

对于经由输入端口201从上游节点220-1接收到的分组612,网络节点220-2也可以参考流表720来类似地处理该分组,确定与该分组相匹配的流条目(例如,流表720中的第二流条目),并且对分

组612执行由相匹配的流条目指示的处理动作。具体地,网络节点220-2更新分组612的报头,即将报头中的MPLS标签从

21交换

MPLS标签2200,并且将分组612经由输出端口205输出。

对于分组611,如以上提及的,网络节点220-2还需要继续参考

流表1来进行处理。图7D示出了网络节点220-2中的流表1的示例,即流表722。流表722包括与SFP转发相关联的流条目。网络节点220-2将从分组611的报头提取的信息与流表722的流条目的匹配字段中的信息进行匹配,并且确定指示SPI25和SI254的流条目与分

组611的

NSH报头中所包含的信息相匹配。网络节点220-2然后确

定分组611的下一跳的

IP地址(即640-2的IP地址202.0.0.12)。

网络节点220-2还对分组611执行该流条目所指示的处理动作,即将分组611的报头中的目的地地址替换为下一跳的

IP地址,然后根据

流表的流水线处理而继续去参考流表23来处理分组611。

网络节点220-2的流表23被示出为图7E中的流表724。网络节点220-2将分组611的报头提取的信息与流表724的流条目中的匹配字段中指示的信息进行匹配,并且确定指示输入端口203和目的地

IP地址202.0.0.12的流条目与分组611的报头中的信息相匹配。网

络节点220-2因此可以基于该流条目来处理分组611。具体地,网络节点220-2将分组611的输出

MPLS标签设置为该流条目所指示的

输出标签1200,通过向分组611的报头插入MPLS标签1200来更新

报头,然后经由输出端口204输出该分组。

网络节点620-3

的输入端口301与网络节点220-2

的输出端口

204相连,因此网络节点620-3接收到分组611。网络节点620-3可以基于其中配置的流表来处理分组611。具体地,网络节点620-3首先在如图7F所示的流表730中查找与分组611相匹配的流条目。网络节点620-3提取分组611的报头信息(例如,输入端口301、输入

MPLS标签1300、NSH报头、目的地IP地址等),然后确定所提取

的信息与流表730中的第一流条目的匹配字段中的信息(指示输入端口301和输入

MPLS标签1300)相匹配。由此,网络节点620-3

基于该流条目来对分组611执行相应的处理,例如在分组611的报头中取出

MPLS标签1300,并且将分组611经由输出端口302输出。

网络节点620-3经由输出端口302与SF640-2通信耦合。因此,

SF640-2可以接收到分组611并且对分组611执行相应的处理。在

一些示例中,SF640-2利用分组611的NSH报头中的上下文报头(例

Cl)来处理分组611并且将分组611的NSH报头中的标识符SI

减小(例如从254减小到253)。经过处理之后,SF640-2将分组

611经由网络节点620-3的输入端口303返回给网络节点620-3。网

络节点620-3接收到分组611之后,提取分组611的报头(例如,输入端口、输入

MPLS标签、NSH中的SPI和SI)。网络节点620-3

确定分组611与流表730的第三流条目(其指示输入端口303)相匹配。基于该流条目,网络节点620-3将继续去参考该节点中的流表1来处理分组611。

图7G示出了网络节点620-3中的流表1的示例,即流表732。流表732包括与SFP转发相关联的流条目。网络节点620-3将从分组611的报头提取的信息与流表732的流条目的匹配字段中的信息进行匹配,并且确定指示SPI25和SI253的流条目与分组611的

NSH

报头中所包含的信息相匹配。基于相匹配的流条目,网络节点620-3然后确定分组611的下一跳的IP地址(即SF640-4

的IP地址

202.0.0.14)。网络节点620-3还对分组611执行该流条目所指示的处理动作,即将分组611的报头中的目的地地址替换为下一跳的IP地址,然后根据流表的流水线处理而继续去参考流表34来处理分组611。

网络节点620-3的流表34被示出为图7H中的流表734。网络节点620-3将分组611的报头提取的信息与流表734的流条目中的匹配字段中指示的信息进行匹配,并且确定指示输入端口303和目的地

IP地址202.0.0.14的流条目与分组611的报头中的信息相匹配。网

络节点620-3因此可以基于该流条目来处理分组611。具体地,网络节点620-3将分组611的输出

MPLS标签设置为该流条目所指示的

输出标签1400,通过向分组611的报头插入报头,然后经由输出端口304输出该分组。

网络节点620-4

MPLS标签1400来更新

的输出端口

的输入端口401与网络节点620-3

304相连,因此网络节点620-4接收到分组611。网络节点620-4可以基于其中配置的流表来处理分组611。具体地,网络节点620-4首先在如图71所示的流表740中查找与分组611相匹配的流条目。网络节点620-4提取分组611的报头信息(例如,输入端口401、输入

MPLS标签1500、NSH报头、目的地IP地址等),然后确定所提取

的信息与流表740中的第一流条目的匹配字段中的信息(指示输入端口401和输入

MPLS标签1500)相匹配。然后,网络节点620-4

基于该流条目来对分组611执行相应的处理,例如在分组611的报头中取出

MPLS标签1500,将分组611经由端口402输出。

网络节点620-4经由输出端口402与SF640-4通信耦合,因此,

SF640-4可以接收到分组611并且对分组611执行相应的处理。在

一些示例中,SF640-4利用分组611的如

NSH报头中的上下文报头(例

Cl)来处理分组611并且将分组611的NSH报头中的标识符SI

减小(例如从253减小到252)。经过处理后,分组611由SF640-4的输入端口403返回网络节点620-4。网络节点620-4接收到分组611之后,确定报头的信息(例如,输入端口、输入

MPLS标签、NSH

中的SPI和SI)与流表740中指示输入端口403相匹配。基于该流条目,网络节点620-4继续去参考该节点中的流表1(即图7J中示出的流表742)来处理分组611。

根据流表742,网络节点620-4将从分组611的报头提取出的信息与流表742的流条目的匹配字段中的信息进行匹配,并且确定指示

SPI25和SI252的流条目与分组611的NSH报头中所包含的信息

然后确定分组611

相匹配。基于相匹配的流条目,网络节点620-4

的下一跳的IP地址(即主机650-2的IP地址192.168.0.2)。网络节点620-4还对分组611执行该流条目所指示的处理动作,即取出分组611的

NSH报头,并将分组611的报头中的目的地地址替换为下一

跳的

IP地址,然后根据流表的流水线处理而继续去参考流表45来

网络节点620-4的流表45被示出为图7K中的流表744。网络节

处理分组611。

点620-4将分组611的报头提取的信息与流表744的流条目中的匹配字段中指示的信息进行匹配,并且确定指示输入端口403和目的地

IP地址192.168.0.2的流条目与分组611的报头中的信息相匹配。网

络节点620-4因此可以基于该流条目来处理分组611。具体地,网络节点620-4将分组611经由输出端口404输出。主机650-2连接到。网络节点620-4的输出端口404,因此可以获得该分组611。

继续考虑对分组612的处理。如以上所述,分组612经由网络节点220-1的输出端口205输出。网络节点620-5的输入端口501与网络节点220-1的输出端口205,因此网络节点620-5获得分组612。网络节点620-5可以基于其中配置的流表来处理分组612。具体地,网络节点620-5在如图7L所示的流表750中查找与分组612相匹配的流条目。网络节点620-5提取分组612的报头信息(例如,输入端口501、输入

MPLS标签2300、NSH报头、目的地IP地址等),然

后确定所提取的信息与流表750中的第一流条目的匹配字段中的信息(指示输入端口501和输入

MPLS标签2300)相匹配。由此,网

络节点620-5基于该流条目来对分组612执行相应的处理,例如在分组612的报头中提取出端口502输出。

网络节点620-5经由输出端口502与SF640-3通信耦合。因此,

MPLS标签2300,并且将分组612经由输出

SF640-3可以接收到分组612并且对分组612执行相应的处理。在

一些示例中,SF640-3利用分组612的如

NSH报头中的上下文报头(例

C2)来处理分组612并且将分组612的NSH报头中的标识符SI

减小(例如从224减小到223)。经过处理之后,SF640-3将分组612经由网络节点620-5的输入端口502返回给网络节点620-5。网络节点620-5接收到分组612之后,提取分组612的报头(例如,输入端口、输入

MPLS标签、NSH中的SPI和SI)。网络节点620-5

确定分组612与流表750的第二流条目(其指示输入端口503)相匹配。基于该流条目,网络节点620-5将继续去参考该节点中的流表1来处理分组612。

图7M示出了网络节点620-5中的流表1的示例,即流表752。网络节点620-5将从分组612的报头提取的信息与流表752的流条目的匹配字段中的信息进行匹配,并且确定指示SPI135和SI223的流条目与分组612的NSH报头中所包含的信息相匹配。基于相匹配的流条目,网络节点620-3然后确定分组611的下一跳的IP地址(即主机650-3的IP地址192.168.0.3)。网络节点620-5还对分组612执行该流条目所指示的处理动作,即取出分组612的NSH报头,并且将分组612的报头中的目的地地址替换为下一跳的IP地址,然后根据流表的流水线处理而继续去参考流表56来处理分组612。

网络节点620-5的流表56被示出为图7N中的流表754。网络节点620-5将分组612的报头提取的信息与流表754的流条目中的匹配字段中指示的信息进行匹配,并且确定指示输入端口503和目的地

IP地址192.168.0.3的流条目与分组612的报头中的信息相匹配。网

络节点620-5因此可以基于该流条目来处理分组612。具体地,网络节点620-5将分组612经由输出端口504输出。主机650-3连接到。网络节点620-5的输出端口504,

因此可以获得该分组612。

经过上述过,分组611和612在被传输到目的地主机之前,可以经由相应的SFC中的SF进行处理。根据本公开的实施例,这样的SFC可以在SDN网络中实现。

图8示出了根据本公开的一个实施例的用于通信的方法800的流程图。方法800可以在例如图2所示的SFC控制器210处。

在框802,为分组创建业务功能链,业务功能链包括要用于处理分组的一组有序业务功能。在框804,将与业务功能链相关联的相应转发规则配置到软件定义网络中的多个网络节点。相应转发规则指示多个网络节点如何将分组转发到业务功能链中的一组有序业务功能。

在一些实施例中,将相应转发规则配置到多个网络节点包括以下之一:将相应转发规则直接传输给多个网络节点;或者经由软件定义网络中的软件定义网络控制器将相应转发规则提供给多个网络节点。

在一些实施例中,将相应转发规则配置到多个网络节点包括:将第一流条目配置到第一网络节点的第一流表中,第一流条目至少指示匹配信息、分组的网络业务报头、要将分组转发到的一组有序业务功能中的第一业务功能以及要由第一网络节点对分组执行的第一处理动作,第一处理动作包括向分组插入网络业务报头和将分组的目的地地址替换为第一业务功能的地址中的至少一个。

在一些实施例中,网络业务报头包括以下至少一项:业务功能链的标识符、分组中的有效载荷的协议类型以及上下文报头。

在一些实施例中,匹配信息包括以下至少一项:分组的源地址、分组的源端口号、分组的目的地地址、分组的目的地端口号、分组的协议类型、分组的输入端口、分组的应用类型以及分组的用户信息。

在一些实施例中,将相应转发规则配置到多个网络节点包括:将第二流条目配置到第二网络节点的第二流表中,第二流条目至少指示业务功能链的标识符、要将分组转发到的一组有序业务功能中的第二业务功能以及要由第二网络节点对分组执行的第二处理动作,第二处理动作包括从分组移除网络业务报头和将分组的目的地地址替换为第二业务功能的地址中的至少一个。

在一些实施例中,创建业务功能链包括:向软件定义网络中的软件定义网络控制器发送对软件定义网络的网络拓扑信息的请求;从软件定义网络控制器接收网络拓扑信息;以及基于网络拓扑信息来生成业务功能链。

在一些实施例中,创建业务功能链包括:响应于从多个网络节点中的网络节点接收到分组没有相匹配的业务功能链从而不能被转发的指示,为分组创建业务功能链。

图9示出了根据本公开的一个实施例的用于通信的方法900的流程图。方法900可以在例如图2所示的网络节点220或图6所示的网络节点620-3、620-4或620-5处。

在框902,从软件定义网络中的上游节点接收分组。在框904,从业务功能链控制器获得与分组的业务功能链相关联的转发规则。业务功能链包括要用于处理分组的一组有序业务功能,并且转发规则指示网络节点如何将分组转发到一组有序业务功能中的业务功能。在框906,基于转发规则,将分组转发到与一组有序业务功能中的业务功能通信耦合的下游节点。

在一些实施例中,获得转发规则包括以下之一:从业务功能链控制器直接接收转发规则;或者接收经由软件定义网络中的软件定义网络控制器从业务功能链控制器转发的转发规则。

在一些实施例中,转发规则包括第一流表中的第一流条目,第一流条目至少指示匹配信息、分组的网络业务报头、要将分组转发到的一组有序业务功能中的第一业务功能以及要由网络节点对分组执行的第一处理动作,第一处理动作包括向分组插入网络业务报头和将分组的目的地地址替换为第一业务功能的地址中的至少一个。转发分组包括:响应于确定分组的报头包括匹配信息,对分组执行第一处理动作;以及基于第一业务功能的地址,将分组转发到与第一业务功能通信耦合的下游节点。

在一些实施例中,网络业务报头包括以下至少一项:业务功能链的标识符、分组中的有效载荷的协议类型以及上下文报头。

在一些实施例中,匹配信息包括以下至少一项:分组的源地址、分组的目的地地址、分组的协议类型、分组的输入端口、分组的应用类型以及分组的用户信息。

在一些实施例中,转发规则包括第二流表中的第二流条目,第二流条目至少指示业务功能链的标识符、要将分组转发到的一组有序业务功能中的第二业务功能以及要由网络节点对分组执行的第二处理动作,第二处理动作包括从分组移除网络业务报头和将分组的

目的地地址替换为第二业务功能的地址中的至少一个。转发分组包括:响应于确定分组的报头包括第二流条目的业务功能链的标识符,对分组执行第二处理动作,以及基于第二业务功能的地址,将分组转发到与第二业务功能通信耦合的下游节点。

在一些实施例中,获得转发规则包括:响应于在接收到分组时确定分组没有相匹配的业务功能链从而不能被转发,向业务功能链控制器提供分组不能由网络节点转发的指示;以及从业务功能链控制器获得转发规则。

图10示出了根据本公开的一个实施例的用于通信的方法的流程图。方法1000可以在例如图2所示的

在框

1000

SDN控

制器212处。

1002,从业务功能链控制器接收与为分组创建的业务功能

链相关联的相应转发规则。业务功能链包括要用于处理分组的一组有序业务功能,并且相应转发规则指示软件定义网络中的多个网络节点如何将分组转发到业务功能链中的一组有序业务功能。在框1004,将相应转发规则提供给多个网络节点。

在一些实施例中,方法1000还包括:从业务功能链控制器接收对软件定义网络的网络拓扑信息的请求;以及响应于请求,向业务功能链控制器提供网络拓扑信息。

在一些实施例中,方法1000还包括:从多个网络节点中的网络节点接收分组不能由网络节点转发的指示;以及将指示提供给业务功能链控制器。

在一些实施例中,方法1000还包括:将业务功能链的路径映射到软件定义网络中的多协议标签交换路径,以用于分组在软件定义网络中的传输。

在一些实施例中,在分组被插入网络业务报头时,在多协议标签交换路径的标签中指示对分组的网络业务报头的存在。

本公开的一些实施例还提供了一种通信装置。该通信装置包括:用于为分组创建业务功能链的部件,业务功能链包括要用于处理分组的一组有序业务功能;以及用于将与业务功能链相关联的相应转

发规则配置到软件定义网络中的多个网络节点的部件,相应转发规则指示多个网络节点如何将分组转发到业务功能链中的一组有序业务功能。

在一些实施例中,该通信装置可以包括业务功能链控制器。在一些实施例中,用于将相应转发规则配置到多个网络节点的部件包括以下之一:用于将相应转发规则直接传输给多个网络节点的部件;或者用于经由软件定义网络中的软件定义网络控制器将相应转发规则提供给多个网络节点的部件。

在一些实施例中,用于将相应转发规则配置到多个网络节点的部件包括:用于将第一流条目配置到第一网络节点的第一流表中的部件,第一流条目至少指示匹配信息、分组的网络业务报头、要将分组转发到的一组有序业务功能中的第一业务功能以及要由第一网络节点对分组执行的第一处理动作,第一处理动作包括向分组插入网络业务报头和将分组的目的地地址替换为第一业务功能的地址中的至少一个。

在一些实施例中,网络业务报头包括以下至少一项:业务功能链的标识符、分组中的有效载荷的协议类型以及上下文报头。

在一些实施例中,匹配信息包括以下至少一项:分组的源地址、分组的目的地地址、分组的协议类型、分组的输入端口、分组的应用类型以及分组的用户信息。

在一些实施例中,用于将相应转发规则配置到多个网络节点的部件包括:用于将第二流条目配置到第二网络节点的第二流表中的部件,第二流条目至少指示业务功能链的标识符、要将分组转发到的一组有序业务功能中的第二业务功能以及要由第二网络节点对分组执行的第二处理动作,第二处理动作包括从分组移除网络业务报头和将分组的目的地地址替换为第二业务功能的地址中的至少一个。

在一些实施例中,用于创建业务功能链的部件包括:用于向软件定义网络中的软件定义网络控制器发送对软件定义网络的网络拓

扑信息的请求的部件;用于从软件定义网络控制器接收网络拓扑信息的部件;以及用于基于网络拓扑信息来生成业务功能链的部件。

在一些实施例中,用于创建业务功能链的部件包括:用于响应于从多个网络节点中的网络节点接收到分组没有相匹配的业务功能链从而不能被转发的指示来为分组创建业务功能链的部件。

本公开的另一些实施例还提供了一种通信装置。该通信装置包括:用于从软件定义网络中妁上游节点接收分组的部件,用于从业务功能链控制器获得与分组的业务功能链相关联的相应转发规则的部件,业务功能链包括要用于处理分组的一组有序业务功能,并且相应转发规则指示网络节点如何将分组转发到一组有序业务功能中的业务功能;以及用于基于相应转发规则来将分组转发到与一组有序业务功能中的业务功能通信耦合的下游节点的部件。

在一些实施例中,通信装置包括软件定义网络中的网络节点。在一些实施例中,用于获得相应转发规则的部件包括以下之一:用于从业务功能链控制器直接接收相应转发规则的部件;或者用于接收经由软件定义网络中的软件定义网络控制器从业务功能链控制器转发的相应转发规则的部件。

在一些实施例中,相应转发规则包括第一流表中的第一流条目,第一流条目至少指示匹配信息、分组的网络业务报头、要将分组转发到的一组有序业务功能中的第一业务功能以及要由第一网络节点对分组执行的第一处理动作,第一处理动作包括向分组插入网络业务报头和将分组的目的地地址替换为第一业务功能的地址中的至少一个。在一些实现中,用于转发分组的部件包括:用于响应于确定分组的报头包括匹配信息,对分组执行第一处理动作的部件;以及应用基于第一业务功能的地址来将分组转发到与第一业务功能通信搞合的下游节点的部件。

在一些实施例中,网络业务报头包括以下至少一项:业务功能链的标识符、分组中的有效载荷的协议类型以及上下文报头。

在一些实施例中,匹配信息包括以下至少一项:分组的源地址、

分组的目的地地址、分组的协议类型、分组的输入端口、分组的应用类型以及分组的用户信息。

在一些实施例中,相应转发规则包括第二流表中的第二流条目,第二流条目至少指示业务功能链的标识符、要将分组转发到的一组有序业务功能中的第二业务功能以及要由第二网络节点对分组执行的第二处理动作,第二处理动作包括从分组移除网络业务报头和将分组的目的地地址替换为第二业务功能的地址中的至少一个。在一些实施例中,用于转发分组的部件包括:用于响应于确定分组的报头包括第二流条目的业务功能链的标识符而对分组执行第二处理动作的部件,以及用于基于第二业务功能的地址来将分组转发到与第二业务功能通信耦合的下游节点的部件。

在一些实施例中,用于获得相应转发规则的部件包括:用于响应于在接收到分组时确定分组没有相匹配的业务功能链从而不能被转发向业务功能链控制器提供分组不能由网络节点转发的指示的部件;以及用于从业务功能链控制器获得相应转发规则的部件。

本公开的另一些实施例还提供了一种通信装置。该通信装置包括:用于从业务功能链控制器接收与为分组创建的业务功能链相关联的相应转发规则的部件,业务功能链包括要用于处理分组的一组有序业务功能,并且相应转发规则指示软件定义网络中的多个网络节点如何将分组转发到业务功能链中的一组有序业务功能;以及用于将相应转发规则提供给多个网络节点的部件。

在一些实施例中,通信装置包括软件定义网络控制器。

在一些实施例中,通信装置还包括:用于从业务功能链控制器接收对软件定义网络的网络拓扑信息的请求的部件;以及用于响应于请求,向业务功能链控制器提供网络拓扑信息的部件。

在一些实施例中,通信装置还包括:用于从多个网络节点中的网络节点接收分组不能由网络节点转发的指示的部件;以及用于将指示提供给业务功能链控制器的部件。

在一些实施例中,通信装置还包括:用于将业务功能链的路径

映射到软件定义网络中的多协议标签交换路径的部件,以用于分组在软件定义网络中的传输。

在一些实施例中,在分组被插入网络业务报头时,在多协议标签交换路径的标签中指示对分组的网络业务报头的存在。

图11示出了可以用来实施本公开的实施例的示例设备1300的示意性框图。如图所示,设备1100包括中央处理单元(CPU)1101,其可以根据存储在只读存储器(ROM)1102中的计算机程序指令或者从存储单元1108加载到随机访问存储器(RAM)1103中的计算机程序指令,来执行各种适当的动作和处理。在

RAM

1103中,还

可存储设备1100操作所需的各种程序和数据。CPU1101、ROM1102以及

RAM1103通过总线1104彼此相连。输入/输出(I/O)接口1105

也连接至总线1104。

设备1100中的多个部件连接至

I/O接

口1105,包括:输入单元

1106,例如键盘、鼠标等;输出单元1107,例如各种类型的显示器、扬声器等;存储单元1108,例如存储盘、光盘等;以及通信单元1109,例如网卡、调制解调器、无线通信收发机等。通信单元1109允许设备

1100通过诸如因特网的计算机网络和/或各种电信网络与其他设

备交换信息/数据。

上文所描述的各个过程和处理,例如方法800、方法900和/或1000,可由处理单元1101执行。例如,在一些实施例中,方法800、方法900和/或1000可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1108。在一些实施例中,计算机程序的部分或者全部可以经由

ROM

1102和/或通信单元1109而被载入和

/或安装到设备1100上。当计算机程序被加载到

RAM

1103并由

CPU

1101执行时,可以执行上文描述的方法800、方法900和/或1000的一个或多个动作。

本公开可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是—于—

但不限

电存储设备、磁存储设备、光存储设备、电磁存储设备、半

导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言一诸如

Smalltalk、C++等,以及常规的过程式编程语言一诸如“C”语言或

类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计

算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络一包括局域网(LAN)或广域网(WAN)一连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网业务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。

这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。

在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

权利要求书

1.

一种在业务功能链控制器处实现的方法,包括:

为分组创建业务功能链,所述业务功能链包括要用于处理所述分组的一组有序业务功能;以及

将与所述业务功能链相关联的相应转发规则直接或间接配置到软件定义网络中的多个网络节点,所述相应转发规则指示多个网络节点如何将所述分组转发到所述业务功能链中的所述一组有序业务功能。

2.根据权利要求1所述的方法,其中将所述相应转发规则直接或间接配置到所述多个网络节点包括以下之一:

将所述相应转发规则直接传输给所述多个网络节点;或者经由所述软件定义网络中的软件定义网络控制器将所述相应转发规则提供给所述多个网络节点。

3.根据权利要求1所述的方法,其中将所述相应转发规则直接或间接配置到所述多个网络节点包括:

将第一流条目直接或间接配置到第一网络节点的第一流表中,所述第一流条目至少指示匹配信息、所述分组的网络业务报头、要将所述分组转发到的所述一组有序业务功能中的第一业务功能以及要由所述第一网络节点对所述分组执行的第一处理动作,所述第一处理动作包括向所述分组插入所述网络业务报头和将所述分组的目的地地址替换为所述第一业务功能的地址中的至少一个。

4.根据权利要求3所述的方法,其中所述网络业务报头包括以下至少一项:所述业务功能链的标识符、所述分组中的有效载荷的协议类型以及上下文报头。

5.根据权利要求3所述的方法,其中所述匹配信息包括以下至少一项:所述分组的源地址、所述分组的源端口号、所述分组的目的地地址、所述分组的目的地端口号、所述分组的协议类型、所述分组的输入端口、所述分组的应用类型以及所述分组的用户信息。

6.根据权利要求1所述的方法,其中将所述相应转发规则直接

或间接配置到所述多个网络节点包括:

将第二流条目直接或间接配置到第二网络节点的第二流表中,所述第二流条目至少指示所述业务功能链的标识符、要将所述分组转发到的所述一组有序业务功能中的第二业务功能以及要由所述第二网络节点对所述分组执行的第二处理动作,所述第二处理动作包括从所述分组移除网络业务报头和将所述分组的目的地地址替换为所述第二业务功能的地址中的至少一个。

7.根据权利要求1所述的方法,其中创建所述业务功能链包括:

向所述软件定义网络中的软件定义网络控制器发送对所述软件定义网络的拓扑信息的请求;

从所述软件定义网络控制器接收所述网络拓扑信息;以及基于所述网络拓扑信息来生成所述业务功能链。

8.根据权利要求1所述的方法,其中创建所述业务功能链包括:

响应于从所述多个网络节点中的网络节点接收到所述分组没有相匹配的业务功能链从而不能被转发的指示,为所述分组创建所述业务功能链。

9.

一种在软件定义网络中的网络节点处实现的方法,包括:

从所述软件定义网络中的上游节点接收分组;

从业务功能链控制器获得与所述分组的业务功能链相关联的转发规则,所述业务功能链包括要用于处理所述分组的一组有序业务功能,并且所述转发规则指示所述网络节点如何将所述分组转发到所述一组有序业务功能中的业务功能;以及

基于所述转发规则,将所述分组转发到与所述一组有序业务功能中的业务功能通信棘合的下游节点。

10.

根据权利要求9所述的方法,其中获得所述转发规则包括

以下之一:

从所述业务功能链控制器直接接收所述转发规则;或者

接收经由所述软件定义网络中的软件定义网络控制器从所述业

务功能链控制器转发的所述转发规则。

11.

根据权利要求9所述的方法,其中所述转发规则包括第一

流表中的第一流条目,所述第一流条目至少指示匹配信息、所述分组的网络业务报头、要将所述分组转发到的所述一组有序业务功能中的第一业务功能以及要由所述网络节点对所述分组执行的第一处理动作,所述第一处理动作包括向所述分组插入所述网络业务报头和将所述分组的目的地地址替换为所述第一业务功能的地址中的至少一个;并且

其中转发所述分组包括:

响应于确定所述分组的报头包括所述匹配信息,对所述分

组执行所述第一处理动作;以及

基于所述第一业务功能的地址,将所述分组转发到与所述

第一业务功能通信福合的所述下游节点。

12.

根据权利要求11所述的方法,其中所述网络业务报头包括

以下至少一项:所述业务功能链的标识符、所述分组中的有效载荷的协议类型以及上下文报头。

13.根据权利要求11所述的方法,其中所述匹配信息包括以下至少一项:所述分组的源地址、所述分组的源端口、所述分组的目的地地址、所述分组的目的地端口、所述分组的协议类型、所述分组的输入端口、所述分组的应用类型以及所述分组的用户信息。

14.

根据权利要求9所述的方法,其中所述转发规则包括第二

流表中的第二流条目,所述第二流条目至少指示所述业务功能链的标识符、要将所述分组转发到的所述一组有序业务功能中的第二业务功能以及要由所述网络节点对所述分组执行的第二处理动作,所述第二处理动作包括从所述分组移除网络业务报头和将所述分组的目的地地址替换为所述第二业务功能的地址中的至少一个;并且

其中转发所述分组包括:

响应于确定所述分组的报头包括所述第二流条目的所述业

务功能链的标识符,对所述分组执行所述第二处理动作,以及

基于所述第二业务功能的地址,将所述分组转发到与所述

第二业务功能通信耦合的所述下游节点。

15.根据权利要求9所述的方法,其中获得所述转发规则包括:响应于在接收到所述分组时确定所述分组没有相匹配的业务功能链从而不能被转发,向所述业务功能链控制器提供所述分组不能由所述网络节点转发的指示;以及

从所述业务功能链控制器获得所述转发规则。16.

—种在软件定义网络控制器处实现的方法,包括:

从业务功能链控制器接收与为分组创建的业务功能链相关联的相应转发规则,所述业务功能链包括要用于处理所述分组的一组有序业务功能,并且所述相应转发规则指示软件定义网络中的多个网络节点如何将所述分组转发到所述业务功能链中的所述一组有序业务功能;以及

将所述相应转发规则提供给所述多个网络节点。17.

根据权利要求16所述的方法,还包括:

从所述业务功能链控制器接收对所述软件定义网络的网络拓扑信息的请求;以及

响应于所述请求,向所述业务功能链控制器提供所述网络拓扑信息。

18.

根据权利要求16所述的方法,还包括:

从所述多个网络节点中的网络节点接收所述分组不能由所述网络节点转发的指示;以及

将所述指示提供给所述业务功能链控制器。19.根据权利要求16所述的方法,还包括:

将所述业务功能链的路径映射到所述软件定义网络中的多协议标签交换路径,以用于所述分组在所述软件定义网络中的传输。

20.

根据权利要求19所述的方法,其中在所述分组被插入网络

业务报头时,在所述多协议标签交换路径的标签中指示对所述分组的所述网络业务报头的存在。

21.一种通信设备,包括:

处理器;以及

存储器,所述存储器存储有指令,所述指令在被所述处理器执行时使所述设备执行根据权利要求1-8中任一项所述的方法。

22.

一种通信设备,包括:

处理器;以及

存储器,所述存储器存储有指令,所述指令在被所述处理器执行时使所述设备执行根据权利要求9-15中任一项所述的方法。

23.

一种通信设备,包括:

处理器;以及

存储器,所述存储器存储有指令,所述指令在被所述处理器执行时使所述设备执行根据权利要求16-20中任一项所述的方法。

24.

一种计算机可读存储介质,其上存储有计算机程序,所述

计算机程序被处理器执行时实现根据权利要求1-8中任一项所述的方法。

25.

一种计算机可读存储介质,其上存储有计算机程序,所述

计算机程序被处理器执行时实现根据权利要求9-15中任一项所述的方法。

26.

一种计算机可读存储介质,其上存储有计算机程序,所述

16-20

中任一项所述

计算机程序被处理器执行时实现根据权利要求的方法。

INTERNATIONALSEARCHREPORT

InternationalapplicationNo.

Minimumdocumentationsearched(classificationsystemfollowedbyclassificationsymbols)

H04L

Documentationsearchedotherthanminimumdocumentationtotheextentthatsuchdocumentsareincludedinthefieldssearched

Electronicdatabaseconsultedduringtheinternationalsearch(nameofdatabaseand,wherepracticable,searchtermsused)

CNPAT;CNKI;WPI;EPODOC;IEEE;3GPP;IETF:业务功能链,服务功能链,软件定义网络,控制器,规亂流表,分类器,交换机,SFC,servicefunctionchain,SDN,softwaredefinednetwork,controller,rule,flowrules,classifier,switchC.

DOCUMENTSCONSIDEREDTOBERELEVANT

FormPCT/ISA/210(secondsheet)(January2015)

FormPCT/ISA/210(patentfamilyannex)(January2015)

在国际检索时查阅的电子数据库(数据库的名称,和使用的检索词(如使用))

CNPAT:CNKI;WPI;EPODOC:IEEE;3GPP;IETF:

业务功能链,服务功能链,软件定义网络,控制器,规则,流表,分类

SDN,

器,交换机,SFC,service

classifier,

C.

functionchain,softwaredefinednetwork,controller,rule,flowrules,

switch

相关文件

“E”“L”

在国际申请日的当天或之后公布的在先申请或专利

可能对优先权要求构成怀疑的文件,或为确定另一篇引用文件

的公布日而引用的或者因其他特殊理由而引用的文件(如具体说明的)

涉及口头公开、使用、展览或其他方式公开的文件公布日先于国际申请日但迟于所要求的优先权日的文件

“X”Y”

特别相关的文件,单独考虑该文件,认定要求保护的发明不是新颖的或不具有创造性

特别相关的文件,当该文件与另一篇或者多篇该类文件结合并且送种结合对于本领域技术人员为显而易见时,要求保护的发明不具有创造性同族专利的文件

“0”“P”

“&”

表PCT/ISA/210第2页)(2015年1月)(

PCT/ISA/210

(同族专利附件)(2015年1月)

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sceh.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务