CN115580579A - 报文转发方法、装置、电子设备及存储介质 - Google Patents

报文转发方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN115580579A
CN115580579A CN202211195494.4A CN202211195494A CN115580579A CN 115580579 A CN115580579 A CN 115580579A CN 202211195494 A CN202211195494 A CN 202211195494A CN 115580579 A CN115580579 A CN 115580579A
Authority
CN
China
Prior art keywords
hash
port
layer protocol
data
current control
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
Application number
CN202211195494.4A
Other languages
English (en)
Other versions
CN115580579B (zh
Inventor
张文鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou DPTech Technologies Co Ltd
Original Assignee
Hangzhou DPTech Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou DPTech Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN202211195494.4A priority Critical patent/CN115580579B/zh
Publication of CN115580579A publication Critical patent/CN115580579A/zh
Application granted granted Critical
Publication of CN115580579B publication Critical patent/CN115580579B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开提供一种报文转发方法、装置、电子设备及存储介质,所述方法包括:在接收第一端向第二端发送的数据请求报文,所述数据请求报文包括目的IP以及目的端口;根据所述目的IP、所述目的端口以及当前控制链路的三层协议进行哈希计算,获取哈希结果;根据所述哈希结果遍历当前控制链路的应用层协议对应的所有哈希桶,获取到匹配结果,其中,当前控制链路的应用层协议对应至少两个哈希桶,每一哈希桶内存储有数据链路表项;根据所述匹配结果确定是否放通所述数据请求报文。通过针对每一种应用层协议设置多个哈希桶,将原来针对所有应用层协议的公用表拆分成每一种协议对应的数据结构进行维护,进而能够优化ALG流量转发的性能,提升报文转发效率。

Description

报文转发方法、装置、电子设备及存储介质
技术领域
本公开涉及通信技术领域,具体涉及一种报文转发方法、装置、电子设备及存储介质。
背景技术
在应用层协议中,有很多协议都包含多通道的信息,比如FTP(File TransferProtocol,文件传输协议)、SIP(Session Initiation Protocol,会话初始协议)、TFTP(Trivial File Transfer Protocol,简单文件传输协议)等。这种多通道的应用需要首先在控制通道中对后续数据通道的地址和端口进行协商,然后根据协商结果创建多个数据通道连接。
目前防火墙在设置的时候一般是不允许接受外部发起的连接的,所以服务器与客户端之间不能建立新的连接,例如,针对FTP协议,许多位于防火墙后或内网的FTP服务器不支持PASV模式,因为客户端无法穿过防火墙打开FTP服务器的高端端口;而许多内网的客户端不能用PORT模式登陆FTP服务器,因为从服务器的TCP 20无法和内部网络的客户端建立一个新的连接,造成无法工作。为了保证客户端与服务器之间能够建立连接,需要通过控制链路为其打通一条路,该链路叫做数据连接,也就是对该链路加上“特权”,使得数据链路上的数据不受防火墙设备的阻断。
ALG(Application Layer Gateway Service,应用层网关)支持多种协议,包括上述的FTP、SIP、TFTP等,ALG可以维护所有链路的“特权”信息,以保证该“特权”报文可以被防火墙设备放通。
目前ALG对所有协议(如FTP、SIP等)的数据链路信息均保存在一个共用的表上,并且对该表的并发访问使用了一个粒度很大的全局锁。当ALG相关协议(如FTP、SIP等)的流(该流以下简称ALG流量)过大,会导致这个共用表中的数据非常多,而当前这表使用了一个全局的自旋锁,如果多核CPU并发访问会导致设备性能迅速下降。
发明内容
本申请的一个目的在于提出一种报文转发方法、装置、电子设备及存储介质,能够提高报文转发效率。
根据本申请实施例的一方面,公开了一种文转发方法,所述方法包括:接收第一端向第二端发送的数据请求报文,所述数据请求报文包括目的IP以及目的端口;根据所述目的IP、所述目的端口以及当前控制链路的三层协议进行哈希计算,获取哈希结果;根据所述哈希结果遍历当前控制链路的应用层协议对应的所有哈希桶,获取到匹配结果,其中,当前控制链路的应用层协议对应至少两个哈希桶,每一哈希桶内存储有数据链路表项;根据所述匹配结果确定是否放通所述数据请求报文
根据本申请实施例的一方面,公开了一种报文转发装置,所述装置包括:报文接收模块,配置为接收第一端向第二端发送的数据请求报文,所述数据请求报文包括目的IP以及目的端口;哈希计算模块,配置为根据所述目的IP、所述目的端口以及当前控制链路的三层协议进行哈希计算,获取哈希结果;结果遍历模块,配置为根据所述哈希结果遍历当前控制链路的应用层协议对应的所有哈希桶,获取到匹配结果,其中,当前控制链路的应用层协议对应至少两个哈希桶,每一哈希桶内存储有数据链路表项;报文放通模块,配置为根据所述匹配结果确定是否放通所述数据请求报文。
根据本申请实施例的一方面,公开了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现上述各种可选实现方式中提供的方法。
根据本申请实施例的一方面,公开了一种计算机程序介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行上述各种可选实现方式中提供的方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。
本申请实施例中,在接收第一端向第二端发送的数据请求报文,所述数据请求报文包括目的IP以及目的端口;根据所述目的IP、所述目的端口以及当前控制链路的三层协议进行哈希计算,获取哈希结果;根据所述哈希结果遍历当前控制链路的应用层协议对应的所有哈希桶,获取到匹配结果,其中,当前控制链路的应用层协议对应至少两个哈希桶,每一哈希桶内存储有数据链路表项;根据所述匹配结果确定是否放通所述数据请求报文。通过针对每一种应用层协议设置多个哈希桶,将原来针对所有应用层协议的公用表拆分成每一种协议对应的数据结构进行维护,并且每个协议用哈希链表进行维护,通过每个哈希桶对应一个自旋锁来减小原有方案的粒度,进而能够优化ALG流量转发的性能,提升报文转发效率。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
通过参考附图详细描述其示例实施例,本申请的上述和其它目标、特征及优点将变得更加显而易见。
图1示出了本申请所提供的报文转发系统的结构图。
图2示出了本申请所提供的报文转发方法的流程图。
图3示出了本申请所提供的一种应用层协议对应的哈希桶的结构示意图。
图4示出了本申请所提供的另一种报文转发方法的流程图。
图5示出了本申请所提供的数据流示意图。
图6示出了根据本申请一实施例的报文转发装置600的框图。
图7示出了根据本申请一个实施例的电子设备硬件图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些示例实施方式使得本申请的描述将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本申请的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多示例实施方式中。在下面的描述中,提供许多具体细节从而给出对本申请的示例实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、步骤等。在其它情况下,不详细示出或描述公知结构、方法、实现或者操作以避免喧宾夺主而使得本申请的各方面变得模糊。
附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
下面首先对本发明实施例中的名词进行解释:
FTP是TCP/IP协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。
默认情况下FTP协议使用TCP端口中的20和21这两个端口,其中20用于传输数据,21用于传输控制信息。但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。
FTP支持两种模式,一种方式叫做Standard(也就是PORT方式,主动方式),一种是Passive(也就是PASV,被动方式)。Standard模式FTP的客户端发送PORT命令到FTP服务器。Passive模式FTP的客户端发送PASV命令到FTP Server。
主动模式:FTP客户端首先和FTP服务器的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。FTP server必须和客户端建立一个新的连接用来传送数据。
被动模式:在建立控制通道的时候和Standard模式类似,但建立连接后发送的不是Port命令,而是Pasv命令。FTP服务器收到Pasv命令后,随机打开一个高端端口(端口号大于1024)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,通过三次握手建立通道,然后FTP服务器将通过这个端口进行数据的传送。
ALG(Application Level Gateway,应用层网关)技术能对多通道协议进行应用层报文信息的解析和地址转换,将载荷中需要进行地址转换的IP地址和端口或者需特殊处理的字段进行相应的转换和处理,从而保证应用层通信的正确性。普通NAT实现了对UDP或TCP报文头中的的IP地址及端口转换功能,但对应用层数据载荷中的字段无能为力,在许多应用层协议中,比如多媒体协议(H.323、SIP等)、FTP、SQLNET等,TCP/UDP载荷中带有地址或者端口信息,这些内容不能被NAT进行有效的转换,就可能导致问题。此时,需要NAT ALG(Application Level Gateway,应用层网关)技术解决这个问题。
例如,FTP应用就由数据连接和控制连接共同完成,而且数据连接的建立动态地由控制连接中的载荷字段信息决定,这就需要ALG来完成载荷字段信息的转换,以保证后续数据连接的正确建立。
本申请提出了一种报文转发方法,可应用于需要协商的通信协议,例如FTP、SIP、TFTP等,该方法的执行主体可以为网关设备或者防火墙设备,通过为每一种应用层协议设置多个哈希桶,在网关设备或防火墙设备,进而能够优化ALG流量转发的性能,提升报文转发效率。
图1示出了本申请所提供的报文转发系统的结构图,其中,执行报文转发的装置以防火墙为例进行说明,但本领域技术人员可以理解,该报文转发方法的执行主体还可以为网关设备。如图1所示,该系统可以包括防火墙100、第一端200以及第二端300。防火墙设备100设置于第一端200和第二端200之间,用于对第一端200和第二端300之间进行数据转发。防火墙100可以收到第一端200向第二端300发送的数据请求报文,该数据请求报文包括目的IP以及目的端口,根据所述目的IP、所述目的端口以及当前控制链路的三层协议进行哈希计算,获取哈希结果,之后根据所述哈希结果遍历当前控制链路的应用层协议对应的所有哈希桶,获取到匹配结果,其中,当前控制链路的应用层协议对应至少两个哈希桶,每一哈希桶内存储有数据链路表项,根据所述匹配结果确定是否放通所述数据请求报文,即是否将数据请求报文转发至第二端300。
下面结合具体的实施例,对本发明实施例中提出的报文转发方法进行详细的说明。
图2示出了本申请所提供的报文转发方法的流程图,该方法的执行主体可以为防火墙或网关设备,本申请实施例中以防火墙为例进行说明。如图2所示,该方法可以包括但不限于以下步骤:
步骤S210、接收第一端向第二端发送的数据请求报文,所述数据请求报文包括目的IP以及目的端口。
步骤S220、根据所述目的IP、所述目的端口以及当前控制链路的三层协议进行哈希计算,获取哈希结果。
步骤S230、根据所述哈希结果遍历当前控制链路的应用层协议对应的所有哈希桶,获取到匹配结果,其中,当前控制链路的应用层协议对应至少两个哈希桶,每一哈希桶内存储有数据链路表项。
步骤S240、根据所述匹配结果确定是否放通所述数据请求报文。
本发明实施例中,在防火墙接收到第一端向第二端发送的数据请求报文之前,第一端与第二端已经通过正常的TCP三次握手流程建立连接,由于客户端可以主动与服务器建立连接,所以TCP三次握手连接可建立成功。当TCP三次握手建立成功后,第一端向第二端发送数据请求报文,数据请求报文包括目的IP以及目的端口,其中,该目的IP即为第二端的IP,目的端口即为第一端与第二端之间协商好的进行数据链接开放的端口,即协商端口。以主动模式为例,第一端为服务器,第二端为客户端,该目的端口即为第二端(客户端)向第一端(服务器)发送的PORT命令报文中为接下来的数据链接开放的协商端口。
当防火墙接收到该数据请求报文后,根据目的IP、目的端口以及当前控制链路的三层协议进行哈希计算,获取哈希结果,然后根据所述哈希结果遍历当前控制链路的应用层协议对应的所有哈希桶,获取到匹配结果,其中,当前控制链路的应用层协议对应至少两个哈希桶,每一哈希桶内存储有数据链路表项。
需要说明的是,防火墙可以获取当前控制链路的应用层协议以及三层协议。在获取当前控制链路的应用层协议以及三层协议时,可以对数据请求报文中的目的端口进行解析,获取到当前控制链路的应用层协议,可以对所述数据请求报文进行解析,获取到当前控制链路的三层协议。应用层协议以FTP为例,三层协议可以为IPV4或IPV6。
本发明实施例中,针对每一种应用层协议,预先设置多个哈希桶,将每种应用层协议对应的所有数据链路表项分配到这些哈希桶中,或者,也可以表示为将每种应用层协议对应的所有数据链路表项以哈希桶的形式进行维护,其中每种应用层协议对应多个哈希桶,每一哈希桶内存储有数据链路表项。针对每一个哈希桶,设置其对应的哈希结果,其中,哈希结果可以根据端口数据以及三层协议进行哈希计算提前获取。需要指出的是,每一哈希桶可以对应至少一个哈希结果。
图3示出了本申请所提供的一种应用层协议对应的哈希桶的结构示意图,如图3所示,根据计算出的哈希结果,可以首先从该应用层协议对应的所有哈希桶中查找到该哈希结果对应的哈希桶,进一步的,若获取到目的IP以及目的端口后,可以与该哈希桶内存储的数据链路中的目的IP以及目的端口进行匹配,获取匹配结果。
在获取到匹配结果后,可以根据匹配结果确定是否放通该数据请求报文,即若匹配结果为匹配成功,放通所述数据请求报文,若匹配结果为匹配失败,拦截所述数据请求报文。
在匹配成功,确定将数据请求报文转发至第二端后,第一端主动建立与第二端中的目的端口(即数据请求报文中的目的端口,也为协商端口)的数据链接,第一端通过该端口向第二端发送数据,在数据发送完成后,第一端(中的目的端口)与第二端结束数据链接,在数据连接结束后,第一端与第二端结束控制链接。
本申请实施例中,在接收第一端向第二端发送的数据请求报文,所述数据请求报文包括目的IP以及目的端口;根据所述目的IP、所述目的端口以及当前控制链路的三层协议进行哈希计算,获取哈希结果;根据所述哈希结果遍历当前控制链路的应用层协议对应的所有哈希桶,获取到匹配结果,其中,当前控制链路的应用层协议对应至少两个哈希桶,每一哈希桶内存储有数据链路表项;根据所述匹配结果确定是否放通所述数据请求报文。通过针对每一种应用层协议设置多个哈希桶,将原来针对所有应用层协议的公用表拆分成每一种协议对应的数据结构进行维护,进而能够优化ALG流量转发的性能,提升报文转发效率。
在一种可能的实施方式中,防火墙还可以根据第二端向第一端发送的端口数据报文,向哈希桶中添加数据链路表项。
图4示出了本申请所提供的另一种报文转发方法的流程图,如图4所示,该方法可以包括但不限于以下步骤:
步骤S410、接收所述第二端向所述第一端发送的端口数据报文,并获取到当前控制链路的应用层协议、三层协议、协商端口以及源IP。
本发明实施例中,接收到的第二端向所述第一端发送的端口数据报文中可以包括目的端口、协商端口以及所述源IP,对端口数据报文进行解析,获取到包括目的端口、协商端口以及所述源IP,还可以获取到当前控制链路的三层协议,对该端口数据报文中的目的端口进行解析,可以获取到当前控制链路的应用层协议。
其中,应用层协议以FTP为例,三层协议可以为IPV4或IPV6。该目的端口是指第一端的端口,源IP即为第二端的IP,协商端口即为第二端指定的协商端口。在主动PORT模式下,第一端为服务器,第二端为客户端,该目的端口即为服务器的端口21(默认情况下,FTP协议同事TCP端口中的20和21这两个端口,其中20用于传输数据,21用于传输控制信息),源IP即为客户端的IP,协商端口即为客户端指定的为接下来的数据连接开放的协商端口。
步骤S420、根据所述源IP、所述三层协议以及所述协商端口进行哈希计算,获取哈希结果。
需要指出的是,此处不利用应用层协议进行哈希计算是考虑如果利用应用层协议、源IP以及协商端口进行哈希计算,其结果相比于三层协议、源IP以及协商端口进行哈希计算的哈希结果要少很多,这是因为当前控制链路的应用层协议是相同的,而三层协议是不同的,因此,利用三层协议可以增加计算出的哈希结果,即可以利用哈希结果预设置更多的哈希桶,每一哈希通内的数据链接表项更少,从而在匹配时,定位的哈希桶内的数据连接表项更准确,定位更精准。
步骤S430、从所述应用层协议对应的所有哈希桶中查找到所述哈希结果对应的哈希桶,并获取所述哈希桶的自旋锁,其中,每一哈希桶对应不同的自旋锁,所述自旋锁用于对向哈希桶添加数据过程的锁定。
本发明实施例中,针对每种应用层协议设置多个哈希桶,每一哈希桶对应不同的自旋锁,所述自旋锁用于对向哈希桶添加数据过程的锁定。即在向哈希桶中添加数据时,只有获取到该哈希桶的自旋锁才能够添加成功,否则无法添加成功。
需要指出的是,现有技术中所有协议对应一个公用表,该公用表仅存在一个全局锁,如果多核CPU并发访问会导致设备性能迅速下降。而本发明实施例中,针对每种应用层协议设置多个哈希桶,将原来针对所有应用层协议的公用表拆分成每一种协议对应的数据结构进行维护,并通过每个哈希桶对应一个自旋锁来减小原有全局锁的粒度,进而能够优化ALG流量转发的性能,提升报文转发效率。
步骤S440、以所述源IP作为目的IP,以所述协商端口作为目的端口生成数据链路表项。
例如,在主动PORT模式下,第一端为服务器,第二端为客户端,源IP即为客户端的IP,协商端口即为客户端指定的为接下来的数据连接开放的协商端口,以客户端的IP作为目的IP,以协商端口作为目的端口生成数据链路表项。
步骤S450、基于所述自旋锁将所述数据链路表项添加到所述哈希桶中。
本发明实施例中,由于自旋锁用于对向哈希桶添加数据过程的锁定,所以在获取到自旋锁后,可以将生成的数据链路表项添加到哈希桶中。
本发明实施例中,通过针对每一种应用层协议设置多个哈希桶,将原来针对所有应用层协议的公用表拆分成每一种协议对应的数据结构进行维护,并且每个协议用哈希链表进行维护,通过每个哈希桶对应一个自旋锁来减小原有方案的粒度,进而能够优化ALG流量转发的性能,提升报文转发效率。
在一种可能的实施例中,若所述第一端为服务器,所述第二端为客户端,所述端口数据报文为主动PORT命令报文,即在主动模式下,以上实施例中的第一端为服务器,第二端为客户端。若所述第一端为客户端,所述第二端为服务器,所述端口数据报文为所述服务器在接收到所述客户端的被动Pasv命令报文后返回的端口请求报文。即在被动模式下,以上实施例中的第一端为客户端,第二端为服务器。
下面以应用层协议为FTP协议,以第一端为服务器,第二端为客户端,端口数据报文为主动PORT命令报文,即FTP的主动模式为例,对本发明实施例中的报文转发方法进行详细的说明。
图5示出了本申请所提供的数据流示意图,如图5所示,该方法可以包括但不限于以下步骤:
步骤S510,客户端向服务器发送PORT命令报文。
需要指出的是,客户端已经通过正常的TCP三次握手流程与服务器建立连接,由于客户端可以主动与服务器建立连接,所以TCP三次握手连接可建立成功。
例如,客户端(IP:1.1.1.1,端口:1111)通过正常的TCP三次握手流程与服务器(IP:2.2.2.2,端口21)建立连接后,向服务器发送PORT命令报文,该PORT命令报文是与服务器协商控制链接的相关数据。其中,该PORT命令报文中可以包括:客户端的IP为1.1.1.1,和客户端为接下来的数据链接开放的协商端口为33333。
步骤S520,防火墙接收到该PORT命令报文,并获取到当前控制链路的应用层协议、三层协议、协商端口以及源IP,根据所述源IP、所述三层协议以及所述协商端口进行哈希计算,获取哈希结果,从所述应用层协议对应的所有哈希桶中查找到所述哈希结果对应的哈希桶,并获取所述哈希桶的自旋锁,以所述源IP作为目的IP,以所述协商端口作为目的端口生成数据链路表项,基于所述自旋锁将所述数据链路表项添加到所述哈希桶中。其中,每一哈希桶对应不同的自旋锁,所述自旋锁用于对向哈希桶添加数据过程的锁定。
例如,防火墙设备收到该PORT请求报文后,对该报文进行解析,可以获取到客户端的源IP(1.1.1.1)、协商端口(33333)以及三层协议(IPV4或IPV6),通过解析该报文的目的端口(21)可取得当前控制链路的应用层协议为FTP。接下来生成数据链路信息,并将数据链路信息缓存到ALG表项,即对应的哈希桶中。
在生成数据链路信息时,先根据客户端的源IP(1.1.1.1)、协商端口(33333)、三层协议(IPV4或IPV6)做哈希运算获得哈希运算结果H,根据哈希结果H遍历其应用层协议FTP协议对应的所有哈希桶,获取到该哈希结果对应的哈希桶,并获取该哈希桶对应的自旋锁,该自旋锁可以是锁住向哈希桶添加数据的过程,以保证多核并发的临界区安全。最后,以1.1.1.1作为目的IP,以33333作为目的端口生成一条数据链路信息,利用自旋锁将其放入到哈希桶中,也就是放入FTP对应的ALG的表项中。
步骤S530,防火墙将PORT命令报文转发至服务器。
步骤S540,服务器接收该PORT命令报文,处理完成后返回响应报文,以通知客户端服务器已经受理了该PORT命令报文。例如,该响应报文可以是200OK报文。
步骤S550,服务器向客户端发送数据请求报文,所述数据请求报文包括目的IP以及目的端口。
服务器主动向客户端申请建立TCP连接,向客户端发送数据请求报文,该数据请求报文中,以客户端的IP(1.1.1.1)为目的IP,并且以PORT命令报文中的控制链接的协商端口(33333)作为目的端口。
步骤S560,防火墙接收第一端向第二端发送的数据请求报文,并根据所述目的IP、所述目的端口以及当前控制链路的三层协议进行哈希计算,获取哈希结果。
防火墙设备收到服务器向客户端发送的目的IP为1.1.1.1、目的端口为33333的数据请求报文,对该报文解析,不仅可以获取到目的IP为1.1.1.1、目的端口为33333,还可以获取到当前控制链路的三层协议,通过对该数据请求报文中的目的端口进行解析,获取到当前控制链路的应用层协议。之后,根据目的IP(1.1.1.1)、目的端口(33333)和三层协议(IPV4或IPV6)做哈希计算获得哈希结果。
步骤S570,防火墙根据所述哈希结果遍历当前控制链路的应用层协议对应的所有哈希桶,获取到匹配结果,其中,当前控制链路的应用层协议对应至少两个哈希桶,每一哈希桶内存储有数据链路表项。
根据哈希结果遍历其应用层协议FTP对应的所有哈希桶,获取到该哈希结果所对应的哈希桶,将所述目的IP以及所述目的端口与所述哈希桶内存储的数据链路中的目的IP以及目的端口进行匹配,获取匹配结果。
步骤S580,防火墙确定匹配结果为匹配成功,放通所述数据请求报文。
当目的IP以及所述目的端口与所述哈希桶内存储的数据链路中的目的IP以及目的端口匹配后,即为匹配成功,可放通该报文,这样达到了放通服务器主动访问客户端数据的目的。
步骤S590,客户端接收到该数据请求报文,服务器主动与客户端建立数据链路。
当数据链路建立成功后,服务器向客户端发送数据,数据发送完成后,服务器和客户端结束数据连接,数据连接结束后,服务器和客户端结束控制链接。
本发明实施例中主要是针对所有协议的共用的全局表进行优化,优化方法有两个方向,一是为每个协议单独维护一个表用来存放数据链路信息;二是将锁的粒度减小,每个协议的数据链路信息都采用哈希表来存放,并为每个哈希表单独维护一个锁,进而能够优化ALG流量转发的性能,提升报文转发效率。
图6示出了根据本申请一实施例的报文转发装置600的框图,所述装置包括:
报文接收模块601,配置为接收第一端向第二端发送的数据请求报文,所述数据请求报文包括目的IP以及目的端口。
哈希计算模块602,配置为根据所述目的IP、所述目的端口以及当前控制链路的三层协议进行哈希计算,获取哈希结果。
结果遍历模块603,配置为根据所述哈希结果遍历当前控制链路的应用层协议对应的所有哈希桶,获取到匹配结果,其中,当前控制链路的应用层协议对应至少两个哈希桶,每一哈希桶内存储有数据链路表项。
报文放通模块604,配置为根据所述匹配结果确定是否放通所述数据请求报文。
在本申请的一示例性实施例中,所述报文转发装置600还包括:
数据获取模块605,配置为接收所述第二端向所述第一端发送的端口数据报文,并获取到当前控制链路的应用层协议、三层协议、协商端口以及源IP。
结果获取模块606,配置为根据所述源IP、所述三层协议以及所述协商端口进行哈希计算,获取哈希结果。
哈希桶查找模块607,配置为从所述应用层协议对应的所有哈希桶中查找到所述哈希结果对应的哈希桶,并获取所述哈希桶的自旋锁,其中,每一哈希桶对应不同的自旋锁,所述自旋锁用于对向哈希桶添加数据过程的锁定。
表项生成模块608,配置为以所述源IP作为目的IP,以所述协商端口作为目的端口生成数据链路表项;
表项添加模块609,配置为基于所述自旋锁将所述数据链路表项添加到所述哈希桶中。
在本申请的一示例性实施例中,所述数据获取模块605配置为:
接收所述第二端向所述第一端发送的端口数据报文,所述端口数据报文包括目的端口、协商端口以及所述源IP;
对所述端口数据报文进行解析,获取到当前控制链路的三层协议;
对所述端口数据报文中的目的端口进行解析,获取到当前控制链路的应用层协议。
在本申请的一示例性实施例中,所述报文转发装置600还包括:协议获取模块610,配置为获取当前控制链路的应用层协议以及三层协议;
所述协议获取模块610,具体配置为:对所述数据请求报文中的目的端口进行解析,获取到当前控制链路的应用层协议;对所述数据请求报文进行解析,获取到当前控制链路的三层协议。
在本申请的一示例性实施例中,所述结果遍历模块603,配置为;根据所述哈希结果遍历当前控制链路的应用层协议对应的所有哈希桶,获取到所述哈希结果对应的哈希桶;将所述目的IP以及所述目的端口与所述哈希桶内存储的数据链路中的目的IP以及目的端口进行匹配,获取匹配结果。
在本申请的一示例性实施例中,所述第一端为服务器,所述第二端为客户端,所述端口数据报文为主动PORT命令报文。
在本申请的一示例性实施例中,所述第一端为客户端,所述第二端为服务器,所述端口数据报文为所述服务器在接收到所述客户端的被动Pasv命令报文后返回的端口请求报文。
下面参考图7来描述根据本申请实施例的电子设备70。图7显示的电子设备70仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,电子设备70以通用计算设备的形式表现。电子设备70的组件可以包括但不限于:上述至少一个处理单元710、上述至少一个存储单元720、连接不同系统组件(包括存储单元720和处理单元710)的总线730。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元710执行,使得所述处理单元710执行本说明书上述示例性方法的描述部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元710可以执行如图2中所示的各个步骤。
存储单元720可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)7201和/或高速缓存存储单元7202,还可以进一步包括只读存储单元(ROM)7203。
存储单元720还可以包括具有一组(至少一个)程序模块7205的程序/实用工具7204,这样的程序模块7205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线730可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备70也可以与一个或多个外部设备800(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备70交互的设备通信,和/或与使得该电子设备70能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口750进行。输入/输出(I/O)接口750与显示单元740相连。并且,电子设备70还可以通过网络适配器760与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器760通过总线330与电子设备70的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备70使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
总体而言,本公开主要是针对这个共用的全局表进行优化,优化方法有两个方向,一是为每个协议单独维护一个表用来存放数据链路信息;二是将锁的粒度减小,每个协议的数据链路信息都采用哈希表来存放,并为每个哈希表单独维护一个锁。在规定允许客户端主动与服务器建立连接,不允许服务器主动与客户端建立连接的FTP的主动模式下,首先客户端(IP:1.1.1.1,端口:1111)通过正常的TCP三次握手流程与服务器(IP:2.2.2.2,端口21)建立连接,由于客户端可以主动与服务器建立连接,所以TCP三次握手连接可建立成功。当TCP三次握手建立成功后,客户端首先向服务器端发送PORT请求报文R,该请求是与服务器协商控制链接的相关数据。PORT请求报文中包含客户端的IP(1.1.1.1)和客户端为接下来的数据连接开放的端口(33333)。此时防火墙设备收到该PORT请求报文R并解析该报文,通过解析该报文的目的端口(21)可取得当前控制链路的应用层协议为FTP,并取得该报文的协商的端口(33333),接下来生成数据链路信息,并将数据链路信息缓存到ALG表项中。根据客户端的源IP(1.1.1.1)、协商端口(33333)、应用层协议类型(TCP为6)做哈希运算获得哈希运算结果H,根据哈希结果H找到FTP协议的哈希桶(T),此时获取哈希桶(H)对应的自旋锁,该自选所的目的是锁住向哈希桶(H)添加数据的过程,以保证多核并发的临界区安全。以IP 1.1.1.1作为目的并且以33333作为目的端口生成一条FTP ALG的表项(I)放入到哈希桶(T)中,哈希桶中的的数据用双向循环链表维护。服务器收到客户端发送的数据链路协商报文,处理完成后回复了200OK报文,通知客户端服务器已受理了该条请求报文。此时服务器主动向客户端申请建立TCP连接,以客户端的IP(1.1.1.1)为目的IP,并且以步骤2中控制链接协商的端口(33333)作为目的端口。此时防火墙设备收到服务器发送的目的IP为1.1.1.1、目的端口为33333的SYN请求报文,根据目的IP(1.1.1.1)、目的端口(33333)和三层协议(TCP为6)做哈希获得哈希结果H,根据哈希结果H找到FTP协议的哈希桶H,遍历哈希桶内存放数据链路信息的双向循环链表,找到匹配的信息后,即可放通该报文,这样达到了放通服务器主动访问客户端数据的目的。数据链路建立成功后,服务器向客户端发送数据。据发送完成后,服务器和客户端结束数据连接。据连接结束后,服务器和客户端结束控制链接。本公开通过将ALG的各个协议(如FTP、SIP、TFTP等)分别拆分成各自对应的数据结构进行维护,并且每个协议用哈希链表进行维护,通过每个哈希桶对应一个自旋锁来减小原有方案的粒度,进而达到优化ALG流量转发的性能。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本申请实施方式的方法。
在本申请的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行上述方法实施例部分描述的方法。
根据本申请的一个实施例,还提供了一种用于实现上述方法实施例中的方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如JAVA、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由所附的权利要求指出。

Claims (10)

1.一种报文转发方法,其特征在于,所述方法包括:
接收第一端向第二端发送的数据请求报文,所述数据请求报文包括目的IP以及目的端口;
根据所述目的IP、所述目的端口以及当前控制链路的三层协议进行哈希计算,获取哈希结果;
根据所述哈希结果遍历当前控制链路的应用层协议对应的所有哈希桶,获取到匹配结果,其中,当前控制链路的应用层协议对应至少两个哈希桶,每一哈希桶内存储有数据链路表项;
根据所述匹配结果确定是否放通所述数据请求报文。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述第二端向所述第一端发送的端口数据报文,并获取到当前控制链路的应用层协议、三层协议、协商端口以及源IP;
根据所述源IP、所述三层协议以及所述协商端口进行哈希计算,获取哈希结果;
从所述应用层协议对应的所有哈希桶中查找到所述哈希结果对应的哈希桶,并获取所述哈希桶的自旋锁,其中,每一哈希桶对应不同的自旋锁,所述自旋锁用于对向哈希桶添加数据过程的锁定;
以所述源IP作为目的IP,以所述协商端口作为目的端口生成数据链路表项;
基于所述自旋锁将所述数据链路表项添加到所述哈希桶中。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取当前控制链路的应用层协议以及三层协议;
所述获取当前控制链路的应用层协议以及三层协议,包括:
对所述数据请求报文进行解析,获取到当前控制链路的三层协议;
对所述数据请求报文中的目的端口进行解析,获取到当前控制链路的应用层协议。
4.根据权利要求1所述的方法,其特征在于,根据所述哈希结果遍历当前控制链路的应用层协议对应的所有哈希桶,获取到匹配结果,包括:
根据所述哈希结果遍历当前控制链路的应用层协议对应的所有哈希桶,获取到所述哈希结果对应的哈希桶;
将所述目的IP以及所述目的端口与所述哈希桶内存储的数据链路中的目的IP以及目的端口进行匹配,获取匹配结果。
5.根据权利要求4所述的方法,其特征在于,根据所述匹配结果确定是否放通所述数据请求报文,包括:
若匹配结果为匹配成功,放通所述数据请求报文;
若匹配结果为匹配失败,拦截所述数据请求报文。
6.根据权利要求2-5中任意一项所述的方法,其特征在于,所述方法还包括:
所述第一端为服务器,所述第二端为客户端,所述端口数据报文为主动PORT命令报文。
7.根据权利要求2-5中任意一项所述的方法,其特征在于,所述方法还包括:
所述第一端为客户端,所述第二端为服务器,所述端口数据报文为所述服务器在接收到所述客户端的被动Pasv命令报文后返回的端口请求报文。
8.一种报文转发装置,其特征在于,所述装置包括:
报文接收模块,配置为接收第一端向第二端发送的数据请求报文,所述数据请求报文包括目的IP以及目的端口;
哈希计算模块,配置为根据所述目的IP、所述目的端口以及当前控制链路的三层协议进行哈希计算,获取哈希结果;
结果遍历模块,配置为根据所述哈希结果遍历当前控制链路的应用层协议对应的所有哈希桶,获取到匹配结果,其中,当前控制链路的应用层协议对应至少两个哈希桶,每一哈希桶内存储有数据链路表项;
报文放通模块,配置为根据所述匹配结果确定是否放通所述数据请求报文。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行权利要求1至7任一项所述的方法。
CN202211195494.4A 2022-09-28 2022-09-28 报文转发方法、装置、电子设备及存储介质 Active CN115580579B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211195494.4A CN115580579B (zh) 2022-09-28 2022-09-28 报文转发方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211195494.4A CN115580579B (zh) 2022-09-28 2022-09-28 报文转发方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN115580579A true CN115580579A (zh) 2023-01-06
CN115580579B CN115580579B (zh) 2024-06-04

Family

ID=84583489

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211195494.4A Active CN115580579B (zh) 2022-09-28 2022-09-28 报文转发方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN115580579B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116366292A (zh) * 2023-02-24 2023-06-30 南京金阵微电子技术有限公司 报文处理方法、系统、存储介质及电子设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102882810A (zh) * 2012-10-26 2013-01-16 杭州迪普科技有限公司 一种报文快速转发方法及装置
CN102957600A (zh) * 2011-08-19 2013-03-06 中兴通讯股份有限公司 一种数据报文转发方法及装置
CN105516173A (zh) * 2015-12-25 2016-04-20 北京中安智达科技有限公司 一种网络应用层协议识别的方法和系统
CN105515919A (zh) * 2016-01-20 2016-04-20 中国电子科技集团公司第五十四研究所 一种基于哈希压缩算法的网络流量监控方法
CN113810296A (zh) * 2021-09-10 2021-12-17 北京百度网讯科技有限公司 集群化网关的分流方法、装置、存储介质以及电子设备
CN114301620A (zh) * 2021-11-17 2022-04-08 北京威努特技术有限公司 一种基于acl时间域的快速匹配方法
CN114785737A (zh) * 2022-04-11 2022-07-22 阿里巴巴(中国)有限公司 报文处理方法、网关设备、服务器及存储介质
CN115065640A (zh) * 2022-08-09 2022-09-16 北京安博通金安科技有限公司 一种流表管理方法、装置、电子设备及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102957600A (zh) * 2011-08-19 2013-03-06 中兴通讯股份有限公司 一种数据报文转发方法及装置
CN102882810A (zh) * 2012-10-26 2013-01-16 杭州迪普科技有限公司 一种报文快速转发方法及装置
CN105516173A (zh) * 2015-12-25 2016-04-20 北京中安智达科技有限公司 一种网络应用层协议识别的方法和系统
CN105515919A (zh) * 2016-01-20 2016-04-20 中国电子科技集团公司第五十四研究所 一种基于哈希压缩算法的网络流量监控方法
CN113810296A (zh) * 2021-09-10 2021-12-17 北京百度网讯科技有限公司 集群化网关的分流方法、装置、存储介质以及电子设备
CN114301620A (zh) * 2021-11-17 2022-04-08 北京威努特技术有限公司 一种基于acl时间域的快速匹配方法
CN114785737A (zh) * 2022-04-11 2022-07-22 阿里巴巴(中国)有限公司 报文处理方法、网关设备、服务器及存储介质
CN115065640A (zh) * 2022-08-09 2022-09-16 北京安博通金安科技有限公司 一种流表管理方法、装置、电子设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116366292A (zh) * 2023-02-24 2023-06-30 南京金阵微电子技术有限公司 报文处理方法、系统、存储介质及电子设备
CN116366292B (zh) * 2023-02-24 2024-03-29 南京金阵微电子技术有限公司 报文处理方法、系统、存储介质及电子设备

Also Published As

Publication number Publication date
CN115580579B (zh) 2024-06-04

Similar Documents

Publication Publication Date Title
CN111131037B (zh) 基于虚拟网关的数据传输方法、装置、介质与电子设备
US8117317B2 (en) Systems and methods for integrating local systems with cloud computing resources
US7293108B2 (en) Generic external proxy
EP2158546B1 (en) Providing enhanced data retrieval from remote locations
US9100365B2 (en) Web application process
US8549613B2 (en) Reverse VPN over SSH
CN111314499B (zh) 一种域名代理方法、装置、设备及可读存储介质
US20060184647A1 (en) Method and apparatus to modify network identifiers at data servers
US20060195895A1 (en) Enabling terminal services through a firewall
KR20070092720A (ko) 클라이언트측 가속 기술을 제공하는 시스템 및 방법
CN110489192B (zh) 远程通信方法及装置、电子设备
CN114518969A (zh) 进程间通信方法、系统、存储介质和计算机设备
CN115580579B (zh) 报文转发方法、装置、电子设备及存储介质
US20200112510A1 (en) Redirecting data packets between overlay network and underlay network
US10462265B2 (en) On-demand startup of offline servers and connection routing
CN116389599A (zh) 网关服务请求的处理、云原生网关系统的管理方法及装置
CN113765867B (zh) 一种数据传输方法、装置、设备及存储介质
US20050160160A1 (en) Method and system for unified session control of multiple management servers on network appliances
US11909808B2 (en) Non-HTTP layer 7 protocol applications running in the browser
CN116582590A (zh) 数据传输方法及装置
US11570237B1 (en) Client-side load balancing for remote application servers
US11563721B2 (en) Methods and systems for network address translation (NAT) traversal using a meet-in-the-middle proxy
US8499023B1 (en) Servlet-based grid computing environment using grid engines and switches to manage resources
CN118445030B (zh) OpenCL计算卸载方法、装置及存储介质
CN117478368B (zh) 基于ssh协议的链接转发方法及系统

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