ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

关于ping以及TTL的分析

2022-09-04 11:33:54  阅读:200  来源: 互联网

标签:值为 ping 64 关于 TTL 数据包 路由器


ping [目标]

的意思就是向目标发送几个数据包,之后如果目标接受到一个数据包,那么目标就会向发送ping的主机返回一个数据包


比如上图,我ping了百度的服务器(windows下默认ping 4次)

字节代表数据包的大小,时间顾名思义就是返回时间,TTL这里稍微说一下:

TTL的意思就是数据包的生存时间,当然你得到的这个就是剩余的生存时间。

TTL用来计算数据包在路由器的消耗时间,因为现在绝大多数路由器的消耗时间都小于1s,而时间小于1s就当1s计算,所以数据包没经过一个路由器节点TTL都减一。

那么TTL的值一开始是什么呢?

不同的操作系统默认下TTL是不同的。

默认情况下,Linux系统的TTL值为64或255,Windows NT/2000/XP系统的TTL值为128,Windows 98系统的TTL值为32,UNIX主机的TTL值为255。
在这里不难得到百度服务器返回给我的数据包的TTL值应该为64(一般都是找2^n且离返回值最近的那个值),我得到的时候TTL为47,那么途中则经过了64-47=17个路由器。

在比如,我ping了自己的ip


可以看到我自己给自己发送数据包不需要经过路由器,所以TTL值为64,也就是说我的数据包生存时间默认为64


提到ping就不得不提到另外一个windows下的工具tracert

tracert [目标]

的意思就是得到你的主机到目标主机经过路由器的ip

如图:


tracert的原理就不多阐述了,和ICMP协议有关,利用了数据包的生存期进行路径的取得

 

在这里我们可以看到达到目标我们经过了15个路由器(不算终点)

注意一下有的值为 请求超时 ,原因是有的路由器是禁止ping的(所以不会返回信息)

另外由于现在网络状况很复杂,你ping不同地址可能得到的路径不同,就像我再一次ping了一下百度:


得到的结果是不是不同了?

这个和不同时间网络状况以及很多因素有关
————————————————
版权声明:本文为CSDN博主「KinderRiven」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u013451221/article/details/46608881

标签:值为,ping,64,关于,TTL,数据包,路由器
来源: https://www.cnblogs.com/jmbt/p/16654686.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有