目录
网络工程师成长问答017-ping 命令里面的TTL参数代表什么意思
这是我的第017篇原创回答,记录网络工程师行业的点点滴滴,结交IT行业有缘之人
Ping命令是做什么用的
我们经常在判断网络故障的使用会使用ping 这个命令,比如ping www.baidu.com ,ping www.sohu.com
使用这个ping命令主要的目的是判断网络通不通,举个例子,我打开电脑的命令行(你可以在运行中输入cmd)
然后输入ping www.baidu.com ,你就可以看到类似的结果:
因为我们所处的网络地址是不一样的,所以我这太电脑的ping的TTL指是54 ,你的电脑可能得到的TTL值和我的电脑是不一样的
一般,你能看到这样的结果,就可以说:我的电脑和www.baidu.com 这个网站是通的
ping命令中的TTL是做什么用的?
如果我的电脑发一个数据包,会在互联网上传递多远呢?或者能经过多少台路由器呢?
不管怎么样不能让这个数据包无限制的传递吧,这个数据包总不能绕着地球传递100圈吧,这就成了无限循环了,如果互联网上有大量的这样的循环数据包,网络就太容易瘫痪了。
所以在设计互联网的时候,加入了一个TTL这个参数,这个参数的作用就是防止一个数据包无限制的在互联网上传递,TTL的意思是:Time to Live ,一个数据包在发送的时候默认设定好了一个TTL数值,然后这个数据包每经过一台路由器这个TTL值就会减掉1,如果这个TTL等于0的话,这个数据包就不能再被路由器转发了,可以说这个数据包死掉了!这个就是为了防止一个数据包在互联网上无限制的重复的被路由器转发。
那这里的TTL=54 是什么意思?
就是百度发出的数据包,到达我的电脑的时候,还有54!
默认的百度的TTL是64(一般服务器还有路由器的TTL是64,如果是windows一般默认是128),64 减掉 54 = 10 ,那就是说:从百度发出的数据包,经过了10台路由器到达了我的电脑!
可以这样验证一下!我用winMTR这个图形化的软件验证一下:
因为我在校园内网里面,所以从百度返回到我这里,其实正好是第10跳(就是经过了10台路由器到达我的电脑),倒着向上数!
本文出自 网络工程师培训、思科认证、华为认证培训-onelab网络实验室 ,原文链接:https://www.xacisco.net/12588 。如若转载请注明出处。