前言

因为要整理网络这一块,所以打算先把概念写下。这节介绍ping的实现原理。

正文

先看一下图:

又没有发现和我们的icmp很像?对头。在icmp中,我写道:icmp有两种报文,一种是差错报文,一种是查询报文。

看看ping不ping的通,使用的就是icmp的查询报文。

前面的类型和代码还有校验和我就不解释了,请查询icmp那一章。

什么是标识符呢?

不同系统的操作是不一样的。

在unix系统中实现ping程序是把icmp报文中的标识字段置成发送进程的id号。因为这样回来的时候就知道到底返回给哪个进程。

然后在unix中,每ping一个,同一进程那么序号增加1,这样就知道了是哪个ping出去的。

在unix系统中,选项数据会包含我们发包的时间,那么回来的时候通过到达的时间-发送的时间得到了时间差。

在windows中:

不管开多少个窗口ping的identifier都是相同的,而且每增加一个ping包序号增加256。

那么他如何知道发送给哪个窗口?

他是这样子的,所以窗口都处在一个发包顺序中。

这个是什么意思呢?就是他们的序号是统一管理的,那么就知道窗口是哪个了。

同样他们计算时间也不一样,windows全部由自己的操作系统维护,比如说发出去哪个包,就会在操作系统中记录下来,然后回来的包的时间相减就得到了ping的时间。

然后ping包不是有一个数据选项吗?这个数据选项里面windows都是固定且没有任何意义的,一般来说都是adcdefg。。。

ping 介绍的更多相关文章

  1. A主机ping B主机发生了什么?

    计算机网络面试题:A主机ping B主机发生了什么? 众所周知,ping命令使用的是ICMP协议包,那么A主机ping B主机到底发生了什么呢? 1 ping介绍 ping(Packet Intern ...

  2. 学习linux命令,看这篇2w多字的linux命令详解

    用心分享,共同成长 没有什么比每天进步一点点更重要了 本文已收录到我的github:https://github.com/midou-tech/articles/tree/master/docs/li ...

  3. 介绍ping中的TTL是什么意思

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

  4. Ping命令简单报错介绍

    了解ABC类IP地址:网络.主机.子网.广播. ---------------------------- 学会ping: ping www.baidu.com 网络检测:ping某一主机可以正常启动! ...

  5. ping命令介绍

    1.ping是TCP/IP协议的一部分,所以只要安装了TCP/IP协议就(无论windows或linux)都可以使用ping命令. 2.ping命令的原理:本机创建一个数据包发送给(ping对象)目标 ...

  6. ICMP、ARP协议介绍和ping命令

    交换机工作原理和常用的简单命令    一.ICMP协议      1)ICMP协议的封装    二.ARP协议      1)什么是ARP协议      2)ARP相关命令    三.Ping命令的使 ...

  7. Linux基础介绍【第二篇】

    远程连接Linux的原理 SHH远程连接介绍 当前,在几乎所有的互联网企业环境中,最常用的Linux提供远程连接服务的工具就是SSH软件,SSH分为SSH客户端和SSH服务端两部分.其中,SSH服务端 ...

  8. Linux基础介绍【第一篇】

    Linux简介 什么是操作系统? 操作系统,英文名称Operating System,简称OS,是计算机系统中必不可少的基础系统软件,它是应用程序运行以及用户操作必备的基础环境支撑,是计算机系统的核心 ...

  9. Linux的简单介绍和常用命令的介绍

    Linux的简单介绍和常用命令的介绍 本说明以Ubuntu系统为例 Ubuntu系统的安装自行百度,或者参考http://www.cnblogs.com/CoderJYF/p/6091068.html ...

  10. [翻译]Telnet简单介绍及在windows 7中开启Telnet客户端

    文章翻译自 http://social.technet.microsoft.com/wiki/contents/articles/910.windows-7-enabling-telnet-clien ...

随机推荐

  1. LTS1.3秘钥导出和身份验证计算过程

    具体的参照描述协议规范文档   TLS1.3  RCF:8446 最新一版 协议描述的密钥推导计算流程图: TLS1.3内部非复杂程度难以想象.到底CPN Tools能否支撑分析TLS,我现在从新要整 ...

  2. 开源:基于mybatis和jpa的数据库安全加密脱敏插件,围观交流

    开源:基于mybatis和jpa的数据库安全加密脱敏插件,围观交流

  3. iBatis查询API

    "一切皆Socket!" 话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket. --有感于实际编程和开源项目研究. 我们深谙信息交流的价值,那网络中进程之间如何通信 ...

  4. echo: nice day

    乐开花了,echo 姑娘,很合我的胃口,活泼.俏皮.专业.三观出乎的齐,第一次遇见这种默契度如此高的,你说半句我懂,我说半句你懂,太完美了,以前感觉和女生沟通太累,聊几句就 game over,我这是 ...

  5. [675. 为高尔夫比赛砍树] dijkstra算法

    import java.util.*; class Solution { public int cutOffTree(List<List<Integer>> forest) { ...

  6. 百度 Linux 运维工程师面试真题

    百度 Linux 运维工程师面试真题 百度面了好久了,两个月了,估计都快成馊面了,一跟面条在走边边一不小心掉进了大海,于是 就有了汤面_经历非技术总结就两句话,幸运的是在朋友的帮助下顺利通过笔试,还认 ...

  7. web前端工程化合集

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 一.Git 1. git 和 svn 的区别 git 和 svn 最大的区别在于 git 是分布式的,而 svn 是集中式的.因此我们不能 ...

  8. 快速上手系列:JavaScript

    第一章 基础语法 1 javascript 的简介 * 是基于对象和事件驱动的语言,应用于客户端. - 基于对象: ** 提供好了很多对象,可以直接拿过来使用 - 事件驱动: ** html 做网站静 ...

  9. CYarp:力压frp的C#高性能http内网反代中间件

    我以前开发过HttpMouse的http内网反代中间件,但由于当时的知识点与设计水平受限,所以把它下马了.随着自身又遇到http内网反代的需求,在frp不能满足我需求情况下,我又启动了一个叫CYarp ...

  10. SpringBoot项目 填充Excel模板 导出 下载

    模板 下载后的效果 项目结构 pom <?xml version="1.0" encoding="UTF-8"?> <project xmln ...