ICMP 协议的功能;ping 的原理
  G1PV9Utmq6En 2023年11月02日 42 0

一、ICMP 协议的功能

ICMP(Internet Control Message Protocol) ,网际控制报文协议。

ICMP 协议是一种面向无连接的协议,用于传输出错报告控制信息。

它是一个非常重要的协议,它对于网络安全具有极其重要的意义。它属于网络层协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。

当遇到 IP 数据无法访问目标、IP 路由器无法按当前的传输速率转发数据包等情况时,会自动发送 ICMP 消息。

比如我们日常使用得比较多的 ping,就是基于 ICMP 的。

二、ping 的原理

ping,Packet Internet Groper,是一种因特网包探索器,用于测试网络连接量的程序。Ping 是工作在 TCP/IP 网络体系结构中应用层的一个服务命令, 主要是向特定的目的主机发送 ICMP(Internet Control Message Protocol 因特网报文控制协议) 请求报文,测试目的站是否可达及了解其有关状态。

ICMP 协议的功能;ping 的原理_源地址

一般来说,ping 可以用来检测网络通不通。它是基于ICMP 协议工作的。假设机器A ping 机器 B,工作过程如下:

1. ping 通知系统,新建一个固定格式的 ICMP 请求数据包

2. ICMP 协议,将该数据包和目标机器 B 的 IP 地址打包,一起转交给 IP 协议层

3. IP 层协议将本机 IP 地址为源地址,机器 B 的 IP 地址为目标地址,加上一些其他的控制信息,构建一个 IP 数据包

4. 先获取目标机器 B 的 MAC 地址。

5. 数据链路层构建一个数据帧,目的地址是 IP 层传过来的 MAC 地址,源地址是本机的 MAC 地址

6. 机器 B 收到后,对比目标地址,和自己本机的 MAC 地址是否一致,符合就处理返回,不符合就丢弃。

7. 根据目的主机返回的 ICMP 回送回答报文中的时间戳,从而计算出往返时间

8. 最终显示结果有这几项:发送到目的主机的 IP 地址、发送 & 收到 & 丢失的分组数、往返时间的最小、最大 & 平均值

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  rvP2pqm8fEoB   2023年12月22日   44   0   0 IPJavaJavaIP
  uIMxVj27KMVR   2023年12月24日   42   0   0 PodIPJavaJavaIPPod
G1PV9Utmq6En