基于业务功能链SFC的通信方法和装置与流程

文档序号:12809359阅读:903来源:国知局
基于业务功能链SFC的通信方法和装置与流程

本发明实施例涉及通信领域,并且更具体地,涉及一种基于业务功能链sfc的通信方法和装置。



背景技术:

业务功能链(servicefunctionchaining,简称为“sfc”)是解决目前网络中防火墙、负载均衡器等网络业务设备的部署和调整不够灵活的一种网络技术。网络中一组具有业务处理功能的设备(如防火墙、负载均衡器等)的序列称为一个业务功能链sfc。sfc可以看作是底层基础网路的虚拟overlay网络。sfc的基本架构包括如图1中所示的逻辑单元:分类器(classifier,简称为“cf”)节点110,业务功能转发器(servicefunctionforwarder,简称为“sff”)节点120,业务功能(servicefunction,简称为“sf”)节点130。其中,sf节点例如为防火墙、深度报文检测、负载均衡等设备。

在sfc中是依据sfc转发表对数据报文进行转发的,而sfc转发表的生成需要知道sfc的网络拓扑,换句话说,需要发现该sfc网络中所有的节点,如cf、sff和sf。当前技术中,是通过手工配置来发现sfc的网络拓扑的,这种方式存在繁琐、复杂、且缺乏灵活性的弊端,例如,当sfc中发生sf的删除或移动时,需要重新进行手工配置。



技术实现要素:

本发明实施例提供一种基于业务功能链sfc的通信方法、装置和系统,能够实现sfc的网络拓扑的自动发现。

第一方面,提供了一种基于业务功能链sfc的通信方法,所述sfc包括分类器cf节点、业务功能转发器sff节点和业务功能sf节点,所述sff节点与所述sf节点连接,包括:

所述cf节点接收来自所述sff节点的第一消息,所述第一消息包括所述sff节点的标识信息和属性信息,以及所述sf节点的标识信息和属性信 息;

所述cf节点根据所述第一消息,获取所述sfc的网络拓扑信息,所述sfc的网络拓扑信息包括所述sff节点的标识信息和属性信息,与所述sf节点的标识信息和属性信息,以及用于指示所述sff节点与所述sf节点的连接关系的信息;

所述cf节点获取sfc转发表,所述sfc转发表是基于所述sfc的网络拓扑信息所确定的;

所述cf节点向所述sff节点发送用于指示所述sfc转发表的第二消息,以便于所述sff节点根据所述sfc转发表转发数据报文。

在本发明中,sfc中的cf节点通过接收来自该sfc中的sff节点的第一消息,该第一消息包括该sff节点的标识信息和属性信息,以及与该sff节点有连接关系的sf节点的标识信息和属性信息,能够获取到该sfc的网络拓扑信息,即实现了sfc的网络拓扑发现,相比于现有技术中采用手工配置方式来实现sfc的网络拓扑发现,本发明提供的方法能够灵活、高效地实现sfc的网络拓扑发现,也能够降低操作成本。

此外,本发明提供的方法,能够有效地应对sfc的网络拓扑发生变化的情形,例如当sfc中的sf节点发生移动或者删除,利用本发明提供的方法,cf节点能够及时感知到sfc网络拓扑的变化,从而能够及时更新sfc的网络拓扑信息。

因此,本发明提供的方法,能够灵活、高效地发现sfc的网络拓扑,然后获取根据该sfc的网络拓扑生成的sfc转发表,并向sfc中的sff节点发送该sfc转发表,从而实现sfc转发表的同步。

结合第一方面,在第一方面的第一种可能的实现方式中,所述cf节点接收来自所述sff节点的第一消息,包括:

所述cf节点基于组播方式接收来自所述sff节点的所述第一消息。

具体地,该cf节点与sfc中的sff节点均加入一个特定组播组,所述sff节点发送的该第一消息的目的地址为该特定组播组的组播地址,应理解,该特定组播组内的每个成员节点都能接收到目的地址为该特定组播组的组播地址的第一消息,即cf节点基于组播的方式能够接收到来自sff节点的第一消息,从而获取sfc的网络拓扑信息。应理解,在该实现方式中,该特定组播组内的各个sff节点也能够基于组播的方式接收到其他sff节点发送的 第一消息,从而也能够获取到sfc的网络拓扑信息。

因此,相对于现有技术中通过手工配置实现sfc的网络拓扑发现,本发明能够较为灵活、高效地实现sfc的网络拓扑发现。

结合第一方面,在第一方面的第二种可能的实现方式中,所述cf节点接收来自所述sff节点的第一消息,包括:

所述cf节点基于泛洪方式接收来自所述sff节点的所述第一消息。

结合第一方面或第一方面的第一种或第二种可能的实现方式中的任一种,在第一方面的第三种可能的实现方式中,所述第一消息所使用的协议为中间系统-中间系统is-is协议或开放式最短路径优先ospf协议,所述第一消息包括用于指示所述sff节点的标识信息与属性信息的sff字段、以及用于指示所述sf节点的标识信息与属性信息的sf字段。

在本发明中,基于is-is协议或ospf协议实现sff节点与cf节点之间的通信,从而能够有效实现sfc的网络拓扑的发现。

结合第一方面或第一方面的第一种至第三种可能的实现方式中的任一种实现方式,在第一方面的第四种可能的实现方式中,所述cf节点向所述sff节点发送用于指示所述sfc转发表的第二消息,包括:

所述cf节点基于组播方式向所述sff节点发送所述第二消息。

具体地,例如,sfc中的cf节点和sff节点均加入一个特定组播组,cf节点发送的用于指示sfc转发表的第二消息的目的地址为该特定组播组的组播地址,应理解,该特定组播组内的每个成员节点都能接收到目的地址为该特定组播组的组播地址的第二消息,因此,所述sfc内的各个sff节点均能根据接收到该第二消息,从而实现了sfc转发表的同步。因此,相比于现有技术中通过南向接口协议向sfc中的各个节点下发sfc转发表,需要sfc中的每个节点都需要支持南向接口协议,本发明的方法能够有效提高同步sfc转发表的可操作性,也能够提高同步sfc转发表的效率。

结合第一方面或第一方面的第一种至第三种可能的实现方式中的任一种实现方式,在第一方面的第五种可能的实现方式中,所述cf节点向所述sff节点发送用于指示所述sfc转发表的第二消息,包括:

所述cf节点基于泛洪方式向所述sff节点发送所述第二消息。

具体地,cf节点只需将该第二消息发送至该cf节点的邻居节点,该第二消息会基于泛洪的方式逐跳转发至sfc中的每个sff节点,因此,相比于 现有技术中通过南向接口协议向sfc中的各个节点下发sfc转发表,需要sfc中的每个节点都需要支持南向接口协议,本发明的方法能够有效提高同步sfc转发表的可操作性,也能够提高同步sfc转发表的效率。

结合第一方面或第一方面的上述任一种可能的实现方式,在第一方面的第六种可能的实现方式中,所述sfc转发表的表项中包括用于指示业务功能路径的指示信息,所述指示信息包括所述sf节点的标识信息和属性信息中的至少一种信息、以及所述sff节点的标识信息。

结合第一方面的第六种可能的实现方式,在第一方面的第七种可能的实现方式中,所述第二消息所使用的协议为is-is协议或ospf协议。

具体地,该第二消息包括用于指示所述sf节点的标识信息和属性信息中的至少一种信息的sf字段,与用于指示所述sff节点的标识信息的sff字段。

因此,本发明的方法利用较为通用的is-is协议或ospf协议就能实现sfc转发表的同步,相比于现有技术中通过南向接口协议向sfc中的各个节点下发sfc转发表,需要sfc中的每个节点都需要支持南向接口协议,本发明的方法能够有效提高同步sfc转发表的可操作性。

结合第一方面或第一方面的上述任一种可能的实现方式,在第一方面的第八种可能的实现方式中,所述通信方法还包括:

所述cf节点基于组播或泛洪的方式向所述sff节点发送包括所述cf节点的标识信息和属性信息的第三消息,所述第三消息所使用的协议为is-is协议或ospf协议,所述第三消息包括用于指示所述cf节点的标识信息和属性信息的cf字段。

应理解,sff节点可以根据该第三消息识别该cf节点的功能和角色,从而有利于后续有效接收cf节点发送的sfc转发表。

第二方面提供了一种基于业务功能链sfc的通信方法,所述sfc包括分类器cf节点、业务功能转发器sff节点和业务功能sf节点,所述sff节点与所述sf节点连接,包括:

所述cf节点获取所述sfc的网络拓扑信息,所述sfc的网络拓扑信息包括所述sff节点的标识信息和属性信息,与所述sf节点的标识信息和属性信息,以及用于指示所述sff节点与所述sf节点之间的连接关系的信息;

所述cf节点获取sfc转发表,所述sfc转发表基于所述sfc的网络拓 扑信息确定;

所述cf节点基于泛洪或组播的方式向所述sff节点发送用于指示所述sfc转发表的第二消息,以便于所述sff节点根据所述sfc转发表转发数据报文。

应理解,在本发明中,cf节点只需将所述第二消息发送至所述cf节点的邻居节点,所述第二消息基于泛洪或组播的方式会逐跳转发至每个sff节点,相比于现有技术中通过南向接口协议向sfc中的各个节点下发sfc转发表,需要sfc中的每个节点都需要支持南向接口协议,本发明的方法能够有效提高同步sfc转发表的可操作性,也能够提高同步sfc转发表的效率。

结合第二方面,在第二方面的第一种可能的实现方式中,所述sfc转发表的表项中包括用于指示业务功能路径的指示信息,所述指示信息包括所述sf节点的标识信息和属性信息中的至少一种信息、以及所述sff节点的标识信息。

结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述第二消息所使用的协议为is-is协议或ospf协议。

因此,本发明的方法利用较为通用的is-is协议或ospf协议就能实现sfc转发表的同步,相比于现有技术中通过南向接口协议向sfc中的各个节点下发sfc转发表,需要sfc中的每个节点都需要支持南向接口协议,本发明的方法能够有效提高同步sfc转发表的可操作性。

