子网掩码及子网划分

子网掩码

什么是子网掩码?

  1. 子网掩码是一个32位的2进制数, 其对应网络地址的所有位都置为1,对应于主机地址的所有位都置为0。
  2. 子网掩码一定是配合IP地址来使用的。
  3. 子网掩码可以通过与IP地址“与”计算,分离出IP地址中的网络地址和主机地址,用于判断该IP地址是在局域网上,还是在广域网上。
  4. 子网掩码一般用于将网络进一步划分为若干子网,以避免主机过多而拥堵或过少而IP浪费。

子网掩码的作用

它的主要作用有两个,一是用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。二是用于将一个大的IP网络划分为若干小的子网络。

子网掩码的组成

  1. 同IP地址一样,子网掩码是由长度为32位二进制数组成的一个地址。
  2. 子网掩码32位与IP地址32位相对应,IP地址如果某位是网络地址,则子网掩码为1,否则为0。
  3. 举个栗子:如:11111111.11111111.11111111.00000000

子网掩码的表示方法

  1. 点分十进制表示法
    二进制转换十进制,每8位用点号隔开
    例如:子网掩码二进制11111111.11111111.11111111.00000000,表示为255.255.255.0

  2. CIDR斜线记法
    IP地址/n
    例1:192.168.1.100/24,其子网掩码表示为255.255.255.0,二进制表示为11111111.11111111.11111111.00000000
    例2:172.16.198.12/20,其子网掩码表示为255.255.240.0,二进制表示为11111111.11111111.11110000.00000000
    不难发现,例1中共有24个1,例2中共有20个1,所以n是这么来的。运营商ISP常用这样的方法给客户分配IP地址。

子网掩码的分类

  1. 缺省子网掩码
    缺省子网掩码即未划分子网,对应的网络号的位都置1,主机号都置0。
    A类网络缺省子网掩码:255.0.0.0
    B类网络缺省子网掩码:255.255.0.0
    C类网络缺省子网掩码:255.255.255.0
  2. 自定义子网掩码
    自定义子网掩码是将一个网络划分为几个子网,需要每一段使用不同的网络号或子网号,实际上我们可以认为是将主机号分为两个部分:子网号、子网主机号。

形式如下:
未做子网划分的IP地址:网络号+主机号
做子网划分后的IP地址:网络号+子网号+子网主机号

也就是说IP地址在划分子网后,以前的主机号位置的一部分给了子网号,余下的是子网主机号。子网掩码是32位二进制数,它的子网主机标识用部分为全“0”。利用子网掩码可以判断两台主机是否在同一子网中。若两台主机的IP地址分别与它们的子网掩码相“与”后的结果相同,则说明这两台主机在同一子网中。

子网划分

子网划分的定义

子网划分是通过借用IP地址中若干位主机地址来充当子网的网络地址,从而将原网络划分为若干子网。
划分子网时,随着子网地址借用主机位数的增多,子网的数目随之增加,但每个子网中的可用主机数逐渐减少。

比如一个C类网络,未划分子网时,子网掩码为255.255.255.0,二进制表示 11111111.11111111.11111111.00000000
借用2位主机位,产生2^2个子网,可用子网数为2^2-2个,每个子网有2^6个主机地址,可用主机地址为2^6-2个。
借用3位主机位,产生2^3个子网,可用子网数位2^3-2个,每个子网有2^5个主机地址,可用主机地址为2^5-2个
……
根据子网ID借用的主机位数,我们可以计算出划分的子网数、掩码、每个子网主机数,列表如下:


为什么子网数和主机数要减2?

子网位全0,代表的是网络号;子网位全1,代表的是广播地址。

既然随着子网的不断划分,每个子网的可用主机数不断减少,那子网划分的意义何在?

每个子网划分后,都要留出在该子网下全0和全1的IP地址,这些地址是要作为广播地址或其他用途的,主机不能用。所以看上去浪费了一些地址。
但这种浪费是值得的。最明显的一个特征是,和虚拟局域网一样,子网划分避免了广播风暴。广播只在各自子网内进行,不会影响到其他子网。另外一个是有效避免通信拥堵,好比一条路上我们为什么要划分机动车道和人行道。机动车道和人行道间还有隔离带,隔离带不是浪费和占用马路空间吗?

子网划分后子网掩码的计算

1. 根据子网数来计算
在求子网掩码之前必须先搞清楚要划分的子网数目,以及每个子网内的所需主机数目。
1) 将子网数目转化为二进制来表示
2) 取得该二进制的位数,为 N
3) 取得该IP地址的类子网掩码,将其主机地址部分的前N位置1 即得出该IP地址划分子网的子网掩码。

如欲将B类IP地址168.195.0.0划分成27个子网:
1)27=11011
2)该二进制为五位数,N = 5
3)将B类地址的子网掩码255.255.0.0的主机地址前5位置1(B类地址的主机位包括后两个字节,所以这里要把第三个字节的前5位置1),得到 255.255.248.0
即为划分成27个子网的B类IP地址 168.195.0.0的子网掩码(实际上是划成了32-2=30个子网,只不过我们用其中的27个)。

2.根据主机数计算
1)将主机数目转化为二进制来表示
2)如果主机数小于或等于254(注意去掉保留的两个IP地址),则取得该主机的二进制位数,为 N,这里肯定N<8。如果大于254,则 N>8,这就是说主机地址将占据不止8位。
3)使用255.255.255.255来将该类IP地址的主机地址位数全部置1,然后从后向前的将N位全部置为 0,即为子网掩码值。

如欲将B类IP地址168.195.0.0划分成若干子网,每个子网内有主机700台:
1) 700=1010111100
2)该二进制为十位数,N = 10
3)将该B类地址的子网掩码255.255.0.0的主机地址全部置1,得到255.255.255.255
然后再从后向前将后10位置0,即为: 11111111.11111111.11111100.00000000
即255.255.252.0。这就是该欲划分成主机为700台的B类IP地址168.195.0.0的子网掩码。

猜你喜欢

转载自www.cnblogs.com/zhimao/p/12409399.html