天天看點

網絡掃盲——子網劃分與子網路遮罩計算

一直想搞清楚子網路遮罩這部分内容,以前隻是含糊的知道一點兒。今天碰到這篇文章,覺得寫的不錯,拿出來分享裡。看,我的口号就是“分享知識,共同進步!”

  子網路遮罩是每個網絡工程師必須要掌握的基礎知識,隻有掌握它,才能夠真正了解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.0

22  255.255.252.0

20  255.255.240.0

19  255.255.224.0

18  255.255.192.0

17  255.255.128.0

16  255.255.0.0.

15  255.255.254.0

14  255.255.252.0

13  255.255.248.0

... ......

1 128.0.0.0 

出自 51CTO.COM部落格

繼續閱讀