IP地址、子网掩码与IP寻址【计算机网络】


I. IP地址的定义与组成

网络层的寻址地址,按IPv4长度为32比特。其中,整个IP地址又分为网络部分和主机部分,网络址

指明了一个子网的前缀(内中有很多主机),主机地址指明了具体在一个网络中的某个主机,因此网

络地址往往是固定的,主机地址不固定,用来分配给各个主机。

例如一个IP地址为: 192.168.1.1, 且前24位为网络地址,则后8位为主机地址,即网络地址:

192.168.1.0、主机地址:0.0.0.1


II. A、B、C、D和E类网络

A类网络,前8位为网络地址,后24位为主机地址,子网掩码为255.0.0.0,支持224 – 2台主机,用

于规模特别大的网络使用,B类地址分配给一般的中型网络,C类地址分配给小型网络。

B类网络, 前16位为网络地址,后16位为主机地址,子网掩码为255.255.0.0,支持216 – 2台主机,

用于一般的中型网络。

C类网络, 前24位为网络地址,后8位为主机地址,子网掩码为255.255.255.0,支持28 – 2台主机,

用于给小型网络。

D类网络用于多点广播;E类网络因特网保留。


III. 子网掩码

子网掩码是一个32位的2进制数,(抓住主谓宾,它就是一个数) 它必须结合IP地址一起使用。

其中,子网掩码二进制中的1的个数代表了网络位数,0的个数代表了主机位数,通过子网掩码的1

和0,进而确定一个子网的网络部分和主机部分的长度。

子网掩码有两个作用:

(1) 用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是

在远程网上;

(2) 用于将一个大的IP网络划分为若干小的子网络

但对于我们学习而言,认识到子网掩码就是将某个IP地址划分成“网络地址”和“主机地址”两部分就

足够了。即给定一个IP地址,通过子网掩码,我们能够确定出它的主机部分是什么,网络部分是什

么,各自有多长?这些通过子网掩码与IP地址的运算可以实现。(下一部分)


IV. 子网掩码与IP地址的计算

子网掩码与IP地址的计算主要有四种类型,以IP为192.168.1.1,子网掩码为255.255.255.0 为例子:

IV.I 计算IP地址的网络地址

将IP地址与子网掩码做与运算,即可实现。

1 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1

&

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

=

1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0

从而得到网络地址为:

1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0

即192.168.1.0 (即前24位为网络地址,后8位为主机地址)


IV.II 广播地址的计算

网络地址不变,主机地址全部置为1,即得到广播地址。

继续前例,192.168.1.1 = 11000000 10101000 00000001 00000001

保留前24位网络地址,将最后8位全部置为1,得到广播地址:

11000000 10101000 00000001 11111111 = 192.168.1.255


IV.III 网段地址范围的计算

网络地址 + 1是第一个主机地址, 广播地址 – 1 是最后一个主机地址

于是有:

(第一个)起始主机地址: 192.168.1.0 + 1 = 192.168.1.1

(最后一个)末尾主机地址: 192.168.1.255 – 1 = 192.168.1.254

该子网地址范围为: [192.168.1.1, 192.168.1.254]


IV.IV 最大主机数量与可用主机数量的计算

最大主机数 = 2主机位数

可用主机数 = 最大主机数 – 2 (减去广播地址和网络地址)

本例: 最大主机数 = 28 = 256

可用主机数 = 256 – 2 = 254


IV.V 子网掩码自身的计算

子网掩码中1和0的个数可以确定一个子网的网络部分和主机部分的位数,因此当得知子网IP地址中

的网络部分和主机部分的位数,则可以反求出子网掩码:

例题: 一个局域网中的某台主机的 IP 地址是 176.68.160.12,使用 22 位作为网络地址,那么该局

域网的子网掩码是 ( )

a) 255.255.255.0 b) 255:255.248.0 c) 255.255.252.0 d) 255.255.0.0

于是,22位作为网络地址,说明子网掩码的前22位为1,后10位 0,从而确定选C。


V. IP寻址的过程

V.I 通过子网掩码

(1) 从收到的数据报的首部提取目的IP地址D。

(2) 先判断是否为直接交付。对路由器直接相连的网络逐个进行检查:用各网络的子网掩码和D逐

位相“与”,看结果是否和相应的网络地址匹配。 若匹配,则把分组进行直接交付(当然还需要把D

(3) 若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由

器;否则,执行(4)

(4) 对路由表中的每一行(目的网络地址,子网掩码,下一跳地址),用其中的子网掩码和D逐位

相“与”(AND操作),其结果为N。若N与该行的目的网络地址匹配,则把数据报传送给该行指明

的下一跳路由器;否则,执行(5)。

(5) 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由;否则,执行(6)。


V.II 使用 CIDR(无类别域间路由) 查找路由的算法:

(1) 从 ISP 收到的数据报中提取目的 IP 地址 D;

(2) 把 D 分别和 ISP 的路由器的路由表中已有的各项的掩码逐位相 “与”,将所得的逐位 AND 操作的

结果按顺序写出;

择匹配地址中更具体的一个。

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/290736.html

(0)
上一篇 2022年10月7日
下一篇 2022年10月7日

发表回复

登录后才能评论