ICMP地址掩码请求与应答-软件无线电原理与应用第二版
6.3 ICMP地址掩码请求与应答I C M P地址掩码请求用于无盘系统在引导过程中获取自己的子网掩码( 3 . 5节)。系统广播它的I C M P请求报文(这一过程与无盘系统在引导过程中用R A R P获取I P地址是类似的)。无盘系统获取子网掩码的另一个方法是B O O T P协议,我们将在第1 6章中介绍。 I C M P地址掩码请求和应答报文的格式如图6 - 4所示。图6-4 ICMP地址掩码请求和应答报文I C M P报文中的标识符和序列号字段由发送端任意选择设定,这些值在应答中将被返回。这样,发送端就可以把应答与请求进行匹配。我们可以写一个简单的程序(取名为i c m p a d d r m a s k),它发送一份I C M P地址掩码请求报文,然后打印出所有的应答。由于一般是把请求报文发往广播地址,因此这里我们也这样做。目的地址(1 4 0 . 2 5 2 . 1 3 . 6 3)是子网1 4 0 . 2 5 2 . 1 3 . 3 2的广播地址(见图3 - 1 2)。 sun % icmpaddrmask 140.252.13.63 received mask = fffe0, from 140.252.13.33来自本机received mask = fffe0, from 140.252.13.35来自b s d i received mask = ffff0000, from 140.252.13.34来自s v r 4在输出中我们首先注意到的是,从s v r 4返回的子网掩码是错的。显然,尽管s v r 4接口已经设置了正确的子网掩码,但是S V R 4还是返回了一个普通的B类地址掩码,就好像子网并不存在一样。 svr4 % ifconfig emd0: flags=23 inet 140.252.13.34 netmask fffe0 broadcast 140.252.13.63 S V R 4处理I C M P地址掩码请求过程存在差错。我们用t c p d u m p命令来查看主机b s d i上的情况,输出如图6 - 5所示。我们用-e选项来查看硬件地址。图6-5发到广播地址的ICMP地址掩码请求注意,尽管在线路上什么也看不见,但是发送主机s u n也能接收到I C M P应答(带有上面“来自本机”的输出行)。这是广播的一般特性:发送主机也能通过某种内部环回机制收到一份广播报文拷贝。由于术语“广播”的定义是指局域网上的所有主机,因此它必须包括发送52使用TCP/IP详解,卷1:协议下载类型(17或18)代码(0)检验和序列号32位子网掩码标识符12字节
下载地址
用户评论