分类:
2008-10-16 19:02:11
一、 TTL简介
TTL,全称是Time To Live,中文名为生存时间,它是IP报头中一个非常重要的参数。通过TTL的值,我们可以判断出当前网络IP层的工作状况。
TTL告诉网络中的器数据包在网络中的时间是否太长而应被丢弃,TTL的最初设想是确定一个时间范围,超过此时间就把包丢弃。由于数据包每经过一个路由器时,TTL值都会至少被路由器减1,所以TTL值通常表示包在被丢弃前还能最多经过的路由器个数。当TTL值为0时,路由器丢弃该数据包,并发送一个ICMP报文给数据包的最初发送者。
有很多原因会导致数据包在一定时间内不能被传递到目的地。例如,不正确的路由表配置可能导致数据包的无限循环,而解决方法就是在一段时间后丢弃这个数据包,然后给发送者发送一个报文,由发送者决定是否重发该数据包。当网络出现这种情况时,数据包就会在路由表中配置错误的路由器处重复发送,每发送一次,TTL值减1,直到TTL为0时路由器丢弃该数据包,造成网络中数据传输错误。
操作系统和传输不同,对应TTL的默认值也不同。表1列出了常见操作系统通过TCP和UDP传输时的TTL默认值。
操作系统 |
TCP传输 |
UDP传输 |
AIX |
60 |
30 |
DEC Patchworks V5 |
30 |
30 |
FreeBSD 2.1 |
64 |
64 |
HP/UX 9.0x |
30 |
30 |
HP/UX 10.01 |
64 |
64 |
Irix 5.3 |
60 |
60 |
Irix 6.x |
60 |
60 |
UNIX |
255 |
255 |
Linux |
64 |
64 |
MacOS/MacTCP 2.0.x |
60 |
60 |
OS/2 TCP/IP 3.0 |
64 |
64 |
OSF/1 V |
60 |
30 |
Solaris 2.x |
255 |
255 |
SunOS |
60 |
60 |
Ultrix V4.1/V |
60 |
30 |
VMS/Multinet |
64 |
64 |
VMS/TCPware |
60 |
64 |
VMS/Wollongong |
128 |
30 |
VMS/UCX (latest rel.) |
128 |
128 |
MS 95/98/NT 3.51 |
32 |
32 |
NT 4.0/2000/XP/2003 Server |
128 |
128 |
(表1 不同操作系统的TTL默认值)
[1]