0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

PING命令的详细资料讲解

Wildesbeast 来源:今日头条 作者:非著名网络专家王 2020-02-22 17:17 次阅读

还是我之前的观点,越基础的东西有时越难于解释。今天我们说说网工常用的PING.

任何靠 IT 行业讨饭吃的人,无论在哪个范畴工作,都一定懂得 Ping 这个指令。差不多任何作业系统都具备 Ping 这命令,用来做简单的 Troubleshooting。但究竟 Ping 在背后帮我们做了些什麽呢?本篇文章就从 Ping 说起,并会涉及关于端到端的理论。

众所周知,Ping 的作用是发讯息给一个设备,要求对方回应,从而知道对方的状态,是生是死?也可以凭它回应的速度和成功率来判断网络状态。为啥叫 Ping 呢?我翻查过一些资料,原来和另一门科学有着莫大关系 - 声纳探测!所谓声纳探测就是潜艇在水底发出声波,声波遇到障碍物时反弹给潜艇,于是潜艇就可以知道障碍物的位置了,而这个方法就是叫 Ping。声纳探测的 Ping 操作上与网络的 Ping 很类似,所以当初程式人员把这工具命名为 Ping 实在很有心思!

Ping 是一个程序,这程序所发出的包就叫做 ICMP Packet。ICMP 结构简单,被包在 IP Packet 里面,每个 ICMP 都包含一些简单的讯息。

任何设备收到 Echo Request 通常都会回应 (Echo Reply),除非故意做了设定不回应 (例如:Firewall 设定) 或者 ICMP Traffic 被 Access-List 之类挡下来。当发送方收到对方回应後就可以计算出一些结果。

RTT

Ping 通常会做多次 Echo Request,并记录每一个 Echo Request 与 Echo Reply 之间的时间差,这个时间差称为 Round Trip Time (RTT),也可称 End-to-end Delay。每一个 Ping 的 RTT 都不同,所以在 Ping 的 Result 中会看到最大(max)丶最小(min)和平均(avg) RTT 等数据。

丢包率 (Packet Loss %)

Ping 不一定每次都成功,刚才说过,失败的原因可能是 Destination Unreachable 或者 Time Exceeded。也可能是 Timeout,即过了一定时间也收不到对方回应。Packet Loss % 就是收不到回应的机率,极具参考价值,是反映网络是否稳定的重要指标。

TTL

Ping 送出 Packet 时会设定一个 TTL (Time to Live) 的数值,预设 TTL 值各作业系统有所不同。Packet 每次被 Route,Packet 里面的 TTL 值都会被减 1。当 Packet 到达目的地时只要看看 Packet 的 TTL 就知道 Packet 经历过多少个 Hop 才到达。如不幸 TTL 在传送中途被扣减至 0 仍未到达目的地,则会被丢弃。而丢弃 Packet 的 Router 会回应 Time Exceeded,这样发 ICMP 的一方就知道原因是 TTL 被减至 0 了。

端到端的延时

试想想,当你发 ICMP 给一台设备,该设备可能在世界的另一端,Packet 到达目的地需要一点时间,而这段时间名为 End-to-end Delay。在网络的角度来看,构成 End-to-end Delay 的因素主要有以下 4 个:

Processing Delay

当一个 Packet 到达 Router 时,Router 需要进行运算去找出 Packet 应该被送到那里,称为Routing Decision。而这运算的时间就是 Processing Delay。Processing Delay 的长短取决于Router 的作业系统丶运算速度甚至硬体结构等。

Queuing Delay

透过Routing Decision,Router 决定了 Packet 的出口,就会把 Packet 移送到该 Interface,这时 Packet 会在 Interface 的 Output Queue 排队,等待被处理,等待的时间就是 Queuing Delay 了。Queuing Delay 的长短则要看当时网络的状况,简单来说就是前面有多少 Packet 在排队。而且 Output queue 是有相应机制的,即是说如果发现 queue buffer 即将爆满,有些 Packet 会被丢弃,不一定是队尾的 Packet 被丢弃,可以在整条 Queue 里面抽一些 Packet 弃掉来腾出空间,这就是 Packet Drop。不过,这涉及 QoS 的设定,本文暂时不展开。

Transmission Delay

有幸生存下来的 Packet 就会慢慢移至 Output Queue 的最前头,Interface 会把 Packet 一个一个的送上传送媒介 (就是网络线啦)。但 Interface 不能疯狂地把 Packet 送走,它只能按预先设定好的速度来送出。

因此,如果要在 100Mbps Bandwidth 的 Interface 送出一个 1500 Bits 的 Packet,其 Transmission Delay 就是: 1500 bits / 100 Mbps = 15 ns

Propagation Delay

Packet 终于上路了,变成电子讯息或光讯息在传送媒介上高速行走。有多高速?如果用 Copper Cable 的话,电子讯息在铜线上传送速度约为每秒 2 x 10的8次方 公尺,如果使用光纤线,光的速度为每秒 3 x 10的8次方 公尺。假设用光纤线传送 10 公里,Propagation Delay 为: 10 km / 3 x 10的8次方 ms = 33.36 ns

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ICMP
    +关注

    关注

    0

    文章

    50

    浏览量

    14806
  • 程序
    +关注

    关注

    114

    文章

    3629

    浏览量

    79496
  • Ping
    +关注

    关注

    0

    文章

    66

    浏览量

    15796