在上述各个实现方式中,所述sff节点指代业务功能链sfc中的每个sff节点,即cf节点接收sfc中每个sff节点发送的第一消息,也向该每个sff节点发送用于指示sfc转发表的第二消息。应理解,sfc中可以包括一个或多个sff节点,每一个sff可以与一个或多个sf节点连接,其中,与不同sff节点连接的sf节点可以不同也可以相同。在本发明中,sfc中的每个sff节点均向cf节点发送所述第一消息,所述第一消息包括所述每个sff节点的标识信息与属性信息,以及与所述每个sff节点有连接关系的sf节点的标识信息与属性信息。例如,当sfc包括第一sff节点、第二sff节点和第三sff节点,其中,第一sff节点与第一sf节点(可以为一个或多个sf节点)连接,第二sff节点与第二sf节点连接,第三sff节点与第三sf节点连接,这3个sff节点分别向cf节点发送第一消息,其中,第一sff节点发送的第一消息包括所述第一sff节点的标识信息与属性信息与所 述第一sf节点的标识信息与属性信息,第二sff节点发送的第一消息包括所述第二sff节点的标识信息与属性信息与所述第二sf节点的标识信息与属性信息,第三sff节点发送的第一消息包括所述第三sff节点的标识信息与属性信息与所述第三sf节点的标识信息与属性信息。还应理解,cf节点通过分别接收第一sff节点、第二sff节点与第三sff节点发送的第一消息,能够获取到sfc的网络拓扑信息。cf节点通过向第一sff节点、第二sff节点与第三sff节点发送sfc转发表,以实现sfc转发表的同步。

第三方面提供了一种基于业务功能链sfc的通信方法,所述sfc包括分类器cf节点、第一业务功能转发器sff节点与第一业务功能sf节点,所述第一sff节点与所述第一sf节点连接,包括:

所述第一sff节点向所述cf节点发送第一消息,所述第一消息包括所述第一sff节点的标识信息和属性信息,以及所述第一sf节点的标识信息和属性信息,以便于所述cf节点根据所述第一消息,获取所述sfc的网络拓扑信息,所述sfc的网络拓扑信息包括所述第一sff节点的标识信息和属性信息,与所述第一sf节点的标识信息和属性信息,以及用于指示所述第一sff节点与所述第一sf节点的连接关系的信息;

所述第一sff节点接收来自所述cf节点的用于指示sfc转发表的第二消息,所述sfc转发表是基于所述sfc的网络拓扑信息所确定的;

所述第一sff节点根据所述sfc转发表转发数据报文。

在本发明中,sfc中的sff节点向cf节点发送第一消息,该第一消息包括该sff节点的标识信息和属性信息,以及与该sff节点有连接关系的sf节点的标识信息和属性信息,能够获取到该sfc的网络拓扑信息,即实现了sfc的网络拓扑发现,相比于现有技术中采用手工配置方式来实现sfc的网络拓扑发现,本发明提供的方法能够灵活、高效地实现sfc的网络拓扑发现,也能够降低操作成本。

此外,本发明提供的方法,能够有效地应对sfc的网络拓扑发生变化的情形,例如当sfc中的sf节点发生移动或者删除,利用本发明提供的方法,cf节点能够及时感知到sfc网络拓扑的变化,从而能够及时更新sfc的网络拓扑信息。

因此,本发明提供的方法,能够灵活、高效地发现sfc的网络拓扑,然后获取根据该sfc的网络拓扑生成的sfc转发表,并向sfc中的sff节点 发送该sfc转发表,从而实现sfc转发表的同步。

结合第三方面,在第三方面的第一种可能的实现方式中,所述第一sff节点向所述cf节点发送第一消息,包括:

所述第一sff节点基于组播方式向所述cf节点发送所述第一消息。

具体地,该cf节点与sfc中的sff节点均加入一个特定组播组,所述sff节点发送的该第一消息的目的地址为该特定组播组的组播地址,应理解,该特定组播组内的每个成员节点都能接收到目的地址为该特定组播组的组播地址的第一消息,即cf节点基于组播的方式能够接收到来自sff节点的第一消息,从而获取sfc的网络拓扑信息。应理解,在该实现方式中,该特定组播组内的各个sff节点也能够基于组播的方式接收到其他sff节点发送的第一消息,从而也能够获取到sfc的网络拓扑信息。

因此,相对于现有技术中通过手工配置实现sfc的网络拓扑发现,本发明能够较为灵活、高效地实现sfc的网络拓扑发现。

结合第三方面,在第三方面的第二种可能的实现方式中,所述第一sff节点向所述cf节点发送第一消息,包括:

所述第一sff节点基于泛洪方式向所述cf节点发送所述第一消息。

结合第三方面或第三方面的第一种或第二种可能的实现方式中的任一种,在第三方面的第三种可能的实现方式中,所述第一消息所使用的协议为中间系统-中间系统is-is协议或开放式最短路径优先ospf协议,所述第一消息包括用于指示所述第一sff节点的标识信息与属性信息的sff字段、以及用于指示所述第一sf节点的标识信息与属性信息的sf字段。

在本发明中,基于is-is协议或ospf协议实现sff节点与cf节点之间的通信,从而能够有效实现sfc的网络拓扑的发现。

结合第三方面或第三方面的第一种至第三种可能的实现方式中的任一种,在第三方面的第四种可能的实现方式中,所述第一sff节点接收来自所述cf节点的用于指示sfc转发表的第二消息,包括:

所述第一sff节点基于组播方式接收来自所述cf节点的所述第二消息。

结合第三方面或第三方面的第一种至第三种可能的实现方式中的任一种,在第三方面的第五种可能的实现方式中,所述第一sff节点接收来自所述cf节点的用于指示sfc转发表的第二消息,包括:

所述第一sff节点基于泛洪方式接收来自所述cf节点的所述第二消息。

结合第三方面或第三方面的上述任一种可能的实现方式,在第三方面的第六种可能的实现方式中,所述sfc转发表的表项中包括用于指示业务功能路径的指示信息,所述指示信息包括所述第一sf节点的标识信息和属性信息中的至少一种信息、以及所述第一sff节点的标识信息。

结合第三方面的第六种可能的实现方式,在第三方面的第七种可能的实现方式中,所述第二消息所使用的协议为is-is协议或ospf协议。

结合第三方面或第三方面的上述任一种可能的实现方式,在第三方面的第八种可能的实现方式中,所述通信方法还包括:

所述第一sff节点基于组播或泛洪的方式接收来自所述cf节点的包括所述cf节点的标识信息和属性信息的第三消息,所述第三消息所使用的协议为is-is协议或ospf协议,所述第三消息包括用于指示所述cf节点的标识信息和属性信息的cf字段。

应理解,sff节点可以根据该第三消息识别该cf节点的功能和角色,从而有利于后续有效接收cf节点发送的sfc转发表。

结合第三方面或第三方面的上述任一种可能的实现方式,在第三方面的第九种可能的实现方式中,所述通信方法还包括:

所述第一sff节点基于泛洪或组播的方式接收来自所述sfc中的第二sff节点的第四消息,所述第四消息包括所述第二sff节点的标识信息和属性信息,以及与所述第二sff节点有连接关系的第二sf节点的标识信息和属性信息,其中,所述第一sff节点与所述第二sff节点为不同的sff节点;

所述第一sff节点根据所述第四消息,获取所述sfc的网络拓扑信息;

所述第一sff节点基于泛洪或组播的方式向所述第二sff节点发送所述第一消息,以便于所述第二sff节点根据所述第一消息获取所述sfc的网络拓扑信息,

其中,所述第四消息与所述第一消息所使用的协议均为is-is协议或ospf协议,所述第四消息包括用于指示所述第二sff节点的标识信息和属性信息的sff字段、以及用于指示所述第二sf节点的标识信息和属性信息的sf字段,所述第一消息包括用于指示所述第一sff节点的标识信息和属性信息的sff字段、以及用于指示所述第一sf节点的标识信息和属性信息的sf字段。

在第三方面的第九种可能的实现方式中,sfc中包括至少两个sff节点, 其中,所述第一sff节点与所述第二sff节点指代sfc中任意两个sff节点,例如sfc包括3个sff节点,所述第一sff节点可以指示这3个sff节点中的任一个sff节点,所述第二sff节点可以指示该3个sff节点除所述sff节点之外的任一个sff节点。应理解,这3个sff节点中的每个sff节点均向cf节点发送所述第一消息,这3个sff节点之间互发包括自身相关的标识信息与属性信息的消息。应理解,该第四消息可以为与第一消息相同格式的消息。

具体地,例如sfc中的cf节点和sfc中的每个sff节点都加入一个特定组播组,该特定组播组内的每个成员节点都能接收到其他成员节点发送的目的地址为该特定组播组的组播地址的第一消息,从而sfc内的cf节点、以及每个sff节点均能根据接收到第一消息,获取sfc的网络拓扑信息。当sfc转发表中的业务功能路径为松散型路径,例如type1sf—type2sf—type3sf时,cf节点和sff节点可以根据本地获取的sfc的网络拓扑信息,动态计算下一跳节点。因此,本发明提供的方法,能够有效保证sfc在转发平面对数据报文的有效转发。

在第三方面以及第三方面的各个实现方式中,所述第一sff节点与所述第二sff节点是为了区分这两个sff节点是sfc中不同的sff节点,并非限定本发明的方案。所述第一sff节点指代sfc中的各个sff节点。

第四方面提供了一种业务功能链sfc中的cf节点,该cf节点用于执行上述第一方面或第一方面的任一方面的可能实现方式中的方法。

具体地,该cf节点可以包括用于执行第一方面或第一方面的任一可能的实现方式中的方法的模块。

第五方面提供了一种业务功能链sfc中的cf节点,该cf节点用于执行上述第二方面或第二方面的任一方面的可能实现方式中的方法。

