一种报文转发方法、设备及存储设备、程序产品技术

技术编号:21205209 阅读:46 留言:0更新日期:2019-05-25 02:51
本申请实施例公开了一种报文转发方法及设备,当转发处理器接收到待转发报文时,首先查找该待转发报文的会话表,如果查找到会话表,则获取该会话表进行转发。当未查找到该待转发报文的会话表,则转发处理器在应用识别快表中查找该待转发报文的协议类型,如果查找到该待转发报文的协议类型且未查找到父连接信息,则根据协议类型建立会话表,并根据会话表转发。如果未查找到待转发报文的协议类型,则第二处理器根据待转发报文的目的地址及目的端口识别协议类型,转发处理器根据协议类型建立会话表,并根据会话表转发。如果在应用识别快表中查找到待转发报文的父连接信息,则转发处理器直接根据父连接信息建立待转发报文的会话表,并根据会话表转发。

A Message Forwarding Method, Equipment and Storage Devices, Program Products

The embodiment of this application discloses a message forwarding method and device. When the forwarding processor receives the message to be forwarded, it first looks up the session table of the message to be forwarded, and if it finds the session table, it gets the session table for forwarding. When the session table of the message to be forwarded is not found, the forwarding processor finds the protocol type of the message to be forwarded in the application identification snapshot. If the protocol type of the message to be forwarded is found and the parent connection information is not found, the session table is established according to the protocol type and forwarded according to the session table. If the protocol type of the message to be forwarded is not found, the second processor identifies the protocol type according to the destination address and destination port of the message to be forwarded. The forwarding processor establishes a session table according to the protocol type and forwards it according to the session table. If the parent connection information of the message to be forwarded is found in the application identification snapshot, the forwarding processor directly establishes the session table of the message to be forwarded based on the parent connection information and forwards it according to the session table.

