CN115189920A - 跨网络域通信方法和相关装置 - Google Patents
跨网络域通信方法和相关装置 Download PDFInfo
- Publication number
- CN115189920A CN115189920A CN202210686029.4A CN202210686029A CN115189920A CN 115189920 A CN115189920 A CN 115189920A CN 202210686029 A CN202210686029 A CN 202210686029A CN 115189920 A CN115189920 A CN 115189920A
- Authority
- CN
- China
- Prior art keywords
- network domain
- user process
- data packet
- target
- network
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0281—Proxies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- 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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
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)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供了一种跨网络域通信方法和相关装置。该方法应用于路由代理,路由代理部署在网络域内具有公用互联网地址的计算节点上且预先创建第一虚拟网卡,该方法包括:接收来自网络域内一用户进程的数据包;通过第一虚拟网卡对数据包进行封装,以使封装后的数据包以目标网络域的公用互联网地址为目的地址;通过第一虚拟网卡发送封装后的数据包,以便第二虚拟网卡接收封装后的数据包,第二虚拟网卡由另一路由代理创建且另一路由代理部署在具有目标网络域公用互联网地址的计算节点上,以及第二虚拟网卡在解封装封装后的数据包后将得到的数据包转发到目标网络域的用户进程上。本公开在较大程度上实现了跨网络域通信方案和使用场景之间的解耦合。
Description
技术领域
本公开涉及通信技术领域,具体而言,涉及一种跨网络域通信方法和相关装置。
背景技术
出于安全性的考虑,许多组织都会搭建属于自己的网络域。常见的网络域包括校园网、公司内网以及云计算领域的虚拟私有云等。原则上不同的网络域互不联通,然而在实际场景中不同网络域之间却经常有互相访问的需求。例如,同一个公司部署在不同地区的网络域需要互相访问,同一个云计算用户所属的不同虚拟私有云也经常有通信的诉求。
然而,由于不同网络域在规模、结构和功能等属性上的差异都很大,因而很难设计出一种能适用于所有跨网络域通信场景的解决方案。目前存在的一些方案,也仅仅能解决一种或几种特定场景的多网络域通信问题,不具有通用性。
发明内容
有鉴于此,本公开旨在提供一种尽可能通用的跨网络域通信方法和相关装置,在较大程度上实现跨网络域通信方案和使用场景的解耦合。
根据本公开的第一方面,提供一种跨网络域通信方法,应用于路由代理,所述路由代理部署在网络域内具有公用互联网地址的计算节点上且预先创建第一虚拟网卡,所述方法包括:
接收来自所述网络域内一用户进程的数据包;
通过所述第一虚拟网卡对所述数据包进行封装,以使封装后的数据包以目标网络域的公用互联网地址为目的地址;
通过所述第一虚拟网卡发送所述封装后的数据包,以便第二虚拟网卡接收所述封装后的数据包,所述第二虚拟网卡由另一路由代理创建且所述另一路由代理部署在具有所述目标网络域公用互联网地址的计算节点上,以及所述第二虚拟网卡在解封装所述封装后的数据包后将得到的数据包转发到所述目标网络域的用户进程上。
可选地,预先针对与目标用户进程之间的连接创建套接字,所述目标用户进程为所述目标网络域内接收所述数据包的用户进程;
将所述套接字绑定到所述第一虚拟网卡上,以使接收到的所述数据包转到所述第一虚拟网卡上。
可选地,所述方法还包括:
将所述目标网络域的标识信息预先写入到所述套接字的预设字段,以便所述第一虚拟网卡对所述数据包进行封装时根据所述套接字的预设字段从已获取的多个网络域的公用互联网地址中确定所述目标网络域的公用互联网地址,其中,所述标识信息的长度小于公用互联网地址。
可选地,所述方法还包括:
预先向协调器订阅所述网络域之外网络域的标识信息和公用互联网地址,以便获取到所述目标网络域的标识信息和公用互联网地址;
其中,所述协调器部署在具有公用互联网地址的计算节点上。
可选地,发送所述数据包的用户进程为源用户进程,接收所述数据包的用户进程为目标用户进程,所述方法还包括:
接收来自所述源用户进程的访问请求,所述访问请求以通信协议的保留字段携带所述目标网络域的标识信息;
向所述目标用户进程发起连接请求并将连接结果回复给所述源用户进程,其中,所述连接结果为连接成功的情况下所述源用户进程基于收到的连接结果向所述路由代理发送所述数据包。
可选地,所述目标用户进程运行在所述目标网络域的目的计算节点上且使用所述目的计算节点的目的端口;
所述访问请求还以所述通信协议的地址字段携带所述目的计算节点的互联网地址、以及以所述通信协议的端口字段携带所述目的端口的端口号;
通过所述第一虚拟网卡对所述数据包进行封装,包括:将所述访问请求中的所述目的计算节点的互联网地址和所述目的端口的端口号封装后形成所述封装后的数据包。
可选地,所述方法还包括:
接收来自所述源用户进程的认证请求;
基于所述认证请求对所述源用户进程进行认证,得到认证结果;
将所述认证结果回复给所述源用户进程,其中,所述认证结果为认证通过的情况下所述源用户进程基于收到的认证结果向所述路由代理发送所述访问请求。
可选地,所述方法还包括:
通过所述第一虚拟网卡接收来自所在网络域之外网络域的封装数据包;
通过所述第一虚拟网卡对所述封装数据包进行解封装以及将解封装得到的数据包转发到所述网络域的用户进程上。
根据本公开的第二方面,提供一种计算节点,设在网络域内且分配有该网络域的公用互联网地址,包括:
存储器,用于存储计算机可执行代码;
处理器,用于执行所述计算机可执行代码,以实现第一方面所述的任一种跨网络域通信方法。
根据本公开的第三方面,提供一种跨网络域通信系统,包括:
协调器,部署在具有公用互联网地址的计算节点上;
路由代理,用于实现第一方面所述的任一种跨网络域通信方法;
其中,所述路由代理向所述协调器发布所在网络域的公用互联网地址以便所述协调器为所述路由代理所在网络域分配标识信息,所述协调器还用于向所述路由代理发布其所在网络域之外网络域的标识信息和公用互联网地址。
根据本公开的第四方面,提供一种计算机可读介质,包括计算机可执行代码,所述计算机可执行代码被处理器执行时实现第一方面所述的任一种跨网络域通信方法。
本公开实施例中,路由代理部署在网络域内具有公用互联网地址的计算节点上且预先创建第一虚拟网卡,该网络域内任一用户进程需要跨网络域传输数据包时先将要传输的数据包发送到路由代理,路由代理在接收到数据包后通过第一虚拟网卡对数据包进行封装并发送封装后的数据包,其中,封装后的数据包以目标网络域的公用互联网地址为目的地址,因而第二虚拟网卡能够接收到封装后的数据包,所述第二虚拟网卡由另一路由代理创建且另一路由代理部署在具有目标网络域公用互联网地址的计算节点上,以及第二虚拟网卡在解封装封装后的数据包后将得到的数据包转发到目标网络域的用户进程上。由于该跨域通信方法只需要网络域中存在具有公网访问能力的计算节点即可,因而对部署环境没有特殊要求,通用性较强,在较大程度上实现了和使用场景之间的解耦合。
附图说明
通过参考以下附图对本公开实施例的描述,本公开的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1示出根据本公开一个实施例的跨网络域通信方法应用的体系构架;
图2示出根据本公开实施例提供的一种跨网络域通信方法;
图3示出本公开实施例中虚拟可扩展局域网的工作模型;
图4示出根据本公开实施例的一种示例性的封装后的数据包;
图5示出本公开实施例中认证和访问的执行过程;
图6(A)示出本公开实施例中源用户进程按照socks5协议发送的访问请求;
图6(B)示出本公开实施例中路由代理按照socks5协议回复给源用户进程的连接结果;
图7(A)示出本公开实施例中源用户进程按照socks5协议发送的认证请求;
图7(B)示出本公开实施例中路由代理按照socks5协议回复的响应信息;
图7(C)示出本公开实施例中源用户进程按照socks5协议发送的一种认证信息;
图7(D)示出本公开实施例中路由代理按照socks5协议回复的认证结果;
图8示出根据本公开一个实施例的计算机设备的结构图。
具体实施方式
以下基于实施例对本公开进行描述,但是本公开并不仅仅限于这些实施例。在下文对本公开的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本公开。为了避免混淆本公开的实质,公知的方法、过程、流程没有详细叙述。另外附图不一定是按比例绘制的。
在本文中使用以下术语。
计算节点:提供计算能力的计算机及其配套设备,包括物理服务器、云服务器等,一个计算节点上运行一个或多个用户进程。
互联网地址:英文全称为Internet Protocol Address,简称IP地址,包括公用互联网地址、私用互联网地址以及一些特殊互联网地址。
私用互联网地址:英文全称为Private IP,是位于私有IP地址段内的地址,只能用于网络域内部通信,不能用于跨网络域通信。私有IP地址段有以下三个:10.0.0.0至10.255.255.255、172.16.0.0至172.31.255.255、192.168.0.0至192.168.255.255。
公用互联网地址:英文全称为public IP。拥有公用互联网地址的计算节点可以在公网中被发现,具有公网访问能力,因此公用互联网地址能作为网络域间以及网络域与公网间互联的地址。本公开实施例中,计算节点拥有的公用互联网地址,亦称该计算节点的公用互联网地址。
网络域:一个有网络安全边界的计算节点集合。同网络域内的计算节点网络互通,跨网络域(包括不同网络域间或网络域与公网间)的网络默认不联通。网络域内的计算节点一般使用私有网段的IP地址,大部分情景下网络域会设置其内一计算节点具有公用互联网地址。本公开实施例中亦称网络域内一计算节点具有的公用互联网地址为该网络域的公用互联网地址。
socks5:是一种通用的网络代理协议,它在使用TCP/IP协议通讯的前端机器和目的服务器之间扮演一个中介角色,使得内部网中的前端机器变得能够访问Internet网中的目的服务器,或者使通讯更加安全。socks5服务器在将前端机器发来的请求转发给目的服务器的过程中,模拟了一个前端的行为。在这里,前端机器和socks5服务器之间也是通过TCP/IP协议进行通讯,前端机器将原本要发送给目的服务器的请求发送给socks5服务器,然后socks5服务器将请求转发给目的服务器。
虚拟可扩展局域网,英文全称Virtual Extensible Local Area Network,简称vxlan,是一种虚拟化隧道通信技术,一般通过安装在计算节点上的软件实现报文的封装与解封装,网络只要IP路由可达即可。该技术采取了将原始以太网报文封装在UDP数据包里的封装格式,能在三层网络的基础上建立二层以太网网络隧道,从而实现二层互连。
kubernetes:一个用于管理容器化的工作负载和服务的系统,每一个kubernetes集群都是一个独立的网络域。Kubernetes中可以创建多个容器,每个容器里面运行一个应用实例,内置的负载均衡策略负责对这一组应用实例的管理、发现和访问,从而这些细节都不需要运维人员去进行复杂的手工配置和处理。
pod:在Kubernetes中最小的管理元素不是一个个独立的容器,而是Pod。一个Pod是一个容器环境下的“逻辑主机”,它可能包含一个或者多个紧密相连的应用。同一个Pod中的应用可以共享磁盘。
虚拟私有云,英文全称Virtual Private Cloud,简称VPC,为云计算领域的专用术语,是指为云服务器、云容器、云数据库等资源构建隔离的、用户自主配置和管理的虚拟网络环境。每个VPC都是一个独立的网络域。
本公开实施例提供了一种跨网络域通信方法和相关装置,用于使不同网络域的用户进程实现通信。网络域是众多计算节点形成的集合,各计算节点上又会运行一个或多个用户进程,同一网络域内的用户进程能够通信,但不同网络域的用户进程会因网络域的安全边界限定无法通信。目前,针对实践中不同网络域的用户进程需要通信的诉求,存在以下三种方案:
第一种方案是借助虚拟专用网络(Virtual Private Network,简称VPN)网关,即在公网上建立虚拟专用网络来实现跨网络域的流量传输。该方案由于只支持端对端连接且相连接的两端为针对VPN设定的静态配置项,因而一个VPN最多支持两预先设定的网络域进行互联,应用场景较为受限。
第二种方案是应对云计算领域中的跨VPC网络访问。该方案通过在不同的VPC上部署一对相互连接的终端服务节点,然后利用VPC提供的基础能力(例如VPC内构建的虚拟网关和虚拟交换机等)、绕过公网来实现跨VPC的流量传输,缺点在于只适用于云计算场景。
第三种方案是用于不同kubernetes集群中的pod互相访问。该方案在每个kubernetes集群中都创建一个网关节点来负责跨集群流量的转发。该方案的缺点是强依赖kubernetes这一基础设施,只能用于kubernetes集群的互联,同时需要保证不同集群的私网网段地址不能冲突。
上述三种方案皆是适用于特定场景的多网络域通信,因而不具有通用性,所以需要一种尽可能通用的跨网络域通信方案,实现通信方案与使用场景解耦合,从而大大减少不同场景下跨网络域通信需要付出的开发和部署成本。
鉴于此,本公开的发明人想到,可以利用网络域内具有公用互联网地址的计算节点作为网络域内外用户进程间通信的中介。即,若将发送数据包的用户进程所在的网络域记为源网络域,将接收数据包的用户进程所在的网络域记为目标网络网络域,则源网络域内具有公用互联网地址的计算节点(以下亦称源计算节点)作为源网络域内用户进程和目标网络域内具有公用互联网地址的计算节点(以下亦称目标计算结点)之间通信的中介,目标计算结点作为源计算节点和目标网络域内用户进程之间通信的中介,这样源网络域内用户进程发送的数据包在源计算节点上被虚拟网卡封装成以目标网络域为目的地址的情况下,即可跨网络域传输到目标计算节点上的虚拟网卡,进而实现不同网络域内用户进程的通信。该通信方案需要的所有组件都不对部署环境作特殊要求,只需要网络域中存在具有公网访问能力的计算节点即可,因此能适用绝大部分场景,既可以用于跨VPC通信,也可以用于kubernetes集群联通,同样适用于经典网络模型中的跨局域网通信。
图1示出了根据本公开一个实施例的跨网络域通信方法应用的体系构架。参照图1,该体系构架包括源网络域100和目标网络域200。
源网络域100为源计算节点110和其它计算节点120的集合,源计算节点110和其它计算节点120上各自运行一个或多个用户进程,本公开实施例称这些用户进程为源网络域100内的用户进程或源网络域100的用户进程。目标网络域200为目标计算节点210和其它计算节点220的集合,目标计算节点210和其它计算节点220上各自也运行一个或多个用户进程,本公开实施例称这些用户进程为目标网络域200内的用户进程或目标网络域200的用户进程。
源网络域100内一用户进程向目标网络域200内一用户进程发送数据包,其中,发送数据包的用户进程称为源用户进程,源用户进程可以是运行在源计算节点110上的用户进程、也可以是运行在其它计算节点120上的用户进程;接收数据包的用户进程称为目标用户进程,目标用户进程可以是运行在目标计算节点210上的用户进程、也可以是运行在其它计算节点220上的用户进程。
此外,源计算节点110和目标计算节点210各自还部署有路由代理(route-agent),各路由代理创建有虚拟网卡,具体地,各路由代理可以在启动时就创建虚拟网卡。应当理解的是,源计算节点110上部署的路由代理,能和源网络域100内各用户进程进行通信,也能够基于创建的虚拟网卡通过虚拟可扩展局域网和源网络域100外具有公用互联网地址的计算节点通信,例如目标计算节点210,尤其是目标计算节点210上部署的路由代理,从而源计算节点110上部署的路由代理能用来将源用户进程发送的数据包转发到目标计算节点210上部署的路由代理;同样,目标计算节点210上部署的路由代理,能和目标网络域200内的各用户进程进行通信,也能够基于创建的虚拟网卡通过虚拟可扩展局域网和目标网络域200外具有公用互联网地址的计算节点通信,例如源计算节点110,尤其是源计算节点110上部署的路由代理,从而目标计算节点210上部署的路由代理能用来从源计算节点110上部署的路由代理接收数据包并将接收的数据包转发到目标用户进程。
需要说明的是,图1中示出源网络域100和目标网络域200各自包括三个计算节点,但这并不表示对一个网络域内计算节点的数量限定。
上述源计算节点110、其它计算节点120、目标计算节点210以及其它计算节点220皆体现为硬件,可以是单个服务器,也可以是多个服务器组成的服务器集群,例如云服务器。而路由代理则体现为计算节点上运行的一个应用程序。
本公开的一些实施例中,跨网络域通信方法应用的体系构架还可以包括协调器(coordinator)300。协调器300同上述路由代理一块作为跨网络域通信系统的组件,共同支撑跨网络域通信的顺利进行。类似于路由代理,协调器300也可以体现为计算节点上运行的一个应用程序。协调器300的作用在于向各网络域的路由代理发布该网络域之外网络域的公用互联网地址和标识信息,以便该网络域的用户进程有跨域通信需求时其路由代理能及时得到目标网络域的标识信息和公用互联网地址。
具体地,可以是各网络域的路由代理在启动时就向协调器300发布自己所在网络域的公用互联网地址,然后协调器300为该网络域分配一个标识信息,从而协调器300具有该网络域的标识信息和公用互联网地址。同时,各网络域的路由代理在启动时还向协调器300订阅其余网络域的标识信息和公用互联网地址,这样协调器300基于收到的订阅请求向网络域的路由代理发布其余网络域的标识信息和公用互联网地址。
需要说明的是,上述网络域的标识信息即标识该网络域的信息,在长度上远小于网络域的公用互联网地址。此外,为了协调器300和各网络域内部署的路由代理实现通信,部署协调器300的计算节点需具有公用互联网地址,例如协调器300部署在公网中的一个计算节点上。
由于网络域的路由代理能通过协调器300获得其余各网络域的标识信息和公用互联网地址,因而网络域内用户进程不会因无法获取到部分网络域的公用互联网地址而无法和这些网络域内用户进程实现跨域通信。
图2所示为本公开实施例提供的一种跨网络域通信方法。该跨网络域通信方法应用于一网络域的路由代理,以下为了准确地理解技术方案,该网络域称为当前网络域且该路由代理称为当前路由代理。在当前网络域的用户进程跨网络域发送数据包的情况下,当前网络域视为图1中的源网络域100,当前路由代理视为部署在图1中的源计算节点110上,与当前网络域通信的网络域为图1中的目标网络域200;在当前网络域的用户进程跨网络域接收数据包的情况下,当前网络视为图1中的目标网络域200,当前路由代理视为部署在图1中的目标计算节点210上,与当前网络域通信的网络域为图1中的源网络域100。以下依发送/接收数据的情况在相应情景中对跨网络域通信方法进行描述,因而要依发送/接收数据的情况参照图1及以上有关图1的内容来理解所描述的跨网络域通信方法。
为了描述上的方便,以下还将当前路由代理预先创建的虚拟网卡称为第一虚拟网卡;以及,在当前网络域的用户进程跨网络域发送数据包的情况下,还将目标网络域200的路由代理预先创建的虚拟网卡称为第二虚拟网卡。
如图2所示,当前路由代理执行的跨网络域通信方法,在当前网络域的用户进程跨网络域发送数据包的情况下,包括:
步骤S120,接收来自源用户进程的数据包;
步骤S140,通过第一虚拟网卡对数据包进行封装,以使封装后的数据包以目标网络域200的公用互联网地址为目的地址;
步骤S160,通过第一虚拟网网卡发送封装后的数据包,以便第二虚拟网卡接收封装后的数据包并在解封装封装后的数据包后将得到的数据包转发到目标用户进程上。
应当理解的是,步骤S120内的源用户进程为当前网络域内发送数据包的用户进程,步骤S130中的目标用户进程为目标网络域200内接收数据包的用户进程。
下面对当前路由代理在当前网络域的用户进程跨网络域发送数据包情况下执行的步骤进行详细介绍。
上述第一虚拟网卡通过虚拟可扩展局域网和第二虚拟网卡通信连接,第一虚拟网卡和第二虚拟网卡皆为虚拟可扩展局域网网卡(route-vxlan网卡)。图3所示为本公开实施例中虚拟可扩展局域网的工作模型。虚拟可扩展局域网创建在原来的IP网络(三层)上,只要是三层可达(能够通过IP互相通信)的网络就能部署虚拟可扩展局域网,因而大部分场景可以使用该实施例提供的跨网络域通信方案。参照图3,第一虚拟网卡和第二虚拟网卡即作为虚拟可扩展局域网的隧道端点(vxlan Tunnel Endpoints,简称VTEP),vxlan隧道是为第一虚拟网卡和第二虚拟网卡之间通信搭建的单独通道。
图4所示为一种示例性的封装后的数据包。封装后的数据包是经vxlan隧道传输的报文,称为vxlan协议报文。参照图4,白色部分所示的二层帧(Original L2 Frame)是源用户进程要发送的报文,包括源用户进程发送的数据包以及目的计算节点的互联网地址(以下亦称目的IP地址)和目的端口的端口号(以下亦称目的端口号),这里的目的计算节点区别于前文所述的目标计算节点210,目的计算节点是运行目标用户进程的计算节点,目的计算节点的目的端口作为目标用户进程的通信端口;vxlan头部(vxlan Header)是vxlan协议相关的部分;UDP头部(UDP Header)用来在底层网络上传输,也就是第一虚拟网卡和第二虚拟网卡之间互相通信的基础;IP头部(Outer IP Header)是源计算节点110和目标计算节点120之间通信的IP地址,包括源网络域100和目标网络域200各自的公用互联网地址;MAC头部(Outer MAC Header)是源计算节点110和目标计算节点120之间通信的MAC地址,包括源计算节点110和目标计算节点120各自的MAC地址。需要说明的是,图4所示的封装后的数据包比来自源用户进程的数据包多50多个字节的内容,这会降低网络链路传输有效数据的比例,因而在不影响数据包传输的前提下可以选择性地省略部分字段,例如在本公开实施例中封装后的数据包可以省略MAC头部等。
针对图4中白色部分示意的二层帧,可以是由源用户进程封装而成后发送到源计算节点110,这样步骤S140中第一虚拟网卡不需要进行目的IP地址和目的端口号的封装过程;另一些示例中,图4中白色部分示意的二层帧也可以是由第一虚拟网卡基于源用户进程发送的数据包封装而成,即步骤S140中第一虚拟网卡需要进行目的IP地址和目的端口号的封装过程。
在目标网络域200一端,第二虚拟网卡对封装后的数据包进行解封装处理,从而得到源用户进程发送的数据包以及目的IP地址和目的端口号,这样目标网络域200的路由代理即可在目标网络域200内根据目的IP地址和目的端口号将解封装得到的数据包转发到目标用户进程。由于目标用户进程和目标用户代理位于同一网络域内,因而二者之间通信利用现有技术即可实现,这里不作详细描述。
结合图3和图4,第一虚拟网卡的封装使得封装后的数据包不仅携带目的IP地址和目的端口号,而且还携带目标网络域200的公用互联网地址,从而封装后的数据包能够通过虚拟可扩展局域网到达目标网络域200内的第二虚拟网卡,进而通过第二虚拟网卡的解封装和转发使得目标用户进程接收到源用户发送的数据包。
一个可选的实施例中,当前路由代理预先针对与目标用户进程之间的连接创建了套接字(socket)。套接字包括一个IP地址和一个端口号。当前路由代理创建的套接字,其IP地址为源计算节点110的公用互联网地址,其端口号为当前路由代理针对与目标用户进程之间的连接随机分配的。上述跨网络域通信方法还包括:将当前路由代理创建的套接字绑定到第一虚拟网卡上,以使步骤S120接收到的数据包转到第一虚拟网卡上,从而通过第一虚拟网卡封装数据包并向网络域外发送封装后的数据包。
需要说明的是,若当前路由代理没有如上述将创建的套接字绑定到第一虚拟网卡上,且当前路由代理在步骤S120中接收的数据包携带了目的IP地址和目的端口号以及当前网络域内一计算节点(以下称预设计算节点)具有和目的IP地址相同的私用互联网地址,则当前路由代理会依据源计算节点110的路由规则将接收到的数据包转发到当前网络域内的预设计算节点上,除非实时断开源计算节点110和预设计算节点之间的连接。因而,当前路由代理如上述将创建的套接字绑定到第一虚拟网卡,确保了当前网络域的流量都经过第一虚拟网卡向其它网络域转发,而不受源计算节点110的路由规则影响。
应当理解的是,目标计算节点210上部署的路由代理针对与源用户进程的通信也创建了一个套接字,该套接字的IP地址为目标计算节点210的公用互联网地址,端口号由目标计算节点210上所部署路由代理随机分配。目标计算节点210上所部署路由代理创建的套接字绑定到第二虚拟网卡上,从而第二虚拟网解封装后的数据包发送到和第二虚拟网卡同运行于目标计算节点210上的路由代理,以便经过目标计算节点210所部署路由代理转发到目标用户进程。
一个可选的实施例中,当前路由代理将目标网络域的标识信息预先写入到源计算节点110所创建套接字的预设字段(例如套接字的MARK字段),步骤S140中通过第一虚拟网卡对数据包进行封装时是从套接字的预设字段读取出目标网络域的标识信息,然后根据目标网络域的标识信息从已获取的众多网络域的公用互联网地址中确定目标网络域的公用互联网地址。具体地,可以是当前路由代理将各网络域的标识信息和公用互联网地址关联存储,从而根据目标网络域的标识信息即可确定目标网络域的公用互联网地址。由于标识信息的长度小于公用互联网地址,因而相比在套接字的预设字段写入目标网络域的公用互联网地址来说,向套接字预设字段写入目标网络域的标识信息具有向套接字预设字段读写字节数较少的优势。
一个可选的实施例中,当前路由代理在步骤S120执行之前需要先基于源用户进程发送的访问请求、通过目标计算节点210上所部署路由代理向目标用户进程发起连接请求,并将目标用户进程通过目标计算节点210上所部署路由代理回复的连接结果回复给源用户进程。即如图5所示的,该访问过程包括如下步骤:
步骤S21,源用户进程向当前路由代理发送访问请求;
步骤S22,当前路由代理在接收到访问请求后,向目标用户进程发送连接请求;
步骤S23,目标用户进程向当前路由代理回复连接结果;
步骤S24,当前路由代理收到目标用户进程回复的连接结果后,向源用户进程回复连接结果。
只有连接结果为连接成功的情况下,源用户进程才会基于收到的连接结果执行步骤S31,即向当前路由代理发送数据包,从而当前路由代理才会执行上述步骤S120。访问过程的设置目的在于确保目标用户进程在跨域访问中的安全性。上述当前路由代理创建套接字以及将创建的套接字绑定到第一虚拟网卡,可以是在步骤S21和步骤S22之间进行,当前路由代理在步骤S22中是通过第一虚拟网卡向网络域之外发送连接请求,以及当前路由代理还通过第一虚拟网卡接收目标用户进程回复的连接结果。
具体地,该实施例的上述访问过程可以按照socks5协议的规范进行,其中,源用户进程作为socks5协议的客户端,当前路由代理作为socks5协议的代理服务器。
图6(A)示出源用户进程按照socks5协议发送的访问请求。参照图6(A),访问请求包括VERSION、COMMAND、RSV、ADDRESS_TYPE、DST_ADDR和DST_PORT这六种信息。VERSION用于指定socks协议版本,占用一个字节,这里由于是socks5协议,因而VERSION的值为0×05(即八进制的数字5)。COMMAND用于指定命令,占用一个字节,这里由于是要和目标用户进程建立连接,因而COMMAND的值为0×01,即指定命令为连接命令。RSV为一个保留字段,占用一个字节,本公开实施例中复用这一字段,使其指定目标网络的标识信息。ADDRESS_TYPE用于指定目的计算节点的地址类型,占用一个字节;DST_ADDR为一个地址字段,用于指定目的计算节点的互联网地址且该地址为ADDRESS_TYPE指定的类型,占用的字节数可变;DST_PORT为一个端口字段,用于指定目的端口的端口号,占用2个字节。因而,访问请求唯一地指定了源用户进程要连接的目标用户进程。
图6(B)示出当前路由代理按照socks5协议回复给源用户进程的连接结果。参照图6(B),连接结果包括VERSION、RESPONSE、RSV、ADDRESS_TYPE、BND_ADDR和BND_PORT这六种信息,各种信息的长度参考图6(B)。VERSION同样用于指定socks协议版本。RSV为保留字段。BND_ADDR和BND_PORT分别用于指定连接目标用户进程成功后当前路由代理的互联网地址和端口号,ADDRESS_TYPE用于指定BND_ADDR的类型。对应于访问请求中的COMMAND,连接结果中设置RESPONSE来指定响应命令,只有RESPONSE的值为0×00的情况下才表示当前路由代理连接目标用户进程成功。
进一步,当前路由代理在和目标用户进程建立连接之前还需要基于源用户进程发送的认证请求对源用户进程进行认证,并将认证结果回复给源用户进程。即如图5所示的,该认证过程包括如下步骤:
步骤S11,源用户进程向当前路由代理发送认证请求;
步骤S12,当前路由代理向源用户进程回复认证结果。
只有认证结果为认证通过的情况下,源用户进程才会执行上述步骤S21,即基于收到的认证结果向当前路由代理发送访问请求。认证过程的设置目的在于确保当前由代理在跨域访问中的安全性。
如以上所述的访问过程,这里认证过程同样可以按照socks5协议的规范进行。在按照socks5协议规范执行认证过程时,步骤S11执行后,当前路由代理会向源用户进程回复响应信息,响应信息包括当前路由代理从认证请求中选择的认证方式;然后,源用户进程会基于响应信息向当前路由代理发送认证信息,认证信息包括当前路由代理选定认证方式所需要的信息;然后步骤S12执行,即当前路由代理基于收到的认证信息得到认证结果并将得到的认证结果回复给源用户进程。
图7(A)示出了源用户进程按照socks5协议发送的认证请求。参照图7(A),认证请求包括VERSION、METHODS_COUNT和METHODS这三种信息,各种信息的长度参考图7(A)。VERSION同样用于指定socks协议版本。METHODS_COUNT用于指定METHODS的长度。METHODS用于指定源用户进程拥有的加密方式,每个加密方式占1个字节,常用的定义有:0×00表示不加密,0×02表示用户名/密码认证。
图7(B)示出了当前路由代理按照socks5协议回复的响应信息。参照图7(B),认证结果包括VERSION和METHODS这两种信息,各种信息的长度参考图7(B)。VERSION同样用于指定socks协议版本。METHODS用于指定当前路由代理选择的认证方式。
例如,源用户进程发送的认证请求为“5 2 0 2”,这表示socks5有两种认证方式“不加密”和“用户名/密码认证”供当前路由代理选择。当前路由代理回复的响应信息为“52”,这表示当前路由代理以socks5协议回复响应信息且选择了“用户名/密码认证”的认证方式。需要说明的是,如果源用户进程的所有认证方式,当前路由代理都不选择,则直接断开连接。
对于常用的“用户名/密码认证”这种认证方式,认证信息如图7(C)所示。参照图7(C),认证信息包括VERSION、USERNAME_LENGTH、USERNAME、PASSWORD_LENGTH和PASSWORD这五种信息,各种信息的长度参考图7(C)。VERSION用于指定socks协议版本。USERNAME_LENGTH用于指定用户名长度,USERNAME指定用户名且长度为USERNAME_LENGTH。PASSWORD_LENGTH用于指定密码长度,PASSWORD用于指定密码且长度为PASSWORD_LENGTH。
图7(D)示出了当前路由代理按照socks5协议回复的认证结果。参照图7(D),认证结果包括VERSION和STATUS,各种信息的长度参考图7(D)。VERSION同样用于指定socks协议版本。STATUS用于指定认证结果,STATUS的值为0×00的情况下表示认证成功,STATUS的值大于0×00的情况下表示认证失败。
socks5协议被业界认可多年。按照socks5协议规范进行上述认证过程和访问过程,会得到各种编程语言的现有的较为完善的软件开发工具包(Software DevelopmentKit,简称SDK)的支持,这既确保了跨网络域通信的可靠性,也减少了本公开实施例中跨网络域通信方案的大量开发工作。
需要说明的是,当前路由代理要在与目标用户进程之间的连接断开后,释放之前针对与目标用户进程之间连接而创建的套接字,相应地,目标计算节点210上部署的路由代理也要释放自身创建的套接字。
进一步,当前路由代理执行的跨网络域通信方法,在当前网络域的用户进程跨网络域接收数据包的情况下,还包括:通过第一虚拟网卡接收来自所在网络域之外网络域的封装数据包,通过第一虚拟网卡对封装数据包进行解封装以及将解封装得到的数据包转发到当前网络域的用户进程上。
需要说明的是,在当前网络域的用户进程跨网络域接收数据包的情况下,当前路由代理视为部署在图1中的目标计算节点210上,因而,其执行的步骤可以参照当前网络域的用户进程跨网络域发送数据包时目标计算节点210上所部署路由代理执行的步骤,这里不再赘述。
本公开的商业价值
本公开实施例能够解决跨网络通信方案通用性较差的技术问题,尽可能实现了跨网络域通信方案和使用场景之间的解耦合。访问请求以通信协议的地址字段携带目的互联网地址、以通信协议的端口字段携带目的端口号、以及以通信协议的保留字段携带目标网络域的标识信息,因而用户进程在发起访问请求时动态地指定目标用户进程,这样打破了只能与预先设定点通信这一限制,一网络域内的用户进程可以根据需求与不同的多个目标网络域内的用户进程进行互通。同时,因为访问请求在指定目标用户进程时加入了目标网络域的标识信息,因而即使两个目标网络域的私网网段重合,也不会出现地址冲突的问题。整个跨域通信方案因其较强的通用性和基于socks5协议实现的低成本和可靠性,将会具有极高的商业价值。
根据本公开的一个实施例的跨域通信方法可以由图8的计算机设备800实现,计算机设备800作为网络域内部署路由代理的的计算节点。下面参照图8来描述根据本公开实施例的计算机设备800。图8显示的计算机设备800仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图8所示,计算机设备800以通用计算设备的形式表现。计算机设备800的组件可以包括但不限于:上述至少一个处理单元810、上述至少一个存储单元820、连接不同系统组件(包括存储单元820和处理单元810)的总线830。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元810执行,使得所述处理单元810执行本说明书上述示例性方法的描述部分中描述的本公开各种示例性实施方式的步骤。例如,所述处理单元810可以执行如图2所示的各个步骤。
存储单元820可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)8201和/或高速缓存存储单元8202,还可以进一步包括只读存储单元(ROM)8203。
存储单元820还可以包括具有一组(至少一个)程序模块8205的程序/实用工具8204,这样的程序模块8205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线830可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
计算机设备800也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该计算机设备800交互的终端设备通信,和/或与使得该计算机设备800能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口850进行。并且,计算机设备800还可以通过网络适配器860与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器860通过总线830与平台服务器800的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备800使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读的可读存储介质中,并由处理器进行加载和执行。为此,本公开实施例还提供了一种计算机可读介质,该计算机可读介质上存储有计算机可执行代码,该计算机可执行代码被处理器执行时实现上述跨网络域通信方法中各实施例的各个过程。其中,计算机可读介质,如U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储计算机可执行代码的介质。
由于该可读介质中所存储的代码,可以执行本公开实施例所提供的任一种跨网络域通信方法中的步骤,因此,可以实现本公开实施例所提供的任一种跨网络域通信方法所能实现的有益效果,详见前面的实施例,在此不再赘述。以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
需要领会,以上所述仅为本公开的优选实施例,并不用于限制本公开,对于本领域技术人员而言,本说明书的实施例存在许多变型。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
应该理解,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
应该理解,上述对本说明书特定实施例进行了描述。其它实施例在权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
应该理解,本文用单数形式描述或者在附图中仅显示一个的元件并不代表将该元件的数量限于一个。此外,本文中被描述或示出为分开的模块或元件可被组合为单个模块或元件,且本文中被描述或示出为单个的模块或元件可被拆分为多个模块或元件。
还应理解,本文采用的术语和表述方式只是用于描述,本说明书的一个或多个实施例并不应局限于这些术语和表述。使用这些术语和表述并不意味着排除任何示意和描述(或其中部分)的等效特征,应认识到可能存在的各种修改也应包含在权利要求范围内。其他修改、变化和替换也可能存在。相应的,权利要求应视为覆盖所有这些等效物。
Claims (11)
1.一种跨网络域通信方法,应用于路由代理,所述路由代理部署在网络域内具有公用互联网地址的计算节点上且预先创建第一虚拟网卡,所述方法包括:
接收来自所述网络域内一用户进程的数据包;
通过所述第一虚拟网卡对所述数据包进行封装,以使封装后的数据包以目标网络域的公用互联网地址为目的地址;
通过所述第一虚拟网卡发送所述封装后的数据包,以便第二虚拟网卡接收所述封装后的数据包,所述第二虚拟网卡由另一路由代理创建且所述另一路由代理部署在具有所述目标网络域公用互联网地址的计算节点上,以及所述第二虚拟网卡在解封装所述封装后的数据包后将得到的数据包转发到所述目标网络域的用户进程上。
2.根据权利要求1所述的方法,还包括:
预先针对与目标用户进程之间的连接创建套接字,所述目标用户进程为所述目标网络域内接收所述数据包的用户进程;
将所述套接字绑定到所述第一虚拟网卡上,以使接收到的所述数据包转到所述第一虚拟网卡上。
3.根据权利要求2所述的方法,还包括:
将所述目标网络域的标识信息预先写入到所述套接字的预设字段,以便所述第一虚拟网卡对所述数据包进行封装时根据所述套接字的预设字段从已获取的多个网络域的公用互联网地址中确定所述目标网络域的公用互联网地址,其中,所述标识信息的长度小于公用互联网地址。
4.根据权利要求3所述的方法,还包括:
预先向协调器订阅所述网络域之外网络域的标识信息和公用互联网地址,以便获取到所述目标网络域的标识信息和公用互联网地址;
其中,所述协调器部署在具有公用互联网地址的计算节点上。
5.根据权利要求1所述的方法,其中,发送所述数据包的用户进程为源用户进程,接收所述数据包的用户进程为目标用户进程,所述方法还包括:
接收来自所述源用户进程的访问请求,所述访问请求以通信协议的保留字段携带所述目标网络域的标识信息;
向所述目标用户进程发起连接请求并将连接结果回复给所述源用户进程,其中,所述连接结果为连接成功的情况下所述源用户进程基于收到的连接结果向所述路由代理发送所述数据包。
6.根据权利要求5所述的方法,其中,
所述目标用户进程运行在所述目标网络域的目的计算节点上且使用所述目的计算节点的目的端口;
所述访问请求还以所述通信协议的地址字段携带所述目的计算节点的互联网地址、以及以所述通信协议的端口字段携带所述目的端口的端口号;
通过所述第一虚拟网卡对所述数据包进行封装,包括:将所述访问请求中的所述目的计算节点的互联网地址和所述目的端口的端口号封装后形成所述封装后的数据包。
7.根据权利要求5所述的方法,还包括:
接收来自所述源用户进程的认证请求;
基于所述认证请求对所述源用户进程进行认证,得到认证结果;
将所述认证结果回复给所述源用户进程,其中,所述认证结果为认证通过的情况下所述源用户进程基于收到的认证结果向所述路由代理发送所述访问请求。
8.根据权利要求1所述的方法,还包括:
通过所述第一虚拟网卡接收来自所在网络域之外网络域的封装数据包;
通过所述第一虚拟网卡对所述封装数据包进行解封装以及将解封装得到的数据包转发到所述网络域的用户进程上。
9.一种计算节点,设在网络域内且分配有该网络域的公用互联网地址,包括:
存储器,用于存储计算机可执行代码;
处理器,用于执行所述计算机可执行代码,以实现权利要求1-8中任一项所述的跨网络域通信方法。
10.一种跨网络域通信系统,包括:
协调器,部署在具有公用互联网地址的计算节点上;
路由代理,用于实现权利要求1-8中任一项所述的跨网络域通信方法;
其中,所述路由代理向所述协调器发布所在网络域的公用互联网地址以便所述协调器为所述路由代理所在网络域分配标识信息,所述协调器还用于向所述路由代理发布其所在网络域之外网络域的标识信息和公用互联网地址。
11.一种计算机可读介质,包括计算机可执行代码,所述计算机可执行代码被处理器执行时实现权利要求1-8中任一项所述的跨网络域通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210686029.4A CN115189920A (zh) | 2022-06-16 | 2022-06-16 | 跨网络域通信方法和相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210686029.4A CN115189920A (zh) | 2022-06-16 | 2022-06-16 | 跨网络域通信方法和相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115189920A true CN115189920A (zh) | 2022-10-14 |
Family
ID=83514257
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210686029.4A Pending CN115189920A (zh) | 2022-06-16 | 2022-06-16 | 跨网络域通信方法和相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115189920A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115941383A (zh) * | 2022-11-28 | 2023-04-07 | 北京神经元网络技术有限公司 | 宽带现场总线多域交换系统网络域分配方法、装置和设备 |
CN116016320A (zh) * | 2022-12-30 | 2023-04-25 | 中国联合网络通信集团有限公司 | 数据传输方法、装置及计算机可读存储介质 |
CN116418863A (zh) * | 2023-06-09 | 2023-07-11 | 安徽华云安科技有限公司 | 基于socks5透明代理的通信方法和装置 |
CN116860488A (zh) * | 2023-09-04 | 2023-10-10 | 腾讯科技(深圳)有限公司 | 一种进程通信方法和相关装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102281180A (zh) * | 2011-07-14 | 2011-12-14 | 冶金自动化研究设计院 | 应用于不同局域网的终端相互通讯的虚拟网卡通讯装置 |
US20130242983A1 (en) * | 2010-05-03 | 2013-09-19 | Pluribus Networks Inc. | Servers, Switches, and Systems with Virtual Interface to External Network Connecting Hardware and Integrated Networking Driver |
CN107770064A (zh) * | 2016-08-19 | 2018-03-06 | 华为技术有限公司 | 一种跨网络通信的方法、设备 |
CN108270751A (zh) * | 2016-12-30 | 2018-07-10 | 阿里巴巴集团控股有限公司 | 应用管理方法、装置以及数据发送处理方法和装置 |
CN113132201A (zh) * | 2019-12-30 | 2021-07-16 | 华为技术有限公司 | 一种vpc之间的通信方法及装置 |
CN114025009A (zh) * | 2021-10-20 | 2022-02-08 | 北京奥星贝斯科技有限公司 | 转发请求的方法、系统、代理服务器和装置 |
-
2022
- 2022-06-16 CN CN202210686029.4A patent/CN115189920A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130242983A1 (en) * | 2010-05-03 | 2013-09-19 | Pluribus Networks Inc. | Servers, Switches, and Systems with Virtual Interface to External Network Connecting Hardware and Integrated Networking Driver |
CN102281180A (zh) * | 2011-07-14 | 2011-12-14 | 冶金自动化研究设计院 | 应用于不同局域网的终端相互通讯的虚拟网卡通讯装置 |
CN107770064A (zh) * | 2016-08-19 | 2018-03-06 | 华为技术有限公司 | 一种跨网络通信的方法、设备 |
CN108270751A (zh) * | 2016-12-30 | 2018-07-10 | 阿里巴巴集团控股有限公司 | 应用管理方法、装置以及数据发送处理方法和装置 |
CN113132201A (zh) * | 2019-12-30 | 2021-07-16 | 华为技术有限公司 | 一种vpc之间的通信方法及装置 |
CN114025009A (zh) * | 2021-10-20 | 2022-02-08 | 北京奥星贝斯科技有限公司 | 转发请求的方法、系统、代理服务器和装置 |
Non-Patent Citations (1)
Title |
---|
严立宇;祖立军;叶家炜;周雍恺;吴承荣;: "云计算网络中多租户虚拟网络隔离的分布式实现研究", 计算机应用与软件, no. 11 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115941383A (zh) * | 2022-11-28 | 2023-04-07 | 北京神经元网络技术有限公司 | 宽带现场总线多域交换系统网络域分配方法、装置和设备 |
CN115941383B (zh) * | 2022-11-28 | 2023-12-22 | 北京神经元网络技术有限公司 | 宽带现场总线多域交换系统网络域分配方法、装置和设备 |
CN116016320A (zh) * | 2022-12-30 | 2023-04-25 | 中国联合网络通信集团有限公司 | 数据传输方法、装置及计算机可读存储介质 |
CN116016320B (zh) * | 2022-12-30 | 2024-03-19 | 中国联合网络通信集团有限公司 | 数据传输方法、装置及计算机可读存储介质 |
CN116418863A (zh) * | 2023-06-09 | 2023-07-11 | 安徽华云安科技有限公司 | 基于socks5透明代理的通信方法和装置 |
CN116418863B (zh) * | 2023-06-09 | 2023-09-15 | 安徽华云安科技有限公司 | 基于socks5透明代理的通信方法和装置 |
CN116860488A (zh) * | 2023-09-04 | 2023-10-10 | 腾讯科技(深圳)有限公司 | 一种进程通信方法和相关装置 |
CN116860488B (zh) * | 2023-09-04 | 2024-01-30 | 腾讯科技(深圳)有限公司 | 一种进程通信方法和相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112470436B (zh) | 用于提供多云连通性的系统、方法、以及计算机可读介质 | |
CN113132201B (zh) | 一种vpc之间的通信方法及装置 | |
US6799220B1 (en) | Tunneling management messages over a channel architecture network | |
CN115189920A (zh) | 跨网络域通信方法和相关装置 | |
JP6445015B2 (ja) | ミドルウェアおよびアプリケーションの実行のためにエンジニアド・システムにおいてデータサービスを提供するためのシステムおよび方法 | |
CN113169940B (zh) | 包括分解式网络元件的逻辑路由器 | |
US9331936B2 (en) | Switch fabric support for overlay network features | |
CA2421665C (en) | Wireless provisioning device | |
CN112671628B (zh) | 业务服务提供方法及系统 | |
JP4703689B2 (ja) | ネットワーク仮想化システムおよびプログラム | |
US10050859B2 (en) | Apparatus for processing network packet using service function chaining and method for controlling the same | |
CN112671938B (zh) | 业务服务提供方法及系统、远端加速网关 | |
CN107645433B (zh) | 报文转发方法及装置 | |
WO2024067338A1 (zh) | 云组网系统、安全访问方法、设备及存储介质 | |
CN111371666A (zh) | 一种处理报文的方法、设备及系统 | |
CN109246016B (zh) | 跨vxlan的报文处理方法和装置 | |
CN107733765B (zh) | 映射方法、系统和相关设备 | |
CN112822097A (zh) | 报文转发的方法、第一网络设备以及第一设备组 | |
CN113364660B (zh) | Lvs负载均衡中的数据包处理方法及装置 | |
WO2019157476A1 (en) | Binding osi layer 3 ip connections to osi layer 2 for mesh networks | |
WO2001097485A2 (en) | Method for providing transparent public addressed networks within private networks | |
CN111130978B (zh) | 网络流量转发方法、装置、电子设备及机器可读存储介质 | |
CN106487677B (zh) | 运营商边缘设备及数据转发方法 | |
WO2019134637A1 (zh) | 多类型的层叠虚拟网络互连的方法、装置及系统 | |
KR101805051B1 (ko) | 다중 터널링 기반의 통신 방법 |
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 |