前两天跟同事瞎聊网络问题,他突然问我,Linux的traceroute和Windows的tracert到底哪个更快?我一听这问题有点意思,平时光顾着用,还真没比过。琢磨着这不正好能写篇记录么,干脆自己动手测一把。就从这儿开始折腾起来了。
我翻出家里吃灰的那台旧笔记本,装了Windows 10。又找了个树莓派刷了Ubuntu 20.04,凑合当Linux机器。两台机子都插同一个路由器上,省得网速不一样影响结果。同事还说可以测公网目标,但我觉着先拿路由器开刀更稳。就定了个测试目标:网关IP 192.168.1.1。为啥用IP?想着免得DNS查地址耽误事。
我先蹲到Windows那边,按住键盘怼开cmd黑框。心里默念别打错字,小心翼翼敲了tracert 192.168.1.1。只见屏幕哗刷出三行:
小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
我还嫌不过瘾,加了-d参数不让它查主机名,又跑一次,结果更快了,眼睛都来不及眨就完事。
换到树莓派那边,一开终端我就傻眼了——系统居然没装traceroute!只好硬着头皮现装。啪啪敲了sudo apt install traceroute -y,装完差点想抹汗。接着输traceroute 192.168.1.1,等了三秒还没动静,急得我直拍桌子。终于出结果了:
我不信邪,学着加了-n参数(相当于Windows的-d),再试一次,这回好点了,可还是比Windows慢半拍。
光试一次肯定不够准。我像个陀螺似的在俩机器间转悠,各跑了五遍。结果特别打脸:
这下我彻底懵圈了。说好的Linux命令更快?赶紧查资料找原因,发现Windows是直接发ICMP包(类似ping那种),嗖的一下就完事。而Linux默认用UDP包,还得等对方回应,拖拖拉拉的。再加上我这树莓派性能弱,反应自然慢半拍。
整这一圈下来,我算搞明白了:在简单场景下,Windows的tracert确实更快更省心,尤其对家庭网络这种跳数少的。Linux的traceroute功能多,但默认设置啰嗦,容易卡壳。要是真想让它提速,记住两点:
我这测试也就图一乐,真到公网上可能另一番光景。建议大伙儿自己试试,别光听别人吹牛,亲手折腾才靠谱!