博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于ping以及TTL的分析
阅读量:5888 次
发布时间:2019-06-19

本文共 894 字,大约阅读时间需要 2 分钟。

首先介绍一下ping这个工具

ping [目标]

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

比方上图。我ping了百度的server(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。

在这里不难得到百度server返回给我的数据包的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了一下百度:

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

这个和不同一时候间网络状况以及非常多因素有关

转载于:https://www.cnblogs.com/clnchanpin/p/7141874.html

你可能感兴趣的文章
02-18 报表
查看>>
毕业论文一次性修改所有字母和数字的字体
查看>>
结构体:HASH表模板
查看>>
[转]理解Linux文件系统之inode
查看>>
在i3 Cpu上允许64位系统
查看>>
视频编解码学习之五:差错控制及传输
查看>>
String:自动进行空间扩展
查看>>
Postman教程
查看>>
python模块--os模块
查看>>
HSSFRow获取单元格方法与区别
查看>>
《图解HTTP》读书笔记
查看>>
iOS开发-单例模式
查看>>
词汇小助手V1.2——可以显示英语单词的国际音标
查看>>
洛谷 1365 WJMZBMR打osu! / Easy
查看>>
删除UINavigationItem上的BarButtonItem
查看>>
数据分析相关模块
查看>>
Python数据结构1-----基本数据结构和collections系列
查看>>
SQL Denali-FileTable
查看>>
C# 图像处理:复制屏幕到内存中,拷屏操作
查看>>
PHP微信支付流程
查看>>