TTL=128,TTL=64这有什么区别,是什么意思

TTL=128,TTL=64这有什么区别,是什么意思,第1张

TTL=128 说明你直接和对方可以进行通信。

TTL=64 跨多个路由器进行通信。

ping 发出的是 hello 报文,基于ICMP 的协议,如果跨的路由器很多那就说明 TTL(time to live) 值就减了多少,每跨一个路由器就减1。

在IPv4包头中TTL是一个8 bit字段,如下图所示:

扩展资料:

TTL的作用是限制IP数据包在计算机网络中的存在的时间,避免IP包在网络中的无限循环和收发,节省了网络资源,并能使IP包的发送者能收到告警消息。TTL的最大值是255,TTL的一个推荐值是64。

虽然TTL从字面上翻译,是可以存活的时间,但实际上TTL是IP数据包在计算机网络中可以转发的最大跳数。

TTL字段由IP数据包的发送者设置,在IP数据包从源到目的的整个转发路径上,每经过一个路由器,路由器都会把该TTL的值减1,然后再将IP包转发出去。如果在IP包到达目的IP之前,TTL减少为0,路由器将会丢弃收到的TTL=0的IP包并向IP包的发送者发送 ICMP time exceeded消息。

参考资料:

百度百科-TTL

bytes=32 是从你的机器到你想PING的目标机发送的一个32字节的数据包,

time=1ms 这些是每次PING通需要的时间,

TTL=243 TTL是生存时间的意思,就是说这个ping的数据包能在网络上存在多少时间。当我们对网络上的主机进行ping *** 作的时候,我们本地机器会发出一个数据包,数据包经过一定数量的路由器传送到目的主机,但是由于很多的原因,一些数据包不能正常传送到目的主机,那如果不给这些数据包一个生存时间的话,这些数据包会一直在网络上传送,导致网络开销的增大。当数据包传送到一个路由器之后,TTL就自动减1,如果减到0了还是没有传送到目的主机,那么就自动丢失。默认情况下,Linux系统的TTL值为64或255,Windows NT/2000/XP系统的TTL值为128,Windows 98系统的TTL值为32,UNIX主机的TTL值为255。UNIX主机的255,所以在从我这里到目的主机经过了255-243=12个路由。当我们不知道目的主机的 *** 作系统的时候我们可以根据TTL来猜测,但是不一定100%准确,如果目的主机是windows,但是经过了比如75个路由器,那么TTL的返回值是128-75=53,那么你可能认为这个目的主机是Linux系统,但是一般不会经过那么多的路由器,所以通过TTL来判断目的主机的 *** 作系统还是有一定的依据的。

TTL生存时间(time-to-live)指定数据包被路由器丢弃之前允许通过的网段数量。它是网络协议包中的一个值,它告诉网络,数据包在网络中的时间是否太长而应被丢弃。有很多原因使包在一定时间内不能被传递到目的地。解决方法就是在一段时间后丢弃这个包,然后给发送者一个报文,由发送者决定是否要重发。TTL的初值通常是系统缺省值,是报头中的8位的域。TTL的最初设想是确定一个时间范围,超过此时间就把包丢弃。由于每个路由器都至少要把TTL域减一,TTL通常表示包在被丢弃前最多能经过的路由器个数。当记数到0时,路由器决定丢弃该包,并发送一个ICMP报文给最初的发送者LOST=1说明一个包丢失了,你上面的截图意思就是发了4个包,有3个收到了,1个丢失了!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8239814.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存