码迷,mamicode.com
首页 > 编程语言 > 详细

无敌子网掩码(IP地址)计算方法(完全心算法)

时间:2016-02-03 14:36:08      阅读:509      评论:0      收藏:0      [点我收藏+]

标签:ip地址计算   子网掩码计算   

快速子网掩码(IP地址)计算方法(完全心算法)

由于很多朋友跟我说,对这方法没有看懂,因此我做了一些更新,增加了历年职称考试的试题解答。下面的说明看起来可能会有些累,多看题就懂了,因此我增加了不少题。能看懂的给个好评。

先从掩码看起

我们知道一个CIP地址段中有256IP。一个B类地址段中有65536IP。计算方法为256*256那么一个AIP地址则有256*256*256IP。子网掩码分别为255.255.255.0255.255.0.0255.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,下面对应的掩码是252255.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。网络位的计算方法为除以权值取整数。比如一个IP192.168.1.13。那么用134就是1212+416就是下一个网络位。很明显广播就是15了。IP范围就是12-15。可用IP13-14需要计算的所有东西一般为。IP数量。网络位。广播地址。子网掩码。

子网汇聚和拆分也是同一个原理。

拆分就只计算掩码位数即可。比如一个24位的掩码可以分为225位,426位,827位,1628位的网络。反过来聚合就不用解释了。由于子网掩码必须是连续的1,所以下面的X*8+Y的意思为X是有几个255Y是数到第几位。比如2*8+5的意思为

11111111 11111111 11111000 (这里共有51) 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/834,即3255,需要计算的是这个4(从前面往后数第4个)。这个4对应的权值是16,所以总地址数为16个。如果要问可用IP则减去2个为14个。如果计算子网掩也可以用25616仍然等于240.

(二)如果一个公司有2000台主机,则必须给它分配 (52) 个C类网络。为了使该公司网络在路由表中只占一行,指定给它的子网掩码应该是 (53) 。

权值      12864   32   16   8     4     2     1

位数      1     1     1     1     1     1     1     1

掩码      128192224240248252254255

答:1C类地址有256IPC类地址的掩码为255.255.255.08C2048IP可以满足2000个。应该向前进位。所以我们需要计算的是255.255.X.0找到权值为8的位。子网掩码为255.255.248.0

 

(三)16C类网络组成一个超网(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。说明每16IP可以分为一段,根据给定的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/24172.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) 。

52A.划分为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-206计算子网掩码的位差。从前往后数第6个。倍数为64。则得出可以划分成64个子网。而任何子网的主机数为2X次方减2。所以主机数不可能是64。之所以没把倍数放在前面,是怕大家记混了。另外也是因为它并不常用。

 

(七)  属于网络112.10.200.0/21 的地址是 (48) 。

48A.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段则应该包含8C类网络。由200/825可以整除,因此知道题中给出的是网络地址。那么它的IP范围应该是112.10.200.0-112.10.207.255因此我们得到答案为B

 

(八)    设有下面4 条路由:172.18.129.0/24172.18.130.0/24172.18.132.0/24 172.18.133.0/24,如果进行路由汇聚, 能覆盖这4 条路由的地址是 (49) 。

49A.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之间。都是奇数。先把最小的变成偶数。让它为128128可以被任何一个权值整除,可以做为网络地址。用最大值133减去网络地址128并且加15因为128自身也算一个所以我们+1。看权值能包括5的只有8。因此8C可以满足要求。8是第5位。则总位数为:2*8+521。很明显正确答案是A

 

(九)    网络122.21.136.0/24 122.21.143.0/24 经过路由汇聚,得到的网络地址是(50) 。

50A.122.21.136.0/22       B.122.21.136.0/21            C.122.21.143.0/22            D.122.21.128.0/24

与上题雷同。同样是8C类地址可以满足要求。并且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) 。

51A.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改为198198——20710C段,因此需要10C类地址才可以覆盖。可以包含它的权值为16。我们可以得到2*8+420。但198不可以被16整除。因此我们需要找到它的网络地址。用198/16=126因此使用198-6192得到网络地址为192。再用192+16208仍然覆盖207网段,因此答案为A

 

(十一)某校园网的地址是202.100.192.0/18,要把该网络分成30 个子网,则子网掩码应该是 (54) ,每个子网可分配的主机地址数是(55) 。

54A.255.255.200.0          B.255.255.224.0C.255.255.254.0D.255.255.255.0

55A. 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

232*8+7,仍然从前往后数到7。对应的子网掩码为254C类地址的掩码位数为24。与之差了一位。由倍数可知。它包含了两个C类地址。因此IP总数为512个。可分配的主机地址为510个。答案分别为:CC

 

(十二)某用户分配的网络地址为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

50A.2032                         B.2048                       C.2000                       D.2056

0——7之间一共有8C类网段

权值      12864   32   16   8     4     2     1

位数      1     1     1     1     1     1     1     1

掩码      128192224240248252254255

跟第八题一样。16+521位。只有B21位。

倍数      2     4     8     16   32   64   128256……

位数      1     1     1     1     1     1     1     1     ……

C类地址24的差值为3,因此它包含了8C类地址。256*82048但很明显这里面减去网络地址和广播地址后应该是2046,答案里面并没有。所以出题者的思路是每个C段都会被单独分配出去。那么就应该每个C段都减去2。一共减去16IP地址。2048-162032。只有A符合。

因此答案为:BA

 

(十三) 某公司网络的地址是200.16.192.0/18,划分成16个子网,下面的选项中,不属于这16个子网的地址是(52

52A.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+422

计算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

无敌子网掩码(IP地址)计算方法(完全心算法)

标签:ip地址计算   子网掩码计算   

原文地址:http://sunx990.blog.51cto.com/2646552/1740896

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!