IP标头中的TTL的8位足够大吗?


18

TTL(生存时间)是IPv4标头中的8位字段。它可以取0到255之间的任何值。如果这意味着该数据包在到达目的地的途中最多可以经过255个跃点(路由器),则该数据包将被丢弃。

我怎么可能跨大洲发送数据包?


14
大多数traceroute工具仅经过30跳就放弃的相同原因–“ Internet的直径”几乎没有您想象的那么大。
user1686 '18

4
可以将其想象为将数据放在飞机上旅行。对于本地啤酒花,您可以租用轻型飞机。对于大型国际啤酒花,您可以乘坐最近的777或A380进行大型啤酒花。尽管没有国际航班,但数据是通过以下一种方式从欧洲运往美国(或其他地方):en.wikipedia.org/wiki/Transatlantic_communications_cable
Baldrickk

2
“六度分离”理论可能也会引起您的兴趣。
帕姆(Pam)

1
我强烈建议您考虑帕姆的建议。事实证明,在自然发生的系统(计划外的系统)中,例如与人交朋友,将节点添加到Internet,开展业务的公司等,大多数连接不需要很多跃点。对于人与人的互动,这个数字很少会超过6。以oracleofbacon.org为例,它计算出演员凯文·培根与其他演员的联系。培根和泰卢固语演员Ravi Teja之间的距离只有3部电影。60年代的马来女演员
萨洛玛(Saloma)

有什么答案对您有帮助吗?如果是这样,您应该接受答案,这样问题就不会永远弹出来寻找答案。或者,您可以提供并接受自己的答案。
罗恩·莫平

Answers:


27

即使跨大洲发送数据包,TTL 255也绰绰有余-根本就不涉及更多的路由器。

运行快速测试(来自德国)显示前往美国的17个啤酒花和前往日本的18个啤酒花。通常,您不会超过30岁。这是由于Internet的层次结构所致-您只需2-5跳即可到达ISP的骨干网,另外2-3跳可将您带到下一个提供商。

请注意,TTL仅计数第3层跳。跨交换机使用的更频繁的第2层跳对TTL没有影响-以太网或类似协议中没有这样的概念。

此外,封装用于隧道传输的数据包会在隧道中“冻结” TTL-不管外部数据包经过多少跳(它有自己的TTL),整个隧道只算作内部数据包的一到两跳。


9

除了其他答案外,还有一点补充是更完整的:尽管许多路由器似乎发送的TTL为255的数据包(对于它们自己产生的数据包,当然不是他们转发的数据包!),但是大多数操作系统发出的数据包中包含很多较低的初始TTL值:

  • Windows使用128(自Windows NT 4起),
  • MacOS X和Linux都使用64

某些系统曾经发送过较低的值(例如Windows 95的默认TTL为32),提高了这些值是为了防止可能存在较长路由的问题……但是,那时那些系统肯定能够访问Internet上的几乎所有主机。而且-尽管我没有任何证据,但我要说的是,由于安装了越来越多的长距离光纤来承载流量,因此所需的跃点数减少了。

同样不要忘记跳数与地理距离不相关。大洋一般都经过单跳(海底光纤上的光中继器不会碰到数据包,只有路由器会降低TTL)。刚刚做了一条从瑞士到新西兰的路线:第7跳距离我不到50公里,第9跳在加利福尼亚,第10跳在新西兰……洲际运输部分通常只有几跳在一条路线上,其余的大部分到达国际承运人,然后从那里到达目的地。


8

8位绰绰有余。由于ISP对等,您可以通过少于5或6个ISP到达目的地,并且由于骨干网体系结构,数据包最多只能通过一个ISP中的3或4个路由器传输。

如果增加TTL,则对于未路由的目的地,数据包将在网络中传播,直到TTL变为0-这将不必要地占用带宽。


对于未路由的目的地,不是通常的做法是安装拒绝路由来防止这种情况发生吗?
user1686 '18

7
问题不在于未路由的目的地,而是问题是由于配置错误或瞬时影响而存在路由环路的目的地。
彼得·格林

3

历史部门的注释:TTL的单位是,每跳一跳路由器允许的时间预算减少一秒。

从Internet协议RFC 791:

时间以秒为单位测量,但是由于每个处理数据报的模块都必须将TTL至少减少一个,即使它在不到一秒的时间内处理该数据报,因此TTL必须仅被认为是一个上限。数据报可能存在的时间。目的是使无法传递的数据报被丢弃,并限制最大数据报的生存期。

多秒的数据包并不罕见:在300波特的情况下,最小允许的68个八位字节的IP数据报需要2秒钟以上。但是,我从未见过路由器针对多秒数据包递减超过1的情况。

这些天世界越来越快。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.