子网与子网掩码的介绍
一、什么是子网
IP地址由两部分组成,即网络号(Network ID)和主机号(Host ID)。网络号标识的是Internet上的一个子网,而主机号标识的是子网中的某台主机。子网就是基于某一类地址划分出来的更小的网络。
二、为什么要划分子网
Internet组织机构定义了五种IP地址,有A、B、C三类地址。A类网络有126个,每个A类网络可能有16777214台主机,它们处于同一广播域(广播域就是指网络中所有能接收到同样广播消息的设备的集合)。显然,同一广播域里面有这么多节点是不可能的,那么这样将会有很多IP地址没有分配出去而造成浪费。这就可以把基于某类的一个大的IP网络划分成更小的子网。就比如把我们的房间划分成了很多间,因为一个很大很大的房子就放一张床那是很浪费的,划分为很多间房子之后,我们就可以住进去很多人,这样既节约了空间,又给了每个人隐私,每个人打扫自己的房间,也便于管理。
三、什么是子网掩码
子网掩码就是划分子网的一个标志,通过子网掩码可以判断是否是在同一个网络里面。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。子网掩码的设定必须遵循一定的规则。与IP地址相同,子网掩码的长度也是32位,左边是网络位,用二进制数字“1”表示;右边是主机位,用二进制数字“0”表示。比如子网掩码是255.255.255.0,转换成二进制就为11111111.11111111.11111111.00000000 “1”有24个,那么二进制的IP地址从左往右的24位就为网络号,相同网络号则为同一网段。“0”有8个,则代表二进制的IP地址从右往左的8位为主机号,则这个网段里面最多共有256-2=254个主机,因为要减去网关和广播地址。
四、子网掩码与子网的关系
IP地址通过与子网掩码相与比较网络地址是否一致可以判断出是否属于同一子网,而子网则需要子网掩码来划分子网,标识网络地址和主机号。
五、子网和子网掩码如何划分
子网划分是借助于取走主机位,把这个取走的部分作为子网位.因此这个意味划分越多的子网,每个子网容纳的主机将越少。
子网掩码用于辨别IP地址中哪部分为网络地址,哪部分为主机地址,由1和0组成,长32位,全为1的位代表网络号.不是所有的网络都需要子网,因此就引入1个概念:默认子网掩码(default subnet mask).A类IP地址的默认子网掩码为255.0.0.0;B类的为255.255.0.0;C类的为255.255.255.0。
例如A类地址默认的子网掩码255.0.0.0:/8则代表A类地址的网络地址为IP二进制形式的前面8位,如IP地址为12.0.0.2的子网掩码为默认的125.0.0.0那么他的网络地址则为12.0.0.0。
B类默认的子网掩码255.255.0.0/16,C类地址默认的子网掩码255.255.255.0/24也都是同理的。
下面举个例子帮助了解子网和子网掩码的划分
实例一、假如我们学校申请到了一个B类地址:129.12.0.0/16。这样我们可用的主机数是2的16次方-2=65534(减去广播地址和网关地址)。
假设我们学校共有部门7个,则需要划分出7个不同的子网(假设这里的7个部门的主机数是一样的,并且分配给他们的是够用的)。那么2的n次方>=7,n的最小值为3.因此网络位需要向主机位借3位。那么就可以从129.12.0.0/16这个网段里面分出8个子网。
详细过程:
先将129.12.0.0/16用二进制表示
10000001.00001010.00000000.00000000/16
借4位后(可划分16个子网)
1、10000001.00001010.00000000.00000000/19 【192.12.0.0/19】
2、10000001.00001010.00100000.00000000/19 【192.12.32.0/19】
3、10000001.00001010.01000000.00000000/19 【192.12.64.0/19】
4、10000001.00001010.01100000.00000000/19 【192.12.96.0/19】
5、10000001.00001010.10000000.00000000/19 【192.12.128.0/19】
6、10000001.00001010.10100000.00000000/19 【192.12.160.0/19】
7、10000001.00001010.11000000.00000000/19 【192.12.192..0/19】
8、10000001.00001010.11100000.00000000/19 【192.12.224.0/19】
从中选取7个,每个部门分配一个即可。每个部门的可用主机数目为:
2的13次方8192-2=8190.
将B类地址168.195.0.0划分成7个子网
利用子网数来计算子网掩码
在求子网掩码之前必须先搞清楚要划分的子网数目,以及每个子网内的所需主机数目。
1)将子网数目转化为二进制来表示
2)取得该二进制的位数,为 N
3)取得该IP地址的类子网掩码,将其主机地址部分的的前N位置 1 即得出该IP地址划分子网的子网掩码。
这里划分了7个子网
则7=111
N=3
将B类地址168.195.0.0的子网掩码255.255.0.0的主机地址前3位置 1,得到
11111111.11111111.11100000.00000000
子网掩码即为255.255.224.0
即为划分成 7个子网的B类IP地址 168.195.0.0的子网掩码。
利用主机数来计算子网掩码
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的子网掩码。
下面列出各类IP地址所能划分出的所有子网,其划分后的主机和子网占位数,以及主机和子网的(最大)数目,注意要去掉保留的IP地址(即划分后有主机位或子网位全为“0”或全为“1”的):