子網掩碼(subnet mask)又叫網絡掩碼、地址掩碼、子網絡遮罩,它是一種用來指明一個IP地址的哪些位標識的是主機所在的子網,以及哪些位標識的是主機的位掩碼。子網掩碼不能單獨存在,它必須結合IP地址一起使用。子網掩碼只有一個作用,就是將某個IP地址劃分成網絡地址和主機地址兩部分。
子網掩碼是一個32位地址,用于屏蔽IP地址的一部分以區別網絡標識和主機標識,并說明該IP地址是在局域網上,還是在遠程網上。
一、子網掩碼計算方法
業務的發展常常會導致許多單位面臨這樣一個問題:工作站數量越來越多,管理單一的大型網絡也變得越來越艱難。如果將一個單一的大型網絡劃分為多個子網,通過對每個子網進行單獨管理,可以明顯地提高整個網絡的性能。
要劃分子網就需要計算子網掩碼和分配相應的主機塊,盡管采用二進制計算可以得出相應的結論,但如果采用十進制計算方法,計算起來更為簡便。經過長期實踐與經驗積累,筆者總結出子網掩碼及主機塊的十進制算法。
下面小編就給大家推薦幾種實用的計算方法
利用子網數來計算
1.首先,將子網數目從十進制數轉化為二進制數;
2.接著,統計得到的二進制數的位數,設為N;
3.最后,先求出此IP地址對應的地址類別的子網掩碼。再將求出的子網掩碼的主機地址部分(也就是“主機號”)的前N位全部置1,這樣即可得出該IP地址劃分子網的子網掩碼。
4.例如:需將B類IP地址167.194.0.0劃分成28個子網:
1)(28)10=(11100)2;
2)此二進制的位數是5,則N=5;
3)此IP地址為B類地址,而B類地址的子網掩碼是255.255.0.0,且B類地址的主機地址是后2位(即0-255.1-254)。于是將子網掩碼255.255.0.0中的主機地址前5位全部置1,就可得到255.255.248.0,而這組數值就是劃分成28個子網的B類IP地址 167.194.0.0的子網掩碼。
利用主機數來計算
1.首先,將主機數目從十進制數轉化為二進制數;
2.接著,如果主機數小于或等于254(注意:應去掉保留的兩個IP地址),則統計由“1”中得到的二進制數的位數,設為N;如果主機數大于254,則 N》8,也就是說主機地址將超過8位;
3.最后,使用255.255.255.255將此類IP地址的主機地址位數全部置為1,然后按照“從后向前”的順序將N位全部置為0,所得到的數值即為所求的子網掩碼值。
4.例如:需將B類IP地址167.194.0.0劃分成若干個子網,每個子網內有主機500臺:
1)(500)10=(111110100)2;
2)此二進制的位數是9,則N=9;
3)將該B類地址的子網掩碼255. 255.0.0的主機地址全部置 1,得到255.255.255.255。然后再從后向前將后9位置0,可得:11111111. 11111111.11111110.00000000即255.255.254.0。這組數值就是劃分成主機為500臺的B類IP地址167.194.0.0的子網掩碼。
二、子網掩碼算法實例
IP地址是32位的二進制數值,用于在TCP/IP通訊協議中標記每臺計算機的地址。通常我們使用點式十進制來表示,如192.168.0.5等等。
每個IP地址又可分為兩部分。即網絡號部分和主機號部分:網絡號表示其所屬的網絡段編號,主機號則表示該網段中該主機的地址編號。按照網絡規模的大小,IP地址可以分為A、B、C、D、E五類,其中A、B、C類是三種主要的類型地址,D類專供多目傳送用的多目地址,E類用于擴展備用地址。A、B、C三類IP地址有效范圍如下表:
類別 網絡號 /占位數 主機號 /占位數 用途
A 1~126 / 8 0~255 0~255 1~254 / 24 國家級
B 128~191 0~255 / 16 0~255 1~254 / 16 跨過組織
C 192~223 0~255 0~255 / 24 1~254 / 8 企業組織
隨著互連網應用的不斷擴大,原先的IPv4的弊端也逐漸暴露出來,即網絡號占位太多,而主機號位太少,所以其能提供的主機地址也越來越稀缺,目前除了使用NAT在企業內部利用保留地址自行分配以外,通常都對一個高類別的IP地址進行再劃分,以形成多個子網,提供給不同規模的用戶群使用。
這里主要是為了在網絡分段情況下有效地利用IP地址,通過對主機號的高位部分取作為子網號,從通常的網絡位界限中擴展或壓縮子網掩碼,用來創建某類地址的更多子網。但創建更多的子網時,在每個子網上的可用主機地址數目會比原先減少。 子網掩碼是標志兩個IP地址是否同屬于一個子網的,也是32位二進制地址,其每一個為1代表該位是網絡位,為0代表主機位。它和IP地址一樣也是使用點式十進制來表示的。如果兩個IP地址在子網掩碼的按位與的計算下所得結果相同,即表明它們共屬于同一子網中。
在計算子網掩碼時,我們要注意IP地址中的保留地址,即“ 0”地址和廣播地址,它們是指主機地址或網絡地址全為“ 0”或“ 1”時的IP地址,它們代表著本網絡地址和廣播地址,一般是不能被計算在內的。
下面就來以實例來說明子網掩碼的算法:
對于無須再劃分成子網的IP地址來說,其子網掩碼非常簡單,即按照其定義即可寫出:如某B類IP地址為 10.12.3.0,無須再分割子網,則該IP地址的子網掩碼為255.255.0.0。如果它是一個C類地址,則其子網掩碼為 255.255.255.0。其它類推,不再詳述。下面我們關鍵要介紹的是一個IP地址,還需要將其高位主機位再作為劃分出的子網網絡號,剩下的是每個子網的主機號,這時該如何進行每個子網的掩碼計算。
利用子網數來計算
在求子網掩碼之前必須先搞清楚要劃分的子網數目,以及每個子網內的所需主機數目。
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,得到 255.255.248.0
即為劃分成 27個子網的B類IP地址 168.195.0.0的子網掩碼。
利用主機數來計算
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的子網掩碼。
下面列出各類IP地址所能劃分出的所有子網,其劃分后的主機和子網占位數,以及主機和子網的(最大)數目,注意要去掉保留的IP地址(即劃分后有主機位或子網位全為“0”或全為“1”的):
A類IP地址:
子網位 /主機位 子網掩碼 子網最大數 /主機最大數
2/22 255.192.0.0 2/4194302
3/21 255.224.0.0 6/2097150
4/20 255.240.0.0 14/1048574
5/19 255.248.0.0 30/524286
6/18 255.252.0.0 62/262142
7/17 255.254.0.0 126/131070
8/16 255.255.0.0 254/65536
9/15 255.255.128.0 510/32766
10/14 255.255.192.0 1022/16382
11/13 255.255.224.0 2046/8190
12/12 255.255.240.0 4094/4094
13/11 255.255.248.0 8190/2046
14/10 255.255.252.0 16382/1022
15/9 255.255.254.0 32766/510
16/8 255.255.255.0 65536/254
17/7 255.255.255.128 131070/126
18/6 255.255.255.192 262142/62
19/5 255.255.255.224 524286/30
20/4 255.255.255.240 1048574/14
21/3 255.255.255.248 2097150/6
22/2 255.255.255.252 4194302/2
B類IP地址:
子網位 /主機位 子網掩碼 子網最大數 /主機最大數
2/14 255.255.192.0 2/16382
3/13 255.255.224.0 6/8190
4/12 255.255.240.0 14/4094
5/11 255.255.248.0 30/2046
6/10 255.255.252.0 62/1022
7/9 255.255.254.0 126/510
8/8 255.255.255.0 254/254
9/7 255.255.255.128 510/126
10/6 255.255.255.192 1022/62
11/5 255.255.255.224 2046/30
12/4 255.255.255.240 4094/14
13/3 255.255.255.248 8190/6
14/2 255.255.255.252 16382/2
C類IP地址:
子網位 /主機位 子網掩碼 子網最大數 /主機最大數
2/6 255.255.255.192 2/62
3/5 255.255.255.224 6/30
4/4 255.255.255.240 14/14
5/3 255.255.255.248 30/6
6/2 255.255.255.252 62/2
再根據CCNA中會出現的題目給大家舉個例子:
首先,我們看一個考試中常見的題型:一個主機的IP地址是202.112.14.137,掩碼是255.255.255.224,要求計算這個主機所在網絡的網絡地址和廣播地址。
常規辦法是把這個主機地址和子網掩碼都換算成二進制數,兩者進行邏輯與運算后即可得到網絡地址。其實大家只要仔細想想,可以得到另一個方法:255.255.255.224的掩碼所容納的IP地址有256-224=32個(包括網絡地址和廣播地址),那么具有這種掩碼的網絡地址一定是32的倍數。而網絡地址是子網IP地址的開始,廣播地址是結束,可使用的主機地址在這個范圍內,因此略小于137而又是32的倍數的只有128,所以得出網絡地址是202.112.14.128。而廣播地址就是下一個網絡的網絡地址減1。而下一個32的倍數是160,因此可以得到廣播地址為202.112.14.159。可參照下表來理解本例。
子網絡 2進制子網絡域數 2進制主機域數的范圍 2進制主機域數的范圍
第1個子網絡 000 00000 thru 11111 .0 thru.31
第2個子網絡 001 00000 thru 11111 .32 thru.63
第3個子網絡 010 00000 thru 11111 .64 thru.95
第4個子網絡 011 00000 thru 11111 .96 thru.127
第5個子網絡 100 00000 thru 11111 .128 thru.159
第6個子網絡 101 00000 thru 11111 .160 thru.191
第7個子網絡 110 00000 thru 11111 .192 thru.223
第8個子網絡 111 00000 thru 11111 .124 thru.255
CCNA考試中,還有一種題型,要你根據每個網絡的主機數量進行子網地址的規劃和計算子網掩碼。這也可按上述原則進行計算。比如一個子網有10臺主機,那么對于這個子網需要的IP地址是: 10+1+1+1=13
注意:加的第一個1是指這個網絡連接時所需的網關地址,接著的兩個1分別是指網絡地址和廣播地址。因為13小于16(16等于2的4次方),所以主機位為4位。而 256-16=240
所以該子網掩碼為255.255.255.240。
如果一個子網有14臺主機,不少人常犯的錯誤是:依然分配具有16個地址空間的子網,而忘記了給網關分配地址。這樣就錯誤了,因為:
14+1+1+1=17
17大于16,所以我們只能分配具有32個地址(32等于2的5次方)空間的子網。這時子網掩碼為:255.255.255.224。
三、子網劃分教程
本教程,通過簡單的文字,讓你充分了解并掌握子網劃分技術,并運用到實踐當中。
IP地址劃分,以C網為例介紹,子網掩碼劃分。下面我們隨便找個一個網段并賦上相應的子網位數。
如 192.168.1.53/27
需要計算 具體的子網掩碼
子網數
可用的主機數
最大可容納主機數
廣播地址
組播地址
現在我們來了解一下C網的各項參數,如下圖。
繼續以 192.168.1.53/27 為例講解
我們需要了解正常C網的網絡號及位數是多少?
平時大家用的是192.168.0.*或192.168.1.*網段,子網掩碼是255.255.255.0
那么子網掩碼10進制轉換到2進制就是:
11111111.11111111.11111111.00000000
前面24位表示網絡號,后面8位表示主機數,具體的各參數容量可以參考步驟1.
所以192.168.1.53/27 的相應掩碼是
11111111.11111111.11111111.11100000
由于網絡號數量不足,所以得向右的主機數借位,主機數的可用數量減少。
由步驟2,我們得知192.168.1.53/27 的相應掩碼是
11111111.11111111.11111111.11100000
所有可用的主機數為主機號所剩下的5位掩碼中算出。
注:8位主機號減少網絡號借去的3位,所剩下5位。即n=8-m=5
其中m為網絡號位數,n為主機號位數。
即最多可以容納的主機數為 32
可用的主機數為 30
計算公式如下圖所示:
好了,我們已經算出192.168.1.53/27 ,每個網段最大容納的主機數和可以主機數了,下面我們來計算子網掩碼的10進制數是多少。
由步驟2,我們得知192.168.1.53/27 的相應掩碼是
11111111.11111111.11111111.11100000
即轉換成相應的10進制數是255.255.255.224
轉換公式如下圖:
我們也計算出了192.168.1.53/27的掩碼是255.255.255.224了
子網數是8個。
現在我們來算算并找出廣播地址為組播地址。
其中廣播地址是192.168.1.32
組播地址是192.168.1.63
如下圖:
上圖中的 第2子網的IP段更改為:192.168.1.32-192.168.1.63
可用IP更改為:192.168.1.33-192.168.1.62
總結 步驟1的要求,通過計算。各參數如下圖所示:
評論
查看更多