1.关于ICMP
ICMP:Internet control massage protocol 因特网控制协议
用于测试网络可达性;
使用ping、tracert等命令调用;
就像打招呼一样;
2.ICMP的格式
ICMP数据是封装在网络层ip包头下面,但并不代表它是传输层协议;
ICMP也是网络层协议,和IP协议是两个网络层协议的嵌套关系;
ICMP的类型:echo request 回响请求
echo reply 回响应答
Type 类型和 Code 代码的组合:不同的组合表达不同的意思
3.ICMP命令
命令 | 备注 |
Ping | 测试网络连通性 |
tracert | 显示经过的路径 |
Ping 参数:
tracert参数:
4.Ping 常见问题
成功 | 对方成功回响 |
超时 | 对方主机不在线、屏蔽 (不在线-有对方MAC地址缓存,对方可能关机,平并-对方开启了策略“如防火墙”) |
传输失败 | 物理链路/网卡问题,网关未指定 |
无法访问 | 未获取到MAC地址,导致无法进行ICMP封装 |
1)成功响应:
2)请求超时
1】招呼打出去,对方屏蔽了
目标开了防火墙,或者其它防ping策略;
防火墙可以防ping,但无法防arp;
就像我在线,但是你给我打招呼我不理你;
2】招呼打出去,对方不在线了
也就是,已经拿到了对方mac,但是对方已经不在线了
3】不在同一广播域的请求
ping一个地址时,并且数据链路层以太网协议的目标地址是网关地址时,如果规定时间内得不到回应;
就像把信交给快递员(网关),但没收到回信;
3)传输失败
网关丢失;
马上得到失败响应;
就像要从房间出去,没找到门,直接放弃;
4)无法访问
ping一个不存在的设备时;
icmp是网络层协议,封装在数据链路层以太网协议中;
要包装成以太网协议需要目标mac地址;
获取目标mac要先发送arp请求;
arp请求失败时,数据链路层由于没有mac地址,icmp协议无法完成封装;
报无法访问目标主机错误;