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
B 128~191 /16
C 192~223  /24
随着互连网应用的不断扩大,原先的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.22
4    6 /30
4 /4 255.255.255.240 14 /14
每个ip地址由网络地址组成5 /3 255.255.255.248 30 /6
6 /2 255.255.255.252 62 /2
再根据CCNA中会出现的题目给大家举个例子:
首先,我们看一个考试中常见的题型:一个主机的IP地址是202.112.14.137,掩码是255.255.255.224,要求计算这个主机所在网络的网络地址和广播地址。
常规办法是把这个主机地址和子网掩码都换算成二进制数,两者进行逻辑与运算后即可得到网络地址。其实大家只要仔细想想,可以得到另一个方法:255.255.255.224的掩码所容纳的IP地址有256-224=32个(包括网络地址和广播地址),那么具有这种掩码的网络地址一定是32的倍数。而网络地址是子网IP 地址的开始,广播地址是结束,可使用的主机地址在这个范围内,因此略小于137而又是32的倍数的只有128,所以得出网络地址是202.112.14.128。而广播地址就是下一个网络的网络地址减1。而下一个32的倍数是160,因此可以得到广播地址为202.112.14.159。可参照下表来理解本例。
子网络2进制子网络域数2进制主机域数的范围
第1个子网络000 00000 到11111 . 0 到.31
第2个子网络001 00000 到11111 . 32到.63
第3个子网络010 00000 到11111 . 64到.95
第4个子网络011 00000 到11111 . 96到.127
第5个子网络100 00000 到11111 . 128到.159
第6个子网络101 00000 到11111 . 160到.191
第7个子网络110 00000 到11111 . 192到.223
第8个子网络111 00000 到11111 . 224到.255
子网掩码是子网络地址中最大的网络地址
CCNA考试中,还有一种题型,要你根据每个网络的主机数量进行子网地址的规划和计算子网掩码。这也可按上述原则进行计算。比如一个子网有10台主机,那么对于这个子网需要的IP地址是:
10+1+1+1=13
注意:加的第一个1是指这个网络连接时所需的网关地址,接着的两个1分别是指网络地址和广播地址。因为13小于16(16等于2的4次方),所以主机位为4位。而
256-16=240
所以该子网掩码为255.255.255.240。
如果一个子网有14台主机,不少人常犯的错误是:依然分配具有16个地址空间的子网,而忘记了给网关分配地址。这样就错误了,因为:
14+1+1+1=17
17大于16,所以我们只能分配具有32个地址(32等于2的5次方)空间的子网。这时子网掩码为:255.255.255.224。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。