ICMP:Internet控制报文协议

本文深入探讨了ICMP协议的关键特性,包括地址掩码请求和应答、时间戳请求和应答等请求-应答报文的工作原理。同时,分析了ICMP端口不可达差错的常见场景及原因,解释了在局域网广播UDP数据报时可能出现的网络拥堵问题。此外,还介绍了如何通过netstat命令查看ICMP报文类型,以及ICMP差错报文的生成规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • ICMP地址掩码请求和应答以及时间戳请求和应答。这些是典型的请求-应答报文。二者在ICMP报文中都有标识符合序列号。发送端应用程序在标识字段内存入一个唯一的数值,以区别于其他进程的应答。序列号字段使得客户程序可以在应答和请求之间进行匹配。
  • ICMP端口不可达差错,一种常见的ICMP差错。对返回的ICMP差错信息进行了分析:导致差错的IP数据报的首部以及后续8个字节。这个信息对应ICMP差错的接收方来说是必要的,可以更多地了解导致差错的原因。这是因为TCP和UDP都在它们的首部前8个字节中存入源端口号和目的端口号。
  • 按时间先后的tcpdump输出。

1. 如下列出了5种不发送ICMP差错报文的特殊条件。如果这些条件不满足而我们又在局域网上向一个似乎不存在的端口号发送一份广播UDP数据报,这时会发生什么样的情况?

  • 如果在局域网线上有一百个主机,每个都可能在同一时刻发送一个ICMP端口不可达的报文。很多报文的传输都可能发生冲突(如果使用的是以太网),这将导致1秒或2秒的时间里网络不可用。

2. 阅读RFC[Braden 1989a],注意生成一个ICMP端口不可达差错是否为“必须”,“应该” 或者 “可能”。这些信息所在的页码和章节是多少?

  • 它是一个“should”。

3. 阅读RFC 1349 [Almquist 1992],看看IP的服务类型字段(见图3-2)是如何被ICMP设置的

  • 如我们在图3-2所指出的,发送一个ICMP差错总是讲TOS置为0。发送一个ICMP查询请求可以将TOS置为任何值,但是发送相应的应答必须将TOS置为相同的值。

4. 如果你的系统提供netstat命令,请用它来查接收和发送的ICMP报文类型。

  • netstat-s是查看每个协议统计数据的常用方法。在一台收到了4800万个IP数据报的SunOS4.1.1主机(gemini)上,ICMP统计为:

  • 21个类型为10的报文是SunOS4.1.1不支持的路由器的请求。也可以使用SNMP,有些系统,如Solaris2.2,可以生产使用SNMP变量名的netstat-s的输出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值