【技术实现步骤摘要】
一种报文转发方法、设备及存储设备、程序产品
本申请涉及通信
,具体涉及一种报文转发方法、设备及存储设备、程序产品。
技术介绍
防火墙等网络设备的报文转发系统的性能是用户重视的性能指标,在实际应用场景中报文的各种应用类型同时存在,其中关于动态端口报文的性能开销相对而言实现最复杂。动态端口类的报文一般分为父连接和子连接,例如在FTP(FileTransferProtocol,文件传输协议)中,交互控制指令的控制连接为父连接,基于父连接,交互数据的数据连接即为子连接。在父连接建立后,通常会约定所使用的通信端口,子连接基于所约定使用的通信端口进行通信,在该过程中,子连接所使用的通信端口即为动态端口。在现有技术中,网络设备在接收到报文后,会查找是否存在该报文对应的会话表,如果存在,则依照该会话表进行报文转发,如果不存在,则需要建立该报文对应的会话表。对于需要建立会话表的报文,如果为父连接报文,则还需要建立该父连接的子连接对应的会话表模板,以使得再次接收到报文时,通过查找该会话表模板,确定接收到的报文是否为子连接报文,如果是子连接报文,则根据该会话表模板建立子连接报文对应的会话表。因此,在网络设备接收到报文后,需要首先查找会话表,确定是否存在该报文的会话表,如果不存在,则还需要查找会话表模板,以确定该报文是否为子连接报文。但是,子连接报文只占全部报文的一小部分,该种报文转发方式,对于所有报文均需要进行两次全局查找,也即对于大部分非子连接报文,会存在一次浪费的查找会话表模板的过程。导致该种报文转发方式,实现复杂,效率较为低下,使得报文转发性能开销较大。
技术实现思路
有鉴于此,本申请实施例提供一种报文转发方法、设备及存储设备、程序产品,以解决现有技术中针对报文转发效率低下以及开销较大的问题。为解决上述问题,本申请实施例提供的技术方案如下:一种报文转发方法,第一处理器建立应用识别快表,所述应用识别快表中保存有非动态端口表项以及动态端口表项,每一所述非动态端口表项包括目的地址、目的端口以及对应的协议类型,每一所述动态端口表项包括目的地址、目的端口以及对应的父连接信息;所述方法包括:转发处理器接收待转发报文,查找是否存在所述待转发报文的会话表;如果存在所述待转发报文的会话表,所述转发处理器获取所述待转发报文的会话表;如果不存在所述待转发报文的会话表,所述转发处理器根据所述待转发报文的目的地址以及目的端口在所述应用识别快表中进行查找;如果从所述应用识别快表中查找到所述待转发报文对应的协议类型且未查找到所述待转发报文对应的父连接信息,所述转发处理器根据所述待转发报文对应的协议类型建立所述待转发报文的会话表;如果从所述应用识别快表中未查找到所述待转发报文对应的协议类型,所述转发处理器将所述待转发报文发送给第二处理器,所述第二处理器根据所述待转发报文的目的地址以及目的端口识别对应的协议类型,所述转发处理器根据所述待转发报文对应的协议类型建立所述待转发报文的会话表;如果从所述应用识别快表中查找到所述待转发报文对应的父连接信息,所述转发处理器根据所述待转发报文对应的父连接信息建立所述待转发报文的会话表;所述转发处理器根据所述待转发报文的会话表对所述待转发报文进行转发。在一种可能的实现方式中,如果所述第二处理器根据所述待转发报文的目的地址以及目的端口识别对应的协议类型之后,所述方法还包括:所述第一处理器将所述待转发报文的目的地址、目的端口以及对应的协议类型作为所述非动态端口表项写入所述应用识别快表。在一种可能的实现方式中,所述转发处理器从所述应用识别快表中查找到所述待转发报文对应的协议类型之后,或者,所述转发处理器获取所述待转发报文对应的协议类型之后,所述方法还包括:如果根据所述待转发报文对应的协议类型确定所述待转发报文为父连接报文,所述第一处理器将所述待转发报文的子连接报文的目的地址、目的端口以及对应的父连接信息作为所述动态端口表项写入所述应用识别快表。在一种可能的实现方式中,所述第一处理器将所述待转发报文的目的地址、目的端口以及对应的协议类型作为所述非动态端口表项写入所述应用识别快表,包括:所述第二处理器将所述待转发报文的目的地址、目的端口以及对应的协议类型添加到通知队列;所述第一处理器从所述通知队列中读取所述待转发报文的目的地址、目的端口以及对应的协议类型,将所述待转发报文的目的地址、目的端口以及对应的协议类型作为所述非动态端口表项确定为待写入表项;所述第一处理器将所述待写入表项写入所述应用识别快表。在一种可能的实现方式中,所述第一处理器将所述待转发报文的子连接报文的目的地址、目的端口以及对应的父连接信息作为所述动态端口表项写入所述应用识别快表,包括:所述转发处理器将所述待转发报文的子连接报文的目的地址、目的端口以及对应的父连接信息添加到通知队列;所述第一处理器从所述通知队列中读取所述待转发报文的子连接报文的目的地址、目的端口以及对应的父连接信息,将所述待转发报文的子连接报文的目的地址、目的端口以及对应的父连接信息作为所述动态端口表项确定为待写入表项;所述第一处理器将所述待写入表项写入所述应用识别快表。在一种可能的实现方式中,所述第一处理器将待写入表项写入所述应用识别快表,包括:所述第一处理器从内存池中申请空闲表项;所述第一处理器将所述空闲表项添加到所述应用识别快表中;所述第一处理器将所述待写入表项写入所述空闲表项。在一种可能的实现方式中,所述方法还包括:所述第一处理器将所述应用识别快表中超时的非动态端口表项从所述应用识别快表中删除;和/或,所述第一处理器将所述应用识别快表中删除位置一动态端口表项从所述应用识别快表中删除。在一种可能的实现方式中,所述方法还包括:所述转发处理器将所述应用识别快表中需要删除的动态端口表项的删除位置一。在一种可能的实现方式中,如果根据所述待转发报文对应的协议类型确定所述待转发报文为父连接报文,所述第一处理器将所述待转发报文的子连接报文的目的地址、目的端口以及对应的父连接信息作为所述动态端口表项写入所述应用识别快表之后,所述方法还包括:所述转发处理器将所述待转发报文的子连接报文的通信两端标识以及目标处理器的标识写入网络设备,以使所述网络设备接收到与所述待转发报文的子连接报文的通信两端标识相匹配的后续报文时,将所述后续报文发送给所述目标处理器,所述目标处理器是根据所述待转发报文对应的父连接信息确定的。一种报文转发设备,所述设备包括:第一处理器、转发处理器以及第二处理器;所述第一处理器,用于建立应用识别快表,所述应用识别快表中保存有非动态端口表项以及动态端口表项,每一所述非动态端口表项包括目的地址、目的端口以及对应的协议类型,每一所述动态端口表项包括目的地址、目的端口以及对应的父连接信息;所述转发处理器,用于接收待转发报文,查找是否存在所述待转发报文的会话表;如果存在所述待转发报文的会话表,获取所述待转发报文的会话表;如果不存在所述待转发报文的会话表,根据所述待转发报文的目的地址以及目的端口在所述应用识别快表中进行查找;如果从所述应用识别快表中查找到所述待转发报文对应的协议类型且未查找到所述待转发报文对应的父连接信息,根据所述待转发报文对应的协议类型建立所述待转发报文的会话表;如果从所述应用本文档来自技高网...

