CN115442359A - 一种数据传输方法、装置、设备及介质 - Google Patents
一种数据传输方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115442359A CN115442359A CN202210945364.1A CN202210945364A CN115442359A CN 115442359 A CN115442359 A CN 115442359A CN 202210945364 A CN202210945364 A CN 202210945364A CN 115442359 A CN115442359 A CN 115442359A
- Authority
- CN
- China
- Prior art keywords
- port
- address
- client
- target server
- server
- 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/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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
- H04L67/141—Setup of application sessions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供了一种数据传输方法、装置、设备及介质,能解决TCP加速方法中需要开放边缘服务器的全部高位端口来为被动模式FTP服务的问题,该方法包括:边缘服务器将客户端的PASV命令发送给目标服务器;接收PASV命令应答消息中携带的目标服务器地址及传输端口并与客户端的地址及端口、边缘服务器的预设端口建立映射关系;将PASV命令应答消息中目标服务器的地址及传输端口修改为边缘服务器的地址及预设端口发送给客户端;通过预设端口接收客户端发送的包含客户端的地址及端口的第一连接请求,并结合映射关系,查找目标服务器的地址及传输端口,向该目标服务器发送第二连接请求,建立边缘服务器与该目标服务器的数据链路。
Description
技术领域
本发明涉及文件传输技术领域,特别涉及一种数据传输方法、装置、设备及介质。
背景技术
文件传输协议(FileTransfer Protocol,FTP)是适用于在网络上进行文件传输的一套标准协议,它工作在开放式系统互联通信参考模型的第七层,传输控制协议/互联网协议模型的第四层,使用传输控制协议(TCP,Transmission Control Protocol)传输。FTP的工作模式包括主动模式和被动模式,其中被动模式的FTP被广泛使用。
目前,TCP加速方法需要TCP加速网络中的边缘服务器事先监听与目标服务器开放的传输端口相对应的高位端口,在FTP的被动模式中,不同客户端可能会与目标服务器的不同传输端口建立数据链路。因此,在FTP的被动模式下,要想使用TCP加速方法需要边缘服务器事先监听所有高位端口来准备为不同的客户端连接不同的传输端口进行服务,这样会使TCP加速网络中的边缘服务器的高位端口消耗很大,并在高位端口耗尽后,需要增加新的边缘服务器才能服务更多客户端。另外边缘服务器的高位端口全部开放,存在很大的被攻击的风险。
发明内容
本申请提供了一种数据传输方法、装置、设备及介质,用以解决现有技术中被动模式的FTP的网络加速方法中边缘服务器需要开放并监听所有高位端口,边缘服务器的高位端口消耗很大、且存在很大的被攻击的风险的问题。
第一方面,本申请提供了一种数据传输方法,该方法包括:
将来自客户端的被动模式PASV命令发送给目标服务器;
接收来自所述目标服务器的PASV命令应答消息,所述PASV命令应答消息中携带所述目标服务器的地址及为所述客户端开放的传输端口,并建立所述目标服务器的地址及传输端口、所述客户端的地址及端口与边缘服务器的预设端口的映射关系;
将所述PASV命令应答消息中所述目标服务器的地址及传输端口修改为所述边缘服务器的地址及预设端口并发送给所述客户端;
通过所述预设端口接收所述客户端发送的第一连接请求,其中所述第一连接请求中包含所述客户端的地址及端口;
根据所述客户端的地址及端口和所述映射关系,查找与所述客户端的地址及端口映射的所述目标服务器的地址及传输端口,向所述目标服务器的所述传输端口发送第二连接请求,建立所述边缘服务器与所述目标服务器的数据链路。
进一步地,所述通过所述预设端口接收所述客户端发送的第一连接请求之前,所述方法包括:对所述预设端口进行监听。
进一步地,所述建立目标服务器的地址及所述传输端口、所述客户端的地址及端口与边缘服务器的预设端口的映射关系,所述方法包括:调用内核接口记录所述目标服务器的地址及传输端口、所述客户端的地址及端口与边缘服务器的预设端口的映射关系。
进一步地,所述方法还包括:接收所述客户端或所述目标服务器发送的关闭数据链路的请求,关闭所述数据链路,并清除所述映射关系。
进一步地,所述清除所述映射关系包括:调用内核接口清除所述映射关系。
第二方面,本申请提供了一种数据传输装置,该装置包括:
收发模块,用于将来自客户端的被动模式PASV命令发送给目标服务器;以及接收来自所述目标服务器的PASV命令应答消息,所述PASV命令应答消息中携带所述目标服务器的地址及为所述客户端开放的传输端口;
处理模块,用于建立所述目标服务器的地址及传输端口、所述客户端的地址及端口与边缘服务器的预设端口的映射关系;以及将所述PASV命令应答消息中所述目标服务器的地址及传输端口修改为所述边缘服务器的地址及预设端口并通过所述收发模块发送给所述客户端;
收发模块,还用于通过所述预设端口接收所述客户端发送的第一连接请求,其中所述第一连接请求中包含所述客户端的地址及端口;
所述处理模块,还用于根据所述客户端的地址及端口和所述映射关系,查找与所述客户端的地址及端口映射的所述目标服务器的地址及传输端口,并通过所述收发模块向所述目标服务器的所述传输端口发送第二连接请求,建立所述客户端与所述目标服务器的数据链路。
进一步地,所述收发模块,还用于在通过所述预设端口接收所述客户端发送的第一连接请求之前,对所述预设端口进行监听。
进一步地,所述处理模块建立所述传输端口与所述客户端的地址的映射关系时,具体用于调用内核接口记录所述目标服务器的地址及传输端口、所述客户端的地址及端口与边缘服务器的预设端口的映射关系。
进一步地,所述收发模块,还用于接收所述客户端或所述目标服务器发送的关闭数据链路的请求;所述处理模块,还用于所述数据链路,并清除所述映射关系。
进一步地,所述处理模块清除所述映射关系时,具体用于调用内核接口清除所述映射关系。
第三方面,本申请提供了一种电子设备,所述电子设备至少包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序时实现上述第一方面的方法。
第四方面,本申请提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面的方法。
本申请中边缘服务器将来自客户端的被动模式PASV命令发送给目标服务器并接收来自目标服务器的PASV命令应答消息,该PASV命令应答消息中携带目标服务器的地址及为该客户端开放的传输端口,建立该目标服务器的地址及传输端口、客户端的地址及端口与边缘服务器的预设端口的映射关系;之后将该PASV命令应答消息中目标服务器的地址及传输端口修改为该边缘服务器的地址及预设端口并发送给该客户端;通过该预设端口接收该客户端发送的第一连接请求,建立与客户端的数据连接;并根据第一连接请求中携带的该客户端的地址及端口和该映射关系,查找与该客户端的地址及端口映射的目标服务器的地址及传输端口,向该传输端口发送第二连接请求,建立与该目标服务器的数据链路,后续客户端即可通过边缘服务器与目标服务器之间建立的数据链路进行数据传输,从而解决在TCP加速方法中,需要开放边缘服务器的全部高位端口来为被动模式的FTP服务器导致的边缘服务器高位端口消耗很大,并存在很大的被攻击的风险的问题。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据传输方法示意图;
图2为本申请实施例提供的一种被动模式的FTP工作原理图;
图3为本申请实施例提供的一种被动模式FTP服务的网络加速方法;
图4为本申请实施例提供的一种数据传输方法的完整实施过程;
图5为本申请实施例提供的一种数据传输装置的结构示意图;
图6为本申请实施例提供的一种电子设备结构示意图。
具体实施方式
为使本申请的目的和实施方式更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
术语“模块”是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
在现有技术中,由于使用TCP加速方法需要TCP加速网络中的边缘服务器事先监听与目标服务器开放的传输端口相对应的高位端口,而在FTP的被动模式中,目标服务器会为不同客户端各自开放一个随机的传输端口建立数据链路进行数据传输。因此,在FTP的被动模式下,要想使用TCP加速方法需要边缘服务器事先监听所有高位端口来准备为不同的客户端连接不同的传输端口进行服务。
为了解决边缘服务器的高位端口消耗很大以及存在很大的被攻击的风险,从而节约成本以及提高安全性,本申请实施例提供了一种数据传输方法、装置、设备及介质。
实施例1:
图1为本申请中的实施例提供的一种数据传输方法示意图,该方法可以应用于边缘服务器、或边缘服务器的部件(如芯片等)、还可以应用于与边缘服务器匹配使用的装置等,下面以应用于边缘服务器为例进行介绍,该方法包括:
S101:边缘服务器将来自客户端的被动模式PASV命令发送给目标服务器。
在一些实施中,客户端有业务数据需要与目标服务器交互时,客户端可以向目标服务器发送登录目标服务器的请求,登录目标服务器的请求首先到达边缘服务器中与目标服务器的控制链路端口对应的端口接收,边缘服务器与客户端建立第一控制链路。之后边缘服务器向目标服务器的控制链路端口转发该客户端登录目标服务器的请求,经目标服务器校验该客户端登录目标服务器的请求中携带的客户端的用户名和密码后,边缘服务器与目标服务器的控制链路端口建立第二控制链路。当边缘服务器通过第一控制链路接收到客户端发送的PASV命令后,可以通过第二控制链路将该PASV命令转发给目标服务器。
其中,目标服务器的控制链路端口通常选用目标服务器的21端口,而边缘服务器中与目标服务器的控制链路端口对应的端口,通常与目标服务器的控制链路端口的端口号相同。在本申请的后续描述中以目标服务器的控制链路端口为目标服务器的21端口、边缘服务器中与目标服务器的控制链路端口对应的端口为边缘服务器的21端口为例进行说明。
S102:边缘服务器接收来自所述目标服务器的PASV命令应答消息,所述PASV命令应答消息中携带所述目标服务器的地址及为所述客户端开放的传输端口,并建立所述目标服务器的地址及传输端口、所述客户端的地址及端口与边缘服务器的预设端口的映射关系。
当PASV命令通过第二控制链路到达目标服务器后,目标服务器随机开放一个传输端口,并通过第二控制链路将PASV命令应答消息发送给边缘服务器,边缘服务器接收目标服务器的PASV命令应答消息,之后边缘服务器通过FTP协议解析该PASV命令应答消息,并获取PASV命令应答消息中携带的为建立数据链路准备的目标服务器的地址及传输端口的信息,并建立该目标服务器的地址及传输端口、该客户端的地址及端口与边缘服务器的预设端口的映射关系。
S103:边缘服务器将所述PASV命令应答消息中所述目标服务器的地址及传输端口修改为所述边缘服务器的地址及预设端口并发送给所述客户端。
边缘服务器将PASV命令应答消息中携带的目标服务器的地址及传输端口修改为自身的地址及预设端口,将修改后的PASV命令应答消息通过第一控制链路发送给客户端。
S104:边缘服务器通过所述预设端口接收所述客户端发送的第一连接请求,其中所述第一连接请求中包含所述客户端的地址及端口。
客户端根据修改后的PASV命令向边缘服务器的预设端口发送第一连接请求,边缘服务器接收该第一连接请求,使用预设端口与该客户端建立数据连接,其中该第一连接请求中包含该客户端的地址及端口与边缘服务器的预设端口。
S105:边缘服务器根据所述客户端的地址及端口和所述映射关系,查找与所述客户端的地址及端口映射的所述目标服务器的地址及传输端口,向所述目标服务器的所述传输端口发送第二连接请求,建立所述边缘服务器与所述目标服务器的数据链路。
边缘服务器根据第一连接请求中携带的该客户端的地址及端口,调用自身的内核接口,根据事先建立的映射关系获取其中与该客户端的地址及端口相对应的目标服务器的地址及传输端口。边缘服务器根据该目标服务器的地址及传输端口向该目标服务器发送第二连接请求,第二连接请求到达目标服务器后,目标服务器接收该第二连接请求,使用对应的传输端口与边缘服务器建立数据链路,后续客户端即可通过边缘服务器与目标服务器之间建立的数据链路进行数据传输。
在一种可能的实施方式中,为了使用TCP加速方法对客户端与目标服务器的数据传输过程进行加速,所述通过所述预设端口接收所述客户端发送的第一连接请求之前,所述方法包括:
边缘服务器对所述预设端口进行监听。
具体的,为了使用TCP加速方法对客户端与目标服务器的数据传输过程进行加速,TCP加速网络中的边缘服务器需要对仅用于不同客户端连接该边缘服务器的预设端口以及在第一控制链路中使用的21端口进行监听,以便于边缘服务器的21端口对监听到的登录目标服务器的请求及时转发给目标服务器,以便于边缘服务器的预设端口对监听到第一连接请求后及时与客户端建立数据连接,并根据映射关系查找与该客户端的地址及端口相对应的目标服务器的地址及传输端口,之后向目标服务器的传输端口发送第二连接请求。
本申请中边缘服务器将来自客户端的被动模式PASV命令发送给目标服务器并接收来自目标服务器的PASV命令应答消息,该PASV命令应答消息中携带目标服务器的地址及为该客户端开放的传输端口,建立该目标服务器的地址及传输端口、客户端的地址及端口与边缘服务器的预设端口的映射关系;之后将该PASV命令应答消息中目标服务器的地址及传输端口修改为该边缘服务器的地址及预设端口并发送给该客户端;通过该预设端口接收该客户端发送的第一连接请求,建立与客户端的数据连接;再根据第一连接请求中携带的该客户端的地址及端口和该映射关系,查找与该客户端的地址及端口映射的目标服务器的地址及传输端口,向该传输端口发送第二连接请求,建立与该目标服务器的数据链路,后续客户端即可通过边缘服务器与目标服务器之间建立的数据链路进行数据传输,从而使得不同客户端只通过边缘服务器的预设端口就能与目标服务器之间使用的TCP加速方法进行网络加速,使得边缘服务器受到攻击的风险降低。
实施例2:
为了边缘服务器找到与该客户端对应的目标服务器的传输端口,在上述各实施例的基础上,在本申请实施例中,所述建立所述目标服务器的地址及传输端口、所述客户端的地址及端口与边缘服务器的预设端口的映射关系,所述方法包括:
边缘服务器调用内核接口记录所述目标服务器的地址及传输端口、所述客户端的地址及端口与边缘服务器的预设端口的所述映射关系。
具体的,为了让边缘服务器能够找到与该客户端对应的目标服务器的传输端口并建立数据链路,需要边缘服务器通过FTP协议解析获取到的PASV命令应答消息中携带的目标服务器的地址及传输端口,并调用边缘服务器的内核接口建立目标服务器的地址及传输端口、该客户端的地址及端口与边缘服务器的预设端口的映射关系并记录保存,便于边缘服务器查找与该客户端对应的目标服务器的传输端口。
实施例3:
为了节约资源并更好地服务之后连接目标服务器的客户端,在上述各实施例的基础上,在本申请实施例中,所述方法还包括:
接收所述客户端或所述目标服务器关闭数据链路的请求,关闭所述数据链路,并清除所述映射关系。
当第一客户端与目标服务器之间的数据传输完毕之后,两者其中任意一方都可以向边缘服务器发送关闭该数据链路的请求。边缘服务器接收到该关闭该数据链路的请求后,会与该第一客户端断开数据连接并与该目标服务器断开数据链路。
为了节约资源并更好地服务之后通过该边缘服务器的预设端口连接该目标服务器的第二客户端,边缘服务器会将之前记录的该目标服务器的地址及传输端口、该第一客户端的地址及端口与边缘服务器的预设端口的映射关系进行清除。
实施例4:
在上述各实施例的基础上,在本申请实施例中,所述清除所述映射关系包括:
调用内核接口清除所述映射关系。
当第一客户端与目标服务器的传输端口不再进行数据传输并关闭数据链路后,此时,目标服务器可能会将该传输端口分配给后来连接该目标服务器的第二客户端,为了便于边缘服务器建立第二客户端与该传输端口新的映射关系,边缘服务器可以调用自身的内核接口清除第一客户端与该传输端口的映射关系。
为了更好地说明本实施例中FTP的被动模式是如何工作的,以及本申请技术方案的必要性,图2为本申请中的实施例提供的一种被动模式的FTP工作原理图。如图2所示:
首先,客户端登录目标服务器,向目标服务器的21端口发送客户端的用户名和密码。目标服务器校验客户端的用户名和密码后发送给客户端登录成功的消息。客户端接收到登录成功的消息后,向目标服务器的21端口发送PASV命令。目标服务器在接收到PASV命令后开放一个随机传输端口,将携带该目标服务器的地址及传输端口信息的PASV命令应答消息发送给客户端。客户端在接收PASV命令应答消息后,获取其中目标服务器的传输端口的信息,连接该目标服务器的传输端口,建立数据链路开始数据传输。
为了更好地说明本申请实施例中数据传输的过程,图3为本申请中的实施例提供的一种被动模式FTP服务的网络加速方法。
如图3所示,在本实施例中,当客户端需要通过TCP加速网络连接目标服务器进行数据传输时,客户端先通过域名系统(Domain Name System,DNS))解析目标服务器的域名获得边缘服务器的地址IP1,并根据边缘服务器的地址IP1连接TCP加速网络中边缘服务器的21端口,通过该边缘服务器的21端口和多个中转服务器固定的端口P0将该客户端的用户名和密码发送到目标服务器的21端口,目标服务器校验用户名和密码后,使用自身的21端口通过多个中转服务器固定的端口P0和边缘服务器的21端口与该客户端建立起控制链路,并开始在该控制链路上进行通信。其中TCP加速网络包括边缘服务器和多个中转服务器。
该客户端通过控制链路向目标服务器发送PASV命令,目标服务器随机开放一个传输端口P2,并将携带目标服务器的地址IP2及传输端口P2的PASV命令应答消息通过控制链路返还给边缘服务器。
边缘服务器接收目标服务器的PASV命令应答消息,并通过FTP协议解析PASV命令应答消息来获取PASV命令应答消息中携带的目标服务器的地址IP2及传输端口P2,之后调用边缘服务器的内核接口建立目标服务器的地址IP2及传输端口P2与该客户端的地址及端口及边缘服务器的预设端口的映射关系并记录保存。边缘服务器将PASV命令应答消息中目标服务器的地址IP2及传输端口P2修改为边缘服务器的地址IP1及预设端口P1,将修改后的PASV命令应答消息通过控制链路发送给客户端。
该客户端根据修改后的PASV命令应答消息向边缘服务器的预设端口P1发送第一连接请求,边缘服务器接收该第一连接请求并与该客户端建立数据连接,其中该第一连接请求中包含该客户端的地址及端口与预设端口P1的信息。
边缘服务器根据第一连接请求中携带的该客户端的地址,调用自身的内核接口,根据事先记录的映射关系查找与该客户端的地址及端口相对应的目标服务器的地址IP2及传输端口P2。边缘服务器通过目标服务器的地址IP2及传输端口P2向该目标服务器的传输端口发送第二连接请求,第二连接请求经过多个中转服务器的固定端口P0后到达目标服务器,目标服务器接收该第二连接请求并与边缘服务器建立数据链路,最后,客户端通过边缘服务器与目标服务器建立的数据链路进行正常的数据传输。
为了更好地说明本申请实施例的数据传输过程,图4为本申请中一种数据传输方法的完整实施过程。具体过程包括:
S401:预先配置TCP加速网络。
提前对目标服务器A的域名进行TCP加速网络配置,TCP加速网络中配置地址为IP1的边缘服务器为目标服务器A服务,该边缘服务器事先监听自身的21端口以及预设端口P2,其中预设端口P2专门为不同客户端与目标服务器A进行数据传输而配置。
S402:客户端B发送登录请求,建立第一控制链路。
当客户端B有业务数据需要与目标服务器交互时,客户端B访问目标服务器A的域名,通过DNS解析获得TCP加速网络的边缘服务器的地址IP1,客户端B连接边缘服务器的21端口并发送登录目标服务器的请求,边缘服务器接收该登录目标服务器的请求与客户端建立第一控制链路。
S403:边缘服务器转发登录请求,建立第二控制链路。
边缘服务器接受客户端B的登录请求与客户端建立起第一控制链路后,向目标服务器的21端口转发该客户端登录目标服务器的请求,经目标服务器校验该客户端登录目标服务器的请求中携带的客户端的用户名和密码后,边缘服务器与目标服务器的21端口建立第二控制链路。
S404:客户端B发送PASV命令。
客户端B通过建立好的第一、第二控制链路向目标服务器A发送PASV命令。
S405:目标服务器A开放传输端口。
目标服务器A收到PASV命令后,随机为客户端B开放一个传输端口P2。
S406:目标服务器A发送PASV命令应答消息。
目标服务器A通过第一、第二控制链路向边缘服务器发送PASV命令应答消息,该消息携带目标服务器A的地址IP2和端口P2(即IP2:P2)。
S407:边缘服务器接收PASV命令应答消息。
该PASV应答消息经过多个中转服务器的固定端口P0,到达边缘服务器。边缘服务器通过FTP协议解析该PASV命令应答消息中携带的为建立数据链路准备的目标服务器A的地址IP2及传输端口P2的信息。
S408:边缘服务器建立映射关系,修改PASV命令应答消息。
边缘服务器将PASV命令应答消息中携带的目标服务器A的地址IP2和端口P2(IP2:P2)修改为自己的地址IP1和事先监听的预设端口P1(即IP1:P1),并将该修改后的PASV命令应答消息发送给客户端B,同时调用内核接口建立IP2:P2、客户端B的地址及端口与边缘服务器的预设端口的映射关系并记录保存。
S409:边缘服务器与客户端B建立数据连接。
客户端B根据边缘服务器的地址IP1向边缘服务器的预设端口P1发送第一连接请求,边缘服务器接收该第一连接请求,使用预设端口与该客户端建立数据连接。其中该第一连接请求中包含该客户端B的地址及端口与该预设端口P1的信息。
S4010:边缘服务器根据映射关系查找传输端口。
边缘服务器调用内核接口,根据事先建立的映射关系和该客户端B的地址及端口查询与客户端B的地址及端口相对应的目标服务器A的地址IP2及传输端口P2(IP2:P2)。
S4011:边缘服务器与目标服务器A的传输端口建立数据链路。
边缘服务器向目标服务器A发送第二连接请求,该第二连接请求经过多个中转服务器的固定端口P0转发给目标服务器A的传输端口P2,目标服务器接受请求后,通过自身的传输端口P2与边缘服务器建立起数据链路,此时,客户端可以通过边缘服务器与目标服务器A的数据链路进行数据传输。
S4012:边缘服务器关闭数据链路,清除映射关系。
当数据传输结束,边缘服务器可以接收来自客户端B或者目标服务器A的关闭数据链路的请求,边缘服务器接收该关闭数据链路的请求,并关闭该数据链路并断开与客户端B的数据连接,之后调用内核接口清除IP2:P2、客户端B的地址及端口与P1的映射关系。
实施例5:
基于上述的数据传输方法,本申请实施例还提供一种数据传输装置,图5为本申请实施例提供的一种数据传输装置的结构示意图,该装置包括:
收发模块501,用于将来自客户端的被动模式PASV命令发送给目标服务器;以及接收来自所述目标服务器的PASV命令应答消息,所述PASV命令应答消息中携带所述目标服务器的地址及为所述客户端开放的传输端口;
处理模块502,用于建立所述目标服务器的地址及传输端口、所述客户端的地址及端口与边缘服务器的预设端口的映射关系;以及将所述PASV命令应答消息中所述目标服务器的地址及传输端口修改为所述边缘服务器的地址及预设端口并通过所述收发模块501发送给所述客户端;
收发模块501,还用于通过所述预设端口接收所述客户端发送的第一连接请求,其中所述第一连接请求中包含所述客户端的地址及端口;
所述处理模块502,还用于根据所述客户端的地址及端口和所述映射关系,查找与所述客户端的地址及端口映射的所述目标服务器的地址及传输端口,并通过所述收发模块501向所述目标服务器的所述传输端口发送第二连接请求,建立所述客户端与所述目标服务器的数据链路。
所述装置还包括:
收发模块501,还用于在通过所述预设端口接收所述客户端发送的第一连接请求之前,对所述预设端口进行监听。
所述处理模块502建立所述目标服务器的地址及传输端口、所述客户端的地址及端口与边缘服务器的预设端口的映射关系时,具体用于调用内核接口记录所述目标服务器的地址及传输端口、所述客户端的地址及端口与边缘服务器的预设端口的映射关系。
该装置具体可以部署在边缘服务器中。
实施例6:
图6为本申请提供的一种电子设备结构示意图。如图6所示,该电子设备包括:处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信。
所述存储器603中存储有计算机程序,当所述程序被所述处理器601执行时,使得所述处理器601以完成上述任一所述一种数据传输方法的步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口602用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括中央处理器、网络处理器(NetworkProcessor,NP)等;还可以是数字指令处理器(Digital Signal Processing,DSP)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
实施例7:
在上述各实施例的基础上,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行时实现上述任一所述一种数据传输方法的步骤。
上述计算机可读存储介质可以是电子设备中的处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器如软盘、硬盘、磁带、磁光盘(MO)等、光学存储器如CD、DVD、BD、HVD等、以及半导体存储器如ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD)等。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用所述实施方式以及适于具体使用考虑的各种不同的变形的实施方式。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种数据传输方法,其特征在于,应用于边缘服务器,所述方法包括:
将来自客户端的被动模式PASV命令发送给目标服务器;
接收来自所述目标服务器的PASV命令应答消息,所述PASV命令应答消息中携带所述目标服务器的地址及为所述客户端开放的传输端口,并建立所述目标服务器的地址及传输端口、所述客户端的地址及端口与所述边缘服务器的预设端口的映射关系;
将所述PASV命令应答消息中所述目标服务器的地址及传输端口修改为所述边缘服务器的地址及预设端口并发送给所述客户端;
通过所述预设端口接收所述客户端发送的第一连接请求,其中所述第一连接请求中包含所述客户端的地址及端口;
根据所述客户端的地址及端口和所述映射关系,查找与所述客户端的地址及端口映射的所述目标服务器的地址及传输端口,向所述目标服务器发送第二连接请求,建立所述边缘服务器与所述目标服务器的数据链路。
2.如权利要求1所述的方法,其特征在于,所述通过所述预设端口接收所述客户端发送的第一连接请求之前,所述方法包括:
对所述预设端口进行监听。
3.如权利要求1所述的方法,其特征在于,所述建立所述目标服务器的地址及传输端口、所述客户端的地址及端口与所述边缘服务器的预设端口的映射关系,所述方法包括:
调用内核接口记录所述目标服务器的地址及传输端口、所述客户端的地址及端口与边缘服务器的预设端口的映射关系。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述客户端或所述目标服务器发送的关闭数据链路的请求,关闭所述数据链路,并清除所述映射关系。
5.如权利要求4所述的方法,其特征在于,所述清除所述映射关系包括:
调用内核接口清除所述映射关系。
6.一种数据传输装置,其特征在于,该装置包括:
收发模块,用于将来自客户端的被动模式PASV命令发送给目标服务器;以及接收来自所述目标服务器的PASV命令应答消息,所述PASV命令应答消息中携带所述目标服务器的地址及为所述客户端开放的传输端口;
处理模块,用于建立所述目标服务器的地址及传输端口、所述客户端的地址及端口与边缘服务器的预设端口的映射关系;以及将所述PASV命令应答消息中所述目标服务器的地址及传输端口修改为所述边缘服务器的地址及预设端口并通过所述收发模块发送给所述客户端;
收发模块,还用于通过所述预设端口接收所述客户端发送的第一连接请求,其中所述第一连接请求中包含所述客户端的地址及端口;
所述处理模块,还用于根据所述客户端的地址及端口和所述映射关系,查找与所述客户端的地址及端口映射的所述目标服务器的地址及传输端口,并通过所述收发模块向所述目标服务器的所述传输端口发送第二连接请求,建立所述客户端与所述目标服务器的数据链路。
7.如权利要求6所述的装置,其特征在于,所述装置还包括:
收发模块,还用于在通过所述预设端口接收所述客户端发送的第一连接请求之前,对所述预设端口进行监听。
8.如权利要求6所述的装置,其特征在于,所述处理模块建立所述目标服务器的地址及传输端口、所述客户端的地址及端口与边缘服务器的预设端口的映射关系时,具体用于调用内核接口记录所述目标服务器的地址及传输端口、所述客户端的地址及端口与边缘服务器的预设端口的映射关系。
9.一种电子设备,其特征在于,所述电子设备至少包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-5中任一所述的方法。
10.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序被处理器执行时实现如上述权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210945364.1A CN115442359A (zh) | 2022-08-08 | 2022-08-08 | 一种数据传输方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210945364.1A CN115442359A (zh) | 2022-08-08 | 2022-08-08 | 一种数据传输方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115442359A true CN115442359A (zh) | 2022-12-06 |
Family
ID=84241852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210945364.1A Pending CN115442359A (zh) | 2022-08-08 | 2022-08-08 | 一种数据传输方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115442359A (zh) |
-
2022
- 2022-08-08 CN CN202210945364.1A patent/CN115442359A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113596184B (zh) | 混合云系统、网闸、网络访问方法及存储介质 | |
US9491189B2 (en) | Revival and redirection of blocked connections for intention inspection in computer networks | |
US11075821B2 (en) | Method and apparatus for managing field device based on cloud server | |
US8856884B2 (en) | Method, apparatus, signals, and medium for managing transfer of data in a data network | |
US11489853B2 (en) | Distributed threat sensor data aggregation and data export | |
US20210344690A1 (en) | Distributed threat sensor analysis and correlation | |
US20160149748A1 (en) | Network address translation | |
RU2517411C1 (ru) | Способ управления соединениями в межсетевом экране | |
US10097442B2 (en) | Methods, systems, and computer readable media for receiving test configuration information | |
CN105141711A (zh) | 一种基于大数据分析的对称nat穿越方法及系统 | |
WO2016054302A1 (en) | Relay optimization using software defined networking | |
CN101164287A (zh) | 文件传输协议服务性能测试方法 | |
US20130054817A1 (en) | Disaggregated server load balancing | |
US20210312472A1 (en) | Method and system for prediction of smart contract violation using dynamic state space creation | |
CN103825868A (zh) | 一种本地语音逃生的方法、本地网关及系统 | |
CN107360247A (zh) | 处理业务的方法和网络设备 | |
US9055088B2 (en) | Managing a communication session with improved session establishment | |
CN105991442B (zh) | 报文转发方法及装置 | |
CN109729059A (zh) | 数据处理方法、装置及计算机 | |
CN107979627A (zh) | 一种网络请求的处理方法及装置 | |
CN112202795B (zh) | 一种数据处理方法、网关设备及介质 | |
US9804899B2 (en) | Communications using the common object request broker architecture (CORBA) | |
CN110995763B (zh) | 一种数据处理方法、装置、电子设备和计算机存储介质 | |
CN115442359A (zh) | 一种数据传输方法、装置、设备及介质 | |
CN110351159B (zh) | 一种跨内网的网络性能测试方法及装置 |
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 |