前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >速读原著-TCP/IP(ICMP地址掩码请求与应答)

速读原著-TCP/IP(ICMP地址掩码请求与应答)

作者头像
cwl_java
发布2020-03-03 10:38:52
7780
发布2020-03-03 10:38:52
举报
文章被收录于专栏:cwl_Javacwl_Java

第6章 ICMP:Internet控制报文协议

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所示。

在这里插入图片描述
在这里插入图片描述

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)。

在这里插入图片描述
在这里插入图片描述

在输出中我们首先注意到的是,从 s v r 4返回的子网掩码是错的。显然,尽管 s v r 4接口已经设置了正确的子网掩码,但是 S V R 4还是返回了一个普通的 B类地址掩码,就好像子网并不存在一样。

在这里插入图片描述
在这里插入图片描述

我们用t c p d u m p命令来查看主机b s d i上的情况,输出如图 6 - 5所示。我们用-e选项来查看硬件地址。

在这里插入图片描述
在这里插入图片描述

注意,尽管在线路上什么也看不见,但是发送主机 s u n也能接收到I C M P应答(带有上面“来自本机”的输出行)。这是广播的一般特性:发送主机也能通过某种内部环回机制收到一份广播报文拷贝。由于术语“广播”的定义是指局域网上的所有主机,因此它必须包括发送主机在内(参见图2 - 4,当以太网驱动程序识别出目的地址是广播地址后,它就把分组送到网络上,同时传一份拷贝到环回接口)。

接下来,b s d i广播应答,而 s v r 4却只把应答传给请求主机。通常,应答地址必须是单播地址,除非请求端的源 I P地址是0 . 0 . 0 . 0。本例不属于这种情况,因此,把应答发送到广播地址是B S D / 3 8 6的一个内部差错。

R F C规定,除非系统是地址掩码的授权代理,否则它不能发送地址掩码应答(为了成为授权代理,它必须进行特殊配置,以发送这些应答。参见附录 E)。但是,正如我们从本例中看到的那样,大多数主机在收到请求时都发送一个应答,甚至有一些主机还发送差错的应答。

最后一点可以通过下面的例子来说明。我们向本机 I P地址和环回地址分别发送地址掩码请求:

在这里插入图片描述
在这里插入图片描述

上述两种情况下返回的地址掩码对应的都是环回地址,即 A类地址1 2 7 . 0 . 0 . 1。还有,我们从图2 - 4可以看到,发送给本机 I P地址的数据报( 1 4 0 . 2 5 2 . 1 2 . 3 3)实际上是送到环回接口。

I C M P地址掩码应答必须是收到请求接口的子网掩码(这是因为多接口主机每个接口有不同的子网掩码),因此两种情况下地址掩码请求都来自于环回接口。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-03-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第6章 ICMP:Internet控制报文协议
    • 6.3 ICMP地址掩码请求与应答
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档