子網(wǎng)掩碼
子網(wǎng)掩碼(subnet mask)又叫網(wǎng)絡掩碼、地址掩碼、子網(wǎng)絡遮罩,它是一種用來指明一個IP地址的哪些位標識的是主機所在的子網(wǎng),以及哪些位標識的是主機的位掩碼。子網(wǎng)掩碼不能單獨存在,它必須結(jié)合IP地址一起使用。子網(wǎng)掩碼只有一個作用,就是將某個IP地址劃分成網(wǎng)絡地址和主機地址兩部分。
子網(wǎng)掩碼是一個32位地址,用于屏蔽IP地址的一部分以區(qū)別網(wǎng)絡標識和主機標識,并說明該IP地址是在局域網(wǎng)上,還是在遠程網(wǎng)上。
子網(wǎng)劃分
子網(wǎng)劃分定義:Internet組織機構(gòu)定義了五種IP地址,有A、B、C三類地址。A類網(wǎng)絡有126個,每個A類網(wǎng)絡可能有16777214臺主機,它們處于同一廣播域。而在同一廣播域中有這么多節(jié)點是不可能的,網(wǎng)絡會因為廣播通信而飽和,結(jié)果造成16777214個地址大部分沒有分配出去??梢园鸦诿款惖腎P網(wǎng)絡進一步分成更小的網(wǎng)絡,每個子網(wǎng)由路由器界定并分配一個新的子網(wǎng)網(wǎng)絡地址,子網(wǎng)地址是借用基于每類的網(wǎng)絡地址的主機部分創(chuàng)建的。劃分子網(wǎng)后,通過使用掩碼,把子網(wǎng)隱藏起來,使得從外部看網(wǎng)絡沒有變化,這就是子網(wǎng)掩碼。
子網(wǎng)掩碼與子網(wǎng)劃分講解
一、摘要
近期在我的論壇中大家對子網(wǎng)掩碼以及子網(wǎng)劃分的討論比較多,因為前面也寫了關于ip地址的教程,為了延續(xù)性,就寫了這個關于子網(wǎng)掩碼與子網(wǎng)劃分的教程,學這篇教程需要一定的基礎(高手當然除外),建議讀過前面的關于ip的教程后,再讀本教程。準備好了嗎?我們開始吧!!
二、子網(wǎng)掩碼的概念及作用
子網(wǎng)掩碼是一個應用于TCP/IP網(wǎng)絡的32位二進制值,它可以屏蔽掉ip地址中的一部分,從而分離出ip地址中的網(wǎng)絡部分與主機部分,基于子網(wǎng)掩碼,管理員可以將網(wǎng)絡進一步劃分為若干子網(wǎng)。
三、為什么需要使用子網(wǎng)掩碼
雖然我們說子網(wǎng)掩碼可以分離出ip地址中的網(wǎng)絡部分與主機部分,可大家還是會有疑問,比如為什么要區(qū)分網(wǎng)絡地址與主機地址?區(qū)分以后又怎樣呢?那么好,讓我們再詳細的講一下吧!
在使用TCP/IP協(xié)議的兩臺計算機之間進行通信時,我們通過將本機的子網(wǎng)掩碼與接受方主機的ip地址進行‘與’運算,即可得到目標主機所在的網(wǎng)絡號,又由于每臺主機在配置TCP/IP協(xié)議時都設置了一個本機ip地址與子網(wǎng)掩碼,所以可以知道本機所在的網(wǎng)絡號。
通過比較這兩個網(wǎng)絡號,就可以知道接受方主機是否在本網(wǎng)絡上。如果網(wǎng)絡號相同,表明接受方在本網(wǎng)絡上,那么可以通過相關的協(xié)議把數(shù)據(jù)包直接發(fā)送到目標主機;如果網(wǎng)絡號不同,表明目標主機在遠程網(wǎng)絡上,那么數(shù)據(jù)包將會發(fā)送給本網(wǎng)絡上的路由器,由路由器將數(shù)據(jù)包發(fā)送到其他網(wǎng)絡,直至到達目的地。在這個過程中你可以看到,子網(wǎng)掩碼是不可或缺的!
四、如何用子網(wǎng)掩碼得到網(wǎng)絡/主機地址
既然子網(wǎng)掩碼這么重要,那么它是如何分離出ip地址中的網(wǎng)絡地址和主機地址的呢?
過程如下:
1.將ip地址與子網(wǎng)掩碼轉(zhuǎn)換成二進制;
2.將二進制形式的ip地址與子網(wǎng)掩碼做‘與’運算,將答案化為十進制便得到網(wǎng)絡地址;
3.將二進制形式的子網(wǎng)掩碼取‘反’;
4.將取‘反’后的子網(wǎng)掩碼與ip地址做‘與’運算,將答案化為十進制便得到主機地址。
下面我們用一個例子給大家演示:
假設有一個I P 地址:192.168.0.1
子網(wǎng)掩碼為:255.255.255.0
化為二進制為:I P 地址 11000000. 10101000. 00000000. 00000001
子網(wǎng)掩碼 11111111. 11111111. 11111111. 00000000
將兩者做‘與’運算得: 11000000. 10101000. 00000000. 00000000
將其化為十進制得: 192.168.0.0
這便是上面ip的網(wǎng)絡地址,主機地址以此類推。
小技巧:由于觀察到上面的子網(wǎng)掩碼為C類地址的默認子網(wǎng)掩碼(即未劃分子網(wǎng)),便可直接看出網(wǎng)絡地址為ip地址的前三部分,即前三個字節(jié)。
解惑:
什么?你還是不懂?問我為什么要做‘與’運算而不是別的?其實你仔細觀察一下上面的例子就應該能明白。
‘1’在做‘與’運算時,不影響結(jié)果,‘0’在做‘與’運算時,將得到0,利用‘與’的這個特性,當管理員設置子網(wǎng)掩碼時,即將子網(wǎng)掩碼上與網(wǎng)絡地址所對應的位都設為‘1’,其他位都設為‘0’,那么當作‘與’時,ip地址中的網(wǎng)絡號將被保留到結(jié)果中,而主機號將被置0,這樣就解析出了網(wǎng)絡號,解析主機號也一樣,只需先把子網(wǎng)掩碼取‘反’,在做‘與’。
五、子網(wǎng)掩碼的分類
1)缺省子網(wǎng)掩碼:
即未劃分子網(wǎng),對應的網(wǎng)絡號的位都置1,主機號都置0。
A類網(wǎng)絡缺省子網(wǎng)掩碼:255.0.0.0
B類網(wǎng)絡缺省子網(wǎng)掩碼:255.255.0.0
C類網(wǎng)絡缺省子網(wǎng)掩碼:255.255.255.0
2)自定義子網(wǎng)掩碼:
將一個網(wǎng)絡劃分為幾個子網(wǎng),需要每一段使用不同的網(wǎng)絡號或子網(wǎng)號,實際上我們可以認為是將主機號分為兩個部分:子網(wǎng)號、子網(wǎng)主機號。 形式如下:
未做子網(wǎng)劃分的ip地址:網(wǎng)絡號+主機號
做子網(wǎng)劃分后的ip地址:網(wǎng)絡號+子網(wǎng)號+子網(wǎng)主機號
也就是說ip地址在化分子網(wǎng)后,以前的主機號位置的一部分給了子網(wǎng)號,余下的是子網(wǎng)主機號。
六、子網(wǎng)編址技術
前面幾點介紹了子網(wǎng)掩碼的一些知識,下面我們來看看子網(wǎng)劃分,不要認為子網(wǎng)劃分與子網(wǎng)掩碼沒有關系喲,子網(wǎng)劃分也是靠子網(wǎng)掩碼來實現(xiàn)的。
子網(wǎng)是指一個ip地址上生成的邏輯網(wǎng)絡,它可以讓一個網(wǎng)絡地址跨越多個物理網(wǎng)絡,即一個網(wǎng)絡地址代表多個網(wǎng)絡(很明顯這樣做可以節(jié)省ip地址)。呵呵,聽起來是不是很蹊蹺?一個網(wǎng)絡就這樣被莫名其妙的劃分成了許多子網(wǎng)?那么這樣做有什么用呢?
我舉個例子來跟你說吧:比如你是某個學校的網(wǎng)管,你的學校有四個處于不同物理位置的網(wǎng)絡教室,每個網(wǎng)絡教室25臺機器,你的任務是給這些機器配置ip地址和子網(wǎng)掩碼。你可能會覺得這再簡單不過了,申請4個C類地址,每個教室一個,然后在一一配置不就搞定了。嗯,這樣做理論上沒錯,但你有沒有想到這樣做很浪費,你一共浪費了(254-25)*4=916個ip地址,如果所有的網(wǎng)管都像你這樣做,那么internet上的ip地址將會在極短的時間內(nèi)枯竭,顯然,你是不能這樣做,你應該做子網(wǎng)劃分。
子網(wǎng)劃分說白了是這樣一個事情:因為在劃分了子網(wǎng)后,ip地址的網(wǎng)絡號是不變的,因此在局域網(wǎng)外部看來,這里仍然只存在一個網(wǎng)絡,即網(wǎng)絡號所代表的那個網(wǎng)絡;但在網(wǎng)絡內(nèi)部卻是另外一個景象,因為我們每個子網(wǎng)的子網(wǎng)號是不同的,當用化分子網(wǎng)后的ip地址與子網(wǎng)掩碼(注意,這里指的子網(wǎng)掩碼已經(jīng)不是缺省子網(wǎng)掩碼了,而是自定義子網(wǎng)掩碼,是管理員在經(jīng)過計算后得出的)做‘與’運算時,每個子網(wǎng)將得到不同的子網(wǎng)地址,從而實現(xiàn)了對網(wǎng)絡的劃分(得到了不同的地址,當然就能區(qū)別出各個子網(wǎng)了,有趣吧)。
子網(wǎng)編址技術,即子網(wǎng)劃分將會有助于以下問題的解決:
1)巨大的網(wǎng)絡地址管理耗費:如果你是一個A類網(wǎng)絡的管理員,你一定會為管理數(shù)量龐大的主機而頭痛的;
2)路由器中的選路表的急劇膨脹:當路由器與其他路由器交換選路表時,互聯(lián)網(wǎng)的負載是很高的,所需的計算量也很高;
3)IP地址空間有限并終將枯竭:這是一個至關重要的問題,高速發(fā)展的internet,使原來的編址方法不能適應,而一些ip地址卻不能被充分的利用,造成了浪費。
因此,在配置局域網(wǎng)或其他網(wǎng)絡時,根據(jù)需要劃分子網(wǎng)是很重要的,有時也是必要的?,F(xiàn)在,子網(wǎng)編址技術已經(jīng)被絕大多數(shù)局域網(wǎng)所使用。
七、如何劃分子網(wǎng)及確定子網(wǎng)掩碼
在動手劃分之前,一定要考慮網(wǎng)絡目前的需求和將來的需求計劃。
劃分子網(wǎng)主要從以下方面考慮:
1.網(wǎng)絡中物理段的數(shù)量(即要劃分的子網(wǎng)數(shù)量)
2.每個物理段的主機的數(shù)量
確定子網(wǎng)掩碼的步驟:
第一步:確定物理網(wǎng)段的數(shù)量,并將其轉(zhuǎn)換為二進制數(shù),并確定位數(shù)n。如:你需要6個子網(wǎng),6的二進制值為110,共3位,即n=3;
第二步:按照你ip地址的類型寫出其缺省子網(wǎng)掩碼。如C類,則缺省子網(wǎng)掩碼為11111111.11111111.11111111.00000000;
第三步:將子網(wǎng)掩碼中與主機號的前n位對應的位置置1,其余位置置0。若n=3且為
C類地址:則得到子網(wǎng)掩碼為11111111.11111111.11111111.11100000化為十進制得到255.255.255.224
B類地址:則得到子網(wǎng)掩碼為11111111.11111111.11100000.00000000化為十進制得到255.255.224.0
A類地址:則得到子網(wǎng)掩碼為11111111.11100000.00000000.00000000化為十進制得到255.224.0.0
另:由于網(wǎng)絡被劃分為6個子網(wǎng),占用了主機號的前3位,若是C類地址,則主機號只能用5位來表示主機號,因此每個子網(wǎng)內(nèi)的主機數(shù)量=(2的5次方)-2=30,6個子網(wǎng)總共所能標識的主機數(shù)將小于254,這點請大家注意!
解惑:
1.你可能有這樣的疑問,比如在上面的例子里,6的二進制值為110,那么為什么要將子網(wǎng)掩碼中與主機號的前n位對應的位置都置1,而不是用6的二進制110去替代前n位呢?
呵呵,這個問題提的很好,答案是這樣的:我們計算子網(wǎng)掩碼的目的是什么?就是希望它在做‘與’的時候能夠解析出網(wǎng)絡號,也就是說它與網(wǎng)絡號所對應的位置都應該是1(當然包括與子網(wǎng)號所對應的位置),那么很顯然,你寫上110是不對的,如果你這么寫,那么它的意義是主機號的前兩位作為子網(wǎng)號,那么這樣將最多劃分2個子網(wǎng)(不明白沒關系,下面有計算子網(wǎng)數(shù)量的方法),與我們當初所要劃分的6個子網(wǎng)顯然是不一致的。這樣解釋你能明白馬?
2.細心的人可能會發(fā)現(xiàn),劃分4個子網(wǎng),5個子網(wǎng)和6個子網(wǎng)的子網(wǎng)掩碼是一樣的,同為255.255.255.224,是不是錯了呢?三個子網(wǎng)掩碼應該不同呀?呵呵,是這樣的,因為4,5,6的二進制值都是3為,因此在子網(wǎng)掩碼中這三位都置1,劃分是沒有問題的,只是你的理解上有一點小小的問題,劃分為4個子網(wǎng),其實可以理解為劃分為6個子網(wǎng),但你只使用了其中的4個。比如你想劃分8個子網(wǎng),與劃分14個子網(wǎng)所得到的子網(wǎng)掩碼是一樣的,都占用了4位作為子網(wǎng)號。
八、相關判斷方法
1)如何判斷是否做了子網(wǎng)劃分?
這個問題很簡單,如果它使用了缺省子網(wǎng)掩碼,那么表示沒有作子網(wǎng)劃分;反之,則一定作了子網(wǎng)劃分。
2)如何計算子網(wǎng)地址?
還是老辦法,將ip地址與子網(wǎng)掩碼的二進制形式做‘與’,得到的結(jié)果即為子網(wǎng)地址。
3)如何計算主機地址?
這個也不用說了吧,先將子網(wǎng)掩碼的二進制取‘反’,再與ip地址做‘與’。
4)如何計算子網(wǎng)數(shù)量?
這個問題大家會常常提到,還是從子網(wǎng)掩碼入手,主要有兩個步驟:
1.觀察子網(wǎng)掩碼的二進制形式,確定作為子網(wǎng)號的位數(shù)n;
2.子網(wǎng)數(shù)量為2的n次方-2。(為什么減2,呵呵,往下看)
舉個例子來說,比如有這樣一個子網(wǎng)掩碼:255.255.255.224其二進制為:
11111111.11111111.11111111.11100000 可見n=3,2的3次方為8,說明子網(wǎng)地址可能有
如下8種情況:
000
001
010
011
100
101
110
111
但其中代表網(wǎng)絡自身的000;代表廣播地址的111是被保留的,所以要減2,明白了嗎?
5)如何計算總主機數(shù)量,子網(wǎng)內(nèi)主機數(shù)量?
總主機數(shù)量=子網(wǎng)數(shù)量×子網(wǎng)內(nèi)主機數(shù)量
再用一個例子給大家說明,比如子網(wǎng)掩碼為255.255.255.224
上面的討論知道它最多可以劃分6個子網(wǎng),那么每個子網(wǎng)內(nèi)最多有多少個主機呢?其實上面我已經(jīng)給大家算過了,由于網(wǎng)絡被劃分為6個子網(wǎng),占用了主機號的前3位,且是C類地址,則主機號只能用5位來表示主機號,因此子網(wǎng)內(nèi)的主機數(shù)量=(2的5次方)-2=30.
因此通過這個子網(wǎng)掩碼我們可以算出這個網(wǎng)絡最多可以標識6*30=180個主機(可見,在化分子網(wǎng)后,整個網(wǎng)絡所能標識的主機數(shù)量將減少)。
6)計算ip地址范圍
通過一個自定義子網(wǎng)掩碼,我們可以得到這個網(wǎng)絡所有可能的ip地址范圍。
具體步驟:
1.寫出二進制子網(wǎng)地址;
2.將子網(wǎng)地址化為十進制;
3.計算子網(wǎng)所能容納主機數(shù);
4.得出ip范圍(起始地址:子網(wǎng)地址+1;終止地址:子網(wǎng)地址+主機數(shù))
假設一個子網(wǎng)掩碼為:255.255.255.224,可知其最多可以劃分6個子網(wǎng),子網(wǎng)內(nèi)主機數(shù)為30,那么所有可能的ip地址及計算流程如下:
子網(wǎng)--子網(wǎng)地址(二進制)--------子網(wǎng)地址-----實際ip范圍
1號-11001010.01110000.00001010.00100000-202.112.10.32-202.112.10.33-202.112.10.62
2號-11001010.01110000.00001010.01000000-202.112.10.64-202.112.10.65-202.112.10.94
3號-11001010.01110000.00001010.01100000-202.112.10.96-202.112.10.97-202.112.10.126
4號-11001010.01110000.00001010.10000000-202.112.10.128-202.112.10.129-202.112.10.158
5號-11001010.01110000.00001010.10100000-202.112.10.160-202.112.10.161-202.112.10.190
6號-11001010.01110000.00001010.11000000-202.112.10.192-202.112.10.193-202.112.10.222
評論