具体地,该cf节点可以包括用于执行第二方面或第二方面的任一可能的实现方式中的方法的模块。

第六方面提供了一种业务功能链sfc中的第一sff节点,该第一sff节点用于执行上述第三方面或第三方面的任一方面的可能实现方式中的方法。

具体地,该第一sff节点可以包括用于执行第三方面或第三方面的任一可能的实现方式中的方法的模块。

第七方面提供了一种基于业务功能链sfc中的系统,该系统包括第四方面提供的cf节点和第六方面提供的第一sff节点。

第八方面提供了一种业务功能链sfc中的cf节点,该cf节点包括存储器和处理器,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,并且对该存储器中存储的指令的执行使得该处理器执行第一方面或第一方面的任一方面的可能实现方式中的方法。

第九方面提供了一种业务功能链sfc中的cf节点,该cf节点包括存储器和处理器,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,并且对该存储器中存储的指令的执行使得该处理器执行第二方面或第二方面的任一方面的可能实现方式中的方法。

第十方面提供了一种业务功能链sfc中的sff节点,该sff节点包括存储器和处理器,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,并且对该存储器中存储的指令的执行使得该处理器执行第三方面或第三方面的任一方面的可能实现方式中的方法。

在上述某些实现方式中,sff节点的标识信息表示能够唯一指示该sff节点的信息,例如,sff节点的标识信息为该sff节点的ip地址或mac地址。同理,sf节点的标识信息例如为该sf节点的ip地址或mac地址;cf节点的标识信息例如为该cf节点的ip地址或mac地址。

在上述某些实现方式中,sff节点的属性信息为能够体现该sff节点的能力或属性的信息。具体地,sff节点的属性信息例如包括sff节点的角色信息,sff节点的角色信息用于指示sff节点为业务转发功能的节点,应理解,sff节点的角色信息表明该sff节点有别于sf节点或cf节点。同理,cf节点属性信息为能够体现该cf节点的能力或属性的信息,具体地,cf节点的属性信息例如包括cf节点的角色信息,cf节点的角色信息用于指示cf节点为业务分类功能的节点,应理解,cf节点的角色信息表明该cf节点有别于ssf节点或sf节点。同理,sf节点属性信息为能够体现该sf节点的能力或属性的信息,具体地,sf节点的属性信息例如包括sf节点的角色信息,sf节点的角色信息用于指示sf节点为业务功能的节点。具体地,sf节点可以为具有以下功能中任何一种功能的装置:防火墙、负载均衡、网关、深度报文检测、防攻击、服务质量(qualityofservice,简称为“qos”)等,应理解,sf节点的角色信息表明该sf节点有别于ssf节点或cf节点。

在上述某些实现方式中,该cf节点获取sfc转发表,包括:

当该cf节点为sfc的控制节点时,该cf节点根据获取的sfc的网络拓扑信息,生成该sfc转发表;

当该cf节点不是sfc的控制节点时,该cf节点向控制节点上报获取的sfc的网络拓扑信息,控制节点根据sfc的网络拓扑信息生成该sfc转发表,cf节点从控制节点获取该sfc转发表。

在上述某些实现方式中,当第一消息、第二消息、第三消息或第四消息所使用的协议为is-is协议时,该第一消息、第二消息、第三消息或第四消息的封装格式如图5所示,依次由数据链路层头部(l2header)1、通用路由封装(genericroutingencapsulation,,简称为“gre”)头部、ip头部(ipheader)、数据链路层头部(l2header)2封装is-is报文。需要说明的是,在cf节点与sff节点均加入一个特定组播组的情况下,图5中所示的l2header2、ipheader分别为该特定组播组的mac地址与ip地址。

在上述某些实现方式中,当第一消息、第二消息、第三消息或第四消息所使用的协议为开放式最短路径优先(openshortestpathfirst,简称为“ospf”)协议时,该第一消息、第二消息、第三消息或第四消息的封装格式如图6所示,依次由ip头部(ipheader)1、gre头部、ip头部(ipheader)2、数据链路层头部(l2header)封装ospf报文。需要说明的是,在cf节点与sfc中的每个sff节点均加入一个特定组播组的情况下,图6中所示的l2header、ipheader2分别为该特定组播组mac与ip地址。

基于上述技术方案,sfc中的cf节点通过接收来自该sfc中的sff节点的第一消息,该第一消息包括该sff节点的标识信息和属性信息,以及与该sff节点有连接关系的sf节点的标识信息和属性信息,能够获取到该sfc的网络拓扑信息,即实现了sfc的网络拓扑发现,相比于现有技术中采用手工配置方式来实现sfc的网络拓扑发现,本发明提供的方法能够灵活、高效地实现sfc的网络拓扑发现,也能够降低操作成本。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造 性劳动性的前提下,还可以根据这些附图获得其它的附图。

图1示出本发明实施例的应用场景的示意图。

图2示出根据本发明实施例提供的基于sfc的通信方法的示意性流程图。

图3示出根据本发明实施例提供的基于sfc的通信方法的另一示意性流程图。

图4示出根据本发明实施例提供的基于sfc的通信方法的再一示意性流程图。

图5示出根据本发明实施例提供的is-is报文的封装示意图。

图6示出根据本发明实施例提供的ospf报文的封装示意图。

图7示出根据本发明实施例提供的cf节点的示意性框图。

图8示出根据本发明实施例提供的cf节点的另一示意性框图。

图9示出根据本发明实施例提供的sff节点的示意性框图。

图10示出根据本发明实施例提供的基于sfc的系统的示意性框图。

图11示出根据本发明另一实施例提供的cf节点的示意性框图。

图12示出根据本发明另一实施例提供的cf节点的另一示意性框图。

图13示出根据本发明另一实施例提供的sff节点的示意性框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

为了便于理解和描述本发明实施例提供的基于业务功能链sfc的通信方法和装置,首先结合图1描述一下本发明实施例的应用场景。

如图1所示,业务功能链(servicefunctionchaining,简称为“sfc”)100包括分类器(classifier,简称为“cf”)节点110、业务功能转发器(servicefunctionforwarder,简称为“sff”)节点120、业务功能(servicefunction,简称为“sf”)节点130。示例性的,sff节点120包括sff节点120a和sff节点120b;sf节点130包括sf节点130a、sf节点130b和sf节点130c。如图1所示,当数据报文到达cf节点110时,cf节点110解析该数据报文 的业务属性(例如五元组和/或租户类型),并根据sfc转发表确定该数据报文的业务功能路径(servicefunctionpath,简称为“sfp”)。应理解,cf节点收到数据报文后,根据业务策略与该数据报文的业务属性,确定该数据报文对应的业务功能链,然后基于该数据报文对应的业务功能链的sfc转发表,确定该数据报文对应的业务功能路径。为数据报文匹配业务功能路径之后,cf节点封装该数据报文,封装之后的数据报文包括sfc报文头(sfcheader),该sfcheader中包括用于指示该数据报文匹配的sfp的路径业务功能路径标识(servicefunctionpathidentifier,简称为“sfp-id”)。然后cf节点110将封装后的数据报文(如图1中所示包含阴影部分的数据报文,该阴影部分表示sfcheader)转发至sff节点120a(应理解,该sff节点120a为该数据报文的业务功能路径中的节点)。sff节点120a根据本地存储的sfc转发表与该数据报文的sfp-id,获知该数据报文的sfp,并基于该sfp将封装后的数据报文转发至sf节点130a,sf节点130a处理完该数据报文后返回至sff节点120a。sff节点120a继续根据该数据报文的sfp,将经过sf节点130a处理后的数据报文转发至sff节点130b。以此类推,直至将该数据报文传输到该数据报文的sfp的目的节点。

上述可知,sff中的节点(cf节点、sff节点和sf节点)是基于业务功能路径(sfp)来传输数据报文的,也可以是称之为,是基于sfc转发表来传输数据报文的,而该sfc转发表是根据sfc的网络拓扑信息确定的,因此,在转发数据报文之前,需要实现sfc的网络拓扑的发现,即获知sfc中的cf节点、sff节点和sf节点的相关信息。当前技术通常是通过手工配置的方式在sfc的控制节点上配置sfc的网络拓扑信息,再由控制节点根据sfc的网络拓扑信息生成sfc转发表,然后将sfc转发表下发给sfc中的cf节点和sff节点。其中,利用手工配置的方式获取sfc的网络拓扑,存在手工操作繁琐、复杂、且缺乏灵活性的弊端,例如,当sfc中发生sf的删除或移动时,需要重新进行手工配置。

此外,在现有技术中,控制节点根据sfc的网络拓扑信息生成sfc转发表后,是通过南向接口协议(如openflow)向sfc中的cf节点和sff节点一对一下发的,这样的方式需要sfc中的cf节点和每个sff节点都支持南向接口协议,此外,一对一的下发方式也导致同步sfc转发表的效率较低。

针对上述技术问题,本发明实施例提出一种基于业务功能链sfc的通信 方法、装置和系统,能够灵活地实现sfc的网络拓扑的自动发现,此外,也能够提高同步sfc转发表的效率。

图2示出了根据本发明实施例提供的基于业务功能链sfc的通信方法200的示意性流程图,该sfc包括分类器cf节点、业务功能转发器sff节点和业务功能sf节点,该sff节点与该sf节点连接,该通信方法200包括:

s210,该cf节点接收来自该sff节点的第一消息,该第一消息包括该sff节点的标识信息和属性信息,以及该sf节点的标识信息和属性信息;

s220,该cf节点根据该第一消息,获取该sfc的网络拓扑信息,该sfc的网络拓扑信息包括该sff节点的标识信息和属性信息,与该sf节点的标识信息和属性信息,以及用于指示该sff节点与该sf节点的连接关系的信息;

s230,该cf节点获取sfc转发表,该sfc转发表是基于该sfc的网络拓扑信息所确定的;

s240,该cf节点向该sff节点发送用于指示该sfc转发表的第二消息,以便于该sff节点根据该sfc转发表转发数据报文。

