Internet控制报文协议ICMPInternet Control MessageProtocol)是网络层的一个重要协议。ICMP协议用来在网络设备间传递各种差错和控制信息,它对于收集各种网络信息、诊断和排除各种网络故障具有至关重要的作用。

ICMP报文详解_ICMP

ICMP报文详解_ICMP_02

类型 8  代码 0   Echo Request

ICMP报文详解_ICMP_03

类型0  代码0  Echo Reply

ICMP报文详解_ICMP_04


类型3代码1 目的主机不可达

ICMP报文详解_ICMP_05



类型3 代码3 端口不可达

ICMP报文详解_ICMP_06

ICMP报文详解_ICMP_07

R3的网关是R1F0/0,当R3需要和R2链接的公网通信的时候,第一个包发给R1R1发现我自己转发这个数据包还要把这个数据包从我接收的接口发送出去,于是给R3一个ICMP重定向报文,于是R3接到后,就直接把后续的所有的包直接发送给R2,而不给R1



第一个包二层帧头的目的MAC地址是R1   ICMP报文详解_ICMP_08


 

R3发送主机重定向报文类型5   代码1

ICMP报文详解_ICMP_09



后续的报头的目的MAC就是R2的F0/0的MAC了

ICMP报文详解_ICMP_10