当前位置: 代码迷 >> 综合 >> ping 的原理解析
  详细解决方案

ping 的原理解析

热度:109   发布时间:2023-11-15 09:41:46.0

一、ping概述

ping 属于一个通讯协议,是 TCP/IP 协议的一部分。利用 ‘ping’ 命令可以检查网络是否通畅或者查看网络连接速度,便于分析和判定网络故障

使用 ping 命令会发送一个 ICMP(Internet Control Messages Protocol【网络信报控制协议】),接收端在收到此 ICMP 后产生 ICMPecho (ICMP回声应答) ,通过此过程来确定两台网络机器是否连通,时延是多少。

ping是端对端连通,通常用来作为连通可用性的检查,但是某些恶意程序会通过大量执行 ping 命令来抢占网络资源,导致系统变慢,网速变慢(如部分DOS攻击会使用此方式)


二、ICMP概述

ping 属于哪一层?ping 命令使用的 tcp 报文还是 udp 报文?

ping是应用层直接使用网络层 ICMP 的一个例子,它没有通过传输层的 TCP 或 UDP。
ping 命令是我们能够直接使用的命令,像 HTTP、FTP 一样属于应用层。ping 命令底层使用的是 ICMP,ICMP 报文封装在 ip 包中,所以 ICMP 属于网络层协议。
在这里插入图片描述


三、IP 和 ICMP 报文的关系

ICMP报文是内嵌在IP报文内的,也就是说IP报文里包含着ICMP报文,ICMP报文是IP报文的一部分
IP和ICMP报文