在本发明中,sfc中的cf节点通过接收来自该sfc中的sff节点的第一消息,该第一消息包括该sff节点的标识信息和属性信息,以及与该sff节点有连接关系的sf节点的标识信息和属性信息,能够获取到该sfc的网络拓扑信息,即实现了sfc的网络拓扑发现,相比于现有技术中采用手工配置方式来实现sfc的网络拓扑发现,本发明提供的方法能够灵活、高效地实现sfc的网络拓扑发现,也能够降低操作成本。

此外,本发明提供的方法,能够有效地应对sfc的网络拓扑发生变化的情形,例如当sfc中的sf节点发生移动或者删除,利用本发明提供的方法,cf节点能够及时感知到sfc网络拓扑的变化,从而能够及时更新sfc的网络拓扑信息。

因此,本发明提供的方法,能够灵活、高效地发现sfc的网络拓扑,然后获取根据该sfc的网络拓扑生成的sfc转发表,并向sfc中的sff节点发送该sfc转发表,从而实现sfc转发表的同步。

图2示出了cf节点与一个sff节点之间的通信,应理解,图2所示的例子是为了帮助本领域技术人员更好地理解本发明实施例,而非要限制本发明实施例的范围。本领域技术人员根据所给出的图2的例子,显然可以进行 各种等价的修改或变化,这样的修改或变化也落入本发明实施例的范围内。例如,当sfc中包括多个sff节点时,其中,每个sff节点均会向cf节点发送对应的第一消息,cf节点也会向sfc中的每个sfc节点发送sfc转发表。例如,当sfc包括第一sff节点、第二sff节点和第三sff节点,其中,第一sff节点与第一sf节点(可以为一个或多个sf节点)连接,第二sff节点与第二sf节点连接,第三sff节点与第三sf节点连接,这3个sff节点分别向cf节点发送第一消息,其中,第一sff节点发送的第一消息包括该第一sff节点的标识信息与属性信息与该第一sf节点的标识信息与属性信息,第二sff节点发送的第一消息包括该第二sff节点的标识信息与属性信息与该第二sf节点的标识信息与属性信息,第三sff节点发送的第一消息包括该第三sff节点的标识信息与属性信息与该第三sf节点的标识信息与属性信息。还应理解,cf节点通过分别接收第一sff节点、第二sff节点与第三sff节点发送的第一消息,能够获取到sfc的网络拓扑信息。cf节点通过向第一sff节点、第二sff节点与第三sff节点发送sfc转发表,以实现sfc转发表的同步。应理解,本发明实施例中涉及的该sff节点可以指代sfc中的每个sff节点。此外,应理解,sfc中的一个sff节点可以连接一个或多个sf节点。

应理解,该sfc的网络拓扑信包括:sfc中每个sff节点与每个sf节点的标识信息(例如ip地址)与属性信息(例如角色),以及每个sff节点与对应的sf节点之间的连接关系的信息。以图1所示场景为例,该sfc100的网络拓扑信息包括,sff节点120a、sff节点120b、sf节点130a、sf节点130b与sf节点130c各自的ip地址和角色,以及sff节点120a分别与sf节点130a和sf节点130b的连接关系,sff节点120b与sf节点130c之间的连接关系。

在本发明实施例中,可选地,s210该cf节点接收来自该sff节点的第一消息,包括:

该cf节点基于组播方式接收来自该sff节点的该第一消息。

具体地,该cf节点与该sfc中的每个sff节点发送网际组管理协议(internetgroupmembershipprotocol,简称为“igmp”)report报文加入一个特定组播组后,采用现有的组播路由选择协议,或者ietfbier工作组所提供的方案建立组播树,这样当每个sff发送的第一消息的外层目的ip与目的 mac地址分别为该特定组播组的组播ip地址与mac地址时,该特定组播组内的cf节点就能够接收到该第一消息,从而获得sfc的网络拓扑信息。

应理解,该特定组播组内的每个成员节点都能接收到目的地址为该特定组播组的组播地址的第一消息,即cf节点基于组播的方式能够接收到来自sff节点的第一消息,从而获取sfc的网络拓扑信息。应理解,在该实现方式中,该特定组播组内的各个sff节点也能够基于组播的方式接收到其他sff节点发送的第一消息,从而也能够获取到sfc的网络拓扑信息。

因此,相对于现有技术中通过手工配置实现sfc的网络拓扑发现,本发明能够较为灵活、高效地实现sfc的网络拓扑发现。

在本发明实施例中,可选地,s210该cf节点接收来自该sff节点的第一消息,包括:

该cf节点基于泛洪方式接收来自该sff节点的该第一消息。

具体地,某个sff节点将该第一消息从该某个sff节点的所有接口发送出去,即该某个sff节点的邻居节点接收到该第一消息,然后该邻居节点再通过除接收该第一消息的接口之外的其他接口将该第一消息发送出去,以此类推,该某个sff节点发出的第一消息通过泛洪方式,会到达网络中的每个节点,也就是说,该某个sff节点发出的第一消息,会到达sfc中的cf节点,也会达到sfc中的其他sff节点。这样的话,能够使得sfc中的每个节点灵活高效地发现sfc的网络拓扑信息。

可选地,在本发明实施例中,该通信方法200还包括:

s250,该cf节点基于组播或泛洪的方式向该sff节点发送包括该cf节点的标识信息和属性信息的第三消息,该第三消息所使用的协议为is-is协议或ospf协议,该第三消息包括用于指示该cf节点的标识信息和属性信息的cf字段。

应理解,sff节点可以根据该第三消息识别该cf节点的功能和角色,从而有利于后续有效接收cf节点发送的sfc转发表。

可选地,cf节点可以在接收sff节点发送的第一消息的同时,向sff节点发送该第三消息。具体地,图3以sfc包括两个sff节点为例,示出了cf节点与两个sff节点之间互发消息的示意图。sfc100中的cf节点110、sff节点120a、与sff节点120b分别基于泛洪或组播的方式发送携带各自相关拓扑信息的消息。

具体地,例如,cf节点110基于泛洪的方式发送包括该cf节点的标识信息和角属性信息的消息,该消息最终会泛洪到sff节点120a和sff节点120b。sff节点120a基于泛洪方式发送包括该sff节点120a的标识信息和角属性信息,以及sf节点130a和sf节点130b的标识信息和角属性信息的消息,该消息最终会泛洪到cf节点110和sff节点120b。sff节点120b基于泛洪方式发送包括该sff节点120b的标识信息和角属性信息,以及sf节点130c的标识信息和角属性信息的消息,该消息最终会泛洪到cf节点110和sff节点120a。

具体地,例如,图3中所示的cf节点110、sff节点120a与sff节点均加入一个特定组播组时,cf节点110、sff节点120a与sff节点120b分别发送的消息的目的ip地址与mac地址分别为该特定组播组的组播ip地址与mac地址。这样的话,cf节点110、sff节点120a与sff节点120b都能接收到彼此发送的消息。

通过上述结合图3的描述的方案,sfc中的cf节点和sff节点均能够接收到携带相关拓扑信息的消息,从而可以获取到sfc的网络拓扑信息。

应理解,图3所示的例子是为了帮助本领域技术人员更好地理解本发明实施例,而非要限制本发明实施例的范围。本领域技术人员根据所给出的图3的例子,显然可以进行各种等价的修改或变化,这样的修改或变化也落入本发明实施例的范围内。

因此,在本发明实施例中,sfc的cf节点与每个sff节点之间互发包括有相关拓扑信息的消息,使得cf节点和每个sff节点均能自动发现sfc的网络拓扑,相对于现有技术中通过手工配置手段实现sfc的网络拓扑发现,本发明实施例的方法能够较为灵活、高效地实现sfc的网络拓扑发现。

可选地,在本发明实施例中,sff节点向cf节点发送的该第一消息所使用的协议为中间系统-中间系统is-is协议或开放式最短路径优先ospf协议,该第一消息包括用于指示该sff节点的标识信息与属性信息的sff字段、以及用于指示该sf节点的标识信息与属性信息的sf字段。

具体地,使用is-is协议的第一消息的报文头的格式如图5所示,依次由数据链路层头部(l2header)1、gre头部、ip头部(ipheader)、数据链路层头部(l2header)2封装is-is报文。应理解,传统is-is协议工作在l2层,即传统的is-is报文采用l2层的协议头(如图5中的l2header1)封装 成帧。但是,由于sfc部署在l3层,为了实现利用is-is协议在cf、sff节点间交互信息,需要利用l3层的协议头(如图5中的ipheader)对传统is-is帧进行封装。需要说明的是,在cf节点和sff节点均加入一个特定组播组的情况下,图5中所示的l2header2、ipheader分别为该特定组播组的mac与ip地址。

应理解,图5仅示出了使用is-is协议的第一消息的报文头的示意图,未示出第一消息的负载部分,第一消息的负载部分包括用于指示sff节点的标识信息与属性信息的sff字段与用于指示sf节点的标识信息与属性信息的sf字段,例如,可以通过tlv方式扩展is-is协议来实现该sff字段与sf字段,具体如下:

sffsub-tlv:发布sff节点的标识信息和属性信息;

sfsub-tlv:发布sf节点的标识信息和属性信息。

具体地,使用ospf协议的第一消息的报文头的格式如图6所示,依次由ip头部(ipheader)1、gre头部、ip头部(ipheader)2、数据链路层头部(l2header)封装ospf报文。应理解,ospf是工作在l3层的协议,可以直接用于在cf节点与sff节点之间传输。需要说明的是,在cf节点和sff节点均加入一个特定组播组的情况下,图6中所示的l2header、ipheader2分别为该特定组播组mac与ip地址。

应理解,图5仅示出了使用ospf协议的第一消息的报文头的示意图,未示出第一消息的负载部分,第一消息的负载部分包括用于指示sff节点的标识信息与属性信息的sff字段与用于指示sf节点的标识信息与属性信息的sf字段,例如,可以通过tlv方式扩展ospf协议来实现该sff字段与sf字段,具体如下:

