下图描绘了一个假想的互联网的一部分,它由三个网络组成
file

  1. 一个局域网 其网络地址为220.3.6.0(C类)
  2. 一个局域网 其网络地址为134.18.0.0(B类)
  3. 一个交换公寓网(C类),如帧中继或ATM,它可以连接很多个路由器。在这里只描绘了三个路由器,一个连接到左边的局域网,另外一个连接到右边的局域网,还有一个连接到广域网。该广域网通往互联网其他部分。

网络地址

从前面三个例子可以看出,给定任意一个地址就可以求出有关该地址块的所有信息。
其中首地址,也就是网络地址(network address)尤其重要,因为它被用来分组选择路由,使其能够达到目的网络。
假设一个互联网由m个网络组成,且一个路由器有m个接口。当来自任意源主机的一个分组到达路由器时,路由器就要知道应当将这个分组发往哪个网络,也就是说路由器需要知道这个分组应当从哪个接口发送出去。当分组到达目的网络后会采用另一种策略抵达它的目的主机
下图说明了这一思想。在得知了网络地址之后,路由器咨询它的路由表以找出相应的借口将分组转发出去。
file
网络地址实际上就是网络的标识,所有的网络都要通过自己的网络地址来识别。

网络掩码

因特网上的路由器通常会用一种算法从分组的目的地址中提取其网络地址。要做到这一点,我们需要有一个网络掩码。
分类地址中的网络掩码(network mask)或者叫默认掩码(default mask)是一个32位的数,这个数的左边n位全部置1,右边的32-n位全部置0 。
因为在分类地址中,不同的类别有不同的n值。所以我们一共有三种网络掩码,如图所示:
file
要从一个分组的目的地址中提取其网络地址,路由器使用了与运算。在用默认掩码对目的地址(或地址块中的任一地址)进行与运算后,得到的结果就是网络地址。如图所示:
file
路由器是用二进制(或十六进制表示法)的地址及掩码进行与运算的。
这个默认掩码也可用来求该地址块中的地址数及其末地址。

例:
路由器接收到一个目的地址为201.24.67.32的分组,请说明路由器如何才能找出这个分组的目的网络地址。

我们假设路由器首先要找出目的地址的类别,然后用相应的默认掩码对该地址进行处理(实际上路由器使用的是另外一种策略)
因为地址的类别是B。我们假设对应的网络掩码是255.255.0.0
路由器用这个掩码求的目的网络地址
这里注意是用的位与运算,可以参考https://www.yuofyou.cn/20211123/2478.html

位与运算使用以下原则:

  1. 如果两个字节中至少有一个是0或255,那么就选择较小的那个字节(如果相等,则任选一个)
  2. 如果两个字节都不等于0或255,我们可以把这两个字节分别写成具有八个项的多项式之和,且每一项都是2的乘方,然后我们选择各对应的项中较小的(如果相等则任选一个),最后再把选出的项累加起来就得到了结果。
    目的地址 201.24.67.32
    默认掩码 255.255.0.0
    网络地址 201.24.0.0
最后修改:2022 年 03 月 08 日
如果觉得我的文章对你有用,请随意赞赏