1. 以下情况不产生ICMP错误消息,
1). ICMP错误消息不产生ICMP错误消息.
2).目标地址是广播或多播地址的不产生ICMP错误消息. 这样会使网络拥塞.
3).非首段IP分组不产生ICMP错误消息. 无法重组完整的IP包就丢弃了.
4).链路层的广播不产生ICMP错误消息.
5).源地址不是单一主机不产生ICMP错误消息.
2. ICMP错误消息通常包括产生ICMP的IP包头和IP数据包的头8个字节. 这样就接收到ICMP后就可以知道是哪个协议的哪个进程产生了改ICMP消息.
3. 大多数TCP/IP的实现都是在kernel支持ping服务器的. Ping程序可以在ICMP echo request/reply消息的IP头IP option域里加入record route option信息, 这样消息经过路由器时, 路由器会将出口IP填入record route option中. 但这种方式收到IP option大小的限制, 只能记录9个IP. 所以用的不多.