sffsub-tlv:发布sff节点的标识信息和属性信息;

sfsub-tlv:发布sf节点的标识信息和属性信息。

可选地,在本发明实施例中,cf节点向sff节点发送的包括cf节点的标识信息与属性信息的第三消息也可使用is-is协议或ospf协议。

具体地,当第三消息使用的协议为is-is时,第三消息的报文头如图5所示。第三消息的负载部分包括用于指示cf节点的标识信息与属性信息的cf字段,具体地,可以通过tlv方式扩展is-is来实现该cf字段,具体如下:

cfsub-tlv:发布cf节点的标识信息和属性信息。

具体地,当第三消息使用的协议为ospf时,第三消息的报文头如图5所示。第三消息的负载部分包括用于指示cf节点的标识信息与属性信息的cf字段,具体地,可以通过tlv方式扩展ospf来实现该cf字段,具体如下:

cfsub-tlv:发布cf节点的标识信息和属性信息。

可选地,在本发明实施例中,s230该cf节点获取sfc转发表,包括:

当该cf节点为sfc的控制节点时,该cf节点根据获取的sfc的网络拓扑信息,生成该sfc转发表;

当该cf节点不是sfc的控制节点时,该cf节点向控制节点上报获取的sfc的网络拓扑信息,控制节点根据sfc的网络拓扑信息生成该sfc转发表,cf节点从控制节点获取该sfc转发表。

具体地,该控制节点指示能够生成sfc转发表的节点,具体地,控制节点根据sfc的网络拓扑信息和数据报文的业务属性,以及控制层的业务策略生成该sfc转发表。

该控制节点例如可以为cf节点或sfc中的一个sff节点,也可以是sfc的上层系统设备,本发明实施例对此不作限定。

可选地,在本发明实施例中,s240该cf节点向该sff节点发送用于指示该sfc转发表的第二消息,包括:

该cf节点基于组播方式向该sff节点发送该第二消息。

具体地,例如,sfc中的cf节点和sff节点均加入一个特定组播组,cf节点发送的用于指示sfc转发表的第二消息的目的地址为该特定组播组的组播地址,应理解,该特定组播组内的每个成员节点都能接收到目的地址为该特定组播组的组播地址的第二消息,因此,在本发明实施例中,cf节点只需将该第二消息从本地所有接口发送出去,该第二消息就会基于组播地址到达每个sff节点,相比于现有技术中通过南向接口协议向sfc中的各个节点下发sfc转发表,需要sfc中的每个节点都需要支持南向接口协议,本发明的方法能够有效提高同步sfc转发表的可操作性,也能够提高同步sfc转发表的效率。

可选地,在本发明实施例中,s240该cf节点向该sff节点发送用于指示该sfc转发表的第二消息,包括:

该cf节点基于泛洪方式向该sff节点发送该第二消息。

具体地,例如,cf节点将该第二消息从该cf节点的所有端口发送出去,即该cf节点的邻居节点接收到该第二消息,然后该邻居节点再通过除接收该第二消息的端口之外的其他端口将该第一消息发送出去,以此类推,该cf节点发出的第二消息会到达sfc中的每个sff节点。在本发明实施中,通过泛洪方式,实现sfc转发表的同步,相比于现有技术中通过南向接口协议向sfc中的各个节点下发sfc转发表,需要sfc中的每个节点都需要支持南向接口协议,本发明的方法能够有效提高同步sfc转发表的可操作性,也能够提高同步sfc转发表的效率。

可选地,在本发明实施例中,该sfc转发表的表项中包括用于指示业务功能路径的指示信息,该指示信息包括该sf节点的标识信息和属性信息中的至少一种信息、以及该sff节点的标识信息。

具体地,以图1所示场景为例,例如一条业务功能路径p1为:sff节点120a—sf节点130a—sff节点120b—sf节点130c,用于指示该业务功能路径p1的指示信息可以为:sffid(120a)—sfid(130a)—sffid(120b)—sfid(130c),其中,sffid(120a)表示sff节点120a的标识信息,以此类推。应理解,在sfc转发表的表项中记录信息“sffid(120a)—sfid(130a)—sffid(120b)—sfid(130c)”,就表示了这条业务功能路径p1。再例如,一条业务功能路径p2为:sff节点120a—属性信息为a的sf节点—sff节点120b—sf节点130c,用于指示该业务功能路径p2的指示信息可以为:sffid(120a)—sftype(a)—sffid(120b)—sfid(130c),其中,sftype(a)表示sf节点的属性信息为a。则在sfc转发表的表项中记录信息“sffid(120a)—sftype(a)—sffid(120b)—sfid(130c)”,就表示了业务功能路径p2。应理解,假设图1中的sf节点130a与sf节点130b的属性信息均为a,则上述业务功能路径p2中的属性信息为a的sf节点可以为sf节点130a或sf节点130b。

还应理解,sfc转发表的表项中记录的业务功能路径可以唯一对应一个业务功能路径标识(sfp-id),例如在上述例子中,业务功能路径p1的业务功能路径标识为sfp-id(1),业务功能路径p2的业务功能路径标识为sfp-id(2)。cf封装之后数据报文包括sfc-header,该sfc-header包括用于指示业务功能路径的业务功能路径标识(sfp-id),接收到该封装后的数据报 文的某个sff节点,根据本地存储的sfc转发表以及sfc-header中携带的sfp-id,能够确定出该数据报文的业务功能路径,从而可以根据该业务功能路径转发该数据报文。

具体地,在本发明实施例中,sfc中的业务功能路径可能是严格型的,也可能是松散型的,也可能是混合型的。其中,严格型sfp的每一跳都确定,例如上述例子中的业务功能路径p1。松散型sfp的每一跳不一定都是确定的,例如业务功能路径p3:属性信息为a的sf节点—属性信息为b的sf节点—属性信息为c的sf节点,应理解,属性信息为a的sf节点可能包括不止一个sf节点,例如,图1中与sff节点120a连接的两个sf节点均为属性信息为a的sf节点,因此,这种松散型sfp的每一跳不一定都是确定的。混合型sfp是严格型sfp与松散型sfp的任意组合,例如上面例子中的业务功能路径p2,在p2中,有些节点之间的跳转是确定的,例如sff节点120b—sf节点130a,但有些节点之间是跳转是不确定的,例如sff节点120a—属性信息为a的sf节点。

应理解,针对松散型sfp与混合型sfp,有些sff节点仅凭数据报文的业务功能路径无法判断下一跳应该将数据报文发给哪个sff节点,这时需要该sff节点结合本地获取的sfc的网络拓扑信息来动态确定下一跳确定的sff节点。

上述可知,用于指示sfc转发表的第二消息包括sf节点的标识信息与属性信息中的至少一种,以及sff节点的标识信息。

可选地,在本发明实施例中,该第二消息所使用的协议为is-is协议或ospf协议。该第二消息包括用于指示该sf节点的标识信息和属性信息中的至少一种信息的sf字段,与用于指示该sff节点的标识信息的sff字段。

具体地,当第二消息使用的协议为is-is时,第二消息的报文头如图5所示。第二消息的负载部分包括用于指示sf节点的标识信息和属性信息中的至少一种信息的sf字段,以及用于指示sff节点的标识信息的sff字段,具体地,可以通过tlv方式扩展is-is来实现该sf字段与sff字段,具体如下:

sfsub-tlv:发布sf节点的标识信息或属性信息;

sffsub-tlv:发布sff节点的标识信息。

具体地,当第二消息使用的协议为ospf时,第二消息的报文头如图5 所示。第二消息的负载部分包括用于指示sf节点的标识信息和属性信息中的至少一种信息的sf字段,以及用于指示sff节点的标识信息的sff字段,具体地,可以通过tlv方式扩展ospf来实现该sf字段与sff字段,具体如下:

sfsub-tlv:发布sf节点的标识信息或属性信息;

sffsub-tlv:发布sff节点的标识信息。

因此,在本发明实施例中,利用较为通用的is-is协议或ospf协议就能实现sfc转发表的同步,相比于现有技术中通过南向接口协议向sfc中的各个节点下发sfc转发表,需要sfc中的每个节点都需要支持南向接口协议,本发明的方法能够有效提高同步sfc转发表的可操作性。

图4示出了根据本发明实施例提供的基于业务功能链sfc的通信方法300的示意性流程图,该sfc包括分类器cf节点、业务功能转发器sff节点和业务功能sf节点,该sff节点与该sf节点连接,包括:

s310,该cf节点获取该sfc的网络拓扑信息,该sfc的网络拓扑信息包括该sff节点的标识信息和属性信息,与该sf节点的标识信息和属性信息,以及用于指示该sff节点与该sf节点之间的连接关系的信息;

s320,该cf节点获取sfc转发表,该sfc转发表基于该sfc的网络拓扑信息确定;

s330,该cf节点基于泛洪或组播的方式向该sff节点发送用于指示该sfc转发表的第二消息,以便于该sff节点根据该sfc转发表转发数据报文。

因此,在本发明实施中,通过泛洪方式或组播方式,实现sfc转发表的同步,相比于现有技术中通过南向接口协议向sfc中的各个节点下发sfc转发表,需要sfc中的每个节点都需要支持南向接口协议,本发明的方法能够有效提高同步sfc转发表的可操作性,也能够提高同步sfc转发表的效率。

具体地,s310具体包括s210和s220,为了简洁,这里不再赘述。

s320对应于上文中的s230,s330对应于上文中的s240,为了简洁,这里不再赘述。

图2还示出了从sff节点的角度描述根据本发明实施例提供的基于业务功能链的通信方法400的示意性流程图,如图2所示,该sfc包括分类器cf节点、第一业务功能转发器sff节点与第一业务功能sf节点,该第一sff节点与该第一sf节点连接,通信方法400包括:

