CN113595891A - 数据通信方法、装置和电子设备 - Google Patents

数据通信方法、装置和电子设备 Download PDF

Info

Publication number
CN113595891A
CN113595891A CN202110951044.2A CN202110951044A CN113595891A CN 113595891 A CN113595891 A CN 113595891A CN 202110951044 A CN202110951044 A CN 202110951044A CN 113595891 A CN113595891 A CN 113595891A
Authority
CN
China
Prior art keywords
target
gateway
data message
equipment
address
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
CN202110951044.2A
Other languages
English (en)
Other versions
CN113595891B (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.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology 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 Beijing Kingsoft Cloud Network Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN202110951044.2A priority Critical patent/CN113595891B/zh
Publication of CN113595891A publication Critical patent/CN113595891A/zh
Application granted granted Critical
Publication of CN113595891B publication Critical patent/CN113595891B/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
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • 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

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

数据通信方法、装置和电子设备
技术领域
本发明涉及通信技术领域,尤其是涉及一种数据通信方法、装置和电子设备。
背景技术
局域网是一个封闭的内部网络,为了提高通信效率,通常同机房的服务器之间会采用局域网通信;不同机房的服务器之间通信时,需要通过公网进行通信,但是通过公网通信存在安全风险。相关技术中,不同机房的服务器通常采用连接VPN(Virtual PrivateNetwork,虚拟专用网络)的方式,在服务器上拨号到VPN的中心化服务器,由中心化服务器分别给不同机房的服务器分配虚拟局域网IP(Internet Protocol,网际互连协议)地址,以使不同机房的服务器之间能够通过虚拟局域网IP进行通信。这种方式中,所有机房服务器之间的通信流量都需要经过中心化服务器转发,当流量较大时,会降低通信性能和效率,若中心化服务器出现故障,会导致整个网络瘫痪。
发明内容
有鉴于此,本发明的目的在于提供一种数据通信方法、装置和电子设备,以提高在不同私有网络之间数据的通信性能和效率。
第一方面,本发明实施例提供了一种数据通信方法,方法应用于第一私有网络中的第一网关设备;第一网关设备与第一私有网络中的至少一台第一客户端设备通信连接;方法包括:接收第一客户端设备发送的第一数据报文,解析第一数据报文,得到第一数据报文的目标地址;如果目标地址指示的是第一私有网络以外的第二客户端设备,根据目标地址,将第一数据报文发送至第二客户端设备对应的第二网关设备,以使第二网关设备根据目标地址,将第一数据报文发送至第二客户端设备;其中,第二客户端设备和第二网关设备部署在第二私有网络,第二私有网络与第一私有网络为不同的私有网络。
进一步的,根据目标地址,将第一数据报文发送至第二客户端设备对应的第二网关设备的步骤,包括:根据预先配置的第一映射表,确定目标地址对应的目标服务端口;第一映射表包括:客户端设备的设备地址,以及设备地址对应的网关设备的服务端口;根据目标服务端口,将第一数据报文发送至第二客户端设备对应的第二网关设备。
进一步的,根据目标服务端口,将第一数据报文发送至第二客户端设备对应的第二网关设备的步骤,包括:根据目标服务端口,从第二映射表中确定第一数据报文的目标传输路径;第二映射表包括:网关设备的服务端口、以及网关设备的服务端口之间数据报文的传输路径;传输路径中包括多台网关设备,或者,传输路径中包括网关设备和中继设备;根据目标传输路径,将第一数据报文发送至第二网关设备。
进一步的,根据目标传输路径,将第一数据报文发送至第二网关设备的步骤,包括:如果目标传输路径中包括目标中继设备,根据目标中继设备的服务端口,将第一数据报文发送至目标中继设备,由目标中继设备根据目标服务端口,将第一数据报文转发至第二网关设备。
进一步的,第二映射表通过下述方式确定:针对每个目标私有网络的目标网关设备或目标中继设备,通过指定协议,将目标网关设备和目标中继设备的设备信息,发送至除目标私有网络以外,其他私有网络的网关设备或中继设备;针对每个目标私有网络的目标网关设备和目标中继设备,通过指定网络诊断工具,检测目标网关设备或目标中继设备与其他私有网络的网关设备或中继设备之间的网络质量;基于设备信息和网络质量,确定第二映射表。
进一步的,设备信息包括:服务端口,设备类型,以及设备状态;基于设备信息和网络质量,确定第二映射表的步骤,包括:通过设备状态,将能够建立通信连接的指定设备进行连接,得到多个初始传输路径;指定设备包括网关设备和中继设备;根据设备类型,从多个初始传输路径中,确定每对网关设备之间一个或多个中间传输路径;针对每对网关设备,根据网络质量和服务端口,从中间传输路径的网络质量中,确定数值最小的网络质量对应的目标传输路径,以及目标传输路径包括的目标设备的服务端口;将每对网关设备的目标传输路径和目标传输路径包括的目标设备的服务端口,确定为第二映射表;其中,目标设备包括两个网关设备;或者,目标设备包括两个网关设备和至少一个中继设备。
进一步的,解析第一数据报文,得到第一数据报文的目标地址的步骤,还包括:解析第一数据报文,得到第一数据报文的源地址和目标地址;对源地址和目标地址进行修改,得到最终源地址和最终目标地址;最终源地址和最终目标地址为公有网络地址。
进一步的,根据目标地址,将第一数据报文发送至所述第二客户端设备对应的第二网关设备的步骤之前,方法还包括:对第一数据报文进行私有协议封装处理,得到封装后的第一数据报文。
进一步的,根据目标地址,将数据报文发送至第二客户端设备对应的第二网关设备,以使第二网关设备根据目标地址,将数据报文发送至第二客户端设备的步骤之后,方法还包括:接收第二网关设备发送的第二数据报文,将第二数据报文进行私有协议解封装处理,得到解封装后的第二数据报文;在解封装后的第二数据报文上封装指定协议头,生成目标第二数据报文;根据第二数据报文的目标地址,将目标第二数据报文发送至第一客户端;其中,第二数据报文的目标地址为私有网络地址或公有网络地址。
第二方面,本发明实施例提供了一种数据通信方法,方法应用于第一私有网络中的第一客户端设备;第一客户端设备与第一私有网络中的至少一台第一网关设备通信连接;方法包括:获取第一客户端设备上的应用生成的网络包,对网络包进行封装处理,生成第一数据报文;将第一数据报文发送至第一网关设备,以使第一网关设备根据第一数据报文的目标地址,将第一数据报文发送至目标地址对应的目标客户端。
进一步的,第一客户端预设有第一VXLAN服务;第一VXLAN服务的对端地址为第一网关设备的内网地址;第一VXLAN设备的端口为第一网关设备的监听端口;获取第一客户端设备上的应用生成的网络包,对网络包进行封装处理,生成第一数据报文的步骤,包括:通过第一VXLAN服务获取网络包,在网络包上封装VXLAN协议头,生成第一数据报文。
第三方面,本发明实施例提供了一种数据通信装置,装置应用于第一私有网络中的第一网关设备;第一网关设备与第一私有网络中的至少一台第一客户端设备通信连接;装置包括:接收模块,用于接收第一客户端设备发送的第一数据报文,解析第一数据报文,得到第一数据报文的目标地址;第一发送模块,用于如果目标地址指示的是第一私有网络以外的第二客户端设备,根据目标地址,将第一数据报文发送至第二客户端设备对应的第二网关设备,以使第二网关设备根据目标地址,将第一数据报文发送至第二客户端设备;其中,第二客户端设备和第二网关设备部署在第二私有网络,第二私有网络与第一私有网络为不同的私有网络。
第四方面,本发明实施例提供了一种数据通信装置,装置应用于第一私有网络中的第一客户端设备;第一客户端设备与第一私有网络中的至少一台第一网关设备通信连接;装置包括:封装模块,用于获取第一客户端设备上的应用生成的网络包,对网络包进行封装处理,生成第一数据报文;第二发送模块,用于将第一数据报文发送至第一网关设备,以使第一网关设备根据第一数据报文的目标地址,将第一数据报文发送至目标地址对应的目标客户端。
第五方面,本发明实施例提供了一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现第一方面任一项的数据通信方法。
第六方面,本发明实施例提供了一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现第一方面任一项的数据通信方法。
本发明实施例带来了以下有益效果:
本发明实施例提供了一种数据通信方法、装置和电子设备,通过第一私有网络中的第一网关设备接收第一客户端设备发送的第一数据报文,解析第一数据报文,得到第一数据报文的目标地址;如果目标地址指示的是与第一私有网络不同的第二私有网络的第二客户端设备,根据目标地址,将第一数据报文发送至第二客户端设备对应的第二网关设备,以使第二网关设备根据目标地址,将第一数据报文发送至第二客户端设备。该方式中,通过私有网络部署的网关设备,将客户端设备发送的数据报文发送至其他私有网络的客户端设备,实现了不同私有网络之间客户端设备的数据通信,无需再通过中心化服务器转发,从而提高了不同私有网络之间数据通信的可靠性和效率。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据通信方法的流程图;
图2为本发明实施例提供的一种传输路径的示意图;
图3为本发明实施例提供的一种数据报文处理方法的流程图;
图4为本发明实施例提供的另一种数据通信方法的流程图;
图5为本发明实施例提供的一种数据通信方法的流程示意图;
图6为本发明实施例提供的一种数据通信装置的结构示意图;
图7为本发明实施例提供的另一种数据通信装置的结构示意图;
图8为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
局域网是一个封闭的内部网络,外部网络的设备没有权限访问局域网,防火墙对局域网的管控策略要比公共的互联网放宽许多,因此同机房的服务器之间通信通常采用局域网的方式,通信效率较高。但是当不同机房的服务器之间通常需要公有网络进行通信,采用公有网络的方式进行通信具有安全风险。为了让多地机房或不同机房的服务器通过私有网络,即上述局域网进行通信,相关技术中,不同机房的服务器通常采用连接VPN的方式,在服务器上拨号到VPN的中心化服务器,通常采用服务器上拨VPN到一个中心化的VPN服务器上,由中心化服务器分别给不同机房的服务器分配虚拟局域网IP地址,以使不同机房的服务器之间能够通过虚拟局域网IP进行通信。这种方式中,所有机房服务器之间的通信流量都需要经过中心化服务器转发,中心化程度较高,且当流量较大时,会降低通信性能和效率,若中心化服务器出现故障,会导致整个网络瘫痪。
基于此,本发明实施例提供的一种数据通信方法、装置和电子设备,该技术可以应用于部署在不同私有网络的网关设备,尤其可以应用于边缘机房之间的服务群虚拟组网。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种数据通信方法进行详细介绍,该方法应用于第一私有网络中的第一网关设备;第一网关设备与第一私有网络中的至少一台第一客户端设备通信连接;其中,第一网关设备通常是网关服务器,第一客户端设备通常是指集群中的各个服务器;本发明实施例中,私有网络的客户端通常分散在各个地方,每个私有网络部署有至少一个客户端设备和至少一个网关设备。网关设备用于提供接入点,让客户端接入私有网络。上述第一网关设备与第一私有网络中的至少一台第一客户端设备通过私有网络通信连接。
如图1所示,上述方法包括如下步骤:
步骤S102,接收第一客户端设备发送的第一数据报文,解析第一数据报文,得到第一数据报文的目标地址;
上述第一数据报文是网络中交换与传输的数据单元,即上述第一私有网络的第一客户端设备一次性要发送的数据块,其中包含了第一客户端设备想要发送的完整的数据信息。上述第一数据报文可以是封装了指定协议头的数据报文,比如VXLAN(VirtualExtensible Local Area Network,虚拟扩展局域网)协议头等,上述第一数据报文也可称为IP数据包。通常第一网关设备接收到第一数据报文后,需要对第一数据报文进行解析,以得到第一数据报文想要发送的客户端设备的设备地址,即上述目标地址。通常上述目标地址对应的客户端设备为与第一私有网络不同的其他私有网络。上述目标地址可以包括IP地址和端口号。
步骤S104,如果目标地址指示的是第一私有网络以外的第二客户端设备,根据目标地址,将第一数据报文发送至第二客户端设备对应的第二网关设备,以使第二网关设备根据目标地址,将第一数据报文发送至第二客户端设备;其中,第二客户端设备和第二网关设备部署在第二私有网络,第二私有网络与第一私有网络为不同的私有网络。
其中,第二客户端设备和第二网关设备通过私有网络通信连接。当第一网关设备得到第一数据报文的目标地址后,可以根据目标地址确定第一数据报文需要发送的目标客户端。具体的,首先可以确定目标地址指示的目标客户端,如果目标地址指示的是第一私有网络以外的第二私有网络的第二客户端设备,由于第一私有网络和第二私有网络是不同的私有网络,第一数据报文不能直接由第一网关设备发送到第二客户端设备,因此可以将第一数据报文发送至目标地址指示的第二客户端设备对应的第二网关设备,然后由第二网关设备根据目标地址,将第一数据报文发送至第二客户端设备。其中,不同私有网络的网关设备之间通过公有网络进行通信。
另外,上述私有网络也可以称为机房,通常不同的机房可能分布在各个地方。每个机房可以部署至少一个网关设备和至少一个客户端设备。不同机房或者不同私有网络中的客户端设备可以通过该私有网络中的网关设备进行通信连接。
本发明实施例提供了一种数据通信方法,通过第一私有网络中的第一网关设备接收第一客户端设备发送的第一数据报文,解析第一数据报文,得到第一数据报文的目标地址;如果目标地址指示的是与第一私有网络不同的第二私有网络的第二客户端设备,根据目标地址,将第一数据报文发送至第二客户端设备对应的第二网关设备,以使第二网关设备根据目标地址,将第一数据报文发送至第二客户端设备。该方式中,通过私有网络部署的网关设备,将客户端设备发送的数据报文发送至其他私有网络的客户端设备,实现了不同私有网络之间客户端设备的数据通信,无需再通过中心化服务器转发,从而提高了不同私有网络之间数据通信的可靠性和效率。
本发明实施例还提供了另一种数据通信方法,本实施例在上述实施例的基础上实现,本实施例主要描述解析第一数据报文,得到第一数据报文的目标地址的步骤的一种可能的实施方式(通过步骤201实现),以及根据目标地址,将第一数据报文发送至第二客户端设备对应的第二网关设备的步骤的具体实现过程(通过步骤203-204实现),以及之前的步骤的具体实现过程(通过步骤202实现),具体包括如下步骤:
步骤201,接收第一客户端设备发送的第一数据报文,解析第一数据报文,得到第一数据报文的目标地址;
上述目标地址通常是指客户端设备的私有网络地址,在不同私有网络的网关设备之间通过公有网络地址和私有网络地址,实现客户端设备的数据通信。为了使客户端不仅能够使用私有网络地址访问其他客户端,还能够使用公有网络地址访问其他客户端,一种可能的实施方式:
解析第一数据报文,得到第一数据报文的源地址和目标地址;对源地址和目标地址进行修改,得到最终源地址和最终目标地址;最终源地址和最终目标地址为公有网络地址。
上述源地址通常是指第一客户端设备的私有IP地址;第一网关服务器可以对源地址和目标地址进行修改,将客户端设备的私有网络地址修改为公有网络地址;可以使第一客户端设备访问其他客户端的时候,无论使用私有网络地址还是公有网络地址,都能够将第一数据报文发送至目标客户端,可以完成正常通信。
步骤202,对第一数据报文进行私有协议封装处理,得到封装后的第一数据报文;
由于第一网关设备与第二网关设备之前通过公网传输数据报文,为了保证数据传输的安全性,可以对第一数据报文进行私有协议封装处理,该私有协议可以是TCP(Transmission Control Protocol,传输控制协议)、UDP(User Datagram Protocol,用户数据报协议)等。
步骤203,根据预先配置的第一映射表,确定目标地址对应的目标服务端口;第一映射表包括:客户端设备的设备地址,以及设备地址对应的网关设备的服务端口;
上述设备地址通常包括客户端设备的IP地址,以及客户端设备中各个应用的端口地址。每个网关设备都预先配置有所有客户端设备的设备信息(包括客户端设备的IP地址、端口地址等),所有网关设备的服务端口,以及每个客户端设备的设备信息对应的网关设备的服务端口,具有对应关系的客户端设备和网关设备部署在同一个私有网络。具体通过上述第一映射表的方式,将上述客户端设备和网关设备的对应关系配置在每个网关设备中,以使任意两个不同私有网络的客户端设备都能通过各自私有网络的网关服务器确定对方。另外,上述设备信息还可以包括客户端设备的MAC(Media Access Control)地址,通过MAC地址对客户端设备进行校验,判断是不是合法的客户端设备。
实际实现时,在预先配置的第一映射表中查找目标地址,然后继续查找该目标地址对应的网关设备的服务端口,将该服务端口确定为上述目标服务端口。
步骤204,根据目标服务端口,将第一数据报文发送至第二客户端设备对应的第二网关设备;
具体的,可以基于UDP(User Datagram Protocol,用户数据报协议)的私有协议,将上述第一数据报文,通过公有网络发送至第二网关设备,以使第二网关设备通过第一数据报文的目标地址,将第一数据报文,通过私有网络发送至第二客户端设备,以实现不同私有网络的数据通信,即跨机房的数据通信。
但是,不同私有网络或不同机房可能会相隔很远,一个网关设备将数据报文发送至相距较远的另一个网关设备时,可能会出现各种问题,比如通信效率低,通信不可靠等。
基于此,上述步骤204,一种可能的实施方式:
步骤A,根据目标服务端口,从第二映射表中确定第一数据报文的目标传输路径;第二映射表包括:网关设备的服务端口、以及网关设备的服务端口之间数据报文的传输路径;传输路径中包括多台网关设备,或者,传输路径中包括网关设备和中继设备;
上述中继设备通常单独部署在私有网络中,主要用于转发数据报文,中继设备也可以称为中继服务器;另外,中继设备可以部署在不同的地方,每个中继设备通常只针对一部分私有网络中的设备可以进行通信。当网关设备之间不能直接进行通信时,可以通过中继设备转发,或者,当网关设备之间的数据通信较慢时,可以通过中继设备加速数据传输。中继设备可以巩固网关设备之间的通信可靠性,还可以起到扩通网络瓶颈或者加速数据传输的效果。
需要说明的是,上述网关设备的服务端口之间数据报文的传输路径为最佳传输路径。通常情况下,网关设备之间数据报文可以直接在这两个网关设备之间传输,还可以通过一个或者多个中继设备进行转发。因此网关设备的服务端口之间数据报文的传输路径一般会包括多条。如图2所示,网关设备1和网关设备2之间包括两个传输路径。因此上述第二预设表中的传输路径,需要预先进行确定,具体的,预先对不同的传输路径进行检测,确定最佳传输路径,该最佳传输路径包括两个网关设备的服务端口,或者两个网关设备的服务端口以及至少一个中继设备的服务端口。
实际实现时,首先从第二映射表中查找第一网关设备的服务端口和第二网关设备的目标服务端口,然后继续查找第一网关设备的服务端口和第二网关设备的目标服务端口之间第一数据报文的目标传输路径。该目标传输路径可能只包括第一网关设备的服务端口和第二网关设备的目标服务端口,还可能包括第一网关设备的服务端口和第二网关设备的目标服务端口,以及一个或多个中继设备的服务端口。比如,第一网关设备和第二网关设备距离较远时,目标传输路径可能还会包括一个或者多个中继设备。
上述第二映射表通过下述方式确定:
(1)针对每个目标私有网络的目标网关设备或目标中继设备,通过指定协议,将目标网关设备和目标中继设备的设备信息,发送至除目标私有网络以外,其他私有网络的网关设备或中继设备;
上述指定协议可以是分布式一致性协议,比如,Paxos、Raft、Gossip等协议,上述设备信息包括设备的IP地址、端口地址、MAC地址等。
实际实现时,针对每个网关设备或中继设备,通过上述指定协议,向除自己以外的网关设备和中继设备发送自己的设备信息,同时接收其他设备发送的设备信息,使每个网关设备和中继设备发现其他网关设备和中继设备。同时可以使每个网关设备和中继设备配置其他设备的设备信息。
(2)针对每个目标私有网络的目标网关设备和目标中继设备,通过指定网络诊断工具,检测目标网关设备或目标中继设备与其他私有网络的网关设备或中继设备之间的网络质量;
上述网络诊断工具可以是PING(Packet Internet Groper,一种因特网包探索器),实际实现时,每个网关设备和中继设备,通过上述网络诊断工具探测其他网关设备和中继设备的网络信息,该网络信息包括是否可通、延迟、抖动等指标。当所有网关设备和中继设备都检测完毕后,每对网关设备或中继设备都有会将自己的探测结果发送至对方,每个网关设备和中继设备中都会存储有,自己与其他网关设备和中继设备的探测结果,即每对设备之间的网络信息,根据网络信息的指标,确定得到每对设备之间的网络质量;比如,计算每次网络信息中抖动的方差,将方差值确定为上述网络质量,根据该方差可以确定网络抖动是否稳定。
(3)基于设备信息和网络质量,确定第二映射表。
上述设备信息包括:服务端口,设备类型,以及设备状态;其中,服务端口包括网关设备的服务端口和中继设备的服务端口;设备类型包括网关设备和中继设备;设备状态包括在线、不在线、故障、禁止打扰、正在维护等。具体的,可以根据服务端口,设备类型,设备状态,以及网络质量,确定网关设备之间数据报文的传输路径,以及传输路径包括的设备的服务端口,进而确定第二映射表。
一种可能的实施方式:
通过设备状态,将能够建立通信连接的指定设备进行连接,得到多个初始传输路径;指定设备包括网关设备和中继设备;根据设备类型,从多个初始传输路径中,确定每对网关设备之间一个或多个中间传输路径;针对每对网关设备,根据网络质量和服务端口,从中间传输路径的网络质量中,确定数值最小的网络质量对应的目标传输路径,以及目标传输路径包括的目标设备的服务端口;将每对网关设备的目标传输路径和目标传输路径包括的目标设备的服务端口,确定为第二映射表;其中,目标设备包括两个网关设备;或者,目标设备包括两个网关设备和至少一个中继设备。
具体的,当网关设备和中继设备都互相检测完毕,且探测稳定后,互相交换探测结果,通过设备状态,将能够建立通信连接的指定设备进行连接,得到多个初始传输路径,包含有每对设备的多个初始传输路径,初始传输路径可以包括两个中继设备,还可以包括一个中继设备和一个网关设备,还可以包括两个网关设备。上述指定设备包括网关设备和中继设备。
然后根据设备类型确定每对网关设备,以及这对网关设备之间一个或多个中间传输路径,就可以组成一张有权图,每对网关设备(A和B)之间可以连接一条边,即A-B,它们之间的网络质量就是这条边的权值;每对网关设备(A和B)还可以通过中继服务器(X)用两条边间接连接,即A-X-B,A-X和X-B之间的网络质量就是这两条边的权值。例如图2所示,中间传输路径可以包括两个网关设备,还可以包括两个网关设备,和一个或多个中继设备。比如图2中,网关设备1和网关设备4之间的中间传输路径包括两个,一个传输路径包括网关设备1和网关设备4,另一个传输路径包括网关设备1、网关设备4、还有中继设备。
为了使每对网关设备之间数据报文能够以最快的速度和最可靠的方式进行传输,针对每对网关设备之间数据报文的一个或多个中间传输路径,根据网络质量,从中间传输路径的网络质量中,确定数值最小的网络质量对应的目标传输路径,以及目标传输路径包括的目标设备的服务端口;比如,网关设备1(A)和网关设备4(B)之间数据报文的中间传输路径包括两个,一个传输路径包括网关设备1和网关设备4,即A-B,另一个传输路径包括网关设备1、网关设备4、还有中继设备,即A-X-B。可以根据A-B之间的网络质量与A-X-B之间的网络质量进行比较,由于网络质量计算的是指标的方差值,因此方差值越小,说明网络质量越好,所以如果A-B之间的网络质量小于A-X-B之间的网络质量,则网关设备1和网关设备4之间数据报文的目标传输路径包括网关设备1和网关设备4。
最后将每对网关设备的目标传输路径和目标传输路径包括的目标设备的服务端口,确定为第二映射表;其中,目标设备包括两个网关设备;或者,目标设备包括两个网关设备和至少一个中继设备。
步骤B,根据目标传输路径,将第一数据报文发送至第二网关设备。
具体的,可以根据目标传输路径包括的设备的设备类型,确定不同的第一数据报文的发送方式,一种实施方式中,如果目标传输路径中仅包括第一网关设备和第二网关设备,则可以直接根据第二网关设备的目标服务端口,基于UDP的私有协议,将第一数据报文发送至第二网关设备。
另一种可能的实施方式:
如果目标传输路径中包括目标中继设备,根据目标中继设备的服务端口,将第一数据报文发送至目标中继设备,由目标中继设备根据目标服务端口,将第一数据报文转发至第二网关设备。
上述目标中继设备包括一个或者多个;如果第一网关设备和第二网关设备相距较远且属于不同的运营商,可能会需要多个中继设备将第一数据报文从第一网关设备发送至第二网关设备。具体的,如果目标中继设备为一个,根据目标中继设备的服务端口,基于UDP的私有协议,将第一数据报文发送至目标中继设备,由目标中继设备根据目标服务端口,将第一数据报文转发至第二网关设备。如果目标中继设备为多个,根据首个目标中继设备的服务端口,基于UDP的私有协议,将第一数据报文发送至首个目标中继设备,由首个目标中继设备根据下一个目标中继设备的服务端口,基于UDP的私有协议,将第一数据报文转发至下一个目标中继设备,最后将第一数据报文发送至最后一个目标中继设备,由最后一个目标中继设备根据目标服务端口,将第一数据报文发送至第二网关设备。需要说明的是,每个网络设备和中继设备都配置有第二映射表。
当第二网关设备将接收到的第一数据报文后,根据第一数据报文的目标地址,确定对应的第二客户端设备,然后对第一数据报文进行私有协议解封装,得到解封装后的第一数据报文,然后对解封装后的第一数据报文封装指定协议(比如VXLAN协议)头部,得到目标第一数据报文,最后将目标第一数据报文发送至第二客户端设备。
参见图3所示,具体描述第一数据报文的处理过程,首先第一客户端(对应图中的Client1)通过局域网(Local Area Network,LAN)(对应图中的LAN1)也就是上述第一私有网络,将第一数据报文发送至第一网关设备,通过第一网关设备的网关服务(对应图中的Gateway1),先对第一数据报文进行VXLAN协议解析(对应图中的VXLAN Decapsulation),得到第一数据报文的目标地址,然后对第一数据报文进行私有协议封装处理(对应图中的Private Protocol Encapsulation),然后通过第一网关设备的网卡(对应图中的WAN1)将经过处理的第一数据报文通过公网(对应图中的Public Network)发送至第二网关设备的网卡(对应图中的WAN2),通过第二网关设备的网关服务(对应图中的Gateway2),先对第一数据报文进行私有协议解封装处理(对应图中的Private Protocol Decapsulation),然后对解封装后的第一数据报文进行VXLAN协议封装(对应图中的VXLAN Encapsulation),得到目标第一数据报文,然后将目标第一数据报文通过局域网(Local Area Network,LAN)(对应图中的LAN2)也就是上述第二私有网络,发送至第二客户端(对应图中的Client2)。
上述方式中,通过第二映射表可以使网关设备根据目标服务端口确定数据报文的最佳传输路径,提高了数据报文的传输效率;通过中继设备可以使不能进行数据报文传输的网关设备进行通信连接,还可以巩固网关设备之间通信的可靠性,能够扩通网络瓶颈,还提高了数据报文的传输速率。上述方式中,通过私有网络部署的网关设备,将客户端设备发送的数据报文,发送至其他私有网络的客户端设备,实现了不同私有网络之间客户端设备的安全通信,提高了不同私有网络之间数据通信的可靠性和效率。
另外,根据目标地址,将数据报文发送至第二客户端设备对应的第二网关设备,以使第二网关设备根据目标地址,将数据报文发送至第二客户端设备的步骤之后,上述方法还包括:
步骤205,接收第二网关设备发送的第二数据报文,将第二数据报文进行私有协议解封装处理,得到解封装后的第二数据报文;
步骤206,在解封装后的第二数据报文上封装指定协议头,生成目标第二数据报文;
步骤207,根据第二数据报文的目标地址,将目标第二数据报文发送至第一客户端;其中,第二数据报文的目标地址为私有网络地址或公有网络地址。
第二客户端设备会根据接收到的第一数据报文,向第一客户端设备发送对应的第二数据报文,首先将第二数据报文发送至第二网关设备,第二网关设备解析第二数据报文,得到第二数据报文的目标地址,该目标地址指示的是第一私有网络的第一客户端,然后第二网关设备根据第二数据报文的目标地址,基于UDP的私有协议,将第二数据报文发送至第一客户端设备对应的第一网关设备,在第一网关设备接收到第二网关设备发送的第二数据报文后,将第二数据报文首先进行私有协议解封装处理,得到解封装后的第二数据报文。然后在解封装后的第二数据报文上封装指定协议头,比如VXLAN协议头,生成目标第二数据报文。
最后第一网关设备根据第二数据报文的目标地址,将目标第二数据报文发送至第一客户端,完成不同私有网络的客户端设备之间的数据通信。由于第二网关设备与第一网关设备的功能相同,都可以对解析到的目标地址或源地址进行修改,如果第二网关设备没有对目标地址进行修改,则上述第二数据报文的目标地址为私有网络地址,如果第二网关设备对目标地址进行了修改,则可以将目标地址修改为公有网络地址。
上述方式中,通过私有网络部署的网关设备,将客户端设备发送的数据报文,发送至其他私有网络的客户端设备,同时接收其他私有网络的客户端设备发送的数据报文,实现了不同私有网络之间客户端设备的数据通信,提高了不同私有网络之间数据通信的可靠性和效率。
本发明实施例还提供了另一种数据通信方法,该方法应用于第一私有网络中的第一客户端设备;第一客户端设备与第一私有网络中的至少一台第一网关设备通信连接;如图4所示,该方法包括如下步骤:
步骤S402,获取第一客户端设备上的应用生成的网络包,对网络包进行封装处理,生成第一数据报文;
上述第一客户端预设有第一VXLAN服务;第一VXLAN服务的对端地址为第一网关设备的内网地址;第一VXLAN设备的端口为第一网关设备的监听端口;其中第一VXLAN服务用于获取网络包,在网络包上封装VXLAN协议头,生成第一数据报文。另外,上述第一VXLAN服务还配置有相应的策略路由和ARP(Address Resolution Protocol,地址解析协议)绑定,策略路由,是一种比基于目标网络进行路由更加灵活的数据包(即上述网络包)路由转发机制;地址解析协议,是根据IP地址获取物理地址的一个TCP(Transmission ControlProtocol,传输控制协议)/IP协议。
实际实现时,当客户端设备上的应用绑定源地址到第一VXLAN服务时,在网络包上封装VXLAN协议头,生成第一数据报文,然后网络包就能通过第一VXLAN服务发送到第一网关设备。
步骤S404,将第一数据报文发送至第一网关设备,以使第一网关设备根据第一数据报文的目标地址,将第一数据报文发送至目标地址对应的目标客户端。
上述步骤的实际实现方式与前述步骤相同,在此不再赘述。
参见图5所示的一种数据通信方法的流程示意图,首先第一客户端通过VXLAN服务将生成的数据报文通过内网和VXLAN协议发送至第一网关设备,第一网关设备先对第一数据报文进行解析,得到第一数据报文的目标地址,根据目标地址确定目标传输路径,如果目标传输路径仅包括第一网关设备和第二网关设备,先对第一数据报文进行私有协议封装,然后可以直接通过公网将第一数据报文通过私有协议,发送至第二网关设备。然后由第二网关设备先对接收到的第一数据报文进行解封装,然后对第一数据报文封装VXLAN协议头,得到目标第一数据报文,根据目标地址将目标第一数据报文发送至第二客户端设备。
如果目标传输路径包括第一网关设备、第二网关设备和中继设备,则可以通过公网将第一数据报文通过私有协议,发送至中继设备,然后由中继设备将数据报文转发至第二网关设备,最后由第二网关设备根据目标地址将数据报文发送至第二客户端设备。
本发明实施例提供的一种数据通信方法,获取第一客户端设备上的应用生成的网络包,对网络包进行封装处理,生成第一数据报文;将第一数据报文发送至第一网关设备,以使第一网关设备根据第一数据报文的目标地址,将第一数据报文发送至目标地址对应的目标客户端。该方式中,通过私有网络部署的网关设备,将客户端设备发送的数据报文发送至其他私有网络的客户端设备,实现了不同私有网络之间客户端设备的数据通信,无需再通过中心化服务器转发,从而提高了不同私有网络之间数据通信的可靠性和效率。
对应上述的方法实施例,本发明实施例提供了一种数据通信装置,该装置应用于第一私有网络中的第一网关设备;第一网关设备与第一私有网络中的至少一台第一客户端设备通信连接;如图6所示,该装置包括:
接收模块61,用于接收第一客户端设备发送的第一数据报文,解析第一数据报文,得到第一数据报文的目标地址;
第一发送模块62,用于如果目标地址指示的是第一私有网络以外的第二客户端设备,根据目标地址,将第一数据报文发送至第二客户端设备对应的第二网关设备,以使第二网关设备根据目标地址,将第一数据报文发送至第二客户端设备;
其中,第二客户端设备和第二网关设备部署在第二私有网络,第二私有网络与第一私有网络为不同的私有网络。
本发明实施例提供了一种数据通信装置,通过第一私有网络中的第一网关设备接收第一客户端设备发送的第一数据报文,解析第一数据报文,得到第一数据报文的目标地址;如果目标地址指示的是与第一私有网络不同的第二私有网络的第二客户端设备,根据目标地址,将第一数据报文发送至第二客户端设备对应的第二网关设备,以使第二网关设备根据目标地址,将第一数据报文发送至第二客户端设备。该方式中,通过私有网络部署的网关设备,将客户端设备发送的数据报文发送至其他私有网络的客户端设备,实现了不同私有网络之间客户端设备的数据通信,无需再通过中心化服务器转发,从而提高了不同私有网络之间数据通信的可靠性和效率。
进一步的,上述第一发送模块还用于:根据预先配置的第一映射表,确定目标地址对应的目标服务端口;第一映射表包括:客户端设备的设备地址,以及设备地址对应的网关设备的服务端口;根据目标服务端口,将第一数据报文发送至第二客户端设备对应的第二网关设备。
进一步的,上述第一发送模块还用于:根据目标服务端口,从第二映射表中确定第一数据报文的目标传输路径;第二映射表包括:网关设备的服务端口、以及网关设备的服务端口之间数据报文的传输路径;传输路径中包括多台网关设备,或者,传输路径中包括网关设备和中继设备;根据目标传输路径,将第一数据报文发送至第二网关设备。
进一步的,上述第一发送模块还用于:如果目标传输路径中包括目标中继设备,根据目标中继设备的服务端口,将第一数据报文发送至目标中继设备,由目标中继设备根据目标服务端口,将第一数据报文转发至第二网关设备。
进一步的,上述第二映射表通过下述方式确定,包括:设备信息发送模块,用于针对每个目标私有网络的目标网关设备或目标中继设备,通过指定协议,将目标网关设备和目标中继设备的设备信息,发送至除目标私有网络以外,其他私有网络的网关设备或中继设备;网络质量检测模块,用于针对每个目标私有网络的目标网关设备和目标中继设备,通过指定网络诊断工具,检测目标网关设备或目标中继设备与其他私有网络的网关设备或中继设备之间的网络质量;第二映射表确定模块,用于基于设备信息和网络质量,确定第二映射表。
进一步的,上述设备信息包括:服务端口,设备类型,以及设备状态;上述第二映射表确定模块还用于:通过设备状态,将能够建立通信连接的指定设备进行连接,得到多个初始传输路径;指定设备包括网关设备和中继设备;根据设备类型,从多个初始传输路径中,确定每对网关设备之间一个或多个中间传输路径;针对每对网关设备,根据网络质量和服务端口,从中间传输路径的网络质量中,确定数值最小的网络质量对应的目标传输路径,以及目标传输路径包括的目标设备的服务端口;将每对网关设备的目标传输路径和目标传输路径包括的目标设备的服务端口,确定为第二映射表;其中,目标设备包括两个网关设备;或者,目标设备包括两个网关设备和至少一个中继设备。
进一步的,上述接收模块还用于:解析第一数据报文,得到第一数据报文的源地址和目标地址;对源地址和目标地址进行修改,得到最终源地址和最终目标地址;最终源地址和最终目标地址为公有网络地址。
进一步的,上述装置还包括:私有协议封装处理模块,用于对第一数据报文进行私有协议封装处理,得到封装后的第一数据报文。
进一步的,上述装置还包括第二接收模块,用于:接收第二网关设备发送的第二数据报文,将第二数据报文进行私有协议解封装处理,得到解封装后的第二数据报文;在解封装后的第二数据报文上封装指定协议头,生成目标第二数据报文;根据第二数据报文的目标地址,将目标第二数据报文发送至第一客户端;其中,第二数据报文的目标地址为私有网络地址或公有网络地址。
本发明实施例提供的数据通信装置,与上述实施例提供的数据通信方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
对应上述的方法实施例,本发明实施例提供了一种数据通信装置,该装置应用于第一私有网络中的第一客户端设备;第一客户端设备与第一私有网络中的至少一台第一网关设备通信连接;如图7所示,该装置包括:
封装模块71,用于获取第一客户端设备上的应用生成的网络包,对网络包进行封装处理,生成第一数据报文;
第二发送模块72,用于将第一数据报文发送至第一网关设备,以使第一网关设备根据第一数据报文的目标地址,将第一数据报文发送至目标地址对应的目标客户端。
上述方式中,获取第一客户端设备上的应用生成的网络包,对网络包进行封装处理,生成第一数据报文;将第一数据报文发送至第一网关设备,以使第一网关设备根据第一数据报文的目标地址,将第一数据报文发送至目标地址对应的目标客户端。该方式中,通过私有网络部署的网关设备,将客户端设备发送的数据报文发送至其他私有网络的客户端设备,实现了不同私有网络之间客户端设备的数据通信,无需再通过中心化服务器转发,从而提高了不同私有网络之间数据通信的可靠性和效率。
上述第一客户端预设有第一VXLAN服务;第一VXLAN服务的对端地址为第一网关设备的内网地址;第一VXLAN设备的端口为第一网关设备的监听端口;上述封装模块还用于:通过第一VXLAN服务获取网络包,在网络包上封装VXLAN协议头,生成第一数据报文。
本发明实施例提供的数据通信装置,与前述实施例提供的数据通信方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
本实施例还提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述数据通信方法。
参见图8所示,该电子设备包括处理器100和存储器101,该存储器101存储有能够被处理器100执行的机器可执行指令,该处理器100执行机器可执行指令以实现上述数据通信方法。
进一步地,图8所示的电子设备还包括总线102和通信接口103,处理器100、通信接口103和存储器101通过总线102连接。
其中,存储器101可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器100可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器100中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器100可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processor,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器101,处理器100读取存储器101中的信息,结合其硬件完成前述实施例的方法的步骤。
本实施例还提供一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述数据通信方法。
本发明实施例所提供的数据通信方法、装置和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (15)

1.一种数据通信方法,其特征在于,所述方法应用于第一私有网络中的第一网关设备;所述第一网关设备与所述第一私有网络中的至少一台第一客户端设备通信连接;所述方法包括:
接收所述第一客户端设备发送的第一数据报文,解析所述第一数据报文,得到所述第一数据报文的目标地址;
如果所述目标地址指示的是所述第一私有网络以外的第二客户端设备,根据所述目标地址,将所述第一数据报文发送至所述第二客户端设备对应的第二网关设备,以使所述第二网关设备根据所述目标地址,将所述第一数据报文发送至所述第二客户端设备;
其中,所述第二客户端设备和所述第二网关设备部署在第二私有网络,所述第二私有网络与所述第一私有网络为不同的私有网络。
2.根据权利要求1所述的方法,其特征在于,根据所述目标地址,将所述第一数据报文发送至所述第二客户端设备对应的第二网关设备的步骤,包括:
根据预先配置的第一映射表,确定所述目标地址对应的目标服务端口;所述第一映射表包括:客户端设备的设备地址,以及所述设备地址对应的网关设备的服务端口;
根据所述目标服务端口,将所述第一数据报文发送至所述第二客户端设备对应的第二网关设备。
3.根据权利要求2所述的方法,其特征在于,根据所述目标服务端口,将所述第一数据报文发送至所述第二客户端设备对应的第二网关设备的步骤,包括:
根据所述目标服务端口,从第二映射表中确定所述第一数据报文的目标传输路径;所述第二映射表包括:网关设备的服务端口、以及网关设备的服务端口之间数据报文的传输路径;所述传输路径中包括多台网关设备,或者,所述传输路径中包括网关设备和中继设备;
根据所述目标传输路径,将所述第一数据报文发送至所述第二网关设备。
4.根据权利要求3所述的方法,其特征在于,根据所述目标传输路径,将所述第一数据报文发送至所述第二网关设备的步骤,包括:
如果所述目标传输路径中包括目标中继设备,根据所述目标中继设备的服务端口,将所述第一数据报文发送至所述目标中继设备,由所述目标中继设备根据所述目标服务端口,将所述第一数据报文转发至所述第二网关设备。
5.根据权利要求3所述的方法,其特征在于,所述第二映射表通过下述方式确定:
针对每个目标私有网络的目标网关设备或目标中继设备,通过指定协议,将所述目标网关设备和所述目标中继设备的设备信息,发送至除所述目标私有网络以外,其他私有网络的网关设备或中继设备;
针对每个目标私有网络的目标网关设备和目标中继设备,通过指定网络诊断工具,检测所述目标网关设备或所述目标中继设备与所述其他私有网络的网关设备或中继设备之间的网络质量;
基于所述设备信息和所述网络质量,确定所述第二映射表。
6.根据权利要求5所述的方法,其特征在于,所述设备信息包括:服务端口,设备类型,以及设备状态;所述基于所述设备信息和所述网络质量,确定所述第二映射表的步骤,包括:
通过所述设备状态,将能够建立通信连接的指定设备进行连接,得到多个初始传输路径;所述指定设备包括网关设备和中继设备;
根据所述设备类型,从所述多个初始传输路径中,确定每对网关设备之间一个或多个中间传输路径;
针对每对网关设备,根据所述网络质量和所述服务端口,从所述中间传输路径的网络质量中,确定数值最小的网络质量对应的目标传输路径,以及所述目标传输路径包括的目标设备的服务端口;
将每对网关设备的目标传输路径和所述目标传输路径包括的目标设备的服务端口,确定为所述第二映射表;其中,所述目标设备包括两个网关设备;或者,所述目标设备包括两个网关设备和至少一个中继设备。
7.根据权利要求1所述的方法,其特征在于,解析所述第一数据报文,得到所述第一数据报文的目标地址的步骤,还包括:
解析所述第一数据报文,得到所述第一数据报文的源地址和目标地址;
对所述源地址和所述目标地址进行修改,得到最终源地址和最终目标地址;所述最终源地址和所述最终目标地址为公有网络地址。
8.根据权利要求1所述的方法,其特征在于,根据所述目标地址,将所述第一数据报文发送至所述第二客户端设备对应的第二网关设备的步骤之前,所述方法还包括:
对所述第一数据报文进行私有协议封装处理,得到封装后的第一数据报文。
9.根据权利要求1所述的方法,其特征在于,根据所述目标地址,将所述数据报文发送至所述第二客户端设备对应的第二网关设备,以使所述第二网关设备根据所述目标地址,将所述数据报文发送至所述第二客户端设备的步骤之后,所述方法还包括:
接收所述第二网关设备发送的第二数据报文,将所述第二数据报文进行私有协议解封装处理,得到解封装后的第二数据报文;
在所述解封装后的第二数据报文上封装指定协议头,生成目标第二数据报文;
根据所述第二数据报文的目标地址,将所述目标第二数据报文发送至所述第一客户端;其中,所述第二数据报文的目标地址为私有网络地址或公有网络地址。
10.一种数据通信方法,其特征在于,所述方法应用于第一私有网络中的第一客户端设备;所述第一客户端设备与所述第一私有网络中的至少一台第一网关设备通信连接;所述方法包括:
获取所述第一客户端设备上的应用生成的网络包,对所述网络包进行封装处理,生成第一数据报文;
将所述第一数据报文发送至所述第一网关设备,以使所述第一网关设备根据所述第一数据报文的目标地址,将所述第一数据报文发送至所述目标地址对应的目标客户端。
11.根据权利要求10所述的方法,其特征在于,所述第一客户端预设有第一VXLAN服务;所述第一VXLAN服务的对端地址为所述第一网关设备的内网地址;所述第一VXLAN设备的端口为所述第一网关设备的监听端口;
获取所述第一客户端设备上的应用生成的网络包,对所述网络包进行封装处理,生成第一数据报文的步骤,包括:
通过所述第一VXLAN服务获取所述网络包,在所述网络包上封装VXLAN协议头,生成所述第一数据报文。
12.一种数据通信装置,其特征在于,所述装置应用于第一私有网络中的第一网关设备;所述第一网关设备与所述第一私有网络中的至少一台第一客户端设备通信连接;所述装置包括:
接收模块,用于接收所述第一客户端设备发送的第一数据报文,解析所述第一数据报文,得到所述第一数据报文的目标地址;
第一发送模块,用于如果所述目标地址指示的是所述第一私有网络以外的第二客户端设备,根据所述目标地址,将所述第一数据报文发送至所述第二客户端设备对应的第二网关设备,以使所述第二网关设备根据所述目标地址,将所述第一数据报文发送至所述第二客户端设备;
其中,所述第二客户端设备和所述第二网关设备部署在第二私有网络,所述第二私有网络与所述第一私有网络为不同的私有网络。
13.一种数据通信装置,其特征在于,所述装置应用于第一私有网络中的第一客户端设备;所述第一客户端设备与所述第一私有网络中的至少一台第一网关设备通信连接;所述装置包括:
封装模块,用于获取所述第一客户端设备上的应用生成的网络包,对所述网络包进行封装处理,生成第一数据报文;
第二发送模块,用于将所述第一数据报文发送至所述第一网关设备,以使所述第一网关设备根据所述第一数据报文的目标地址,将所述第一数据报文发送至所述目标地址对应的目标客户端。
14.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现权利要求1-10任一项所述的数据通信方法。
15.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现权利要求1-10任一项所述的数据通信方法。
CN202110951044.2A 2021-08-18 2021-08-18 数据通信方法、装置和电子设备 Active CN113595891B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110951044.2A CN113595891B (zh) 2021-08-18 2021-08-18 数据通信方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110951044.2A CN113595891B (zh) 2021-08-18 2021-08-18 数据通信方法、装置和电子设备

Publications (2)

Publication Number Publication Date
CN113595891A true CN113595891A (zh) 2021-11-02
CN113595891B CN113595891B (zh) 2022-11-25

Family

ID=78238204

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110951044.2A Active CN113595891B (zh) 2021-08-18 2021-08-18 数据通信方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN113595891B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114285763A (zh) * 2021-11-26 2022-04-05 中国联合网络通信集团有限公司 数据采集方法、装置和计算机可读存储介质
CN114286420A (zh) * 2021-12-21 2022-04-05 深圳创维数字技术有限公司 基于pon技术的网关的锁定方法、装置、服务器以及介质
CN115001846A (zh) * 2022-06-28 2022-09-02 湖北天融信网络安全技术有限公司 一种跨网数据传输的方法、隔离设备、装置及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102170380A (zh) * 2010-02-25 2011-08-31 杭州华三通信技术有限公司 内网访问外网的方法和设备
CN107872542A (zh) * 2016-09-27 2018-04-03 阿里巴巴集团控股有限公司 一种数据传输的方法及网络设备
CN108768817A (zh) * 2018-05-22 2018-11-06 腾讯科技(深圳)有限公司 一种虚拟化网络组网系统、数据包发送方法
CN108809796A (zh) * 2018-07-16 2018-11-13 成都芮捷科技发展有限责任公司 一种基于VxLAN的城域网电力系统业务通信方法
CN110557316A (zh) * 2018-05-30 2019-12-10 中国电信股份有限公司 报文传输方法、系统、装置及计算机可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102170380A (zh) * 2010-02-25 2011-08-31 杭州华三通信技术有限公司 内网访问外网的方法和设备
CN107872542A (zh) * 2016-09-27 2018-04-03 阿里巴巴集团控股有限公司 一种数据传输的方法及网络设备
CN108768817A (zh) * 2018-05-22 2018-11-06 腾讯科技(深圳)有限公司 一种虚拟化网络组网系统、数据包发送方法
CN110557316A (zh) * 2018-05-30 2019-12-10 中国电信股份有限公司 报文传输方法、系统、装置及计算机可读存储介质
CN108809796A (zh) * 2018-07-16 2018-11-13 成都芮捷科技发展有限责任公司 一种基于VxLAN的城域网电力系统业务通信方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114285763A (zh) * 2021-11-26 2022-04-05 中国联合网络通信集团有限公司 数据采集方法、装置和计算机可读存储介质
CN114285763B (zh) * 2021-11-26 2023-05-30 中国联合网络通信集团有限公司 数据采集方法、装置和计算机可读存储介质
CN114286420A (zh) * 2021-12-21 2022-04-05 深圳创维数字技术有限公司 基于pon技术的网关的锁定方法、装置、服务器以及介质
CN114286420B (zh) * 2021-12-21 2023-09-05 深圳创维数字技术有限公司 基于pon技术的网关的锁定方法、装置、服务器以及介质
CN115001846A (zh) * 2022-06-28 2022-09-02 湖北天融信网络安全技术有限公司 一种跨网数据传输的方法、隔离设备、装置及介质

Also Published As

Publication number Publication date
CN113595891B (zh) 2022-11-25

Similar Documents

Publication Publication Date Title
CN113595891B (zh) 数据通信方法、装置和电子设备
CN108234235B (zh) 用于数据监控的方法、网络设备以及计算机可读存储介质
EP3520267B1 (en) Router with bilateral tcp session monitoring
US10057167B2 (en) Identifying end-stations on private networks
US10200264B2 (en) Link status monitoring based on packet loss detection
US9923984B2 (en) Methods, systems, and computer readable media for remote authentication dial in user service (RADIUS) message loop detection and mitigation
CN113132342B (zh) 方法、网络装置、隧道入口点装置及存储介质
US10382309B2 (en) Method and apparatus for tracing paths in service function chains
US7852774B2 (en) User datagram protocol traceroute probe extension
US8111692B2 (en) System and method for modifying network traffic
EP3188450B1 (en) Reducing false alarms when using network keep-alive messages
US9641430B2 (en) Verifying data plane paths based on a validated secure control plane
EP3646533B1 (en) Inline stateful monitoring request generation for sdn
WO2017213745A1 (en) Self-protecting computer network router with queue resource manager
CN110839046A (zh) 多协议的互通方法和系统
TWI580226B (zh) 決定最大分段大小値之方法
EP2648383B1 (en) Method and device for data transmission
CN107547505B (zh) 一种报文处理方法及装置
US10819617B1 (en) Loop-back packet for determining operational capabilities of border relay device
US11516294B2 (en) Switch device, monitoring method and monitoring program
CN106254433B (zh) 一种建立tcp通信连接的方法及装置
CN111327530B (zh) 数据发送方法、装置、网络系统及交换机
US10320953B2 (en) User datagram protocol networking method for stability improvement
CN108848202B (zh) 电子装置、数据传输方法及相关产品
CN113872949B (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
GR01 Patent grant
GR01 Patent grant