前言

本文主要是分析一下Radmin LAN,最近在我们团队要做Radmin LAN的产品体验,我负责技术分析部分。本文不涉及具体操作教程,聚焦于工作原理。
Radmin LAN 特别适合用于远程工作、在线游戏或搭建小型虚拟局域网。它不同于传统的企业级 VPN 服务,配置简单且使用方便。Radmin LAN 是由一家创始于1999年的(11-50人规模)的小公司Famatech,专注于桌面和服务器管理远程控制软件的开发。
Radmin LAN 实际上就是一个VPN,主要用于连接不同地理位置的设备,让它们仿佛在同一局域网内,官网自己也叫它 Radmin VPN 。之后我会将这两种叫法混叫,当侧重在虚拟局域网时,我会叫它Radmin LAN,而侧重不同设备通信时则叫Radmin VPN

Radmin LAN 的工作原理

Radmin LAN 的工作原理核心在于通过其云服务器搭建起分布式虚拟局域网,让分布在不同地理位置的设备能够像在同一局域网中一样通信。这种原理通常涉及几个关键步骤:

  • 创建虚拟局域网(LAN)
  • 建立点对点(P2P)连接
  • 为每个设备分配一个虚拟 IP 地址以模拟局域网
  • 相互间通信使用数据加密隧道传输

创建或加入虚拟网络🌐

用户配置 Radmin VPN 网络,用户在 Radmin VPN 客户端中选择 “创建网络”,设置网络名称和密码。此操作会生成一个虚拟局域网(LAN),允许其他设备通过网络名称和密码加入。其他设备选择 “加入网络”。 输入由网络创建者提供的名称和密码即可加入同一个虚拟局域网

建立点对点(P2P)连接🔗

处于不同内网的设备建立起P2P连接的,这是本文分析的重点。
实际上Radmin LAN是使用NAT穿透技术,那啥是NAT穿透?

内外网🧱

我们先理解一下内外网相关的知识。
外网IP是唯一的,而不同内网之间的内网IP是可以一样。内外网之间的分界就是路由器,路由器将作为一个网关,一边连接着外网,一边连接着内网中的不同设备。
我们先介绍一下NAT(Network Address Translation,网络地址转换),这是路由器常用的一种技术,用于将内网设备的私有 IP 地址映射为公网的 IP 地址,从而实现多个设备共享一个公网 IP。
同一局域网即一个内网中的设备并不直接和外网即互联网通讯,而是通过一个统一的路由器连接到外网上,可以理解为我们在一个家庭里和外部的联系是靠一个专门的外交官🧑‍💼,路由器就是这个外交官,他来负责我们对外的通信。由路由器统一代表我们对外进行通信。
如何涉及到两个局域网之间通信就得通过路由器(外交官)进行了,我们无法之间将两个局域网联系在一起,因为你想嘛,如果两个局域网是直接连在一起的,那和一个局域网有什么区别,就好比你直接把对门的邻居和之间的楼道的都买下来了,一层楼都是你家的就不分彼此了。
路由器他同时负责记录到底是谁要对外通信即,将我们的内网IP映射成一个端口,外网则不需要知道你到底是谁(内网IP),而需要和路由器进行通信。端口可以理解为一个代号,就像一个家庭中不太可能就只有一个家庭成员,例如一个家庭中由【妈妈,爸爸,女儿,儿子】,【妈妈,女儿】同时要对外通信📨,路由器(外交官A🧑‍💼)对外通信时就会对找到对应的另一个外交官B🧑‍💼说我代表家庭A的一号,而不是说是妈妈,因为别不应该知道。同时路由器又找到女儿想要找到那个人的外交官C🧑‍💼,告诉他说我代表家庭A的二号。
而内网的之间的通信,因为在同一局域网内,所以可以之间通信,就像在同一间屋子里,有啥事情吼一声就好,不需要外交官进行协调。
既然理解了内外网的区别,那就让我们继续看看如何实现两个不同局域网内设备的通讯问题的。

两个不同局域网之间的设备互相访问

两个不同局域网之间的设备互相访问,可以通过以下方法实现,具体取决于网络环境和访问需求:

  • 直接公网访问
  • 使用 VPN(虚拟专用网络)
  • NAT 穿透(P2P 连接)
  • 使用中继服务器
    我们来看看为什么我们平时无法直接将两个设备联系在一起👇
