一种SFC报文转发方法及设备与流程

文档序号:17484193发布日期:2019-04-20 06:38阅读:508来源:国知局
一种SFC报文转发方法及设备与流程

本发明涉及通信技术领域,尤其涉及一种sfc报文转发方法及设备。



背景技术:

随着增值业务(value-addedservice,vas)的丰富,为了解决增值业务的灵活部署,引入了sfc(servicefunctionchain,业务功能链)。sfc包括多个sfc功能节点。sfc功能节点包括:classifier(分类器),sff(servicefunctionforwarder,业务功能转发器),sf(servicefunction,业务功能),sfcproxy(业务功能代理),sfc-controller(业务链控制器)。在一个sfc系统中,classifier、sf和sff可以有一个或者多个实例,sfcproxy可以有0个,1个或者多个实例。为了使报文能够在各个sfc功能节点之间灵活转发而不需要改动基础网络设备,定义了nsh(networkserviceheader,网络业务报头)用于封装报文。原来的报文封装在nsh内后,就可以不依赖于目的地址进行转发了。这样可在各sfc功能节点之间灵活传输报文。

其中,classifier负责识别数据流(包括多个报文),并且将数据流和sfc进行关联,将数据流送到对应的sfc上去处理。sff负责对封装了nsh的报文,根据nsh包含的业务路径标识(servicepathidentifier,spi)和业务标识(serviceindex,si)进行转发,而不是根据报文的目的ip地址进行转发。sfcproxy是针对不支持nsh的sf,作为这种sf的代理;对应需要送给sf的报文,sfcproxy为sf解掉nsh封装;对从sf收到的报文,sfcproxy负责进行nsh封装,再发给其他节点(例如:sff)。sfc-controller是sfc中的控制面功能,负责sfc信息下发,及其他方面的控制功能。

在一个系统中,存在多个sfc,每一个sfc是一系列顺序的sf序列。各个sfc上的sf个数、种类和顺序可以是不同的。不同的数据流走不同sfc。当部署了sfc的时候,报文要在sfc上支持nsh的sf和sff之间进行多次转发,如图1所示,以sfc上行发送数据流为例,classifier节点11将数据流发送给业务链上第一sff节点16,第一sff节点16将数据流转发给第一sf节点13,第一sf节点13处理数据流完成后将数据流返回给第一sff节点16,第一sff节点16再将数据流转发给第二sff节点17;第二sff节点17将数据流转发给第二sf节点14,第二sf节点14处理数据流完成后将数据流返回给第二sff节点17,第二sff节点17再将数据流转发给第三sff节点18,第三sff节点18将数据流转发给第三sf节点15,第三sf节点15处理数据流完成后将数据流返回给第三sff节点18。这种转发方式增加了网络带宽的消耗和整天的转发时延。



技术实现要素:

本发明要解决的技术问题是,提供一种sfc报文转发方法及设备,克服现有的sfc中报文需要多次转发,导致网络带宽的消耗和转发时延过大的缺陷。

本发明采用的技术方案是,所述一种业务功能链sfc报文转发方法,包括:

当任一报文转发节点接收到报文时,所述任一报文转发节点根据预设的下一跳业务功能sf节点的地址信息,将所述报文转发至所述下一跳sf节点。

可选的,在所述任一报文转发节点接收到报文之前,所述方法还包括:

所述任一报文转发节点接收业务链控制器sfc-controller节点发送的所述预设的下一跳sf节点的地址信息。

可选的,所述报文转发节点包括:业务功能转发器sff节点;所述报文包括:所述sfc向互联网发送的上行报文;所述下一跳sf节点包括:上行下一跳sf节点;

所述任一报文转发节点根据预设的下一跳sf节点的地址信息,将所述报文转发至所述下一跳sf节点,包括:

所述任一sff节点根据预设的上行下一跳sf节点的地址信息,将所述上行报文转发至所述上行下一跳sf节点。

可选的,所述报文转发节点包括:sff节点;所述报文包括:所述sfc接收到互联网发送的下行报文;所述下一跳sf节点包括:下行下一跳sf节点;

所述任一报文转发节点根据预设的下一跳sf节点的地址信息,将所述报文转发至所述下一跳sf节点,包括:

所述任一sff节点根据预设的下行下一跳sf节点的地址信息,将所述下行报文转发至所述下行下一跳sf节点。

可选的,所述报文转发节点包括:分类器classifier节点。

本发明还提供一种sfc报文转发设备,所述sfc报文转发设备包括处理器和存储器;

所述处理器用于执行存储器中存储的报文转发的程序,以实现以下步骤:

当接收到报文时,根据预设的下一跳sf节点的地址信息,将所述报文转发至所述下一跳sf节点。

