astral 中文文档 下载 App

虚拟局域网是怎么工作的——原理简述

一条虚拟网卡的魔法

Astral 在每台设备上创建一块虚拟网卡。这块网卡对操作系统来说和物理网卡没有区别——有自己的 MAC 地址、会分配 IP、可以收发数据。

不同之处在于:物理网卡的数据走网线/Wi-Fi,虚拟网卡的数据走 Astral 的加密隧道。

把分散的设备连成一张网

Astral 做的第二件事:把分布在不同家庭、不同运营商甚至不同城市的虚拟网卡,通过服务器+P2P 穿透,连接成一张逻辑上的局域网。

游戏为什么认

游戏在做局域网发现时,会扫描本机所有网卡的 IP 段,找同网段的其他主机。Astral 建好的虚拟网卡和物理网卡处于相同的 IP 段,游戏扫描到它、发现有其他在线主机,自然就把它们当成同一局域网里的设备来处理。

这就是 Astral 能"骗过"游戏的核心——游戏根本不知道这块网卡是虚拟的,只知道自己找到了局域网。

数据怎么走

实际的数据流向:

  1. 游戏向虚拟网卡发送局域网数据包
  2. Astral 捕获这些数据包,通过 P2P 直连(或强制中转)发送到对方的虚拟网卡
  3. 对方的 Astral 把数据包交给对方的虚拟网卡
  4. 对方的游戏收到数据,完成同步

不需要公网 IP 的关键

传统方案需要公网 IP 的原因:服务器要监听在一个"所有人都能直接访问"的地址上,客户端主动连接服务器。

Astral 反过来:每台设备都是对等的,不存在固定中心。P2P 穿透让两台藏在 NAT 后面的设备也能直接互相通信,根本不需要任何一方有公网 IP。公共服务器只在 P2P 穿不过时当中转。

和 FRP、Zerotier 的区别

特性AstralFRPZerotier
公网 IP 要求不需要(P2P+中转)需要服务器有公网 IP不需要(P2P+云端)
自建复杂度零(公共服务器即用)高(服务器+配置)中等(云控制器)
游戏适配内置游戏识别通用(需手动配端口)通用(万能网卡)
界面友好度高(Flutter 界面)低(命令行为主)中(Web 管理)

Astral 把 Zerotier 的 P2P 穿透思路,包装成了一个面向游戏玩家的、开箱即用的产品。