收藏 人收藏

    评论

    相关推荐

    人工智能大模型、应用场景、应用部署教程超详细资料

    人工智能是IC行业近几年的热词,目前此技术已经有很多成熟的模型和落地案例。在此跟大家做个分享,更多详细资料,请自行搜索:【展锐坦克邦】,坦克邦-智算天地集算法模型、部署说明于一体,为广大客户提供了
    发表于 11-13 14:49

    Ping命令的基本用法

    当谈到网络故障排除工具时,Ping(Packet Internet Groper)是其中最常用和最基本的之一。
    的头像 发表于 10-17 13:58 995次阅读

    SD详细命令描述

    电子发烧友网站提供《SD详细命令描述.doc》资料免费下载
    发表于 10-13 10:22 1次下载
    SD<b class='flag-5'>详细</b><b class='flag-5'>命令</b>描述

    无感无刷直流电机如何设计电调的详细资料说明

    本文档的主要内容详细介绍的是无感无刷直流电机如何设计电调的详细资料说明。首先要搞清楚一件基本的事情:我们只是来搞电调的,而不是去设计电机的。所以不要被一些无刷电机教材一上来那些林林总总的关于什么磁路
    发表于 09-26 07:23

    求助,m451的触摸按键有详细资料吗?

    准备用M451的触摸按键做键盘,但是发现官方资料少的可怜。 首先,触摸按键的PCB怎么画,怎么样的形状,背面要不要铺地?别的厂商有很详细的文档说明。 其次,BSP原来还有个库可以使用,新的BSP3.0这个库消失了。也没有这方面的例子。 难道是芯唐不准备让大家用触摸按
    发表于 08-28 07:27

    如何使用ping命令测试网络摄像头连通性

    在做智能化弱电项目时,前端摄像头设备安装结束后,我们会对网络摄像头进行调试,调试过程中会遇到前端摄像头没有图像或者图像出来了画面卡顿的现象。我们会采用ping命令来测试网络的连通性和网络承载能力。
    的头像 发表于 08-19 09:48 5746次阅读
    如何使用<b class='flag-5'>ping</b><b class='flag-5'>命令</b>测试网络摄像头连通性

    WIFI模块通过TCP协议发送HTTP的详细资料说明

    本文档的主要内容详细介绍的是WIFI模块通过TCP协议发送HTTP的详细资料说明。
    发表于 08-14 10:45 42次下载

    单片机汇编读写SPI FLASH的详细资料说明

    本文档的主要内容详细介绍的是单片机汇编读写SPI FLASH的详细资料说明。
    发表于 08-14 10:45 18次下载

    贴片电容封装详细资料

    贴片电容封装详细资料,单片陶瓷电容器(通称贴片电容)是目前用量比较大的常用元件,就AVX公司生产的贴片电容来讲有NPO、X7R、Z5U、Y5V-电子器件知识电路图
    的头像 发表于 07-28 13:21 961次阅读
    贴片电容封装<b class='flag-5'>详细资料</b>

    RDA5850低成本蓝牙音响芯片的详细资料

    RDA5850低成本蓝牙音响芯片的详细资料合集包括程序
    发表于 06-08 15:25 27次下载

    你知道ping命令是如何工作的吗?

    我们用来测试一台机器与另一台机器的网络连通性一般会使用ping命令,那么你知道ping命令是如何工作的吗?ping
    的头像 发表于 05-31 11:40 690次阅读
    你知道<b class='flag-5'>ping</b><b class='flag-5'>命令</b>是如何工作的吗?

    【笔记】ping不通的原因有那些?

    Ping命令无法成功访问目标主机时,可能存在多种原因。以下是一些常见的导致Ping不通的问题,并对每个问题进行了分析和解释:1.请求超时:当Ping
    的头像 发表于 05-30 17:24 1.4w次阅读
    【笔记】<b class='flag-5'>ping</b>不通的原因有那些?

    PING命令还能这么用?

    今天和你聊聊PING命令。 一般来说,网工们通常会用它来直接ping ip地址,来测试网络的连通情况。 类似这种,ping ip地址或网关,然后pi
    的头像 发表于 05-18 16:43 696次阅读
    <b class='flag-5'>PING</b><b class='flag-5'>命令</b>还能这么用?

    ping命令的作用和应用举例

    "ping"是一种网络工具,用于测试主机之间的网络连接和延迟 。它通过发送一个特定类型的网络数据包,称为"Internet Control Message Protocol (ICMP)"数据包,来测试目标主机是否能够接收和响应数据包。
    的头像 发表于 04-25 11:45 6897次阅读
    <b class='flag-5'>ping</b><b class='flag-5'>命令</b>的作用和应用举例

    ping命令丢包的原因?

    ping命令丢包
    发表于 04-21 06:57