s410,该第一sff节点向该cf节点发送第一消息,该第一消息包括该第一sff节点的标识信息和属性信息,以及该第一sf节点的标识信息和属性信息,以便于该cf节点根据该第一消息,获取该sfc的网络拓扑信息,该sfc的网络拓扑信息包括该第一sff节点的标识信息和属性信息,与该第一sf节点的标识信息和属性信息,以及用于指示该第一sff节点与该第一sf节点的连接关系的信息;

该步骤s410对应于本发明实施例提供的通信方法200中的步骤s210和s220,为了简洁,这里不再赘述。

s420,该第一sff节点接收来自该cf节点的用于指示sfc转发表的第二消息,该sfc转发表是基于该sfc的网络拓扑信息所确定的;

该步骤s420对应于本发明实施例提供的通信方法200中的步骤s230和s240,为了简洁,这里不再赘述。

s430,该第一sff节点根据该sfc转发表转发数据报文。

具体地,第一sff节点根据数据报文的sfcheader中包括的sfp-id与该sfc转发表能够确定该数据报文的业务功能路径,从而根据该业务功能路径转发该数据报文。

在本发明中,sfc中的sff节点向cf节点发送第一消息,该第一消息包括该sff节点的标识信息和属性信息,以及与该sff节点有连接关系的sf节点的标识信息和属性信息,能够获取到该sfc的网络拓扑信息,即实现了sfc的网络拓扑发现,相比于现有技术中采用手工配置方式来实现sfc的网络拓扑发现,本发明提供的方法能够灵活、高效地实现sfc的网络拓扑发现,也能够降低操作成本。

此外,本发明提供的方法,能够有效地应对sfc的网络拓扑发生变化的情形,例如当sfc中的sf节点发生移动或者删除,利用本发明提供的方法,cf节点能够及时感知到sfc网络拓扑的变化,从而能够及时更新sfc的网络拓扑信息。

因此,本发明提供的方法,能够灵活、高效地发现sfc的网络拓扑,然后获取根据该sfc的网络拓扑生成的sfc转发表,并向sfc中的sff节点发送该sfc转发表,从而实现sfc转发表的同步。

应理解,该第一sff节点指示sfc中的每个sff节点,即上述步骤适用于sfc中的每个sff节点。

在本发明中,sfc中的每个sff节点向cf节点发送包括sff节点和sf节点的标识信息和属性信息的第一消息,使得cf节点通过该第一消息发现sfc的网络拓扑,相比于现有技术中采用手工配置方式发现sfc的网络拓扑,本发明提供的方法能够灵活、高效地实现sfc的网络拓扑发现,同时也能够降低成本。

此外,本发明提供的方法,能够有效地应对sfc的网络拓扑发生变化的情形,例如当sfc中的sf节点发生移动或者删除,利用本发明提供的方法,cf节点能够及时感知到sfc网络拓扑的变化,从而能够及时更新sfc的网络拓扑信息。

因此,本发明实施例提供的方法,能够灵活、高效地发现sfc的网络拓扑,从而通过将根据该sfc的网络拓扑生成的sfc转发表发送到sfc中的每个sff节点,以便于每个sff节点根据该sfc转发表转发数据报文。

可选地,在本发明实施例中,s410该sfc中的每个sff节点中的第一sff节点向该cf节点发送第一消息,包括:

该第一sff节点通过泛洪方式向该cf节点发送该第一消息。

可选地,在本发明实施例中,s410该sfc中的每个sff节点中的第一sff节点向该cf节点发送第一消息,包括:

该第一sff节点通过组播方式向该cf节点发送该第一消息。

具体地,该cf节点与该sfc中的每个sff节点均加入一个特定组播组,每个sff节点发送的第一消息的目的地址为该特定组播组的组播地址,这样该特定组播组内的cf节点能够接收到该第一消息,从而获取sfc的网络拓扑信息。

应理解,该特定组播组内的每个成员节点都能接收到其他成员节点发送的目的地址为该特定组播组的组播地址的第一消息,从而sfc内的cf节点、以及每个sff节点均能根据接收到第一消息,获取sfc的网络拓扑信息。

因此,相对于现有技术中通过手工配置实现sfc的网络拓扑发现,本发明能够较为灵活、高效地实现sfc的网络拓扑发现。此外,采用组播方式传输包括拓扑信息的第一消息,能够防止泛洪到非sfc中的节点。

可选地,在本发明实施例中,s410该第一sff节点向该cf节点发送第一消息,包括:

该第一sff节点基于组播方式向该cf节点发送该第一消息。

具体地,该cf节点与sfc中的sff节点均加入一个特定组播组,该sff节点发送的该第一消息的目的地址为该特定组播组的组播地址,应理解,该特定组播组内的每个成员节点都能接收到目的地址为该特定组播组的组播地址的第一消息,即cf节点基于组播的方式能够接收到来自sff节点的第一消息,从而获取sfc的网络拓扑信息。应理解,在该实现方式中,该特定组播组内的各个sff节点也能够基于组播的方式接收到其他sff节点发送的第一消息,从而也能够获取到sfc的网络拓扑信息。

可选地,在本发明实施例中,s410该第一sff节点向该cf节点发送第一消息,包括:

该第一sff节点基于泛洪方式向该cf节点发送该第一消息。

可选地,在本发明实施例中,该第一消息所使用的协议为中间系统-中间系统is-is协议或开放式最短路径优先ospf协议,该第一消息包括用于指示该第一sff节点的标识信息与属性信息的sff字段、以及用于指示该第一sf节点的标识信息与属性信息的sf字段。

具体地,如图5和图6所示,详述请参见上文结合方法200的描述,这里不再赘述。

可选地,在本发明实施例中,s420该第一sff节点接收来自该cf节点的用于指示sfc转发表的第二消息,包括:

该第一sff节点基于组播方式接收来自该cf节点的该第二消息。

可选地,在本发明实施例中,s420该第一sff节点接收来自该cf节点的用于指示sfc转发表的第二消息,包括:

该第一sff节点基于泛洪方式接收来自该cf节点的该第二消息。

可选地,在本发明实施例中,该sfc转发表的表项中包括用于指示业务功能路径的指示信息,该指示信息包括该第一sf节点的标识信息和属性信息中的至少一种信息、以及该第一sff节点的标识信息。

可选地,在本发明实施例中,s420该第二消息所使用的协议为is-is协议或ospf协议。

具体地,如图5和图6所示,详述请参见上文结合方法200的描述,这里不再赘述。

可选地,在本发明实施例中,该通信方法400还包括:

s440该第一sff节点基于组播或泛洪的方式接收来自该cf节点的包括 该cf节点的标识信息和属性信息的第三消息,该第三消息所使用的协议为is-is协议或ospf协议,该第三消息包括用于指示该cf节点的标识信息和属性信息的cf字段。

应理解,sff节点可以根据该第三消息识别该cf节点的功能和角色,从而有利于后续有效接收cf节点发送的sfc转发表。

具体地,如图3所示,详述请参见上文,这里不再赘述。

可选地,在本发明实施例中,该通信方法400还包括:

该第一sff节点基于泛洪或组播的方式接收来自该sfc中的第二sff节点的第四消息,该第四消息包括该第二sff节点的标识信息和属性信息,以及与该第二sff节点有连接关系的第二sf节点的标识信息和属性信息,其中,该第一sff节点与该第二sff节点为不同的sff节点;

该第一sff节点根据该第四消息,获取该sfc的网络拓扑信息;

该第一sff节点基于泛洪或组播的方式向该第二sff节点发送该第一消息,以便于该第二sff节点根据该第一消息获取该sfc的网络拓扑信息,

其中,该第四消息与该第一消息所使用的协议均为is-is协议或ospf协议,该第四消息包括用于指示该第二sff节点的标识信息和属性信息的sff字段、以及用于指示该第二sf节点的标识信息和属性信息的sf字段,该第一消息包括用于指示该第一sff节点的标识信息和属性信息的sff字段、以及用于指示该第一sf节点的标识信息和属性信息的sf字段。

具体地,如图3所示,本发明实施例中的第一sff节点与第二sff节点分别对应于图3中的sff节点120a与sff节点120b。详述请参见上文结合图3的描述,这里不再赘述。

应理解,该第一sff节点与该第二sff节点指代sfc中任意两个sff节点,例如sfc包括3个sff节点,该第一sff节点可以指示这3个sff节点中的任一个sff节点,该第二sff节点可以指示该3个sff节点除该sff节点之外的任一个sff节点。应理解,这3个sff节点中的每个sff节点均向cf节点发送该第一消息,这3个sff节点之间互发包括自身相关的标识信息与属性信息的消息。应理解,该第四消息可以为与第一消息相同格式的消息。

具体地,例如sfc中的cf节点和sfc中的每个sff节点都加入一个特定组播组,该特定组播组内的每个成员节点都能接收到其他成员节点发送的 目的地址为该特定组播组的组播地址的第一消息,从而sfc内的cf节点、以及每个sff节点均能根据接收到第一消息,获取sfc的网络拓扑信息。当sfc转发表中的业务功能路径为松散型路径,例如type1sf—type2sf—type3sf时,cf节点和sff节点可以根据本地获取的sfc的网络拓扑信息,动态计算下一跳节点。因此,本发明提供的方法,能够有效保证sfc在转发平面对数据报文的有效转发。

还应理解,该第一sff节点与该第二sff节点是为了区分这两个sff节点是sfc中不同的sff节点,并非限定本发明的方案。该第一sff节点指代sfc中的各个sff节点。

还应理解,sfc是基础底层网络(例如底层ip网络)的虚拟overlay网络,应理解,sfc是由基础底层网络中的部分节点(例如具备业务处理和转发功能的节点)组成的,即sfc中包括的各个节点并不是完全物理直连的,例如各个sff节点之间可能连接有路由器或交换机等网元节点。

还应理解,基础底层网络的网络拓扑信息是已知的,也就说,sfc中包括的各个节点在基础底层网络中的拓扑信息是已知的,因此,在本发明实施例中,可以基于sfc网络拓扑信息以及底层基础网络的拓扑信息实现sfc数据报文的转发。

