TTL 问题 ???

来源:百度知道 编辑:UC知道 时间:2024/06/05 03:49:18
我的系统是xp ,如果我用ping 命令的话,ping 信息包的TTL是多少,
每个系统的ping 命令的TTL值是一样的吗?
我ping 我们这的电信dns ttl=248 怎样算ping 信息包经过了多少路由了,

每经过一个路由器,TTL的值就会减1,TTL值为248的话,说明从您的电脑到您说的那个DNS经过了8跳.

XP的默认TTL 值是128,不同操作系统的TTL的值是不一样的,如Linux的TTL是64,而且TTL的默认值是可以自己更改的。

我也想知道,请高手来回答!

TTL是IP协议包中的一个值,它告诉网络路由器包在网络中的时间是否太长而应被丢弃。有很多原因使包在一定时间内不能被传递到目的地。例如,不正确的路由表可能导致包的无限循环。所以需要在包中设置这样一个值,包在每经过一个节点,将这个值减1,反复这样操作,最终可能造成两个结果:包在这个值还为正数的时候到达了目的地,或者是在经过一定数量的节点后,这个值减为了0。前者代表完成了一次正常的传输,后者代表包可能选择了一条非常长的路径甚至是进入了环路,这显然不是我们期望的,所以在这个值为0的时候,网络设备将不会再传递这个包而是直接将他抛弃,并发送一个通知给包的源地址,说这个包已死。第二个问题,通过TTL值我们能得到什么其实TTL值这个东西本身并代表不了什么,对于使用者来说,关心的问题应该是包是否到达了目的地而不是经过了几个节点后到达。但是TTL值还是可以得到有意思的信息的。每个操作系统对TTL值得定义都不同,这个值甚至可以通过修改某些系统的网络参数来修改,例如Win2000默认为128,通过注册表也可以修改。而 Linux大多定义为64。不过一般来说,很少有人会去修改自己机器的这个值的,这就给了我们机会可以通过ping的回显TTL来大体判断一台机器是什么操作系统。如你看到112,可能是初始128,跳了16个节点,或者是初始160,跳了48次。
不同的操作系统,它的TTL值默认值是不相同的。默认情况下,Linux系统的TTL值为64或255,Windows NT/2000/XP系统的TTL值为128,Windows 98系统的TTL值为32,UNIX主机的TTL值为255。