TTL(生存时间)是IPv4标头中的8位字段。它可以取0到255之间的任何值。如果这意味着该数据包在到达目的地的途中最多可以经过255个跃点(路由器),则该数据包将被丢弃。
我怎么可能跨大洲发送数据包?
TTL(生存时间)是IPv4标头中的8位字段。它可以取0到255之间的任何值。如果这意味着该数据包在到达目的地的途中最多可以经过255个跃点(路由器),则该数据包将被丢弃。
我怎么可能跨大洲发送数据包?
Answers:
除了其他答案外,还有一点补充是更完整的:尽管许多路由器似乎发送的TTL为255的数据包(对于它们自己产生的数据包,当然不是他们转发的数据包!),但是大多数操作系统发出的数据包中包含很多较低的初始TTL值:
某些系统曾经发送过较低的值(例如Windows 95的默认TTL为32),提高了这些值是为了防止可能存在较长路由的问题……但是,那时那些系统肯定能够访问Internet上的几乎所有主机。而且-尽管我没有任何证据,但我要说的是,由于安装了越来越多的长距离光纤来承载流量,因此所需的跃点数减少了。
同样不要忘记跳数与地理距离不相关。大洋一般都经过单跳(海底光纤上的光中继器不会碰到数据包,只有路由器会降低TTL)。刚刚做了一条从瑞士到新西兰的路线:第7跳距离我不到50公里,第9跳在加利福尼亚,第10跳在新西兰……洲际运输部分通常只有几跳在一条路线上,其余的大部分到达国际承运人,然后从那里到达目的地。
8位绰绰有余。由于ISP对等,您可以通过少于5或6个ISP到达目的地,并且由于骨干网体系结构,数据包最多只能通过一个ISP中的3或4个路由器传输。
如果增加TTL,则对于未路由的目的地,数据包将在网络中传播,直到TTL变为0-这将不必要地占用带宽。
traceroute
工具仅经过30跳就放弃的相同原因–“ Internet的直径”几乎没有您想象的那么大。