一直想搞清楚子網掩碼這部份內容,之前只是含糊的知道一點兒。今天碰到這篇文章,以爲寫的不錯,拿出來分享裏。看,個人口號就是
「
分享知識
,
共同進步!
」
子網掩碼是每一個網絡工程師必需要掌握的基礎知識,只有掌握它,纔可以真正理解
TCP/IP
協議的設置。根據寡人在不一樣公司面試時的考試來看,通常的公司招聘網絡人員基本都會考這類題目。可是寡人發現,身邊不少作網絡的朋友,對子網掩碼的理解仍是有一種半生不熟的感受。下面,把本身掌握的、網絡蒐集的關於子網掩碼的資料整理出來,供你們學習參考。
想要了解子網掩碼,得先了解
IP
的結構,
IP
地址在設計時就考慮到地址分配的層次特色,將每一個
IP
地址都分割成網絡號和主機號兩部分,以便於
IP
地址的尋址操做。那麼
IP
地址的網絡號和主機號各是多少位呢?若是不指定,就不知道哪些位是網絡號、哪些是主機號,這就須要經過子網掩碼來實現。
什麼是子網掩碼?
子網掩碼不能單獨存在,它必須結合
IP
地址一塊兒使用。子網掩碼只有一個做用,就是將某個
IP
地址劃分紅網絡地址和主機地址兩部分。
子網掩碼的設定必須遵循必定的規則。與
IP
地址相同,子網掩碼的長度也是
32
位,左邊是網絡位,用二進制數字
「1」
表示;右邊是主機位,用二進制數字
「0」
表示。
例如
IP
地址爲
「192.168.
1.1」
和子網掩碼爲
「255.255.
255.0」
的二進制對照應該爲:
192.168.1.1 = 1100 0000. 1010 1000. 0000 0001. 0000 0001
255.255.255.0 = 111111111. 111111111. 111111111. 00000000
在掩碼中,其中,
「1」
有
24
個,表明與此相對應的
IP
地址左邊
24
位是網絡號;
「0」
有
8
個,表明與此相對應的
IP
地址右邊
8
位是主機號。這樣,子網掩碼就肯定了一個
IP
地址的
32
位二進制數字中哪些是網絡號、哪些是主機號。這對於採用
TCP/IP
協議的網絡來講很是重要,只有經過子網掩碼,才能代表一臺主機所在的子網與其餘子網的關係,使網絡正常工做。
默認子網掩碼
在
Windows
系統中,若是給一個網卡指定
IP
地址,系統會自動填入一個默認的子網掩碼:
255.255.255.0
,使用該子網掩碼,網絡內最大可容納
254
臺設備,若是一個網絡的規模不超過
254
臺設備,採用
「255.255.
255.0」
做爲子網掩碼就能夠了。
IP
地址的子網掩碼設置不是任意的。
子網掩碼設置過大:也就是說子網範圍擴大,那麼,根據子網尋徑規則,極可能發往和本地機不在同一子網內的目的機的數據,會由於錯誤的判斷而認爲目的機是在同一子網內,那麼,數據包將在本子網內循環,直到超時並拋棄,使數據不能正確到達目的機,致使網絡傳輸錯誤;
子網掩碼設置太小:那麼就會將原本屬於同一子網內的機器之間的通訊當作是跨子網傳輸,數據包都交給缺省網關處理,這樣勢必增長缺省網關的負擔,形成網絡效率降低。
根據以上兩個緣由,子網掩碼應該根據網絡的規模進行設置。
說了這麼多,下面說說實際計算問題:
子網掩碼快速算法
你們都應該知道
2
的
x
次方值吧?下面是
2
的
0
次到
10
次方的計算值分別是:
1 2 4 8 16 32 64 128 256 512 1024
。
實例
若是你但願每一個子網中只有
5
個
ip
地址能夠給機器用,那麼你就最少須要準備給每一個子網
7
個
ip
位址,由於須要加上兩頭的不可用的網絡和廣播
ip
,因此你須要選比
7
多的最近的那位,也就是
8
,就是說選每一個子網
8
個
ip
。到這一步,你就能夠算屏蔽了。
這個方法就是:最後一位屏蔽就是
256
減去你每一個子網所須要的
ip
位元址的數量,那麼這個例子就是
256-8=248
,那麼算出這個,你就能夠知道那些
ip
是不能用的了,
依此類推:
0-7,8-15,16-23,24-31
,
......
,寫在上面的
0
、
7
、
8
、
15
、
16
、
23
、
24
、
31......
都是不能用的,你應該用某兩個數字之間的
IP
,那個就是一個子網可用的
IP
。
掃盲公式: 子網掩碼=256-主機數量{x|2n-1<x<2n}
再試驗一下,就拿
200
臺機器分紅
4
個子網來作例子吧。
200
臺機器,
4
個子網,那麼就是每一個子網
50
臺機器,設定爲
192.168.10.0
,
C
類的
IP
,大子網掩碼應爲
255.255.255.0
,對吧,可是咱們要分子網,因此按照上面的,咱們用
32
個
IP
一個子網內不夠,應該每一個子網用
64
個
IP
(其中
62
位可用,足夠了吧),而後用個人辦法:子網掩碼應該是
256-64=192
,那麼總的子網掩碼應該爲:
255.255.255.192
。不相信?算算:
0-63
,
64-127
,
128-191
,
192-255
,這樣你就能夠把四個區域分別設定到四個子網的機器上了。
經常使用的子網掩碼
子網掩碼有數百種,這裏只介紹最經常使用的兩種子網掩碼,它們分別是
「255.255.
255.0」
和
「255.255.
0.0」
。
1.
子網掩碼是
「255.255.
255.0」
的網絡:最後面一個數字能夠在
0~255
範圍內任意變化,所以能夠提供
256
個
IP
地址。可是實際可用的
IP
地址數量是
256-2
,即
254
個,由於主機號不能全是
「0」
或全是
「1」
。
2.
子網掩碼是
「255.255.
0.0」
的網絡:後面兩個數字能夠在
0~255
範圍內任意變化,能夠提供
2552
個
IP
地址。可是實際可用的
IP
地址數量是
2552-2
,即
65023
個。
平時,咱們常常看到
192.168.1.1/24
(這個
24
指掩碼位數)下面是部分子網掩碼位數和具體掩碼數對照表
位數 掩碼地址
32 255.255.255.255
31 255.255.255.254
30 255.255.255.252
29 255.255.255.248
28 255.255.255.240
27 255.255.255.224
26 255.255.255.192
25 255.255.255.128
24 255.255.255.0 (
平時最多見的這個掩碼
)23 255.255.254.022 255.255.252.020 255.255.240.019 255.255.224.018 255.255.192.017 255.255.128.016 255.255.0.0.15 255.255.254.014 255.255.252.013 255.255.248.0... ......... ......1 128.0.0.0