子网掩码的两种简便算法

ip地址是32位的二进制数值,用于在tcp/ip通讯协议中标记每台计算机的地址。通常我们使用点式十进制来表示,如192.168.0.5等等。
每个ip地址又可分为两部分。即网络号部分和主机号部分:网络号表示其所属的网络段编号,主机号则表示该网段中该主机的地址编号。按照网络规模的大小,ip地址可以分为a、b、c、d、e五类,其中a、b、c类是三种主要的类型地址,d类专供多目传送用的多目地址,e类用于扩展备用地址。a、b、c三类ip地址有效范围如下表:

类别 网络号 /占位数 主机号 /占位数 用途
a 1~126 / 8 0~255 0~255 1~254 / 24 国家级
b 128~191 0~255 / 16 0~255 1~254 / 16 跨过组织
c 192~223 0~255 0~255 / 24 1~254 / 8 企业组织

随着互连网应用的不断扩大,原先的ipv4的弊端也逐渐暴露出来,即网络号占位太多,而主机号位太少,所以其能提供的主机地址也越来越稀缺,目前除了使用nat在企业内部利用保留地址自行分配以外,通常都对一个高类别的ip地址进行再划分,以形成多个子网,提供给不同规模的用户群使用。
这里主要是为了在网络分段情况下有效地利用ip地址,通过对主机号的高位部分取作为子网号,从通常的网络位界限中扩展或压缩子网掩码,用来创建某类地址的更多子网。但创建更多的子网时,在每个子网上的可用主机地址数目会比原先减少。
子网掩码是标志两个ip地址是否同属于一个子网的,也是32位二进制地址,其每一个为1代表该位是网络位,为0代表主机位。它和ip地址一样也是使用点式十进制来表示的。如果两个ip地址在子网掩码的按位与的计算下所得结果相同,即表明它们共属于同一子网中。
在计算子网掩码时,我们要注意ip地址中的保留地址,即“ 0”地址和广播地址,它们是指主机地址或网络地址全为“ 0”或“ 1”时的ip地址,它们代表着本网络地址和广播地址,一般是不能被计算在内的。
下面就来以实例来说明子网掩码的算法:
对于无须再划分成子网的ip地址来说,其子网掩码非常简单,即按照其定义即可写出:如某b类ip地址为 10.12.3.0,无须再分割子网,则该ip地址的子网掩码为255.255.0.0。如果它是一个c类地址,则其子网掩码为 255.255.255.0。其它类推,不再详述。下面我们关键要介绍的是一个ip地址,还需要将其高位主机位再作为划分出的子网网络号,剩下的是每个子网的主机号,这时该如何进行每个子网的掩码计算。
一、利用子网数来计算
在求子网掩码之前必须先搞清楚要划分的子网数目,以及每个子网内的所需主机数目。
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,得到 255.255.248.0
即为划分成 27个子网的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”的):
a类ip地址:
子网位 /主机位 子网掩码 子网最大数 /主机最大数
2/22 255.192.0.0 2/4194302
3/21 255.224.0.0 6/2097150
4/20 255.240.0.0 14/1048574
5/19 255.248.0.0 30/524286
6/18 255.252.0.0 62/262142
7/17 255.254.0.0 126/131070
8/16 255.255.0.0 254/65536
9/15 255.255.128.0 510/32766
10/14 255.255.192.0 1022/16382
11/13 255.255.224.0 2046/8190
12/12 255.255.240.0 4094/4094
13/11 255.255.248.0 8190/2046
14/10 255.255.252.0 16382/1022
15/9 255.255.254.0 32766/510
16/8 255.255.255.0 65536/254
17/7 255.255.255.128 131070/126
18/6 255.255.255.192 262142/62
19/5 255.255.255.224 524286/30
20/4 255.255.255.240 1048574/14
21/3 255.255.255.248 2097150/6
22/2 255.255.255.252 4194302/2
b类ip地址:
子网位 /主机位 子网掩码 子网最大数 /主机最大数
2/14 255.255.192.0 2/16382
3/13 255.255.224.0 6/8190
4/12 255.255.240.0 14/4094
5/11 255.255.248.0 30/2046
6/10 255.255.252.0 62/1022
7/9 255.255.254.0 126/510
8/8 255.255.255.0 254/254
9/7 255.255.255.128 510/126
10/6 255.255.255.192 1022/62
11/5 255.255.255.224 2046/30
12/4 255.255.255.240 4094/14
13/3 255.255.255.248 8190/6
14/2 255.255.255.252 16382/2
c类ip地址:
子网位 /主机位 子网掩码 子网最大数 /主机最大数
2/6 255.255.255.192 2/62
3/5 255.255.255.224 6/30
4/4 255.255.255.240 14/14
5/3 255.255.255.248 30/6
6/2 255.255.255.252 62/2

可变长子网掩码和IP子网的划分

子网划分的公式:
划分子网的个数: 2^n-2,n是网络位向主机位所借的位数
每个子网的主机数: 2^m-2,m是借位后主机所剩的位数
划分子网后的子网掩码: 在原子网掩码的基础上借了几个主机位,就添加几个”1″,这就是变长子网掩码VLSM(Variable-Length Subnet Masks)
子网划分的步骤:
1、确定IP地址结构(属于A、B、C、D哪一类)
2、确定划分几个子网,要借几位主机位,从而确定子网掩码的位数
3、确定子网号,进而得到每个子网的网络地址
4、确定每个子网中可用的主机数,进而确定可用的IP地址范围和广播地址
例如:将A类地址10.0.0.0/8划分为5个子网。
答:根据子网划分的公式可以得出2^3-2=6>5,正好满足题目的要求,所以网络位须向主机位借3位,最后得出的网段有10.0.0.0—10.31.255.255、10.32.0.0—10.63.255.255、10.64.0.0—10.95.255.255、10.96.0.0—10.127.255.255、10.128.0.0—10.159.255.255、10.160.0.0—10.191.255.255、10.192.0.0—10.223.255.255、10.224.0.0—10.225.225.225,其中10.0.0.0、10.32.0.0、10.64.0.0、10.96.0.0、10.128.0.0、10.160.0.0、10.192.0.0、10.224.0.0是各个子网的网络号,10.31.255.255、10.63.255.255、10.95.255.255、10.127.255.255、10.159.255.255、10.191.255.255、10.223.255.255、10.225.225.225是各个子网的广播地址,其子网掩码应该是8+3=11(255.224.0.0)。
提示:在Cisco路由器上可以利用命令”ip subnet-zero”来使用子网部分全为0的子网,命令为:Routers(config)#ip
subnet-zero

发表回复