CN110138618B - 一种报文处理方法、装置及系统 - Google Patents
一种报文处理方法、装置及系统 Download PDFInfo
- Publication number
- CN110138618B CN110138618B CN201910444551.XA CN201910444551A CN110138618B CN 110138618 B CN110138618 B CN 110138618B CN 201910444551 A CN201910444551 A CN 201910444551A CN 110138618 B CN110138618 B CN 110138618B
- Authority
- CN
- China
- Prior art keywords
- processing
- network element
- flow
- context
- entry
- 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.)
- Active
Links
Images
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
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- 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/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种报文处理方法、装置及系统,涉及通信领域,能够实现通过分布式的转发面设备对报文的上下文处理,进而提高网络报文上下文处理的负载均衡性。该方法包括:入口网元接收控制网元发送的流表项;所述入口网元接收报文;所述入口网元对所述报文按照所述流表项进行匹配,获取本次执行上下文处理的报文;所述入口网元将所述报文转发至处理网元,以便所述处理网元对所述报文进行上下文处理,或者对所述用户进行上下文处理后转发至处理网元进行上下文处理。本发明的实施例用用于报文上下文处理。
Description
技术领域
本发明涉及通信领域,尤其涉及一种报文处理方法、装置及系统。
背景技术
在目前的通信网络中,存在着众多复杂的网络设备,如路由器、网管、交换机、防火墙和各类服务器等。这些设备分别支持各类的网络协议,从而实现网元间的互联互通。由于每台设备都具有自己独立的控制模块,因此这种分布式的控制模块部署使得网络的部署和管理非常复杂,为了实施某个控制参数修改或控制模块的升级,网络操作员必须对每台设备进行单独的操作。
为解决网元的部署灵活性和可管理性,业界提出了软件定义网络(Software-Defined Network,简称SDN)的概念。SDN通过将网元的控制逻辑和转发功能解耦,并将控制逻辑进行集中部署,使得对网络的控制和维护工作能够简单的通过对控制面设备的操作实现,从而提高网络的管理效率,并使得转发面设备更为简单化,有利于实现转发设备的高性能和可重用性。目前SDN思想正在被广泛应用到数据中心网络和电信网络中。
现有技术提供一种SDN控制和转发解耦的实现方法,网络由控制面和转发面设备组成,控制面通过下发流匹配信息和对应的上下文对转发面设备进行控制,实现对用户数据报文的处理。其中流匹配信息用于确定报文所属的业务流,上下文表示特定的处理功能。每个业务流可以对应或关联多个上下文,这些上下文之间相互独立,从而实现对流粒度报文的各类处理间的相对独立性,使得并行处理、处理能力扩展。
在现有技术中,由于转发面设备对所有报文按照上下文进行处理,因此对于转发面设备要求较高,转发面设备负载较大不利于网络整体性能的提升。
发明内容
本发明的实施实例提供一种报文处理方法,涉及通信领域,能够实现通过分布式的转发面设备分别对报文进行上下文处理,进而提高网络报文上下文处理的负载均衡性。
第一方面,提供一种报文处理系统,包括:
入口网元,用于从所述报文系统外部接收数据报文,根据入口流表项,发送所述数据报文至处理网元;所述入口流表项包括流描述信息和处理网元指示,所述流描述信息与所述数据报文匹配,所述处理网元指示用于指示在所述入口网元后的下一个处理所述数据报文的处理网元;
所述处理网元,用于从所述入口网元接收所述数据报文,根据上下文处理指示,对所述数据报文进行上下文处理;
其中,所述上下文处理指示用于指示对所述数据报文进行的上下文处理。
结合第一方面,在第一种可能的实现方式中,
所述入口流表项还包括封装流标识;其中,所述封装流标识用于标识所述数据报文所属的业务流;
所述入口网元还用于将所述封装流标识附加至所述数据报文;
所述处理网元具体用于从所述数据报文获取所述封装流标识,根据所述封装流标识获取处理流表项,根据所述处理流表项,对所述数据报文进行上下文处理;
其中,所述处理流表项包括匹配流标识和所述上下文处理指示,所述匹配流标识与所述封装流标识匹配。
结合第一种可能的实现方式,在第二种可能的实现方式中,
所述入口流表项还包括入口封装指示;其中,所述入口封装指示用于指示将所述封装流标识附加至所述数据报文;
所述入口网元具体用于根据所述入口封装指示将所述封装流标识附加至所述数据报文。
结合第一种或第二种可能的实现方式,在第三种可能的实现方式中,
所述处理网元还用于当处理后的所述数据报文未包含所述封装流标识时,将流标识附加至处理后的所述数据报文;其中所述流标识为所述封装流标识,或者当所述处理流表项还包括新的封装流标识时,所述流标识为所述新的封装流标识。
结合第三种可能的实现方式,在第四种可能的实现方式中,
所述处理流表项还包括处理封装指示;所述处理封装指示用于指示将所述流标识附加至处理后的所述数据报文;
所述处理网元还用于根据所述处理封装指示将所述流标识附加至处理后的所述数据报文。
结合第一种可能的实现方式至第四种可能的实现方式中任一一种可能的实现方式,在第五种可能的实现方式中,
当所述处理流表项不包括再处理网元指示时,所述处理网元还用于发送处理后的所述数据报文至所述报文处理系统外部;或者
当所述处理流表项还包括所述再处理网元指示时,所述处理网元还用于根据所述再处理网元指示,发送处理后的所述数据报文至下一个处理网元;
其中所述再处理网元指示用于指示在所述处理网元后的下一个处理所述数据报文的处理网元。
结合第一种可能的实现方式至第五种可能的实现方式中任一一种可能的实现方式,在第六种可能的实现方式中,
所述入口流表项和所述处理流表项是本地配置的或者是控制网元发送的;其中,所述控制网元用于控制所述入口网元和所述处理网元对所述数据报文的转发或处理。
结合第一方面,在第七种可能的实现方式中,
所述处理网元指示包括上下文处理指示列表,所述上下文处理指示列表包括所述上下文处理指示;
所述入口网元具体用于将所述上下文处理指示列表附加至所述数据报文,确定对所述数据报文进行的下一个上下文处理为所述上下文处理指示所指示的上下文处理,根据所述上下文处理指示和所述处理网元的对应关系,发送所述数据报文至所述处理网元;
所述处理网元具体用于从所述数据报文获取所述上下文处理指示列表,根据所述上下文处理指示对所述数据报文进行上下文处理。
结合第七种可能的实现方式,在第八种可能的实现方式中,
所述上下文处理指示列表还包括所述处理网元的寻址信息,所述上下文处理指示与所述处理网元的寻址信息对应;
所述入口网元具体用于,根据与所述上下文处理指示对应的所述处理网元的寻址信息,发送所述数据报文至所述处理网元。
结合第七种或第八种可能的实现方式,在第九种可能的实现方式中,
当所述上下文处理指示列表不包括其他上下文处理指示时,所述处理网元还用于发送处理后的所述数据报文至所述报文处理系统外部;或者,
当所述上下文处理指示列表还包括所述其他上下文处理指示时,所述处理网元还用于确定对所述数据报文进行的下一个上下文处理为所述其他上下文处理指示所指示的上下文处理,在所述处理网元对所述数据报文进行上下文处理之后,根据所述其他上下文处理指示和其他处理网元的对应关系,发送处理后的所述数据报文至所述其他处理网元;
其中,所述其他上下文处理指示对所述数据报文进行的上下文处理。
结合第九种可能的实现方式,在第十种可能的实现方式中,所述上下文处理指示列表还包括所述其他处理网元的寻址信息,所述其他上下文处理指示与所述其他处理网元的寻址信息对应;
所述处理网元具体用于,根据所述其他上下文处理指示对应的所述其他处理网元的寻址信息,发送处理后的所述数据报文至所述其他处理网元。
结合第七种至第十种可能的实现方式,在第十一种可能的实现方式中,所述入口流表项是本地配置的或者是控制网元发送的;其中,所述控制网元用于控制所述入口网元对所述数据报文的转发。
结合第一方面或者第一方面中任意一种可能的实现方式,在第十二种可能的实现方式中,
所述入口流表项还包括入口上下文处理指示;所述入口上下文处理指示用于指示对所述数据报文进行的上下文处理;
所述入口网元还用于根据所述入口上下文处理指示,对所述数据报文进行上下文处理。
第二方面,提供一种入口网元,包括:
接收单元,用于接收数据报文;
发送单元,用于根据入口流表项,发送所述接收单元接收的所述数据报文至处理网元,以使所述处理网元对所述数据报文进行上下文处理;
其中,所述入口流表项包括流描述信息和处理网元指示,所述流描述信息与所述数据报文匹配,所述处理网元指示用于指示在所述入口网元后的下一个处理所述数据报文的处理网元。
结合第二方面,在第一种可能的实现方式中,
所述入口流表项还包括封装流标识;其中,所述封装流标识用于标识所述数据报文所属的业务流;
所述入口网元还包括流标识封装单元,用于将所述封装流标识附加至所述数据报文,以使所述处理网元从所述数据报文获取所述封装流标识,根据所述封装流标识获取处理流表项,并根据所述处理流表项对所述数据报文进行上下文处理。
结合第一种可能的实现方式,在第二种可能的实现方式中,
所述入口流表项还包括入口封装指示,所述入口封装指示用于指示将所述封装流标识附加至所述数据报文;
所述流标识封装单元具体用于根据所述入口封装指示将所述封装流标识附加至所述数据报文。
结合第一种或第二种可能的实现方式,在第三种可能的实现方式中,
所述入口流表项是本地配置的或者是控制网元发送的;其中,所述控制网元用于控制所述入口网元对所述数据报文的转发或处理。
结合第二方面,在第四种可能的实现方式中,
所述处理网元指示包括上下文处理指示列表,所述上下文处理指示列表包括所述上下文处理指示;
所述入口网元还包括处理指示附加单元,用于将所述上下文处理指示列表附加至所述数据报文;
所述发送单元具体用于确定对所述数据报文进行的下一个上下文处理为所述上下文处理指示所指示的上下文处理,根据所述上下文处理指示和所述处理网元的对应关系,发送所述数据报文至所述处理网元。
结合第四种可能的实现方式,在第五种可能的实现方式中,
所述上下文处理指示列表还包括所述处理网元的寻址信息,所述上下文处理指示与所述处理网元的寻址信息对应;
所述发送单元具体用于根据与所述上下文处理指示对应的所述处理网元的寻址信息,发送所述数据报文至所述处理网元。
结合第四种或第五种可能的实现方式,在第六种可能的实现方式中,所述入口流表项是本地配置的或者是控制网元发送的;其中,所述控制网元用于控制所述入口网元对所述数据报文的转发。
结合第二方面或第二方面中任意一种可能的实现方式,在第七种可能的实现方式中,
所述入口流表项还包括入口上下文处理指示;所述入口上下文处理指示用于指示对所述数据报文进行的上下文处理;所述入口网元还包括:处理单元;
所述处理单元用于根据所述入口上下文处理指示,对所述数据报文进行上下文处理。
第三方面,提供一种处理网元,包括:
接收单元用于接收数据报文;
处理单元用于根据上下文处理指示,对所述接收单元接收的所述数据报文进行上下文处理;
其中,所述上下文处理指示用于指示对所述数据报文进行的上下文处理。
结合第三方面,在第一种可能的实现方式中,所述处理单元具体用于从所述数据报文获取封装流标识,根据所述封装流标识获取处理流表项,根据所述处理流表项,对所述数据报文进行上下文处理;
其中,所述封装流标识用于标识所述数据报文所属的业务流,所述处理流表项包括匹配流标识和所述上下文处理指示,所述匹配流标识与所述封装流标识匹配。
结合第一种可能的实现方式,在第二种可能的实现方式中,
当处理后的所述数据报文未包含所述封装流标识时,所述处理单元还用于将流标识附加至处理后的所述数据报文;其中所述流标识为所述封装流标识,或者当所述处理流表项还包括新的封装流标识时,所述流标识为所述新的封装流标识。
结合第二种可能的实现方式,在第三种可能的实现方式中,
所述处理流表项还包括处理封装指示;所述处理封装指示用于指示将所述流标识附加至处理后的所述数据报文;
所述处理单元具体用于根据所述处理封装指示将所述流标识附加至处理后的所述数据报文。
结合第一种至第三种可能的实现方式中任意一种可能的实现方式,在第四种可能的实现方式中,所述处理网元还包括:发送单元;
当所述处理流表项不包括再处理网元指示时,所述发送单元向外发送所述处理单元处理后的所述数据报文;或者
当所述处理流表项还包括所述再处理网元指示时,所述发送单元根据所述再处理网元指示,发送所述处理单元处理后的所述数据报文至下一个处理网元;
其中,所述再处理网元指示用于指示在所述处理网元后的下一个处理所述数据报文的处理网元。
结合第一种至第四种可能的实现方式中任意一种可能的实现方式,在第五种可能的实现方式中,
所述处理流表项是本地配置的或者是控制网元发送的;其中,所述控制网元用于控制所述处理网元对所述数据报文的转发或处理。
结合第三方面,在第六种可能的实现方式中,所述处理单元具体用于从所述数据报文获取上下文处理指示列表,所述上下文处理指示列表包括所述上下文处理指示,根据所述上下文处理指示对所述数据报文进行上下文处理,所述上下文处理指示列表包括所述上下文处理指示。
结合第六种可能的实现方式,在第七种可能的实现方式中,所述处理网元还包括:发送单元;
当所述上下文处理指示列表不包括其他上下文处理指示时,所述发送单元向外发送所述处理单元处理后的所述数据报文;
或者,
当所述上下文处理指示列表还包括所述其他上下文处理指示时,所述发送单元确定对所述数据报文进行的下一个上下文处理为所述其他上下文处理指示所指示的上下文处理,在所述处理单元对所述数据报文进行上下文处理之后,根据所述其他上下文处理指示和其他处理网元的对应关系,发送所述处理单元处理后的所述数据报文至所述其他处理网元;
其中,所述其他上下文处理指示对所述数据报文进行的上下文处理。
结合第七种可能的实现方式,在第八种可能的实现方式中,所述上下文处理指示列表还包括所述其他处理网元的寻址信息,所述其他上下文处理指示与所述其他处理网元的寻址信息对应;
所述发送单元具体用于根据所述其他上下文处理指示对应的所述其他处理网元的寻址信息,发送所述处理单元处理后的所述数据报文至所述其他处理网元。
第四方面,提供一种报文处理方法,包括:
入口网元接收数据报文;其中,所述入口网元存有入口流表项,所述入口流表项包括流描述信息和处理网元指示,所述流描述信息与所述数据报文匹配,所述处理网元指示用于指示在所述入口网元后的下一个处理所述数据报文的处理网元;
所述入口网元根据入口流表项,发送所述数据报文至所述处理网元,以使所述处理网元对所述数据报文进行上下文处理。
结合第四方面,在第一种可能的实现方式中,
所述入口流表项还包括封装流标识;其中,所述封装流标识用于标识所述数据报文所属的业务流;所述方法还包括:
所述入口网元将所述封装流标识附加至所述数据报文,以使所述处理网元从所述数据报文获取所述封装流标识,根据所述封装流标识获取处理流表项,并根据所述处理流表项对所述数据报文进行上下文处理。
结合第一种可能的实现方式,在第二种可能的实现方式中,
所述入口流表项还包括入口封装指示,所述入口封装指示用于指示将所述封装流标识附加至所述数据报文;所述入口网元将所述封装流标识附加至所述数据报文包括:
所述入口网元根据所述入口封装指示将所述封装流标识附加至所述数据报文。
结合第一种或第二种可能的实现方式,在第三种可能的实现方式中,
所述入口流表项是本地配置的或者是控制网元发送的;其中,所述控制网元用于控制所述入口网元对所述数据报文的转发或处理。
结合第四方面,在第四种可能的实现方式中,
所述处理网元指示包括上下文处理指示列表,所述上下文处理指示列表包括所述上下文处理指示;
所述方法还包括:所述入口网元将所述上下文处理指示列表附加至所述数据报文;
所述入口网元根据入口流表项,发送所述数据报文至处理网元包括:
所述入口网元确定对所述数据报文进行的下一个上下文处理为所述上下文处理指示所指示的上下文处理,根据所述上下文处理指示和所述处理网元的对应关系,发送所述数据报文至所述处理网元。
结合第四种可能的实现方式,在第五种可能的实现方式中,
所述上下文处理指示列表还包括所述处理网元的寻址信息,所述上下文处理指示与所述处理网元的寻址信息对应;
所述根据所述上下文处理指示和所述处理网元的对应关系,发送所述数据报文至所述处理网元包括:
所述入口网元根据与所述上下文处理指示对应的所述处理网元的寻址信息,发送所述数据报文至所述处理网元。
结合第四种或第五种可能的实现方式,在第六种可能的实现方式中,所述入口流表项是本地配置的或者是控制网元发送的;其中,所述控制网元用于控制所述入口网元对所述数据报文的转发。
结合第四方面或第四方面中任意一种可能的实现方式,在第七种可能的实现方式中,
所述入口流表项还包括入口上下文处理指示,所述入口上下文处理指示用于指示对所述数据报文进行的上下文处理;所述方法还包括:
所述入口网元根据所述入口上下文处理指示,对所述数据报文进行上下文处理。
第五方面,提供一种报文处理方法,包括:
处理网元接收数据报文;
根据上下文处理指示,对所述数据报文进行上下文处理;
其中,所述上下文处理指示用于指示对所述数据报文进行的上下文处理。
结合第五方面,在第一种可能的实现方式中,所述根据上下文处理指示,对所述数据报文进行上下文处理包括:
所述处理网元从所述数据报文获取封装流标识,根据所述封装流标识获取处理流表项,根据所述处理流表项,对所述数据报文进行上下文处理;
其中,所述封装流标识用于标识所述数据报文所属的业务流,所述处理流表项包括匹配流标识和所述上下文处理指示,所述匹配流标识与所述封装流标识匹配。
结合第一种可能的实现方式,在第二种可能的实现方式中,所述方法还包括:
当处理后的所述数据报文未包含所述封装流标识时,所述处理网元将流标识附加至处理后的所述数据报文;其中所述流标识为所述封装流标识,或者当所述处理流表项还包括新的封装流标识时,所述流标识为所述新的封装流标识。
结合第二种可能的实现方式,在第三种可能的实现方式中,
所述处理流表项还包括处理封装指示;所述处理封装指示用于指示将所述流标识附加至处理后的所述数据报文;所述方法还包括:
所述处理网元根据所述处理封装指示将所述流标识附加至处理后的所述数据报文。
结合第一种至第三种可能的实现方式中任意一种可能的实现方式,在第四种可能的实现方式中,所述方法还包括:
当所述处理流表项不包括再处理网元指示时,所述处理网元向外发送处理后的所述数据报文;或者
当所述处理流表项还包括所述再处理网元指示时,所述处理网元根据所述再处理网元指示,发送处理后的所述数据报文至下一个处理网元;
其中,所述再处理网元指示用于指示在所述处理网元后的下一个处理所述数据报文的处理网元。
结合第一种至第四种可能的实现方式中任意一种可能的实现方式,在第五种可能的实现方式中,
所述所述处理流表项是本地配置的或者是控制网元发送的;其中,所述控制网元用于控制所述处理网元对所述数据报文的转发或处理。
结合第五方面,在第六种可能的实现方式中,所述根据上下文处理指示,对所述数据报文进行上下文处理包括:
所述处理网元从所述数据报文获取上下文处理指示列表,所述上下文处理指示列表包括所述上下文处理指示,根据所述上下文处理指示对所述数据报文进行上下文处理。
结合第六种可能的实现方式,在第七种可能的实现方式中,所述方法还包括:
当所述上下文处理指示列表不包括其他上下文处理指示时,所述处理网元向外发送处理后的所述数据报文;
或者,
当所述上下文处理指示列表还包括所述其他上下文处理指示时,所述处理网元确定对所述数据报文进行的下一个上下文处理为所述其他上下文处理指示所指示的上下文处理,在所述处理网元对所述数据报文进行上下文处理之后,根据所述其他上下文处理指示和其他处理网元的对应关系,发送处理后的所述数据报文至所述其他处理网元;
其中,所述其他上下文处理指示对所述数据报文进行的上下文处理。
结合第七种可能的实现方式,在第八种可能的实现方式中,所述上下文处理指示列表还包括所述其他处理网元的寻址信息,所述其他上下文处理指示与所述其他处理网元的寻址信息对应;所述发送处理后的所述数据报文至所述其他处理网元包括:
所述处理网元根据所述其他上下文处理指示对应的所述其他处理网元的寻址信息,发送处理后的所述数据报文至所述其他处理网元。
上述技术方案提供的报文处理方法、装置及系统,通过将报文转发至不同的网元进行上下文处理,能够实现通过分布式的转发面设备分别对报文进行上下文处理,进而提高网络报文上下文处理的负载均衡性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。
图1为本发明的实施例提供的一种通信系统的结构示意图;
图2为本发明的实施例提供的一种报文处理方法的流程示意图;
图3为本发明的实施例提供的另一种报文处理方法的流程示意图;
图4为本发明的另一实施例提供的一种报文处理方法的流程示意图;
图5为本发明的又一实施例提供的一种报文处理方法的流程示意图;
图6为本发明的再一实施例提供的一种报文处理方法的流程示意图;
图7为本发明的另一实施例提供的一种报文处理方法的流程示意图;
图8为本发明的又一实施例提供的一种报文处理方法的流程示意图;
图9为本发明的再一实施例提供的一种报文处理方法的流程示意图;
图10为本发明的另一实施例提供的一种报文处理方法的流程示意图;
图11为本发明的又一实施例提供的一种报文处理方法的流程示意图;
图12为本发明的实施例提供的一种入口网元的结构示意图;
图13为本发明的实施例提供的一种处理网元的结构示意图;
图14为本发明的另一实施例提供的一种入口网元的结构示意图;
图15为本发明的另一实施例提供的一种处理网元的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
本发明的实施例应用于软件定义网络(Software-Defined Network,简称SDN),提供了一种报文处理系统,参照图1所示,包括:入口网元1和至少一个处理网元(2-1~2-k)。
入口网元1,用于从所述报文系统外部接收数据报文,根据入口流表项,发送所述数据报文至处理网元2-1(当然这里的处理网元可以为任意一个,此处以2-1为例);所述入口流表项包括流描述信息和处理网元指示,所述流描述信息与所述数据报文匹配,所述处理网元指示用于指示在所述入口网元1后的下一个处理所述数据报文的处理网元2-1。
所述处理网元2-1,用于从所述入口网元1接收所述数据报文,根据上下文处理指示,对所述数据报文进行上下文处理。
其中,所述上下文处理指示用于指示对所述数据报文进行的上下文处理。
本发明的实施例提供的报文处理系统通过将报文转发至不同的网元进行上下文处理,能够实现通过分布式的转发面设备分别对报文进行上下文处理,进而提高网络报文上下文处理的负载均衡性。
具体在本发明的实施例提供的一种实现方式中可选的,入口流表项还包括封装流标识;其中,封装流标识用于标识数据报文所属的业务流;
入口网元1还用于将所述封装流标识附加至所述数据报文;
处理网元2-1具体用于从所述数据报文获取所述封装流标识,根据所述封装流标识获取处理流表项,根据所述处理流表项,对所述数据报文进行上下文处理;
其中,所述处理流表项包括匹配流标识和所述上下文处理指示,所述匹配流标识与所述封装流标识匹配。
可选的,所述入口流表项还包括入口封装指示;其中,所述入口封装指示用于指示将所述封装流标识附加至所述数据报文;
对应的,所述入口网元1具体用于根据所述入口封装指示将所述封装流标识附加至所述数据报文。
可选的,所述处理网元2-1还用于当处理后的所述数据报文未包含所述封装流标识时,将流标识附加至处理后的所述数据报文;其中所述流标识为所述封装流标识,或者当所述处理流表项还包括新的封装流标识时,所述流标识为所述新的封装流标识。
可选的,所述处理流表项还包括处理封装指示;所述处理封装指示用于指示将所述流标识附加至处理后的所述数据报文;
对应的,处理网元2-1还用于根据所述处理封装指示将所述流标识附加至处理后的所述数据报文。
可选的,当所述处理流表项不包括再处理网元指示时,所述处理网元1-1还用于发送处理后的所述数据报文至所述报文处理系统外部;或者
当所述处理流表项还包括所述再处理网元指示时,所述处理网元2-1还用于根据所述再处理网元指示,发送处理后的所述数据报文至下一个处理网元2-2;
其中所述再处理网元指示用于指示在所述处理网元2-1后的下一个处理所述数据报文的处理网元。
可选的,该系统还包括控制网元3,所述入口流表项和所述处理流表项是本地配置的或者是控制网元3发送的;其中,所述控制网元3用于控制所述入口网元1和所述处理网元2-1对所述数据报文的转发或处理。
具体在本发明的实施例提供的另一种实现方式中,可选的,所述处理网元指示包括上下文处理指示列表,所述上下文处理指示列表包括所述上下文处理指示;
对应的,所述入口网元1具体用于将所述上下文处理指示列表附加至所述数据报文,确定对所述数据报文进行的下一个上下文处理为所述上下文处理指示所指示的上下文处理,根据所述上下文处理指示和所述处理网元2-1的对应关系,发送所述数据报文至所述处理网元2-1;
对应的,所述处理网元2-1具体用于从所述数据报文获取所述上下文处理指示列表,根据所述上下文处理指示对所述数据报文进行上下文处理。
可选的,所述上下文处理指示列表还包括所述处理网元2-1的寻址信息,所述上下文处理指示与所述处理网元2-1的寻址信息对应;
对应的,所述入口网元1具体用于,根据与所述上下文处理指示对应的所述处理网元2-1的寻址信息,发送所述数据报文至所述处理网元2-1。
可选的,当所述上下文处理指示列表不包括其他上下文处理指示时,所述处理网元2-1还用于发送处理后的所述数据报文至所述报文处理系统外部;或者,
当所述上下文处理指示列表还包括所述其他上下文处理指示时,所述处理网元2-1还用于确定对所述数据报文进行的下一个上下文处理为所述其他上下文处理指示所指示的上下文处理,在所述处理网元对所述数据报文进行上下文处理之后,根据所述其他上下文处理指示和其他处理网元的对应关系,发送处理后的所述数据报文至所述其他处理网元2-2;
其中,所述其他上下文处理指示对所述数据报文进行的上下文处理。
可选的,所述上下文处理指示列表还包括所述其他处理网元2-2的寻址信息,所述其他上下文处理指示与所述其他处理网元2-2的寻址信息对应;
对应的,所述处理网元2-1具体用于,根据所述其他上下文处理指示对应的所述其他处理网元2-2的寻址信息,发送处理后的所述数据报文至所述其他处理网元2-2。
可选的,所述入口流表项是本地配置的或者是控制网元2发送的;其中,所述控制网元2用于控制所述入口网元对所述数据报文的转发。
在上述的两种实现方式中,可选的,所述入口流表项还包括入口上下文处理指示;所述入口上下文处理指示用于指示对所述数据报文进行的上下文处理;
对应的,所述入口网元1还用于根据所述入口上下文处理指示,对所述数据报文进行上下文处理。
本发明的实施例提供的报文处理系统通过将报文转发至不同的网元进行上下文处理,能够实现通过分布式的转发面设备分别对报文进行上下文处理,进而提高网络报文上下文处理的负载均衡性。
本发明的实施例提供一种报文处理方法,通过上述报文处理系统实现,参照2所示,在入口网元侧包括以下步骤:
101、入口网元接收数据报文;
其中、步骤101中入口网元从报文系统外部接收数据报文,其中,所述入口网元存有入口流表项,所述入口流表项包括流描述信息和处理网元指示,所述流描述信息与所述数据报文匹配,所述处理网元指示用于指示在所述入口网元后的下一个处理所述数据报文的处理网元;
102、入口网元根据入口流表项,发送所述数据报文至所述处理网元,以使所述处理网元对所述数据报文进行上下文处理。
流描述信息可以是一种包括报文特征的信息,当数据报文符合流描述信息中包括的报文特征信息时,认为该数据报文与流描述信息匹配。
例如,流描述信息可以包括:源MAC(Media Access Control,介质访问控制)地址、目的MAC地址,源IP(Internet Protocol,网络协议)地址、目的IP地址,源端口号、目的端口号,MPLS Label(multi-protocol label switching Label,多协议标签交换标记),ToS(type of service,业务类型),IPv6 flow lable(Internet Protocol Version 6 flowlable,互联网协议版本6流标识),GRE key(generic route encapsulation key,通用路由封装密钥),GTP TEID(GPRS Tunnelling Protocol Tunnel end point ID,通用分组无线服务隧道协议隧道端点标识符)等一个或多个报文特征域的组合,用于确定报文是否属于本次处理的业务流。
本发明的实施例提供另一种报文处理方法,通过上述报文处理系统实现,参照3所示,在处理网元侧包括以下步骤:
201、处理网元接收数据报文;
从入口网元
202、所述处理网元根据上下文处理指示,对所述数据报文进行上下文处理;
其中,所述上下文处理指示用于指示对所述数据报文进行的上下文处理。
本发明的实施例提供的报文处理方法,通过将报文转发至不同的网元进行上下文处理,能够实现通过分布式的转发面设备分别对报文进行上下文处理,进而提高网络报文上下文处理的负载均衡性。
具体的参照图4所示,本发明的实施例提供的一种报文处理方法,通过上述报文处理系统实现,包括以下步骤:
301、入口网元本地配置的或者接收控制网元发送的入口流表项。
其中,控制网元用于控制入口网元和处理网元对数据报文的转发或处理。其中,入口流表项包括:流描述信息、处理网元指示、封装流标识和封装指示。流描述信息与数据报文匹配,处理网元指示用于指示在入口网元后的下一个处理数据报文的处理网元。例如,流描述信息可以包括:源MAC(Media Access Control,介质访问控制)地址、目的MAC地址,源IP(Internet Protocol,网络协议)地址、目的IP地址,源端口号、目的端口号,MPLS Label(multi-protocol label switching Label,多协议标签交换标记),ToS(type ofservice,业务类型),IPv6 flow lable(Internet Protocol Version 6 flow lable,互联网协议版本6流标识),GRE key(generic route encapsulation key,通用路由封装密钥),GTP TEID(GPRS Tunnelling Protocol Tunnel end point ID,通用分组无线服务隧道协议隧道端点标识符)等一个或多个报文特征域的组合,用于确定报文是否属于本次处理的业务流。
302、入口网元从报文系统外部接收数据报文。
通过步骤302入口网元仅对数据报文具备收发功能,在功能上入口网元与处理网元的分离部署的,进一步可选的,入口流表项还包括入口上下文处理指示;入口上下文处理指示用于指示对数据报文进行的上下文处理;在步骤302中还包括,入口网元根据入口上下文处理指示,对数据报文进行上下文处理。此时入口网元包括报文的上下文处理能力,即此时入口网元与处理网元的合一部署的,在入口网元功能上是包括一个处理网元的功能的。
303、入口网元根据入口封装指示将封装流标识附加至数据报文。
本发明中根据入口封装指示进行的封装指将需要附加的信息,如封装流标识添加到报文上,所述封装流标识用于标识所述数据报文所属的业务流。具体封装的方式可以采用如GRE(generic route encapsulation,通用路由封装),GTP(GPRS TunnellingProtocol,通用分组无线服务隧道协议),VLAN(VirtualLocalAreaNetwork,虚拟局域网),MPLS(Multi-ProtocolLabelSwitching,多协议标签交换)等协议封装方式,或采用其它标准或自定义格式,本发明不做限定。
304、入口网元根据入口流表项,发送数据报文至处理网元。
步骤304中,由于处理网元指示用于指示在入口网元后的下一个处理数据报文的处理网元,因此304具体包括入口网元根据处理网元指示,发送数据报文至处理网元,该处理网元指示可以为处理网元的MAC地址、IP地址、域名或自定义标识等转发信息。
305、处理网元从入口网元接收数据报文,从数据报文获取封装流标识,根据封装流标识获取处理流表项,根据处理流表项,对数据报文进行上下文处理。
其中,处理流表项包括匹配流标识和上下文处理指示,匹配流标识与封装流标识匹配。
可选的,在步骤305中还包括:当处理后的数据报文未包含封装流标识时,将流标识附加至处理后的数据报文;其中流标识为封装流标识,或者当处理流表项还包括新的封装流标识时,流标识为新的封装流标识。
可选的,处理流表项还包括处理封装指示;处理封装指示用于指示将流标识附加至处理后的所述数据报文;上述处理后的数据报文封装过程具体为处理网元根据处理封装指示将流标识附加至处理后的数据报文。
306、当处理流表项不包括再处理网元指示时,处理网元向外发送处理后的数据报文;或者,当处理流表项还包括再处理网元指示时,处理网元根据再处理网元指示,发送处理后的数据报文至下一个处理网元。
其中再处理网元指示用于指示在处理网元后的下一个处理数据报文的处理网元。
具体的由于步骤305中包含处理网元的对处理后的数据报文的封装过程,因此步骤306中无论是处理网元发送处理后的数据报文至报文处理系统外部或者处理网元根据再处理网元指示,发送处理后的数据报文至下一个处理网元,处理后的数据报文均是附加有流标识的。
本发明的实施例提供的报文处理方法,通过将报文转发至不同的网元进行上下文处理,能够实现通过分布式的转发面设备分别对报文进行上下文处理,进而提高网络报文上下文处理的负载均衡性。
具体的参照图5所示,本发明的实施例提供的一种报文处理方法,通过上述报文处理系统实现,包括以下步骤:
401、入口网元本地配置或者接收控制网元发送的入口流表项。
其中,控制网元用于控制入口网元和处理网元对所述数据报文的转发或处理。其中,入口流表项包括:流描述信息、处理网元指示。流描述信息与数据报文匹配,处理网元指示用于指示在入口网元后的下一个处理数据报文的处理网元。例如,流描述信息可以包括:源MAC(Media Access Control,介质访问控制)地址、目的MAC地址,源IP(InternetProtocol,网络协议)地址、目的IP地址,源端口号、目的端口号,MPLS Label(multi-protocol label switching Label,多协议标签交换标记),ToS(type of service,业务类型),IPv6 flow lable(Internet Protocol Version 6 flow lable,互联网协议版本6流标识),GRE key(generic route encapsulation key,通用路由封装密钥),GTP TEID(GPRSTunnelling Protocol Tunnel end point ID,通用分组无线服务隧道协议隧道端点标识符)等一个或多个报文特征域的组合,用于确定报文是否属于本次处理的业务流。处理网元指示包括上下文处理指示列表,上下文处理指示列表包括上下文处理指示。
402、入口网元接收数据报文。
通过步骤402入口网元仅对数据报文具备收发功能,在功能上入口网元与处理网元的分离部署的,进一步可选的,入口流表项还包括入口上下文处理指示;入口上下文处理指示用于指示对数据报文进行的上下文处理;在步骤402中还包括,入口网元根据入口上下文处理指示,对数据报文进行上下文处理。此时入口网元包括报文的上下文处理能力,即此时入口网元与处理网元的合一部署的,在入口网元功能上是包括一个处理网元的功能的。
403、入口网元将上下文处理指示列表附加至数据报文,确定对数据报文进行的下一个上下文处理为上下文处理指示所指示的上下文处理,根据上下文处理指示和处理网元的对应关系,发送数据报文至处理网元。
可选的,上下文处理指示列表还包括处理网元的寻址信息,上下文处理指示与处理网元的寻址信息对应。
步骤403中根据上下文处理指示和处理网元的对应关系,发送数据报文至处理网元具体为:入口网元根据与上下文处理指示对应的处理网元的寻址信息,发送数据报文至处理网元。
404、处理网元从入口网元接收数据报文,从数据报文获取上下文处理指示列表,根据上下文处理指示对数据报文进行上下文处理。
405、当上下文处理指示列表不包括其他上下文处理指示时,处理网元向外发送处理后的数据报文。
406、当上下文处理指示列表还包括其他上下文处理指示时,处理网元确定对数据报文进行的下一个上下文处理为其他上下文处理指示所指示的上下文处理,在处理网元对数据报文进行上下文处理之后,根据其他上下文处理指示和其他处理网元的对应关系,发送处理后的数据报文至其他处理网元。
其中,其他上下文处理指示对数据报文进行的上下文处理。
可选的,上下文处理指示列表还包括其他处理网元的寻址信息,其他上下文处理指示与所述其他处理网元的寻址信息对应。
在步骤406中根据其他上下文处理指示和其他处理网元的对应关系,发送处理后的数据报文至其他处理网元具体为,处理网元根据其他上下文处理指示对应的其他处理网元的寻址信息,发送处理后的数据报文至所述其他处理网元。
本发明的实施例提供的报文处理方法,通过将报文转发至不同的网元进行上下文处理,能够实现通过分布式的转发面设备分别对报文进行上下文处理,进而提高网络报文上下文处理的负载均衡性。
具体的以入口网元和处理网元分开部署(即入口网元不包括对报文的上下文处理能力)为例,参照图6所示,以报文经过入口网元和三个处理网元的处理为例,其中入口网元完成流匹配,三个处理网元分别对报文执行病毒防火墙、DPI(Deep Packet Inspection,深层报文检测)解析和QoS(Quality of Service,服务质量)控制功能,包括以下步骤:
501、控制网元将入口流表项通过流表项安装消息下发到转发面入口网元上。入口流表项由流描述信息、封装流标识FID1及处理网元指示组成,其中处理网元指示以转发信息FWD info1为例,该实施例中流描述信息以流匹配规则(flow match rule)为例进行说明。其中步骤501中以控制网元发送入口流表项为例,当然入口流表项亦可本地配置。
其中,流匹配规则可以采用如源、目的MAC地址,源、目的IP地址,源、目的端口号,MPLS Label,ToS,IPv6 flow lable,GRE key,GTP TEID等一个或多个报文特征域的组合,用于确定报文是否属于本次处理的同一业务流。转发信息包括用于确定待转发的处理网元的信息,如处理网元的MAC地址、IP地址、域名或自定义标识等。
以下述入口流表项为例:
<Flow entry>:={flow match rule,FID1,Fwd info1(IP=ip1)}
502、控制网元将处理流表项通过处理流表项安装消息下发到一个或多个转发面处理网元上。其中步骤502中以控制网元发送处理流表项为例,当然处理流表项亦可本地配置。
处理流表项包括匹配流标识、上下文处理指示,当需要处理网元具备将数据报文转发至其他处理网元进行上下文处理时处理流表项还包括封装流标识及转发信息,这里转发信息为再处理网元指示。
例如:
发送给处理网元1的处理流表项如下:
<Flow entry>:={FID1,[CID 1],FID2,Fwd info2(IP=ip2)}
发送给处理网元2的处理流表项如下:
<Flow entry>:={FID2,[CID 3],FID3,Fwd info3(IP=ip3)}
发送给处理网元3的处理流表项如下:
<Flow entry>:={FID3,[CID 1,CID 4]}
503、当数据报文到达入口网元后,入口网元将数据报文与各入口流表项的流匹配规则进行匹配。根据能匹配该数据报文的入口流表项,入口网元将对应的封装流标识附加到数据报文上。所述附加可以采用多种方式实现,如将流标识作为MPLS label、GRE Key、GTP TEID等,对报文进行对应的协议封装,本发明不做限定。本例中以MPLS label为例,入口网元对数据报文执行MPLS封装,添加label为FID1的MPLS报文头。入口网元根据转发信息将封装后的报文发送到IP地址为ip1的处理网元1进行上下文处理。
其中入口流表项中还可以包括封装指示,步骤503中入口网元具体根据入口封装指示将封装流标识附加至数据报文。
504、处理网元1根据数据报文的封装流标识(本例中即MPLS lable),查找具有相同匹配流标识的处理流表项。并根据处理流表项的内容对解除MPLS封装的数据报文执行CID1对应的本地上下文处理,例如,CID1对应的上下文处理指示为执行木马病毒过滤,则处理网元1对报文执行木马病毒检测和过滤功能。处理网元完成本地上下文指示对应的上下文处理后,将FID2作为MPLSlabel对报文执行MPLS封装,并根据转发信息将封装报文发送到IP地址为ip2的处理网元2进行上下文处理,当然这里的上下文指示也可以可以包括多个上下文处理。
505、处理网元2根据数据报文的封装流标识,查找FID2对应的处理流表项,并根据处理流表项的内容对报文执行CID3对应的本地上下文处理,例如,CID3对应的上下文处理指示为P2P深层报文解析,则处理网元2对报文执行P2P业务识别,并可选地将P2P业务识别的结果以元数据的形式附加到报文上。处理网元2根据转发信息将报文发送到IP地址为ip3的处理网元3进行下一步上下文处理。
506、处理网元3根据数据报文的封装流标识,查找FID3对应的处理流表项,根据FID3对应的处理流表项,对解除MPLS封装的报文执行CID1和CID4对应的本地上下文处理,如CID1对应最大带宽2Mbps控制、CID4对应最高优先级转发。完成上述QoS控制后,由于处理流表项没有携带转发信息和封装流标识,因此处理网元3直接将处理完成的报文按照正常的层2层3规则转发到外部网络中。
需要注意的是,图6数据报文在通过不同处理网元的上下文处理后,具体内容可能会发生变化。在本实施例或其它实施例中,各个处理网元之间没有直接的关联关系,控制网元通过转发信息的控制,可以使同一个处理网元在处理过程中多次出现并且每次针对不同报文可以实现不同的上下文处理流程,本发明不做限定。
通过以上入口网元和多个处理网元的上下文处理过程,转发面网元共同完成了控制网元对该业务流指定的各种处理。通过引入流标识,使得报文只需要在入口网元执行一次报文匹配,后续处理网元就可以获取该报文所属的流信息,元数据使得各分布部署的处理网元间可以共享处理特定的信息。
可选的,以入口网元包括上下文处理功能为例(即入口网元和处理网元合一部署),参照图7所示,以报文经过入口网元和两个处理网元为例,其中入口网元完成流匹配和准入控制,两个处理网元分别对报文执行QoS控制功能和计费功能,包括以下步骤:
601、控制网元将入口流表项通过入口流表项安装消息下发到转发面入口网元上。其中步骤601中以控制网元发送入口流表项为例,当然入口流表项亦可本地配置。
入口流表项由流描述信息、入口上下文处理指示、封装流标识FID1及处理网元指示组成,其中处理网元指示以转发信息FWD info1为例,该实施例中流描述信息以流匹配规则(flow match rule)为例进行说明。其中步骤601中以控制网元发送入口流表项为例,当然入口流表项亦可本地配置。入口上下文处理指示,该入口上下文处理指示可以为入口网元本地上下文处理列表Local CID list1,该列表中包含多个上下文处理。
其中的流匹配规则如上一实施例所述,可以采用报文特征域(如IP五元组、GTPTEID等)组合,用于确定报文是否属于该业务流。转发信息包括用于确定下一网元的信息,如网元的MAC地址、IP地址、域名或自定义标识等。本实施例以如下入口流表项为例:
<Flow entry>:={flow match rule,[CID 2],FID1,Fwd info1(ID=id1)}
602、控制网元将处理流表项通过处理流表项安装消息下发到用于处理该业务流的两个转发面处理网元上。其中步骤602中以控制网元发送处理流表项为例,当然处理流表项亦可本地配置。
处理流表项由匹配流标识、上下文处理指示,当需要处理网元具备将数据报文转发至其他处理网元进行上下文处理时处理流表项还包括封装流标识及转发信息,这里转发信息为再处理网元指示。例如:
发送给处理网元1的处理流表项如下:
<Flow entry>:={FID1,[CID 1,CID 4],FID2,Fwd info2(ID=id2)}
发送给处理网元2的处理流表项如下:
<Flow entry>:={FID2,[CID 2,CID 3],NO_FID}
其中NO_FID作为处理封装指示,用于处理指示处理网元2不需要对数据报文继续执行流标识封装。在本实施例或其它实施例中,处理封装指示也可以采用特定FID值或不携带FID字段等方式来表示,本发明不做限定。
603、当数据报文到达入口网元后,入口网元执行流表项匹配。由于本例中入口网元与处理网元合一部署,入口流表项中还包含有本地上下文处理列表,因此入口网元需要根据该数据报文所匹配的入口流表项,执行该流表项的本地上下文列表对应的上下文处理。如入口网元的CID2对应的上下文为对数据报文执行用户IP准入控制,则入口网元根据数据报文的源、目的IP地址判断该报文是否准许通过。对通过上下文处理的数据报文,入口网元将对应的封装流标识附加到数据报文上。本例中以采用GTP协议封装为例,入口网元对数据报文执行GTP封装,添加TEID(Tunnel Endpoint ID隧道端点标识符)为FID1的GTP-U报文头。入口网元根据转发信息将封装后的数据报文发送到网元标识为id1的处理网元1进行上下文处理。入口网元可选地可以通过本地配置或DNS(Domain Name System,域名系统)等方式获得该网元标识对应的网元地址。
604、处理网元1根据数据报文的封装流标识,查找FID1对应的处理流表项,根据FID1对应的处理流表项,对解除GTP封装后的数据报文执行CID1和CID4对应的本地上下文处理,如CID1对应最大带宽2Mbps控制、CID4对应最高优先级转发。完成上述QoS控制后,处理网元1对用户执行GTP封装,附加TEID为FID2的GTP-U报文头。处理网元1根据转发信息将封装后的数据报文发送到网元标识为id2的处理网元2进行上下文处理。
605、处理网元2根据数据报文的封装流标识,查找FID2对应的处理流表项,根据FID2对应的处理流表项,对解除GTP封装后的数据报文执行CID2和CID3对应的本地上下文处理,如CID2对应在线计费、CID3对应离线话单生成。完成上述两项计费上下文处理后,由于流表项的处理封装指示为NO_FID,因此处理网元2直接将处理完成的报文转发到外部网络中,此时处理流表项不包括再处理网元指示。
可选的,本发明的实施例还提供了一种通过openflow(开放流,简称OF)协议的实现方式,通过对openflow协议的扩展实现控制网元对各转发器上入口流表项及处理流表项的处理,此时在openflow协议下,以OF控制网元替代上述实施例中的控制网元,以OF转发器实现上述的入口网元及处理网元的功能,参照图8所示,具体的流程如下:
701、OF控制网元通过Flow_mod消息将入口流表项下发到OF转发器1。下发到OF转发器1的Flow_mod消息与入口流表项相同由流描述信息、封装流标识FID1及处理网元指示组成,其中处理网元指示以转发信息FWD info1为例,该实施例中流描述信息以流匹配规则(flow match rule)为例进行说明。参照上述实施例,在本实施例中由于采用转发器实现处理网元或入口网元的功能,相应的处理网元指示在本实施例中用于指示在OF转发器1后的下一个处理所述数据报文的OF转发器,其中步骤701中以OF控制网元发送入口流表项为例,当然入口流表项亦可本地配置。
其中的流匹配信息如前述实施例所述,可以采用报文特征域(如IP五元组、GTPTEID等)组合,用于确定报文是否属于该业务流。封装流标识FID1作为Push_Tag动作的参数提供,转发信息作为Output动作的参数提供。本实施例以如下流表项为例:
<Flow_mod>:={ofp_match(n-Tuple),ofp_instructions[push_tag(FID1),Output(2)]}
702、OF控制网元将处理流表项通过Flow_mod消息下发到用于处理该业务流的两个OF转发器上。其中步骤702中以OF控制网元发送处理流表项为例,当然处理流表项亦可本地配置。
下发到OF转发器1之外其他OF转发器的Flow_mod消息与处理流表项相同包括匹配流标识、上下文处理指示,当需要其他OF转发器具备将数据报文转发至另外的OF转发器进行上下文处理时Flow_mod消息还包括封装流标识及转发信息,这里转发信息为再处理网元指示。
例如:
发送给OF转发器2的流表项如下:
<Flow_mod>:={ofp_match(FID1),
ofp_instructions[Context[CID1],Output(1)]}
发送给OF转发器3的流表项如下:
<Flow_mod>:={ofp_match(FID1),
ofp_instructions[Context[CID1,CID2],Pop_Tag(),Output(2)]}
其中Context表示执行相应上下文处理的动作。
Push_Tag/Pop_Tag表示对报文执行封装和解封装。本例中以MPLS标签为例,即Push_Tag动作为将FID作为MPLS标签封装到报文上,Pop_Tag动作为将MPLS标签从报文去除。同样FID的封装也可以采用GRE、GTP或其它协议形式,本发明不做限定。
Output动作为将报文从相应的端口发送出去。在本实施例或其它实施例中,封装指示也可以采用特定FID值或不携带FID字段等方式来表示,本发明不做限定。
703、当数据报文到达OF转发器1后,OF转发器1执行流表项匹配,并通过执行Push_Tag(FID1)操作,将对应的封装流标识增加到数据报文上。本例中以采用MPLS协议封装为例,OF转发器1将MPLS标签为FID1的MPLS头添加到报文,并根据转发信息(Output动作的参数)将数据报文通过端口2发送到OF转发器2进行上下文处理。
704、OF转发器2根据数据报文的MPLS域进行流表项匹配,根据FID1对应的处理流表项,对数据报文执行CID1对应的本地上下文处理,如CID1对应IPv4报文重组上下文操作。OF转发器2将完成IPv4报文重组的数据报文通过自己的端口1发送到OF转发器3进行上下文处理。
705、OF转发器3根据数据报文的MPLS标签对数据报文执行流表匹配,根据FID1对应的处理流表项,对数据报文执行CID1和CID2对应的本地上下文处理,如CID1对应最大带宽限制(2Mbps)上下文操作、CID2对应离线计费上下文操作。OF转发器3在完成上述最大带宽限制和离线计费操作后,根据Pop_Tag动作将数据报文所包含的FID信息(本例中即MPLS标签)去除,并根据Output动作通过自己的端口2将数据报文转发到外部网络中。
本实施例中,通过下发不同的流规则,OF转发器1也可以在转发报文到其它处理网元之前执行部分上下文处理,如步骤701中,下发流规则:
<Flow_mod>:={ofp_match(n-Tuple),ofp_instructions[Context(CID1),push_tag(FID1),Output(2)]}
则OF转发器1在执行完CID1对应的上下文处理后,再对处理后报文执行流标识封装及转发。
可选的,具体的以入口网元和处理网元分开部署为例,参照图9所示,以报文经过入口网元和两个处理网元为例,其中,入口网元完成流匹配,两个处理网元分别对报文执行QoS/计费控制和GTP封装/解封装功能。各网元根据上下文列表中携带的处理网元寻址信息确定下一处理网元,包括以下步骤:
801、控制网元将入口流表项通过入口流表项安装消息下发到转发面入口网元上。
其中步骤801中以控制网元发送入口流表项为例,当然入口流表项亦可本地配置,入口流表项包括:流描述信息、处理网元指示处理网元指示包括上下文处理指示列表CIDlist,上下文处理指示列表包括上下文处理指示,处理网元的寻址信息。
流描述信息以流匹配规则(flow match rule)为例,参照以上各实施例的描述这里不再赘述,用于确定报文是否属于该业务流。上下文处理指示列表CID list包括转发面需要对该报文执行的所有上下文处理的上下文处理指示,及各上下文处理指示所对应的处理网元的寻址信息(如IP地址、标识或域名等)。以如下流表项为例:
<Flow entry>:={flow match rule,
[NID1,CID1],[NID2,(CID3,CID4)],[NID3,CID5]}
本实施例中以如下具体上下文处理为例:CID1对应GTP解封装、CID3对应2Mbps带宽控制、CID4对应离线计费、CID5对应GTP封装(src_ip=ip1,dst_ip=ip2,TEID=0x0004)。
本实施例中,各转发面网元根据上下文处理指示列表CID list中的NID确定下一网元,本例中NID采用IP地址,同样可以采用其他标识类型如域名、自定义标识等,本发明不做限定。
802、当数据报文到达入口网元后,入口网元执行流表项匹配。入口网元将匹配该数据报文的流表项中对应的上下文处理指示列表添加到报文上,并根据转发网元列表的顺序,将报文发送到NID1对应的处理网元。具体的报文封装格式可以采用自定义信元的形式,本发明不做限定,一种可能的报文格式如下:
<interim_packet>:={[NID1,CID1],[NID2,(CID3,CID4)],[NID3,CID5],[userpacket]}
803、处理网元1按照上述数据报文中上下文处理指示列表,按照列表顺序,对其中的报文执行自己能够处理的上下文处理指示,直至上下文处理指示列表中下一个上下文处理指示对应的上下文处理不属于本网元处理为止。
本实施例中,处理网元1根据CID1对应的上下文处理指示对报文执行GTP解封装操作。由于列表中的下一个上下文处理指示CID3对应的上下文处理不属于入口网元,因此入口网元将剩余的上下文处理指示列表及完成解封装处理后的数据报文,发送到下一个上下文处理对应的处理网元标识NID2对应的处理网元。一种可能的报文格式如下:
<interim_packet>:={[NID2,(CID3,CID4)],[NID3,CID5],[user packet]}
804、处理网元2按照上述数据报文中携带的上下文处理列表,对报文顺序执行各上下文处理,直至列表中下一个上下文处理指示对应的上下文不属于本网元处理为止。
本实施例中,处理网元2根据CID3对应的上下文处理对报文执行最大带宽2Mbps的控制,并对通过带宽控制的数据报文根据CID4对应的上下文处理执行离线计费。由于上下文处理指示列表中的下一个上下文处理指示CID5对应的上下文处理不属于处理网元2,因此处理网元2将剩余的上下文处理指示列表及完成离线计费后的数据报文,发送到下一个上下文处理对应的处理网元标识NID1对应的处理网元。具体的报文封装格式可以采用自定义信元的形式,本发明不做限定,一种可能的报文格式如下:
<interim_packet>:={[NID1,CID5],[user packet]}
805、处理网元1根据上述消息中携带的上下文处理指示列表,对其中的数据报文user packet执行CID5对应的GTP封装上下文处理,即将该上下文处理指示指定的GTP-U报文头封装到该报文上。完成上述封装上下文处理后,由于上下文处理指示列表中的上下文处理已经全部执行完毕,因此处理网元2直接将处理完成的报文转发到外部网络中。
通过以上入口网元和多个处理网元的处理,报文完成控制网元指定的一系列上下文处理,并最终被发送到外部网络中。
需要注意的是,图9中统一采用user packet指代待处理的报文,采用CID list表示上下文处理指示,采用NE list表示处理网元列表。但在通过不同处理网元的上下文处理后,如步骤中所述,具体user packet和CID list、NE list的内容可能会发生变化。
可选的,以入口网元包括上下文处理功能为例(即入口网元和处理网元合一部署),参照图10所示,以报文经过入口网元和两个处理网元为例,其中,入口网元完成流匹配及GTP解封装,两个处理网元分别对报文执行QoS/计费控制和GTP封装功能。各网元根据CID列表确定下一处理网元,包括以下步骤:
901、控制网元将入口流表项通过入口流表项安装消息下发到转发面入口网元上。
其中步骤801中以控制网元发送入口流表项为例,当然入口流表项亦可本地配置,入口流表项包括:流描述信息、处理网元指示处理网元指示包括上下文处理指示列表CIDlist,上下文处理指示列表包括上下文处理指示,处理网元的寻址信息。
流描述信息以流匹配规则(flow match rule)为例,参照以上各实施例的描述这里不再赘述,以如下流表项为例:
<Flow entry>:={flow match rule,[CID1,CID3,CID4,CID5]}
本实施例中以如下具体上下文处理为例:CID1对应GTP解封装、CID3对应2Mbps带宽控制、CID4对应离线计费、CID5对应GTP封装(src_ip=ip1,dst_ip=ip2,TEID=0x0002)。
本实施例中,各转发面网元根据CID确定下一网元,因此CID为处理网元的寻址信息。几种可能的实现方式包括:CID部分字段为处理网元标识信息(如IP地址、域名、名称标识等);或各转发网元可以根据本地配置信息或计算规则,将CID映射为对应的网元标识信息;或各转发面网元通过能够将CID映射为网元标识的中继网元转发到对应处理网元等方式,本发明不做限定。
902、当数据报文到达入口网元后,入口网元执行流表项匹配。由于本例中入口网元与处理网元合一部署,因此入口流表项还包括入口上下文处理指示,该入口上下文处理指示可以包含在上下文处理指示列表中,此时入口网元按照上下文处理指示列表的顺序,对执行本地可可执行的上下文处理,直至上下文处理指示列表中下一个上下文处理指示对应的上下文处理不属于本网元为止。
本实施例中,入口网元根据CID1对应的上下文处理对报文执行GTP解封装操作。由于列表中的下一个上下文处理指示CID3对应的上下文处理不属于入口网元,因此入口网元将剩余的上下文处理指示列表附加到解封装后的数据报文上,发送到CID2对应的处理网元1。具体的报文封装格式可以采用自定义信元的形式,本发明不做限定,一种可能的报文格式如下:
<interim_packet>:={[CID3,CID4,CID5],[user packet]}
903、处理网元1按照数据报文中携带的上下文处理指示列表的顺序,对各上下文执行顺序处理,直至上下文处理指示列表中下一个上下文处理指示对应的上下文处理不属于本网元处理为止。
本实施例中,处理网元1根据CID3对应的上下文处理对报文执行最大带宽2Mbps的控制,并对通过带宽控制的报文根据CID4对应的上下文执行离线计费。由于上下文处理指示列表中的下一个上下文处理指示CID5对应的上下文处理不属于处理网元1,因此处理网元1将包含有剩余的上下文处理指示列表的数据报文,继续转发到CID5对应的处理网元。具体的报文封装格式可以采用自定义信元的形式,本发明不做限定,一种可能的报文格式如下:
<interim_packet>:={[CID5],[user packet]}
904、处理网元2根据上述消息中携带的上下文处理指示列表,执行CID5对应的GTP封装上下文处理,将上下文处理指定的GTP-U报文头封装到该数据报文上。完成上述封装上下文处理后,由于上下文列表中的上下文已经全部执行完毕,因此处理网元2直接将处理完成的报文转发到外部网络中。
通过以上入口网元和多个处理网元的处理,数据报文完成控制网元指定的一系列上下文处理,并最终被发送到外部网络中。本实施例中,各网元根据CID确定下一地址,因此根据不同的CID列表,报文可能会重复经过某一个处理网元,本发明不做限定。
可选的,本发明的实施例还提供了一种通过openflow(简称OF)协议的实现方式,通过对openflow协议的扩展实现控制网元对各转发器上入口流表项及处理流表项的处理,此时在openflow协议下,以OF控制网元替代上述实施例中的控制网元,以OF转发器实现上述的入口网元及处理网元的功能,参照图11,具体的流程如下:
1001、OF控制网元通过Flow_mod消息将入口流表项下发到OF转发器1。流表项由流描述信息flow match rule、上下文标识列表组成。其中上下文标识列表可选地还包括执行各上下文的转发器标识。
下发到OF转发器1的Flow_mod消息与入口流表项相同包括:流描述信息、处理网元指示处理网元指示包括上下文处理指示列表CID list,上下文处理指示列表包括上下文处理指示,OF转发器的寻址信息。相应的处理网元指示在本实施例中用于指示在OF转发器1后的下一个处理所述数据报文的OF转发器,其中步骤1001中以OF控制网元发送入口流表项为例,当然入口流表项亦可本地配置。
该实施例中流描述信息以流匹配规则(flow match rule)为例进行说明,用于确定报文是否属于该业务流。上下文处理指示列表作为Push_CID动作的参数提供。本实施例以如下流表项为例:
<Flow_mod>:={ofp_match(n-Tuple),ofp_instructions[push_cid([NID1,CID1],[NID2,CID1,CID3]),Output(2)]}
本实施例中,采用网元所在端口号作为NID,同样NID可以采用网元IP地址、MAC地址、域名等表示,或由转发器根据CID的部分或全部映射获得寻址信息。本发明不做限定。
1002、当数据报文到达OF转发器1后,OF转发器1执行流表项匹配,并通过执行push_cid([NID1,CID1],[NID2,CID1,CID3])操作,将该报文相应的上下文处理指示列表附加到报文上。附加方式可以采用自定义信元来实现,本发明不做限定。OF转发器1根据寻址信息(Output动作的参数)或第一个上下文处理指示对应的OF转发器的标识NID,将数据报文通过对应的端口发送到OF转发器2进行上下文处理。
1003、OF转发器2根据报文携带的上下文处理指示列表,对数据报文执行本地可执行的上下文处理。本例中,如CID1对应DPI解析,则OF转发器2对数据报文执行DPI解析,并可选地将解析结果以metadata(元数据)的方式附加到报文上。OF转发器2将已执行的上下文处理指示从数据报文携带的上下文处理指示列表中删除,并根据后续上下文处理指示中的寻址信息,将报文发送到NID2对应的OF转发器3进行上下文处理。
此处,当上下文处理指示列表中不包含单独的转发器标识时,OF转发器2也可以根据后续CID的标识映射出下一处理器的寻址信息,本发明不做限定。
1004、OF转发器3根据报文携带的上下文处理指示列表,对报文执行CID1和CID3对应的上下文处理,如CID1对应最大带宽限制(2Mbps)上下文操作、CID3对应转发(端口1)上下文处理。OF转发器3将上述上下文处理指示从数据报文携带的上下文处理指示列表中删除,并完成上述最大带宽限制和转发操作,将处理完成的数据报文转发到外部网络中。
本实施例中,通过下发不同的流规则,OF转发器1也可以在转发数据报文到其它OF转发器之前执行部分上下文处理。如步骤1001中,下发Flow_mod消息:
<Flow_mod>:={ofp_match(n-Tuple),ofp_instructions[Context(CID1),push_cid([NID1,CID1],[NID2,CID1,CID3]),Output(2)]}
则OF转发器1在对接收的数据报文执行完CID0对应的上下文处理后,再对处理后数据报文附加CID列表及转发。
对于上述基于OF的方案,使用ofp_instruction指示转发器执行的动作,如上下文处理或流标识封装解封装,转发等。同样也可以采用openflow的动作列表或逻辑端口/虚端口机制实现上述处理,本文不再赘述。
本发明的实施例提供的报文处理方法,通过将报文转发至不同的网元进行上下文处理,能够实现通过分布式的转发面设备对报文的上下文处理,进而提高网络报文上下文处理的负载均衡性。
参照图12所示,本发明的实施例提供一种入口网元,用于实现上述的报文处理方法,该入口网元,包括:
接收单元11,用于接收数据报文;
发送单元12,用于根据入口流表项,发送所述接收单元11接收的所述数据报文至处理网元,以使所述处理网元对所述数据报文进行上下文处理;
其中,所述入口流表项包括流描述信息和处理网元指示,所述流描述信息与所述数据报文匹配,所述处理网元指示用于指示在所述入口网元后的下一个处理所述数据报文的处理网元。
可选的,所述入口流表项还包括封装流标识;其中,所述封装流标识用于标识所述数据报文所属的业务流;
所述入口网元还包括流标识封装单元13,用于将所述封装流标识附加至所述数据报文,以使所述处理网元从所述数据报文获取所述封装流标识,根据所述封装流标识获取处理流表项,并根据所述处理流表项对所述数据报文进行上下文处理。
可选的,所述入口流表项还包括入口封装指示,所述入口封装指示用于指示将所述封装流标识附加至所述数据报文;
所述流标识封装单元13具体用于根据所述入口封装指示将所述封装流标识附加至所述数据报文。
可选的,所述入口流表项是本地配置的或者是控制网元发送的;其中,所述控制网元用于控制所述入口网元对所述数据报文的转发或处理。
可选的,所述处理网元指示包括上下文处理指示列表,所述上下文处理指示列表包括所述上下文处理指示;
所述入口网元还包括处理指示附加单元14,用于将所述上下文处理指示列表附加至所述数据报文;
所述发送单元12具体用于确定对所述数据报文进行的下一个上下文处理为所述上下文处理指示所指示的上下文处理,根据所述上下文处理指示和所述处理网元的对应关系,发送所述数据报文至所述处理网元。
可选的,所述上下文处理指示列表还包括所述处理网元的寻址信息,所述上下文处理指示与所述处理网元的寻址信息对应;
所述发送单元12具体用于根据与所述上下文处理指示对应的所述处理网元的寻址信息,发送所述数据报文至所述处理网元。
可选的,所述入口流表项是本地配置的或者是控制网元发送的;其中,所述控制网元用于控制所述入口网元对所述数据报文的转发。
进一步可选的,所述入口流表项还包括入口上下文处理指示;所述入口上下文处理指示用于指示对所述数据报文进行的上下文处理;所述入口网元还包括:处理单元15;
所述处理单元15用于根据所述入口上下文处理指示,对所述数据报文进行上下文处理。
本发明的实施例提供的入口网元,通过将报文转发至不同的网元进行上下文处理,能够实现通过分布式的转发面设备对报文的上下文处理,进而提高网络报文上下文处理的负载均衡性。
参照图13所示,本发明的实施例提供一种处理网元,用于实现上述的报文处理方法,包括:
接收单元21用于接收数据报文;
处理单元22用于根据上下文处理指示,对所述接收单元21接收的所述数据报文进行上下文处理;
其中,所述上下文处理指示用于指示对所述数据报文进行的上下文处理。
可选的,所述处理单元22具体用于从所述数据报文获取封装流标识,根据所述封装流标识获取处理流表项,根据所述处理流表项,对所述数据报文进行上下文处理;
其中,所述封装流标识用于标识所述数据报文所属的业务流,所述处理流表项包括匹配流标识和所述上下文处理指示,所述匹配流标识与所述封装流标识匹配。
可选的,当处理后的所述数据报文未包含所述封装流标识时,所述处理单元22还用于将流标识附加至处理后的所述数据报文;其中所述流标识为所述封装流标识,或者当所述处理流表项还包括新的封装流标识时,所述流标识为所述新的封装流标识。
可选的,所述处理流表项还包括处理封装指示;所述处理封装指示用于指示将所述流标识附加至处理后的所述数据报文;
所述处理单元22具体用于根据所述处理封装指示将所述流标识附加至处理后的所述数据报文。
可选的,处理网元还包括:发送单元23;
当所述处理流表项不包括再处理网元指示时,所述发送单元23向外发送所述处理单元22处理后的所述数据报文;或者
当所述处理流表项还包括所述再处理网元指示时,所述发送单元23根据所述再处理网元指示,发送所述处理单元22处理后的所述数据报文至下一个处理网元;
其中,所述再处理网元指示用于指示在所述处理网元后的下一个处理所述数据报文的处理网元。
可选的,所述处理流表项是本地配置的或者是控制网元发送的;其中,所述控制网元用于控制所述处理网元对所述数据报文的转发或处理。
可选的,
所述处理单元22具体用于从所述数据报文获取上下文处理指示列表,所述上下文处理指示列表包括所述上下文处理指示,根据所述上下文处理指示对所述数据报文进行上下文处理。
可选的,所述处理网元还包括:发送单元23;
当所述上下文处理指示列表不包括其他上下文处理指示时,所述发送单元23向外发送所述处理单元22处理后的所述数据报文;
或者,
当所述上下文处理指示列表还包括所述其他上下文处理指示时,所述发送单元23确定对所述数据报文进行的下一个上下文处理为所述其他上下文处理指示所指示的上下文处理,在所述处理单元22对所述数据报文进行上下文处理之后,根据所述其他上下文处理指示和其他处理网元的对应关系,发送所述处理单元22处理后的所述数据报文至所述其他处理网元;
其中,所述其他上下文处理指示对所述数据报文进行的上下文处理。
可选的,所述上下文处理指示列表还包括所述其他处理网元的寻址信息,所述其他上下文处理指示与所述其他处理网元的寻址信息对应;
所述发送单元23具体用于根据所述其他上下文处理指示对应的所述其他处理网元的寻址信息,发送所述处理单元处理后的所述数据报文至所述其他处理网元。
本发明的实施例提供的处理网元,通过将入口网元转发的数据报文在不同的处理网元进行上下文处理,能够实现通过分布式的转发面设备对报文的上下文处理,进而提高网络报文上下文处理的负载均衡性。
参照图14所示,本发明的实施例提供一种入口网元,用于实现上述的报文处理方法,该入口网元可以采用报文处理服务器实现,包括:通信单元31、存储器32及总线33,其中通信单元31、存储器32通过总线33连接并实现相互通信,所述存储器32用于存储所述通信单元31处理的数据;
该通信单元31可以为收发全双工的工作方式的网卡或者收发电路;
该总线33可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(Peripheral Component,外部设备互连)总线或EISA(Extended IndustryStandard Architecture,扩展工业标准体系结构)总线等。该总线33可以分为地址总线、数据总线、控制总线等。为便于表示,图14中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。其中:
存储器32用于存储可执行程序代码,该程序代码包括计算机操作指令。存储器32可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
通信单元31,用于接收数据报文;根据入口流表项,发送所述通信单元31接收的所述数据报文至处理网元,以使所述处理网元对所述数据报文进行上下文处理;
其中,所述入口流表项包括流描述信息和处理网元指示,所述流描述信息与所述数据报文匹配,所述处理网元指示用于指示在所述入口网元后的下一个处理所述数据报文的处理网元。
可选的,所述入口流表项还包括封装流标识;其中,所述封装流标识用于标识所述数据报文所属的业务流;
所述入口网元还包括:与所述总线连接的处理器34,
处理器34可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
处理器34用于将所述封装流标识附加至所述数据报文,以使所述处理网元从所述数据报文获取所述封装流标识,根据所述封装流标识获取处理流表项,并根据所述处理流表项对所述数据报文进行上下文处理。
可选的,所述入口流表项还包括入口封装指示,所述入口封装指示用于指示将所述封装流标识附加至所述数据报文;
处理器34具体用于根据所述入口封装指示将所述封装流标识附加至所述数据报文。
可选的,所述入口流表项是本地配置的或者是控制网元发送的;其中,所述控制网元用于控制所述入口网元对所述数据报文的转发或处理。
可选的,所述处理网元指示包括上下文处理指示列表,所述上下文处理指示列表包括所述上下文处理指示;
处理器34用于将所述上下文处理指示列表附加至所述数据报文,
通信单元31用于确定对所述数据报文进行的下一个上下文处理为所述上下文处理指示所指示的上下文处理,根据所述上下文处理指示和所述处理网元的对应关系,发送所述数据报文至所述处理网元。
可选的,所述上下文处理指示列表还包括所述处理网元的寻址信息,所述上下文处理指示与所述处理网元的寻址信息对应;
所述通信单元31具体用于根据与所述上下文处理指示对应的所述处理网元的寻址信息,发送所述数据报文至所述处理网元。
可选的,所述入口流表项是本地配置的或者是控制网元发送的;其中,所述控制网元用于控制所述入口网元对所述数据报文的转发。
进一步可选的,所述入口流表项还包括入口上下文处理指示;所述入口上下文处理指示用于指示对所述数据报文进行的上下文处理;
所述处理器34用于根据所述入口上下文处理指示,对所述数据报文进行上下文处理。
本发明的实施例提供的入口网元,通过将报文转发至不同的网元进行上下文处理,能够实现通过分布式的转发面设备对报文的上下文处理,进而提高网络报文上下文处理的负载均衡性。
参照图15,本发明的实施例提供一种处理网元,用于实现上述的报文处理方法,该处理网元可以采用报文处理服务器实现,包括:处理器41、通信单元42、存储器43及总线44,其中所述处理器41、通信单元42及存储器43通过总线44连接并实现相互通信,所述存储器43用于存储所述处理器41处理的程序代码;
该通信单元42可以为收发全双工的工作方式的网卡或者收发电路;
该总线44可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(Peripheral Component,外部设备互连)总线或EISA(Extended IndustryStandard Architecture,扩展工业标准体系结构)总线等。该总线44可以分为地址总线、数据总线、控制总线等。为便于表示,图15中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。其中:
存储器43用于存储可执行程序代码,该程序代码包括计算机操作指令。存储器43可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器41可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
所述通信单元42用于接收数据报文;
处理器41用于根据上下文处理指示,对所述通信单元42接收的所述数据报文进行上下文处理;
其中,所述上下文处理指示用于指示对所述数据报文进行的上下文处理。
可选的,所述处理器41具体用于从所述数据报文获取封装流标识,根据所述封装流标识获取处理流表项,根据所述处理流表项,对所述数据报文进行上下文处理;
其中,所述封装流标识用于标识所述数据报文所属的业务流,所述处理流表项包括匹配流标识和所述上下文处理指示,所述匹配流标识与所述封装流标识匹配。
可选的,当处理后的所述数据报文未包含所述封装流标识时,所述处理器41还用于将流标识附加至处理后的所述数据报文;其中所述流标识为所述封装流标识,或者当所述处理流表项还包括新的封装流标识时,所述流标识为所述新的封装流标识。
可选的,所述处理流表项还包括处理封装指示;所述处理封装指示用于指示将所述流标识附加至处理后的所述数据报文;
所述处理器41具体用于根据所述处理封装指示将所述流标识附加至处理后的所述数据报文。
当所述处理流表项不包括再处理网元指示时,通信单元42向外发送所述处理器41处理后的所述数据报文至所述报文处理系统外部;或者
当所述处理流表项还包括所述再处理网元指示时,所述通信单元42根据所述再处理网元指示,发送所述处理器41处理后的所述数据报文至下一个处理网元;
其中,所述再处理网元指示用于指示在所述处理网元后的下一个处理所述数据报文的处理网元。
可选的,所述处理流表项是本地配置的或者是控制网元发送的;其中,所述控制网元用于控制所述处理网元对所述数据报文的转发或处理。
可选的,所述处理器41具体用于从所述数据报文获取上下文处理指示列表,根据上下文处理指示对所述数据报文进行上下文处理,所述上下文处理指示列表包括所述上下文处理指示。
当所述上下文处理指示列表不包括其他上下文处理指示时,所述通信单元42向外发送所述处理器41处理后的所述数据报文;
或者,
当所述上下文处理指示列表还包括所述其他上下文处理指示时,所述通信单元42确定对所述数据报文进行的下一个上下文处理为所述其他上下文处理指示所指示的上下文处理,在所述处理器41对所述数据报文进行上下文处理之后,根据所述其他上下文处理指示和其他处理网元的对应关系,发送所述处理器41处理后的所述数据报文至所述其他处理网元;
其中,所述其他上下文处理指示对所述数据报文进行的上下文处理。
可选的,所述上下文处理指示列表还包括所述其他处理网元的寻址信息,所述其他上下文处理指示与所述其他处理网元的寻址信息对应;
所述通信单元42用于根据所述其他上下文处理指示对应的所述其他处理网元的寻址信息,发送所述处理器处理后的所述数据报文至所述其他处理网元。
本发明的实施例提供的处理网元,通过将报文转发至不同的网元进行上下文处理,能够实现通过分布式的转发面设备对报文的上下文处理,进而提高网络报文上下文处理的负载均衡性。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可以用硬件实现,或固件实现,或它们的组合方式来实现。当使用软件实现时,可以将上述功能存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括RAM(Random Acces s Memory,随机存储器)、ROM(Read Only Memory,只读内存)、EEPROM(Electrically Erasable Programmable ReadOnly Memory,电可擦可编程只读存储器)、CD-ROM(Compact Disc Read Only Memory,即只读光盘)或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。此外。任何连接可以适当的成为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、DSL(Digital Subscriber Line,数字用户专线)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其他远程源传输的,那么同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线和微波之类的无线技术包括在所属介质的定影中。如本发明所使用的盘和碟包括CD(Compact Disc,压缩光碟)、激光碟、光碟、DVD碟(Digital Versatile Disc,数字通用光)、软盘和蓝光光碟,其中盘通常磁性的复制数据,而碟则用激光来光学的复制数据。上面的组合也应当包括在计算机可读介质的保护范围之内。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (14)
1.一种报文处理方法,其特征在于,包括:
入口网元接收数据报文;其中,所述入口网元存有入口流表项,所述入口流表项包括流描述信息和处理网元指示,所述流描述信息与所述数据报文匹配,所述处理网元指示用于指示在所述入口网元后的下一个处理所述数据报文的处理网元;
所述入口网元根据入口流表项,发送所述数据报文至所述处理网元;
所述入口流表项还包括封装流标识;其中,所述封装流标识用于标识所述数据报文所属的业务流;所述方法还包括:
所述入口网元将所述封装流标识附加至所述数据报文,以使能所述处理网元从所述数据报文获取所述封装流标识,根据所述封装流标识获取处理流表项,并根据所述处理流表项对所述数据报文进行上下文处理;
其中,所述流描述信息包括以下一项或多项:
源介质访问控制地址;
目的介质访问控制地址;
源IP地址;
目的IP地址;
源端口号;
目的端口号;
多协议标签交换标记;
业务类型;
IPv6流标识;
通用路由封装密钥;或者,
通用分组无线服务隧道协议隧道端点标识符。
2.根据权利要求1所述的方法,其特征在于,
所述入口流表项还包括入口封装指示,所述入口封装指示用于指示将所述封装流标识附加至所述数据报文;
所述入口网元将所述封装流标识附加至所述数据报文包括:
所述入口网元根据所述入口封装指示将所述封装流标识附加至所述数据报文。
3.根据权利要求1所述的方法,其特征在于,
所述入口流表项是本地配置的或者是控制网元发送的;其中,所述控制网元用于控制所述入口网元对所述数据报文的转发或处理。
4.根据权利要求1-3任一所述的方法,其特征在于,
所述入口流表项还包括入口上下文处理指示,所述入口上下文处理指示用于指示对所述数据报文进行的上下文处理;
所述方法还包括:
所述入口网元根据所述入口上下文处理指示,对所述数据报文进行上下文处理。
5.一种报文处理方法,其特征在于,包括:
处理网元从入口网元接收数据报文;
所述处理网元根据上下文处理指示,对所述数据报文进行上下文处理;
其中,所述上下文处理指示用于指示对所述数据报文进行的上下文处理;
所述根据上下文处理指示,对所述数据报文进行上下文处理包括:
所述处理网元从所述数据报文获取封装流标识,根据所述封装流标识获取处理流表项,根据所述处理流表项,对所述数据报文进行上下文处理;
其中,所述封装流标识用于标识所述数据报文所属的业务流,所述处理流表项包括匹配流标识和所述上下文处理指示,所述匹配流标识与所述封装流标识匹配。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
当处理后的所述数据报文未包含所述封装流标识时,所述处理网元将流标识附加至处理后的所述数据报文;其中所述流标识为所述封装流标识,或者当所述处理流表项还包括新的封装流标识时,所述流标识为所述新的封装流标识。
7.根据权利要求6所述的方法,其特征在于,
所述处理流表项还包括处理封装指示;所述处理封装指示用于指示将所述流标识附加至处理后的所述数据报文;所述方法还包括:
所述处理网元根据所述处理封装指示将所述流标识附加至处理后的所述数据报文。
8.根据权利要求5所述的方法,其特征在于,所述方法还包括:
当所述处理流表项不包括再处理网元指示时,所述处理网元向外发送处理后的所述数据报文;或者
当所述处理流表项还包括所述再处理网元指示时,所述处理网元根据所述再处理网元指示,发送处理后的所述数据报文至下一个处理网元;
其中,所述再处理网元指示用于指示在所述处理网元后的下一个处理所述数据报文的处理网元。
9.根据权利要求5-8任一所述的方法,其特征在于,
所述所述处理流表项是本地配置的或者是控制网元发送的;其中,所述控制网元用于控制所述处理网元对所述数据报文的转发或处理。
10.一种入口网元,其特征在于,包括:
处理器,用于从存储器读取并运行指令,以实现如权利要求1-4任一所述的方法。
11.一种处理网元,其特征在于,包括:
处理器,用于从存储器读取并运行指令,以实现如权利要求5-9任一所述的方法。
12.一种通信系统,包括如权利要求10所述的入口网元和权利要求11所述的处理网元。
13.一种计算机存储介质,其特征在于,包括程序指令,其特征在于,当程序指令被入口网元执行时,以实现如权利要求1-4任一所述的方法。
14.一种计算机存储介质,其特征在于,包括程序指令,其特征在于,当程序指令被处理网元执行时,以实现如权利要求5-9任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910444551.XA CN110138618B (zh) | 2013-12-31 | 2013-12-31 | 一种报文处理方法、装置及系统 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201380077723.5A CN105340217B (zh) | 2013-12-31 | 2013-12-31 | 一种报文处理方法、装置及系统 |
PCT/CN2013/091187 WO2015100650A1 (zh) | 2013-12-31 | 2013-12-31 | 一种报文处理方法、装置及系统 |
CN201910444551.XA CN110138618B (zh) | 2013-12-31 | 2013-12-31 | 一种报文处理方法、装置及系统 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380077723.5A Division CN105340217B (zh) | 2013-12-31 | 2013-12-31 | 一种报文处理方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110138618A CN110138618A (zh) | 2019-08-16 |
CN110138618B true CN110138618B (zh) | 2021-10-26 |
Family
ID=53492992
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910444551.XA Active CN110138618B (zh) | 2013-12-31 | 2013-12-31 | 一种报文处理方法、装置及系统 |
CN201380077723.5A Active CN105340217B (zh) | 2013-12-31 | 2013-12-31 | 一种报文处理方法、装置及系统 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380077723.5A Active CN105340217B (zh) | 2013-12-31 | 2013-12-31 | 一种报文处理方法、装置及系统 |
Country Status (5)
Country | Link |
---|---|
US (2) | US10412008B2 (zh) |
EP (1) | EP3079301B1 (zh) |
CN (2) | CN110138618B (zh) |
RU (1) | RU2630178C1 (zh) |
WO (1) | WO2015100650A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108809835B (zh) | 2012-06-29 | 2024-06-14 | 华为技术有限公司 | 信息处理方法、转发面设备和控制面设备 |
US10033693B2 (en) | 2013-10-01 | 2018-07-24 | Nicira, Inc. | Distributed identity-based firewalls |
US10324746B2 (en) | 2015-11-03 | 2019-06-18 | Nicira, Inc. | Extended context delivery for context-based authorization |
CN108024222B (zh) * | 2016-11-01 | 2020-12-08 | 中国电信股份有限公司 | 流量话单生成方法和装置 |
US10503536B2 (en) * | 2016-12-22 | 2019-12-10 | Nicira, Inc. | Collecting and storing threat level indicators for service rule processing |
EP3589024A4 (en) * | 2017-03-29 | 2020-01-08 | Huawei Technologies Co., Ltd. | MESSAGE PROCESSING METHOD AND APPARATUS |
CN109302540A (zh) * | 2017-07-25 | 2019-02-01 | 中兴通讯股份有限公司 | 一种融合通讯业务的受理方法、装置及设备 |
CN110768810B (zh) * | 2018-07-25 | 2021-03-30 | 华为技术有限公司 | 确定报文流描述的方法、装置和系统 |
US10868845B2 (en) * | 2019-03-01 | 2020-12-15 | Netskope, Inc. | Recovery from failure in a dynamic scalable services mesh |
CN111953604B (zh) * | 2019-05-17 | 2023-07-18 | 华为技术有限公司 | 一种为业务流提供业务服务的方法和装置 |
CN110932968B (zh) * | 2019-11-18 | 2021-05-14 | 华南理工大学 | 一种流量转发方法及装置 |
US11539718B2 (en) | 2020-01-10 | 2022-12-27 | Vmware, Inc. | Efficiently performing intrusion detection |
US11394650B2 (en) * | 2020-04-14 | 2022-07-19 | Charter Communications Operating, Llc | Modificationless packet prioritization for frame generation |
CN111988271B (zh) * | 2020-06-30 | 2021-11-16 | 联想(北京)有限公司 | 一种通信流处理方法及装置 |
US11108728B1 (en) | 2020-07-24 | 2021-08-31 | Vmware, Inc. | Fast distribution of port identifiers for rule processing |
CN115720351A (zh) * | 2021-08-23 | 2023-02-28 | 中兴通讯股份有限公司 | 信令采集监测系统、方法、网络设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102857416A (zh) * | 2012-09-18 | 2013-01-02 | 中兴通讯股份有限公司 | 一种实现虚拟网络的方法和虚拟网络 |
CN102938739A (zh) * | 2012-11-26 | 2013-02-20 | 华为技术有限公司 | 深度报文检查方法与装置 |
CN103026662A (zh) * | 2010-07-23 | 2013-04-03 | 日本电气株式会社 | 通信系统、节点、统计信息收集装置、统计信息收集方法和程序 |
CN103067295A (zh) * | 2013-01-04 | 2013-04-24 | 华为技术有限公司 | 业务传输的方法、装置与系统 |
CN103370911A (zh) * | 2011-02-17 | 2013-10-23 | 日本电气株式会社 | 流通信系统 |
CN103428031A (zh) * | 2013-08-05 | 2013-12-04 | 浙江大学 | 一种基于软件定义网络的域间链路快速故障恢复方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI100443B (fi) * | 1995-04-10 | 1997-11-28 | Nokia Telecommunications Oy | Liikenteen väylöitys tietoliikenneverkon solmussa |
CN101009662B (zh) * | 2007-01-31 | 2010-12-22 | 杭州华三通信技术有限公司 | 基于负载均衡技术的报文处理方法、系统及设备 |
US8161156B2 (en) * | 2009-12-30 | 2012-04-17 | Verizon Patent And Licensing, Inc. | Feature delivery packets for peer-to-peer based feature network |
CN102404179B (zh) * | 2010-09-19 | 2014-10-29 | 杭州华三通信技术有限公司 | 一种报文处理的方法和装置 |
WO2013095593A1 (en) * | 2011-12-22 | 2013-06-27 | Intel Corporation | Always-available embedded theft reaction subsystem |
US8971338B2 (en) * | 2012-01-09 | 2015-03-03 | Telefonaktiebolaget L M Ericsson (Publ) | Expanding network functionalities for openflow based split-architecture networks |
US8923296B2 (en) * | 2012-02-23 | 2014-12-30 | Big Switch Networks, Inc. | System and methods for managing network packet forwarding with a controller |
US9215490B2 (en) * | 2012-07-19 | 2015-12-15 | Samsung Electronics Co., Ltd. | Apparatus, system, and method for controlling content playback |
US8953592B2 (en) * | 2012-09-28 | 2015-02-10 | Juniper Networks, Inc. | Network address translation for application of subscriber-aware services |
US9413667B2 (en) * | 2013-02-15 | 2016-08-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and network nodes for traffic steering based on per-flow policies |
CN103152251A (zh) * | 2013-02-27 | 2013-06-12 | 杭州华三通信技术有限公司 | 一种报文处理方法及装置 |
US9755960B2 (en) * | 2013-09-30 | 2017-09-05 | Juniper Networks, Inc. | Session-aware service chaining within computer networks |
US9363180B2 (en) * | 2013-11-04 | 2016-06-07 | Telefonkatiebolaget L M Ericsson (Publ) | Service chaining in a cloud environment using Software Defined Networking |
-
2013
- 2013-12-31 CN CN201910444551.XA patent/CN110138618B/zh active Active
- 2013-12-31 CN CN201380077723.5A patent/CN105340217B/zh active Active
- 2013-12-31 WO PCT/CN2013/091187 patent/WO2015100650A1/zh active Application Filing
- 2013-12-31 EP EP13900610.0A patent/EP3079301B1/en active Active
- 2013-12-31 RU RU2016131169A patent/RU2630178C1/ru active
-
2016
- 2016-06-30 US US15/199,494 patent/US10412008B2/en active Active
-
2019
- 2019-07-30 US US16/526,518 patent/US20190356594A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103026662A (zh) * | 2010-07-23 | 2013-04-03 | 日本电气株式会社 | 通信系统、节点、统计信息收集装置、统计信息收集方法和程序 |
CN103370911A (zh) * | 2011-02-17 | 2013-10-23 | 日本电气株式会社 | 流通信系统 |
CN102857416A (zh) * | 2012-09-18 | 2013-01-02 | 中兴通讯股份有限公司 | 一种实现虚拟网络的方法和虚拟网络 |
CN102938739A (zh) * | 2012-11-26 | 2013-02-20 | 华为技术有限公司 | 深度报文检查方法与装置 |
CN103067295A (zh) * | 2013-01-04 | 2013-04-24 | 华为技术有限公司 | 业务传输的方法、装置与系统 |
CN103428031A (zh) * | 2013-08-05 | 2013-12-04 | 浙江大学 | 一种基于软件定义网络的域间链路快速故障恢复方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105340217B (zh) | 2019-05-28 |
EP3079301A4 (en) | 2016-12-07 |
EP3079301A1 (en) | 2016-10-12 |
CN105340217A (zh) | 2016-02-17 |
US20190356594A1 (en) | 2019-11-21 |
EP3079301B1 (en) | 2018-05-02 |
WO2015100650A1 (zh) | 2015-07-09 |
US10412008B2 (en) | 2019-09-10 |
US20160315864A1 (en) | 2016-10-27 |
CN110138618A (zh) | 2019-08-16 |
RU2630178C1 (ru) | 2017-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110138618B (zh) | 一种报文处理方法、装置及系统 | |
US11979322B2 (en) | Method and apparatus for providing service for traffic flow | |
CN106921572B (zh) | 一种传播QoS策略的方法、装置及系统 | |
CN112019433B (zh) | 一种报文转发方法和装置 | |
US11522795B1 (en) | End to end application identification and analytics of tunnel encapsulated traffic in the underlay | |
CN108390812B (zh) | 报文转发方法及装置 | |
JP5328622B2 (ja) | スイッチングハブ、フレーム中継方法、及びネットワーク中継機器 | |
US20250030630A1 (en) | Packet processing | |
WO2023088145A1 (zh) | 一种报文处理方法、装置及设备 | |
CN111770049B (zh) | 全局缓存变量及报文信息存储方法及装置 | |
CN105009542B (zh) | 一种处理报文的方法和装置 | |
US20170149663A1 (en) | Control device, communication system, control method, and non-transitory recording medium | |
CN102882797A (zh) | 批量删除VPNv4或VPNv6路由的方法及PE | |
CN114978985B (zh) | 一种报文处理方法、装置、电子设备及存储介质 | |
CN118101555B (zh) | 报文转发方法、装置、电子设备及计算机可读存储介质 | |
US20240283738A1 (en) | Packet Processing Method, Apparatus, and System | |
US20240364631A1 (en) | VXLAN Traffic Handling for EVPN E-Tree | |
WO2024108985A1 (zh) | 一种随流检测方法、电子设备和存储介质 | |
CN118802411A (zh) | 算力信息传递方法、装置、设备及存储介质 | |
CN117527667A (zh) | 业务功能链的处理方法及装置 | |
CN115333896A (zh) | 报文转发的方法、设备和系统 | |
CN115086105A (zh) | 一种报文传输方法及装置 | |
CN117792825A (zh) | 报文处理方法、装置、系统、网络设备和存储介质 | |
CN118802415A (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN117640555A (zh) | Quic报文的传输方法及相关设备 |
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 |