Ping值中“TTL”含义是什么,为什么使用“TTL”的这个概念?TTL:(Time To Live ) 生存时间,指定数据包被路由器丢弃之前允许通过的网段数量。TTL 是由发送主机设置的,以防止数据包不断在IP互联网络上永不终止地循环。转发IP数据包时,要求路由器至少将 TTL 减小1。 很显然,一个package (数据包)从 “一台机器” 到 “另一台机器” 中间需要经过很长的路径,显然这个路径不是单一的,是很复杂的,并且很可能存在环路。如果一个数据包在传输过程中进入了环路,如果不终止它的话,它会一直循环下去,如果很多个数据包都这样循环的话,那对于网络来说这就是灾难了。所以需要在“包”中设置这样一个值,包在每经过一个节点(路由器、工作站、服务器), 就将 “TTL 这个值减 1”,反复这样操作,最终可能造成2 个结果:

1、包在这个值还为正数的时候到达了目的地

2、或者是在经过一定数量的节点后,这个值减为了0。

前者代表完成了一次正常的传输,后者代表包可能选择了一条非常长的路径甚至是进入了环路,这显然不是我们期望的,所以在这个值为 0 的时候,网络设备将不会再传递这个包而是 直接将他抛弃,并发送一个通知给包的源地址,说这个包已死。 其实TTL 值这个东西本身并代表不了什么,对于使用者来说,关心的问题应该是:包是否 到达了“目的地”而不是经过了几个节点后到达。

通过“TTL”判断被Ping电脑是什么操作系统

每个操作系统对“TTL” 值得定义都不同, 这个值甚至可以通过——修改某些系统的 “网络参数” 来修改:例如 Win2000 默认为 128,通过注册表也可以修改。 而 Linux 大多定义为64。 不过一般来说,很少有人会去修改自己机器的这个值的,这就给了我们机会可以通过ping 的回显TTL 来大体判断一台机器是什么操作系统。

以下面2 台机器为例,看如下命令

第一台电脑,运行命令框中输入ping 61.152.93.131 -t回车后

Pinging 61.152.93.131 with 32 bytes of data:

Reply from 61.152.93.131: bytes=32 time=21ms TTL=118

Reply from 61.152.93.131: bytes=32 time=19ms TTL=118

Reply from 61.152.93.131: bytes=32 time=18ms TTL=118

Reply from 61.152.93.131: bytes=32 time=22ms TTL=118

Ping statistics for 61.152.93.131: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss Approximate round trip times in milli-seconds: Minimum = 18ms, Maximum = 22ms, Average = 20ms

第二台电脑,运行命令框中输入ping 61.152.104.40 -t回车后

Pinging 61.152.104.40 with 32 bytes of data:

Reply from 61.152.104.40: bytes=32 time=28ms TTL=54

Reply from 61.152.104.40: bytes=32 time=18ms TTL=54

Reply from 61.152.104.40: bytes=32 time=18ms TTL=54

Reply from 61.152.104.40: bytes=32 time=13ms TTL=54

Ping statistics for 61.152.104.40: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss Approximate round trip times in milli-seconds: Minimum = 13ms, Maximum = 28ms, Average = 19ms

第一台 TTL 为118,则基本可以判断这是一台Windows 机器,从我的机器到这台机器经过 了10 个节点,因为 128-118+1=11。而第二台应该是台 Linux,理由一样 64-54+1=11。

了解了上面的东西,可能有人会有一些疑问,例如以下:

1、不是说包可能走很多路径吗,为什么我看到的4 个包 TTL 都是一样的,没有出现不同?

回答:这是由于包经过的路径是经过了一些最优选择算法来定下来的,在网络拓扑稳定一段时间后,包的路由路径也会相对稳定在一个最短路径上。具体怎么算出来的要去研究路由算法了,不在讨论之列。

2、对于上面例子第二台机器,为什么不认为它是经过了74 个节点的Windows 机器?因为128-74=54。

回答: 对于这个问题, 我们要引入另外一个很好的 ICMP 协议工具。下一节我们将要一起学习:什么是路由器追踪命令,Tracert命令有什么作用?

(责任编辑:IT信息技术民工)

