Skip to content
独立学习教程 · EasyTier v2.6.4 · 从一个数据包开始

浏览器交互实验 ​

先预测结果,再点击按钮。三个实验全部在当前浏览器里计算,不需要安装 EasyTier,也不会向设备或公共节点发出探测。示意地址来自文档保留网段。

实验一:数据包怎样走完一次往返 ​

先选择直连,点击“下一步”,观察业务目标与外层端点。再选择中继:R 出现时,内层业务目标会不会改变?回程里,哪些字段需要交换?

业务 TCP · 外层 UDP · 安全模式
A发起请求的电脑
B8080 服务所在电脑
去程 A → B · 步骤 1 / 14

A 发出业务请求

应用使用 TCP。这里追踪其中一个 IP 包;完整 HTTP 请求通常包含许多包。

内层 · 业务 TCP 包(教学视角)10.144.144.1:53124→10.144.144.2:8080
外层 · 互联网 UDP 端点—→—

已建立的网络被简化为一个包的轨迹;握手、TCP 确认、重传与实际链路时序没有展开。

教学模型 · 公网地址来自文档保留网段,不能用于实际连接;浏览器不会发送网络探测。

在本模型中,外层使用 UDP,业务使用 TCP,安全模式会话已经建立。浏览器展示的内层字段是教学视角;它们并不是暴露给中继的明文字段。完整解释见第 15 章,加密边界见第 12 章。

实验二:改变 NAT 的映射与过滤条件 ​

选择“需要双方发包”,先观察 A 第一次探测,再观察 B 主动发包。找出哪张表里的过滤条件变化了。选择“固定端点探测失败”,观察 STUN 报告的端口和新分配端口为什么不一致。

映射规则
同一本地 UDP 端点复用外部端口
过滤规则
只允许本地曾发包的远端端点
步骤 1 / 6

尚未探测

两台设备在不同私网。映射表暂为空;先预测一下 A 单方面发包能否到达 B。

节点私网端点外部端点映射目的允许的远端
还没有产生映射。点击“下一步”发出第一次探测。
A → B:尚未成立B → A:尚未成立探测进行中

教学模型 · 独立呈现映射与过滤;没有模拟端口预测、映射过期、随机丢包或全部打洞策略。失败仅指当前预设的固定端点探测。

这里故意分开映射和过滤。最后一种预设只说明当前固定端点探测失败,真实 EasyTier 还可能重试或采用其他打洞策略。基础见第 06 章,探测流程见第 11 章。

实验三:断开链路,观察路径 ​

默认最少跳数选择 A→B。切换到最低演示延迟后,为什么经过 C 更合适?断开 C 相关链路,观察 R 是否成为下一条路径;再把 A 的所有出边断开。

80 ms15 ms15 ms20 ms20 msABCR

A → B

1 跳 · 演示延迟总和 80 ms。当前使用直连。

教学模型 · C、R 是普通转发节点;采用静态链路延迟简单相加、即时重新选路。真实 EasyTier 的测量、成本、拓扑同步与收敛并不等于此模型。

每条链路的数字是教学成本,简单相加不代表真实测量方法,也不承诺立即完成故障收敛。这里 C、R 是普通 EasyTier 转发节点,共享节点还具有跨网络转发边界。详见第 14 章。

三个检查理解的问题 ​

为什么业务 TCP 可以走在 UDP 隧道里?

原始 TCP/IP 包成为隧道的载荷,外层 UDP 负责承载。两层协议承担不同职责,业务 TCP 的确认、排序与重传仍由业务两端处理。

STUN 报告一个公网端点,为什么还可能连不上?

NAT 对新目的可能创建不同映射;过滤、防火墙和链路也可能拒绝包。知道地址不等于到达条件成立。

所有路径断开时,换路由指标能修复吗?

不能。指标只在已有可达路径中选择;至少先恢复一条完整连接路径。