我为VoIP服务提供商提供服务,并且正在与客户建立有线网络连接,从而使我陷入困境。
他只有一个块,我们假装为70.141.15.0/29,网关位于.1,路由器位于.2和3.。这两个路由器都连接到他的电缆调制解调器,据我们所知,电缆调制解调器已设置为电缆提供商所想象的“桥接模式”。
我正在同一盒中同时对这两个路由器执行ping操作,这是一个Linux系统,从(可能)Level(3)连接到光纤。不用说,地球上没有人知道这里和那里之间有多少个节点。但是请检查ping结果。
到第一个路由器:
64 bytes from 70.141.15.2: icmp_seq=2637 ttl=47 time=45.0 ms
64 bytes from 70.141.15.2: icmp_seq=2638 ttl=47 time=39.2 ms
64 bytes from 70.141.15.2: icmp_seq=2639 ttl=47 time=37.3 ms
64 bytes from 70.141.15.2: icmp_seq=2640 ttl=47 time=46.1 ms
64 bytes from 70.141.15.2: icmp_seq=2641 ttl=47 time=45.8 ms
64 bytes from 70.141.15.2: icmp_seq=2642 ttl=47 time=46.5 ms
64 bytes from 70.141.15.2: icmp_seq=2643 ttl=47 time=40.9 ms
从第二个开始:
64 bytes from 70.141.15.3: icmp_seq=631 ttl=239 time=54.7 ms
64 bytes from 70.141.15.3: icmp_seq=637 ttl=239 time=40.5 ms
64 bytes from 70.141.15.3: icmp_seq=638 ttl=239 time=40.3 ms
64 bytes from 70.141.15.3: icmp_seq=639 ttl=239 time=38.4 ms
64 bytes from 70.141.15.3: icmp_seq=640 ttl=239 time=44.9 ms
64 bytes from 70.141.15.3: icmp_seq=641 ttl=239 time=38.4 ms
64 bytes from 70.141.15.3: icmp_seq=642 ttl=239 time=38.8 ms
检查TTL值。这有意义吗?这些设备彼此直接相邻,并通过单独的交换机端口插入该调制解调器。一个人又怎会有近200跳呢?通过ping其他站点,我得到的印象是TTL并未按照我认为的方式实施。我怀疑我和4.2.2.2或woot.com之间是否有200跳,但我从这两者得到的TTL结果都低于50。
这些路由器中的一个(TTL较高的路由器)来自Fortinet,而另一个则是基于Linux的自定义设备。我很确定Forti有一个家用网络栈,而Linux机器使用的是硬件开发人员下载的源压缩包中附带的任何东西。是否有可能以一种奇怪的形式在其中之一上实现了ICMP回显,并故意发送所有TTL为50的答复?
我还注意到,我能找到的唯一具有理性TTL答复的站点之一是slashdot,而且我可以想象到,它们的服务器和路由器在“我们在车库中发现的内容”可能比普通网站少一些。有点让我觉得我对最后一个假设的看法是正确的。
综上所述:ping上的TTL意味着可靠吗?