可选的,在所述接收到报文之前,所述处理器还用于执行所述sfc报文转发的程序,以实现以下步骤:

接收sfc-controller节点发送的所述预设的下一跳sf节点的地址信息。

可选的,所述sfc报文转发设备包括:sff节点;所述报文包括:所述sfc向互联网发送的上行报文;所述下一跳sf节点包括:上行下一跳sf节点;

所述根据预设的下一跳sf节点的地址信息,将所述报文转发至所述下一跳sf节点,包括:

根据预设的上行下一跳sf节点的地址信息,将所述上行报文转发至所述上行下一跳sf节点。

可选的,所述sfc报文转发设备包括:sff节点;所述报文包括:所述sfc接收到互联网发送的下行报文;所述下一跳sf节点包括:下行下一跳sf节点;

所述根据预设的下一跳sf节点的地址信息,将所述报文转发至所述下一跳sf节点,包括:

根据预设的下行下一跳sf节点的地址信息,将所述下行报文转发至所述下行下一跳sf节点。

可选的,所述sfc报文转发设备包括:分类器classifier节点。

采用上述技术方案,本发明至少具有下列优点:

本发明所述一种sfc报文转发方法及设备,能够有效的减少sfc中报文的转发次数,缩短报文的转发路径,有效的提高了sfc业务服务的质量。

附图说明

图1为现有技术中的sfc报文转发方法流程图;

图2为本发明第二实施例的sfc报文转发方法流程图;

图3为本发明第三实施例的sfc信息下发示意图;

图4为本发明第三实施例的sfc上行报文转发示意图;

图5为本发明第三实施例的sfc下行报文转发示意图;

图6为本发明第三实施例的sfc报文转发方法流程图;

图7为本发明第四至第五实施例的sfc报文转发设备组成结构示意图。

具体实施方式

为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明进行详细说明如后。

本发明第一实施例,一种sfc报文转发方法,包括以下具体步骤:

步骤s101,当任一报文转发节点接收到报文时,该任一报文转发节点根据预设的下一跳sf节点的地址信息,将报文转发至下一跳sf节点。

在本发明的一些实施例中,报文转发节点包括但不限于:sff节点和/或classifier节点等节点。

在本发明的一些实施例中,地址信息包括但不限于:ip(internetprotocol,网络之间互连的协议)地址信息和/或mac(mediaaccesscontrol,媒体访问控制)地址信息等信息。

可选的,步骤s101,包括:

当任一报文转发节点接收到报文时,判断该任一报文转发节点是否预存了下一跳sf节点的地址信息;

若该任一报文转发节点预存了下一跳sf节点的地址信息,则将报文转发至下一跳sf节点;否则将报文转发至ietf(internetengineeringtaskforce,国际互联网工程任务组)规定的sfc协议规定的下一节点。

例如:当任一sff节点接收到报文时,该sff节点根据预设的下一跳sf节点的地址信息,将报文转发至下一跳sf节点。

又如:当任一classifier节点接收到报文时,该classifier节点根据预设的下一跳sf节点的地址信息,将报文转发至下一跳sf节点。

又如:当任一sff节点接收到报文时,判断该任一sff节点是否预存了下一跳sf节点的地址信息;

若该任一sff节点预存了下一跳sf节点的地址信息,则将报文转发至下一跳sf节点;否则将报文转发至ietf(internetengineeringtaskforce,国际互联网工程任务组)规定的sfc协议规定的下一节点。

又如:当任一classifier节点接收到报文时,判断该任一classifier节点是否预存了下一跳sf节点的地址信息;

若该任一classifier节点预存了下一跳sf节点的地址信息,则将报文转发至下一跳sf节点;否则将报文转发至ietf(internetengineeringtaskforce,国际互联网工程任务组)规定的sfc协议规定的下一节点。

本发明第一实施例所述的一种sfc报文转发方法,能够有效的减少sfc中报文的转发次数,缩短报文的转发路径,有效的提高了sfc业务服务的质量。

本发明第二实施例,一种sfc报文转发方法,如图2所示,包括以下具体步骤:

步骤s201,每一报文转发节点接收sfc-controller节点发送的预设的下一跳sf节点的地址信息。

在本发明的一些实施例中,报文转发节点包括但不限于:sff节点和/或classifier节点等节点。

在本发明的一些实施例中,地址信息包括但不限于:ip(internetprotocol,网络之间互连的协议)地址信息和/或mac(mediaaccesscontrol,媒体访问控制)地址信息等信息。

步骤s202,当任一报文转发节点接收到报文时,该任一报文转发节点根据预设的下一跳sf节点的地址信息,将报文转发至下一跳sf节点。

可选的,步骤s202,包括:

