1.如果你所ping的IP地址为一路由器的IP地址,其中括号中为路由器的接口如下所示
PC----(E0)R1(E1)----(E0)R2(E1)----(E0)R3
而且,路由器上的默认TTL值没有被设置的话(默认为255),则会有:
PC ping R1上的任意口(无论是E0及E1)IP,因为PC与R1直连,所以返回的TTL=255,而如果ping R2的任意口(无论是E0及E1)IP,因为PC与R2间隔了R1这跳,所以TTL值传到R1中会比其减1,而PC收到该包后会得知TTL=254,即可得知,PC到R2间通过了1个路由器(R1)同理,如果PC ping R3,返回TTL=253,同此可判断经过两跳...
但是,如果路由器上的默认TTL值改变了,则很难判断了,因为你不知道所改变的值是多少...但如果你知道,则还是可以知道期间通过的跳数的...
2.如果你所ping的IP地址为拥有一公网IP的PC或服务器,如下图所示:
PC1----R1----R2----R3----PC2/Server
则所得的TTL为PC2/Server的默认TTL减去期间通过的路由器的跳数,比如PC2/Server的默认TTL为128,则PC1 ping过去而返回的TTL=128-3=125,而PC2/Server的默认TTL视乎其操作系统的不同或者其设置的不同而会有所不同,这个就较难判断了...
3.如果你所ping的IP地址为经过NAT之后的PC的IP,如下图所示:
TTL:(Time To Live ) 生存时间指定数据包被路由器丢弃之前允许通过的网段数量。
TTL 是由发送主机设置的,以防止数据包不断在IP互联网络上永不终止地循环。转发IP数据包时,要求路由器至少将 TTL 减小 1。
TTL值的注册表位置HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 其中有个DefaultTTL的DWORD值,其数据就是默认的TTL值了,我们可以修改,但不能大于十进制的255。
TTL(Time-To-Live),就是一条域名解析记录在DNS服务器中的存留时间。当各地的DNS服务器接受到解析请求时,就会向域名指定的NS服务器(权威域名服务器)发出解析请求从而获得解析记录;在获得这个记录之后,记录会在DNS服务器(各地的缓存服务器,也叫递归域名服务器)中保存一段时间,这段时间内如果再接到这个域名的解析请求,DNS服务器将不再向NS服务器发出请求,而是直接返回刚才获得的记录;而这个记录在DNS服务器上保留的时间,就是TTL值。[1]
TTL值全称是“生存时间(Time To Live)”,简单的说它表示DNS记录在DNS服务器上缓存时间。要理解TTL值,请先看下面的一个例子:
假设,有这样一个域名myhost.abc.com(其实,这就是一条DNS记录,通常表示在abc.com域中有一台名为myhost的主机)对应IP地址为1.1.1.1,它的TTL为10分钟。这个域名或称这条记录存储在一台名为dns.abc.com的DNS服务器上。
现在有一个用户在浏览器中键入一下地址(又称URL):http://myhost.abc.com 这时会发生什么呢?
该访问者指定的DNS服务器(或是他的ISP,互联网服务商, 动态分配给他的)8.8.8.8就会试图为他解释myhost.abc.com,当然8.8.8.8这台DNS服务器由于没有包含myhost.abc.com这条信息,因此无法立即解析,但是通过全球DNS的递归查询后,最终定位到dns.abc.com这台DNS服务器,dns.abc.com这台DNS服务器将myhost.abc.com对应的IP地址1.1.1.1告诉8.8.8.8这台DNS服务器,然有再由8.8.8.8告诉用户结果。8.8.8.8为了以后加快对myhost.abc.com这条记录的解析,就将刚才的1.1.1.1结果保留一段时间,这就是TTL时间, 在这段时间内如果用户又有对myhost.abc.com这条记录的解析请求,它就直接告诉用户1.1.1.1,当TTL到期则又会重复上面的过程。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)