(学习笔记-IP)Ping的工作原理

这篇具有很好参考价值的文章主要介绍了(学习笔记-IP)Ping的工作原理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Ping是基于ICMP协议工作的,ICMP报文封装在IP包里面,它工作在网络层,是IP协议的助手。

(学习笔记-IP)Ping的工作原理,计算机网络,tcp/ip,学习,笔记

 ICMP包头的类型字段,大致可分为两大类:

  • 一类是用于诊断的查询消息,也就是查询报文类型
  • 一类是通知出错原因的错误消息,也就是差错报文类型

(学习笔记-IP)Ping的工作原理,计算机网络,tcp/ip,学习,笔记

 查询报文类型 

回送消息-类型 0 和 8

 回送消息用于进行通信的主机或路由器之间,判断所发送的数据包是否已经成功到达对端的一种消息, ping 命令就是利用这个消息实现的。

(学习笔记-IP)Ping的工作原理,计算机网络,tcp/ip,学习,笔记

 可以向对端主机发送回送请求消息(ICMP Echo Request Message,类型 8 ),也可以接收对端主机发回来的回送应答消息 (ICMP Echo Reply Message,类型 0)

(学习笔记-IP)Ping的工作原理,计算机网络,tcp/ip,学习,笔记

相比原生的ICMP,这里多了两个字段:

  • 标识符:用以区分是哪个应用程序发ICMP包,比如用进程PID作为标识符
  • 序号:序列号从 0 开始,每发送一次新的回送请求就会加 1 ,用来确认网络包是否有丢失

选项数据中, ping 还会存放发送请求的时间值,来计算往返时间,说明路程的长短。


Ping-查询报文类型的使用

同一个子网的主机A和主机B,主机A执行ping主机B后:

(学习笔记-IP)Ping的工作原理,计算机网络,tcp/ip,学习,笔记

ping命令执行的时候,源主机首先会构建一个ICMP回送请求消息数据包。

ICMP数据包内包含多个字段,最重要的是两个:

  • 第一个是类型,对于回送请求消息而言该字段为 8 ,
  • 另一个是序号,主要用于区分连续ping的时候发出的多个数据包

每发出一个请求数据包,序号会自动加1。为了能够计算往返时间RTT ,它会在报文的数据部分插入发送时间。

(学习笔记-IP)Ping的工作原理,计算机网络,tcp/ip,学习,笔记

然后,由ICMP协议将这个数据包连同地址192.168.1.2一起交给IP层。IP层将192.168.1.2作为目的地址,本地IP地址作为源地址协议字段设置为 1 表示是 ICMP协议,再加上一些其他控制信息,构建一个 IP 数据包。

(学习笔记-IP)Ping的工作原理,计算机网络,tcp/ip,学习,笔记

接下来,需要加入MAC头。如果在本地ARP映射表中查找出IP地址192.168.1.2所对应的MAC地址,则可以直接使用;如果没有,则需要发送ARP协议查询MAC地址。获得MAC地址后,由数据链路层构建一个数据帧,目的地址是IP层传过来的MAC地址,源地址是本机的MAC地址;还要附加上一些控制信息,依据以太网的介质访问规则,将它们传送出去。

(学习笔记-IP)Ping的工作原理,计算机网络,tcp/ip,学习,笔记

主机 B 收到这个数据帧后,先检查它的目的地址,并和本机的MAC地址对比,如符合则接受,否则就丢弃。

接收后检查该数据帧,将IP数据包从帧中提取出来,交给本机的IP层。同样,IP层检查后,将有用的信息提取后交给ICMP协议。

主机 B 会构建一个ICMP回送响应消息数据包,回送响应数据包的类型字段为 0 ,序号为接收到的请求数据包中的序号,然后再发送出去给主机A。

(学习笔记-IP)Ping的工作原理,计算机网络,tcp/ip,学习,笔记

 在规定时间内,源主机如果没有接到ICMP的应答包,则说明目标主机不可达;如果接收到了ICMP回送响应消息,则说明目标主机可达。

此时,源主机会检查,用当前时刻减去该数据包最初从源主机上发出的时刻,就是ICMP数据包的时间延迟。

(学习笔记-IP)Ping的工作原理,计算机网络,tcp/ip,学习,笔记

 这是同一个局域网里面的情况,如果跨网段的话,还会涉及网关的转发、路由器的转发等等。

 文章来源地址https://www.toymoban.com/news/detail-606872.html

