你的优化线路服务器是大小包吗？

在选择服务器时，一些商家会宣称自己有多么多么好的线路，晚高峰稳定之类的，并且给出一个优秀的 24 小时延迟测试图，然而这真的靠谱吗？

什么是 "大小包"？

"大小包" 指的是一些 VPS 服务商根据数据包大小采用不同的网络路由策略：

小包：通常走优化过的路由，这也是服务商常常宣传的线路。

大包：可能会走未经优化的路由，导致性能下降，但是服务商成本低。

用个更通俗的方式解释
MTU 简单说就是一辆卡车的大小，你数据包相当于包裹，卡车大自然可以装大包裹，卡车小我也可以把大包裹拆分成小包裹发，只是效率低一些而已

但是现在商家，给你小包裹走高速路，大包裹走土路，你 ping 测路由都是小包裹，你以为是走高速，等你买来真正开始使用，才发现走是土路

一个走「土路」的香港服务器路由示意图

去香港明明可以广州出口直连香港，他硬是往美国跑了一圈

一个走「高速路」的香港服务器国际路由示意图

直接广州出口连香港，没有任何绕路

为什么 ping 测试可能具有欺骗性

大小包的服务商会在你传输小数据包（ping 服务器）的时候，让你直连走上面的高速路，一开始正式使用（正常使用往往都是大包），就让你走土路。如果服务商黑心，你去 ping 是 ping 不出来实际体验的

如何检测大小包

我们可以使用NTrace-core来检测 VPS 是否存在大小包路由问题。以下是具体步骤：

安装：

Copy
curl nxtrace.org/nt | bash

运行测试命令：

Copy
nexttrace --tcp --psize 12 202.96.209.133:80 && nexttrace --tcp --psize 1452 202.96.209.133:80

这个命令会向位于上海电信的 IP 地址发送两次测试：

第一次发送 12KB 的小包

第二次发送 1452KB 的大包

比较两次输出结果，观察路由是否相同。如果路由不同，那么很可能存在大小包问题

注意事项

提一下打包为什么是 1452KB 这个数字，因为过于大的包体积可能超过超过了以太网帧的体积。可以看看网卡的 MTU，用过大的包没有意义，数据包会被切片的。1452 字节的包大小，这是考虑了各种网络协议开销后的比较合适的选择
Copy
1452字节 = 1518-18-8-20-20
即：以太网帧大小-帧头尾-可能存在的拨号信息-IP信息-TCP协议头

文中所有的测试路由图片由NTrace-core生成，与上文提到的测试大小包的命令行是同一个工具