我希望任何服务器(不仅是谷歌)出现“乐队”,因为调制解调器到远程服务器的跳数必然随时间而变化。但如果这是网络重新路由,你就不会有明显的并行频段; 你可以在早上90%的时间使用乐队#0,并且“看”乐队#0和#1,也许是弱乐队#2,那么也许在下午你会看到乐队#1和# 2和#3频段的开头,依此类推。你会看到“连续步进”的乐队:__--==_=--=_
。
在这里,ping时间显然以大致固定的间隔累积在几个波段中:-==--=====-
。
通过运行测试,我们很清楚我们正在研究TTL的变化:
64 bytes from 74.125.232.148: ttl=56 time=12.5 ms
64 bytes from 74.125.232.148: ttl=56 time=12.5 ms
64 bytes from 74.125.232.148: ttl=55 time=24.2 ms
64 bytes from 74.125.232.148: ttl=56 time=27.7 ms
64 bytes from 74.125.232.148: ttl=55 time=24.5 ms
64 bytes from 74.125.232.148: ttl=56 time=12.8 ms
与hping相同:
len=46 ip=74.125.232.148 ttl=55 port=80 flags=SA rtt=23.9 ms
len=46 ip=74.125.232.148 ttl=56 port=80 flags=SA rtt=11.7 ms
len=46 ip=74.125.232.148 ttl=55 port=80 flags=SA rtt=24.5 ms
len=46 ip=74.125.232.148 ttl=56 port=80 flags=SA rtt=11.8 ms
显然,从我到谷歌的路径长度不同,占空比大约为两个数据包,50%的路径需要大约12毫秒的额外跳跃。所以我看到两个距离大约12毫秒的“乐队”。
另外,如果我发送带有TTL 8的数据包,它们都会丢失; 如果我使用TTL 9,他们都会得到回答,其中大约50%的人有额外的跳跃。所以我猜74.125.232.148正在接收网络流量,然后重新生成它并将其转发到后面的一些主机2或3跳,这反过来应答这种流量。然后流量被路由回来,但没有重新生成,所以我们看到主机之外的TTL而不是代理的TTL。
关于TTL的注意事项
当我在评论中读到“TTL为2”时,我精神上翻译成“跳数为2”,这是不可能的,因为从瑞士到澳大利亚的最短路线是七跳(通过地球同步卫星接力;回程时间是大概一秒钟)。我给出的值(调用它(错误地)TTL,为15到20)是跳数。
产生PING的澳大利亚主机以64的原生TTL回复,然后在到达时显示ping实用程序显示大约45的ttl值。如果它生成TTL为128的回复,它将产生大约110的ttl报告。