icmp回复数据包中的标识符为零,当我设置icmp请求数据包中的小ttl升压asio icmp示例

icmp回复数据包中的标识符为零,当我设置icmp请求数据包中的小ttl升压asio icmp示例

问题描述:

当我使用升压asio icmp示例http://www.boost.org/doc/libs/1_40_0/doc/html/boost_asio/example/icmp/ping.cpp来ping某些IP地址时,我设置了一个小的ttl。 I set ttl to 1 in boost icmp example当我收到回复icmp数据包时,发现头中的标识符与PID(我在icmp请求数据包中给PID设置了标识符)并且标识符为零(icmp头中的类型为11)不匹配。但是当我设置一个ttl如128时,标识符在答复icmp头匹配PID。有谁知道为什么? 我会感谢您的帮助。icmp回复数据包中的标识符为零,当我设置icmp请求数据包中的小ttl升压asio icmp示例

我在http://www.zytrax.com/tech/protocols/tcp.html找到了答案。 当在icmp头中输入设置为11时,表示time_exceeded。 ICMP TIME EXCEEDED。 4-7级必须为零。