【技术保护点】
1.一种报文转发方法,其特征在于,第一处理器建立应用识别快表,所述应用识别快表中保存有非动态端口表项以及动态端口表项,每一所述非动态端口表项包括目的地址、目的端口以及对应的协议类型,每一所述动态端口表项包括目的地址、目的端口以及对应的父连接信息;所述方法包括:转发处理器接收待转发报文,查找是否存在所述待转发报文的会话表;如果存在所述待转发报文的会话表,所述转发处理器获取所述待转发报文的会话表;如果不存在所述待转发报文的会话表,所述转发处理器根据所述待转发报文的目的地址以及目的端口在所述应用识别快表中进行查找;如果从所述应用识别快表中查找到所述待转发报文对应的协议类型且未查找到所述待转发报文对应的父连接信息,所述转发处理器根据所述待转发报文对应的协议类型建立所述待转发报文的会话表;如果从所述应用识别快表中未查找到所述待转发报文对应的协议类型,所述转发处理器将所述待转发报文发送给第二处理器,所述第二处理器根据所述待转发报文的目的地址以及目的端口识别对应的协议类型,所述转发处理器根据所述待转发报文对应的协议类型建立所述待转发报文的会话表;如果从所述应用识别快表中查找到所述待转发报文对应的父连接信息,所述转发处理器根据所述待转发报文对应的父连接信息建立所述待转发报文的会话表;所述转发处理器根据所述待转发报文的会话表对所述待转发报文进行转发。...

【技术特征摘要】
1.一种报文转发方法,其特征在于,第一处理器建立应用识别快表,所述应用识别快表中保存有非动态端口表项以及动态端口表项,每一所述非动态端口表项包括目的地址、目的端口以及对应的协议类型,每一所述动态端口表项包括目的地址、目的端口以及对应的父连接信息;所述方法包括:转发处理器接收待转发报文,查找是否存在所述待转发报文的会话表;如果存在所述待转发报文的会话表,所述转发处理器获取所述待转发报文的会话表;如果不存在所述待转发报文的会话表,所述转发处理器根据所述待转发报文的目的地址以及目的端口在所述应用识别快表中进行查找;如果从所述应用识别快表中查找到所述待转发报文对应的协议类型且未查找到所述待转发报文对应的父连接信息,所述转发处理器根据所述待转发报文对应的协议类型建立所述待转发报文的会话表;如果从所述应用识别快表中未查找到所述待转发报文对应的协议类型,所述转发处理器将所述待转发报文发送给第二处理器,所述第二处理器根据所述待转发报文的目的地址以及目的端口识别对应的协议类型,所述转发处理器根据所述待转发报文对应的协议类型建立所述待转发报文的会话表;如果从所述应用识别快表中查找到所述待转发报文对应的父连接信息,所述转发处理器根据所述待转发报文对应的父连接信息建立所述待转发报文的会话表;所述转发处理器根据所述待转发报文的会话表对所述待转发报文进行转发。2.根据权利要求1所述的方法,其特征在于,如果所述第二处理器根据所述待转发报文的目的地址以及目的端口识别对应的协议类型之后,所述方法还包括:所述第一处理器将所述待转发报文的目的地址、目的端口以及对应的协议类型作为所述非动态端口表项写入所述应用识别快表。3.根据权利要求1所述的方法,其特征在于,所述转发处理器从所述应用识别快表中查找到所述待转发报文对应的协议类型之后,或者,所述转发处理器获取所述待转发报文对应的协议类型之后,所述方法还包括:如果根据所述待转发报文对应的协议类型确定所述待转发报文为父连接报文,所述第一处理器将所述待转发报文的子连接报文的目的地址、目的端口以及对应的父连接信息作为所述动态端口表项写入所述应用识别快表。4.根据权利要求2所述的方法,其特征在于,所述第一处理器将所述待转发报文的目的地址、目的端口以及对应的协议类型作为所述非动态端口表项写入所述应用识别快表,包括:所述第二处理器将所述待转发报文的目的地址、目的端口以及对应的协议类型添加到通知队列;所述第一处理器从所述通知队列中读取所述待转发报文的目的地址、目的端口以及对应的协议类型,将所述待转发报文的目的地址、目的端口以及对应的协议类型作为所述非动态端口表项确定为待写入表项;所述第一处理器将所述待写入表项写入所述应用识别快表。5.根据权利要求3所述的方法,其特征在于,所述第一处理器将所述待转发报文的子连接报文的目的地址、目的端口以及...

【专利技术属性】
技术研发人员:刘健男
申请(专利权)人:东软集团股份有限公司
类型:发明
国别省市:辽宁,21

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1