报文转发节点包括:sff节点;报文包括:sfc向互联网发送的上行报文;下一跳sf节点包括:上行下一跳sf节点;

任一sff节点根据预设的上行下一跳sf节点的地址信息,将上行报文转发至上行下一跳sf节点。

可选的,步骤s202,包括:

报文转发节点包括:sff节点;报文包括:sfc接收到互联网发送的下行报文;下一跳sf节点包括:下行下一跳sf节点;

任一sff节点根据预设的下行下一跳sf节点的地址信息,将下行报文转发至下行下一跳sf节点。

可选的,步骤s202,包括:

报文转发节点包括:classifier节点;sfc向互联网发送的上行报文;下一跳sf节点包括:上行下一跳sf节点;

任一classifier节点根据预设的上行下一跳sf节点的地址信息,将上行报文转发至上行下一跳sf节点。

本发明第二实施例所述的一种sfc报文转发方法,能够有效的减少sfc中报文的转发次数,缩短报文的转发路径,有效的提高了sfc业务服务的质量。

本发明第三实施例,本实施例是在上述实施例的基础上,以一种sfc报文转发方法为例,结合附图3~图5介绍一个本发明的应用实例。

本发明第三实施例中的sfc架构为ietf相关协议定义的sfc架构;如图2所示,该sfc结构包括一个classifier节点301,三个sf节点(包括:第一sf节点303,第二sf节点304,和第三sf节点305),三个sff节点(包括:第一sff节点306,第二sff节点307,和第三sff节点308),和一个sfc-controller节点302。

步骤s301,sfc-controller节点302向classifier节点301,第一sff节点306,第二sff节点307,和第三sff节点308发送对应的下一跳sf节点的地址信息.如图3所示。

可选的,步骤s301,包括:

sfc-controller节点302向classifier节点301发送上行下一跳sf节点(第一sf节点303)的地址信息;

sfc-controller节点302向第一sff节点306发送上行下一跳sf节点(第二sf节点304)的地址信息;

sfc-controller节点302向第二sff节点307发送上行下一跳sf节点(第三sf节点305)的地址信息;

sfc-controller节点302向第三sff节点308发送下行下一跳sf节点(第二sf节点304)的地址信息;

sfc-controller节点302向第二sff节点307发送下行下一跳sf节点(第一sf节点303)的地址信息。

其中,地址信息包括但不限于:ip地址信息和/或mac地址信息等信息。

sfc-controller节点302向classifier节点301,第一sff节点306,第二sff节点307,和第三sff节点308发送对应的下一跳sf节点的地址信息的方式,包括但不限于:通过restful(representationalstatetransfer)和/或netconf协议等发送方式。

步骤s302,当由sfc向互联网发送上行报文时,上行报文经过classifier节点301,第一sf节点303,第一sff节点306,第二sf节点304,第二sff节点307,第三sf节点305,和第三sff节点308依次进行转发,如图4所示。

步骤s303,当由sfc接收互联网发送的下行报文时,下行报文经过第三sff节点308,第三sf节点305,第三sff节点308,第二sf节点304,第二sff节点307,第一sf节点303,第一sff节点306,和classifier节点301依次进行转发,如图5所示。

本发明第三实施例所述的一种sfc报文转发方法,能够有效的减少sfc中报文的转发次数,缩短报文的转发路径,有效的提高了sfc业务服务的质量。

本发明第四实施例,一种sfc报文转发设备,如图7所示,包括以下组成部分:

处理器501和存储器502。在本发明的一些实施例中,处理器501和存储器502可通过总线或者其它方式连接。

处理器501可以是通用处理器,例如中央处理器(centralprocessingunit,cpu),还可以是数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(英文:applicationspecificintegratedcircuit,asic),或者是被配置成实施本发明实施例的一个或多个集成电路。其中,存储器502用于存储处理器501的可执行指令;

存储器502,用于存储程序代码,并将该程序代码传输给处理器501。存储器502可以包括易失性存储器(volatilememory),例如随机存取存储器(randomaccessmemory,ram);存储器502也可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-onlymemory,rom)、快闪存储器(flashmemory)、硬盘(harddiskdrive,hdd)或固态硬盘(solid-statedrive,ssd);存储器502还可以包括上述种类的存储器的组合。

其中,处理器501用于调用存储器502存储的程序代码管理代码,执行如下操作:

当接收到报文时,根据预设的下一跳sf节点的地址信息,将报文转发至下一跳sf节点。

在本发明的一些实施例中,sfc报文转发设备包括但不限于:sff节点和/或classifier节点等节点。

在本发明的一些实施例中,地址信息包括但不限于:ip(internetprotocol,网络之间互连的协议)地址信息和/或mac(mediaaccesscontrol,媒体访问控制)地址信息等信息。

