CN114125025B - 一种多目标网络下的数据传输方法及装置 - Google Patents
一种多目标网络下的数据传输方法及装置 Download PDFInfo
- Publication number
- CN114125025B CN114125025B CN202111397974.4A CN202111397974A CN114125025B CN 114125025 B CN114125025 B CN 114125025B CN 202111397974 A CN202111397974 A CN 202111397974A CN 114125025 B CN114125025 B CN 114125025B
- Authority
- CN
- China
- Prior art keywords
- target
- port
- target network
- proxy server
- data packet
- 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
- 238000000034 method Methods 0.000 title claims abstract description 68
- 230000005540 biological transmission Effects 0.000 title claims abstract description 46
- 238000004590 computer program Methods 0.000 claims description 3
- 101100108191 Vibrio parahaemolyticus serotype O3:K6 (strain RIMD 2210633) add gene Proteins 0.000 description 29
- 206010047289 Ventricular extrasystoles Diseases 0.000 description 20
- 238000005129 volume perturbation calorimetry Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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
- H04L67/141—Setup of application sessions
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Abstract
本说明书实施例提供了一种多目标网络下的数据传输方法及装置。源设备通过代理服务器与目标网络中的目标设备通信,代理服务器通过多个通道连接至多个目标网络。源设备在需要向某个目标网络的某个目标地址发送数据包时,可以向代理服务器请求端口,并通过请求的端口发送数据包。代理服务器在接收到该数据包时,可以基于预先存储的代理服务器的端口与目标网络和目标地址的对应关系,确定该数据包的端口对应的目标网络和目标地址,并基于代理服务器中的目标网络与通道的对应关系,找到该目标网络对应的通道,通过该通道向该目标地址转发该数据包。
Description
技术领域
本说明书一个或多个实施例涉及数据传输技术领域,尤其涉及一种多目标网络下的数据传输方法及装置。
背景技术
随着计算机技术的发展,互联网的应用也得到了空前的发展。与公网能提供给人们开放的网络环境不同,私有网络能够为用户提供按需定制的、隔离的、安全的网络环境。例如,各种云平台提供的私有网络服务,能够为用户提供数据存储、数据计算等定制化网络服务。同时,云平台提供的多网络环境能够带来更加高质量、多应用的服务。例如,云平台能够在多网络环境下提供数据库集群服务,为大数据量的存储提供了可能。在这种场景中,存在一个网络中的设备访问多个不同网络中设备的需求。
因此,希望能有改进的方案,可以在多网络环境下提供更加便利、高效的数据传输服务。
发明内容
本说明书一个或多个实施例描述了一种多目标网络下的数据传输方法及装置,以在多网络环境下提供更加便利、高效的数据传输服务。具体的技术方案如下。
第一方面,实施例提供了一种多目标网络下的数据传输方法,通过代理服务器执行,源设备通过所述代理服务器中的若干个通道与若干个目标网络中的目标设备通信,所述方法包括:
接收所述源设备向所述代理服务器中的第一端口发送的第一数据包;
基于端口与目标网络和目标地址的对应关系,确定所述第一端口对应的第一目标网络和第一目标地址;
基于所述代理服务器中的目标网络与通道的对应关系,确定所述第一目标网络对应的第一通道;
通过所述第一通道,向所述第一目标地址转发所述第一数据包。
在一种实施方式中,在确定所述第一端口对应的第一目标网络和第一目标地址之前,还包括:
接收地址服务请求,所述地址服务请求用于请求为所述第一目标网络中目标设备的第一目标地址分配所述代理服务器的端口;
从端口池中确定待分配的第一端口,并建立所述第一端口与所述第一目标网络和所述第一目标地址的对应关系。
在一种实施方式中,所述方法还包括:
在接收到所述源设备发送的端口获取请求时,将所述第一端口发送至所述源设备,以使所述源设备将待发送至所述第一目标网络中的第一目标地址的第一数据包,向所述代理服务器的第一端口发送;所述端口获取请求用于获取与所述第一目标网络和所述第一目标地址对应的代理服务器的端口。
在一种实施方式中,所述从端口池中确定待分配的第一端口的步骤,包括:
从所述端口池的闲置端口中确定待分配的第一端口;
所述方法还包括:
当所述端口池中的闲置端口数量少于预设数量时,向所述端口池中增加闲置端口。
在一种实施方式中,所述向所述端口池中增加闲置端口的步骤,包括:
从预设数值范围中选择端口号作为新建端口的端口号,将所述新建端口的端口号添加至所述端口池。
在一种实施方式中,在建立了包含所述第一端口的对应关系之后,所述方法还包括:
当针对所述第一端口的释放条件满足时,解除包含所述第一端口的对应关系,并将所述第一端口释放至所述端口池。
在一种实施方式中,所述释放条件包括以下中的至少一种:
当接收到端口释放请求时;其中,所述端口释放请求用于请求解除包含所述第一端口的对应关系;
当检测到所述第一端口处于无连接状态的时长达到预设时长时;
当检测到所述第一端口的租期已满时。
在一种实施方式中,在确定所述第一端口对应的第一目标网络和第一目标地址之后,还包括:
利用所述第一目标地址,对所述第一数据包进行封装,得到封装后的第一数据包;
所述通过所述第一通道,向所述第一目标地址转发所述第一数据包的步骤,包括:
通过所述第一通道转发封装后的第一数据包,以使得所述第一目标网络中的客户端设备,基于封装后的第一数据包携带的第一目标地址,向目标设备转发所述第一数据包。
在一种实施方式中,所述利用所述第一目标地址,对所述第一数据包进行封装的步骤,包括:
对所述第一数据包进行封装,使得封装后的第一数据包携带所述第一目标地址和所述第一目标网络的标识;
所述确定所述第一目标网络对应的第一通道的步骤,包括:
基于所述代理服务器中的目标网络与通道的对应关系,以及封装后的第一数据包携带的所述第一目标网络的标识,确定所述第一目标网络对应的第一通道。
在一种实施方式中,采用以下方式与所述第一目标网络中的客户端设备建立通道:
接收所述第一目标网络中的客户端设备发送的通道建立请求和认证信息;
响应于所述通道建立请求,对所述认证信息进行认证;
当认证通过时,建立所述代理服务器与所述客户端设备之间的通道,并标记所述第一目标网络与该通道的对应关系。
在一种实施方式中,所述接收所述源设备向所述代理服务器中的第一端口发送的第一数据包的步骤,包括:
基于所述代理服务器的第一端口,与所述源设备建立TCP链接;
通过所述TCP链接接收所述源设备发送的第一数据包。
第二方面,实施例提供了一种多目标网络下的数据传输方法,通过源设备执行,所述源设备通过代理服务器中的若干个通道与若干个目标网络中的目标设备通信,所述方法包括:
获取待发送至第一目标地址的第一数据包,所述第一目标地址是第一目标网络中的目标设备的地址;
获取所述代理服务器中与所述第一目标网络和所述第一目标地址对应的第一端口;
向所述代理服务器中的所述第一端口发送所述第一数据包,以使得所述代理服务器通过第一通道向所述第一目标地址转发所述第一数据包;其中,所述代理服务器基于端口与目标网络和目标地址的对应关系,确定所述第一端口对应的第一目标网络和第一目标地址,并基于目标网络与通道的对应关系确定第一通道。
在一种实施方式中,所述获取所述代理服务器中与所述第一目标网络和所述第一目标地址对应的第一端口的步骤,包括:
向所述代理服务器发送端口获取请求,所述端口获取请求用于获取与所述第一目标网络和所述第一目标地址对应的代理服务器的端口;
接收所述代理服务器针对所述端口获取请求返回的第一端口。
第三方面,实施例提供了一种多目标网络下的数据传输方法,通过第一目标网络中的客户端设备执行,所述第一目标网络是若干个目标网络中的任意一个,源设备通过代理服务器中的若干个通道与所述若干个目标网络中的目标设备进行通信;所述方法包括:
通过与所述代理服务器之间的第一通道接收第二数据包,所述第二数据包携带第一目标网络标识和第一目标地址,所述第一目标网络标识是所述代理服务器基于端口与目标网络和目标地址的对应关系确定的,所述第一通道是所述代理服务器基于目标网络与通道的对应关系确定的;
检验所述第二数据包携带的第一目标网络标识是否是本目标网络的标识;
如果是,则基于所述第二数据包携带的第一目标地址,向目标设备转发所述第二数据包。
第四方面,实施例提供了一种多目标网络下的数据传输装置,部署在代理服务器中,源设备通过所述代理服务器中的若干个通道与若干个目标网络中的目标设备进行通信,所述装置包括:
第一接收模块,配置为,接收所述源设备向所述代理服务器中的第一端口发送的第一数据包;
第一确定模块,配置为,基于端口与目标网络和目标地址的对应关系,确定所述第一端口对应的第一目标网络和第一目标地址;
第二确定模块,配置为,基于所述代理服务器中的目标网络与通道的对应关系,确定所述第一目标网络对应的第一通道;
第一转发模块,配置为,通过所述第一通道,向所述第一目标地址转发所述第一数据包。
第五方面,实施例提供了一种多目标网络下的数据传输装置,部署在源设备中,所述源设备通过代理服务器中的若干个通道与若干个目标网络中的目标设备通信,所述装置包括:
第一获取模块,配置为,获取待发送至第一目标地址的第一数据包,所述第一目标地址是第一目标网络中的目标设备的地址;
第二获取模块,配置为,获取所述代理服务器中与所述第一目标网络和所述第一目标地址对应的第一端口;
第二发送模块,配置为,向所述代理服务器中的所述第一端口发送所述第一数据包,以使得所述代理服务器通过第一通道向所述第一目标地址转发所述第一数据包;其中,所述代理服务器基于端口与目标网络和目标地址的对应关系,确定所述第一端口对应的第一目标网络和第一目标地址,并基于目标网络与通道的对应关系确定第一通道。
第六方面,实施例提供了一种多目标网络下的数据传输装置,部署在第一目标网络中的客户端设备中,所述第一目标网络是若干个目标网络中的任意一个,源设备通过代理服务器中的若干个通道与所述若干个目标网络中的目标设备进行通信;所述装置包括:
第三接收模块,配置为,通过与所述代理服务器之间的第一通道接收第二数据包,所述第二数据包携带第一目标网络标识和第一目标地址,所述第一目标网络标识是所述代理服务器基于端口与目标网络和目标地址的对应关系确定的,所述第一通道是所述代理服务器基于目标网络与通道的对应关系确定的;
第一检验模块,配置为,检验所述第二数据包携带的第一目标网络标识是否是本目标网络的标识;
第二转发模块,配置为,当所述第二数据包携带的第一目标网络标识是本目标网络的标识时,基于所述第二数据包携带的第一目标地址,向目标设备转发所述第二数据包。
第七方面,实施例提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面至第三方面中任一项所述的方法。
第八方面,实施例提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面至第三方面中任一项所述的方法。
本说明书实施例提供的方法及装置中,不同目标网络中目标设备的地址可能是复用的,并不是全网唯一地址。源设备在需要向某个目标网络的某个目标地址发送数据包时,可以向代理服务器请求端口,并通过请求的端口发送数据包。代理服务器基于端口与目标网络和目标地址的对应关系,确定数据包应该发送至哪个目标网络的哪个目标地址,并基于代理服务器的目标网络与通道的对应关系,确定通过哪个通道发送该数据包,从而实现将数据包向正确的目标地址转发。因此,采用本说明书实施例,能够在多网络环境下提供更加便利、高效的数据传输服务。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2为实施例提供的一种多目标网络下的数据传输方法的流程示意图;
图3-1为地址服务组件建立对应关系的一种处理流程示意图;
图3-2为地址服务组件解除对应关系的一种处理流程示意图;
图4为实施例提供的一种由客户端设备传输数据包的流程示意图;
图5为实施例提供的一种多目标网络下的数据传输装置的示意性框图;
图6为实施例提供的另一种多目标网络下的数据传输装置的示意性框图;
图7为实施例提供的又一种多目标网络下的数据传输装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
图1为本说明书披露的一个实施例的实施场景示意图。其中,源设备和代理服务器位于源网络(源VPC)中,源设备可以通过代理服务器中的不同端口,例如端口18080、18081等,访问不同目标网络(例如目标VPC1、VPC2、…、VPCi)中的目标设备。目标网络可以通过客户端设备将来自源网络的数据包转发至本网络中的目标设备。一个目标网络中的目标设备可以是一个,也可以是多个。源设备的数量可以是一个或多个。
其中,VPC是虚拟私有云(Virtual Private Cloud)的简称,是一种私有网络(简称私网),也称为专有网络。在一种实施场景中,多个目标网络可以是云平台提供的逻辑隔离的VPC网络。
区别于公共网络(简称公网,例如因特网Internet),私网是需要经过授权才能访问的网络。私网包括但不限于VPC和局域网等实现形式。本说明书中提及的目标网络是指私有网络。图1所示实施场景以VPC网络为例进行说明,这仅是本说明书实施场景中的一种。图1中的源设备和代理服务器可以但不限于是私网中的设备,其还可以是公网中的设备,也就是说源网络可以是公网,也可以是私网,源设备与代理服务器可以是同一个私网中的设备。
在一种应用场景中,云平台中包含大量的VPC网络,一个VPC网络中可以包含多个目标设备,不同VPC网络中设备的互联网协议地址(Internet Protocol Address,IP)是复用的。也就是,不同目标网络中目标设备的IP地址复用,目标设备的IP地址在整个云平台中不是唯一的。在这种应用场景中,源设备可以借助代理服务器与多个目标网络中的目标设备通信。
代理服务器(Proxy Server)也称为网络代理,能提供特殊的网络服务,允许源设备通过代理服务与目标设备进行非直接的连接。代理服务有利于保障源设备的隐私和安全,同时也能为多网络环境提供更便利的数据传输服务。客户端设备也可以称为代理客户端(Proxy Client),能为目标网络中的目标设备提供代理服务,从而保障目标设备的隐私和安全。本说明书中,源设备、目标设备、代理服务器和客户端设备可以通过任何具有计算、处理能力的装置、设备、平台、设备集群等来实现。本说明书中,目标网络是相对于源网络或源设备而言的网络,目标设备是相对于源设备而言的设备。本说明书主要解决源设备向目标设备发送数据时的问题,因此将设备分别从逻辑角度定义为源设备或目标设备,这并不意味着源设备不能接收来自目标设备的数据,目标设备也可以向源设备发送数据。
在多网络环境下,在与目标设备进行数据传输时,源设备端可以针对每个目标网络设置对应的代理服务器,也就是设置多个代理服务器,源设备通过对应的代理服务器与目标网络中的目标设备进行数据传输。当目标网络的数量很大时,需要设置很多个代理服务器。
或者,源设备通过一个代理服务器连接多个目标网络,并且在代理服务器中进行基于端口的静态配置。例如手工指定代理服务器监听某个端口,并将该端口的数据包转发到对应的目标地址。当目标网络的数量很大时,需要在代理服务器中静态配置大量的端口资源。
为了降低资源需求,提高资源利用率,同时也为了提供更加便利、高效的数据传输服务,本说明书实施例提供了一种多目标网络下的数据传输方法。其中,源设备通过代理服务器中的若干个通道与若干个目标网络中的目标设备通信。源设备向代理服务器的第一端口发送第一数据包,代理服务器接收该第一数据包,并基于代理服务器中的端口与目标网络、目标设备的目标地址的对应关系,确定第一端口对应的第一目标网络和第一目标地址,基于代理服务器中的目标网络与通道的对应关系,确定第一目标网络对应的第一通道,通过第一通道,向第一目标地址转发第一数据包。
在本说明书实施例中,通过一个代理服务器连接多个目标网络,并通过端口与目标网络和目标地址的对应关系,以及目标网络与通道的对应关系,从接收数据包时的端口定位到待发送数据包的通道,从而将数据包通过定位的通道发送至对应的目标网络中的目标地址。通过更新端口与目标网络和目标地址的对应关系,即可实现对代理服务器中端口的动态配置,提高了端口资源的利用率。同时,本说明书提供的数据传输流程,简洁、易于实施,能够很便利、高效地将数据转发至多目标网络中,在目标网络复用IP地址的场景中也能较好地实现数据包的转发。
其中,上述通道是指逻辑通道,建立在设备之间的物理链路上。代理服务器和目标网络的客户端设备之间的通道,是建立在其物理链路上的逻辑通道。
上述端口是指逻辑端口或虚拟端口,是逻辑意义上用于区分服务的端口。为了对端口进行区分,将每个端口进行了编号,也就是端口号。
在一种具体的应用场景中,云平台可以提供数据库服务。例如,可以在源VPC中部署管控运维服务,云上用户可以使用该运维管控服务创建数据库集群。数据库集群可以部署在多个目标VPC中。源VPC可以借助代理服务器连接数据库集群所在的目标VPC。
下面通过具体实施例,对本说明书进行说明。
图2为实施例提供的一种多目标网络下的数据传输方法的流程示意图。本实施例将结合图1所示场景示意图进行说明。其中,目标网络的数量一般来说是多个,当目标网络只有一个时,也能应用本实施例的方法。任意一个目标网络中的目标设备的数量可以是一个或多个。源设备的数量可以是一个或多个。在下文的描述中,以任意一个源设备为例,进行说明该方法包括以下步骤S210~S260。
步骤S210,源设备100获取待发送至第一目标地址add1的第一数据包dp1。第一目标地址add1是第一目标网络VPC1中的目标设备的地址。
其中,第一目标网络VPC1是若干个目标网络中的任意一个。为了方便说明,文中采用VPC1表示第一目标网络,但这并不意味着目标网络只能是VPC网络,目标网络可以由任何一种私有网络实现。VPC1也可以理解为是第一目标网络的标识。
第一目标地址add1可以包括目标设备的IP地址和/或服务端口。例如,一个目标设备的目标地址是“192.168.1.4:80”。
第一数据包是任意一个包含业务数据的数据包,采用dp1表示。第一数据包dp1是源设备100要发送至目标设备的包含业务数据的数据包,业务数据例如可以是源设备发送至目标设备的扩容指令,或缩容指令,或待存储数据,或读取数据指令等。该第一数据包dp1中不包含第一目标网络VPC1和第一目标地址add1。该第一数据包ap1可以理解为多层网络结构中应用层的数据包。
源设备100可以基于用户或开发人员的输入操作获取业务数据,并基于该业务数据生成第一数据包dp1。基于该业务数据生成第一数据包dp1,可以理解为按照预定的应用层数据包的格式,将业务数据生成第一数据包。
步骤S220,源设备100获取代理服务器200中与第一目标网络VPC1和第一目标地址add1对应的第一端口port1。源设备100获取到的第一端口port,是代理服务器200的端口,该第一端口与第一目标网络VPC1和第一目标地址add1进行了绑定。
其中,上述第一端口port1可以是源设备100向代理服务器200申请的。例如,源设备100向代理服务器200发送地址服务请求,该地址服务请求用于请求为第一目标网络VPC1中目标设备的第一目标地址add1分配代理服务器200的端口。第一目标网络VPC1的标识和第一目标地址add1可以携带在地址服务请求中。
代理服务器200在接收到该地址服务请求之后,可以从端口池中确定待分配的第一端口port1,并建立第一端口port1与第一目标网络VPC1和第一目标地址add1的对应关系。代理服务器200可以响应于该地址服务请求,将第一端口port1发送至源设备100。
上述地址服务请求也可以是其他设备发送的,也就是由其他设备向代理服务器200申请的。例如,上述地址服务请求可以是第一目标网络VPC1中的客户端设备发送的,由该客户端设备为第一目标网络VPC1和第一目标地址add1申请端口。因此,目标网络可以反向主动申请端口。代理服务器200在建立了第一端口port1与第一目标网络VPC1和第一目标地址add1之间的对应关系之后,将其存储在本地。
源设备100可以向代理服务器200发送端口获取请求,该端口获取请求用于请求获取与第一目标网络VPC1和第一目标地址add1对应的代理服务器200的端口。代理服务器200在接收到源设备100发送的端口获取请求时,响应于该端口获取请求,从本地获取与第一目标网络VPC1和第一目标地址add1对应的第一端口port1,将第一端口port1发送至源设备100。源设备100接收代理服务器200针对端口获取请求返回的第一端口port1。
在一个例子中,代理服务器200建立的端口与目标网络和目标地址的对应关系可以采用列表的形式存储,参见表1,其中包含了多条对应关系。
表1
代理服务器的端口 | 目标设备的目标地址 | 目标网络的标识 |
18081 | 10.23.12.13:8080 | VPC1 |
18082 | 192.22.12.11:7001 | VPC2 |
18082 | 192.22.12.25:6000 | VPC2 |
表1中的对应关系,包含了端口与目标网络和目标地址的对应关系。“目标网络+目标地址”能够唯一地确定一个目标设备,代理服务器的端口与目标设备一一对应,也就是目标网络和目标地址的组合与代理服务器200的端口一一对应,一个代理服务器200的端口能唯一地指向一个目标设备。这样,基于代理服务器的端口,能够准确地、便利地确定目标设备。
代理服务器200可以通过查找的方式,从本地存储的端口与目标网络和目标地址的对应关系中,确定第一端口port1。
源设备100在获取到第一端口port1之后,可以将该第一端口port1存储在本地。当存在多个待发送至第一目标地址add1的第一数据包dp1时,可以直接从本地获取该第一端口port1。源设备100在本地存储第一端口port1时,可以存储第一端口port1与第一目标网络VPC1和第一目标地址add1之间的对应关系。这样,源设备100可以与不同的目标设备进行通信,在通信时,基于目标设备的目标地址和所在的目标网络,从本地存储的对应关系中查找对应的代理服务器端口。
源设备100在需要与代理服务器200通信时,可以基于代理服务器200的IP地址和预设端口,与代理服务器200建立传输控制协议(Transmission Control Protocol,TCP)链接,通过该TCP链接向代理服务器200发送地址服务请求或者端口获取请求。代理服务器200可以通过该TCP链接,将第一端口port1发送至源设备100。TCP是一种更可靠的传输层协议,TCP链接能够使得设备之间的通信更加可靠、安全。
其中,代理服务器200的IP地址是代理服务器200在公网中的地址,预设端口是预先设置的端口,不同于与目标网络和目标地址绑定的端口。
在一种实施方式中,源设备100和代理服务器200可以设置在同一内网中,例如可以设置在同一个VPC中。这样,源设备100和代理服务器200之间的数据传输,包括传输地址服务请求、端口获取请求、第一端口或者第一数据包等,会更加安全。
在一种实施方式中,上述地址服务请求和端口获取请求在逻辑上可以是同一功能的请求,即可以采用一种请求实现。
步骤S230,源设备100向代理服务器200中的第一端口port1发送第一数据包dp1,代理服务器200接收源设备100向代理服务器200中的第一端口port1发送的第一数据包dp1。
源设备100可以基于代理服务器200的IP地址和第一端口port1,与代理服务器200建立TCP链接,通过该TCP链接向代理服务器200发送第一数据包dp1。代理服务器200可以通过该TCP链接接收源设备100发送的第一数据包dp1。
步骤S240,代理服务器200基于代理服务器的端口与目标网络和目标地址的对应关系,确定第一端口port1对应的第一目标网络VPC1和第一目标地址add1。
代理服务器200可以通过查找的方式,从端口与目标网络和目标地址的对应关系中,确定第一端口port1。
端口与目标网络和目标地址的对应关系可以是预先生成并存储在本地的。在执行步骤S240时,代理服务器200可以从本地获取包含第一端口port1的对应关系,并基于该对应关系确定第一端口port1对应的第一目标网络VPC1和第一目标地址add1。代理服务器200中的端口与目标网络和目标地址的对应关系,可以参见表1所示的例子。
在本实施例中,代理服务器200可以提供端口与目标网络和目标地址的对应关系的建立和解除。例如,代理服务器200可以维护一个端口池,利用该端口池中的端口,为目标网络分配端口,并维护和管理端口池中的端口资源。下面对上述对应关系的建立以及端口池的维护和管理过程进行说明。
在一种实施方式中,代理服务器200可以从端口池的闲置端口中确定待分配的第一端口port1,并建立第一端口port1与第一目标网络VPC1和第一目标地址add1的对应关系,也就是绑定了端口与目标网络和目标地址的对应关系,为目标网络分配了代理服务器的端口。在建立该对应关系之后,代理服务器200还可以在本地记录该对应关系。
为了动态管理端口资源,代理服务器200在为目标网络分配代理服务器的端口时,还可以为端口设置租期,也就是上述对应关系的租期。例如,在租期内,第一端口port1与第一目标网络VPC1和第一目标地址add1之间的对应关系是有效的,超出租期,则其对应关系无效,需要重新为该第一目标网络VPC1和第一目标地址add1分配端口。
上述端口池可以设置在代理服务器200中;也可以设置在其他设备中,代理服务器200通过与其他设备的交互,从端口池中确定第一端口port1。代理服务器200在从端口池的闲置端口中确定待分配的第一端口port1时,如果端口池中有多个闲置端口,则可以从多个闲置端口中随机选取一个作为第一端口port1,也可以按顺序从多个闲置端口中确定第一端口port1。
当端口池中的闲置端口数量少于预设数量时,代理服务器200可以向端口池中增加闲置端口,维持端口池中存在预设数量的闲置端口。
例如,可以从预设数值范围中选择端口号作为新建端口的端口号,将新建端口的端口号添加至端口池。
其中,端口号的范围可以从0到65535,但由于0到1023是公认端口,因此可以但不限于将预设数值范围设置为从1024到65535。
在建立了包含第一端口port1的对应关系之后,可以将该第一端口port1的状态设置为非闲置,或者已使用。其中,包含第一端口port1的对应关系,就是第一端口port1与第一目标网络VPC1和第一目标地址add1的对应关系。
当目标网络数量以及其中的目标设备较多时,需要的代理服务器端口数量也会增多。为了更合理地管理端口资源,在一种实施方式中,代理服务器200还可以回收端口。例如,当针对第一端口port1的释放条件满足时,解除包含第一端口port1的对应关系,并将第一端口port1释放至端口池。
其中,释放条件可以包括以下中的至少一种:
当接收到端口释放请求时;当检测到第一端口port1处于无连接状态的时长达到预设时长时;当检测到第一端口port1的租期已满时。
上述端口释放请求用于请求解除包含第一端口port1的对应关系,可以是由第一目标网络中的客户端设备发送至代理服务器200的,也可以是源设备100发送至代理服务器200的。上述无连接状态,可以理解为未接收到发送至第一端口port1的数据包的状态。预设时长,例如可以是1小时等时长。第一端口port1的租期,也就是有效期。该租期可以是在建立包含第一端口port1的对应关系时设置的。
当代理服务器200解除包含第一端口port1的对应关系时,可以向源设备100返回已释放第一端口port1的通知消息。
在接收到端口释放请求时释放对应的端口,这是代理服务器200被动释放端口的方式。当检测到第一端口port1处于无连接状态的时长达到预设时长,以及检测到第一端口port1的租期已满时释放端口,是代理服务器200主动释放端口的方式。上述被动释放端口和主动释放端口的方式可以结合使用。
代理服务器200还可以检测端口池中的闲置端口数量是否超出预设最大值,如果超出,则删除超出部分的闲置端口,使得端口池中的闲置端口数量维持在预设数量至预设最大值的设定范围内。预设最大值大于预设数量,预设最大值和预设数量可以是预先设置的。
在一种实施方式中,代理服务器200可以包括地址服务组件。该地址服务组件用于维护端口池,绑定端口与目标网络和目标地址的关系,解除绑定关系等。例如,图3-1为地址服务组件建立对应关系的一种处理流程示意图。
其中,地址服务组件执行以下步骤:(s1)接收地址服务请求,例如其请求为目标网络VPC2中的目标地址192.22.12.11:7001分配端口,(s2)向端口池申请可用的端口,(s3)从端口池分配到端口18082,(s4)建立端口18082与目标网络VPC2和目标地址192.22.12.11:7001的对应关系,(s5)提供分配的端口号。在(s5)中,地址服务组件可以向其他设备提供分配的端口号,也可以将端口与目标网络和目标地址的对应关系提供给其他设备。此处的其他设备是向地址服务组件发送地址服务请求的设备,例如可以是源设备。
图3-2为地址服务组件解除对应关系的一种处理流程示意图。其中,地址服务组件执行以下步骤:(a1)解除端口18082与目标网络VPC2和目标地址192.22.12.11:7001的对应关系,(a2)将端口18082释放至端口池。
在本实施例中,代理服务器200可以动态地分配端口,并对端口池进行合理的管理,建新、释放、删除都可以在配置之后自动进行,无需人工管理。同时也避免对端口的资源浪费。
步骤S250,代理服务器200基于代理服务器200中的目标网络与通道的对应关系,确定第一目标网络VPC1对应的第一通道channel1。
代理服务器200中可以预先建立有连接至多个目标网络的通道,并对每个通道标注其对应的目标网络标识。所有流向该目标网络的数据包,都可以通过该通道送达。代理服务器200与任意一个目标网络之间的通道,可以是一个或多个。
具体的,上述通道可以是在代理服务器200与目标网络中的客户端设备之间建立的。下面针对第一通道channel1说明通道建立的过程。
在第一目标网络VPC1初始建立时,可以在该第一目标网络VPC1中配置客户端设备,由该客户端设备主动向代理服务器200申请建立上述通道。具体的,客户端设备能够获取到代理服务器200的IP地址和预设端口,基于代理服务器200的IP地址和预设端口,与代理服务器200建立TCP链接,并通过该TCP链接向代理服务器200发送通道建立请求和认证信息。通过TCP链接向代理服务器200发送通道建立请求和认证信息,只是一种比较优选的方式,并不是唯一实施方式。在实际应用中,客户端设备可以通过其他链接方式向代理服务器200发送通道建立请求和认证信息。上述通道建立请求中携带第一目标网络VPC1的标识。
代理服务器200接收第一目标网络VPC1中的客户端设备发送的通道建立请求和认证信息,并响应于该通道建立请求,对认证信息进行认证;当认证通过时,建立代理服务器200与客户端设备之间的通道,并标记第一目标网络VPC1与该通道的对应关系。
该通道可以是加密通道和/或双向通道。代理服务器200和客户端设备采用该通道传输数据时,可以采用约定的加密方式进行。
上述认证信息可以是代理服务器200预先颁发给第一目标网络VPC1的。代理服务器200可以将客户端设备发送的认证信息与预先颁发的认证信息进行比对,当比对相同时确定认证通过。
步骤S260,代理服务器200通过第一通道channel1,向第一目标地址add1转发第一数据包dp1,也就是将第一数据包dp1通过第一通道channel1向外发送。
下面回顾上述步骤S240和S260。在确定第一端口port1对应的第一目标网络VPC1和第一目标地址add1之后,代理服务器200还可以利用第一目标地址add1,对第一数据包dp1进行封装,得到封装后的第一数据包。封装后的第一数据包携带第一目标地址add1。封装后的第一数据包仍然是应用层数据包。
代理服务器200可以通过第一通道channel1转发封装后的第一数据包。第一目标网络VPC1中的客户端设备在接收到该封装后的第一数据包时,基于封装后的第一数据包携带的第一目标地址add1,向目标设备转发第一数据包。
在一种实施方式中,代理服务器200可以将封装后的第一数据包包装成TCP数据包,该TCP数据包的目的地址是客户端设备的IP地址和端口,通过第一通道channel1转发该TCP数据包。第一目标网络VPC1中的客户端设备通过第一通道channel1接收该TCP数据包,并从中解析出应用层数据包(即封装后的第一数据包)携带的第一目标地址add1,基于该第一目标地址add1在本网络中向目标设备转发第一数据包。
上述的步骤S240、S250和S260,可以是代理服务器200中的不同模块执行的,这些模块例如可以命名为模块a、模块b和模块c。为了便于不同模块之间的数据传输,还可以将第一目标网络VPC1封装在第一数据包中,得到封装后的第一数据包,该封装后的第一数据包携带第一目标地址add1和第一目标网络VPC1的标识,并在不同模块之间传递封装后的第一数据包。
在一种实施方式中,在步骤S240中,模块a在对第一数据包dp1进行封装时,可以将第一目标地址add1和第一目标网络VPC1的标识封装在数据包中,得到封装后的第一数据包,并将封装后的第一数据包发送至模块b。
在步骤S250中,模块b接收模块a发送的封装后的第一数据包,基于代理服务器200中的目标网络与通道的对应关系,以及封装后的第一数据包携带的第一目标网络VPC的标识,确定第一目标网络VPC1对应的第一通道channel1。
然后,模块b可以将封装后的第一数据包和发送指示发送至模块c,该发送指示用于指示通过第一通道channel1发送封装后的第一数据包。模块b也可以剥离封装后的第一数据包中的第一目标网络VPC1的标识,将不携带目标网络标识的第一数据包和发送指示发送至模块c。
在步骤S260中,模块c接收模块b发送的封装后的第一数据包和发送指示,并通过第一通道channel1,向第一目标地址add1转发封装后的第一数据包。当模块c接收到的封装后的第一数据包携带第一目标网络VPC1的标识时,模块c可以剥离该第一目标网络VPC1的标识,也可以不剥离。因此,代理服务器200通过第一通道channel1向客户端设备发送的封装后的第一数据包,可以是携带第一目标地址add1和第一目标网络VPC1的标识的,也可以是携带第一目标地址add1,但是不携带第一目标网络VPC1的标识的。
客户端设备,在接收到封装后的第一数据包时,可以在对封装后的第一数据包携带的第一目标网络VPC1的标识检验通过后,向目标设备转发第一数据包。对应于本实施方式,本说明书还提供了以下实施例。
图4为实施例提供的一种由客户端设备传输数据包的流程示意图,具体包括以下步骤S410~S430。
步骤S410,第一目标网络VPC1中的客户端设备,通过与代理服务器200之间的第一通道channel1接收第二数据包dp2。
其中,第二数据包dp2携带第一目标网络标识和第一目标地址add1,该第一目标网络标识是代理服务器200基于端口与目标网络和目标地址的对应关系确定的,第一通道channel1代理服务器200基于目标网络与通道的对应关系确定的。第二数据包dp2经过图2所述流程示意图的处理,被转发至该客户端设备中。对第二数据包dp2的传输处理过程,与步骤S210至S260对第一数据包dp1的传输处理是相同的,此处不再赘述。
步骤S420,检验第二数据包dp2携带的第一目标网络标识是否是本目标网络的标识。如果是,则执行以下步骤S430,如果不是,该第二数据包dp2可能是发送错误的数据包,客户端设备可以丢弃该第二数据包dp2。其中,本目标网络的标识就是客户端设备在本地存储的第一目标网络的标识。
步骤S430,基于第二数据包dp2携带的第一目标地址add1,向本目标网络中的目标设备转发第二数据包dp2。在转发时,客户端设备可以确定通向第一目标地址add1的链路,并将剥离第一目标地址add1后的第二数据包向该链路发送。该链路可以是客户端设备与目标设备之间的TCP链路。客户端设备也可以采用其他方式执行转发第二数据包,具体方式此处不再赘述。
本实施例中,在代理服务器200转发至目标网络中客户端设备的数据包中携带目标网络标识,客户端设备可以核验该目标网络标识是否正确,从而能够检验数据包的转发过程是否正确,当出现错误时,避免转发错误的数据包,提高数据传输过程的准确性。
本说明书中,第一目标网络、第一端口、第一目标地址、第一数据包、第一链路和第一地址服务请求等中的“第一”,以及文中相应的“第二”,仅仅是为了区分和描述方便,而不具有任何限定意义。
上述内容对本说明书的特定实施例进行了描述,其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行,并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要按照示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的,或者可能是有利的。
图5为实施例提供的一种多目标网络下的数据传输装置的示意性框图。该装置部署在代理服务器中,代理服务器通过若干个通道连接至若干个目标网络,源设备通过代理服务器与若干个目标网络中的目标设备进行通信。其中,代理服务器可以通过任何具有计算、处理能力的装置、设备、平台、设备集群等来实现。该装置实施例与图2所示方法实施例相对应。该装置500包括:
第一接收模块510,配置为,接收所述源设备向所述代理服务器中的第一端口发送的第一数据包;
第一确定模块520,配置为,基于端口与目标网络和目标地址的对应关系,确定所述第一端口对应的第一目标网络和第一目标地址;
第二确定模块530,配置为,基于所述代理服务器中的目标网络与通道的对应关系,确定所述第一目标网络对应的第一通道;
第一转发模块540,配置为,通过所述第一通道,向所述第一目标地址转发所述第一数据包。
在一种实施方式中,装置500还包括:
第二接收模块(图中未示出),配置为,在确定所述第一端口对应的第一目标网络和第一目标地址之前,接收地址服务请求,所述地址服务请求用于请求为所述第一目标网络中目标设备的第一目标地址分配所述代理服务器的端口;
端口分配模块(图中未示出),配置为,从端口池中确定待分配的第一端口,并建立所述第一端口与所述第一目标网络和所述第一目标地址的对应关系。
在一种实施方式中,装置500还包括:
第一发送模块(图中未示出),配置为,在接收到所述源设备发送的端口获取请求时,将所述第一端口发送至所述源设备,以使所述源设备将待发送至所述第一目标网络中的第一目标地址的第一数据包,向所述代理服务器的第一端口发送;所述端口获取请求用于获取与所述第一目标网络和所述第一目标地址对应的代理服务器的端口。
在一种实施方式中,所述端口分配模块,从端口池中确定待分配的第一端口时,包括:
从端口池的闲置端口中确定待分配的第一端口;
所述装置500还包括:
端口增加模块(图中未示出),配置为,当所述端口池中的闲置端口数量少于预设数量时,向所述端口池中增加闲置端口。
在一种实施方式中,所述端口增加模块,具体配置为:
从预设数值范围中选择端口号作为新建端口的端口号,将所述新建端口的端口号添加至所述端口池。
在一种实施方式中,所述装置500还包括:
端口释放模块(图中未示出),配置为,在建立了包含所述第一端口的对应关系之后,当针对所述第一端口的释放条件满足时,解除包含所述第一端口的对应关系,并将所述第一端口释放至所述端口池。
在一种实施方式中,所述释放条件包括以下中的至少一种:
当接收到端口释放请求时;其中,所述端口释放请求用于请求解除包含所述第一端口的对应关系;
当检测到所述第一端口处于无连接状态的时长达到预设时长时;
当检测到所述第一端口的租期已满时。
在一种实施方式中,装置500还包括:标识封装模块(图中未示出);
标识封装模块,配置为,在确定所述第一端口对应的第一目标网络和第一目标地址之后,利用所述第一目标地址,对所述第一数据包进行封装,得到封装后的第一数据包;
第一转发模块540,具体配置为,通过所述第一通道转发封装后的第一数据包,以使得所述第一目标网络中的客户端设备,基于封装后的第一数据包携带的第一目标地址,向目标设备转发所述第一数据包。
在一种实施方式中,标识封装模块具体配置为,对所述第一数据包进行封装,使得封装后的第一数据包携带所述第一目标地址和所述第一目标网络的标识;
第二确定模块530具体配置为:
基于所述代理服务器中的目标网络与通道的对应关系,以及封装后的第一数据包携带的所述第一目标网络的标识,确定所述第一目标网络对应的第一通道。
在一种实施方式中,装置500还包括:通道建立模块(图中未示出);所述通道建立模块,配置为:
接收所述第一目标网络中的客户端设备发送的通道建立请求和认证信息;
响应于所述通道建立请求,对所述认证信息进行认证;
当认证通过时,建立所述代理服务器与所述客户端设备之间的通道,并标记所述第一目标网络与该通道的对应关系。
在一种实施方式中,第一接收模块510具体配置为:
基于所述代理服务器的第一端口,与所述源设备建立TCP链接;
通过所述TCP链接接收所述源设备发送的第一数据包。
图6为实施例提供的另一种多目标网络下的数据传输装置的示意性框图。该装置600部署在源设备中,源设备通过代理服务器与若干个目标网络中的目标设备进行通信,代理服务器通过若干个通道连接至若干个目标网络。其中,源设备可以通过任何具有计算、处理能力的装置、设备、平台、设备集群等来实现。该装置实施例与图2所示方法实施例相对应。装置600包括:
第一获取模块610,配置为,获取待发送至第一目标地址的第一数据包,所述第一目标地址是第一目标网络中的目标设备的地址;
第二获取模块620,配置为,获取所述代理服务器中与所述第一目标网络和所述第一目标地址对应的第一端口;
第二发送模块630,配置为,向所述代理服务器中的所述第一端口发送所述第一数据包,以使得所述代理服务器通过第一通道向所述第一目标地址转发所述第一数据包;其中,所述代理服务器基于端口与目标网络和目标地址的对应关系,确定所述第一端口对应的第一目标网络和第一目标地址,并基于目标网络与通道的对应关系确定第一通道。
在一种实施方式中,第二获取模块620包括:
发送子模块(图中未示出),配置为,向所述代理服务器发送端口获取请求,所述端口获取请求用于获取与第一目标网络和第一目标地址对应的代理服务器的端口;
接收子模块(图中未示出),配置为,接收代理服务器针对端口获取请求返回的第一端口。
图7为实施例提供的又一种多目标网络下的数据传输装置的示意性框图。该装置700部署在第一目标网络中的客户端设备中,第一目标网络是若干个目标网络中的任意一个,源设备通过代理服务器与若干个目标网络中的目标设备进行通信,代理服务器通过若干个通道连接至若干个目标网络。该装置实施例与图4所示方法实施例相对应。该装置700包括:
第三接收模块710,配置为,通过与所述代理服务器之间的第一通道接收第二数据包,所述第二数据包携带第一目标网络标识和第一目标地址,所述第一目标网络标识是所述代理服务器基于端口与目标网络和目标地址的对应关系确定的,所述第一通道是所述代理服务器基于目标网络与通道的对应关系确定的;
第一检验模块720,配置为,检验所述第二数据包携带的第一目标网络标识是否是本目标网络的标识;
第二转发模块730,配置为,当所述第二数据包携带的第一目标网络标识是本目标网络的标识时,基于所述第二数据包携带的第一目标地址,向目标设备转发所述第二数据包。
上述各个装置实施例与方法实施例相对应,具体说明可以参见方法实施例部分的描述,此处不再赘述。装置实施例是基于对应的方法实施例得到,与对应的方法实施例具有同样的技术效果,具体说明可参见对应的方法实施例。
本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行图1至图4任一项所述的方法。
本说明书实施例还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现图1至图4任一项所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于存储介质和计算设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明实施例的目的、技术方案和有益效果进行了进一步的详细说明。所应理解的是,以上所述仅为本发明实施例的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (19)
1.一种多目标网络下的数据传输方法,通过代理服务器执行,源设备通过所述代理服务器中的若干个通道与若干个目标网络中的目标设备通信,所述方法包括:
接收所述源设备向所述代理服务器中的第一端口发送的第一数据包;
基于端口与目标网络和目标地址的对应关系,确定所述第一端口对应的第一目标网络和第一目标地址;
基于所述代理服务器中的目标网络与通道的对应关系,确定所述第一目标网络对应的第一通道;
通过所述第一通道,向所述第一目标地址转发所述第一数据包。
2.根据权利要求1所述的方法,在确定所述第一端口对应的第一目标网络和第一目标地址之前,还包括:
接收地址服务请求,所述地址服务请求用于请求为所述第一目标网络中目标设备的第一目标地址分配所述代理服务器的端口;
从端口池中确定待分配的第一端口,并建立所述第一端口与所述第一目标网络和所述第一目标地址的对应关系。
3.根据权利要求2所述的方法,所述方法还包括:
在接收到所述源设备发送的端口获取请求时,将所述第一端口发送至所述源设备,以使所述源设备将待发送至所述第一目标网络中的第一目标地址的第一数据包,向所述代理服务器的第一端口发送;所述端口获取请求用于获取与所述第一目标网络和所述第一目标地址对应的代理服务器的端口。
4.根据权利要求2所述的方法,所述从端口池中确定待分配的第一端口的步骤,包括:
从所述端口池的闲置端口中确定待分配的第一端口;
所述方法还包括:
当所述端口池中的闲置端口数量少于预设数量时,向所述端口池中增加闲置端口。
5.根据权利要求4所述的方法,所述向所述端口池中增加闲置端口的步骤,包括:
从预设数值范围中选择端口号作为新建端口的端口号,将所述新建端口的端口号添加至所述端口池。
6.根据权利要求4所述的方法,在建立了包含所述第一端口的对应关系之后,所述方法还包括:
当针对所述第一端口的释放条件满足时,解除包含所述第一端口的对应关系,并将所述第一端口释放至所述端口池。
7.根据权利要求6所述的方法,所述释放条件包括以下中的至少一种:
当接收到端口释放请求时;其中,所述端口释放请求用于请求解除包含所述第一端口的对应关系;
当检测到所述第一端口处于无连接状态的时长达到预设时长时;
当检测到所述第一端口的租期已满时。
8.根据权利要求1所述的方法,在确定所述第一端口对应的第一目标网络和第一目标地址之后,还包括:
利用所述第一目标地址,对所述第一数据包进行封装,得到封装后的第一数据包;
所述通过所述第一通道,向所述第一目标地址转发所述第一数据包的步骤,包括:
通过所述第一通道转发封装后的第一数据包,以使得所述第一目标网络中的客户端设备,基于封装后的第一数据包携带的第一目标地址,向目标设备转发所述第一数据包。
9.根据权利要求8所述的方法,所述利用所述第一目标地址,对所述第一数据包进行封装的步骤,包括:
对所述第一数据包进行封装,使得封装后的第一数据包携带所述第一目标地址和所述第一目标网络的标识;
所述确定所述第一目标网络对应的第一通道的步骤,包括:
基于所述代理服务器中的目标网络与通道的对应关系,以及封装后的第一数据包携带的所述第一目标网络的标识,确定所述第一目标网络对应的第一通道。
10.根据权利要求1所述的方法,采用以下方式与所述第一目标网络中的客户端设备建立通道:
接收所述第一目标网络中的客户端设备发送的通道建立请求和认证信息;
响应于所述通道建立请求,对所述认证信息进行认证;
当认证通过时,建立所述代理服务器与所述客户端设备之间的通道,并标记所述第一目标网络与该通道的对应关系。
11.根据权利要求1所述的方法,所述接收所述源设备向所述代理服务器中的第一端口发送的第一数据包的步骤,包括:
基于所述代理服务器的第一端口,与所述源设备建立TCP链接;
通过所述TCP链接接收所述源设备发送的第一数据包。
12.一种多目标网络下的数据传输方法,通过源设备执行,所述源设备通过代理服务器中的若干个通道与若干个目标网络中的目标设备通信,所述方法包括:
获取待发送至第一目标地址的第一数据包,所述第一目标地址是第一目标网络中的目标设备的地址;
获取所述代理服务器中与所述第一目标网络和所述第一目标地址对应的第一端口;
向所述代理服务器中的所述第一端口发送所述第一数据包,以使得所述代理服务器通过第一通道向所述第一目标地址转发所述第一数据包;其中,所述代理服务器基于端口与目标网络和目标地址的对应关系,确定所述第一端口对应的第一目标网络和第一目标地址,并基于目标网络与通道的对应关系确定第一通道。
13.根据权利要求12所述的方法,所述获取所述代理服务器中与所述第一目标网络和所述第一目标地址对应的第一端口的步骤,包括:
向所述代理服务器发送端口获取请求,所述端口获取请求用于获取与所述第一目标网络和所述第一目标地址对应的代理服务器的端口;
接收所述代理服务器针对所述端口获取请求返回的第一端口。
14.一种多目标网络下的数据传输方法,通过第一目标网络中的客户端设备执行,所述第一目标网络是若干个目标网络中的任意一个,源设备通过代理服务器中的若干个通道与所述若干个目标网络中的目标设备进行通信;所述方法包括:
通过与所述代理服务器之间的第一通道接收第二数据包,所述第二数据包携带第一目标网络标识和第一目标地址,所述第一目标网络标识是所述代理服务器基于端口与目标网络和目标地址的对应关系确定的,所述第一通道是所述代理服务器基于目标网络与通道的对应关系确定的;
检验所述第二数据包携带的第一目标网络标识是否是本目标网络的标识;
如果是,则基于所述第二数据包携带的第一目标地址,向目标设备转发所述第二数据包。
15.一种多目标网络下的数据传输装置,部署在代理服务器中,源设备通过所述代理服务器中的若干个通道与若干个目标网络中的目标设备进行通信,所述装置包括:
第一接收模块,配置为,接收所述源设备向所述代理服务器中的第一端口发送的第一数据包;
第一确定模块,配置为,基于端口与目标网络和目标地址的对应关系,确定所述第一端口对应的第一目标网络和第一目标地址;
第二确定模块,配置为,基于所述代理服务器中的目标网络与通道的对应关系,确定所述第一目标网络对应的第一通道;
第一转发模块,配置为,通过所述第一通道,向所述第一目标地址转发所述第一数据包。
16.一种多目标网络下的数据传输装置,部署在源设备中,所述源设备通过代理服务器中的若干个通道与若干个目标网络中的目标设备通信,所述装置包括:
第一获取模块,配置为,获取待发送至第一目标地址的第一数据包,所述第一目标地址是第一目标网络中的目标设备的地址;
第二获取模块,配置为,获取所述代理服务器中与所述第一目标网络和所述第一目标地址对应的第一端口;
第二发送模块,配置为,向所述代理服务器中的所述第一端口发送所述第一数据包,以使得所述代理服务器通过第一通道向所述第一目标地址转发所述第一数据包;其中,所述代理服务器基于端口与目标网络和目标地址的对应关系,确定所述第一端口对应的第一目标网络和第一目标地址,并基于目标网络与通道的对应关系确定第一通道。
17.一种多目标网络下的数据传输装置,部署在第一目标网络中的客户端设备中,所述第一目标网络是若干个目标网络中的任意一个,源设备通过代理服务器中的若干个通道与所述若干个目标网络中的目标设备进行通信;所述装置包括:
第三接收模块,配置为,通过与所述代理服务器之间的第一通道接收第二数据包,所述第二数据包携带第一目标网络标识和第一目标地址,所述第一目标网络标识是所述代理服务器基于端口与目标网络和目标地址的对应关系确定的,所述第一通道是所述代理服务器基于目标网络与通道的对应关系确定的;
第一检验模块,配置为,检验所述第二数据包携带的第一目标网络标识是否是本目标网络的标识;
第二转发模块,配置为,当所述第二数据包携带的第一目标网络标识是本目标网络的标识时,基于所述第二数据包携带的第一目标地址,向目标设备转发所述第二数据包。
18.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-14中任一项所述的方法。
19.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-14中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111397974.4A CN114125025B (zh) | 2021-11-23 | 2021-11-23 | 一种多目标网络下的数据传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111397974.4A CN114125025B (zh) | 2021-11-23 | 2021-11-23 | 一种多目标网络下的数据传输方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114125025A CN114125025A (zh) | 2022-03-01 |
CN114125025B true CN114125025B (zh) | 2024-02-13 |
Family
ID=80440638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111397974.4A Active CN114125025B (zh) | 2021-11-23 | 2021-11-23 | 一种多目标网络下的数据传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114125025B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115633016A (zh) * | 2022-10-17 | 2023-01-20 | 维沃移动通信有限公司 | 数据传输方法、装置、系统、电子设备及介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105379227A (zh) * | 2013-05-07 | 2016-03-02 | 环球互连及数据中心公司 | 用于与多个虚拟私有云一对多连接的直接连接虚拟私有接口 |
CN109361764A (zh) * | 2018-11-29 | 2019-02-19 | 杭州数梦工场科技有限公司 | 内跨vpc的服务访问方法、装置、设备及可读存储介质 |
CN109543133A (zh) * | 2018-11-29 | 2019-03-29 | 杭州涂鸦信息技术有限公司 | 一种自动化发布方法、装置、系统、设备及可读存储介质 |
CN109756412A (zh) * | 2018-12-24 | 2019-05-14 | 华为技术有限公司 | 一种数据报文转发方法以及设备 |
CN109831468A (zh) * | 2017-11-23 | 2019-05-31 | 北京金山云网络技术有限公司 | 负载均衡方法、装置、电子设备及存储介质 |
US10541966B1 (en) * | 2015-07-02 | 2020-01-21 | Aviatrix Systems, Inc. | System and method for enabling communication between networks with overlapping IP address ranges |
CN111213348A (zh) * | 2017-10-11 | 2020-05-29 | 华为技术有限公司 | 数据中心系统中域名解析的方法、装置和系统 |
CN111431956A (zh) * | 2019-01-10 | 2020-07-17 | 阿里巴巴集团控股有限公司 | 跨网络的服务访问方法、设备、系统及存储介质 |
CN111866124A (zh) * | 2020-07-17 | 2020-10-30 | 北京金山云网络技术有限公司 | 访问网页页面的方法、装置、服务器和机器可读存储介质 |
CN112104754A (zh) * | 2020-11-18 | 2020-12-18 | 腾讯科技(深圳)有限公司 | 网络代理方法、系统、装置、设备及存储介质 |
CN112640369A (zh) * | 2018-08-24 | 2021-04-09 | Vm维尔股份有限公司 | 在公共云中智能地使用对等 |
CN112738284A (zh) * | 2021-04-01 | 2021-04-30 | 腾讯科技(深圳)有限公司 | 服务集成中的数据传输方法、装置、设备及存储介质 |
CN112995273A (zh) * | 2021-01-28 | 2021-06-18 | 腾讯科技(深圳)有限公司 | 网络打通方案生成方法、装置、计算机设备和存储介质 |
WO2021175152A1 (zh) * | 2020-03-05 | 2021-09-10 | 北京金山云网络技术有限公司 | 容器集群系统、容器控制台和服务器 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4802295B1 (ja) * | 2010-08-31 | 2011-10-26 | 株式会社スプリングソフト | ネットワークシステム及び仮想プライベート接続形成方法 |
US11159490B2 (en) * | 2017-11-03 | 2021-10-26 | F5 Networks, Inc. | Methods and devices for service-discovering reverse-tunnel proxy and tunnel service center |
US11190609B2 (en) * | 2019-06-28 | 2021-11-30 | Amazon Technologies, Inc. | Connection pooling for scalable network services |
-
2021
- 2021-11-23 CN CN202111397974.4A patent/CN114125025B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105379227A (zh) * | 2013-05-07 | 2016-03-02 | 环球互连及数据中心公司 | 用于与多个虚拟私有云一对多连接的直接连接虚拟私有接口 |
US10541966B1 (en) * | 2015-07-02 | 2020-01-21 | Aviatrix Systems, Inc. | System and method for enabling communication between networks with overlapping IP address ranges |
CN111213348A (zh) * | 2017-10-11 | 2020-05-29 | 华为技术有限公司 | 数据中心系统中域名解析的方法、装置和系统 |
CN109831468A (zh) * | 2017-11-23 | 2019-05-31 | 北京金山云网络技术有限公司 | 负载均衡方法、装置、电子设备及存储介质 |
CN112640369A (zh) * | 2018-08-24 | 2021-04-09 | Vm维尔股份有限公司 | 在公共云中智能地使用对等 |
CN109361764A (zh) * | 2018-11-29 | 2019-02-19 | 杭州数梦工场科技有限公司 | 内跨vpc的服务访问方法、装置、设备及可读存储介质 |
CN109543133A (zh) * | 2018-11-29 | 2019-03-29 | 杭州涂鸦信息技术有限公司 | 一种自动化发布方法、装置、系统、设备及可读存储介质 |
CN109756412A (zh) * | 2018-12-24 | 2019-05-14 | 华为技术有限公司 | 一种数据报文转发方法以及设备 |
CN111431956A (zh) * | 2019-01-10 | 2020-07-17 | 阿里巴巴集团控股有限公司 | 跨网络的服务访问方法、设备、系统及存储介质 |
WO2021175152A1 (zh) * | 2020-03-05 | 2021-09-10 | 北京金山云网络技术有限公司 | 容器集群系统、容器控制台和服务器 |
CN111866124A (zh) * | 2020-07-17 | 2020-10-30 | 北京金山云网络技术有限公司 | 访问网页页面的方法、装置、服务器和机器可读存储介质 |
CN112104754A (zh) * | 2020-11-18 | 2020-12-18 | 腾讯科技(深圳)有限公司 | 网络代理方法、系统、装置、设备及存储介质 |
CN112995273A (zh) * | 2021-01-28 | 2021-06-18 | 腾讯科技(深圳)有限公司 | 网络打通方案生成方法、装置、计算机设备和存储介质 |
CN112738284A (zh) * | 2021-04-01 | 2021-04-30 | 腾讯科技(深圳)有限公司 | 服务集成中的数据传输方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
云杉网络NSP混合云网络互联与服务;本刊编辑部;;网络安全和信息化(第07期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114125025A (zh) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110351191B (zh) | 网络配置方法、系统、设备及存储介质 | |
CN107426339B (zh) | 一种数据连接通道的接入方法、装置及系统 | |
CN105610632B (zh) | 一种虚拟网络设备及相关方法 | |
CN107872542B (zh) | 一种数据传输的方法及网络设备 | |
US8509239B2 (en) | Method, apparatus and system for processing packets | |
CN110650168B (zh) | 一种通信方法及其装置 | |
CN111327668B (zh) | 网络管理方法、装置、设备和存储介质 | |
JP6128352B2 (ja) | 認証情報を転送するための方法、中継装置、サーバ、およびシステム | |
EP2434703A1 (en) | Method and terminal for transmitting service data | |
CN113285926B (zh) | 面向电力监控系统的蜜罐诱捕方法、装置、计算机设备 | |
CN111786867B (zh) | 一种数据传输方法及服务器 | |
CN109495594B (zh) | 一种数据传输方法、pnf sdn控制器、vnf sdn控制器及系统 | |
CN114125025B (zh) | 一种多目标网络下的数据传输方法及装置 | |
JP6920537B2 (ja) | Bras転送・制御分離アーキテクチャにおけるユーザ認証 | |
CN109905450B (zh) | 设备间通信方法、装置、设备和存储介质 | |
CN112583618A (zh) | 为业务提供网络服务的方法、装置和计算设备 | |
CN110430276B (zh) | 基于docker的通信控制方法、装置、通信控制设备和存储介质 | |
CN106878481B (zh) | 一种网络互连协议ip地址获取方法、装置和系统 | |
CN105897542B (zh) | 一种隧道建立方法及视频监控系统 | |
CN108093041A (zh) | 单通道vdi代理服务系统及实现方法 | |
CN107547621B (zh) | 一种报文转发方法及装置 | |
CN111614792B (zh) | 透传方法、系统、服务器、电子设备及存储介质 | |
CN101257517B (zh) | 地址解析协议请求消息处理方法及装置 | |
CN113364660A (zh) | Lvs负载均衡中的数据包处理方法及装置 | |
CN112671581A (zh) | 边缘upf系统和基于边缘upf系统的以太网组网方法 |
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 |