关于ping以及TTL的分析
2015-06-23 18:53
399 查看
首先介绍一下ping这个工具
ping [目标]
的意思就是向目标发送几个数据包,之后如果目标接受到一个数据包,那么目标就会向发送ping的主机返回一个数据包
比如上图,我ping了百度的服务器(windows下默认ping 4次)
字节代表数据包的大小,时间顾名思义就是返回时间,TTL这里稍微说一下:
TTL的意思就是数据包的生存时间,当然你得到的这个就是剩余的生存时间。
TTL用来计算数据包在路由器的消耗时间,因为现在绝大多数路由器的消耗时间都小于1s,而时间小于1s就当1s计算,所以数据包没经过一个路由器节点TTL都减一。
那么TTL的值一开始是什么呢?
不同的操作系统默认下TTL是不同的。
在这里不难得到百度服务器返回给我的数据包的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了一下百度:
得到的结果是不是不同了?
这个和不同时间网络状况以及很多因素有关
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了一下百度:
得到的结果是不是不同了?
这个和不同时间网络状况以及很多因素有关
相关文章推荐
- 2015半年总结,我要实现的个人目标
- 第七章
- Quick Reference:php5 Xdebug 代码覆盖分析
- android中关于tools:context="activity name"解惑
- 第六章
- 第五章
- hdu 5215 Cycle
- javascript工具--控制台详解(转自 阮一峰博客)
- ie6/7对display:inline-block的不支持
- iOS 打包32bit&64 universal-framework
- DateTime
- Mysql权限设置
- 【线段树】 HDOJ 5274 Dylans loves tree
- 第四章
- 【ContestHunter】【弱省胡策】【Round8】
- android 返回本机安装的所有第三方应用
- 串行化(序列化) 使用CArchive进行读写
- Objective-C与C++的区别
- Android学习第四课:Java代码动态创建View及LayoutParams类(二)
- select加载数据和数据选中