CN111049910A - 一种处理报文的方法、装置、设备及介质 - Google Patents
一种处理报文的方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN111049910A CN111049910A CN201911300173.4A CN201911300173A CN111049910A CN 111049910 A CN111049910 A CN 111049910A CN 201911300173 A CN201911300173 A CN 201911300173A CN 111049910 A CN111049910 A CN 111049910A
- Authority
- CN
- China
- Prior art keywords
- message
- information
- service flow
- session
- processing
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种处理报文的方法、装置、设备及介质,用以解决现有技术中硬件成本高,且报文处理速度较低,无法满足网络传输需求的技术问题,该方法包括:基于报文的匹配信息,从多个已创建的业务流会话中查找报文对应的业务流会话,其中业务流会话的会话信息包括业务流识别信息和快速转发处理标志信息,报文对应的业务流会话的会话信息中的业务流识别信息与报文的匹配信息相匹配,快速转发处理标志信息为指示进行快速转发处理时,会话信息还包括用于报文转发的参数信息;基于报文对应的业务流会话的会话信息,在确定快速转发处理标志信息为指示进行快速转发处理后,经网络协议栈新增设的快速处理模块直接对报文进行快速转发处理。
Description
技术领域
本发明涉及网络技术领域,尤其涉及一种处理报文的方法、装置、设备及介质。
背景技术
随着网络应用数量的增多,用户终端设备(Customer Premise Equipment,CPE)上的功能也越来越多,致使网络协议栈的处理流程越来越复杂,使用网络协议栈逐包处理的方式导致其性能大大降低,无法满足现有网络业务的需求。而基于硬件的转发虽然性能高,然而由于硬件的限制,无法灵活满足所有业务流的转发,且成本较高。
多核处理器在一定程度上提高了CPE的转发能力,却仍然无法将所有业务均匀的分布到每个中央处理器(central processing unit,CPU)上,这使得多条业务使用某个CPU负荷过高,以致于造成该CPU出现丢包现象,同时其他CPU负荷低无法得到充分利用。
如图1所示,为CPE上一种常用的多核CPU处理模型。CPU0接收报文数据,接收后根据报文的二层头信息、三层头信息、和四层头或者内层报文的三层头和四层头信息进行hash值查找,并通过hash值来确定所使用处理该报文数据的CPU标号(CPU1、CPU2或CPU3),然而由于hash粒度的问题,该方法会导致在样本量较低的情况下流量无法均匀的分布到所有CPU上,进而浪费资源,且由于该方法找寻报文数据处理使用的CPU时是逐包计算查找,易受CPU的处理能力影响。
发明内容
本发明提供一种处理报文的方法、装置、设备及介质,用以解决现有技术中硬件成本高,且报文处理速度较低,无法满足网络传输需求的技术问题。
第一方面,本发明实施例提供一种处理报文的方法,包括:
基于报文的匹配信息,从多个已创建的业务流会话中查找报文对应的业务流会话,其中业务流会话的会话信息包括业务流识别信息和快速转发处理标志信息,报文对应的业务流会话的会话信息中的业务流识别信息与报文的匹配信息相匹配,快速转发处理标志信息为指示进行快速转发处理时,会话信息还包括用于报文转发的参数信息;
基于报文对应的业务流会话的会话信息,在确定快速转发处理标志信息为指示进行快速转发处理后,经网络协议栈新增设的快速处理模块直接对报文进行快速转发处理。
在一种可能实施的方式中,本发明实施例提供的方法中,参数信息包括如下至少一种:报文发送方向上的路由信息、二层报头转换信息、NAT转换标志信息;其中,NAT转换标志信息为指示进行NAT转换时,会话信息中还包括NAT转换信息;
经网络协议栈新增设的快速处理模块直接对报文进行快速转发处理,包括:
当报文对应的业务流会话的会话信息中的NAT转换标志信息为指示进行NAT转换时,依据所述业务流会话的会话信息中的NAT转换信息,对报文进行NAT转换;和/或
依据报文对应的业务流会话的会话信息中的二层报头转换信息,修改报文的二层报头;和/或
依据报文对应的业务流会话的会话信息中该报文发送方向上的路由信息,将修改后的报文转发到路由指定的接口。
在一种可能实施的方式中,本发明实施例提供的方法中,业务流识别信息包括:第一通信方向的识别信息和第二通信方向的识别信息,其中第一通信方向和第二通信方向互为反方向;
基于报文的匹配信息,从多个已创建的业务流会话中查找报文对应的业务流会话,包括:
确定会话信息中第一通信方向的识别信息与报文的匹配信息相同的业务流会话为报文对应的业务流会话;或
确定会话信息中第二通信方向的识别信息与报文的匹配信息相同的业务流会话为报文对应的业务流会话;
其中,NAT转换标志信息为指示进行NAT转换时,业务流识别信息同时作为NAT转换信息。
在一种可能实施的方式中,本发明实施例提供的方法中,方法还包括:
基于报文对应的业务流会话的会话信息,在确定快速转发处理标志信息指示不进行快速转发处理后,经网络协议栈的原有处理模块对报文进行丢弃、上报上层应用或慢速转发处理,并将慢速转发处理得到的报文的参数信息添加到报文的会话信息中。
在一种可能实施的方式中,本发明实施例提供的方法中,经网络协议栈的原有处理模块对报文进行慢速转发处理,还包括:
若确定报文发送方向上的后续报文符合快速转发要求,则在报文对应的业务流会话的会话信息中添加用于报文转发的参数信息中报文发送方向上的路由信息;
将报文发送方向上的快速转发标志信息设置为指示进行快速转发处理。
在一种可能实施的方式中,本发明实施例提供的方法中,方法还包括:
若未查找到报文对应的业务流会话,则创建与报文对应的业务流会话,并记录会话信息中的业务流识别信息和快速转发标志信息;
经网络协议栈的原有处理模块对报文进行处理,并在处理为转发处理且确定报文发送方向上的后续报文符合快速转发要求后更新会话信息,其中更新会话信息包括:在会话信息中添加用于所述报文转发的参数信息中报文发送方向上的路由信息,并将报文发送方向上的快速转发标志信息设置为指示进行快速转发处理。
在一种可能实施的方式中,本发明实施例提供的方法中,记录会话信息中的业务流识别信息和快速转发标志信息,具体包括:
根据报文的匹配信息,生成第一通信方向的识别信息和第二通信方向的识别信息,其中第一通信方向的识别信息包括:与报文的源IP地址相同的源IP地址,与报文的目的IP地址相同的目的IP地址,与报文的源端口相同的源端口,与报文的目的端口相同的目的端口,第二通信方向的识别信息包括:与报文的目的IP地址相同的源IP地址,与报文的源IP地址相同的目的IP地址,与报文的目的端口相同的源端口,与报文的源端口相同的目的端口;
若经网络协议栈的原有处理模块对报文进行的处理为转发处理,且存在NAT转换时,则更新会话信息,还包括:
在报文对应的业务流会话的会话信息中设置指示进行NAT转换的NAT转换标志信息;
若报文是从私网设备发往公网设备的报文,则修改业务流识别信息中第二通信方向上的目的IP地址和目的端口为经NAT转换后的报文的源IP地址和源端口;或
若报文是从公网设备发往私网设备的报文,则修改业务流识别信息中第二通信方向上的源IP地址和源端口为经NAT转换后的报文的目的IP地址和目的端口。
在一种可能实施的方式中,本发明实施例提供的方法中,方法还包括:基于与报文对应的业务流会话的会话信息中的协处理器标识,确定处理报文的运行有网络协议栈的协处理器;
将报文发送至协处理器处理。
在一种可能实施的方式中,本发明实施例提供的方法中,方法还包括:若查找不到报文对应的业务流会话,则基于多个协处理器的运行状态,按轮询均衡机制确定处理报文的运行有网络协议栈的协处理器。
第二方面,本发明实施例提供一种处理报文的装置,包括:
查找单元,用于基于报文的匹配信息,从多个已创建的业务流会话中查找报文对应的业务流会话,其中业务流会话的会话信息包括业务流识别信息和快速转发处理标志信息,报文对应的业务流会话的会话信息中的业务流识别信息与报文的匹配信息相匹配,快速转发处理标志信息为指示进行快速转发处理时,会话信息还包括用于报文转发的参数信息;
处理单元,用于基于报文对应的业务流会话的会话信息,在确定快速转发处理标志信息为指示进行快速转发处理后,经网络协议栈新增设的快速处理模块直接对报文进行快速转发处理。
在一种可能实施的方式中,本发明实施例提供的装置中,参数信息包括如下至少一种:报文发送方向上的路由信息、二层报头转换信息、NAT转换标志信息;其中,NAT转换标志信息为指示进行NAT转换时,会话信息中还包括NAT转换信息;
处理单元还用于:
当报文对应的业务流会话的会话信息中的NAT转换标志信息为指示进行NAT转换时,依据所述业务流会话的会话信息中的NAT转换信息,对报文进行NAT转换;和/或
依据报文对应的业务流会话的会话信息中的二层报头转换信息,修改报文的二层报头;和/或
依据报文对应的业务流会话的会话信息中该报文发送方向上的路由信息,将修改后的报文转发到路由指定的接口。
在一种可能实施的方式中,本发明实施例提供的装置中,业务流识别信息包括:第一通信方向的识别信息和第二通信方向的识别信息,其中第一通信方向和第二通信方向互为反方向;
查找单元具体用于:
确定会话信息中第一通信方向的识别信息与报文的匹配信息相同的业务流会话为报文对应的业务流会话;或
确定会话信息中第二通信方向的识别信息与报文的匹配信息相同的业务流会话为报文对应的业务流会话;其中,NAT转换标志信息为指示进行NAT转换时,业务流识别信息同时作为NAT转换信息。
在一种可能实施的方式中,本发明实施例提供的装置中,处理单元还用于:
基于报文对应的业务流会话的会话信息,在确定快速转发处理标志信息指示不进行快速转发处理后,经网络协议栈的原有处理模块对报文进行丢弃、上报上层应用或慢速转发处理。
在一种可能实施的方式中,本发明实施例提供的装置中,处理单元还用于:
若确定报文发送方向上的后续报文符合快速转发要求,则在报文对应的业务流会话的会话信息中添加用于报文转发的参数信息中报文发送方向上的路由信息;
将报文发送方向上的快速转发标志信息设置为指示进行快速转发处理。
在一种可能实施的方式中,本发明实施例提供的装置中,处理单元还用于:
若未查找到报文对应的业务流会话,则创建与报文对应的业务流会话,并记录会话信息中的业务流识别信息和快速转发标志信息;
经网络协议栈的原有处理模块对报文进行处理,并在处理为转发处理且确定报文发送方向上的后续报文符合快速转发要求后更新会话信息,其中更新会话信息包括:在会话信息中添加用于所述报文转发的参数信息中报文发送方向上的路由信息,并将报文发送方向上的快速转发标志信息设置为指示进行快速转发处理。
在一种可能实施的方式中,本发明实施例提供的装置中,记录会话信息中的业务流识别信息和快速转发标志信息,具体包括:
根据报文的匹配信息,生成第一通信方向的识别信息和第二通信方向的识别信息,其中第一通信方向的识别信息包括:与报文的源IP地址相同的源IP地址,与报文的目的IP地址相同的目的IP地址,与报文的源端口相同的源端口,与报文的目的端口相同的目的端口,第二通信方向的识别信息包括:与报文的目的IP地址相同的源IP地址,与报文的源IP地址相同的目的IP地址,与报文的目的端口相同的源端口,与报文的源端口相同的目的端口;
若经网络协议栈的原有处理模块对报文进行的处理为转发处理,且存在NAT转换时,则处理单元还用于:
在报文对应的业务流会话的会话信息中设置指示进行NAT转换的NAT转换标志信息;
若报文是从私网设备发往公网设备的报文,则修改业务流识别信息中第二通信方向上的目的IP地址和目的端口为经NAT转换后的报文的源IP地址和源端口;或
若报文是从公网设备发往私网设备的报文,则修改业务流识别信息中第二通信方向上的源IP地址和源端口为经NAT转换后的报文的目的IP地址和目的端口。
在一种可能实施的方式中,本发明实施例提供的装置中,装置还包括:确定单元,用于基于与报文对应的业务流会话的会话信息中的协处理器标识,确定处理报文的运行有网络协议栈的协处理器;
发送单元,用于将报文发送至协处理器处理。
在一种可能实施的方式中,本发明实施例提供的装置中,确定单元还用于:若查找不到报文对应的业务流会话,则基于多个协处理器的运行状态,按轮询均衡机制确定处理报文的运行有网络协议栈的协处理器。
第三方面,本发明实施例提供一种电子设备,包括:至少一个处理器、至少一个存储器以及存储在存储器中的计算机程序指令,当计算机程序指令被处理器执行时实现如本发明实施例第一方面所提供的方法。
第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序指令,当计算机程序指令被处理器执行时实现如本发明实施例第一方面所提供的方法。
利用本发明提供的处理报文的方法、装置、设备及介质,具有以下有益效果:基于报文的匹配信息,从多个已创建的业务流会话中查找报文对应的业务流会话,基于报文对应的业务流会话的会话信息,在确定报文符合快速处理要求后,经网络协议栈的快速处理模块直接对报文进行处理。本发明通过使用和设置会话信息,实现了根据会话信息进行快速处理,提高处理器的业务处理速度。
附图说明
图1为本背景技术提供的一种CPE上常用的多核CPU处理模型示意图;
图2为本发明实施例提供的一种处理报文的方法的流程示意图;
图3为本发明实施例提供的一种处理报文的方法的具体流程示意图;
图4为本发明实施例提供的另一处理报文的方法的具体流程示意图;
图5为本发明实施例提供的再一处理报文的方法的具体流程示意图;
图6为本发明实施例提供的一种处理报文的装置的结构示意图;
图7为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面对文中出现的一些词语进行解释。
1、本发明实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
2、虚拟扩展局域网(Virtual eXtensible Local Area Network,VxLAN)VXLAN是一种网络虚似化技术,可以改进大型云计算在部署时的扩展问题,是对VLAN的一种扩展。
3、第二层隧道协议(Layer Two Tunneling Protocol,L2TP)是一种虚拟隧道协议,通常用于虚拟专用网。L2TP协议自身不提供加密与可靠性验证的功能,可以和安全协议搭配使用,从而实现数据的加密传输。经常与L2TP协议搭配的加密协议是IPsec,当这两个协议搭配使用时,通常合称L2TP/IPsec。
4、用户数据报协议(User Datagram Protocol,UDP)是开放式系统互联参考模型中的一种无连接的传输层协议。
5、五元组信息,指源IP地址,源端口,目的IP地址,目的端口和传输层协议。
下面结合附图和实施例对本发明提供的处理报文的方法、装置、设备及介质进行更详细地说明。
本发明实施例提供一种处理报文的方法,该方法可应用于CPE,如图2所示,包括如下步骤201和步骤202。
步骤201,基于报文的匹配信息,从多个已创建的业务流会话中查找报文对应的业务流会话。
在本发明实施例中,CPE对接收到的来自外部设备的报文分流处理。每一条传输中的业务流创建有一个会话,称之为业务流会话,会话信息包括业务流识别信息和快速转发处理标志信息。
其中,业务流识别信息用于匹配报文的匹配信息,以确定报文是否属于业务流识别信息所对应的业务流。若报文的匹配信息匹配业务流识别信息成功,则报文属于业务流识别信息所对应的业务流,对应该业务流会话。分流方式可以尽可能地满足负载均衡为前提视情形而定。例如,按VLAN标识相同与否分流,具有相同VLAN标识的报文对应为一条业务流,此时业务流识别信息为报文的VLAN标识。再例如,按照报文的五元组相同与否分流,具有相同五元组信息的报文对应为一条业务流,此时业务流识别信息即为报文的五元组信息。当然,也可以依据其它现有的任意一种分流技术设定业务流识别信息,在此不做具体限定。
优选的,在相同通信双方间交互的报文,属于同一条业务流。例如,在第一设备与第二设备间无NAT穿越时,源IP为第一设备的IP、目的IP为第二设备的IP的所有报文,与源IP为第二设备的IP、目的IP为第一设备的IP的所有报文,由于这两个相反方向上传输的报文都是第一设备与第二设备之间的通信报文,则均属于同一业务流。当然,通信双方不仅指的是通信的两设备,还可指的是通信的两设备上的端口。该优选实施方式中,报文对应的业务流会话的会话信息中的业务流识别信息既包含报文通信双方在报文发送方向的识别信息,又包含报文通信双方在与报文发送方向反方向上的识别信息。具体实施时,业务流识别信息包括:第一通信方向的识别信息和第二通信方向的识别信息,其中第一通信方向和第二通信方向互为反方向,每个方向上的识别信息包括源IP地址、目的IP地址、源端口和目的端口。若业务流对应的通信双方通信时无NAT穿越,则两相反方向的识别信息互反,也即:第一通信方向的源IP地址与第二通信方向的目的IP地址相同,第一通信方向的目的IP地址与第二通信方向的源IP地址相同;第一通信方向的源端口与第二通信方向的目的端口相同,第一通信方向的目的端口与第二通信方向的源端口相同。若业务流对应的通信双方通信时存在NAT穿越,则从私网到公网的方向的识别信息为:源IP地址为私网设备IP,目的IP为公网设备IP,源端口为私网设备端口,目的端口为公网设备端口;从公网到私网的方向的识别信息为:源IP地址为公网设备IP,目的IP为NAT IP,源端口为公网设备端口,目的端口为NAT端口。
需要说明的是,若报文是隧道封装后的报文,则查找对应的业务流会话时提取的报文的匹配信息是报文的内层报文的三层信息和四层信息,若报文不是隧道封装后的报文,则查找对应的业务流会话时提取的报文的匹配信息是报文的三层信息和四层信息,若报文采用其他协议和层数设置,则可以根据报文的类型提取报文的相关字段内容来获取报文的源IP地址信息、目的IP地址信息、源端口信息和目的端口信息,本发明实施例对此不做限定。其中,三层信息指的是IP信息,包括源IP和目的IP,四层信息指的是端口信息,包括源端口和目的端口。
优选的,CPE上设置有多个协处理器,同一条业务流由一个协处理器处理。具体实施时,在从多个已创建的业务流会话中查找到报文对应的业务流会话之后,可以从多个协处理器中确定处理该业务流会话下报文的协处理器,并将报文发送至该协处理器对报文进行丢弃、上报上层应用或转发等后续处理。
会话信息中报文发送方向上的快速转发处理标志信息为有效值时,会话信息还会包括报文转发所需参数信息。示例性的,该参数信息可包含如下至少一种:报文发送方向上的路由信息、二层报头转换信息、NAT转换标志信息。NAT转换标志信息为有效值时,会话信息中含有NAT转换信息。可选的,若设置有多个协处理器,则会话信息还包括处理业务流会话下报文的协处理器标识。
步骤202,根据查找结果,对报文进行丢弃、上报上层应用、快速转发或慢速转发处理。
在本步骤中,报文的处理分以下几种情况。
(1)若查找到报文对应的业务流会话,则基于报文对应的业务流会话的会话信息,在确定报文符合快速转发处理要求后,经网络协议栈的快速处理模块直接对报文进行快速转发处理。
具体实施时,若会话信息中该报文发送方向上的快速转发处理标志信息为有效值,则确定报文符合快速转发处理要求,直接跳过网络协议栈中不需要走的处理模块,基于报文对应的业务流会话的会话信息,通过新增设的快速处理模块对报文进行转换封装从而使报文得到快速转发处理。需要说明的是,快速转发处理标志信息为默认值时认为可进行快速转发处理,其他值时认为不进行快速转发处理,此时默认值即为有效值;也可以是快速转发处理标志为默认值时认为不进行快速转发处理,其他值时认为可进行快速转发处理,此时除默认值之外的其它值为有效值,也可以是其他设置方式。
对于报文的快速转发处理,CPE设备上运行的网络协议栈的快速处理模块直接对报文进行快速转发处理,具体可包括:
在查找到的业务流会话的会话信息中的NAT转换标志信息为有效值时,依据查找到的业务流会话的会话信息中的NAT转换信息,对报文进行NAT转换;否则,不进行NAT转换;
依据查找到的业务流会话的会话信息中的二层报头转换信息,修改报文的二层报头;
依据查找到的业务流会话的会话信息中该报文发送方向上的路由信息,将修改后的报文转发到路由指定的接口。
其中,NAT转换、二层报头修改及路由转发的实现均为现有技术,在此不再赘述。具体的,所述会话信息中的NAT转换信息,与报文的分流方式有关,具体的:
①如果是按照报文的发送方信息相同且接收方信息也相同来分流的,那么业务流识别信息只是报文发送方向上的匹配信息,该NAT转换信息为NAT转换规则;
②如果是在相同通信双方间交互的报文属于同一条业务流,那么业务流识别信息同时包含报文通信双方两方向上的识别信息,该NAT转换信息可以直接是查找到的业务流会话的会话信息中的业务流识别信息,该情形下,无需在会话信息中再额外添加NAT转换规则,直接复用携带有NAT转换规则信息的业务流识别信息即可。
可选的,如果查找到的业务流会话的会话信息中包含有处理业务流的协处理器标识,则通过该标识的协处理器运行的网络协议栈的快速处理模块快速处理报文。
(2)若查找到报文对应的业务流会话,则基于报文对应的业务流会话的会话信息,在确定报文不符合快速转发处理要求后,经网络协议栈的原有处理模块对报文进行丢弃、上报上层应用或慢速转发处理。
具体实施时,若查找到报文对应的业务流会话的会话信息中该报文发送方向上的快速转发处理标志信息不是有效值,则确定报文不符合快速转发处理要求,经网络协议栈的原有处理模块处理报文,在处理过程中,由原有处理模块中的路由查找模块进行路由信息查找,判断报文是丢弃、上报上层应用还是转发处理。
如果是转发处理,则为慢速转发处理,经原有处理模块中的转发模块(例如QOS策略处理模块、IPSEC策略处理模块和NAT转换模块等)实时获取得到转发所需参数信息,据此将报文转发出去。说明一点,原有处理模块对报文的处理过程(例如路由查找、QOS策略处理、IPSEC策略处理、安全处理、NAT转换、二层头转换、报文上送等)为现有技术,在此不再赘述各处理模块如何协调工作进而实现对报文的处理的。
典型的,如果是在相同通信双方间交互的报文属于同一条业务流,业务流识别信息同时包含报文通信双方两方向上的识别信息,则慢速转发处理过程还包括:若报文均未匹配上限速QOS策略和加解密IPSEC策略,则说明查找到的业务流会话下该报文发送方向上的后续报文符合快速转发要求,则将处理中得到的该报文发送方向上的路由信息添加至会话信息中,并将报文通信双方在该报文发送方向上的快速转发处理标志信息置为有效值。
(3)若未查找到报文对应的业务流会话,则创建与所述报文对应的业务流会话,并经网络协议栈的原有处理模块对报文进行处理。
具体实施时,若未查找到报文对应的业务流会话,则表明该报文为一条新的业务流的首报文,先创建对应的业务流会话。如果是业务流识别信息同时包含报文通信双方两方向上的识别信息,则记录会话信息,其中业务流识别信息具体为:
第一通信方向三层信息中:源IP地址为该报文的源IP地址,目的IP地址为该报文的目的IP地址;第二通信方向三层信息中:源IP地址为该报文的目的IP地址,目的IP地址为该报文的源IP地址;同理,第一通信方向四层信息中:源端口为该报文的源端口,目的端口为该报文的目的端口;第二通信方向四层信息中:源端口为该报文的目的端口,目的端口为该报文的源端口;
第一通信方向的快速转发处理标志信息,用于标识该业务流会话上第一通信方向的报文是否能够进行快速转发处理的标志,默认初始值为0,指后续该业务流会话上第一通信方向的报文不进行快速转发处理;同理,第二通信方向的快速转发处理标志信息,用于标识该业务流会话上第二通信方向的报文是否能够进行快速转发处理的标志,默认初始值为0,指后续该业务流会话上第二通信方向的报文不进行快速转发处理。
可选的,会话信息还可包括处理该业务流会话下报文的协处理器。
区别于上述记录的会话信息,如果业务流识别信息只是报文发送方向上的识别信息,则记录的会话信息不包含第二通信方向三层信息和第二通信方向四层信息,以及第二通信方向的快速转发处理标志信息。
创建完会话之后,经网络协议栈的原有处理模块处理报文,在处理过程中,由原有处理模块中的路由查找模块进行路由信息查找,判断报文是丢弃、上报上层应用还是转发处理,如果是转发处理,则该处理是慢速转发处理,经原有处理模块中的转发模块实时获取得到转发所需参数信息,据此将报文转发出去,并适应性修改会话信息,还可向会话信息中添加所述转发所需参数信息,这样可以使得后续收到该业务流会话下该报文发送方向上的其它报文后可以复用该首报文转发所需要获取得到的信息直接转发,从而实现业务流的加速转发。说明一点,原有处理模块对报文的处理过程为现有技术,在此不再赘述各处理模块如何协调工作进而实现报文的处理的。
以下以网络协议栈的原有处理模块包括路由查找模块、QOS策略处理模块、IPSEC策略处理模块NAT转换模块等处理模块为例,对报文的部分处理过程和会话信息的更新进行解释。
a.若查找到路由信息,则根据路由信息判断该报文是发送给CPE设备上层应用或是进行转发的,若查找不到路由信息,则丢弃该报文;
若从路由信息确定该报文需进行转发,则该转发是慢速转发,将路由信息添加到会话信息中该报文发送方向(即第一通信方向)的路由信息中;若从路由信息确定该报文需发送到本地上层应用,则不添加路由信息;
b.若报文匹配上限速QOS策略或者加解密IPSEC策略,则对该报文进行相应的限速处理或者IPSEC加解密处理,此时保持该报文发送方向(即第一通信方向)的快速转发处理标志信息为初始值。
若路由查找判断该报文是进行转发的,且报文未匹配成功QOS策略处理模块的限速QOS策略和IPSEC策略处理模块的加解密IPSEC策略,则说明该业务流会话下该报文发送方向上的后续报文符合快速转发要求,将会话信息中该报文发送方向(即第一通信方向)的快速转发处理标志信息更新为有效值。
c.若路由查找判断该报文是进行转发的,且查找到NAT规则,则给会话信息设置NAT转换标志信息,置为有效值,用于标识该业务流会话下的报文要进行NAT转换处理,并根据查找到的NAT规则,对报文进行NAT转换处理。
如果是业务流识别信息同时包含报文通信双方两方向上的识别信息,则适应性修改会话信息中的业务流识别信息:若该报文是从私网设备发往公网设备,则修改第二通信方向上的三层信息中的目的IP地址和四层信息中的目的端口为经NAT转换后的报文的源IP地址和源端口;若该报文是从公网设备发往私网设备,则修改第二通信方向上的三层信息中的源IP地址和四层信息中的源端口为经NAT转换后的报文的目的IP地址和目的端口。
如果业务流识别信息只是报文发送方向上的匹配信息,则将NAT转换规则添加到会话信息中。
d.若路由查找判断该报文是进行转发的,则在将报文进行二层报头信息转换后将报文的二层头转换信息添加到会话信息中;
e.可选的,如果路由查找判断该报文是进行转发的,确定报文的出端口为虚接口(VXLAN、L2TP、GRE等),则将该虚接口对应的信息也添加到会话信息中。
优选的,若查找到报文对应的业务流会话,读取会话信息中的协处理器标识,并将报文发送至该标识对应的协处理器对报文进行后续处理。
若未查找到所述报文对应的业务流会话,则基于多个协处理器的运行状态,按轮询均衡机制确定处理报文的协处理器,并将报文发送至该协处理器对报文进行后续处理。
下面结合图3、图4和图5,以无协处理器(业务流识别信息单向)、有协处理器(业务流识别信息单向)和有协处理器(业务流识别信息双向)为例,分别对本发明实施例提供的处理报文的具体过程进行详细说明。
如图3所示,本发明实施例提供的处理报文的具体过程,可以包括如下步骤:
步骤301,接收报文。
步骤302,确定报文是否为隧道封装后的报文,若是,执行步骤303,若不是,则执行步骤304。
步骤303,确定内层报文的三层信息和四层信息为报文的匹配信息。执行步骤305。
步骤304,确定报文的三层信息和四层信息为报文的匹配信息。执行步骤305。
步骤305,基于匹配信息,查找与报文对应的业务流会话,若查找到与报文对应的业务流会话,则执行步骤306,反之执行步骤309。
具体实施时,根据报文的源IP地址、目的IP地址、源端口和目的端口,从多个已创建的业务流会话中查找会话信息中的业务流识别信息(源IP地址、目的IP地址、源端口和目的端口)与报文相同的业务流会话,查找到的业务流会话即为与报文对应的业务流会话。
步骤306,根据会话信息中的快速转发处理标志信息是否为有效值,确定是否进行快速转发处理,若是,则执行步骤307,若不是,则执行步骤308。
步骤307,基于查找到的业务流会话的会话信息中的报文转发所需参数信息,经网络协议栈中新增设的快速处理模块直接对报文进行快速转发处理,结束。
步骤308,经网络协议栈的原有处理模块对报文进行丢弃、上报上层应用或慢速转发处理,结束。
步骤309,创建与报文对应的业务流会话,记录会话信息中的业务流识别信息和快速转发标志信息,执行步骤310。其中,记录的会话信息包括:
步骤310,经网络协议栈的原有处理模块对报文进行丢弃、上报上层应用或慢速转发处理。
步骤311、若协处理器确定对报文的处理为慢速转发处理,且该业务流会话下的后续报文符合快速转发要求,则适应性更新会话信息使其包含报文转发所需参数信息并且快速转发标志信息为有效值。此时的会话信息包括:
如图4所示,本发明实施例提供的处理报文的具体过程,可以包括如下步骤:
步骤401,主处理器接收报文。
步骤402,主处理器确定报文是否为隧道封装后的报文,若是,执行步骤403,若不是,则执行步骤404。
步骤403,主处理器确定内层报文的三层信息和四层信息为报文的匹配信息。执行步骤405。
步骤404,主处理器确定报文的三层信息和四层信息为报文的匹配信息。执行步骤405。
步骤405,主处理器基于匹配信息,查找与报文对应的业务流会话,若查找到与报文对应的业务流会话,则执行步骤406和步骤407,反之执行步骤408和步骤409。
具体实施时,根据报文的源IP地址、目的IP地址、源端口和目的端口,从多个已创建的业务流会话中查找会话信息中的业务流识别信息(源IP地址、目的IP地址、源端口和目的端口)与报文相同的业务流会话,查找到的业务流会话即为与报文对应的业务流会话。
步骤406,主处理器将报文与查找到的业务流会话关联。
步骤407,主处理器将报文发送至查找到的业务流会话的会话信息中标识的协处理器。执行步骤410。
步骤408,主处理器基于多个协处理器的运行状态,按轮询均衡机制确定处理查找到的业务流对话下报文的协处理器。
步骤409,主处理器将报文发送至所确定出的协处理器。执行步骤410。
具体实施时,设置用于指示接收到报文时报文所能使用协处理器的掩码,若查找不到与报文对应的业务流会话,则主处理器读取设置的掩码,获取当时能使用的协处理器,然后按轮询均衡机制从能使用的所有协处理器中选择一个协处理器,并报文放到该协处理器中。其中掩码可以为一个二进制数,从低位到高位的各二进制比特位依次标识CPU0、CPU1、CPU2的可用状态,例如0代表不可用,1代表可用,当CPU掩码为e,其二进制为1110,则表示协处理器0不可用,协处理器1、协处理器2以及协处理器3可用,即可使用协处理器1、协处理器2以及协处理器处理报文。
需要说明的是,掩码格式可以按需求设定,选择协处理器的机制可以是轮询均衡机制,也可以是反向代理负载均衡等其他均衡机制,本发明实施例对此不做限定。
步骤410,协处理器检测接收到的报文是否关联了业务流会话;如果是,则执行步骤411,否则执行步骤414;
步骤411,协处理器根据查找到的业务流会话的会话信息中的快速转发处理标志信息是否为有效值,确定是否进行快速转发处理,若是,则执行步骤412,若不是,则执行步骤413。
步骤412,协处理器基于查找到的业务流会话的会话信息中的报文转发所需参数信息,经网络协议栈中新增设的快速处理模块直接对报文进行快速转发处理,结束。
步骤413,协处理器经网络协议栈的原有处理模块对报文进行丢弃、上报上层应用或慢速转发处理,结束。
步骤414,协处理器创建与报文对应的业务流会话,记录会话信息中的协处理器标识、业务流识别信息和快速转发标志信息。执行步骤415。其中,记录的会话信息包括:
步骤415,协处理器经网络协议栈的原有处理模块对报文进行丢弃、上报上层应用或慢速转发处理。
步骤416、适应性更新会话信息使其包含该报文发送方向上的路由信息且该报文发送方向上的快速转发标志信息为有效值。
具体实施时,若协处理器确定对报文的处理为慢速转发处理,且该业务流会话下的后续报文符合快速转发要求,则适应性更新会话信息使其包含报文转发所需参数信息并且快速转发标志信息为有效值。此时的会话信息具体包括:
如图5所示,本发明实施例提供的处理报文的具体过程,可以包括如下步骤:
步骤501、主处理器接收报文。
步骤502、主处理器确定报文是否为隧道封装后的报文,若是,执行步骤503,若不是,则执行步骤504。
步骤503、主处理器确定内层报文的三层信息和四层信息为报文的匹配信息。执行步骤505。
步骤504、主处理器确定报文的三层信息和四层信息为报文的匹配信息。执行步骤505。
步骤505、主处理器基于匹配信息,查找与报文对应的业务流会话,若查找到与报文对应的业务流会话,则执行步骤506和步骤507,反之执行步骤508和步骤509。
具体实施时,根据报文的源IP地址、目的IP地址、源端口和目的端口,从多个已创建的业务流会话中查找会话信息的业务流识别信息中是否存在一通信方向上的源IP地址、目的IP地址、源端口和目的端口与报文相同的业务流会话,查找到的业务流会话即为与报文对应的业务流会话。
步骤506、主处理器将报文与查找到的业务流会话关联。
步骤507、主处理器将报文发送至查找到的业务流会话的会话信息中标识的协处理器。执行步骤510。
步骤508、主处理器基于多个协处理器的运行状态,按轮询均衡机制确定处理查找到的业务流对话下报文的协处理器。
步骤509、主处理器将报文发送至所确定出的协处理器。执行步骤510。
步骤510、协处理器检测接收到的报文是否关联了业务流会话;如果是,则执行步骤511,否则执行步骤515;
步骤511、协处理器根据查找到的业务流会话的会话信息中该报文发送方向的快速转发处理标志信息是否为有效值,确定是否进行快速转发处理,若是,则执行步骤512,若不是,则执行步骤513和步骤514。
步骤512、协处理器基于查找到的业务流会话的会话信息中的报文转发所需参数信息,经网络协议栈中新增设的快速处理模块直接对报文进行快速转发处理,结束。
步骤513、协处理器经网络协议栈的原有处理模块对报文进行丢弃、上报上层应用或慢速转发处理。执行步骤514。
步骤514、适应性更新会话信息使其包含该报文发送方向上的路由信息且该报文发送方向上的快速转发标志信息为有效值。
具体实施时,若协处理器确定对报文的处理为慢速转发处理,且该业务流会话下该报文发送方向上的后续报文符合快速转发要求,则适应性更新会话信息使其包含该报文发送方向上的路由信息且该报文发送方向上的快速转发标志信息为有效值,结束。
步骤515、协处理器创建与报文对应的业务流会话,记录会话信息中的协处理器标识,以及两方向上的业务流识别信息和两方向上的快速转发标志信息。执行步骤516。其中,记录的会话信息包括:
步骤516、协处理器经网络协议栈的原有处理模块对报文进行丢弃、上报上层应用或慢速转发处理。
步骤517、适应性更新会话信息使其包含该报文发送方向上的路由信息且该报文发送方向上的快速转发标志信息为有效值。
具体实施时,若协处理器确定对报文的处理为慢速转发处理,且该业务流会话下该报文发送方向上的后续报文符合快速转发要求,则适应性更新会话信息使其包含报文转发所需参数信息且该报文发送方向上的快速转发标志信息为有效值。
可选的,存在NAT转换时报文转发所需参数信息不包括NAT转换规则,适应性更新会话信息包括:根据NAT转换结果修改业务流识别信息。此时的会话信息具体包括:
如图6所示,基于处理报文的方法同样的发明构思,本发明还提供一种处理报文的装置,包括:
查找单元601,用于基于报文的匹配信息,从多个已创建的业务流会话中查找报文对应的业务流会话,其中业务流会话的会话信息包括业务流识别信息和快速转发处理标志信息,报文对应的业务流会话的会话信息中的业务流识别信息与报文的匹配信息相匹配,快速转发处理标志信息为指示进行快速转发处理时,会话信息还包括用于报文转发的参数信息;
处理单元602,用于基于报文对应的业务流会话的会话信息,在确定快速转发处理标志信息为指示进行快速转发处理后,经网络协议栈新增设的快速处理模块直接对报文进行快速转发处理。
在一种可能实施的方式中,本发明实施例提供的装置中,参数信息包括如下至少一种:报文发送方向上的路由信息、二层报头转换信息、NAT转换标志信息;其中,NAT转换标志信息为指示进行NAT转换时,会话信息中还包括NAT转换信息;
处理单元602还用于:
当报文对应的业务流会话的会话信息中的NAT转换标志信息为指示进行NAT转换时,依据查找到的业务流会话的会话信息中的NAT转换信息,对报文进行NAT转换;和/或
依据报文对应的业务流会话的会话信息中的二层报头转换信息,修改报文的二层报头;和/或
依据报文对应的业务流会话的会话信息中该报文发送方向上的路由信息,将修改后的报文转发到路由指定的接口。
在一种可能实施的方式中,本发明实施例提供的装置中,业务流识别信息包括:第一通信方向的识别信息和第二通信方向的识别信息,其中第一通信方向和第二通信方向互为反方向;
查找单元601具体用于:
确定会话信息中第一通信方向的识别信息与报文的匹配信息相同的业务流会话为报文对应的业务流会话;或
确定会话信息中第二通信方向的识别信息与报文的匹配信息相同的业务流会话为报文对应的业务流会话;
其中,NAT转换标志信息为指示进行NAT转换时,业务流识别信息同时作为NAT转换信息。
在一种可能实施的方式中,本发明实施例提供的装置中,处理单元602还用于:
基于报文对应的业务流会话的会话信息,在确定快速转发处理标志信息指示不进行快速转发处理后,经网络协议栈的原有处理模块对报文进行丢弃、上报上层应用或慢速转发处理。
在一种可能实施的方式中,本发明实施例提供的装置中,处理单元602还用于:
若确定报文发送方向上的后续报文符合快速转发要求,则在报文对应的业务流会话的会话信息中添加用于报文转发的参数信息中报文发送方向上的路由信息;
将报文发送方向上的快速转发标志信息设置为指示进行快速转发处理。
在一种可能实施的方式中,本发明实施例提供的装置中,处理单元602还用于:
若未查找到报文对应的业务流会话,则创建与报文对应的业务流会话,并记录会话信息中的业务流识别信息和快速转发标志信息;
经网络协议栈的原有处理模块对报文进行处理,并在处理为转发处理且确定报文发送方向上的后续报文符合快速转发要求后更新会话信息,其中更新会话信息包括:在会话信息中添加用于所述报文转发的参数信息中报文发送方向上的路由信息,并将报文发送方向上的快速转发标志信息设置为指示进行快速转发处理。
在一种可能实施的方式中,本发明实施例提供的装置中,记录会话信息中的业务流识别信息和快速转发标志信息,具体包括:
根据报文的匹配信息,生成第一通信方向的识别信息和第二通信方向的识别信息,其中第一通信方向的识别信息包括:与报文的源IP地址相同的源IP地址,与报文的目的IP地址相同的目的IP地址,与报文的源端口相同的源端口,与报文的目的端口相同的目的端口,第二通信方向的识别信息包括:与报文的目的IP地址相同的源IP地址,与报文的源IP地址相同的目的IP地址,与报文的目的端口相同的源端口,与报文的源端口相同的目的端口;
若经网络协议栈的原有处理模块对报文进行的处理为转发处理,且存在NAT转换时,则处理单元602还用于:
在报文对应的业务流会话的会话信息中设置指示进行NAT转换的NAT转换标志信息;
若报文是从私网设备发往公网设备的报文,则修改业务流识别信息中第二通信方向上的目的IP地址和目的端口为经NAT转换后的报文的源IP地址和源端口;或
若报文是从公网设备发往私网设备的报文,则修改业务流识别信息中第二通信方向上的源IP地址和源端口为经NAT转换后的报文的目的IP地址和目的端口。
在一种可能实施的方式中,本发明实施例提供的装置中,装置还包括:
确定单元,用于基于与报文对应的业务流会话的会话信息中的协处理器标识,确定处理报文的运行有网络协议栈的协处理器;
发送单元,用于将报文发送至协处理器处理。
在一种可能实施的方式中,本发明实施例提供的装置中,确定单元还用于:若查找不到报文对应的业务流会话,则基于多个协处理器的运行状态,按轮询均衡机制确定处理报文的运行有网络协议栈的协处理器。
另外,结合图2-图6描述的本发明实施例的处理报文的方法和装置可以由电子设备来实现。图7示出了本发明实施例提供的电子设备的硬件结构示意图。
电子设备可以包括处理器701以及存储有计算机程序指令的存储器702。
具体地,上述处理器701可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本发明实施例的一个或多个集成电路。
存储器702可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器702可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器702可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器702可在数据处理装置的内部或外部。在特定实施例中,存储器702是非易失性固态存储器。在特定实施例中,存储器702包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
处理器701通过读取并执行存储器702中存储的计算机程序指令,以实现上述实施例中的任意一种处理报文的方法。
在一个示例中,电子设备还可包括通信接口703和总线710。其中,如图7所示,处理器701、存储器702、通信接口703通过总线710连接并完成相互间的通信。
通信接口703,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。
总线710包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线710可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
该电子设备可以基于接收到的报文,执行本发明实施例中的处理报文的方法,从而实现结合图2-图6描述的处理报文的方法和装置。
另外,结合上述实施例中的电子设备,本发明实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种处理报文的方法。
利用本发明提供的处理报文的方法、装置、设备及介质,具有以下有益效果:基于报文的匹配信息,从多个已创建的业务流会话中查找报文对应的业务流会话,基于报文对应的业务流会话的会话信息,在确定报文符合快速处理要求后,经网络协议栈的快速处理模块直接对报文进行处理。本发明通过使用和设置会话信息,实现了根据会话信息进行快速处理,提高处理器的业务处理速度。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (20)
1.一种处理报文的方法,其特征在于,包括:
基于报文的匹配信息,从多个已创建的业务流会话中查找报文对应的业务流会话,其中所述业务流会话的会话信息包括业务流识别信息和快速转发处理标志信息,所述报文对应的业务流会话的会话信息中的业务流识别信息与所述报文的匹配信息相匹配,所述快速转发处理标志信息为指示进行快速转发处理时,所述会话信息还包括用于报文转发的参数信息;
基于所述报文对应的业务流会话的会话信息,在确定所述快速转发处理标志信息为指示进行快速转发处理后,经网络协议栈新增设的快速处理模块直接对所述报文进行快速转发处理。
2.如权利要求1所述的方法,其特征在于,所述参数信息包括如下至少一种:报文发送方向上的路由信息、二层报头转换信息、NAT转换标志信息;其中,NAT转换标志信息为指示进行NAT转换时,所述会话信息中还包括NAT转换信息;
所述经网络协议栈新增设的快速处理模块直接对所述报文进行快速转发处理,包括:
当所述报文对应的业务流会话的会话信息中的NAT转换标志信息为指示进行NAT转换时,依据所述业务流会话的会话信息中的NAT转换信息,对报文进行NAT转换;和/或
依据所述报文对应的业务流会话的会话信息中的二层报头转换信息,修改报文的二层报头;和/或
依据所述报文对应的业务流会话的会话信息中该报文发送方向上的路由信息,将修改后的报文转发到路由指定的接口。
3.如权利要求2所述的方法,其特征在于,所述业务流识别信息包括:第一通信方向的识别信息和第二通信方向的识别信息,其中第一通信方向和第二通信方向互为反方向;
所述基于报文的匹配信息,从多个已创建的业务流会话中查找报文对应的业务流会话,包括:
确定会话信息中第一通信方向的识别信息与所述报文的匹配信息相同的业务流会话为所述报文对应的业务流会话;或
确定会话信息中第二通信方向的识别信息与所述报文的匹配信息相同的业务流会话为所述报文对应的业务流会话;
其中,所述NAT转换标志信息为指示进行NAT转换时,所述业务流识别信息同时作为NAT转换信息。
4.如权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:
基于所述报文对应的业务流会话的会话信息,在确定所述快速转发处理标志信息指示不进行快速转发处理后,经网络协议栈的原有处理模块对报文进行丢弃、上报上层应用或慢速转发处理。
5.如权利要求4所述的方法,其特征在于,所述经网络协议栈的原有处理模块对报文进行慢速转发处理,还包括:
若确定所述报文发送方向上的后续报文符合快速转发要求,则在所述报文对应的业务流会话的会话信息中添加用于所述报文转发的参数信息中所述报文发送方向上的路由信息;
将所述报文发送方向上的快速转发标志信息设置为指示进行快速转发处理。
6.如权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:
若未查找到所述报文对应的业务流会话,则创建与所述报文对应的业务流会话,并记录会话信息中的业务流识别信息和快速转发标志信息;
经网络协议栈的原有处理模块对报文进行处理,并在所述处理为转发处理且确定所述报文发送方向上的后续报文符合快速转发要求后更新会话信息,其中所述更新会话信息包括:在会话信息中添加用于所述报文转发的参数信息中所述报文发送方向上的路由信息,并将所述报文发送方向上的快速转发标志信息设置为指示进行快速转发处理。
7.如权利要求6所述的方法,其特征在于,所述记录会话信息中的业务流识别信息和快速转发标志信息,具体包括:
根据报文的匹配信息,生成第一通信方向的识别信息和第二通信方向的识别信息,其中所述第一通信方向的识别信息包括:与所述报文的源IP地址相同的源IP地址,与所述报文的目的IP地址相同的目的IP地址,与所述报文的源端口相同的源端口,与所述报文的目的端口相同的目的端口,第二通信方向的识别信息包括:与所述报文的目的IP地址相同的源IP地址,与所述报文的源IP地址相同的目的IP地址,与所述报文的目的端口相同的源端口,与所述报文的源端口相同的目的端口;
若经网络协议栈的原有处理模块对报文进行的处理为转发处理,且存在NAT转换时,则所述更新会话信息,还包括:
在所述报文对应的业务流会话的会话信息中设置指示进行NAT转换的NAT转换标志信息;
若所述报文是从私网设备发往公网设备的报文,则修改所述业务流识别信息中第二通信方向上的目的IP地址和目的端口为经NAT转换后的报文的源IP地址和源端口;或
若所述报文是从公网设备发往私网设备的报文,则修改所述业务流识别信息中第二通信方向上的源IP地址和源端口为经NAT转换后的报文的目的IP地址和目的端口。
8.如权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:基于与所述报文对应的业务流会话的会话信息中的协处理器标识,确定处理所述报文的运行有网络协议栈的协处理器;
将所述报文发送至所述协处理器处理。
9.如权利要求8所述的方法,其特征在于,所述方法还包括:若查找不到所述报文对应的业务流会话,则基于多个协处理器的运行状态,按轮询均衡机制确定处理所述报文的运行有网络协议栈的协处理器。
10.一种处理报文的装置,其特征在于,所述装置包括:
查找单元,用于基于报文的匹配信息,从多个已创建的业务流会话中查找报文对应的业务流会话,其中所述业务流会话的会话信息包括业务流识别信息和快速转发处理标志信息,所述报文对应的业务流会话的会话信息中的业务流识别信息与所述报文的匹配信息相匹配,所述快速转发处理标志信息为指示进行快速转发处理时,所述会话信息还包括用于报文转发的参数信息;
处理单元,用于基于所述报文对应的业务流会话的会话信息,在确定所述快速转发处理标志信息为指示进行快速转发处理后,经网络协议栈新增设的快速处理模块直接对所述报文进行快速转发处理。
11.如权利要求10所述的装置,其特征在于,所述参数信息包括如下至少一种:报文发送方向上的路由信息、二层报头转换信息、NAT转换标志信息;其中,NAT转换标志信息为指示进行NAT转换时,所述会话信息中还包括NAT转换信息;
所述处理单元还用于:
当所述报文对应的业务流会话的会话信息中的NAT转换标志信息为指示进行NAT转换时,依据所述业务流会话的会话信息中的NAT转换信息,对报文进行NAT转换;和/或
依据所述报文对应的业务流会话的会话信息中的二层报头转换信息,修改报文的二层报头;和/或
依据所述报文对应的业务流会话的会话信息中该报文发送方向上的路由信息,将修改后的报文转发到路由指定的接口。
12.如权利要求11所述的装置,其特征在于,所述业务流识别信息包括:第一通信方向的识别信息和第二通信方向的识别信息,其中第一通信方向和第二通信方向互为反方向;
所述查找单元具体用于:
确定会话信息中第一通信方向的识别信息与所述报文的匹配信息相同的业务流会话为所述报文对应的业务流会话;或
确定会话信息中第二通信方向的识别信息与所述报文的匹配信息相同的业务流会话为所述报文对应的业务流会话,其中所述NAT转换标志信息为指示进行NAT转换时,所述业务流识别信息同时作为NAT转换信息。
13.如权利要求10-12中任一项所述的装置,其特征在于,所述处理单元还用于:
基于所述报文对应的业务流会话的会话信息,在确定所述快速转发处理标志信息指示不进行快速转发处理后,经网络协议栈的原有处理模块对报文进行丢弃、上报上层应用或慢速转发处理。
14.如权利要求13所述的装置,其特征在于,所述处理单元还用于:
若确定所述报文发送方向上的后续报文符合快速转发要求,则在所述报文对应的业务流会话的会话信息中添加用于所述报文转发的参数信息中所述报文发送方向上的路由信息;
将所述报文发送方向上的快速转发标志信息设置为指示进行快速转发处理。
15.如权利要求10-12中任一项所述的装置,其特征在于,所述处理单元还用于:
若未查找到所述报文对应的业务流会话,则创建与所述报文对应的业务流会话,并记录会话信息中的业务流识别信息和快速转发标志信息;
经网络协议栈的原有处理模块对报文进行处理,并在所述处理为转发处理且确定所述报文发送方向上的后续报文符合快速转发要求后更新会话信息,其中所述更新会话信息包括:在会话信息中添加用于所述报文转发的参数信息中所述报文发送方向上的路由信息,并将所述报文发送方向上的快速转发标志信息设置为指示进行快速转发处理。
16.如权利要求15所述的装置,其特征在于,所述记录会话信息中的业务流识别信息和快速转发标志信息,具体包括:
根据报文的匹配信息,生成第一通信方向的识别信息和第二通信方向的识别信息,其中所述第一通信方向的识别信息包括:与所述报文的源IP地址相同的源IP地址,与所述报文的目的IP地址相同的目的IP地址,与所述报文的源端口相同的源端口,与所述报文的目的端口相同的目的端口,第二通信方向的识别信息包括:与所述报文的目的IP地址相同的源IP地址,与所述报文的源IP地址相同的目的IP地址,与所述报文的目的端口相同的源端口,与所述报文的源端口相同的目的端口;
若经网络协议栈的原有处理模块对报文进行的处理为转发处理,且存在NAT转换时,则所述处理单元还用于:
在所述报文对应的业务流会话的会话信息中设置指示进行NAT转换的NAT转换标志信息;
若所述报文是从私网设备发往公网设备的报文,则修改所述业务流识别信息中第二通信方向上的目的IP地址和目的端口为经NAT转换后的报文的源IP地址和源端口;或
若所述报文是从公网设备发往私网设备的报文,则修改所述业务流识别信息中第二通信方向上的源IP地址和源端口为经NAT转换后的报文的目的IP地址和目的端口。
17.如权利要求10-12中任一项所述的装置,其特征在于,所述装置还包括:确定单元,用于基于与所述报文对应的业务流会话的会话信息中的协处理器标识,确定处理所述报文的运行有网络协议栈的协处理器;
发送单元,用于将所述报文发送至所述协处理器处理。
18.如权利要求17所述的装置,其特征在于,所述确定单元还用于:若查找不到所述报文对应的业务流会话,则基于多个协处理器的运行状态,按轮询均衡机制确定处理所述报文的运行有网络协议栈的协处理器。
19.一种电子设备,其特征在于,包括:至少一个处理器、至少一个存储器以及存储在所述存储器中的计算机程序指令,当所述计算机程序指令被所述处理器执行时实现如权利要求1-9中任一项所述的方法。
20.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,当所述计算机程序指令被处理器执行时实现如权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911300173.4A CN111049910A (zh) | 2019-12-16 | 2019-12-16 | 一种处理报文的方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911300173.4A CN111049910A (zh) | 2019-12-16 | 2019-12-16 | 一种处理报文的方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111049910A true CN111049910A (zh) | 2020-04-21 |
Family
ID=70237020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911300173.4A Pending CN111049910A (zh) | 2019-12-16 | 2019-12-16 | 一种处理报文的方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111049910A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112350917A (zh) * | 2020-11-03 | 2021-02-09 | 优刻得科技股份有限公司 | 传送报文的方法、系统、设备、介质和混合云系统 |
CN113079518A (zh) * | 2021-03-29 | 2021-07-06 | 新华三技术有限公司 | 一种报文转发方法、装置及设备 |
CN113726760A (zh) * | 2021-08-27 | 2021-11-30 | 珠海市鸿瑞信息技术股份有限公司 | 一种基于负载均衡的工业控制通信加密系统及方法 |
CN113904950A (zh) * | 2021-12-06 | 2022-01-07 | 广东睿江云计算股份有限公司 | 基于流的网络监测方法、装置、计算机设备及存储介质 |
CN114079675A (zh) * | 2020-08-17 | 2022-02-22 | 华为技术有限公司 | 报文处理方法、装置、终端设备及移动宽带上网设备 |
CN115442254A (zh) * | 2022-09-05 | 2022-12-06 | 南京中孚信息技术有限公司 | 网络数据包流向判定方法、装置及网关设备 |
WO2024016975A1 (zh) * | 2022-07-18 | 2024-01-25 | 华为技术有限公司 | 报文转发方法、装置、设备及芯片系统 |
WO2024093540A1 (zh) * | 2022-11-04 | 2024-05-10 | 深圳市中兴微电子技术有限公司 | L2tp报文硬件加速方法、装置、设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101043446A (zh) * | 2007-03-08 | 2007-09-26 | 华为技术有限公司 | 数据转发处理的方法和装置 |
CN101616083A (zh) * | 2009-08-06 | 2009-12-30 | 杭州华三通信技术有限公司 | 一种报文转发方法和装置 |
CN105099921A (zh) * | 2015-05-29 | 2015-11-25 | 杭州华三通信技术有限公司 | 一种基于用户的快速业务处理方法以及装置 |
CN105959254A (zh) * | 2015-12-02 | 2016-09-21 | 杭州迪普科技有限公司 | 处理报文的方法和装置 |
CN106330715A (zh) * | 2015-06-30 | 2017-01-11 | 杭州华三通信技术有限公司 | 报文处理方法及装置 |
CN107493235A (zh) * | 2016-06-13 | 2017-12-19 | 中兴通讯股份有限公司 | 一种快速转发报文的方法和装置 |
CN107786465A (zh) * | 2016-08-27 | 2018-03-09 | 华为技术有限公司 | 一种用于处理低延迟业务流的方法和装置 |
CN107948076A (zh) * | 2017-12-29 | 2018-04-20 | 杭州迪普科技股份有限公司 | 一种转发报文的方法及装置 |
-
2019
- 2019-12-16 CN CN201911300173.4A patent/CN111049910A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101043446A (zh) * | 2007-03-08 | 2007-09-26 | 华为技术有限公司 | 数据转发处理的方法和装置 |
CN101616083A (zh) * | 2009-08-06 | 2009-12-30 | 杭州华三通信技术有限公司 | 一种报文转发方法和装置 |
CN105099921A (zh) * | 2015-05-29 | 2015-11-25 | 杭州华三通信技术有限公司 | 一种基于用户的快速业务处理方法以及装置 |
CN106330715A (zh) * | 2015-06-30 | 2017-01-11 | 杭州华三通信技术有限公司 | 报文处理方法及装置 |
CN105959254A (zh) * | 2015-12-02 | 2016-09-21 | 杭州迪普科技有限公司 | 处理报文的方法和装置 |
CN107493235A (zh) * | 2016-06-13 | 2017-12-19 | 中兴通讯股份有限公司 | 一种快速转发报文的方法和装置 |
CN107786465A (zh) * | 2016-08-27 | 2018-03-09 | 华为技术有限公司 | 一种用于处理低延迟业务流的方法和装置 |
EP3468123A1 (en) * | 2016-08-27 | 2019-04-10 | Huawei Technologies Co., Ltd. | Method and device for use in processing low-latency traffic |
CN107948076A (zh) * | 2017-12-29 | 2018-04-20 | 杭州迪普科技股份有限公司 | 一种转发报文的方法及装置 |
Non-Patent Citations (1)
Title |
---|
熊柯等: ""输出端口编码的可扩展快速转发方法"", 《北京交通大学学报》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114079675A (zh) * | 2020-08-17 | 2022-02-22 | 华为技术有限公司 | 报文处理方法、装置、终端设备及移动宽带上网设备 |
CN114079675B (zh) * | 2020-08-17 | 2023-06-06 | 华为技术有限公司 | 报文处理方法、装置、终端设备及移动宽带上网设备 |
CN112350917A (zh) * | 2020-11-03 | 2021-02-09 | 优刻得科技股份有限公司 | 传送报文的方法、系统、设备、介质和混合云系统 |
CN113079518A (zh) * | 2021-03-29 | 2021-07-06 | 新华三技术有限公司 | 一种报文转发方法、装置及设备 |
CN113726760A (zh) * | 2021-08-27 | 2021-11-30 | 珠海市鸿瑞信息技术股份有限公司 | 一种基于负载均衡的工业控制通信加密系统及方法 |
CN113726760B (zh) * | 2021-08-27 | 2022-04-01 | 珠海市鸿瑞信息技术股份有限公司 | 一种基于负载均衡的工业控制通信加密系统及方法 |
CN113904950A (zh) * | 2021-12-06 | 2022-01-07 | 广东睿江云计算股份有限公司 | 基于流的网络监测方法、装置、计算机设备及存储介质 |
CN113904950B (zh) * | 2021-12-06 | 2022-02-22 | 广东睿江云计算股份有限公司 | 基于流的网络监测方法、装置、计算机设备及存储介质 |
WO2024016975A1 (zh) * | 2022-07-18 | 2024-01-25 | 华为技术有限公司 | 报文转发方法、装置、设备及芯片系统 |
CN115442254A (zh) * | 2022-09-05 | 2022-12-06 | 南京中孚信息技术有限公司 | 网络数据包流向判定方法、装置及网关设备 |
CN115442254B (zh) * | 2022-09-05 | 2024-01-30 | 南京中孚信息技术有限公司 | 网络数据包流向判定方法、装置及网关设备 |
WO2024093540A1 (zh) * | 2022-11-04 | 2024-05-10 | 深圳市中兴微电子技术有限公司 | L2tp报文硬件加速方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111049910A (zh) | 一种处理报文的方法、装置、设备及介质 | |
US11677851B2 (en) | Accelerated network packet processing | |
US10158568B2 (en) | Method and apparatus for service function forwarding in a service domain | |
CN111095901B (zh) | 服务操作链接方法、设备、系统、以及可读存储介质 | |
US10237230B2 (en) | Method and system for inspecting network traffic between end points of a zone | |
US10177936B2 (en) | Quality of service (QoS) for multi-tenant-aware overlay virtual networks | |
US20170126726A1 (en) | Securing a managed forwarding element that operates within a data compute node | |
US9356844B2 (en) | Efficient application recognition in network traffic | |
US10911579B1 (en) | Generating programmatically defined fields of metadata for network packets | |
US10601610B2 (en) | Tunnel-level fragmentation and reassembly based on tunnel context | |
CN110768884B (zh) | Vxlan报文封装及策略执行方法、设备、系统 | |
CN109496409B (zh) | 一种数据传送的方法和虚拟交换机 | |
CN110383792B (zh) | 通信系统中的计算系统和方法 | |
CN105340217A (zh) | 一种报文处理方法、装置及系统 | |
CN113395212B (zh) | 网络装置及其操作方法和非暂时性计算机可读介质 | |
US10541842B2 (en) | Methods and apparatus for enhancing virtual switch capabilities in a direct-access configured network interface card | |
WO2020201815A1 (en) | Methods and systems for sending packets through a plurality of tunnels | |
CN105591967B (zh) | 一种数据传输方法和装置 | |
US10887234B1 (en) | Programmatic selection of load balancing output amongst forwarding paths | |
CN112511438B (zh) | 一种利用流表转发报文的方法、装置及计算机设备 | |
US9473396B1 (en) | System for steering data packets in communication network | |
CN113541924B (zh) | 报文检测的方法、设备以及系统 | |
CN112165460A (zh) | 流量检测方法、装置、计算机设备和存储介质 | |
US11115337B2 (en) | Network traffic segregation on an application basis in a virtual computing environment | |
US20230155988A1 (en) | Packet security over multiple networks |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200421 |