图7示出了根据本发明实施例提供的基于业务功能链sfc的分类器cf节点500的示意性框图,该sfc包括该cf节点500、业务功能转发器sff节点与业务功能sf节点,该sff节点与该sf节点连接,该cf节点500包括:

接收模块510,用于接收来自该sff节点的第一消息,该第一消息包括该sff节点的标识信息和属性信息,以及该sf节点的标识信息和属性信息;

第一获取模块520,用于根据该接收模块接收的该第一消息,获取该sfc的网络拓扑信息,该sfc的网络拓扑信息包括该sff节点的标识信息和属性信息,与该sf节点的标识信息和属性信息,以及用于指示该sff节点与该sf节点的连接关系的信息;

第二获取模块530,用于获取sfc转发表,该sfc转发表是基于该第一获取模块获取的该sfc的网络拓扑信息所确定的;

发送模块540,用于向该sff节点发送用于指示该第二获取模块获取的该sfc转发表的第二消息,以便于该sff节点根据该sfc转发表转发数据 报文。

在本发明实施例中,cf节点通过接收sfc中各个sff节点发送的包括sff节点和sf节点的标识信息和属性信息的消息,发现sfc的网络拓扑,相比于现有技术中采用手工配置方式发现sfc的网络拓扑,本发明提供的方法能够灵活、高效地实现sfc的网络拓扑发现,同时也能够降低成本。

应理解,该cf节点500还包括存储模块,用于存储sfc的网络拓扑信息和sfc转发表。

可选地,在本发明实施例中,该接收模块510用于,基于组播方式接收来自该sff节点的该第一消息。

可选地,在本发明实施例中,该接收模块510用于,基于泛洪方式接收来自该sff节点的该第一消息。

可选地,在本发明实施例中,该第一消息所使用的协议为中间系统-中间系统is-is协议或开放式最短路径优先ospf协议,该第一消息包括用于指示该sff节点的标识信息与属性信息的sff字段、以及用于指示该sf节点的标识信息与属性信息的sf字段。

可选地,在本发明实施例中,该发送模块540用于,基于组播方式向该sff节点发送该第二消息。

可选地,在本发明实施例中,该发送模块540用于,基于泛洪方式向该sff节点发送该第二消息。

可选地,在本发明实施例中,该sfc转发表的表项中包括用于指示业务功能路径的指示信息,该指示信息包括该sf节点的标识信息和属性信息中的至少一种信息、以及该sff节点的标识信息。

可选地,在本发明实施例中,该第二消息所使用的协议为is-is协议或ospf协议。

可选地,在本发明实施例中,该发送模块540还用于,基于组播或泛洪的方式向该sff节点发送包括该cf节点的标识信息和属性信息的第三消息,该第三消息所使用的协议为is-is协议或ospf协议,该第三消息包括用于指示该cf节点的标识信息和属性信息的cf字段。

在本发明实施例中,cf节点通过接收sfc中各个sff节点发送的包括sff节点和sf节点的标识信息和属性信息的消息,发现sfc的网络拓扑,相比于现有技术中采用手工配置方式发现sfc的网络拓扑,本发明提供的方 法能够灵活、高效地实现sfc的网络拓扑发现,同时也能够降低成本。通过将根据该sfc的网络拓扑生成的sfc转发表发送到sfc中的每个sff节点,以便于每个sff节点根据该sfc转发表转发数据报文。

应理解,根据本发明实施例的cf节点500可对应于本发明实施例的基于业务功能链sfc的通信方法中的cf节点,并且cf节点500中的各个模块的上述和其它操作和/或功能分别为了实现图2至图4中的各个方法的相应流程,为了简洁,在此不再赘述。

图8示出了根据本发明实施例提供的基于业务功能链sfc的分类器cf节点600的示意性框图,该sfc包括该cf节点600,多个业务功能转发器sff节点和多个业务功能sf节点,其中该sfc中的每个sff节点与该多个sf节点之间有连接关系,该cf节点600包括:

获取模块610,用于获取该sfc的网络拓扑信息,该sfc的网络拓扑信息包括sfc中的每个sff节点和该多个sf节点的标识信息和属性信息,以及该sfc中的每个sff节点与该多个sf节点之间的连接关系;

该获取模块610还用于,获取sfc转发表,该sfc转发表包括根据该获取模块610获取的该sfc的网络拓扑信息生成的至少一条业务功能路径,该sfc转发表还包括该至少一条业务功能路径与业务功能路径标识之间的对应关系;

发送模块620,用于通过泛洪方式或组播方式向该sfc中的每个sff节点中每个sff节点发送包括该sfc转发表的第二消息,以便于该每个sff节点根据该sfc转发表转发数据报文。

因此,在本发明实施中,通过泛洪方式或组播方式,实现sfc转发表的同步,相比于现有技术中通过南向接口协议向sfc中的各个节点下发sfc转发表,需要sfc中的每个节点都需要支持南向接口协议,本发明的方法能够有效提高同步sfc转发表的可操作性,也能够提高同步sfc转发表的效率。

应理解,该cf节点600还包括存储模块,用于存储sfc的网络拓扑信息和sfc转发表。

可选地,在本发明实施例中,该获取模块610包括:

接收单元,用于接收该sfc中的每个sff节点中每个sff节点发送的第一消息,该第一消息包括该每个sff节点的标识信息和属性信息,该第一消息还包括该多个sf节点中与该每个sff节点有连接关系的sf节点的标识 信息和属性信息;

获取单元,用于根据该接收单元接收的该第一消息,获取该sfc的网络拓扑信息。

可选地,在本发明实施例中,该接收单元具体用于,接收该每个sff节点通过组播方式发送的该第一消息。

可选地,在本发明实施例中,该接收单元具体用于,接收该每个sff节点通过泛洪方式发送的该第一消息。

可选地,在本发明实施例中,该发送模块620还用于,向该每个sff节点发送包括该cf节点的标识信息和属性信息的第三消息,以便于该每个sff节点识别该cf节点。

可选地,在本发明实施例中,该第一消息、该第二消息与该第三消息所使用的协议为中间系统-中间系统is-is协议或开放式最短路径优先ospf协议。

因此,在本发明实施中,通过泛洪方式或组播方式,实现sfc转发表的同步,相比于现有技术中通过一对一下发的方式实现sfc转发表的同步,本发明提供的方法,能够提高同步sfc转发表的效率。

应理解,根据本发明实施例的cf节点600可对应于本发明实施例的基于业务功能链sfc的通信方法中的cf节点,并且cf节点600中的各个模块的上述和其它操作和/或功能分别为了实现图2至图4中的各个方法的相应流程,为了简洁,在此不再赘述。

图9示出了根据本发明实施例提供的基于业务功能链sfc的第一业务功能转发器sff节点700的示意性框图,该sfc包括分类器cf节点、该第一sff节点700与第一业务功能sf节点,该第一sff节点700与该第一sf节点连接,该第一sff节点700包括:

发送模块710,用于向该cf节点发送第一消息,该第一消息包括该第一sff节点的标识信息和属性信息,以及该第一sf节点的标识信息和属性信息,以便于该cf节点根据该第一消息,获取该sfc的网络拓扑信息,该sfc的网络拓扑信息包括该第一sff节点700的标识信息和属性信息,与该第一sf节点的标识信息和属性信息,以及用于指示该第一sff节点700与该第一sf节点的连接关系的信息;

接收模块720,用于接收来自该cf节点的用于指示sfc转发表的第二 消息,该sfc转发表基于该sfc的网络拓扑信息所得;

转发模块730,用于根据该接收模块接收的该sfc转发表转发数据报文。

因此,在本发明实施例中,sfc中的每个sff节点向cf节点发送包括sff节点和sf节点的标识信息和属性信息的第一消息,使得cf节点通过该第一消息发现sfc的网络拓扑,相比于现有技术中采用手工配置方式发现sfc的网络拓扑,本发明提供的方法能够灵活、高效地实现sfc的网络拓扑发现,同时也能够降低成本。

应理解,该第一sff节点700还包括存储模块,用于存储sfc的网络拓扑信息和sfc转发表。

可选地,在本发明实施例中,该发送模块710用于,基于组播方式向该cf节点发送该第一消息。

可选地,在本发明实施例中,该发送模块710用于,基于泛洪方式向该cf节点发送该第一消息。

可选地,在本发明实施例中,该第一消息所使用的协议为中间系统-中间系统is-is协议或开放式最短路径优先ospf协议,该第一消息包括用于指示该sff节点的标识信息与属性信息的sff字段、以及用于指示该第一sf节点的标识信息与属性信息的sf字段。

可选地,在本发明实施例中,该接收模块720用于,基于组播方式接收来自该cf节点的该第二消息。

可选地,在本发明实施例中,该接收模块720用于,基于泛洪方式接收来自该cf节点的该第二消息。

可选地,在本发明实施例中,该sfc转发表的表项中包括用于指示业务功能路径的指示信息,该指示信息包括该第一sf节点的标识信息和属性信息中的至少一种信息、以及该第一sff节点的标识信息。

可选地,在本发明实施例中,该第二消息所使用的协议为is-is协议或ospf协议。

可选地,在本发明实施例中,该接收模块720还用于,基于组播或泛洪的方式接收来自该cf节点的包括该cf节点的标识信息和属性信息的第三消息,该第三消息所使用的协议为is-is协议或ospf协议,该第三消息包括用于指示该cf节点的标识信息和属性信息的cf字段。

可选地,在本发明实施例中,该接收模块720还用于,基于泛洪或组播 的方式接收来自该sfc中的第二sff节点的第四消息,该第四消息包括该第二sff节点的标识信息和属性信息,以及与该第二sff节点有连接关系的第二sf节点的标识信息和属性信息;

该第一sff节点700还包括:

获取模块740,用于根据该接收模块接收的该第四消息,获取该sfc的网络拓扑信息;

其中,该发送模块710还用于,基于泛洪或组播方式向该第二sff节点发送该第一消息,以便于该第二sff节点根据该第一消息获取该sfc的网络拓扑信息,

