CN105871675A - 一种数据处理方法及装置 - Google Patents
一种数据处理方法及装置 Download PDFInfo
- Publication number
- CN105871675A CN105871675A CN201510028080.6A CN201510028080A CN105871675A CN 105871675 A CN105871675 A CN 105871675A CN 201510028080 A CN201510028080 A CN 201510028080A CN 105871675 A CN105871675 A CN 105871675A
- Authority
- CN
- China
- Prior art keywords
- vnfc
- stream
- packet
- node
- label
- 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
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种数据处理方法及装置,该方法包括:第一VNFC接收第二VNFC发送的第一数据包和所述第一数据包的流标签,所述流标签是所述第二VNFC根据所述第一数据包的流信息生成的或者是所述第二VNFC从第三VNFC接收到的;所述第一VNFC根据所述流标签选择用于处理所述第一数据包的第一处理节点;其中,所述第一处理节点为所述第一VNFC中的处理节点。通过本申请中的方法,可以降低***消耗,提供数据包处理效率。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种数据处理方法及装置。
背景技术
网络功能虚拟化(英文:Network Function Virtualization,简称:NFV)通过使用通用的硬件设备及虚拟化技术来承载传统网络中专用设备的功能,实现软硬件解耦,使网络设备功能不再依赖于专用硬件,从而降低因为部署专用设备带来的昂贵成本。其中,能够接收虚拟化请求,并根据请求对相应业务进行虚拟化处理的一方,称为虚拟化业务提供方(简称业务提供方),发起虚拟化请求的一方称为业务请求方。
NFV中虚拟化的网络服务(英文:Network Service,简称:NS)可以是一个网络协议多媒体子***(英文:Internet Protocol Multimedia Subsystem,简称:IMS)的网络服务,也可以是演进型分组核心网(英文:Evolved Packet Core,简称:EPC)的网络服务。一个NS中还可能包含若干个虚拟化网络功能(英文:Virtualized Network Function,简称:VNF)模块。一个VNF可以包括多个虚拟网络功能组件(英文:VNF component,简称:VNFC)。每个VNFC包括多个处理节点。报文在VNF内需要经过至少两个VNFC的处理。
请参考图1所示,为现有技术提供的一种报文处理的过程示意图。如图1所示,当通过外部通信网络,报文输入至VNF内部的VNFC1进行处理,并在VNFC1处理完成之后转发给VNFC2,再由VNFC2中接收到报文的分发节点根据规则获取流信息并生成流标签,然后根据流标签选择VNFC2的处理节点,整个处理流程复杂,效率较低,导致***开销较大。
发明内容
本申请实施例提供一种数据处理方法及装置,用于解决现有技术中的VNFC生成流标签复杂,导致***开销较大、处理效率较低的技术问题。
本申请第一方面提供了一种数据处理方法,包括:
第一虚拟网络功能组件VNFC接收第二VNFC发送的第一数据包和所述第一数据包的流标签,所述流标签是所述第二VNFC根据所述第一数据包的流信息生成的或者是所述第二VNFC从第三VNFC接收到的;
所述第一VNFC根据所述流标签选择用于处理所述第一数据包的第一处理节点;其中,所述第一处理节点为所述第一VNFC中的处理节点。
结合第一方面,在第一方面的第一种可能的实现方式中,在所述第一VNFC根据所述流标签选择用于处理所述第一数据包的第一处理节点之后,所述方法还包括:
通过所述第一处理节点处理所述第一数据包获得第二数据包;
根据所述流标签选择第四VNFC的分发节点;
发送所述第二数据包和所述流标签至选择的所述第四VNFC的分发节点。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,在根据所述流标签选择第四VNFC的分发节点之前,所述方法还包括:
确定所述第二数据包的流信息的粒度不比生成所述流标签的流信息的粒度细。
结合第一方面,在第一方面的第三种可能的实现方式中,在所述第一VNFC根据所述流标签选择用于处理所述第一数据包的第一处理节点之后,所述方法还包括:
通过所述第一处理节点处理所述第一数据包,获得第二数据包;
确定所述第二数据包的流信息的粒度比生成所述流标签的流信息的粒度细;
根据所述第二数据包的流信息生成新流标签;
根据所述新流标签选择第四VNFC的分发节点;
发送所述第二数据包和所述新流标签至选择的所述第四VNFC的分发节点。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述根据所述第二数据包的流信息生成新流标签,包括:
根据流分类粒度获取新的流信息,并通过对所述新的流信息进行哈希计算获得所述新流标签;或者
根据隧道的特征获取隧道内的流信息,并通过对所述隧道内的流信息进行哈希计算获得所述新流标签。
本申请第二方面提供一种数据处理装置,包括:第一分发节点和M个处理节点,M为大于或等于2的整数;
所述第一分发节点,用于接收第二虚拟网络功能组件VNFC发送的第一数据包和所述第一数据包的流标签;所述流标签是所述第二VNFC根据所述第一数据包的流信息生成的或者是所述第二VNFC从第三VNFC接收到的;根据所述第一数据包中的流标签选择用于处理所述第一数据包的第一处理节点,其中,所述第一处理节点为所述M个处理节点中的处理节点。
结合第二方面,在第二方面的第一种可能的实现方式中,
所述第一处理节点,用于处理所述第一分发节点接收的所述第一数据包,获得第二数据包;并根据所述流标签选择第四VNFC的分发节点;
所述第一分发节点,还用于发送所述第二数据包和所述流标签至所述第一处理节点选择的所述第四VNFC的分发节点。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述第一处理节点还用于:在根据所述流标签选择第四VNFC的分发节点之前,确定所述第二数据包的流信息的粒度不比生成所述流标签的流信息的粒度细。
结合第二方面,在第二方面的第三种可能的实现方式中,所述第一处理节点用于:处理所述第一分发节点接收的所述第一数据包,获得第二数据包;确定所述第二数据包的流信息的粒度比生成所述流标签的流信息的粒度细;根据所述第二数据包的流信息生成新流标签;根据所述新流标签选择第四VNFC的分发节点;
所述第一分发节点还用于:发送所述第二数据包和所述新流标签至所述第一处理节点选择的所述第四VNFC的分发节点。
结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述第一处理节点具体用于:根据流分类粒度获取新的流信息,并通过对所述新的流信息进行哈希计算获得所述新流标签;或者根据隧道的特征获取隧道内的流信息,并通过对所述隧道内的流信息进行哈希计算获得所述新流标签。
本申请第三方面提供一种网络设备,包括:处理器、存储器、发送器和接收器,虚拟网络功能VNF部署在所述网络设备上,用于利用所述处理器、所述存储器、所述发送器和所述接收器实现特定的网络功能;
所述VNF包括第一VNFC、第二VNFC、第三VNFC;
所述第一VNFC的第一分发节点用于接收所述第二VNFC发送的第一数据包和所述第一数据包的流标签,所述流标签是所述第二VNFC根据所述第一数据包的流信息生成的或者是所述第二VNFC从所述第三VNFC接收到的;根据所述流标签选择用于处理所述第一数据包的第一处理节点;其中,所述第一处理节点为所述第一VNFC中的处理节点。
结合第三方面,在第三方面的第一种可能的实现方式中,所述VNF还包括第四VNFC;所述第一处理节点用于处理所述第一数据包获得第二数据包;并根据所述流标签选择所述第四VNFC的分发节点;
所述第一VNFC的第一分发节点还用于发送所述第二数据包和所述流标签至所述第一处理节点选择的所述第四VNFC的分发节点。
结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述第一处理节点还用于:在根据所述流标签选择所述第四VNFC的分发节点之前,确定所述第二数据包的流信息的粒度不比生成所述流标签的流信息的粒度细。
结合第三方面,在第三方面的第三种可能的实现方式中,所述VNF还包括第四VNFC;所述第一处理节点用于处理所述第一数据包获得第二数据包;确定所述第二数据包的流信息的粒度比生成所述流标签的流信息的粒度细;根据所述第二数据包的流信息生成新流标签;根据所述新流标签选择所述第四VNFC的分发节点;
所述第一VNFC的分发节点还用于发送所述第二数据包和所述新流标签至所述第一处理节点选择的所述第四VNFC的分发节点。
结合第三方面的第三种可能的实现方式,在第三方面的第四种可能的实现方式中,所述第一处理节点具体用于:根据流分类粒度获取新的流信息,并通过对所述新的流信息进行哈希计算获得所述新流标签;或者
根据隧道的特征获取隧道内的流信息,并通过对所述隧道内的流信息进行哈希计算获得所述新流标签。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本申请实施例中,第一VNFC接收的第二VNFC发送的第一数据包中就携带有第二VNFC根据所述第一数据包的流信息生成的流标签或者是第二VNFC从第三VNFC接收到的,所以第一VNFC不需要像现有技术中那样再次根据规则生成流标签,而是直接根据第一数据包中携带的流标签选择用于处理第一数据包的第一处理节点,所以降低了***开销,也因为节约了再次生成流标签的步骤而提高了数据包的处理效率。因此,相比现有技术中的VNFC生成流标签的方法,本申请实施例中的方法的***开销较低、处理效率较高。
附图说明
图1为现有技术中的报文处理的过程示意图;
图2为本申请实施例提供的一种数据处理方法的流程图;
图3为本申请实施例提供的一种VNF的结构图;
图4为本申请实施例提供的第一种数据处理方法的实例示意图;
图5为本申请实施例提供的第二种数据处理方法的实例示意图;
图6为本申请实施例提供的第三种数据处理方法的实例示意图;
图7为本申请实施例提供的一种数据处理装置的功能框图;
图8为本申请实施例提供的一种网络设备的结构框图。
具体实施方式
本申请实施例提供一种数据处理方法及装置,用以解决现有技术中VNF内的VNFC生成流标签导致***开销较大、处理效率较低的技术问题。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参考图2所示,为本申请一实施例提供的一种数据处理方法的流程图,该方法包括以下内容:
步骤101:第一VNFC的分发节点接收第二VNFC发送的第一数据包和所述第一数据包的流标签,所述流标签是第二VNFC根据所述第一数据包的流信息生成的或者是第二VNFC从第三VNFC接收到的;
步骤102:第一VNFC根据所述流标签选择用于处理所述第一数据包的第一处理节点;其中,所述第一处理节点为第一VNFC中的处理节点。
在本申请实施例中,第一VNFC、第二VNFC、第三VNFC以及后续所描述的第四VNFC是同一VNF内的VNFC。
其中,本申请实施例中的第一数据包例如为报文。
其中,在步骤101中,流标签是由第二VNFC根据所述第一数据包的流信息生成的,包括但不限于有以下三种情况。
第一种,第二VNFC为外部数据包的源头,即第一数据包是通过外部通信网络传输至第二VNFC。那么第二VNFC在接收到第一数据包时,就根据规则提取该第一数据包的流信息,然后根据流信息生成流标签。
其中,根据规则提取流信息,具体来说,根据VNF与外部网元的通信方式不同,可以分为隧道类和非隧道类两种情况。对于非隧道类的,可以是根据流分类粒度获取不同粒度流分类的流信息。例如:三元组(源网际协议(英文:Internet Protocol,简称:IP)地址、目的IP地址、协议号)。再例如:五元组(源IP地址、目的IP地址、源端口、目的端口、协议号)。再例如:用户级流(目的IP地址)。然后通过对流信息进行哈希计算生成流标签。
对于隧道类的,可以是根据隧道的特征获取隧道内的流信息。举例来说,如果是通用分组无线服务技术隧道协议(英文:General Packet Radio ServiceTunnelling Protocol,简称:GTP),那么流信息为隧道节点标识(英文:Tunnel endpoint Identity,简称:TEID)或隧道标识(英文:Tunnel point Identity,简称:TID)。如果是网际协议安全(英文:Internet Protocol Security,简称:IPSEC)隧道,流信息为安全参数索引(英文:Security Parameter Index,简称:SPI)。如果是二层隧道协议(英文:Layer Two Tunneling Protocol,简称:L2TP),那么流信息可以是TID。如果是IPinIP隧道,那么流信息可以是三元组或五元组。然后通过对流信息进行哈希计算生成流标签。其中,IPinIP为一种IP隧道协议。在该协议下,将一个IP封包封装进另一个IP封包中。
需要说明的是,除了对流信息进行哈希计算外,还可以通过对流信息做其他方式的处理生成流标签。使用对流信息处理过后的流标签,相比直接使用流信息可以减少计算量。
进一步,在生成流标签之后,第二VNFC的分发节点还可以根据流标签选择用于处理该第一数据包的处理节点,所述处理节点为第二VNFC的处理节点。然后所述处理节点对该第一数据包进行处理。在处理完成后,处理完之后的第一数据包需要转发给第一VNFC。因此,所述处理节点根据生成的流标签选择第一VNFC的分发节点,并通过内部通信网络将处理后的第一数据包发送给选择的第一VNFC的分发节点。并且将前述生成的流标签也发送给第一VNFC。流标签具体例如携带在发送第一数据包的内部通信头中。因此,对应的,作为第一VNFC,即执行步骤101。
第二种,第二VNFC是内部数据包的源头,即第二VNFC生成了第一数据包。然后第二VNFC根据规则获取所述第一数据包的流信息并生成流标签。其中,生成流标签的过程与第一种的内容相同。另外,第二VNFC的其他处理方式和第一种中所描述的相同,所以在此不再赘述。
第三种,第二VNFC并非是第一数据包的源头,而是从第三VNFC接收的。其中,第三VNFC为第二VNFC的上一VNFC。在第二VNFC接收到第三VNFC发送的第一数据包时,根据该第一数据包中的流标签选择用于处理该第一数据包的处理节点,所述处理节点为第二VNFC中的处理节点。然后在处理节点处理完成后,需要将第一数据包转发至第一VNFC。如果第二VNFC识别出更细粒度的流信息,那么就根据该流信息生成新流标签。然后第二VNFC根据新流标签选择第一VNFC的分发节点,并将处理后的第一数据包发送给选择的第一VNFC的分发节点。并且将新流标签也发送给第一VNFC的分发节点。那么对应的,第一VNFC即执行步骤101。
关于步骤101中的流标签为第二VNFC从第三VNFC接收到的流标签的情况,与上面第三种情况不同的是:在第二VNFC的处理节点处理完成后,第二VNFC没有识别出更细粒度的流信息,或者是没有进行识别的动作,所以继续根据从第三VNFC接收到的流标签选择第一VNFC的分发节点,并且将处理后的第一数据包发送给选择的第一VNFC的分发节点。并且将该流标签也发送给第一VNFC的分发节点。
因为在步骤101中接收到第一数据包的流标签,那么接下来就执行步骤102,即第一VNFC根据所述流标签选择用于处理所述第一数据包的第一处理节点。其中,利用流标签选择处理节点以达到负载均衡的效果。另外,利用流标签选择处理节点,也保证了同一流标签的数据包能够分发到同一处理节点进行处理,达到保序的效果。
在实际运用中,根据流标签选择处理节点,具体来说,例如是用流标签和第一VNFC的处理节点的数量进行取模运算,运算的结果即为对应的处理节点的编号或标识。当然,还可以采用其他算法选择,该部分内容为本领域技术人员所熟知的内容,所以在此不再赘述。
由以上描述可以看出,第一VNFC接收的第二VNFC发送的第一数据包中就包括有第二VNFC根据所述第一数据包的流信息生成的流标签,所以第一VNFC不需要像现有技术中那样再次根据规则生成流标签,而是直接根据第一数据包中包含的流标签选择处理节点,所以降低了***开销,也因为节约了再次生成流标签的步骤而提高了数据包的处理效率。因此,相比现有技术中的VNFC生成流标签的方法,本申请实施例中的方法的***开销较低、处理效率较高。
在第一种可能的实施方式中,在步骤102之后,如果是VNF主动发送第一数据包,而且第一VNFC的处理步骤为VNF内的最后一个处理步骤,那么在第一处理节点处理之后,第一VNFC的分发节点将处理后的第一数据包发送至外部网络。
在第二种可能的实施方式中,在步骤102之后,如果是VNF接收的第一数据包,而且第一VNFC的处理步骤为VNF内的最后一个处理步骤,那么在选择的处理节点处理之后,处理流程就结束了。
在第三种可能的实施方式中,在步骤102之后,不管是VNF接收第一数据包还是主动发送第一数据包,第一VNFC的处理步骤不是VNF内的最后一个处理步骤。换言之,在第一处理节点处理第一数据包之后,还要将处理后的第一数据包发送给第四VNFC的分发节点。因此,在本实施例中,在步骤102之后,通过第一处理节点处理第一数据包获得第二数据包;根据步骤102中的流标签选择第四VNFC的分发节点;然后发送第二数据包和所述流标签至选择的第四VNFC的分发节点。
具体来说,根据步骤102中的流标签选择第四VNFC的分发节点,可以是根据流标签和第四VNFC的分发节点的数量进行取模运算的结果进行选择。根据流标签选择的方法为本领域技术人员所熟知的内容,所以在此不再赘述。
第一VNFC在将第二数据包转发给第四VNFC时,将流标签一起转发给第四VNFC。那么第四VNFC在选择处理节点时就不需要再次生成流标签,而是可以直接使用当前NVFC发送的流标签选择处理节点。如此一来,可以使得流标签在VNFC之间共享,降低了***开销,提高了VNFC对数据包的处理效率。
在第四种可能的实施方式中,在第一处理节点处理完第一数据包获得第二数据包之后,因为VNFC内的各个VNFC的处理功能不同,所以有可能处于处理流程后面的VNFC可以识别的数据包的内容比前面的VNFC多,所以第一VNFC可能识别出更细粒度的流。举例来说,对于TCP/IP协议而言,前面的VNFC可能只能识别出3层,而后面的VNFC可能识别出第4-7层。因此,在步骤102之后,第一处理节点处理第一数据包获得第二数据包;确定第二数据包的流信息的粒度比生成所述流标签的流信息的粒度细;根据第二数据包的流信息生成新流标签;根据所述新流标签选择第四VNFC的分发节点;发送所述第二数据包和新流标签至选择的所述第四VNFC的分发节点。如此一来,可以达到更好的负载均衡效果。
因此,在第四VNFC接收到所述第一数据包之后,就会根据新流标签选择处理节点。
如果第一处理节点确定第二数据包的流信息的粒度不比生成所述流标签的流信息的粒度细,那么就可以直接按照前述第三种可能的实施方式进行处理。
需要说明的是,在第四种可能的实施方式中,生成新流标签,具体包括:第一处理节点根据流分类粒度获取新的流信息,并通过对所述新的流信息进行哈希计算获得所述新流标签。
或者,选择的处理节点根据隧道的特征获取隧道内的流信息,并通过对所述隧道内的流信息进行哈希计算获得所述新流标签。具体过程如前述生成步骤102中的流标签的过程是类似的,所以在此不再赘述。
以下举几个具体的例子说明本申请实施例中的数据处理方法的具体实施过程。
首先请参考图3所示,为本申请实施例中VNF的结构图。假设VNF包括三个VNFC,分别为VNFC1、VNFC2和VNFC3。每个VNFC分别包括处理节点1至处理节点n的n个处理节点,以及分发节点1至分发节点n的n个分发节点。其中,n为大于等于2的正整数。
第一例,假设VNFC1的分发节点1通过外部通信网络接收到第一报文。第一报文需要VNF内的VNFC1和VNFC2处理。请一并参考图3和图4所示,图4为本实施例中数据处理方法的流程图。该方法包括如下内容。
步骤201:VNFC1的分发节点1接收第一报文。
步骤202:VNFC1的分发节点1根据规则生成流标签。具体来说,例如根据流分类粒度获取流信息,并对流信息进行哈希算法生成流标签。或者是根据隧道的特征获取隧道内的流信息,并对流信息进行哈希算法生成流标签。
步骤203:VNFC1的分发节点1根据流标签选择用于处理第一报文的处理节点,选择的结果例如为处理节点1。根据流标签选择例如是模选。
步骤204:处理节点1处理第一报文,处理之后的报文称为第二报文。
步骤205:处理节点1根据流标签选择VNFC2的分发节点,例如选择的结果为分发节点2。
步骤206:VNFC1的分发节点1发送第二报文和流标签给VNFC2的分发节点2。
步骤207:VNFC2的分发节点2根据流标签选择VNFC2的处理节点,例如选择的结果为处理节点2。
步骤208:处理节点2对第二报文进行处理。
因为在本例中,该报文只需要经过两个VNFC的处理,所以在步骤208执行完成之后,该数据处理流程结束。
第二例,在本例中,假设在第一例的基础上,从外部输入的第一报文还需要VNFC3处理。因此,在步骤208之后,VNFC2还需要将处理后的第二报文转发给VNFC3。其中,假设在步骤208处理之后,获得第三报文。请同时参考图3和图5所示,图5为本实施例中数据处理方法的流程图。该方法包括以下内容。
步骤209:处理节点2识别出更细粒度的流信息,并对流信息进行哈希计算得到新流标签。举例来说,假设在步骤202中,获取到的流信息为三元组。在步骤209中识别出的流信息为五元组。粒度更细。
步骤210:处理节点2根据新流标签选择VNFC3的分发节点,选择的结果为分发节点3。
步骤211:分发节点2发送第三报文和新流标签给VNFC3的分发节点3。
步骤212:VNFC3的分发节点3根据新流标签选择VNFC3的处理节点,假设选择的结果为处理节点3。
步骤213:处理节点3对第三报文进行处理。
第三例,在本例中,假设为VNF主动发送报文,报文由VNFC3生成,经由VNFC2和VNFC1处理,然后输出至外部网络。请同时参考图3和图6所示,图6为本实施例中数据处理方法的流程图。该方法包括以下内容。
步骤301:VNFC3生成第一报文。
步骤302:根据规则生成流标签。其中,生成流标签的方式如前所述。
步骤303:根据流标签选择VNFC2的分发节点,假设选择的结果为分发节点2。
步骤304:VNFC3发送第一报文和流标签给VNFC2的分发节点2。
步骤305:分发节点2根据流标签选择VNFC2的处理节点,例如为处理节点2。
步骤306:处理节点2对第一报文进行处理,获得第二报文。
步骤307:处理节点2根据流标签选择VNFC1的分发节点,例如分发节点1。
步骤308:分发节点2发送第二报文和流标签给VNFC1的分发节点1。
步骤309:分发节点1根据流标签选择VNFC1的处理节点,例如为处理节点1。
步骤310:处理节点1对第二报文进行处理,获得第三报文。
步骤311:分发节点1发送第三报文至外部网络。
由以上描述可以看出,在报文源头根据规则提取流信息生成流标签,并随报文携带流标签,报文在VNF内的转发过程中直接使用该流标签进行处理节点和分发节点的选择,避免报文在VNF内的转发过程中各个VNFC反复提取流信息生成流标签,大大提升转发效率,并且降低***开销。
基于同一发明构思,参考图7所示,为本申请实施例提供的一种数据处理装置的功能框图,用于实现本发明图2、图4至图6所示的数据处理方法,本实施例中所涉及的术语的含义请参考前述实施例中所描述的内容。该数据处理装置包括:第一分发节点401和M个处理节点402;其中,M为大于或等于2的整数。
其中,第一分发节点401用于接收第二VNFC发送的第一数据包和所述第一数据包的流标签,所述流标签是第二VNFC根据所述第一数据包的流信息生成的或者是第二VNFC从第三VNFC接收到的。第一分发节点401还用于根据所述流标签选择用于处理所述第一数据包的第一处理节点,其中,所述第一处理节点为M个处理节点402中的处理节点。可选的,该装置包括第2至第N个分发节点。其中,N为大于或等于2的整数。
可选的,第一处理节点用于:处理第一分发节点401接收的第一数据包,获得第二数据包;并根据所述流标签选择第四VNFC的分发节点。
第一分发节点401还用于:发送第二数据包和所述流标签至第一处理节点选择的第四VNFC的分发节点。
进一步,所述第一处理节点还用于:在根据所述流标签选择第四VNFC的分发节点之前,确定第二数据包的流信息的粒度不比生成所述流标签的流信息的粒度细。
可选的,第一处理节点用于:处理第一分发节点401接收的第一数据包,获得第二数据包;确定第二数据包的流信息的粒度比生成所述流标签的流信息的粒度细;根据第二数据包的流信息生成新流标签;根据所述新流标签选择第四VNFC的分发节点。
第一分发节点401还用于:发送第二数据包和所述新流标签至第一处理节点选择的第四VNFC的分发节点。
进一步,第一处理节点具体用于:根据流分类粒度获取新的流信息,并通过对所述新的流信息进行哈希计算获得所述新流标签;或者根据隧道的特征获取隧道内的流信息,并通过对所述隧道内的流信息进行哈希计算获得所述新流标签。
前述图2、图4至图6实施例中的数据处理方法中的各种变化方式和具体实例同样适用于本实施例的数据处理装置,通过前述对数据处理方法的详细描述,本领域技术人员可以清楚的知道本实施例中数据处理装置的实施方法,所以为了说明书的简洁,在此不再详述。
基于同一发明构思,参考图8所示,为本申请实施例提供的一种网络设备的结构框图,用于实现本发明图2、图4至图6所示的数据处理方法,本实施例中所涉及的术语的含义请参考前述实施例中所描述的内容。该网络设备包括:处理器501、发送器502、接收器503、存储器504和VNF505。处理器501具体可以是通用的中央处理器(CPU),可以是特定应用集成电路(英文:ApplicationSpecific Integrated Circuit,简称:ASIC),可以是一个或多个用于控制程序执行的集成电路。存储器504的数量可以是一个或多个。存储器504可以包括只读存储器(英文:Read Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)和磁盘存储器。这些存储器、接收器503和发送器502通过总线与处理器501相连接。接收器503和发送器502用于与外部设备进行网络通信,具体可以通过以太网、无线接入网、无线局域网等网络与外部设备进行通信。接收器503和发送器502可以是物理上相互独立的两个元件,也可以是物理上的同一个元件。
存储器504中可以存储指令,处理器501可以执行存储器504中存储的指令。
VNF505部署在该网络设备上。VNF505可以利用该网络设备上的硬件资源,例如处理器501、存储器504、接收器503和发送器502完成特定的网络功能。
VNF505包括多个VNFC,例如包括第一VNFC、第二VNFC、第三VNFC和第四VNFC。
第一VNFC的第一分发节点用于接收第二VNFC发送的第一数据包和所述第一数据包的流标签,所述流标签是第二VNFC根据所述第一数据包的流信息生成的或者是第二VNFC从第三VNFC接收到的;根据所述流标签选择用于处理所述第一数据包的第一处理节点;其中,所述第一处理节点为所述第一VNFC中的处理节点。
可选的,所述第一处理节点用于处理所述第一数据包获得第二数据包;并根据所述流标签选择第四VNFC的分发节点。
第一VNFC的第一分发节点还用于发送第二数据包和所述流标签至第一处理节点选择的第四VNFC的分发节点。
进一步,第一处理节点还用于:在根据所述流标签选择第四VNFC的分发节点之前,确定第二数据包的流信息的粒度不比生成所述流标签的流信息的粒度细。
可选的,第一处理节点用于处理所述第一数据包获得第二数据包;确定第二数据包的流信息的粒度比生成所述流标签的流信息的粒度细;根据第二数据包的流信息生成新流标签;根据所述新流标签选择第四VNFC的分发节点。
第一VNFC的分发节点还用于发送第二数据包和新流标签至第一处理节点选择的第四VNFC的分发节点。
进一步,第一处理节点具体用于:根据流分类粒度获取新的流信息,并通过对所述新的流信息进行哈希计算获得所述新流标签;或者
根据隧道的特征获取隧道内的流信息,并通过对所述隧道内的流信息进行哈希计算获得所述新流标签。
前述图2、图4至图6实施例中的数据处理方法中的各种变化方式和具体实例同样适用于本实施例的网络设备,通过前述对数据处理方法的详细描述,本领域技术人员可以清楚的知道本实施例中网络设备的实施方法,所以为了说明书的简洁,在此不再详述。
申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本申请实施例中,第一VNFC接收的第二VNFC发送的第一数据包中就携带有第二VNFC根据所述第一数据包的流信息生成的流标签或者是第二VNFC从第三VNFC接收到的,所以第一VNFC不需要像现有技术中那样再次根据规则生成流标签,而是直接根据第一数据包中携带的流标签选择用于处理第一数据包的第一处理节点,所以降低了***开销,也因为节约了再次生成流标签的步骤而提高了数据包的处理效率。因此,相比现有技术中的VNFC生成流标签的方法,本申请实施例中的方法的***开销较低、处理效率较高。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
第一虚拟网络功能组件VNFC接收第二VNFC发送的第一数据包和所述第一数据包的流标签,所述流标签是所述第二VNFC根据所述第一数据包的流信息生成的或者是所述第二VNFC从第三VNFC接收到的;
所述第一VNFC根据所述流标签选择用于处理所述第一数据包的第一处理节点;其中,所述第一处理节点为所述第一VNFC中的处理节点。
2.如权利要求1所述的方法,其特征在于,在所述第一VNFC根据所述流标签选择用于处理所述第一数据包的第一处理节点之后,所述方法还包括:
通过所述第一处理节点处理所述第一数据包获得第二数据包;
根据所述流标签选择第四VNFC的分发节点;
发送所述第二数据包和所述流标签至选择的所述第四VNFC的分发节点。
3.如权利要求2所述的方法,其特征在于,在根据所述流标签选择第四VNFC的分发节点之前,所述方法还包括:
确定所述第二数据包的流信息的粒度不比生成所述流标签的流信息的粒度细。
4.如权利要求1所述的方法,其特征在于,在所述第一VNFC根据所述流标签选择用于处理所述第一数据包的第一处理节点之后,所述方法还包括:
通过所述第一处理节点处理所述第一数据包,获得第二数据包;
确定所述第二数据包的流信息的粒度比生成所述流标签的流信息的粒度细;
根据所述第二数据包的流信息生成新流标签;
根据所述新流标签选择第四VNFC的分发节点;
发送所述第二数据包和所述新流标签至选择的所述第四VNFC的分发节点。
5.如权利要求4所述的方法,其特征在于,所述根据所述第二数据包的流信息生成新流标签,包括:
根据流分类粒度获取新的流信息,并通过对所述新的流信息进行哈希计算获得所述新流标签;或者
根据隧道的特征获取隧道内的流信息,并通过对所述隧道内的流信息进行哈希计算获得所述新流标签。
6.一种数据处理装置,其特征在于,包括:第一分发节点和M个处理节点,M为大于或等于2的整数;
所述第一分发节点,用于接收第二虚拟网络功能组件VNFC发送的第一数据包和所述第一数据包的流标签;所述流标签是所述第二VNFC根据所述第一数据包的流信息生成的或者是所述第二VNFC从第三VNFC接收到的;根据所述第一数据包中的流标签选择用于处理所述第一数据包的第一处理节点,其中,所述第一处理节点为所述M个处理节点中的处理节点。
7.如权利要求6所述的装置,其特征在于,
所述第一处理节点,用于处理所述第一分发节点接收的所述第一数据包,获得第二数据包;并根据所述流标签选择第四VNFC的分发节点;
所述第一分发节点,还用于发送所述第二数据包和所述流标签至所述第一处理节点选择的所述第四VNFC的分发节点。
8.如权利要求7所述的装置,其特征在于,所述第一处理节点还用于:在根据所述流标签选择第四VNFC的分发节点之前,确定所述第二数据包的流信息的粒度不比生成所述流标签的流信息的粒度细。
9.如权利要求6所述的装置,其特征在于,所述第一处理节点用于:处理所述第一分发节点接收的所述第一数据包,获得第二数据包;确定所述第二数据包的流信息的粒度比生成所述流标签的流信息的粒度细;根据所述第二数据包的流信息生成新流标签;根据所述新流标签选择第四VNFC的分发节点;
所述第一分发节点还用于:发送所述第二数据包和所述新流标签至所述第一处理节点选择的所述第四VNFC的分发节点。
10.如权利要求9所述的装置,其特征在于,所述第一处理节点具体用于:根据流分类粒度获取新的流信息,并通过对所述新的流信息进行哈希计算获得所述新流标签;或者根据隧道的特征获取隧道内的流信息,并通过对所述隧道内的流信息进行哈希计算获得所述新流标签。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510028080.6A CN105871675B (zh) | 2015-01-20 | 2015-01-20 | 一种数据处理方法及装置 |
PCT/CN2015/089390 WO2016115913A1 (zh) | 2015-01-20 | 2015-09-10 | 一种数据处理方法及装置 |
US15/654,355 US10484204B2 (en) | 2015-01-20 | 2017-07-19 | Data processing method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510028080.6A CN105871675B (zh) | 2015-01-20 | 2015-01-20 | 一种数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105871675A true CN105871675A (zh) | 2016-08-17 |
CN105871675B CN105871675B (zh) | 2019-05-03 |
Family
ID=56416381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510028080.6A Active CN105871675B (zh) | 2015-01-20 | 2015-01-20 | 一种数据处理方法及装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10484204B2 (zh) |
CN (1) | CN105871675B (zh) |
WO (1) | WO2016115913A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11533259B2 (en) * | 2019-07-24 | 2022-12-20 | Vmware, Inc. | Building a platform to scale control and data plane for virtual network functions |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101521623A (zh) * | 2008-02-25 | 2009-09-02 | 华为技术有限公司 | 一种标签分配方法、***和节点设备 |
CN102215156A (zh) * | 2010-04-02 | 2011-10-12 | 华为技术有限公司 | 实现流转发的方法、装置和*** |
CN103746892A (zh) * | 2013-11-27 | 2014-04-23 | 北京邮电大学 | 一种基于OpenFlow的SDN虚拟化平台上行信令流标签处理方法 |
US20140376555A1 (en) * | 2013-06-24 | 2014-12-25 | Electronics And Telecommunications Research Institute | Network function virtualization method and apparatus using the same |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9014191B1 (en) * | 2012-09-28 | 2015-04-21 | Google Inc. | Separating routing domains for virtualized networks when implementing a tunneling protocol |
CN103607349B (zh) * | 2013-11-14 | 2017-02-22 | 华为技术有限公司 | 虚拟网络中确定路由的方法及运营商边缘设备 |
US9807004B2 (en) * | 2014-04-01 | 2017-10-31 | Google Inc. | System and method for software defined routing of traffic within and between autonomous systems with enhanced flow routing, scalability and security |
US9407541B2 (en) * | 2014-04-24 | 2016-08-02 | International Business Machines Corporation | Propagating a flow policy by control packet in a software defined network (SDN) based network |
FR3020734A1 (fr) * | 2014-04-30 | 2015-11-06 | Orange | Procede de traitement d'un paquet de donnees relatif a un service |
CN104134122B (zh) * | 2014-07-30 | 2018-01-23 | 华为技术有限公司 | 一种许可证申请方法及装置 |
-
2015
- 2015-01-20 CN CN201510028080.6A patent/CN105871675B/zh active Active
- 2015-09-10 WO PCT/CN2015/089390 patent/WO2016115913A1/zh active Application Filing
-
2017
- 2017-07-19 US US15/654,355 patent/US10484204B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101521623A (zh) * | 2008-02-25 | 2009-09-02 | 华为技术有限公司 | 一种标签分配方法、***和节点设备 |
CN102215156A (zh) * | 2010-04-02 | 2011-10-12 | 华为技术有限公司 | 实现流转发的方法、装置和*** |
US20140376555A1 (en) * | 2013-06-24 | 2014-12-25 | Electronics And Telecommunications Research Institute | Network function virtualization method and apparatus using the same |
CN103746892A (zh) * | 2013-11-27 | 2014-04-23 | 北京邮电大学 | 一种基于OpenFlow的SDN虚拟化平台上行信令流标签处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105871675B (zh) | 2019-05-03 |
US10484204B2 (en) | 2019-11-19 |
US20170317851A1 (en) | 2017-11-02 |
WO2016115913A1 (zh) | 2016-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102423472B1 (ko) | 규칙 처리 방법 및 장치 | |
CN105706043B (zh) | 推进式链接的列表吞吐量 | |
CN106302206B (zh) | 报文的转发处理方法、装置及*** | |
CN102868631B (zh) | 负载分担方法和装置 | |
JP6872006B2 (ja) | 基地局装置及び無線区間のQoS制御方法 | |
CN103118149B (zh) | 同一租户内服务器间的通信控制方法及网络设备 | |
CN108616431A (zh) | 一种报文处理方法、装置、设备及机器可读存储介质 | |
US20210160353A1 (en) | Data sending method and device, data receiving method and device, and system | |
WO2015100530A1 (zh) | 一种业务路由的方法、设备及*** | |
CN106385344B (zh) | 一种报文监控方法和装置 | |
CN106685826A (zh) | 交换机堆叠***、从设备、交换芯片及处理协议报文方法 | |
CN110768884B (zh) | Vxlan报文封装及策略执行方法、设备、*** | |
CN108353022A (zh) | 一种数据报文的处理方法、装置及*** | |
CN107770807A (zh) | 一种数据处理方法及装置 | |
CN107360096A (zh) | 一种vxlan报文的转发方法及*** | |
CN106921578A (zh) | 一种转发表项的生成方法和装置 | |
US11166188B2 (en) | Method for transmitting information, method for receiving information, PDCP entity, and computer storage medium | |
CN108964964A (zh) | 一种网络拓扑显示方法和装置 | |
CN105591934A (zh) | 一种流表的管理方法和装置 | |
CN107154835A (zh) | 数据的发送方法及装置 | |
CN105871675A (zh) | 一种数据处理方法及装置 | |
CN104219160B (zh) | 生成输入参数的方法及设备 | |
CN108737239A (zh) | 一种报文转发方法及装置 | |
CN110945844A (zh) | 一种分发报文的方法及装置 | |
US10284426B2 (en) | Method and apparatus for processing service node ability, service classifier and service controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |