LwIP之ICMP协议
ICMP(网际控制报文协议),ICMP数据包是封装在IP数据包中的,由于IP不是为可靠传输服务设计的,ICMP的目的主要是用于在TCP/IP网络中发送和控制消息。主要应用有Ping、Traceroute和MTU测试。 ICMP报文的种类有三大种类,即ICMP差错报文、控制报文、请求/应答报文,各大类型报文又分为多种类型报文。 差错报文: (1) 特点: 1.ICMP差错报文都是有路由器发送到源主机的。 2.ICMP报文只提供IP数据报的差错报告,并不采取处理措施,差错处理由应用程序处理。 3.传输过程中可能丢失、损坏,甚至被抛弃。 4.ICMP差错报文是伴随着抛弃出错的IP数据报而产生的。 5.为了防止广播风暴,以下情况不会产生ICMP差错报文。 1)ICMP差错报文 2)目的地址是广播或多播 3)链路层广播的数据报 4)不是IP分片的第一片 5)源地址是零地址、回送地址、广播地址或多播地址 (2)信息不可达报文: 1.目的机硬件故障或关机 2.目标地址不存在 3.网关不知道去往目的机的路径 (3)超时报文: 1.为了避免无限制的在网中循环,IP协议采用 1)在数据报头设置TTL域 2)对分片数据报采用定时器技术 2.当报文超时出现时,路由器或目的机立即丢弃该数据报,并向信源机发送超时报文 控制报文: (1)拥塞控制与源站控制报文: 1