zoukankan      html  css  js  c++  java
  • 小知识TTL

    TTL即time to live

    是生存时间的意思,就是说这个ping的数据包能在网络上存在多少时间。当对网络上的主机进行ping操作的时候,本地机器会发出一个数据包,数据包经过一定数量的路由器传送到目的主机,但是由于很多的原因,一些数据包不能正常传送到目的主机,那如果不给这些数据包一个生存时间的话,这些数据包会一直在网络上传送,导致网络开销的增大。当数据包传送到一个路由器之后,TTL就自动减1,如果减到0了还是没有传送到目的主机,那么就自动丢失。

    通常情况下Linux系统的TTL值为64/255,Windows NT的TTL为128,由此可以初步判断一个机器的系统,当然对方也是可以改的。下面看个例子吧,我在办公网进行了个测试

    首先ping跟我同一网段的一台机器

    这台就是windows系统,没有经过路由器直接收到数据包了

    然后找一台不是同一网段的

    这台就不是同一网段的,TTL为125,经过了3个路由器。TTL减为125

    然后是一台Linux的机器

    经过了3个路由器,TTL为64-3=61

    虽说是一个非常简单的知识,不过我之前还真没好好研究过,我发现深入研究一个东西会收获很多,不仅是这个知识点,更是为何会这么设计。就像TTL,

    通过这次的学习,我思考了为何要有TTL,这对我们后续设计一个新的系统有很大的启发。

  • 相关阅读:
    优秀的JavaScript模块是怎样炼成的(转发)
    从发展历史理解 ES6 Module(转发)
    JavaScript 模块演化简史(转发)
    objcopy 格式转换
    链接操作
    fflush()
    为什么栈地址从高到低生长,堆从低到高
    C语言中,a[-1] (负数下标)的用途
    va_list 、va_start、 va_arg、 va_end 使用说明
    docker 部署 redis
  • 原文地址:https://www.cnblogs.com/chinasun021/p/2625257.html
Copyright © 2011-2022 走看看