ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
本章对每个系统都必须包括的Internet控制报文协议进行了讨论。图6-3列出了所有的ICMP报文类型,其中大多数都将在以后的章节中加以讨论。 我们详细讨论了ICMP地址掩码请求和应答以及时间戳请求和应答。这些是典型的请求—应答报文。二者在ICMP报文中都有标识符和序列号。发送端应用程序在标识字段内存入一个唯一的数值,以区别于其他进程的应答。序列号字段使得客户程序可以在应答和请求之间进行匹配。 我们还讨论了ICMP端口不可达差错,一种常见的ICMP差错。对返回的ICMP差错信息进行了分析:导致差错的IP数据报的首部及后续8个字节。这个信息对于ICMP差错的接收方来说是必要的,可以更多地了解导致差错的原因。这是因为TCP和UDP都在它们的首部前8个字节中存入源端口号和目的端口号。 最后,我们第一次给出了按时间先后的tcpdump输出,这种表示方式在本书后面的章节中会经常用到。 #### **习题** 6.1 在6.2节的末尾,我们列出了5种不发送ICMP差错报文的特殊条件。如果这些条件不满足而我们又在局域网上向一个似乎不存在的端口号发送一份广播UDP数据报,这时会发生什么样的情况? 6.2 阅读RFC [Braden 1989a],注意生成一个ICMP端口不可达差错是否为“必须”,“应该”或者“可能”。这些信息所在的页码和章节是多少? 6.3 阅读RFC 1349 [Almquist 1992],看看IP的服务类型字段(见图3-2)是如何被ICMP设置的? 6.4 如果你的系统提供netstat命令,请用它来查看接收和发送的ICMP文类型。