到了这里,关于(学习笔记-IP)Ping的工作原理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算机网络原原理学习资料分享笔记---第一章/第六节(为有梦想的自己加油!)

    第六节 计算机网络与 因特网发展简史 第六节 计算机网络与因特网发展简史 知识点 1 计算机网络与因特网发展简史 第六节 计算机网络与因特网发展简史 3 、 1972 年底, ARPAnet已经发展到 15 个交换结点。 4 、 20 世纪 70 年代早期与中期,除了ARPAnet之外,还诞生了许多其他分

    2024年04月27日
    浏览(45)
  • 计算机网络原原理学习资料分享笔记---第二章/第七节/第八节(为有梦想的自己加油!)

    第七节 P 2 P应用 第七节 P 2 P应用 知识点 1 P 2 P 第七节 P 2 P应用 知识点 1 P 2 P 第八节 Socket编程基础 第八节 Socket编程基础 第八节 Socket编程基础 第八节 Socket编程基础 知识点 1 Socket基本概念 第八节 Socket编程基础 第八节 Socket编程基础 4 、TCP提供面向连接,可靠的字节流传输服

    2024年04月27日
    浏览(46)
  • 计算机网络原理之【网络层】IP数据报分片

    1、尽可能少分片; 2、一个最大分片可封装的数据字节数最好是 8的倍数 。 1、首部的 标识字段 → 判断是否属于同一个IP数据报; 2、分片首部的 标志字段(MF) → 判断是否是最后一个分片; 3、 片偏移字段 → 判断分片的先后顺序,判断是否缺少IP分片。 通过工具发送一个

    2024年02月05日
    浏览(38)
  • 计算机网络—网络原理之<TCP/IP 五层协议 >图解+详述

    当应用程序间需要进行网络通讯,在 TCP/IP 五层协议的应用层需要做的工作是,程序员 自定义应用层协议 。 当前要开发一个关于“点外卖软件”的一个项目,其中有一个功能为:获取用户的订单历史(后端服务器从数据库中取出数据返回给前端页面),类似像这样的功能,

    2024年02月07日
    浏览(57)
  • 计算机网络笔记:计算机网络体系结构(OSI七层模型、TCP/IP五层协议)

    计算机网络是一个复杂的、具有综合性技术的系统,它由计算机系统、通信处理机、通信线路和通信设备、操作系统以及网络协议等组成。为了更好地描述计算机网络结构,使计算机网络系统有条不紊地处理工作,需要定义一种较好的网络体系结构。分层结构就是一种较好地

    2024年02月07日
    浏览(52)
  • 【计算机网络笔记】传输层——拥塞控制原理与解决方法

    什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)——时延带宽积、丢包率、吞吐量/率 计算机网络体系结构概念 OSI参考模型

    2024年02月05日
    浏览(42)
  • 【计算机网络笔记】Internet网络的网络层——IP协议之IP数据报的结构

    什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)——时延带宽积、丢包率、吞吐量/率 计算机网络体系结构概念 OSI参考模型

    2024年02月05日
    浏览(50)
  • 王道计算机网络学习笔记(1)——计算机网络基本知识

    文章中的内容来自B站王道考研计算机网络课程,想要完整学习的可以到B站官方看完整版。 计算机网络的功能 网络 把许多计算机连接在一起,而 互联网 则将许多网络连接在一起, 因特网 是世界上最大的互联网 ISP:因特网服务商 C/S(Client server) P2P(peer to peer),每个机器

    2024年02月10日
    浏览(36)
  • 计算机网络学习笔记

    !-- GFM-TOC -- 计算机网络体系结构 传输层:TCP和UDP 什么是三次握手? 什么是四次挥手? TCP如何实现流量控制? TCP的拥塞控制是怎么实现的? TCP如何最大利用带宽? TCP与UDP的区别 TCP如何保证传输的可靠性 什么是TCP粘包? 应用层:HTTP和HTTPS HTTP和HTTPS有什么区别? GET与POST的区

    2024年02月07日
    浏览(43)
  • 计算机网络学习01-TCP/IP 五层模型概述

    谈论计算机网络模型之前,我们先来谈谈,为什么要分层,这样的好处是什么。 当谈到Internet 时,我们总能听到的一个词汇就是 协议 (protocol)。协议定义了发送者、接收者和所有中间设备为了高效通信需要遵循的规则。当通信简单时,我们可能只是需要一个简单的协议:当通

    2024年02月08日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包