子網掩碼及子網划分


子網掩碼

什么是子網掩碼?

  1. 子網掩碼是一個32位的2進制數, 其對應網絡地址的所有位都置為1,對應於主機地址的所有位都置為0。
  2. 子網掩碼一定是配合IP地址來使用的。
  3. 子網掩碼可以通過與IP地址“與”計算,分離出IP地址中的網絡地址和主機地址,用於判斷該IP地址是在局域網上,還是在廣域網上。
  4. 子網掩碼一般用於將網絡進一步划分為若干子網,以避免主機過多而擁堵或過少而IP浪費。

子網掩碼的作用

它的主要作用有兩個,一是用於屏蔽IP地址的一部分以區別網絡標識和主機標識,並說明該IP地址是在局域網上,還是在遠程網上。二是用於將一個大的IP網絡划分為若干小的子網絡。

子網掩碼的組成

  1. 同IP地址一樣,子網掩碼是由長度為32位二進制數組成的一個地址。
  2. 子網掩碼32位與IP地址32位相對應,IP地址如果某位是網絡地址,則子網掩碼為1,否則為0。
  3. 舉個栗子:如:11111111.11111111.11111111.00000000

子網掩碼的表示方法

  1. 點分十進制表示法
    二進制轉換十進制,每8位用點號隔開
    例如:子網掩碼二進制11111111.11111111.11111111.00000000,表示為255.255.255.0

  2. CIDR斜線記法
    IP地址/n
    例1:192.168.1.100/24,其子網掩碼表示為255.255.255.0,二進制表示為11111111.11111111.11111111.00000000
    例2:172.16.198.12/20,其子網掩碼表示為255.255.240.0,二進制表示為11111111.11111111.11110000.00000000
    不難發現,例1中共有24個1,例2中共有20個1,所以n是這么來的。運營商ISP常用這樣的方法給客戶分配IP地址。

子網掩碼的分類

  1. 缺省子網掩碼
    缺省子網掩碼即未划分子網,對應的網絡號的位都置1,主機號都置0。
    A類網絡缺省子網掩碼:255.0.0.0
    B類網絡缺省子網掩碼:255.255.0.0
    C類網絡缺省子網掩碼:255.255.255.0
  2. 自定義子網掩碼
    自定義子網掩碼是將一個網絡划分為幾個子網,需要每一段使用不同的網絡號或子網號,實際上我們可以認為是將主機號分為兩個部分:子網號、子網主機號。

形式如下:
未做子網划分的IP地址:網絡號+主機號
做子網划分后的IP地址:網絡號+子網號+子網主機號

也就是說IP地址在划分子網后,以前的主機號位置的一部分給了子網號,余下的是子網主機號。子網掩碼是32位二進制數,它的子網主機標識用部分為全“0”。利用子網掩碼可以判斷兩台主機是否在同一子網中。若兩台主機的IP地址分別與它們的子網掩碼相“與”后的結果相同,則說明這兩台主機在同一子網中。

子網划分

子網划分的定義

子網划分是通過借用IP地址中若干位主機地址來充當子網的網絡地址,從而將原網絡划分為若干子網。
划分子網時,隨着子網地址借用主機位數的增多,子網的數目隨之增加,但每個子網中的可用主機數逐漸減少。

比如一個C類網絡,未划分子網時,子網掩碼為255.255.255.0,二進制表示 11111111.11111111.11111111.00000000
借用2位主機位,產生22個子網,可用子網數為22-2個,每個子網有26個主機地址,可用主機地址為26-2個。
借用3位主機位,產生23個子網,可用子網數位23-2個,每個子網有25個主機地址,可用主機地址為25-2個
……
根據子網ID借用的主機位數,我們可以計算出划分的子網數、掩碼、每個子網主機數,列表如下:


為什么子網數和主機數要減2?

子網位全0,代表的是網絡號;子網位全1,代表的是廣播地址。

既然隨着子網的不斷划分,每個子網的可用主機數不斷減少,那子網划分的意義何在?

每個子網划分后,都要留出在該子網下全0和全1的IP地址,這些地址是要作為廣播地址或其他用途的,主機不能用。所以看上去浪費了一些地址。
但這種浪費是值得的。最明顯的一個特征是,和虛擬局域網一樣,子網划分避免了廣播風暴。廣播只在各自子網內進行,不會影響到其他子網。另外一個是有效避免通信擁堵,好比一條路上我們為什么要划分機動車道和人行道。機動車道和人行道間還有隔離帶,隔離帶不是浪費和占用馬路空間嗎?

子網划分后子網掩碼的計算

1. 根據子網數來計算
在求子網掩碼之前必須先搞清楚要划分的子網數目,以及每個子網內的所需主機數目。

  1. 將子網數目轉化為二進制來表示
  2. 取得該二進制的位數,為 N
  3. 取得該IP地址的類子網掩碼,將其主機地址部分的前N位置1 即得出該IP地址划分子網的子網掩碼。

如欲將B類IP地址168.195.0.0划分成27個子網:
1)27=11011
2)該二進制為五位數,N = 5
3)將B類地址的子網掩碼255.255.0.0的主機地址前5位置1(B類地址的主機位包括后兩個字節,所以這里要把第三個字節的前5位置1),得到 255.255.248.0
即為划分成27個子網的B類IP地址 168.195.0.0的子網掩碼(實際上是划成了32-2=30個子網,只不過我們用其中的27個)。

2.根據主機數計算
1)將主機數目轉化為二進制來表示
2)如果主機數小於或等於254(注意去掉保留的兩個IP地址),則取得該主機的二進制位數,為 N,這里肯定N<8。如果大於254,則 N>8,這就是說主機地址將占據不止8位。
3)使用255.255.255.255來將該類IP地址的主機地址位數全部置1,然后從后向前的將N位全部置為 0,即為子網掩碼值。

如欲將B類IP地址168.195.0.0划分成若干子網,每個子網內有主機700台:

  1. 700=1010111100
    2)該二進制為十位數,N = 10
    3)將該B類地址的子網掩碼255.255.0.0的主機地址全部置1,得到255.255.255.255
    然后再從后向前將后10位置0,即為: 11111111.11111111.11111100.00000000
    即255.255.252.0。這就是該欲划分成主機為700台的B類IP地址168.195.0.0的子網掩碼。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM