zoukankan      html  css  js  c++  java
  • 讲解ping中的TTL是什么意思

    ping是icmp报文的一种应用。用来测试网络中各设备的连通性。在这几天的实验课上,我又用到了这个非常常用的命令,但是这次我发现了一些以前没有太注意的地方,那就是我在Ping不同的地址时所返回的TTL值是不同的。如下:

    C:\Documents and Settings\Administrator>ping 192.168.12.254

    Pinging 192.168.12.254 with 32 bytes of data:

    Reply from 192.168.12.254: bytes=32 time=245ms TTL=64
    Reply from 192.168.12.254: bytes=32 time=214ms TTL=64
    Reply from 192.168.12.254: bytes=32 time=251ms TTL=64
    Reply from 192.168.12.254: bytes=32 time=236ms TTL=64

    Ping statistics for 192.168.12.254:
        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
        Minimum = 214ms, Maximum = 251ms, Average = 236ms

    .C:\Documents and Settings\Administrator>ping 202.99.160.68

    Pinging 202.99.160.68 with 32 bytes of data:

    Reply from 202.99.160.68: bytes=32 time=242ms TTL=250
    Reply from 202.99.160.68: bytes=32 time=250ms TTL=250
    Reply from 202.99.160.68: bytes=32 time=247ms TTL=250
    Reply from 202.99.160.68: bytes=32 time=237ms TTL=250

    Ping statistics for 202.99.160.68:
        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
        Minimum = 237ms, Maximum = 250ms, Average = 244ms

    C:\Documents and Settings\Administrator>ping www.baidu.com

    Pinging www.a.shifen.com [202.108.22.5] with 32 bytes of data:

    Reply from 202.108.22.5: bytes=32 time=277ms TTL=52

    Reply from 202.108.22.5: bytes=32 time=294ms TTL=52

    Reply from 202.108.22.5: bytes=32 time=268ms TTL=52

    Reply from 202.108.22.5: bytes=32 time=260ms TTL=52

    Ping statistics for 202.108.22.5:

        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

    Approximate round trip times in milli-seconds:

        Minimum = 260ms, Maximum = 294ms, Average = 274ms

    上面所ping的地址中第一个地址(192.168.12.254)是我的电脑所在局域网的网关地址;第二个地址(202.99.160.68)是我的电脑的dns服务器的地址。最后一个大家都很熟悉了,就是百度网站的地址喽

           在这里我要说明的是不同的Rpely消息中的不同的TTL值的由来。TTL 是数据包为了防止数据包在网络中无限制的循环,而设定的网络数据包在网络传输中最大的转发次数。因为每转发一次在路由器,就会转向下一跳,所以,又通常称为最大跳数。具体的含义是这样的。我们本地机器会发出一个数据包,数据包经过一定数量的路由器传送到目的主机,但是由于很多的原因,一些数据包不能正常传送到目的主机,那如果不给这些数据包一个生存时间的话,这些数据包会一直在网络上传送,导致网络开销的增大。当数据包传送到一个路由器之后,TTL就自动减1,如果减到0了还是没有传送到目的主机,那么就自动丢失。例如:你定义了数据包的TTL为64.那么在你的数据包被转发了64次,也就是经过了63个中间路由器后,还没有到达目的网络,那么,你的电脑就会显示Requet time out (请求超时)了。例如:你定义了数据包的TTL为64.那么在你的数据包被转发了64次,也就是经过了63个中间路由器后,还没有到达目的网络,那么,你的电脑就会显示Requet time out (请求超时)了。这就是TTL的意思了

          在此补充一点,由于不同的操作系统所定义的TTL是不同的,一般有如下规则:默认情况下,Linux系统的TTL值为64或255,Windows NT/2000/XP系统的TTL值为128,Windows 98系统的TTL值为32,UNIX主机的TTL值为255。

  • 相关阅读:
    Linux命令--2
    Linux命令--1
    登陆网页模板
    前端笔记 (2.CSS)
    前端笔记 (1.HTML)
    linux 在执行命令过程中,反单引号(`)这个符号代表的意义为何?
    linux 变量
    Linux文件系统中的inode节点详细介绍
    【Ctrl】 + 【Alt】 + 【F1~F6】 和 【Ctrl】 + 【Alt】 + 【T】打开的终端有什么不同?
    快速建站教程
  • 原文地址:https://www.cnblogs.com/xiaocai0923/p/2173117.html
Copyright © 2011-2022 走看看