一、子網(wǎng)掩碼的概述及作用
- 子網(wǎng)掩碼是一個應(yīng)用于TCP/IP網(wǎng)絡(luò)的32位二進(jìn)制值,每節(jié)8位,必須結(jié)合IP地址對應(yīng)使用。
- 子網(wǎng)掩碼32位都與IP地址32位對應(yīng),如果某位是網(wǎng)絡(luò)地址,則子網(wǎng)掩碼為1,否則為0。
- 子網(wǎng)掩碼可以通過與IP地址“與”計算,分離出IP地址中的網(wǎng)絡(luò)地址和主機地址,用于判斷該IP地址是在局域網(wǎng)上,還是在廣域網(wǎng)上。
- 子網(wǎng)掩碼一般用于將網(wǎng)絡(luò)進(jìn)一步劃分為若干子網(wǎng),以避免主機過多而擁堵或過少而IP浪費。
二、為什么要使用子網(wǎng)掩碼?
子網(wǎng)掩碼可以分離出IP地址中的網(wǎng)絡(luò)地址和主機地址,那為什么要分離呢?因為兩臺計算機要通訊,首先要判斷是否處于同一個廣播域內(nèi),即網(wǎng)絡(luò)地址是否相同。如果網(wǎng)絡(luò)地址相同,表明接受方在本網(wǎng)絡(luò)上,那么可以把數(shù)據(jù)包直接發(fā)送到目標(biāo)主機,否則就需要路由網(wǎng)關(guān)將數(shù)據(jù)包轉(zhuǎn)發(fā)送到目的地。
三、子網(wǎng)掩碼的分類
1)缺省子網(wǎng)掩碼:
(未劃分子網(wǎng))
子網(wǎng)掩碼32位與IP地址32位對應(yīng),如果某位是網(wǎng)絡(luò)地址,則子網(wǎng)掩碼為1,否則為0。例如A類IP地址,第一節(jié)為網(wǎng)絡(luò)地址,其余三節(jié)為主機地址,故掩碼為“11111111.00000000.00000000.00000000”
A類網(wǎng)絡(luò)缺省子網(wǎng)掩碼:255.0.0.0
B類網(wǎng)絡(luò)缺省子網(wǎng)掩碼:255.255.0.0
C類網(wǎng)絡(luò)缺省子網(wǎng)掩碼:255.255.255.0
2)自定義子網(wǎng)掩碼:
(用于劃分子網(wǎng))
將一個網(wǎng)絡(luò)劃分為若干子網(wǎng),希望每個子網(wǎng)擁有不同的網(wǎng)絡(luò)地址或子網(wǎng)地址。因為IP是有限的,實際上我們是將主機地址分為兩個部分:子網(wǎng)網(wǎng)絡(luò)地址、子網(wǎng)主機地址。形式如下:
未做子網(wǎng)劃分的ip地址:網(wǎng)絡(luò)地址+主機地址
做子網(wǎng)劃分后的ip地址:網(wǎng)絡(luò)地址+(子網(wǎng)網(wǎng)絡(luò)地址+子網(wǎng)主機地址)
四、子網(wǎng)掩碼和ip地址的關(guān)系
子網(wǎng)掩碼是用來判斷任意兩臺計算機的IP地址是否屬于同一子網(wǎng)絡(luò)的根據(jù)。具體說就是兩臺計算機各自的IP地址與子網(wǎng)掩碼進(jìn)行“與”運算后,如果得出的結(jié)果是相同的,則說明這兩臺計算機是處于同一個子網(wǎng)絡(luò)上的,可以進(jìn)行直接的通訊。
例如:設(shè)IP地址為192.168.10.2,子網(wǎng)掩碼為255.255.255.240,那么子網(wǎng)掩碼是怎樣來區(qū)分網(wǎng)絡(luò)地址和主機地址的呢。
主機地址為:0.0.0.2(將掩碼取反,然后與運算)
五、為什么要要劃分子網(wǎng)?
例如:在A類IP地址中,每個A類網(wǎng)絡(luò)可能有16,777,214臺主機,它們處于同一廣播域。在同一廣播域中有這么多主機是不可能的,網(wǎng)絡(luò)會因為廣播通信而飽和。另一方面,IP地址資源越來越少。為實現(xiàn)更小的廣播域,就需要進(jìn)一步分成更小的網(wǎng)絡(luò)。劃分子網(wǎng)后,通過使用掩碼,把子網(wǎng)隱藏起來,使得從外部看網(wǎng)絡(luò)沒有變化,這就是子網(wǎng)掩碼。
六、子網(wǎng)劃分簡述
子網(wǎng)劃分是通過借用IP地址中若干位主機地址來充當(dāng)子網(wǎng)的網(wǎng)絡(luò)地址,從而將原網(wǎng)絡(luò)劃分為若干子網(wǎng)。
劃分子網(wǎng)時,隨著子網(wǎng)地址借用主機位數(shù)的增多,子網(wǎng)的數(shù)目隨之增加,但每個子網(wǎng)中的可用主機數(shù)逐漸減少。
如C類地址,原有8位主機位,2^8-2即254個主機地址,默認(rèn)子網(wǎng)掩碼255.255.255.0。(全0或全1不可用)
借用1位主機位,產(chǎn)生2121=2個子網(wǎng),每個子網(wǎng)有2^7個主機地址;
借用2位主機位,產(chǎn)生2222=4個子網(wǎng),每個子網(wǎng)有2^6個主機地址;
……
根據(jù)子網(wǎng)ID借用的主機位數(shù),我們可以計算出劃分的子網(wǎng)數(shù)、掩碼、每個子網(wǎng)主機數(shù),列表如下:
七、子網(wǎng)掩碼計算
1、利用子網(wǎng)數(shù)來計算
在求子網(wǎng)掩碼之前必須先搞清楚要劃分的子網(wǎng)數(shù)目,以及每個子網(wǎng)內(nèi)的所需主機數(shù)目。
1)將子網(wǎng)數(shù)目轉(zhuǎn)化為二進(jìn)制來表示
2)取得該二進(jìn)制的位數(shù),為 N
3)取得該 IP地址的類子網(wǎng)掩碼,將其主機地址部分的的前N位置 1 即得出該IP地址劃分子網(wǎng)的子網(wǎng)掩碼。
如欲將C類IP地址192.168.10.0劃分成4個子網(wǎng):
1)4=100
2)該二進(jìn)制為三位數(shù),N = 3
3)將A類地址的子網(wǎng)掩碼255.255.255.0的主機地址前3位置 1,得到子網(wǎng)掩碼255.255.255.224。(具體見下圖)
2、利用主機數(shù)來計算
1)將主機數(shù)目轉(zhuǎn)化為二進(jìn)制來表示
2)如果主機數(shù)小于或等于254(注意去掉保留的兩個IP地址),則取得該主機的二進(jìn)制位數(shù)。
3)將該類IP地址的主機地址位數(shù)全部置1,然后從后向前的將N位全部置為 0,即為子網(wǎng)掩碼值。
如欲將B類IP地址192.168.10.0劃分成若干子網(wǎng),每個子網(wǎng)內(nèi)有主機25臺:
1) 25=11001
2)該二進(jìn)制為十位數(shù),N = 5
3)將該B類地址的子網(wǎng)掩碼 255.255.255.0的主機地址全部置 1,得到255.255.255.255,然后再從后向前將后5位置0,即為:11111111.11111111.11111111.11100000,即255.255.252.224。
步驟總結(jié):
1.子網(wǎng)數(shù)和主機數(shù)都可以計算子網(wǎng)掩碼,2.取得子網(wǎng)/主機的二進(jìn)制位數(shù),3.網(wǎng)絡(luò)地址置0主機地址置1,4.換成十進(jìn)制