ICMP
ICMP是基于IP协议的,但是是网络层协议
ICMP 主要的功能包括:
确认 IP 包是否成功送达⽬标地址
报告发送过程中 IP 包被废弃的原因
ICMP大概分为两类报文:
-
通知出错原因的报文
如图,路由器 2 向主机 A 发送⼀个 ICMP ⽬标不可达数据包,说明发往主机 B 的包未能成功 -
用于诊断查询的报文
ping命令:
ping 的是域名, 而不是url
一个域名可以通过DNS解析成IP地址
ping命令不光能验证网络的连通性, 同时也会统计响应时间和TTL(IP包中的Time To Live, 生存周期)
ping命令会先发送一个 ICMP Echo Request给对端
对端接收到之后, 会返回一个ICMP Echo Reply
traceroute命令(Linux):
基于ICMP协议实现, 能够打印出可执行程序主机到目标主机之前经历多少路由器
windows下是tracert: