快速子網掩碼計算方法(完全心算法)
由於很多朋友跟我說,對這方法沒有看懂,因此我做了一些更新,增加了歷年職稱考試的試題解答。下面的說明看起來可能會有些累,多看題就懂了,因此我增加了不少題。能看懂的給個好評。
先從掩碼看起
我們知道一個 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。
計算方法為 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 位按以下方法進行劃分,掩碼部分可以不計。
因為掩碼部分的計算方法就是權值相加而已。所以只要記住權值就可以了。其實權值也不用記。記規律就行了。
因為掩碼部分的計算方法就是權值相加而已。所以只要記住權值就可以了。其實權值也不用記。記規律就行了。
權值
|
128
|
64
|
32
|
16
|
8
|
4
|
2
|
1
|
位數
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
掩碼
|
128
|
192
|
224
|
240
|
248
|
252
|
254
|
255
|
我們不管前後。前面全是 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 數量。網絡位。廣播地址。子網掩碼。
比如一個 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 的意思為 111111111111111111111000(這里共有 5 個 1)00000000 255.255.248.0下面用例題來說明:
比如 2*8+5 的意思為 111111111111111111111000(這里共有 5 個 1)00000000 255.255.248.0下面用例題來說明:
(一)ISP 分配給某公司的地址塊為 199.34.76.64/28,則該公司得到的地址數是 (54)。
權值
|
128
|
64
|
32
|
16
|
8
|
4
|
2
|
1
|
位數
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
掩碼
|
128
|
192
|
224
|
240
|
248
|
252
|
254
|
255
|
答:28/8=3 餘 4,即 3 個 255,需要計算的是這個 4(從前面往後數第 4 個)。這個 4 對應的權值是 16,所以總地址數為 16 個。如果要問可用 IP 則減去 2 個 為 14 個。如果計算子網掩也可以用 256-16 仍然等於 240.
(二)如果一個公司有 2000 台主機,則必須給它分配 (52) 個 C 類網絡。為 了使該公司網絡在路由表中只佔一行,指定給它的子網掩碼應該是(53) 。
(二)如果一個公司有 2000 台主機,則必須給它分配 (52) 個 C 類網絡。為 了使該公司網絡在路由表中只佔一行,指定給它的子網掩碼應該是(53) 。
權值
|
128
|
64
|
32
|
16
|
8
|
4
|
2
|
1
|
位數
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
掩碼
|
128
|
192
|
224
|
240
|
248
|
252
|
254
|
255
|
答: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) 。
權值
|
128
|
64
|
32
|
16
|
8
|
4
|
2
|
1
|
位數
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
掩碼
|
128
|
192
|
224
|
240
|
248
|
252
|
254
|
255
|
(四)設 IP 地址為 18.250.31.14,子網掩碼為 255.240.0.0,則子網地址是 (56) 。
權值
|
128
|
64
|
32
|
16
|
8
|
4
|
2
|
1
|
位數
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
掩碼
|
128
|
192
|
224
|
240
|
248
|
252
|
254
|
255
|
答:找到 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) 。
權值
|
128
|
64
|
32
|
16
|
8
|
4
|
2
|
1
|
位數
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
掩碼
|
128
|
192
|
224
|
240
|
248
|
252
|
254
|
255
|
答: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 個子網
權值
|
128
|
64
|
32
|
16
|
8
|
4
|
2
|
1
|
位數
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
掩碼
|
128
|
192
|
224
|
240
|
248
|
252
|
254
|
255
|
答:通過 3*8+2=26(從前面往後數第 2 個)即子網掩碼為 255.255.255.192。權值為 64。選 C 每個子網有 62 台主機。 (去掉一個網絡地址,去掉一個主機地址。 )
此題的另一種解法。
倍數
|
2
|
4
|
8
|
16
|
32
|
64
|
128
|
256
|
位數
|
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
權值
|
128
|
64
|
32
|
16
|
8
|
4
|
2
|
1
|
位數
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
掩碼
|
128
|
192
|
224
|
240
|
248
|
252
|
254
|
255
|
答: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
權值
|
128
|
64
|
32
|
16
|
8
|
4
|
2
|
1
|
位數
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
掩碼
|
128
|
192
|
224
|
240
|
248
|
252
|
254
|
255
|
(九) 網絡 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
權值
|
128
|
64
|
32
|
16
|
8
|
4
|
2
|
1
|
位數
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
掩碼
|
128
|
192
|
224
|
240
|
248
|
252
|
254
|
255
|
仍然雷同。最小地址為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.0
C.255.255.254.0
D.255.255.255.0
(55)A.32 B.64 C.510 D.512
倍數
|
2
|
4
|
8
|
16
|
32
|
64
|
128
|
256
|
位數
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
由倍數(由前向後數)可知:5倍時可以分成32個子網滿足要求。差值為5。因此子網掩碼位數為18+5=23位。
計算23位網段的掩碼:
權值
|
128
|
64
|
32
|
16
|
8
|
4
|
2
|
1
|
位數
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
掩碼
|
128
|
192
|
224
|
240
|
248
|
252
|
254
|
255
|
24 位掩碼為 255.255.255.0
23 位掩碼為 255.255.254.023=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類網段
權值
|
128
|
64
|
32
|
16
|
8
|
4
|
2
|
1
|
位數
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
掩碼
|
128
|
192
|
224
|
240
|
248
|
252
|
254
|
255
|
跟第八題一樣。 16+5=21位。只有B是21位。
倍數
|
2
|
4
|
8
|
16
|
32
|
64
|
128
|
256
|
位數
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
(十三) 某公司網絡的地址是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
|
128
|
256
|
位數
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
很明顯答案全是22位的。我們用差值計算法同樣也是得出22位的子網掩碼。
4 倍的時候可以分成 16 個子網,18+4=22
計算 22 位網段的網絡地址
權值
|
128
|
64
|
32
|
16
|
8
|
4
|
2
|
1
|
位數
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
掩碼
|
128
|
192
|
224
|
240
|
248
|
252
|
254
|
255
|
22 位網段權值為 4,因此它的網絡地址是可以被 4 整除的。答案中 254 不能 被 4 整除,不是網絡地址。因此選 D。