快速子网掩码(IP地址)计算方法(完全心算法)
由于很多朋友跟我说,对这方法没有看懂,因此我做了一些更新,增加了历年职称考试的试题解答。下面的说明看起来可能会有些累,多看题就懂了,因此我增加了不少题。能看懂的给个好评。
先从掩码看起
我们知道一个C类IP地址段中有256个IP。一个B类地址段中有65536个IP。计算方法为256*256那么一个A类IP地址则有256*256*256个IP。子网掩码分别为255.255.255.0,255.255.0.0,255.0.0.0。
不管是255.X.0.0还是255.255.X.0或者是255.255.255.X我们一般只计算X的部分X部分的总位数一共是8位按以下方法进行划分,掩码部分可以不计。因为掩码部分的计算方法就是权值相加而已。所以只要记住权值就可以了。其实权值也不用记。记规律就行了。
权值 12864 32 16 8 4 2 1
位数 1 1 1 1 1 1 1 1
掩码 128192224240248252254255
我们不管前后。前面全是255,后面全是0。需要计算的位只有8位,就是第X位。
第X位的权值为该网段内IP地址的数量。假设计算第四段的第六位(从前面数),对应的权值是4,下面对应的掩码是252。255.255.255.252或/30前三位为3*8=24然后就数数。数到4就是30位。而权值相加就是252。每一个段的IP数量就是4个(权值)。如果是第三段。也是一样。仍然是用4来计算。255.255.252.0或/22前三位为2*8=16数到4就是22。每一段的IP数量为4*256=1024。网络位的计算方法为除以权值取整数。比如一个IP为192.168.1.13。那么用13除4就是12。12+4为16就是下一个网络位。很明显广播就是15了。IP范围就是12-15。可用IP为13-14需要计算的所有东西一般为。IP数量。网络位。广播地址。子网掩码。
子网汇聚和拆分也是同一个原理。
拆分就只计算掩码位数即可。比如一个24位的掩码可以分为2个25位,4个26位,8个27位,16个28位的网络。反过来聚合就不用解释了。由于子网掩码必须是连续的1,所以下面的X*8+Y的意思为X是有几个255,Y是数到第几位。比如2*8+5的意思为
11111111 11111111 11111000 (这里共有5个1) 00000000
255.255.248.0
下面用例题来说明:
(一)ISP分配给某公司的地址块为199.34.76.64/28,则该公司得到的地址数是(54)。
权值 12864 32 16 8 4 2 1
位数 1 1 1 1 1 1 1 1
掩码 128192224240248252254255
答:28/8=3余4,即3个255,需要计算的是这个4(从前面往后数第4个)。这个4对应的权值是16,所以总地址数为16个。如果要问可用IP则减去2个为14个。如果计算子网掩也可以用256-16仍然等于240.
(二)如果一个公司有2000台主机,则必须给它分配 (52) 个C类网络。为了使该公司网络在路由表中只占一行,指定给它的子网掩码应该是 (53) 。
权值 12864 32 16 8 4 2 1
位数 1 1 1 1 1 1 1 1
掩码 128192224240248252254255
答:1个C类地址有256个IP,C类地址的掩码为255.255.255.0。8个C有2048个IP可以满足2000个。应该向前进位。所以我们需要计算的是255.255.X.0找到权值为8的位。子网掩码为255.255.248.0
(三)由16个C类网络组成一个超网(supernet),其网络掩码(mask)应为 (55) 。
权值 12864 32 16 8 4 2 1
位数 1 1 1 1 1 1 1 1
掩码 128192224240248252254255
答:跟上面的问题几乎一样,问法不同。找到权值16。子网掩码为255.255.240.0
(四)设IP地址为18.250.31.14,子网掩码为255.240.0.0,则子网地址是 (56) 。
权值 12864 32 16 8 4 2 1
位数 1 1 1 1 1 1 1 1
掩码 128192224240248252254255
答:找到240对应的权值是16。说明每16个IP可以分为一段,根据给定的IP计算它属于哪个段,那么每一个段的头也就是网络地址与下一段的头之间必须要包括18.250.31.14这个IP。可以简化一下18.250.X.X。因此我们用250/16取整为240。则网络地址为18.240.0.0。反向认证一下。18.240.0.0-18.255.255.255是它的所有地址。因此包括了18.250.31.14。
(五)网络172.21.136.0/24和172.21.143.0/24汇聚后的地址是 (51) 。
权值 12864 32 16 8 4 2 1
位数 1 1 1 1 1 1 1 1
掩码 128192224240248252254255
答:136-143差距为8有可能就是8个,如果136就是网络地址的话,那么则为8个,否则就得向前进位。那就是16个。这时计算一下最小的地址。136/8=17可以整除。网络地址就可以确定为136然后就查找权值8对应的子网掩码是248。位数是5(从前面往后数第5个)。从IP地址上来看,子网掩码的格式应该为255.255.X.0则有:2*8+5=21
汇聚后地址为172.21.136.0/21
(六)如果子网172.6.32.0/20再划分为172.6.32.0/26,则下面的结论中正确的是 (52) 。
(52)A.划分为1024个子网 B.每个子网有64台主机
C.每个子网有62台主机 D.划分为2044个子网
权值 12864 32 16 8 4 2 1
位数 1 1 1 1 1 1 1 1
掩码 128192224240248252254255
答:通过3*8+2=26(从前面往后数第2个)即子网掩码为255.255.255.192。权值为64。选C每个子网有62台主机。(去掉一个网络地址,去掉一个主机地址。)
此题的另一种解法。
倍数 2 4 8 16 32 64 128256……
位数 1 1 1 1 1 1 1 1 ……
使用26-20=6计算子网掩码的位差。从前往后数第6个。倍数为64。则得出可以划分成64个子网。而任何子网的主机数为2的X次方减2。所以主机数不可能是64。之所以没把倍数放在前面,是怕大家记混了。另外也是因为它并不常用。
(七) 属于网络112.10.200.0/21 的地址是 (48) 。
(48)A.112. 10. 198. 0 B.112. 10. 206. 0 C.112. 10. 217. 0 D.112. 10. 224. 0
权值 12864 32 16 8 4 2 1
位数 1 1 1 1 1 1 1 1
掩码 128192224240248252254255
答:21=2*8+5从前往后数第5位对应的权值为8。那么每个IP段则应该包含8个C类网络。由200/8=25可以整除,因此知道题中给出的是网络地址。那么它的IP范围应该是112.10.200.0-112.10.207.255因此我们得到答案为B。
(八) 设有下面4 条路由:172.18.129.0/24、172.18.130.0/24、172.18.132.0/24 和172.18.133.0/24,如果进行路由汇聚, 能覆盖这4 条路由的地址是 (49) 。
(49)A.172.18.128.0/21 B.172.18.128.0/22 C.172.18.130.0/22 D.172.18.132.0/23
权值 12864 32 16 8 4 2 1
位数 1 1 1 1 1 1 1 1
掩码 128192224240248252254255
要汇聚必先计算IP范围。即最大IP段和最小IP段的差。题中为129-133之间。都是奇数。先把最小的变成偶数。让它为128。128可以被任何一个权值整除,可以做为网络地址。用最大值133减去网络地址128并且加1=5因为128自身也算一个所以我们+1。看权值能包括5的只有8。因此8个C可以满足要求。8是第5位。则总位数为:2*8+5=21。很明显正确答案是A。
(九) 网络122.21.136.0/24 和122.21.143.0/24 经过路由汇聚,得到的网络地址是(50) 。
(50)A.122.21.136.0/22 B.122.21.136.0/21 C.122.21.143.0/22 D.122.21.128.0/24
与上题雷同。同样是8个C类地址可以满足要求。并且136能被8整除,可以作为网络地址。答案为B。
(十) 有4 个子网:
10.1.201.0/24、
10.1.203.0/24、
10.1.207.0/24
10.1.199.0/24,经路由汇聚后得到的网络地址是(51) 。
(51)A.10.1.192.0/20 B.10.1.192.0/21 C.10.1.200.0/21 D.10.1.224.0/20
权值 12864 32 16 8 4 2 1
位数 1 1 1 1 1 1 1 1
掩码 128192224240248252254255
仍然雷同。最小地址为199最大的为207。将199改为198。198——207有10个C段,因此需要10个C类地址才可以覆盖。可以包含它的权值为16。我们可以得到2*8+4=20。但198不可以被16整除。因此我们需要找到它的网络地址。用198/16=12余6因此使用198-6=192得到网络地址为192。再用192+16=208仍然覆盖207网段,因此答案为A。
(十一)某校园网的地址是202.100.192.0/18,要把该网络分成30 个子网,则子网掩码应该是 (54) ,每个子网可分配的主机地址数是(55) 。
(54)A.255.255.200.0 B.255.255.224.0C.255.255.254.0D.255.255.255.0
(55)A. 32 B. 64 C. 510 D. 512
倍数 2 4 8 16 32 64 128256……
位数 1 1 1 1 1 1 1 1 ……
由倍数(由前向后数)可知:5倍时可以分成32个子网满足要求。差值为5。因此子网掩码位数为18+5=23位。
计算23位网段的掩码:
权值 12864 32 16 8 4 2 1
位数 1 1 1 1 1 1 1 1
掩码 128192224240248252254255
24位掩码为255.255.255.0
23位掩码为255.255.254.0
23=2*8+7,仍然从前往后数到7。对应的子网掩码为254。C类地址的掩码位数为24。与之差了一位。由倍数可知。它包含了两个C类地址。因此IP总数为512个。可分配的主机地址为510个。答案分别为:C、C
(十二)某用户分配的网络地址为192.24.0.0~192.24.7.0,这个地址块可以用(49)表示,其中可以分配(50)个主机地址。
(49)A.192.24.0.0/20 B.192.24.0.0/21 C.192.24.0.0/16 D.192.24.0.0/24
(50)A.2032 B.2048 C.2000 D.2056
0——7之间一共有8个C类网段
权值 12864 32 16 8 4 2 1
位数 1 1 1 1 1 1 1 1
掩码 128192224240248252254255
跟第八题一样。16+5=21位。只有B是21位。
倍数 2 4 8 16 32 64 128256……
位数 1 1 1 1 1 1 1 1 ……
与C类地址24的差值为3,因此它包含了8个C类地址。256*8=2048但很明显这里面减去网络地址和广播地址后应该是2046,答案里面并没有。所以出题者的思路是每个C段都会被单独分配出去。那么就应该每个C段都减去2。一共减去16个IP地址。2048-16=2032。只有A符合。
因此答案为:B、A
(十三) 某公司网络的地址是200.16.192.0/18,划分成16个子网,下面的选项中,不属于这16个子网的地址是(52)
(52)A.200.16.236.0/22 B.200.16.224.0/22 C.200.16.208.0/22 D.200.16.254.0/22
倍数 2 4 8 16 32 64 128256……
位数 1 1 1 1 1 1 1 1 ……
很明显答案全是22位的。我们用差值计算法同样也是得出22位的子网掩码。
4倍的时候可以分成16个子网,18+4=22
计算22位网段的网络地址
权值 12864 32 16 8 4 2 1
位数 1 1 1 1 1 1 1 1
掩码 128192224240248252254255
22位网段权值为4,因此它的网络地址是可以被4整除的。答案中254不能被4整除,不是网络地址。
因此选D。
原文下载地址:http://wenku.baidu.com/view/a9f03b130b4e767f5acfcec7