网络号与主机号的计算以及子网的划分
当前使用的IP地址有4个字节(32)组成,即IPV4编码方式。每个IP地址包换两部分:网络号和主机号。当分配给主机号的二进制位越多,则能标识的主机数就越多,相应地能标识的网络数就越少,反之亦然。
IP地址分为五类,A类保留给政府机构,B类分配给中等规模的公司,C类分配给任何需要的人,D类用于组播,E类用于实验,各类可容纳的地址数目不同。A、B、C三类IP地址的特征:当将IP地址写成二进制形式时,A类地址的第一位总是0,B类地址的前两位总是10,C类地址的前三位总是110。
给出一个IP地址,我们可以通过子网掩码确定这个IP地址的网络号和主机号。
子网掩码的作用就是将某个IP地址划分成网络地址和主机地址两部分。
例如:有一个C类地址为: 192.9.200.13, 其缺省的子网掩码为: 255.255.255.0
则它的网络号和主机号可按如下方法得到:
① IP地址 192.9.200.13 转换为二进制11000000 00001001 11001000 00001101
② 子网掩码255.255.255.0 转换为二进制11111111 11111111 11111111 00000000
③ 将两个二进制数逻辑与(AND)运算后得出的结果即为网络部分
11000000 00001001 11001000 00001101
AND 11111111 11111111 11111111 00000000
-------------------------------------------------------------
11000000 00001001 11001000 00000000
= 192 . 9 . 200 . 0
即网络号为192.9.200.0
④将子网掩码取反再与IP地址逻辑与(AND)后得到的结果即为主机部分
11000000 00001001 11001000 00001101
AND 00000000 00000000 00000000 11111111
------------------------------------------------------------
00000000 00000000 00000000 00001101
= 0 . 0 . 0 . 13
即主机号为13(或者0.0.0.13)。
已知192.168.1.133、255.255.255.0,这个子网掩码是C类地址的默认的子网掩码,在使用这个掩码时,这个IP地址并没有划分子网,将其转换为8位二进制数,其中的1所的对应的部分就是网络号,而0所对应的部分就是主机号。根据计算方法,192.168.1.0就是网络号,0.0.0.133就是主机号。同时根据定义,主机号位全为一的地址为此网段的广播地址可知,此时的广播地址为192.168.1.255。此种情况是最常见的。
下面看下将网段划分子网后的情况,如:已知192.168.1.133、255.255.255.192.判断网络号,主机号和广播地址。
我们来看掩码255.255.255.192,将其转换成二进制后和255.255.255.0对比可发现,前掩码的前24位没有变化,只是在原来表示主机号的部分头两位变成了1。
我们把IP地址中的前24位(192.168.1)不看,因为前24位对应掩码没有变化它们始终表示网络号。
按照子网掩码的定义,子网掩码1所对应的位为网络号位,而0所对应的位为主机号位,(二进制一位有0和1两种表示,那么占用了两位就有2*2=4种表示,这里占用了2位,也就是说我们将原有的192.168.1.0这个网络分成了四份,即4个子网)这四段的网络号分别是00000000、01000000、10000000、11000000,现在我们将它们转换成10进制就分别是0、64、128、192,现在把前24位加进来。
这四段网络分别是192.168.1.0~192.168.1.63、
192.168.1.64~192.168.1.127
192.168.1.128~192.168.1.191
192.168.1.192~192.168.1.255
现在我们来看广播地址,既然我们把一个网段分成了四份,它就应该有4个广播地址。广播地址的定义是主机位全位1的地址就是广播地址。
所以这四个网段的广播地址末八位就是00111111、01111111、10111111、11111111,转换成10进制分别为63、127、191、255。加上原来的网络号位,广播地址就是
192.168.1.63
192.168.1.127
192.168.1.191
192.168.1.255
四个网段中刨除网络地址和广播地址中间的部分就是可用的主机IP地址了。
通过以上分析方法可知192.168.1.133这个IP地址的网络号是192.168.1.128,主机号是0.0.0.5,广播地址是192.168.1.191。
根据以上分析和计算方法,子网划分建议按以下步骤和实例计算子网掩码。
1、将要划分的子网数目转换为2的m次方。如要分8个子网,8=23。
2、取上述要划分子网数的2m的幂m。如23,即m=3。
3、将上一步确定的幂m按高序占用主机地址m位后转换为十进制。
如m为3 则是11100000,转换为十进制为224,即为最终确定的子网
掩码。如果是C类网,则子网掩码为255.255.255.224;如果是B类网,
则子网掩码为255.255.224.0;如果是A类网,则子网掩码为255.224.0.0。
在这里,子网个数n与占用主机地址位数m有如下等式成立:2m=n。
根据这些原则,将一个C类网络分成4个子网。若我们用的网络号为192.9.200.0,则该C类网内的主机IP地址就是192.9.200.1~192.9.200.254
(因为全“0”和全“1”的主机地址有特殊含义,不作为有效的IP地址)
例:学校新建5个机房,每个房间有30台机器,如果给定一C类网络地址:192.168.1.0,问如何将其划分为5个子网,子网掩码该如何设置?
答:23 =8(大于5的最小的2的整幂次数),取23的幂,即3,即占用了主机号中的高3位即为11100000,转换为十进制为224,所以该地址为C类地址的子网掩码应该设置为255.255.255.192。各机房IP和子网掩码配置如下(已经去掉广播地址和网络地址):
机房号 子网掩码 IP地址范围
机房1 255.255.255.224 192.168.1.1~192.168.1.30
机房2 255.255.255.224 192.168.1.33~192.168.1.62
机房3 255.255.255.224 192.168.1.65~192.168.1.94
机房4 255.255.255.224 192.168.1.97~192.168.1.126
机房5 255.255.255.224 192.168.1.129~192.168.1.158
1.主机地址 192.15.2.160 所在的网络是_______
A.192.15.2.64/26 B.192.15.2.128/26
C.192.15.2.96/26 D.192.15.2.192/26
2.路由器收到一个 IP 数据包,其目标地址为 202.31.17.4,与该地址匹配的子网是______
A. 202.31.0.0/21 B. 202.31.16.0/20
C.202.31.8.0/22 D.202.31.20.0/22
3.某公司的网络地址为 192.168.1.0,要划分成 5 个子网,每个子网最多 20 台主机, 则适用的子网掩码是__________
A.255.255.255.192 B.255.255.255.240
C.255.255.255.224 D.255.255.255.248
4.设有两个子网 210.103.133.0/24 和210.103.130.0/24,如果进行路由汇聚,得到的网 络地址是 ________
A.210.103.128.0/21 B.210.103.128.0/22
C.210.103.130.0/22 D.210.103.132.0/20
解:
1.思路:这主要是看该地址同一网段上的地址.
方法:160 二进制 10100000
128 二进制10000000 即可看出网络号是26位,那么子网掩码就是
11111111.11111111.1111111.11000000
将该子网掩码与主机地址进行与运算,即可得到该网段.即192.15.2.128
注:其它算法是类似的.
2.思路:将目标IP地址与子网掩码进行与运算.
方法:202.31.17.4二进制 11001010.00011111.00010001.00000100
202.31.16.0/20子网掩码 11111111.11111111.11110000.00000000
将该子网掩码与目标IP地址进行与运算.即可得到其IP,即202.31.16.0
注:例如:202.31.20.0/22子网掩码11111111.11111111.11111100.00000000
目标地址:202.31.17.4二进制 11001010.00011111.00010001.00000100
进行与运算后结果为11001010.00011111.00010000.00000000 即202.31.16.0结果与上面是一样的.其它的算法我就不写了,方法是一样的.
3.思路:IP由网络号,子网号,主机号组成.
方法:2^2-2<5<2^3-2可以看出该公司要划分5个子网,必须有3个子网号(子网地址),又由这是个C类地址,所以主机号是5位.即它的子网掩码是11111111.11111111.11111111.11100000 即255.255.255.224
4.思路:将两个子网进行与运算.
方法:210.103.133.0二进制 11010010.01100111.10000101.00000000
210.103.130.0 二进制 11010010.01100111.10000010.00000000
将这两个子网进行与运算得到结果,即210.103.128.0.
知道ip地址和子网掩码后可以算出:
1、 网络地址
2、 广播地址
3、 地址范围
4、 本网有几台主机
例1:下面例子IP地址为192•168•100•5 子网掩码是255•255•255•0。算出网络地址、广播地址、地址范围、主机数。
一)分步骤计算
1) 将IP地址和子网掩码换算为二进制,子网掩码连续全1的是网络地址,后面的是主机地址。 虚线前为网络地址,虚线后为主机地址
2)IP地址和子网掩码进行与运算,结果是网络地址
3) 将上面的网络地址中的网络地址部分不变,主机地址变为全1,结果就是广播地址。
4) 地址范围就是含在本网段内的所有主机
网络地址+1即为第一个主机地址,广播地址-1即为最后一个主机地址,由此可以看出
地址范围是: 网络地址+1 至 广播地址-1
本例的网络范围是:192•168•100•1 至 192•168•100•254
也就是说下面的地址都是一个网段的。
192•168•100•1、192•168•100•2 。。。 192•168•100•20 。。。 192•168•100•111 。。。 192•168•100•254
5)主机的数量
主机的数量=2二进制的主机位数-2
减2是因为主机不包括网络地址和广播地址。本例二进制的主机位数是8位。
主机的数量=28-2=254
二)总体计算
我们把上边的例子合起来计算一下过程如下:
例2: IP地址为128•36•199•3 子网掩码是255•255•240•0。算出网络地址、广播地址、地址范围、主机数。
1) 将IP地址和子网掩码换算为二进制,子网掩码连续全1的是网络地址,后面的是主机地址, 虚线前为网络地址,虚线后为主机地址
2)IP地址和子网掩码进行与运算,结果是网络地址
3)将运算结果中的网络地址不变,主机地址变为1,结果就是广播地址。
4) 地址范围就是含在本网段内的所有主机
网络地址+1即为第一个主机地址,广播地址-1即为最后一个主机地址,由此可以看出
地址范围是: 网络地址+1 至 广播地址-1
本例的网络范围是:128•36•192•1 至 128•36•207•254
5) 主机的数量
主机的数量=2二进制位数的主机-2
主机的数量=212-2=4094
减2是因为主机不包括网络地址和广播地址。
从上面两个例子可以看出不管子网掩码是标准的还是特殊的,计算网络地址、广播地址、地址数时只要把地址换算成二进制,然后从子网掩码处分清楚连续1以前的是网络地址,后是主机地址进行相应计算即可。