其中,该第四消息与该第一消息所使用的协议均为is-is协议或ospf协议,该第四消息包括用于指示该第二sff节点的标识信息和属性信息的sff字段、以及用于指示该第二sf节点的标识信息和属性信息的sf字段,该第一消息包括用于指示该sff节点的标识信息和属性信息的sff字段、以及用于指示该第一sf节点的标识信息和属性信息的sf字段。

应理解,根据本发明实施例的第一sff节点700可对应于本发明实施例的基于业务功能链sfc的通信方法中的sff节点,并且第一sff节点700中的各个模块的上述和其它操作和/或功能分别为了实现图2至图4中的各个方法的相应流程,为了简洁,在此不再赘述。

图10示出了根据本发明提供的一种基于业务功能链sfc的系统800的示意性框图,该系统800包括上述实施例描述的cf节点500和上述实施例描述的第一sff节点700。

应理解,该系统中的各个模块的上述和其它操作和/或功能分别为了实现图2至图4中的各个方法的相应流程,为了简洁,在此不再赘述。

本发明提供的基于sfc的系统能够灵活、高效地实现sfc的网络拓扑发现,同时也能够降低成本。

如图11所示,本发明实施例还提供了一种设备900,该设备900为业务功能链sfc中的分类器设备900,该sfc包括该设备900、业务功能转发器sff节点和业务功能sf节点,该sff节点与该sf节点连接,该设备900包括处理器910、存储器920、总线系统930、接收器940和发送器950。其中,处理器910、存储器920、接收器940和发送器950通过总线系统930相连,该存储器920用于存储指令,该处理器910用于执行该存储器920存储的指 令,以控制接收器940接收信号,并控制发送器950发送信号。其中,接收器940用于,接收来自该sff节点的第一消息,该第一消息包括该sff节点的标识信息和属性信息,以及该sf节点的标识信息和属性信息;处理器910用于,根据该第一消息,获取该sfc的网络拓扑信息,该sfc的网络拓扑信息包括该sff节点的标识信息和属性信息,与该sf节点的标识信息和属性信息,以及用于指示该sff节点与该sf节点的连接关系的信息;获取sfc转发表,该sfc转发表是基于该sfc的网络拓扑信息所确定的;发送器950用于,向该sff节点发送用于指示该sfc转发表的第二消息,以便于该sff节点根据该sfc转发表转发数据报文。

在本发明实施例中,设备900通过接收sfc中各个sff节点发送的包括sff节点和sf节点的标识信息和属性信息的消息,发现sfc的网络拓扑,相比于现有技术中采用手工配置方式发现sfc的网络拓扑,本发明提供的方法能够灵活、高效地实现sfc的网络拓扑发现,同时也能够降低成本。

可选地,在本发明实施例中,接收器940用于,基于组播方式或泛洪防洪接收来自该sff节点的该第一消息。

该设备900基于泛洪方式接收来自该sff节点的该第一消息。

可选地,在本发明实施例中,该第一消息所使用的协议为中间系统-中间系统is-is协议或开放式最短路径优先ospf协议,该第一消息包括用于指示该sff节点的标识信息与属性信息的sff字段、以及用于指示该sf节点的标识信息与属性信息的sf字段。

可选地,在本发明实施例中,发送器950用于,基于组播方式或泛洪方式向该sff节点发送该第二消息。

可选地,在本发明实施例中,该sfc转发表的表项中包括用于指示业务功能路径的指示信息,该指示信息包括该sf节点的标识信息和属性信息中的至少一种信息、以及该sff节点的标识信息。

可选地,在本发明实施例中,该第二消息所使用的协议为is-is协议或ospf协议。

可选地,在本发明实施例中,发送器950用于,基于组播或泛洪的方式向该sff节点发送包括该设备900的标识信息和属性信息的第三消息,该第三消息所使用的协议为is-is协议或ospf协议,该第三消息包括用于指示该设备900的标识信息和属性信息的cf字段。

应理解,根据本发明实施例的设备900可对应于本发明实施例的基于sfc的方法中的cf节点,以及可以对应于根据本发明实施例的cf节点500,并且设备900中的各个模块的上述和其它操作和/或功能分别为了实现图1至图6中的各个方法的相应流程,为了简洁,在此不再赘述。

如图12所示,本发明实施例还提供了一种设备1000,该设备为sfc中的分类器设备1000,该sfc包括该设备1000、业务功能转发器sff节点和业务功能sf节点,该sff节点与该sf节点连接,该设备1000包括处理器1010、存储器1020、总线系统1030、接收器1040和发送器1050。其中,处理器1010、存储器1020、接收器1040和发送器1050通过总线系统1030相连,该存储器1020用于存储指令,该处理器1010用于执行该存储器1020存储的指令,以控制接收器1040接收信号,并控制发送器1050发送信号。其中,处理器1010用于,获取该sfc的网络拓扑信息,该sfc的网络拓扑信息包括该sff节点的标识信息和属性信息,与该sf节点的标识信息和属性信息,以及用于指示该sff节点与该sf节点之间的连接关系的信息;获取sfc转发表,该sfc转发表基于该sfc的网络拓扑信息确定;发送器1050用于,基于泛洪或组播的方式向该sff节点发送用于指示该sfc转发表的第二消息,以便于该sff节点根据该sfc转发表转发数据报文。

因此,在本发明实施中,通过泛洪方式或组播方式,实现sfc转发表的同步,相比于现有技术中通过南向接口协议向sfc中的各个节点下发sfc转发表,需要sfc中的每个节点都需要支持南向接口协议,本发明的方法能够有效提高同步sfc转发表的可操作性,也能够提高同步sfc转发表的效率。

应理解,根据本发明实施例的设备1000可对应于本发明实施例的基于sfc的方法中的cf节点,以及可以对应于根据本发明实施例的cf节点600,并且设备1000中的各个模块的上述和其它操作和/或功能分别为了实现图1至图6中的各个方法的相应流程,为了简洁,在此不再赘述。

如图13所示,本发明实施例还提供了一种设备1100,该设备为sfc中的sff节点,该sfc包括分类器cf节点、该设备1100与第一业务功能sf节点,该设备1100与该第一sf节点连接,该设备1100包括处理器1110、存储器1120、总线系统1130、接收器1140和发送器1150。其中,处理器1110、存储器1120、接收器1140和发送器1150通过总线系统1130相连,该存储器1120用于存储指令,该处理器1110用于执行该存储器1120存储的指令,以 控制接收器1140接收信号,并控制发送器1150发送信号。其中,该发送器1150用于,向该cf节点发送第一消息,该第一消息包括该设备1100的标识信息和属性信息,以及该第一sf节点的标识信息和属性信息,以便于该cf节点根据该第一消息,获取该sfc的网络拓扑信息,该sfc的网络拓扑信息包括该设备1100的标识信息和属性信息,与该第一sf节点的标识信息和属性信息,以及用于指示该设备1100与该第一sf节点的连接关系的信息;接收器1140用于,接收来自该cf节点的用于指示sfc转发表的第二消息,该sfc转发表是基于该sfc的网络拓扑信息所确定的;处理器1110用于,根据该sfc转发表转发数据报文。

因此,在本发明实施例中,sfc中的每个sff节点向cf节点发送包括sff节点和sf节点的标识信息和属性信息的第一消息,使得cf节点通过该第一消息发现sfc的网络拓扑,相比于现有技术中采用手工配置方式发现sfc的网络拓扑,本发明提供的方法能够灵活、高效地实现sfc的网络拓扑发现,同时也能够降低成本。

可选地,在本发明实施例中,发送器1050用于,基于组播方式或泛洪方式向该cf节点发送该第一消息。

可选地,在本发明实施例中,该第一消息所使用的协议为中间系统-中间系统is-is协议或开放式最短路径优先ospf协议,该第一消息包括用于指示该设备1100的标识信息与属性信息的sff字段、以及用于指示该第一sf节点的标识信息与属性信息的sf字段。

可选地,在本发明实施例中,该接收器1140用于,基于组播方式或泛洪方式接收来自该cf节点的该第二消息。

可选地,在本发明实施例中,该sfc转发表的表项中包括用于指示业务功能路径的指示信息,该指示信息包括该第一sf节点的标识信息和属性信息中的至少一种信息、以及该设备1100的标识信息。

可选地,在本发明实施例中,该第二消息所使用的协议为is-is协议或ospf协议。

可选地,在本发明实施例中,接收器1140用于,基于组播或泛洪的方式接收来自该cf节点的包括该cf节点的标识信息和属性信息的第三消息,该第三消息所使用的协议为is-is协议或ospf协议,该第三消息包括用于指示该cf节点的标识信息和属性信息的cf字段。

可选地,在本发明实施例中,接收器1140用于,基于泛洪或组播的方式接收来自该sfc中的第二sff节点的第四消息,该第四消息包括该第二sff节点的标识信息和属性信息,以及与该第二sff节点有连接关系的第二sf节点的标识信息和属性信息,其中,该设备1100与该第二sff节点为不同的sff节点;

处理器1110用于,根据该第四消息,获取该sfc的网络拓扑信息;

发送器1150用于,基于泛洪或组播的方式向该第二sff节点发送该第一消息,以便于该第二sff节点根据该第一消息获取该sfc的网络拓扑信息,

其中,该第四消息与该第一消息所使用的协议均为is-is协议或ospf协议,该第四消息包括用于指示该第二sff节点的标识信息和属性信息的sff字段、以及用于指示该第二sf节点的标识信息和属性信息的sf字段,该第一消息包括用于指示该设备1100的标识信息和属性信息的sff字段、以及用于指示该第一sf节点的标识信息和属性信息的sf字段。

应理解,根据本发明实施例的设备1100可对应于本发明实施例的基于sfc的方法中的sff节点,以及可以对应于根据本发明实施例的第一sff节点700,并且设备1100中的各个模块的上述和其它操作和/或功能分别为了实现图1至图6中的各个方法的相应流程,为了简洁,在此不再赘述。

应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可 以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

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