可选的,当接收到报文时,根据预设的下一跳sf节点的地址信息,将报文转发至下一跳sf节点的方式,包括:

当接收到报文时,判断是否预存了下一跳sf节点的地址信息;

若预存了下一跳sf节点的地址信息,则将报文转发至下一跳sf节点;否则将报文转发至ietf(internetengineeringtaskforce,国际互联网工程任务组)规定的sfc协议规定的下一节点。

例如:当任一sff节点接收到报文时,该sff节点根据预设的下一跳sf节点的地址信息,将报文转发至下一跳sf节点。

又如:当任一classifier节点接收到报文时,该classifier节点根据预设的下一跳sf节点的地址信息,将报文转发至下一跳sf节点。

又如:当任一sff节点接收到报文时,判断该任一sff节点是否预存了下一跳sf节点的地址信息;

若该任一sff节点预存了下一跳sf节点的地址信息,则将报文转发至下一跳sf节点;否则将报文转发至ietf(internetengineeringtaskforce,国际互联网工程任务组)规定的sfc协议规定的下一节点。

又如:当任一classifier节点接收到报文时,判断该任一classifier节点是否预存了下一跳sf节点的地址信息;

若该任一classifier节点预存了下一跳sf节点的地址信息,则将报文转发至下一跳sf节点;否则将报文转发至ietf(internetengineeringtaskforce,国际互联网工程任务组)规定的sfc协议规定的下一节点。

本发明第四实施例所述的一种sfc报文转发设备,能够有效的减少sfc中报文的转发次数,缩短报文的转发路径,有效的提高了sfc业务服务的质量。

本发明第五实施例,一种sfc报文转发设备,如图7所示,包括以下组成部分:

处理器501和存储器502。在本发明的一些实施例中,处理器501和存储器502可通过总线或者其它方式连接。

处理器501可以是通用处理器,例如中央处理器(centralprocessingunit,cpu),还可以是数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(英文:applicationspecificintegratedcircuit,asic),或者是被配置成实施本发明实施例的一个或多个集成电路。其中,存储器502用于存储处理器501的可执行指令;

存储器502,用于存储程序代码,并将该程序代码传输给处理器501。存储器502可以包括易失性存储器(volatilememory),例如随机存取存储器(randomaccessmemory,ram);存储器502也可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-onlymemory,rom)、快闪存储器(flashmemory)、硬盘(harddiskdrive,hdd)或固态硬盘(solid-statedrive,ssd);存储器502还可以包括上述种类的存储器的组合。

其中,处理器501用于调用存储器502存储的程序代码管理代码,执行如下操作:

1)接收sfc-controller节点发送的预设的下一跳sf节点的地址信息。

在本发明的一些实施例中,sfc报文转发设备包括但不限于:sff节点和/或classifier节点等节点。

在本发明的一些实施例中,地址信息包括但不限于:ip(internetprotocol,网络之间互连的协议)地址信息和/或mac(mediaaccesscontrol,媒体访问控制)地址信息等信息。

2)当接收到报文时,根据预设的下一跳sf节点的地址信息,将报文转发至下一跳sf节点。

可选的,当接收到报文时,根据预设的下一跳sf节点的地址信息,将报文转发至下一跳sf节点的方式,包括:

sfc报文转发设备包括:sff节点;报文包括:sfc向互联网发送的上行报文;下一跳sf节点包括:上行下一跳sf节点;

sfc报文转发设备根据预设的上行下一跳sf节点的地址信息,将上行报文转发至上行下一跳sf节点。

可选的,步骤s202,包括:

sfc报文转发设备包括:sff节点;报文包括:sfc接收到互联网发送的下行报文;下一跳sf节点包括:下行下一跳sf节点;

sff节点根据预设的下行下一跳sf节点的地址信息,将下行报文转发至下行下一跳sf节点。

可选的,步骤s202,包括:

sfc报文转发设备包括:classifier节点;sfc向互联网发送的上行报文;下一跳sf节点包括:上行下一跳sf节点;

classifier节点根据预设的上行下一跳sf节点的地址信息,将上行报文转发至上行下一跳sf节点。

本发明第五实施例所述的一种sfc报文转发设备,能够有效的减少sfc中报文的转发次数,缩短报文的转发路径,有效的提高了sfc业务服务的质量。

本发明第六实施例,一种计算机可读存储介质。

计算机存储介质可以是ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、移动硬盘、cd-rom或者本领域已知的任何其他形式的存储介质。

计算机可读存储介质存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,以实现本发明第一实施例至本发明第三实施例中任一实施例中部分或全部步骤。

本发明第六实施例中的一种计算机可读存储介质,存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,能够有效的减少sfc中报文的转发次数,缩短报文的转发路径,有效的提高了sfc业务服务的质量。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1