CN107046506A - 一种报文处理方法、流分类器和业务功能实例 - Google Patents
一种报文处理方法、流分类器和业务功能实例 Download PDFInfo
- Publication number
- CN107046506A CN107046506A CN201610083925.6A CN201610083925A CN107046506A CN 107046506 A CN107046506 A CN 107046506A CN 201610083925 A CN201610083925 A CN 201610083925A CN 107046506 A CN107046506 A CN 107046506A
- Authority
- CN
- China
- Prior art keywords
- business function
- business
- stream
- message
- value
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开了一种报文处理方法、流分类器和业务功能实例,该方法通过流分类器接收网络控制装置发送的流表,以及该网络控制装置分配的流的标识,然后再获取第一报文,确定该第一报文与流表匹配,将该第一报文封装为第二报文,该第二报文报文业务头和隧道头,该业务头包括业务功能路径标识,流的标识和第一值,隧道头中包括第一业务功能实例的网络地址,向该第一业务功能实例发送第二报文。本申请实施例公开的技术方案根据网络控制装置分配的流的标识对报文进行处理,处理方式比较灵活。
Description
技术领域
本发明涉及通信技术领域。更具体地,涉及一种报文处理方法、流分类器和业务功能实例。
背景技术
业务功能链(Service Function Chaining,SFC)是一种部署增值业务的机制。
在现有技术中,业务功能链中的一个业务功能可能对应多个业务功能实例。所述多个业务功能实例能够对流量进行负载分担。如,对于防火墙这一业务功能,可能对应防火墙1、防火墙2和防火墙3三个业务功能实例。
多个业务功能实例进行流量负载分担的过程中,转发装置仅使用报文中的字段(例如五元组)来区分不同会话,从而实现对流量的负载分担。
现有技术中转发装置仅使用报文中的字段来对报文进行识别以及处理,不够灵活。
发明内容
本申请实施例提供一种报文处理方法、流分类器和业务功能实例,以解决现有技术中转发装置对报文进行处理不够灵活的问题。
为解决上述问题,本申请实施例提供了如下技术方案:
本申请实施例第一方面公开了一种报文处理方法,所述方法由流分类器执行,所述方法包括:
接收网络控制装置发送的流表,所述流表包含流的规则,所述流被绑定到的业务功能链的信息,以及所述网络控制装置分配的所述流的标识,所述业务功能链的信息包括业务索引,所述业务功能链对应的业务功能路径标识,所述业务功能链的首个业务功能对应的多个业务功能实例的网络地址,及所述多个业务功能实例的隧道信息,或者所述业务功能链的信息包括业务索引,所述业务功能链对应的业务功能路径标识,所述业务功能链的首个业务功能的下一个业务功能对应的多个业务功能实例的网络地址,及所述多个业务功能实例的隧道信息,所述业务索引是所述业务功能链的生存时间值,所述生存时间值等于所述业务功能链上所包含的业务功能的数量;
获取第一报文;
确定所述第一报文与所述流表匹配;
将所述第一报文封装为第二报文,所述第二报文包括业务头以及隧道头,所述业务头包括所述业务功能路径标识,所述流的标识以及第一值,所述第一值等于所述业务索引减1,所述隧道头是基于所述隧道信息生成的,所述隧道头中包括第一业务功能实例的网络地址,所述第一业务功能实例是所述多个业务功能实例中的一个业务功能实例,所述第一业务功能实例的网络地址由所述业务功能路径标识,所述流的标识和所述第一值确定;
向所述第一业务功能实例发送所述第二报文;
其中,所述流分类器是能够与所述业务功能链中的首个业务功能对应的多个业务功能实例中的一个业务功能实例通信的网络装置,或者,所述流分类器是所述业务功能链的首个业务功能。
在本申请实施例第一方面的第一种实现方式中,在所述接收网络控制装置发送的流表之前,还包括:
向所述网络控制装置发送为所述流分配所述流的标识的请求,所述请求中包含所述流的信息;
接收所述网络控制装置为所述流分配的所述流的标识的响应,所述响应中包含所述流的标识,所述流的标识与所述流的信息不同。
在本申请实施例第一方面的第二种实现方式中,由所述业务功能路径标识,所述流的标识和所述第一值确定所述第一业务功能实例的网络地址,包括:
所述流分类器以所述业务功能路径标识和所述第一值为查找关键字在流分发表中查找与所述业务功能路径标识以及所述第一值匹配的表项,所述流分发表中与所述业务功能路径标识以及所述第一值匹配的表项包含所述首个业务功能以及所述首个业务功能对应的多个业务功能实例的网络地址,或者所述流分发表中与所述业务功能路径标识以及所述第一值匹配的表项包含所述下一个业务功能及所述下一个业务功能对应的多个业务功能实例的网络地址;
以所述业务功能路径标识和所述流的标识为查找关键字,从所述流分发表中与所述业务功能路径标识以及所述第一值匹配的表项包含的多个业务功能实例的网络地址中确定第一业务功能实例的网络地址;
或者,
所述流分类器以所述业务功能路径标识和所述第一值确定所述首个业务功能以及所述首个业务功能对应的多个业务功能实例的网络地址,或所述下一个业务功能及所述下一个业务功能对应的多个业务功能实例的网络地址;
以所述业务功能路径标识和所述流的标识为哈希键,从所述首个业务功能或所述下一个业务功能对应的多个业务功能实例的网络地址中确定第一业务功能实例的网络地址。
在本申请实施例第一方面的第三种实现方式中,所述业务头是NSH网络服务头,所述流的标识在所述业务头中的位置包括:
当所述业务头中的MD-type字段的值等于0x2时,所述业务头包含TLV-Class,所述TLV-Class包含Type Code和所述流的标识,所述Type Code用于表示所述TLV-Class携带所述流的标识;
或者,
当所述业务头中的MD-type字段的值等于0x1时,所述业务头中的Mandatory ContextHeader携带所述流的标识。
本申请实施例第二方面公开了一种流分类器,所述流分类器是能够与业务功能链中的首个业务功能对应的多个业务功能实例中的一个业务功能实例通信的网络装置,或者所述流分类器是所述业务功能链的首个业务功能,所述流分类器包括:
接收单元,用于接收网络控制装置发送的流表,以及获取第一报文,所述流表包含流的规则,所述流被绑定到的业务功能链的信息,以及所述网络控制装置分配的所述流的标识,所述业务功能链的信息包括业务索引,所述业务功能链对应的业务功能路径标识,所述业务功能链的首个业务功能对应的多个业务功能实例的网络地址,及所述多个业务功能实例的隧道信息,或者所述业务功能链的信息包括业务索引,所述业务功能链对应的业务功能路径标识,所述业务功能链的首个业务功能的下一个业务功能对应的多个业务功能实例的网络地址,及所述多个业务功能实例的隧道信息,所述业务索引是所业务功能链的生存时间值,所述生存时间值等于业务功能链上所包含的业务功能的数量;
处理单元,用于确定所述接收单元获取的第一报文与所述流表匹配,并将所述第一报文封装为第二报文,所述第二报文包括业务头以及隧道头,所述业务头包括所述业务功能路径标识,所述流的标识以及第一值,所述第一值等于所述业务索引减1,所述隧道头是基于所述隧道信息生成的,所述隧道头中包括第一业务功能实例的网络地址,所述第一业务功能实例是所述多个业务功能实例中的一个业务功能实例,所述第一业务功能实例的网络地址由所述业务功能路径标识,所述流的标识和所述第一值确定;
发送单元,用于向所述处理单元确定的第一业务功能实例发送所述第二报文。
在本申请实施例第二方面的第一种实现方式中,所述处理单元还用于:
向所述网络控制装置发送为所述流分配所述流的标识的请求,所述请求中包含所述流的信息,以及接收所述网络控制装置为所述流分配的所述流的标识的响应,所述响应中包含所述流的标识,所述流的标识与所述流的信息不同。
在本申请实施例第二方面的第二种实现方式中,所述第一业务功能实例的网络地址由所述业务功能路径标识,所述流的标识和所述第一值确定的所述处理单元,包括:
所述处理单元,用于以所述业务功能路径标识和所述第一值为查找关键字在流分发表中查找与所述业务功能路径标识以及所述第一值匹配的表项,所述流分发表中与所述业务功能路径标识以及所述第一值匹配的表项包含所述首个业务功能以及所述首个业务功能对应的多个业务功能实例的网络地址,或者所述流分发表中与所述业务功能路径标识以及所述第一值匹配的表项包含所述下一个业务功能及所述下一个业务功能对应的多个业务功能实例的网络地址,以所述业务功能路径标识和所述流的标识为查找关键字,从所述流分发表中与所述业务功能路径标识以及所述第一值匹配的表项包含的多个业务功能实例的网络地址中确定所述第一业务功能实例的网络地址;
或者,
所述处理单元,用于以所述业务功能路径标识和所述第一值确定所述首个业务功能以及所述首个业务功能对应的多个业务功能实例的网络地址,或所述下一个业务功能及所述下一个业务功能对应的多个业务功能实例的网络地址,以所述业务功能路径标识和所述流的标识为哈希键,从所述首个业务功能或下一个业务功能对应的多个业务功能实例的网络地址中确定第一业务功能实例的网络地址。
在本申请实施例第二方面的第三种实现方式中,所述处理单元还用于:
在所述业务头是NSH网络服务头的情况下,当所述业务头中的MD-type字段的值等于0x2时,所述业务头包含TLV-Class,所述TLV-Class包含TypeCode和所述流的标识,所述Type Code用于表示所述TLV-Class携带所述流的标识;
或者,
在所述业务头是NSH网络服务头的情况下,当所述业务头中的MD-type字段的值等于0x1时,所述业务头中的Mandatory Context Header携带所述流的标识。
本申请实施例第三方面公开了一种流分类器,包括:所述流分类器可以是能够与业务功能链中的首个业务功能对应的多个业务功能实例中的一个业务功能实例通信的网络装置,或者所述流分类器可以是所述业务功能链的首个业务功能,所述流分类器包括:
接收器,用于接收网络控制装置发送的流表,以及获取第一报文,所述流表包含流的规则,所述流被绑定到的业务功能链的信息,以及所述网络控制装置分配的流的标识,所述业务功能链的信息包括业务索引,所述业务功能链对应的业务功能路径标识,所述业务功能链的首个业务功能对应的多个业务功能实例的网络地址,及所述多个业务功能实例的隧道信息,或者所述业务功能链的信息包括业务索引,所述业务功能链对应的业务功能路径标识,所述业务功能链的首个业务功能的下一个业务功能对应的多个业务功能实例的网络地址,及所述多个业务功能实例的隧道信息,所述业务索引是所业务功能链的生存时间值,所述生存时间值等于业务功能链上所包含的业务功能的数量;
处理器,用于确定所述接收器获取的第一报文与所述流表匹配,并将所述第一报文封装为第二报文,所述第二报文包括业务头以及隧道头,所述业务头包括所述业务功能路径标识,所述流的标识以及第一值,所述第一值等于所述业务索引减1,所述隧道头是基于所述隧道信息生成的,所述隧道头中包括第一业务功能实例的网络地址,所述第一业务功能实例是所述多个业务功能实例中的一个业务功能实例,所述第一业务功能实例的网际协议或多媒体接入控制地址由所述业务功能路径标识,所述流的标识和所述第一值确定;
发送器,用于向所述处理器确定的第一业务功能实例发送所述第二报文。
本申请实施例第四方面公开了一种存储设备,所述存储设备适用于流分类器,所述流分类器可以是能够与业务功能链中的首个业务功能对应的多个业务功能实例中的一个业务功能实例通信的网络装置,或者所述流分类器可以是所述业务功能链的首个业务功能,所述存储设备包括存储器和通过总线与所述存储器连接的处理器;
所述存储器存储有用于进行报文处理的程序代码,所述程序代码包括计算机操作指令,所述处理器用于运行上述程序代码;
所述用于进行报文处理的程序代码包括:接收网络控制装置发送的流表,所述流表包含流的规则,所述流被绑定到的业务功能链的信息,以及所述网络控制装置分配的流的标识,所述业务功能链的信息包括业务索引,所述业务功能链对应的业务功能路径标识,所述业务功能链的首个业务功能对应的多个业务功能实例的网络地址,及所述多个业务功能实例的隧道信息,或者所述业务功能链的信息包括业务索引,所述业务功能链对应的业务功能路径标识,所述业务功能链的首个业务功能的下一个业务功能对应的多个业务功能实例的网络地址,及所述多个业务功能实例的隧道信息,所述业务索引是所述业务功能链的生存时间值,所述生存时间值等于所述业务功能链上所包含的业务功能的数量;
获取第一报文;
确定所述第一报文与所述流表匹配;
将所述第一报文封装为第二报文,所述第二报文包括业务头以及隧道头,所述业务头包括所述业务功能路径标识,所述流的标识以及第一值,所述第一值等于所述业务索引减1,所述隧道头是基于所述隧道信息生成的,所述隧道头中包括第一业务功能实例的网络地址,所述第一业务功能实例是所述多个业务功能实例中的一个业务功能实例,所述第一业务功能实例的网络地址由所述业务功能路径标识,所述流的标识和所述第一值确定;
向所述第一业务功能实例发送所述第二报文。
本申请实施例第五方面公开了一种报文处理方法,所述报文处理方法由业务功能链的第一业务功能对应的第一业务功能实例执行,所述报文处理方法包括:
接收流分类器或所述业务功能链中所述第一业务功能的前一个业务功能对应的第一业务功能实例转发的第二报文,所述第二报文中的业务头包括所述业务功能链对应的业务功能路径标识,网络控制装置分配的流的标识以及第一值,所述第一值等于业务索引减1,所述第二报文中的隧道头包括所述第一业务功能对应的所述第一业务功能实例的网络地址,所述第二报文包含第一报文,所述业务索引是业务功能链的生存时间值,所述生存时间值等于业务功能链上所包含的业务功能的数量;
根据所述业务功能路径标识,所述流的标识和所述第一值确定所述第一业务功能的下一个业务功能对应的第二业务功能实例的网络地址;
依据所述第二报文中的业务头对所述第一报文进行业务处理;
将所述第一报文封装为第三报文,所述第三报文中的业务头包括所述业务功能路径标识,所述流的标识以及第二值,所述第二值等于所述第一值减1,所述第三报文中的隧道头包括所述第一业务功能的下一个业务功能对应的所述第二业务功能实例的网络地址,所述第二业务功能实例的网络地址由所述业务功能路径标识,所述流的标识和所述第二值确定;
向所述第二业务功能实例发送所述第三报文。
在本申请第五方面的第一种实现方式中,还包括:
接收包括所述流应用的所述业务功能路径标识、所述业务索引和为所述流的标识选定的所述第一业务功能的下一个业务功能对应的多个业务功能实例的隧道信息的信息表。
在本申请第五方面的第二种实现方式中,由所述业务功能路径标识,所述流的标识和所述第二值确定所述第二业务功能实例的网络地址,包括:
以所述业务功能路径标识和所述第二值为查找关键字在流分发表中查找与所述业务功能路径标识以及所述第二值匹配的表项包含所述第一业务功能的下一个业务功能,以及所述下一个业务功能对应的多个业务功能实例的网络地址;
以所述业务功能路径标识和所述流的标识为查找关键字,从所述流分发表中与所述业务功能路径标识以及所述第二值匹配的表项包含的所述多个业务功能实例的网络地址中确定第二业务功能实例的网络地址;
或者,
以所述业务功能路径标识和所述第二值确定所述第一业务功能的下一个业务功能,以及所述下一个业务功能对应的多个业务功能实例的网络地址;
以所述业务功能路径标识和所述流的标识为哈希键,从所述下一个业务功能对应的多个业务功能实例的网络地址中确定第二业务功能实例的网络地址。
本申请实施例第六方面公开了一种业务功能实例,所述业务功能实例为业务功能链的第一业务功能对应的第一业务功能实例,包括:
接收单元,用于接收流分类器或所述业务功能链中所述第一业功能的前一个业务功能对应的第一业务功能实例转发的第二报文,所述第二报文中的业务头包括所述业务功能链对应的业务功能路径标识,网络控制装置分配的流的标识以及第一值,所述第一值等于业务索引减1,所述第二报文中的隧道头包括所述第一业务功能对应的第一业务功能实例的网络地址,所述第二报文包含第一报文,所述业务索引是业务功能链的生存时间值,所述生存时间值等于业务功能链上所包含的业务功能的数量;
处理单元,用于根据所述接收单元接收到的所述业务功能路径标识,所述流的标识和所述第二值确定所述第一业务功能的下一个业务功能对应的第二业务功能实例的网络地址,依据所述接收单元接收到的所述第二报文中的业务头对所述第一报文进行业务处理,将所述第一报文封装为第三报文,所述第三报文中的业务头包括所述业务功能路径标识,所述流的标识以及第二值,所述第二值等于所述第一值减1,所述第三报文中的隧道头包括所述第一业务功能的下一个业务功能对应的所述第二业务功能实例的网络地址,所述第二业务功能实例的网络地址由所述业务功能路径标识,所述流的标识和所述第二值确定;
发送单元,用于向所述处理单元确定的所述第二业务功能实例发送所述第三报文。
在本申请实施例第六方面的第一种实现方式中,还包括:
所述接收单元,还用于接收包括所述流应用的所述业务功能路径标识、所述业务索引和为所述流的标识选定的所述第一业务功能的下一个业务功能对应的多个业务功能实例的隧道信息的信息表。
在本申请实施例第六方面的第二种实现方式中,由所述业务功能路径标识,所述流的标识和所述第二值确定所述第二业务功能实例的网络地址的处理单元,还包括:
所述处理单元,还用于以所述业务功能路径标识和所述第二值为查找关键字在流分发表中查找与所述业务功能路径标识以及所述第二值匹配的表项包含所述第一业务功能的下一个业务功能,以及所述下一个业务功能对应的多个业务功能实例的网络地址,以所述业务功能路径标识和所述流的标识为查找关键字,从所述流分发表中与所述业务功能路径标识以及所述第二值匹配的表项包含的多个业务功能实例的网络地址中确定第二业务功能实例的网络地址;
或者,
所述处理单元,还用于以所述业务功能路径标识和所述第二值确定所述第一业务功能的下一个业务功能,以及所述下一个业务功能对应的多个业务功能实例的网络地址,以所述业务功能路径标识和所述流的标识为哈希键,从所述下一个业务功能对应的多个业务功能实例的网络地址中确定第二业务功能实例的网络地址。
本申请实施例第七方面公开了一种业务功能实例,所述业务功能实例为业务功能链的第一业务功能对应的第一业务功能实例,包括:
接收器,用于接收流分类器或所述业务功能链中所述第一业功能的前一个业务功能对应的第一业务功能实例转发的第二报文,所述第二报文中的业务头包括所述业务功能链对应的业务功能路径标识,网络控制装置分配的流的标识以及第一值,所述第一值等于业务索引减1,所述第二报文中的隧道头包括所述第一业务功能对应的第一业务功能实例的网络地址,所述第二报文包含第一报文,所述业务索引是业务功能链的生存时间值,所述生存时间值等于业务功能链上所包含的业务功能的数量;
处理器,用于根据所述接收器接收到的所述业务功能路径标识,所述流的标识和所述第二值确定所述第一业务功能的下一个业务功能对应的第二业务功能实例的网络地址,依据所述接收单元接收到的所述第二报文中的业务头对所述第一报文进行业务处理,将所述第一报文封装为第三报文,所述第三报文中的业务头包括所述业务功能路径标识,所述流的标识以及第二值,所述第二值等于所述第一值减1,所述第三报文中的隧道头包括所述第一业务功能的下一个业务功能对应的所述第二业务功能实例的网络地址,所述第二业务功能实例的网络地址由所述业务功能路径标识,所述流的标识和所述第二值确定;
发送器,用于向所述处理器确定的所述第二业务功能实例发送所述第三报文。
本申请实施例第八方面公开了一种存储设备,所述存储设备适用于业务功能链的第一业务功能对应的第一业务功能实例,所述存储设备包括存储器和通过总线与所述存储器连接的处理器;
所述存储器存储有用于进行报文处理的程序代码,所述程序代码包括计算机操作指令,所述处理器用于运行上述程序代码;
所述用于进行报文处理的程序代码包括:
接收流分类器或所述业务功能链中所述第一业务功能的前一个业务功能对应的第一业务功能实例转发的第二报文,所述第二报文中的业务头包括所述业务功能链对应的业务功能路径标识,网络控制装置分配的流的标识以及第一值,所述第一值等于业务索引减1,所述第二报文中的隧道头包括所述第一业务功能对应的所述第一业务功能实例的网络地址,所述第二报文包含第一报文,所述业务索引是业务功能链的生存时间值,所述生存时间值等于业务功能链上所包含的业务功能的数量;
根据所述业务功能路径标识,所述流的标识和所述第一值确定所述第一业务功能的下一个业务功能对应的第二业务功能实例的网络地址;
依据所述第二报文中的业务头对所述第一报文进行业务处理;
将所述第一报文封装为第三报文,所述第三报文中的业务头包括所述业务功能路径标识,所述流的标识以及第二值,所述第二值等于所述第一值减1,所述第三报文中的隧道头包括所述第一业务功能的下一个业务功能对应的所述第二业务功能实例的网络地址,所述第二业务功能实例的网络地址由所述业务功能路径标识,所述流的标识和所述第二值确定;
向所述第二业务功能实例发送所述第三报文。
本申请实施例第九方面公开了一种报文处理系统,包括流分类器、业务功能实例和网络控制装置;
所述流分类器包括本申请实施例第二方面或本申请实施例第三方面公开的流分类器,或者,所述流分类器中包括本申请实施例第四方面公开的存储设备;
所述业务功能实例包括本申请实施例第六方面或本申请实施例第七方面公开的业务功能实例,或者,所述业务功能实例中包括本申请实施例第八方面公开的存储设备;
所述网络控制装置是网络控制器或AAA服务器,用于接收所述流分类器发送的为流分配所述流的标识的请求,所述请求中包含所述流的信息,并为所述流分配所述流的标识的响应,所述响应中包含所述流的标识,所述流的标识与所述流的信息不同。
通过以上本申请实施例公开的技术方案可知,本申请实施例提供的一种报文处理方法、流分类器及业务功能实例。在报文处理过程中,根据网络控制装置分配的流的标识,结合业务功能链的业务功能路径标识,及业务索引确定具体的业务功能实例,并向该确定的具体的业务功能实例发送封装后的报文。本申请实施例公开的技术方案,相较于现有技术中仅限于使用报文中的字段来对报文进行识别以及处理,本申请提供的对报文进行处理的方式更加灵活。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例一公开的一种报文处理方法的流程示意图;
图2为本申请实施例二示出的业务头的格式示意图;
图3为本申请实施例二示出的另一种业务头的格式示意图;
图4为本申请实施例三公开的一种报文处理方法的流程示意图;
图5为本申请实施例三公开的一种云化CPE的方案在流转发的流程示意图;
图6为本申请实施例五公开的对应实施例一和实施例二公开的一种流分类器的结构示意图;
图7为本申请实施例五公开的一种流分类器的实体结构示意图;
图8为本申请实施例五公开的对应实施例三公开的一种业务功能实例的结构示意图;
图9为本申请实施例五公开的一种业务功能实例的实体结构示意图;
图10为本申请实施例五公开的一种报文处理系统的结构示意图。
具体实施方式
以下为本申请实施例中所使用到的英文缩写的全称和相关解释:
IP:InternetProtocol,网际协议;
MAC:MediaAccess Control,媒体访问控制;
NSH:Network Service Header,网络业务头;
SFC:Service Function Chaining,业务功能链;
SF:Service Function,业务功能;
SFF:Service FunctionForwarder,业务功能转发器;
SFP:Service FunctionPath,业务功能路径;
FC:Flow Classifier,流分类器;
NAT:NetworkAddress Translation,网络地址转换;
FW:Fire Wall,防火墙;
TTL:Time To Live,生存时间值。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
现有技术的转发装置仅使用报文中的字段来对报文进行识别以及处理,不够灵活。本申请实施例公开了一种报文处理的技术方案,通过在在报文处理过程中,根据网络控制装置分配的流的标识,结合业务功能链的业务功能路径标识,及业务索引确定具体的业务功能实例,并向该确定的具体的业务功能实例发送封装后的报文。相较于现有技术中仅限于使用报文中的字段来对报文进行识别以及处理,根据网络控制装置分配的流的标识对报文进行处理,处理的方式更加灵活。具体实现过程通过以下实施例进行详细说明。
实施例一
如图1所示,为本申请实施例一公开的一种报文处理方法的流程示意图。该报文处理方法由流分类器(FC)执行。所述FC可以是能够与业务功能链(SFC)中的首个业务功能(SF)对应的多个业务功能实例中的一个业务功能实例通信的网络装置,或者,所述SF可以是所述SFC的首个SF。该报文处理方法包括以下步骤:
S101,接收网络控制装置发送的流表;
在S101中,该流表用于指示所述FC识别流的报文。所述流表包含流的规则,所述流被绑定到的SFC的信息和所述网络控制装置分配的流的标识(流的ID)。
举例来说,所述流被绑定到的SFC是指流需要被SFC处理。流的ID是所述网络控制装置为流分配的。流的ID用于流被该SFC处理的过程内标识流。该流的ID可以是一个字段,这个字段具体可以为一个数字。所述网络控制装置可以基于转发装置的申请,为流分配流的ID。所述网络控制装置在流的规则撤销或者流会话终结时释放该流的ID。可选地,所述网络控制装置可以为多个流分配所述多个流的ID。所述多个流和所述多个流的ID一一对应。
所述SFC的信息包括业务索引,所述SFC对应的业务功能路径标识(SFPID),所述SFC的首个SF对应的多个业务功能实例的网络地址,及所述多个业务功能实例的隧道信息;
或者,所述SFC的信息包括业务索引,所述SFC对应的SFP ID,所述SFC的首个SF的下一个SF对应的多个业务功能实例的网络地址,及所述多个业务功能实例的隧道信息。
上述提到的业务索引(service index)用于提供业务路径中的位置。所述业务索引是业务路径头(service path header)中的字段。业务路径头还可以包括业务路径标识(service path ID)字段。关于业务索引、业务路径标识以及业务路径头,请参考标准文档draft-quinn-sfc-nsh-07的第11页第3.3节。
在本申请实施例中该业务索引是所述业务功能链的生存时间值(TTL)。该TTL等于所述业务功能链上所包含的业务功能的数量。需要说明的是,业务功能链上至少包含N个业务功能,N为大于1的正整数;
上述提到的隧道信息中包括:隧道端点标识(例如IP地址)、隧道类型(例如NSH OVER UDP)、TTL(例如NSH的业务索引)。
需要说明的是,一个所述SF至少由一个或多个数据链路层或网络层可达的相同业务类型的业务功能实例组成。该业务功能实例为SF和SFF的组合,例如:NSH aware VAS。该业务功能实例上具有转发信息。该转发信息包括路由信息或接口信息。在业务功能实例执行转发时,基于该路由信息查找路由表,或基于该接口信息查找媒体访问控制(MAC)表。
S102,获取第一报文;
S103,确定所述第一报文与所述流表匹配;
S104,将所述第一报文封装为第二报文;
在S104中,所述第二报文包括业务头及隧道头。所述业务头包括所述SFPID,所述流的ID以及第一值。所述第一值等于所述TTL减1。
其中,关于SFP ID(SFP Identifier,SFP-id),可以参考IETF在2016年1月21日发布的标准文档“draft-ietf-sfc-control-plane-03”。该标准文档的名称为“Service Function Chaining(SFC)Control Plane Components&Requirements”。本申请实施例引用标准文档draft-ietf-sfc-control-plane-03,并且将标准文档draft-ietf-sfc-control-plane-03作为本申请公开的内容的组成部分;
所述隧道头是基于执行步骤S101获得的所述隧道信息生成的。所述隧道头中包括第一业务功能实例的网络地址。所述第一业务功能实例是所述多个业务功能实例中的一个业务功能实例。所述第一业务功能实例的网络地址由所述SFP ID,所述流的ID和所述第一值确定;
其中,所述第一业务功能实例的网络地址包括IP地址或MAC协议地址。
需要说明的是,当业务头为NSH头时,所述NSH头可以基于UDP报文的Payload(净负荷)生成,也可以基于太网帧的Payload生成。
其中,NSH可以包括基础头(Base Header)、业务路径头(Service PathHeader)以及上下文头(context headers)。关于网络业务头、基础头、业务路径头以及上下文头,请参考标准文档draft-quinn-sfc-nsh-07的第9-15页第3节。
标准文档“draft-quinn-sfc-nsh-07”的名称为“Network Service Header”。该标准文档的发布日期为2015年2月24日。标准文档的发布者是IETF。本申请实施例中引用标准文档“draft-quinn-sfc-nsh-07”,并且将标准文档“draft-quinn-sfc-nsh-07”作为本申请实施例公开的内容的组成部分。
S105,向所述第一业务功能实例发送所述第二报文。
需要说明的是,当执行上述S101至S105的FC是能够与所述业务功能链中的首个业务功能对应的多个业务功能实例中的一个业务功能实例通信的网络装置时,所述第一业务功能实例是所述SFC的首个SF对应的多个业务功能实例中的一个。当执行上述S101至S105的FC是所述SFC的首个SF时,所述第一业务功能实例是SFC上的下一个SF对应的多个业务功能实例中的一个业务功能实例。
需要说明的是,S101-S105对一个流的处理过程进行了描述。当网络中存在多个流时,可以参照上述步骤对多个流进行处理,并实现负载分担。下面结合S101-S105对多个流的场景如何实现进行说明。下文中没有提及的技术内容可以参见上文中对S101-S105的描述。
对于S101,所述流表包含所述多个流的规则,所述多个流被绑定到的业务功能链的信息以及所述网络控制装置为所述多个流分配的所述多个流的标识。所述多个流被绑定到同一个业务功能链。所述FC可以根据所述多个流的规则对所述多个流进行识别。例如,所述FC可以使用流的规则对报文进行解析,从而确定报文的特征。所述多个流的标识与所述多个流一一对应。本申请中的流是指具有相同特征的报文的集合。特征可以是用于接收报文的端口,也可以是报文头中的字段。或者,特征可以是用于接收报文的端口,以及报文头中的字段。报文头中的字段可以是一个字段或者多个字段。例如,可以认为被同一个入接口接收的报文的集合属于同一个流。也可以认为五元组(源IP地址、目的IP地址、源端口、目的端口以及协议号)相同的报文的集合属于同一个流。也可以认为二元组(源IP地址和目的IP地址)相同的报文的集合属于同一个流。
对于S102,所述FC获取多个报文。例如,所述FC获取报文1以及报文2。具体地,所述FC可以通过入端口接收报文1以及报文2。所述FC也可以生成报文1以及报文2。报文1和报文2分别属于流1和流2。
对于S103,所述FC确定所述多个报文与所述流表匹配。例如,所述FC根据所述多个流的规则确定报文1与流1匹配。所述FC根据所述多个流的规则确定报文2与流2匹配。具体地,所述多个流的规则包括流1的规则以及流2的规则。所述FC以报文1的五元组为查找关键字确定报文1与流1的规则匹配。所述FC以报文2的五元组为查找关键字确定报文2与流2的规则匹配。流1的规则的匹配域中包含报文1的五元组。流2的规则的匹配域中包含报文2的五元组。
对于S104,所述FC将多个报文分别进行封装,得到多个经封装的报文。所述多个报文与所述多个经封装的报文一一对于。例如,所述FC将报文1封装为报文3,将报文2封装为报文4。报文3包含的隧道头中包含业务功能实例1的IP地址。报文4包含的隧道头中包含业务功能实例2的IP地址。具体地,所述FC根据所述业务功能路径标识,流1的标识和所述第一值确定业务功能实例1的IP地址。所述FC根据所述业务功能路径标识,流2的标识和所述第一值确定业务功能实例2的IP地址。业务功能实例1和业务功能实例2对应同一个业务功能。因此,业务功能实例1和业务功能实例2能够对流量进行负载分担。
本申请中,业务功能实例能够执行对应的业务功能。业务功能实例可以包含处理器以及与处理器耦合的存储器。存储器中包含计算机程序。所述处理器通过执行所述计算机程序执行业务功能。例如,业务功能实例可以是路由器、网络交换机或者硬件防火墙。
对于S105所述FC分别向业务功能实例1发送报文1,向业务功能实例2发送报文2。也就是说,不同的流被发送至不同的业务功能实例,实现了对流量的负载分担。
从上述描述可以看出,在多个流的场景中使用图1所示的方法,能实现对流量的负载分担。
本申请实施例一公开的技术方案,通过接收网络控制装置发送的流表,该流表中包含流的规则,所述流被绑定到的SFC的信息,以及所述网络控制装置分配的流的ID。在报文处理过程中,根据网络控制装置分配的流的标识,结合业务功能链的业务功能路径标识,及业务索引确定具体的业务功能实例,并向该确定的具体的业务功能实例发送封装后的报文。本申请实施例公开的技术方案,相较于仅限于使用报文中的字段来对报文进行识别以及处理,根据网络控制装置分配的流的标识对报文进行处理,处理的方式更加灵活。
需要说明的是,关于本申请实施例中涉及的SFC、SF、SFF以及SFP,请参考IETF在2015年10月发布的标准文档RFC7665。该标准文档的名称为“Service Function Chaining(SFC)Architecture”。
本申请实施例引用标准文档RFC7665,并且将标准文档RFC7665作为本申请公开的内容的组成部分。
实施例二
基于上述本申请实施例一公开的一种报文处理方法,在执行步骤S101接收网络控制装置下发的流表之前,还包括:
FC首先向所述网络控制装置发送为所述流分配所述流的ID的请求,所述请求中包含所述流的信息;
然后接收所述网络控制装置为所述流分配的所述流的ID的响应,所述响应中包含所述流的标识,所述流的标识与所述流的信息不同。
在本申请实施例公开的技术方案中,能够实现网络控制装置基于FC的请求分配流的ID,是基于所述网络控制装置可以预先保存所述流的ID与所述流的信息的映射表;
当所述FC接收到属于所述流的报文时,可以获取所述流的信息。所述流的信息可以是所述FC接收所述属于所述流的报文的端口。所述流的信息也可以是所述属于所述流的报文中的字段。例如,目的IP地址。也可以是上述信息的组合,例如端口和目的IP地址。
在所述FC获取所述流的信息后,可以向所述网络控制装置发送所述请求。例如,所述请求中包含端口和目的IP地址。
在所述网络控制装置接收到所述请求后,以端口和目的IP地址为查找关键字,在预先保存的映射表中查找与端口和目的IP地址匹配的表项,从而获得所述流的ID;
在所述网络控制装置获得所述流的标识后,向所述FC发送包含所述流的ID的响应。
在所述FC收到所述响应后,从所述响应中获得所述流的标识。从而,根据所述流的ID,生成所述流表。
在本申请实施例中,将所述网络控制装置向FC或者FC后续的网络装置(对应SF)发送流的标识的行为称为为流分配流的标识。
网络控制装置可以采用静态分配流的ID的方式为所述流分配流的ID,也可以采用动态分配流的ID的方式为所述流分配流的ID。
其中,静态分配流的ID的过程为:
网络控制装置预先确定用户标识与流的ID的映射关系,并保存;
当FC接收到报文后,FC获得用户信息,并将用户信息上送,然后网络控制装置查找映射关系,并下发包含流的ID的转发表(为流分配了流的ID)。
动态分配流的ID的过程为:
网络控制装置没有预先确定并保存用户标识与流的ID的映射关系;
当FC接收到报文后,FC获得用户信息,并将用户信息上送,然后网络控制装置从资源池查找映射关系,并下发包含流的ID的转发表(为流分配了流的ID)。
本申请实施例一公开了一种报文处理方法。其中,在执行步骤S104中得到的第二报文的隧道头中包含的第一业务功能实例的网络地址,该第一业务功能实施例的网络地址由所述SFP ID,所述流的ID和所述第一值确定。确定的过程具体包括以下两种方式:
第一种方式,所述FC接收到所述网络控制装置发送的流分发表:
所述FC以所述SFP ID和所述第一值为查找关键字在流分发表中查找与所述SFP ID以及所述第一值匹配的表项。所述流分发表中与所述SFP ID以及所述第一值匹配的表项包含所述首个SF以及所述首个SF对应的多个业务功能实例的网络地址;或者,所述流分发表中与所述SFP ID以及所述第一值匹配的表项包含所述下一个SF及所述下一个SF对应的多个业务功能实例的网络地址;
以所述SFP ID和所述流的ID为查找关键字,从所述流分发表中与所述SFP ID以及所述第一值匹配的表项包含的多个业务功能实例的网络地址中确定第一业务功能实例的网络地址。
第二种方式,所述FC未接收到所述网络控制装置下发的流分发表:
所述FC以所述SFP ID和所述第一值确定所述首个SF以及所述首个SF对应的多个业务功能实例的网络地址。或,所述FC以所述SFP ID和所述第一值确定所述下一个SF及所述下一个SF对应的多个业务功能实例的网络地址;
以所述SFP ID和所述流的ID为哈希键,从所述首个SF或所述下一个SF对应的多个业务功能实例的网络地址中确定第一业务功能实例的网络地址。
由上述可知,FC可以根据网络控制装置发送的内容,采用不同的方式确定SFC首个SF或下一个SF的业务功能实例的网络地址。即,若FC接收到网络控制设备发送的流分发表。所述FC按照流分发表确定SFC的首个或下一个SF的多个业务功能实例的网络地址中的第一业务功能实例的网络地址,并将封装后的第二报文发送给该第一业务功能实例;
若FC未接收到网络控制装置发送的流分发表。则所述FC可以以所述SFPID和所述流的ID为哈希键(hash key),从所述首个SF或所述下一个SF对应的多个业务功能实例的网络地址中确定第一业务功能实例的网络地址,并将封装后的第二报文发送给该第一业务功能实例。
基于上述本申请实施例公开的内容,当SFC转发采用的所述业务头是NSH时,需要对NSH进行扩展。具体的所述业务流ID在所述业务头中的位置包括:
如图2示出的业务头的格式示意图。当所述业务头中的MD-type字段的值等于0x2(在16进制中表示2)时,对所述业务头进行扩展。即扩展一个新的TLV-Class。所述TLV-Class包含Type Code和所述流的ID。所述TypeCode用于表示所述TLV-Class携带所述流的ID。即在该TLV中携带流的ID;
如图3示出的业务头的格式示意图。当所述业务头中的MD-type字段的值等于0x1(在16进制中表示1)时,所述业务头中的Mandatory ContextHeader携带所述流的ID。
本申请实施例通过上述公开的技术方案,在报文处理过程中,根据网络控制装置分配的流的标识,结合业务功能链的业务功能路径标识,及业务索引确定具体的业务功能实例,并向该确定的具体的业务功能实例发送封装后的报文。本申请实施例公开的技术方案,相较于仅使用报文中的字段来对报文进行识别以及处理,根据网络控制装置分配的流的标识对报文进行处理,处理的方式更加灵活。
实施例三
针对上述本申请实施例一和实施例二公开的一种由FC执行的报文处理方法,图4示出了另一种报文处理方法。该报文处理方法由SFC的第一SF对应的第一业务功能实例执行。该第一SF非SFC上的最后一个SF。如图4所示,包括以下步骤:
S201,接收FC或所述SFC中所述第一SF的前一个SF对应的第一业务功能实例转发的第二报文;
在S201中,所述第二报文中的业务头包括所述SFC对应的SFP ID,网络控制装置分配的流的ID以及第一值。所述第一值等于业务索引减1。所述第二报文中的隧道头包括所述第一SF对应的所述第一业务功能实例的网络地址。所述第二报文包含第一报文。举例来说,S201中涉及的第二报文可以是S104中涉及的第二报文。举例来说,图4所述的方法的执行主体第一业务功能实例可以是S105涉及的第一业务功能实例。S201中涉及的第一报文可以是S101涉及的第一报文。因此,关于第一报文、第二报文以及第一业务功能实例,可以参考实施例一对图1所示的方法的描述,此处不再赘述。
上述提到的业务索引(service index)用于提供业务路径中的位置。所述业务索引是业务路径头(service path header)中的字段。业务路径头还可以包括业务路径标识(service path ID)字段。关于业务索引、业务路径标识以及业务路径头,请参考标准文档draft-quinn-sfc-nsh-07的第11页第3.3节。
在本申请实施例中该业务索引是所述业务功能链的生存时间值(TTL)。该TTL等于所述业务功能链上所包含的业务功能的数量。需要说明的是,业务功能链上至少包含N个业务功能,N为大于1的正整数。
上述提到的隧道信息中包括:隧道端点标识(例如IP地址)、隧道类型(例如NSH OVER UDP)、TTL(例如NSH的业务索引)。
S202,根据所述SFP ID,所述流的ID和所述第一值确定所述第一SF的下一个SF对应的第二业务功能实例的网络地址。
S203,依据所述第二报文中的业务头对所述第一报文进行业务处理;
S204,将所述第一报文封装为第三报文;
在S204中,所述第三报文中的业务头包括所述SFP ID,所述流的ID以及第二值。所述第二值等于所述第一值减1。所述第三报文中的隧道头包括所述第一SF的下一个SF对应的所述第二业务功能实例的网络地址。所述第二业务功能实例的网络地址由所述SFP ID,所述流的ID和所述第二值确定。
S205,向所述第二业务功能实例发送所述第三报文。
基于上述本申请实施例三公开的一种报文处理方法。其中,在执行S204中得到的第三报文的隧道头中包含的第二业务功能实例的网络地址。该第二业务功能实施例的网络地址由所述SFP ID,所述流的ID和所述第二值确定。确定的过程具体包括以下三种方式:
第一种方式,该第一业务功能实例可以接收包括所述流应用的所述SFPID、所述业务索引和为所述流的ID选定的所述第一业务功能的下一个业务功能对应的多个业务功能实例的隧道信息的信息表。
在本申请实施例公开的技术方案中,所述第一业务实例可以基于所述信息表中所包含的信息确定待转发给SFC的下一个SF的一个业务功能实例,并在进行业务处理和转发第三报文后,更新所述第三报文的业务头和隧道头。
第二种方式,第一业务功能实例接收网络控制装置发送的流分发表:
以所述SFP ID和所述第二值为查找关键字在流分发表中查找与所述SFPID以及所述第二值匹配的表项。与所述SFP ID以及所述第二值匹配的表项包含所述第一SF的下一个SF,以及所述下一个SF对应的多个业务功能实例的网络地址;
以所述SFP ID和所述流的ID为查找关键字,从所述流分发表中与所述SFP ID以及所述第二值匹配的表项包含的所述多个业务功能实例的网络地址中确定第二业务功能实例的网络地址。
第三种方式,第一业务功能实例未接收到网络控制装置发送的流分发表:
以所述SFP ID和所述第二值确定所述第一SF的下一个SF,以及所述下一个SF对应的多个业务功能实例的网络地址;
以所述SFP ID和所述流的ID为哈希键,从所述下一个SF对应的多个业务功能实例的网络地址中确定第二业务功能实例的网络地址。
基于上述公开的接收到流分发表或者没有接收流分发表的方式执行转发的过程中,当接收所述第二报文的第一业务功能实例为所述SFC上的最后一个SF的业务功能实例时:去掉所述第二报文的业务头,依据L2/L3路由方式进行转发。
通过上述本申请实施例公开的报文处理方法,该方法由流应用的SFC上非最后一个SF的第一业务功能实例执行。同样的,第二报文中包含网络控制装置分配的流的标识。在报文处理过程中,根据网络控制装置分配的流的标识,结合业务功能链的业务功能路径标识,及业务索引确定具体的业务功能实例,并向该确定的具体的业务功能实例发送封装后的报文。本申请实施例公开的技术方案,相较于仅使用报文中的字段来对报文进行识别以及处理,根据网络控制装置分配的流的标识对报文进行处理,处理的方式更加灵活。
实施例四
关于上述本申请实施例一公开的由FC执行报文处理方法、实施例二公开的由FC执行报文处理方法,以及实施例三公开的由SFC上非最后一个SF的第一业务功能实例执行的报文处理方法,本申请实施例四对上述报文处理方法进行举例说明。
针对一种云化用户驻地设备(customer premises equipment,CPE)的方案。该云化CPE仅保留基础的层2(layer 2,L2)、设备管理等功能,使传统CPE的NAT和FW功能形成CPE流量的业务链。如图5所示,为该云化CPE方案的结构示意框图。利用本申请实施例公开的负载均衡方法,该方案执行流转发的过程包括:
首先,需要进行两个预先的设置:
STATION1:网络运维人员为开通的L2CPE在远端(例如城域网DC内的服务器上)拉起一组对应的NAT、FW业务实例,并进行预配置,提供网络连通性。
STATION2:在认证授权计费数据库(authentication,authorization andaccounting data base,AAA DB)中添加认证授权信息。例如配置认证方式,域信息,精绑定电路信息,授权的业务链ID。该AAA DB相当于网络控制设备。
在L2CPE上电后,开始执行下述步骤:
S1:宽带远程接入服务器(broadband remote access server,BRAS)根据来自L2CPE任何上行报文的电路信息(接入接口+QinQ,例如图5中示出的L2CPE和OLT各为该报文打一层VLAN tag)触发认证。认证请求消息中携带接入域、用户信息、网络接入标识等信息到认证授权计费服务器(authentication,authorization and accounting server,AAA Server)认证。BRAS可以用于实现FC。BRAS也可以作为业务链上的首个业务节点。
S2:AAA Server(相当于网络控制设备)认证通过后,发送认证应答消息给BRAS,并告知认证是否通过的结果,同时携带该L2CPE(表示家庭用户或企业用户)相关的授权信息和分配的流的ID。
S3:BRAS收到认证授权结果后,生成对应的用户表。上行流量的用户表中体现L2CPE上行流量标识(接入接口+QinQ)到SFC ID、流的ID映射的流规则表信息(这里的流规则表用于实现S101中的流表)。
可选的,S4:vCPE的控制和管理设备(例如SFC控制器,相当于网络控制设备)可以根据NAT、FW(NAT和FW相当于业务链的业务节点)各个业务功能实例的负荷情况和预置负载均衡策略,生成流分发表下发给BRAS、NAT、FW的具体业务功能实例,用于引导新上线的L2CPE流量到业务功能链上各个合适的业务功能实例,或调整迁移已有的部分业务功能实例的L2CPE流量(存在需要业务流量迁移的新旧业务功能实例间配合同步业务会话数据的情况)。
其中,同时SFC控制器可以设置下发默认流分发表。在BRAS或NAT、FW的业务实例查流分发表没有命中时可以按默认流分发表进行分发。
S5:BRAS为L2CPE上行流量封装业务报文的NSH(业务头),并携带对应的SFC ID、业务索引和流的ID,根据业务功能链的流分发表转发给对应的下一个业务功能的具体业务功能实例(例如图5中的CGN 1,或CGN2,……,或CGN N);
S6:由具体业务功能实例(CGN 1,或CGN2、……,或CGN N)依据接收到的流分发表和业务报文继续执行转发至下一个业务功能的具体业务功能实例(例如图5中的FW1,或FW2,……或FWN)。
如下表1所示,为业务链BRAS→CGN→FW上,BRAS的流规则表,及如下表2所示,为BRAS的流分发表。
表1:
表2:
如下表3所示,为业务链BRAS→CGN→FW上,CGN的流分发表。
表3:
由上述流表和流分发表可知,如电路信息为(P+V+V:1/100/200)的L2CPE的业务流从BRAS接入,分配的流的ID(Flow ID)是1,指定的应用业务链业务链BRAS→CGN→FW,对应的SFC ID是2。在执行上述过程时,BRAS根据流分发表将该L2CPE的上行流量转发给CGN业务实例CGN1,CGN1根据流分发表将给L2CPE的上行流量转发给FW业务实例FW1。
通过上述具体应用距离,本申请实施例公开的报文处理方法,在报文处理过程中,根据网络控制装置分配的流的标识,结合业务功能链的业务功能路径标识,及业务索引确定具体的业务功能实例,并向该确定的具体的业务功能实例发送封装后的报文。本申请实施例公开的技术方案,相较于仅使用报文中的字段来对报文进行识别以及处理,根据网络控制装置分配的流的标识对报文进行处理,处理的方式更加灵活。
实施例五
基于上述本申请实施例一和实施例二公开的一种报文处理方法,对应的本申请实施例五还对应公开了执行上述报文处理方法的FC。所述FC可以是能够与SFC中的首个SF对应的多个业务功能实例中的一个业务功能实例通信的网络装置。或者,所述FC可以是所述SFC的首个SF。如图6所示,该FC主要包括:接收单元11,处理单元12和发送单元13。
接收单元11,用于接收网络控制装置发送的流表,以及获取第一报文;
其中,所述流表包含流的规则,所述流被绑定到的SFC的信息,以及所述网络控制装置分配的流的ID。所述SFC的信息包括业务索引,所述SFC对应的SFP ID,所述SFC的首个SF对应的多个业务功能实例的网络地址,及所述多个业务功能实例的隧道信息。或者,所述SFC的信息包括业务索引,所述SFC对应的SFP ID,所述SFC的首个SF的下一个SF对应的多个业务功能实例的网络地址,及所述多个业务功能实例的隧道信息。
所述业务索引是所SFC的生存时间值。所述生存时间值等于SFC上所包含的SF的数量;
处理单元12,用于确定所述接收单元11获取的第一报文与所述流表匹配,并将所述第一报文封装为第二报文;
其中,所述第二报文包括业务头以及隧道头。所述业务头包括所述SFPID,所述流的ID以及第一值。所述第一值等于所述业务索引减1。
所述隧道头是基于所述隧道信息生成的。所述隧道头中包括第一业务功能实例的网络地址。所述第一业务功能实例是所述多个业务功能实例中的一个业务功能实例。所述第一业务功能实例的网络地址由所述SFP ID,所述流的ID和所述第一值确定。
发送单元13,用于向所述处理单元12确定的第一业务功能实例发送所述第二报文。
在本申请实施例公开的技术方案中,优选的,所述处理单元还用于:向所述网络控制装置发送为所述流分配所述流的标识的请求,所述请求中包含所述流的信息;接收所述网络控制装置为所述流分配的所述流的标识的响应,所述响应中包含所述流的标识,所述流的标识与所述流的信息不同。
需要说明的是,所述第一业务功能实例的网络地址由所述业务功能路径标识,所述流的标识和所述第一值确定的所述处理单元12针对是否接收到网络控制装置发送的流分发表,对于第一业务功能实例的网络地址的确定具有两种不同的执行方式:
第一种方式,所述FC接收到所述网络控制装置发送的流分发表:
所述处理单元12,用于以所述SFP ID和所述第一值为查找关键字在流分发表中查找与所述SFP ID以及所述第一值匹配的表项。所述流分发表中与所述SFP ID以及所述第一值匹配的表项包含所述首个SF以及所述首个SF对应的多个业务功能实例的网络地址。或者,所述流分发表中与所述SFP ID以及所述第一值匹配的表项包含所述下一个SF及所述下一个SF对应的多个业务功能实例的网络地址。以所述SFP ID和所述流的ID为查找关键字,从所述流分发表中与所述SFP ID以及所述第一值匹配的表项包含的多个业务功能实例的网络地址中确定所述第一业务功能实例的网络地址;
第二种方式,所述FC未接收到所述网络控制装置发送的流分发表:
所述处理单元12,用于以所述SFP ID和所述第一值确定所述首个SF以及所述首个SF对应的多个业务功能实例的网络地址。或,以所述SFP ID和所述第一值确定所述下一个SF及所述下一个SF对应的多个业务功能实例的网络地址。以所述SFP ID和所述流的ID为哈希键,从所述首个SF或下一个SF对应的多个业务功能实例的网络地址中确定第一业务功能实例的网络地址。
在本申请实施例公开的技术方案中,针对上述进行封装时得到的业务头,所述处理单元12还用于,在所述业务头是NSH网络服务头的情况下,当所述业务头中的MD-type字段的值等于0x2时,所述业务头包含TLV-Class。所述TLV-Class包含Type Code和所述流的标识。所述Type Code用于表示所述TLV-Class携带所述流的标识;
或者,
在所述业务头是NSH网络服务头的情况下,当所述业务头中的MD-type字段的值等于0x1时,所述业务头中的Mandatory Context Header携带所述流的标识。
基于上述本申请实施例公开的一种FC,在实际应用中可以将上述公开的FC中的各个单元集成至实体中,如图7所示,包括接收器101、处理器102和发送器103。具体的,上述接收单元11可以是接收器101,上述发送单元13可以是发送器103,上述处理单元12可以是处理器102。由处理器102控制接收器101和发送器103执行相应的操作,该处理器2具体可以是一个中央处理器CPU,或者是特定集成电路ASIC,或者是被配置成实施本申请实施例的一个或多个集成电路。
基于上述本申请实施例公开的一种FC,本申请实施例还对应公开了一种存储设备,该存储设备适用于该FC,所述存储设备包括存储器和通过总线与所述存储器连接的处理器;
所述存储器存储有用于进行报文处理的程序代码,所述程序代码包括计算机操作指令,所述处理器用于运行上述程序代码;
所述用于进行报文处理的程序代码包括:
接收网络控制装置发送的流表。所述流表包含流的规则,所述流被绑定到的SFC的信息,以及所述网络控制装置分配的流的ID。所述SFC的信息包括业务索引,所述SFC对应的SFP ID,所述SFC的首个SF对应的多个业务功能实例的网络地址,及所述多个业务功能实例的隧道信息。或者,所述SFC的信息包括业务索引,所述SFC对应的SFP ID,所述SFC的首个SF的下一个SF对应的多个业务功能实例的网络地址,及所述多个业务功能实例的隧道信息。所述业务索引是所述SFC的生存时间值。所述生存时间值等于所述SFC上所包含的SF的数量;
获取第一报文;
确定所述第一报文与所述流表匹配;
将所述第一报文封装为第二报文。所述第二报文包括业务头以及隧道头。所述业务头包括所述SFP ID,所述流的ID以及第一值。所述第一值等于所述业务索引减1。所述隧道头是基于所述隧道信息生成的。所述隧道头中包括第一业务功能实例的网络地址。所述第一业务功能实例是所述多个业务功能实例中的一个业务功能实例。所述第一业务功能实例的网络地址由所述SFP ID,所述流的ID和所述第一值确定。
向所述第一业务功能实例发送所述第二报文。
上述提到的存储器可能包含高速RAM存储器,也可能还包括非易失性存储器,例如至少一个磁盘存储器;
处理器可能是一个中央处理器CPU,或者是特定集成电路ASIC,或者是被配置成实施本申请实施例的一个或多个集成电路。
基于上述本申请实施例三公开的一种报文处理方法,对应的本申请实施例五还对应公开了执行该报文处理方法的SFC的第一SF对应的第一业务功能实例,该第一SF非所述SFC上最后一个SF,如图8所示,该第一业务功能实例20主要包括:接收单元21、处理单元22和发送单元23。
接收单元21,用于接收FC或所述SFC中所述第一业功能的前一个业务功能对应的第一业务功能实例转发的第二报文。所述第二报文中的业务头包括所述SFC对应的SFP ID,网络控制装置分配的流的ID以及第一值。所述第一值等于业务索引减1。所述第二报文中的隧道头包括所述第一业务功能对应的第一业务功能实例的网络地址。所述第二报文包含第一报文。所述业务索引是SFC的生存时间值。所述生存时间值等于SFC上所包含的业务功能的数量;
处理单元22,用于根据所述接收单元21接收到的所述SFP ID,所述流的ID和所述第二值确定所述第一SF的下一个SF对应的第二业务功能实例的网络地址。依据所述接收单元接收到的所述第二报文中的业务头对所述第一报文进行业务处理,将所述第一报文封装为第三报文。所述第三报文中的业务头包括所述SFP ID,所述流的ID以及第二值。所述第二值等于所述第一值减1。所述第三报文中的隧道头包括所述第一SF的下一个SF对应的所述第二业务功能实例的网络地址。所述第二业务功能实例的网络地址由所述SFPID,所述流的ID和所述第二值确定。
发送单元23,用于向所述处理单元22确定的所述第二业务功能实例发送所述第三报文。
在本申请实施例公开的技术方案中,优选的,该接收单元21,还用于接收包括所述流应用的所述SFP ID、所述业务索引和为所述流的ID选定的所述第一SF的下一个SF对应的多个业务功能实例的隧道信息的信息表。
在本申请实施例公开的技术方案中,由所述SFP ID,所述流的ID和所述第二值确定所述第二业务功能实例的网络地址的处理单元22,还包括:
所述处理单元22,还用于以所述SFP ID和所述第二值为查找关键字在流分发表中查找与所述SFP ID以及所述第二值匹配的表项。在流分发表中与所述SFP ID以及所述第二值匹配的表项包含所述第一SF的下一个SF,以及所述下一个SF对应的多个业务功能实例的网络地址。以所述SFP ID和所述流的ID为查找关键字,从所述流分发表中与所述SFP ID以及所述第二值匹配的表项包含的多个业务功能实例的网络地址中确定第二业务功能实例的网络地址;
或者,
所述处理单元22,还用于以所述SFP ID和所述第二值确定所述第一SF的下一个SF,以及所述下一个SF对应的多个业务功能实例的网络地址。以所述SFP ID和所述流的ID为哈希键,从所述下一个SF对应的多个业务功能实例的网络地址中确定第二业务功能实例的网络地址。
基于上述本申请实施例公开的一种业务功能实例,在实际应用中可以将上述公开的业务功能实例中的各个模块集成至实体中,如图9所示,包括接收器201、处理器202和发送器203。具体的,上述接收单元21可以是接收器201,上述处理单元22可以是处理器202,上述发送单元23可以是发送器203。由处理器202控制接收器201和发送器203执行相应的操作,该处理器202具体可以是一个中央处理器CPU,或者是特定集成电路ASIC,或者是被配置成实施本申请实施例的一个或多个集成电路。
基于上述本申请实施例公开的一种业务功能实例,本申请实施例还对应公开了一种存储设备,该存储设备适用于该业务功能实例,所述存储设备包括存储器和通过总线与所述存储器连接的处理器;
所述存储器存储有用于进行报文处理的程序代码,所述程序代码包括计算机操作指令,所述处理器用于运行上述程序代码;
所述用于进行报文处理的程序代码包括:
接收流分类器或所述业务功能链中所述第一业务功能的前一个业务功能对应的第一业务功能实例转发的第二报文。所述第二报文中的业务头包括所述业务功能链对应的业务功能路径标识,网络控制装置分配的流的标识以及第一值。所述第一值等于业务索引减1。所述第二报文中的隧道头包括所述第一业务功能对应的所述第一业务功能实例的网络地址。所述第二报文包含第一报文。所述业务索引是业务功能链的生存时间值。所述生存时间值等于业务功能链上所包含的业务功能的数量;
根据所述业务功能路径标识,所述流的标识和所述第一值确定所述第一业务功能的下一个业务功能对应的第二业务功能实例的网络地址;
依据所述第二报文中的业务头对所述第一报文进行业务处理;
将所述第一报文封装为第三报文。所述第三报文中的业务头包括所述业务功能路径标识,所述流的标识以及第二值。所述第二值等于所述第一值减1。所述第三报文中的隧道头包括所述第一业务功能的下一个业务功能对应的所述第二业务功能实例的网络地址。所述第二业务功能实例的网络地址由所述业务功能路径标识,所述流的标识和所述第二值确定;
向所述第二业务功能实例发送所述第三报文。
此外,本申请实施例还公开了一种报文处理系统40,如图10所示,包括上述如图6或图7公开的FC,或适用于本申请实施例公开的存储设备的FC,上述图8或图9公开的业务功能实例20,或适用于本申请实施例公开的存储设备的业务功能实例20,以及,用于发送流表的网络控制装置30;
其中,所述网络控制装置30为网络控制器或AAA服务器,在所述网络控制装置30中设置有流的ID管理单元31。
综上所述,本申请实施例公开的一种报文处理系统,在报文处理过程中,根据网络控制装置分配的流的标识,结合业务功能链的业务功能路径标识,及业务索引确定具体的业务功能实例,并向该确定的具体的业务功能实例发送封装后的报文。本申请实施例公开的技术方案,相较于现有技术中仅限于使用报文中的字段来对报文进行识别以及处理,根据网络控制装置分配的流的标识对报文进行处理,处理的方式更加灵活。
本申请说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见。
Claims (14)
1.一种报文处理方法,其特征在于,所述方法由流分类器执行,所述方法包括:
接收网络控制装置发送的流表,所述流表包含流的规则,所述流被绑定到的业务功能链的信息,以及所述网络控制装置分配的所述流的标识,所述业务功能链的信息包括业务索引,所述业务功能链对应的业务功能路径标识,所述业务功能链的首个业务功能对应的多个业务功能实例的网络地址,及所述多个业务功能实例的隧道信息,或者所述业务功能链的信息包括业务索引,所述业务功能链对应的业务功能路径标识,所述业务功能链的首个业务功能的下一个业务功能对应的多个业务功能实例的网络地址,及所述多个业务功能实例的隧道信息,所述业务索引是所述业务功能链的生存时间值,所述生存时间值等于所述业务功能链上所包含的业务功能的数量;
获取第一报文;
确定所述第一报文与所述流表匹配;
将所述第一报文封装为第二报文,所述第二报文包括业务头以及隧道头,所述业务头包括所述业务功能路径标识,所述流的标识以及第一值,所述第一值等于所述业务索引减1,所述隧道头是基于所述隧道信息生成的,所述隧道头中包括第一业务功能实例的网络地址,所述第一业务功能实例是所述多个业务功能实例中的一个业务功能实例,所述第一业务功能实例的网络地址由所述业务功能路径标识,所述流的标识和所述第一值确定;
向所述第一业务功能实例发送所述第二报文;
其中,所述流分类器是能够与所述业务功能链中的首个业务功能对应的多个业务功能实例中的一个业务功能实例通信的网络装置,或者,所述流分类器是所述业务功能链的首个业务功能。
2.根据权利要求1所述的方法,其特征在于,在所述接收网络控制装置发送的流表之前,还包括:
向所述网络控制装置发送为所述流分配所述流的标识的请求,所述请求中包含所述流的信息;
接收所述网络控制装置为所述流分配的所述流的标识的响应,所述响应中包含所述流的标识,所述流的标识与所述流的信息不同。
3.根据权利要求1所述的方法,其特征在于,由所述业务功能路径标识,所述流的标识和所述第一值确定所述第一业务功能实例的网络地址,包括:
所述流分类器以所述业务功能路径标识和所述第一值为查找关键字在流分发表中查找与所述业务功能路径标识以及所述第一值匹配的表项,所述流分发表中与所述业务功能路径标识以及所述第一值匹配的表项包含所述首个业务功能以及所述首个业务功能对应的多个业务功能实例的网络地址,或者所述流分发表中与所述业务功能路径标识以及所述第一值匹配的表项包含所述下一个业务功能及所述下一个业务功能对应的多个业务功能实例的网络地址;
以所述业务功能路径标识和所述流的标识为查找关键字,从所述流分发表中与所述业务功能路径标识以及所述第一值匹配的表项包含的多个业务功能实例的网络地址中确定第一业务功能实例的网络地址;
或者,
所述流分类器以所述业务功能路径标识和所述第一值确定所述首个业务功能以及所述首个业务功能对应的多个业务功能实例的网络地址,或所述下一个业务功能及所述下一个业务功能对应的多个业务功能实例的网络地址;
以所述业务功能路径标识和所述流的标识为哈希键,从所述首个业务功能或所述下一个业务功能对应的多个业务功能实例的网络地址中确定第一业务功能实例的网络地址。
4.根据权利要求1所述的方法,其特征在于,所述业务头是NSH网络服务头,所述流的标识在所述业务头中的位置包括:
当所述业务头中的MD-type字段的值等于0x2时,所述业务头包含TLV-Class,所述TLV-Class包含Type Code和所述流的标识,所述Type Code用于表示所述TLV-Class携带所述流的标识;
或者,
当所述业务头中的MD-type字段的值等于0x1时,所述业务头中的Mandatory ContextHeader携带所述流的标识。
5.一种流分类器,其特征在于,所述流分类器是能够与业务功能链中的首个业务功能对应的多个业务功能实例中的一个业务功能实例通信的网络装置,或者所述流分类器是所述业务功能链的首个业务功能,所述流分类器包括:
接收单元,用于接收网络控制装置发送的流表,以及获取第一报文,所述流表包含流的规则,所述流被绑定到的业务功能链的信息,以及所述网络控制装置分配的所述流的标识,所述业务功能链的信息包括业务索引,所述业务功能链对应的业务功能路径标识,所述业务功能链的首个业务功能对应的多个业务功能实例的网络地址,及所述多个业务功能实例的隧道信息,或者所述业务功能链的信息包括业务索引,所述业务功能链对应的业务功能路径标识,所述业务功能链的首个业务功能的下一个业务功能对应的多个业务功能实例的网络地址,及所述多个业务功能实例的隧道信息,所述业务索引是所业务功能链的生存时间值,所述生存时间值等于业务功能链上所包含的业务功能的数量;
处理单元,用于确定所述接收单元获取的第一报文与所述流表匹配,并将所述第一报文封装为第二报文,所述第二报文包括业务头以及隧道头,所述业务头包括所述业务功能路径标识,所述流的标识以及第一值,所述第一值等于所述业务索引减1,所述隧道头是基于所述隧道信息生成的,所述隧道头中包括第一业务功能实例的网络地址,所述第一业务功能实例是所述多个业务功能实例中的一个业务功能实例,所述第一业务功能实例的网际协议或多媒体接入控制地址由所述业务功能路径标识,所述流的标识和所述第一值确定;
发送单元,用于向所述处理单元确定的第一业务功能实例发送所述第二报文。
6.根据权利要求5所述的流分类器,其特征在于,所述处理单元还用于:
向所述网络控制装置发送为所述流分配所述流的标识的请求,所述请求中包含所述流的信息;
接收所述网络控制装置为所述流分配的所述流的标识的响应,所述响应中包含所述流的标识,所述流的标识与所述流的信息不同。
7.根据权利要求5所述的流分类器,其特征在于,所述第一业务功能实例的网络地址由所述业务功能路径标识,所述流的标识和所述第一值确定的所述处理单元,包括:
所述处理单元,用于以所述业务功能路径标识和所述第一值为查找关键字在流分发表中查找与所述业务功能路径标识以及所述第一值匹配的表项,所述流分发表中与所述业务用能路径标识以及所述第一值匹配的表项包含所述首个业务功能以及所述首个业务功能对应的多个业务功能实例的网络地址,或者所述流分发表中与所述业务功能路径标识以及所述第一值匹配的表项包含所述下一个业务功能及所述下一个业务功能对应的多个业务功能实例的网络地址,以所述业务功能路径标识和所述流的标识为查找关键字,从所述流分发表中与所述业务功能路径标识以及所述第一值匹配的表项包含的多个业务功能实例的网络地址中确定所述第一业务功能实例的网络地址;
或者,
所述处理单元,用于以所述业务功能路径标识和所述第一值确定所述首个业务功能以及所述首个业务功能对应的多个业务功能实例的网络地址,或所述下一个业务功能及所述下一个业务功能对应的多个业务功能实例的网络地址,以所述业务功能路径标识和所述流的标识为哈希键,从所述首个业务功能或下一个业务功能对应的多个业务功能实例的网络地址中确定第一业务功能实例的网络地址。
8.根据权利要求5所述的流分类器,其特征在于,所述处理单元还用于:
在所述业务头是NSH网络服务头的情况下,当所述业务头中的MD-type字段的值等于0x2时,所述业务头包含TLV-Class,所述TLV-Class包含TypeCode和所述流的标识,所述Type Code用于表示所述TLV-Class携带所述流的标识;
或者,
在所述业务头是NSH网络服务头的情况下,当所述业务头中的MD-type字段的值等于0x1时,所述业务头中的Mandatory Context Header携带所述流的标识。
9.一种报文处理方法,其特征在于,所述方法由业务功能链的第一业务功能对应的第一业务功能实例执行,所述方法包括:
接收流分类器或所述业务功能链中所述第一业务功能的前一个业务功能对应的第一业务功能实例转发的第二报文,所述第二报文中的业务头包括所述业务功能链对应的业务功能路径标识,网络控制装置分配的流的标识以及第一值,所述第一值等于业务索引减1,所述第二报文中的隧道头包括所述第一业务功能对应的所述第一业务功能实例的网络地址,所述第二报文包含第一报文,所述业务索引是业务功能链的生存时间值,所述生存时间值等于业务功能链上所包含的业务功能的数量;
根据所述业务功能路径标识,所述流的标识和所述第一值确定所述第一业务功能的下一个业务功能对应的第二业务功能实例的网络地址;
依据所述第二报文中的业务头对所述第一报文进行业务处理;
将所述第一报文封装为第三报文,所述第三报文中的业务头包括所述业务功能路径标识,所述流的标识以及第二值,所述第二值等于所述第一值减1,所述第三报文中的隧道头包括所述第一业务功能的下一个业务功能对应的所述第二业务功能实例的网络地址,所述第二业务功能实例的网络地址由所述业务功能路径标识,所述流的标识和所述第二值确定;
向所述第二业务功能实例发送所述第三报文。
10.根据权利要求9所述的方法,其特征在于,还包括:
接收包括所述流应用的所述业务功能路径标识、所述业务索引和为所述流的标识选定的所述第一业务功能的下一个业务功能对应的多个业务功能实例的隧道信息的信息表。
11.根据权利要求9所述的方法,其特征在于,由所述业务功能路径标识,所述流的标识和所述第二值确定所述第二业务功能实例的网络地址,包括:
以所述业务功能路径标识和所述第二值为查找关键字在流分发表中查找与所述业务功能路径标识以及所述第二值匹配的表项包含所述第一业务功能的下一个业务功能,以及所述下一个业务功能对应的多个业务功能实例的网络地址;
以所述业务功能路径标识和所述流的标识为查找关键字,从所述流分发表中与所述业务功能路径标识以及所述第二值匹配的表项包含的所述多个业务功能实例的网络地址中确定第二业务功能实例的网络地址;
或者,
以所述业务功能路径标识和所述第二值确定所述第一业务功能的下一个业务功能,以及所述下一个业务功能对应的多个业务功能实例的网络地址;
以所述业务功能路径标识和所述流的标识为哈希键,从所述下一个业务功能对应的多个业务功能实例的网络地址中确定第二业务功能实例的网络地址。
12.一种业务功能实例,其特征在于,所述业务功能实例为业务功能链的第一业务功能对应的第一业务功能实例,包括:
接收单元,用于接收流分类器或所述业务功能链中所述第一业功能的前一个业务功能对应的第一业务功能实例转发的第二报文,所述第二报文中的业务头包括所述业务功能链对应的业务功能路径标识,网络控制装置分配的流的标识以及第一值,所述第一值等于业务索引减1,所述第二报文中的隧道头包括所述第一业务功能对应的第一业务功能实例的网络地址,所述第二报文包含第一报文,所述业务索引是业务功能链的生存时间值,所述生存时间值等于业务功能链上所包含的业务功能的数量;
处理单元,用于根据所述接收单元接收到的所述业务功能路径标识,所述流的标识和所述第一值确定所述第一业务功能的下一个业务功能对应的第二业务功能实例的网络地址,依据所述接收单元接收到的所述第二报文中的业务头对所述第一报文进行业务处理,将所述第一报文封装为第三报文,所述第三报文中的业务头包括所述业务功能路径标识,所述流的标识以及第二值,所述第二值等于所述第一值减1,所述第三报文中的隧道头包括所述第一业务功能的下一个业务功能对应的所述第二业务功能实例的网络地址,所述第二业务功能实例的网络地址由所述业务功能路径标识,所述流的标识和所述第二值确定;
发送单元,用于向所述处理单元确定的所述第二业务功能实例发送所述第三报文。
13.根据权利要求12所述的业务功能实例,其特征在于,还包括:
所述接收单元,还用于接收包括所述流应用的所述业务功能路径标识、所述业务索引和为所述流的标识选定的所述第一业务功能的下一个业务功能对应的多个业务功能实例的隧道信息的信息表。
14.根据权利要求12所述的业务功能实例,其特征在于,由所述业务功能路径标识,所述流的标识和所述第二值确定所述第二业务功能实例的网络地址的处理单元,还包括:
所述处理单元,还用于以所述业务功能路径标识和所述第二值为查找关键字在流分发表中查找与所述业务功能路径标识以及所述第二值匹配的表项包含所述第一业务功能的下一个业务功能,以及所述下一个业务功能对应的多个业务功能实例的网络地址,以所述业务功能路径标识和所述流的标识为查找关键字,从所述流分发表中与所述业务功能路径标识以及所述第二值匹配的表项包含的多个业务功能实例的网络地址中确定第二业务功能实例的网络地址;
或者,
所述处理单元,还用于以所述业务功能路径标识和所述第二值确定所述第一业务功能的下一个业务功能,以及所述下一个业务功能对应的多个业务功能实例的网络地址,以所述业务功能路径标识和所述流的标识为哈希键,从所述下一个业务功能对应的多个业务功能实例的网络地址中确定第二业务功能实例的网络地址。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610083925.6A CN107046506B (zh) | 2016-02-06 | 2016-02-06 | 一种报文处理方法、流分类器和业务功能实例 |
PCT/CN2017/072783 WO2017133647A1 (zh) | 2016-02-06 | 2017-01-26 | 一种报文处理方法、流分类器和业务功能实例 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610083925.6A CN107046506B (zh) | 2016-02-06 | 2016-02-06 | 一种报文处理方法、流分类器和业务功能实例 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107046506A true CN107046506A (zh) | 2017-08-15 |
CN107046506B CN107046506B (zh) | 2020-02-14 |
Family
ID=59500605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610083925.6A Active CN107046506B (zh) | 2016-02-06 | 2016-02-06 | 一种报文处理方法、流分类器和业务功能实例 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107046506B (zh) |
WO (1) | WO2017133647A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019114510A1 (zh) * | 2017-12-13 | 2019-06-20 | 中兴通讯股份有限公司 | 负载分担方法、装置和系统、计算机可读存储介质 |
CN111262762A (zh) * | 2020-01-20 | 2020-06-09 | 烽火通信科技股份有限公司 | 基于vCPE租户SFC业务链多WAN业务的实现方法及系统 |
CN111464443A (zh) * | 2020-03-10 | 2020-07-28 | 中移(杭州)信息技术有限公司 | 基于服务功能链的报文转发方法、装置、设备及存储介质 |
CN112313910A (zh) * | 2018-06-13 | 2021-02-02 | 华为技术有限公司 | 用于以数据中心为中心的城域网的多路径选择系统和方法 |
CN113037632A (zh) * | 2021-02-26 | 2021-06-25 | 中国电子科技集团公司第五十四研究所 | 一种基于路径标识的天基网络资源调度方法 |
CN113132142A (zh) * | 2019-12-31 | 2021-07-16 | 华为技术有限公司 | 用于获取网络切片标识的方法和装置 |
WO2022007503A1 (zh) * | 2020-07-10 | 2022-01-13 | 中兴通讯股份有限公司 | 一种业务流量处理方法及装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10873528B2 (en) * | 2018-11-24 | 2020-12-22 | Nanning Fugui Precision Industrial Co., Ltd. | Packet forwarding method and device utilizing the same |
CN115150420B (zh) * | 2021-03-29 | 2024-04-09 | 中移(上海)信息通信科技有限公司 | 业务处理方法、装置及相关设备 |
CN114363257B (zh) * | 2021-12-29 | 2023-10-17 | 杭州迪普信息技术有限公司 | 隧道报文的五元组匹配方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104869065A (zh) * | 2014-02-26 | 2015-08-26 | 中兴通讯股份有限公司 | 数据报文处理方法及装置 |
WO2016004556A1 (zh) * | 2014-06-17 | 2016-01-14 | 华为技术有限公司 | 业务流的处理方法、装置及设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104954245B (zh) * | 2014-03-27 | 2019-07-16 | 中兴通讯股份有限公司 | 业务功能链处理方法及装置 |
-
2016
- 2016-02-06 CN CN201610083925.6A patent/CN107046506B/zh active Active
-
2017
- 2017-01-26 WO PCT/CN2017/072783 patent/WO2017133647A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104869065A (zh) * | 2014-02-26 | 2015-08-26 | 中兴通讯股份有限公司 | 数据报文处理方法及装置 |
WO2016004556A1 (zh) * | 2014-06-17 | 2016-01-14 | 华为技术有限公司 | 业务流的处理方法、装置及设备 |
Non-Patent Citations (1)
Title |
---|
C.WANG等: "IPv6 Service function Chain draft-wang-6man-ipv6-service-function-chain-00", 《IETF》 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109922005A (zh) * | 2017-12-13 | 2019-06-21 | 中兴通讯股份有限公司 | 一种负载分担方法、装置和系统、计算机可读存储介质 |
WO2019114510A1 (zh) * | 2017-12-13 | 2019-06-20 | 中兴通讯股份有限公司 | 负载分担方法、装置和系统、计算机可读存储介质 |
CN112313910A (zh) * | 2018-06-13 | 2021-02-02 | 华为技术有限公司 | 用于以数据中心为中心的城域网的多路径选择系统和方法 |
CN112313910B (zh) * | 2018-06-13 | 2022-08-19 | 华为技术有限公司 | 用于以数据中心为中心的城域网的多路径选择系统和方法 |
CN113132142B (zh) * | 2019-12-31 | 2022-08-09 | 华为技术有限公司 | 用于获取网络切片标识的方法和装置 |
US11950179B2 (en) | 2019-12-31 | 2024-04-02 | Huawei Technologies Co., Ltd. | Method and apparatus for obtaining network slice identifier |
CN113132142A (zh) * | 2019-12-31 | 2021-07-16 | 华为技术有限公司 | 用于获取网络切片标识的方法和装置 |
CN111262762A (zh) * | 2020-01-20 | 2020-06-09 | 烽火通信科技股份有限公司 | 基于vCPE租户SFC业务链多WAN业务的实现方法及系统 |
CN111262762B (zh) * | 2020-01-20 | 2021-08-03 | 烽火通信科技股份有限公司 | 基于vCPE租户SFC业务链多WAN业务的实现方法及系统 |
CN111464443A (zh) * | 2020-03-10 | 2020-07-28 | 中移(杭州)信息技术有限公司 | 基于服务功能链的报文转发方法、装置、设备及存储介质 |
CN111464443B (zh) * | 2020-03-10 | 2022-06-28 | 中移(杭州)信息技术有限公司 | 基于服务功能链的报文转发方法、装置、设备及存储介质 |
WO2022007503A1 (zh) * | 2020-07-10 | 2022-01-13 | 中兴通讯股份有限公司 | 一种业务流量处理方法及装置 |
CN113037632B (zh) * | 2021-02-26 | 2021-12-17 | 中国电子科技集团公司第五十四研究所 | 一种基于路径标识的天基网络资源调度方法 |
CN113037632A (zh) * | 2021-02-26 | 2021-06-25 | 中国电子科技集团公司第五十四研究所 | 一种基于路径标识的天基网络资源调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107046506B (zh) | 2020-02-14 |
WO2017133647A1 (zh) | 2017-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107046506A (zh) | 一种报文处理方法、流分类器和业务功能实例 | |
CN107959654B (zh) | 一种数据传输方法、装置及混合云系统 | |
US7782897B1 (en) | Multimedia over internet protocol border controller for network-based virtual private networks | |
EP3404878B1 (en) | Virtual network apparatus, and related method | |
CN103650436B (zh) | 业务路径分配方法、路由器和业务执行实体 | |
US20180287905A1 (en) | Session-based traffic statistics logging for virtual routers | |
US8051201B2 (en) | Method for providing scalable multicast service in a virtual private LAN service | |
US7539193B2 (en) | System and method for facilitating communication between a CMTS and an application server in a cable network | |
WO2021073565A1 (zh) | 业务服务提供方法及系统 | |
US20140056146A1 (en) | Stateless load balancer in a multi-node system for transparent processing with packet preservation | |
US10321360B2 (en) | Load balancing of wireless subscriber packet processing over multiple packet processing cores on a virtual machine platform | |
JP2008524916A (ja) | 通信システムにおけるパケットフローに関する装置及び方法 | |
US20200244486A1 (en) | Dynamic customer vlan identifiers in a telecommunications network | |
US20050226257A1 (en) | Virtual local area network | |
CN109547354B (zh) | 负载均衡方法、装置、系统、核心层交换机及存储介质 | |
EP4033702A1 (en) | Service providing method and system, and remote acceleration gateway | |
EP2975808B1 (en) | Method for packet processing and packet device and system | |
WO2017147027A1 (en) | Addressing for customer premises lan expansion | |
US10193800B2 (en) | Service label routing in a network | |
Ranjbar et al. | Domain isolation in a multi-tenant software-defined network | |
US11303576B2 (en) | Accurate analytics, quality of service and load balancing for internet protocol fragmented packets in data center fabrics | |
US20230254183A1 (en) | Generating route target values for virtual private network routes | |
CN104363176A (zh) | 一种报文控制的方法和设备 | |
EP4005180B1 (en) | System resource management in self-healing networks | |
KR20180007898A (ko) | 가상 사설 클라우드망에서 테넌트 내 그룹 분리 방법 |
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 |