很多部署了分布式Mesh组网的用户,在叠加VPN加密通道的时候,经常会遇到实际传输速度和单节点VPN测速结果偏差很大的问题,本文梳理了符合通用网络规范的Mesh网络VPN连接速度测试的完整流程,覆盖前置检查、分步测试、故障定位等多个环节,帮用户避开常见测试误区,得到准确的实际运行数据,为后续组网优化提供可靠参考。
测试前的配置前提校验
测试之前不能直接启动测速工具,首先要确认Mesh网络本身的基线状态,先把VPN通道临时断开,在所有Mesh节点都正常同步拓扑的状态下,先测试Mesh内网不同节点之间的裸传输速度,这个数值是后续所有VPN测速的参照基准,要是Mesh裸网本身就有丢包或者带宽不足,后续测出来的VPN速度没有任何参考意义。
接下来要确认所有参与Mesh组网的节点,都没有开启额外的流量整形、QoS限速规则,不少用户为了保障语音、视频业务的优先级,默认给加密VPN流量打了低优先级标签,要是没提前调整,测出来的结果会远低于实际能达到的上限,不能代表VPN本身的传输能力。
还要提前关闭所有Mesh节点和测速终端上的后台同步、自动更新、云备份类的占用带宽的程序,同时确认没有其他非测试用的终端接入Mesh网络占用链路资源,避免无关流量干扰测试结果,保证测试过程的链路负载是可控的。
分层递进的Mesh网络VPN连接速度测试方法
第一步先做单节点直连VPN测速,选择Mesh网络的核心主节点作为VPN网关的对接端,用有线直连主节点的终端发起VPN连接,完成加密通道建立后跑常规的测速服务,这个步骤得到的结果,是排除了Mesh无线跳数干扰的、VPN本身在当前硬件条件下的速度基线。
第二步做同子网Mesh节点的VPN测速,选择和主节点在同一个物理子网内的Mesh子节点,用无线或者有线接入该子节点的终端发起VPN连接,测试跨单Mesh节点转发后的VPN速度,这个步骤可以排查Mesh节点本身的加密转发性能瓶颈。
第三步做多跳Mesh链路的VPN测速,选择距离主节点跳数最多、中间经过最多Mesh中继节点的末端节点,在这个节点下的终端发起VPN连接,模拟实际部署场景下最常见的多跳传输环境,得到的结果才是普通用户日常使用场景下能拿到的真实速度参考。
测试结果的校验与常见误区规避
很多用户测试的时候习惯用网页端的通用测速工具,这类工具本身会有浏览器缓存、广告加载的额外开销,测出来的Mesh网络VPN连接速度数值往往会比实际文件传输的可用速度偏低,更推荐用支持点对点直接传输的命令行测速工具,跑满链路负载的情况下得到的结果更准确。
还有不少用户会陷入“VPN速度必须和Mesh裸网速度一致”的误区,实际上VPN本身的加密解密运算、报文封装都会带来一定的性能开销,只要测试结果没有出现断崖式的下跌,都属于正常的技术特性范畴,不需要盲目调整配置。
如果多跳Mesh节点下的VPN速度出现明显的异常下跌,不要第一时间就判定VPN服务有问题,单次异常测试结果只能指向潜在故障,不能直接定位根因,要先逐段排查每一个Mesh中继节点之间的链路信号质量,不少情况下是无线Mesh节点之间的回传干扰导致的速度下降,和VPN加密本身没有直接关联。
测试后的故障定位思路
要是不同节点的Mesh网络VPN连接速度测试结果差异极大,可以先登录Mesh网络的管理后台,查看测试过程中各节点的CPU、内存占用情况,如果某一个中继节点的硬件资源长期跑满,说明该节点的转发性能不足以支撑加密VPN流量的传输,需要调整组网拓扑分流负载。
还可以在测试过程中抓包查看VPN报文的封装格式,确认是否存在Mesh网络的防火墙规则误杀部分VPN分片报文的情况,这类隐性的丢包问题不会导致VPN连接直接中断,但是会反复触发重传,大幅拉低实际的传输速度。
完成全流程的测试之后,用户可以把不同跳数节点下的VPN速度数据整理成参考表格,后续日常使用的时候如果出现速度异常,直接和基准数据对比就能快速定位问题出在Mesh组网侧还是VPN服务侧,大幅降低后续的运维排查成本。
飞机加速器 