![IPv4 和 IPv6 中的跳数限制](https://linux22.com/image/1424233/IPv4%20%E5%92%8C%20IPv6%20%E4%B8%AD%E7%9A%84%E8%B7%B3%E6%95%B0%E9%99%90%E5%88%B6.png)
我在读IPv4,其中指定了生存时间,也称为 TTL 或 IPv6 中的“最大跳数”,因为这是它真正代表的是什么。
我担心的是,这个值是 8 位,因此最大值为 255,每次通过网关“跳跃”时都会递减。这意味着任何使用 IPv4 的网络中任何两点之间的网关数不得超过 254 个。
这似乎是一个非常有限的限制。我的意思是,我猜使用跟踪看起来大多数事情最终都会达到 20-30 跳的最大跳数,并且由于互联网的分支形状,您仍然可以在 20-30 跳中覆盖大量空间,但是,是否有任何协议适用于节点间路径长度大于 255 的网络?或者我们只是假设这不切实际?
我的意思是我可以想到一些非官方的方法来解决这个问题(比如使用选项,一旦它达到 0 而不是删除自身,它就会回到 255,并且选项中包含的第二个 8 位 TTL 值会减少。最终,如果第二个 8 位值达到 0 并且原始 TTL 达到 0,它仍会像往常一样被删除),但我想知道是否已经存在我可以使用的协议。
答案1
互联网的直径不会增长那么多。互联网在增长,但同时也很好地相互连接,因此最大路径长度相当恒定。就像六度分离但规模更大。我猜 TTL 为 32 可以覆盖 99.9% 以上的互联网,TTL 为 64 可以覆盖所有地方。不幸的是,我找不到比这更近的研究了万维网的直径(1999)。
更长的路径也会大大增加延迟,以至于速度和响应时间变得不符合当前标准。