计算机网络中的ttl怎么理解,Ping值中“TTL”是什么意思,为什么使用“TTL”这个概念?...相关推荐

  1. 【Attention】深度学习中的注意机制:理解序列模型中的注意机制How Attention works in Deep Learning

    [学习资源] How Attention works in Deep Learning: understanding the attention mechanism in sequence model ...

  2. mysql 添加int列_在MySQL中现有的int列的值中添加字符?

    要将字符添加到现有的int列值中,请使用MySQL CONCAT().让我们首先创建一个表-mysql> create table DemoTable ( Amount int ); 使用插入命 ...

  3. 指针在c语言中的运用,怎么理解C语言中的指针,如何运用?

    恰好我之前写了一系列介绍 C 语言的文章,介绍了什么是指针,以及为什么要使用指针,下面摘录一部分,感兴趣的话,可以点我了解更多. 什么是 C语言指针? 不同的数据类型的主要区别在于占用的存储空间不同. ...

  4. 传输层中UDP的深入理解以及socket中UDP的使用

    目录 一.学习UDP的预备知识 1.熟悉网络通信中的五元组 (1)源IP地址和目的IP地址 (2)源端口号和目的端口号 (3)协议号 2.什么是客户端和服务端 二.socketAPI中UDP的使用 1 ...

  5. 通俗理解决策树算法中信息增益的

    转载自   通俗理解决策树算法中信息增益的 通俗理解决策树算法中的信息增益 在决策树算法的学习过程中,信息增益是特征选择的一个重要指标,它定义为一个特征能够为分类系统带来多少信息,带来的信息越多,说明 ...

  6. 什么是PING值,PING值的计算方法

    什么是PING值,PING值的计算方法 PING (Packet Internet Grope),因特网包探索器,用于测试网络连接量的程序.Ping发送一个ICMP 回声请求消息给目的地并报告是否收到 ...

  7. 关于国外主机PING值

    中美互联网传输媒介是海底光缆, 最新的海底光缆是中方上岸地点是 青岛,崇明岛,香港这三个地方:美方则是洛杉矶,俄勒冈州戛纳海滩.中美距离是半个地球,光一秒钟30万公里,绕地球7.5圈,1秒钟=1000 ...

  8. 美国服务器的ping值多少网速才算快?

    什么是ping值呢? ping就是对一个网址发送测试数据包,看对方网址是否有响应并统计响应时间,以测试网络的连通性.ping值是指,从PC对网络服务器发送数据到接收到服务器反馈数据的时间. ping值 ...

  9. ArcEngine中IFeatureClass.Search(filter, Recycling)方法中Recycling参数的理解

    转自 ArcEngine中IFeatureClass.Search(filter, Recycling)方法中Recycling参数的理解 ArcGIS Engine中总调用IFeatureClass ...

  10. 在html中标题字体的最大取值,在HTML中,标题字体标记的最大取值是()

    摘要: 中最人可民法债权请人以申院更理人换管,取值人的管理酬和报费用审查.保物信用信用行尽信后在区状况职调管理及财经营记录对客.中最担的情等进处行查.域的业情务状户所环境和授.所审查况以况.况.,.. ...

最新文章

  1. 马斯克脑机接口遭质疑:不是新技术,没体现神经解码进展
  2. 一款jQuery实现重力弹动模拟效果特效,弹弹弹,弹走IE6
  3. 日期时间类,按特定格式显示日期时间
  4. pyecharts开篇(python可视化神器)
  5. Angular里的按钮事件注册方法一例
  6. 3d怎么把两个面拼接在一起_vr全景看房用什么软件做的?3D看房是怎么拍摄的?...
  7. c语言图片base64编码,C语言实现Base64编码
  8. java读取与写入excel(.xls .xlsx)
  9. Qt实践录:常见控件操作示例2
  10. random_state 参数
  11. Pythonseleniumtesseract自动化测试随机码、验证码(Captcha)的OCR识别解决方案参考
  12. Python3.x中数据随机重排基本方法
  13. C++ 引用计数技术简介(1)
  14. (新年快乐)ABP理论学习之本地化(2016第一篇)
  15. Python教学视频(七)分支结构
  16. Visual Studio vs软件下载 vax Visual Assist X VAssistX
  17. 谷歌翻译失效,解决网页谷歌翻译的问题-只能解决页面翻译
  18. 宇枫资本女性如何理财致富
  19. archLinux安装记录
  20. 正面管教读书笔记 08 班会

热门文章

  1. 强化学习#code3
  2. Windows调出屏幕键盘的步骤
  3. sql server 字符串转成日期格式
  4. MathJax 支持的 Latex 符号总结
  5. C# Activator实例化类的一般步骤
  6. 从初级开发给大龄架构师review代码来看慢慢人生路
  7. Android仿QQ空间
  8. 电脑两个,电脑有两个系统盘怎么办
  9. 民数记研读1——于宏洁
  10. Android之数据统计TalkingData集成