直接公网访问

我们在啥都没配置的情况下就是直接使用方法一的即直接公网访问,然而这需要我们访问的对方有公网 IP,也就是我们能找到对方的外交官,还要能成功的完成端口映射
继续上文中的比喻,我们的的外交官A能处理好NAT,家庭A的儿子想和对面家庭B的儿子玩,但是他不知道家庭B儿子实际的代号,只能乱写个代号或者空着,外交官A🧑‍💼拿着我们的信找到要找的外交官B🧑‍💼(这里实际简化过程,走公网的话,实际上是外交官A将信交给公网的外交官帮忙传达下信息中,实际过程上要跳好几下的),说“我代表家庭A的4号成员,这封信要给你们家的XX”,但是对面不知道我们说的是谁,即端口映射未配置正确,对面外交官就把信笑嘻嘻的收下,然后转头就把信扔了,反之亦然。
所以想要通过公网互相访问,双方就得都配置好端口映射,这不是本文讨论的重点,我就简单比喻一下,就像是家庭A告诉外交官A🧑‍💼,以后谁要是找8080号,实际上就是找儿子,找8081,实际上就是找女儿,对面也是如此。
Radmin LAN实际是将下面三种方法的综合运用,剩下三个在本文中就不单独拎出来细分了。

Radmin LAN的云服务器协调

Radmin LAN在外网上有服务器负责初步协调不同局域网设备之间的连接,云服务器帮助设备发现彼此的公网 IP 地址,并尝试通过 点对点(P2P) 的方式直接建立连接。
用回上文的比喻,两个家庭AB的儿子A和儿子B想一起玩,就都排出自己外交官A和B,他们都实现了NAT。而Radmin提供了个和事佬🥸,不同家庭的外交官先找到这个Radmin和事佬,让他来帮助我们斡旋,帮两个外交官对接好两个儿子的代号,专业上称UDP打洞
同时对接完事后还让两个想要通信的外交官能碰面,如果协商的顺畅就可以直接握手,两家之间拉一个电话线☎️📞,之后之间打电话聊天(建立P2P连接),不用每次都要外交官去跑腿。这就是传说中的NAT穿透。
但是也有可能遇到些意外导致协商不成,即遇到NAT 阻碍,那么Radmin中继服务器这个和事佬就负责在两家间跑腿,帮忙转发信息。
这其实是避开了真正的公网,因为Radmin LAN服务器像是专职的和事佬,专门负责使用Radmin LAN的外交官们,能避开目标设备所在的局域网没有公网 IP(静态或动态)或在目标局域网的路由器上配置了 端口映射(Port Forwarding)。
通过这种方式就实现了将不同局域网联系在一起的效果。

模拟局域网🌐

之后Radmin LAN就回给每个加入网络的设备会被分配一个虚拟 IP 地址,这就是之前讲到过的内网IP,相当于给连了电话的不同家庭,让它们又由一个外交官统一管理,实现搭建虚拟局域网的效果,这个虚拟 IP 是设备在虚拟局域网内的唯一标识。

数据加密和隧道传输🕳️

Radmin LAN 或者说是 Radmin VPN,创建一个加密的虚拟隧道。所有通过隧道传输的数据都会被加密,确保通信的安全性。 数据加密不仅防止被第三方窃取,还保证了用户的隐私安全。
加密就不是本文讨论的重点了,感兴趣可以自己去了解一下VPN加密

总结

Radmin VPN 的工作原理可以总结为以下几点:

  1. 初始连接
    • 通过 Radmin 的云服务器完成设备发现和连接协调。
  2. 点对点通信
    • 优先建立 P2P 连接,提高速度和效率。
  3. 加密通信
    • 数据通过加密隧道传输,保护用户数据安全。
  4. 虚拟局域网
    • 通过虚拟 IP 地址模拟一个局域网环境,让不同设备可以像在同一局域网中一样操作。

后记

这篇文章由于采用了比喻,降低理解难度的时候难免会过滤掉一些实际上的技术细节,但也有效的减低了准入门槛 ,适合非专业的读者阅读,也希望能让对实际技术感兴趣的读者有所收获。
我本人也是边学边写,感觉计算机网络确实好神奇,有什么错误的地方,欢迎指正。