1. 程式人生 > >子網掩碼學習小記

子網掩碼學習小記

1、子網掩碼的概念及作用

子網掩碼是一個應用於TCP/IP網路的32位二進位制值,它可以遮蔽掉ip地址中的一部分,從而分離出ip地址中的網路部分與主機部分,基於子網掩碼,管理員可以將網路進一步劃分為若干子網。

2、為什麼需要使用子網掩碼

雖然我們說子網掩碼可以分離出ip地址中的網路部分與主機部分,可大家還是會有疑問,比如為什麼要區分網路地址與主機地址?區分以後又怎樣呢?那麼好,讓我們再詳細的講一下吧!

在使用TCP/IP協議的兩臺計算機之間進行通訊時,我們通過將本機的子網掩碼與接受方主機的ip地址進行’與’運算,即可得到目標主機所在的網路號,又由於每臺主機在配置TCP/IP協議時都設定了一個本機ip地址與子網掩碼,所以可以知道本機所在的網路號。

通過比較這兩個網路號,就可以知道接受方主機是否在本網路上。如果網路號相同,表明接受方在本網路上,那麼可以通過相關的協議把資料包直接傳送到目標主機;如果網路號不同,表明目標主機在遠端網路上,那麼資料包將會發送給本網路上的路由器,由路由器將資料包傳送到其他網路,直至到達目的地。在這個過程中你可以看到,子網掩碼是不可或缺的!

、如何用子網掩碼得到網路/主機地址

既然子網掩碼這麼重要,那麼它是如何分離出ip地址中的網路地址和主機地址的呢?

過程如下:
1.將ip地址與子網掩碼轉換成二進位制;
2.將二進位制形式的ip地址與子網掩碼做’與’運算,將答案化為十進位制便得到網路地址;
3.將二進位制形式的子網掩碼取’反’;
4.將取’反’後的子網掩碼與ip地址做’與’運算,將答案化為十進位制便得到主機地址。

下面我們用一個例子給大家演示:
假設有一個I P 地址:192.168.0.1
子網掩碼為:255.255.255.0
化為二進位制為:I P 地址11000000.10101000.00000000.00000001
子網掩碼11111111.11111111.11111111.00000000
將兩者做’與’運算得:11000000.10101000.00000000.00000000
將其化為十進位制得:192.168.0.0
這便是上面ip的網路地址,主機地址以此類推。
小技巧:由於觀察到上面的子網掩碼為C類地址的預設子網掩碼(即未劃分子網),便可直接看出網路地址為ip地址的前三部分,即前三個位元組。

解惑:
什麼?你還是不懂?問我為什麼要做’與’運算而不是別的?其實你仔細觀察一下上面的例子就應該能明白。
‘1’在做’與’運算時,不影響結果,’0’在做’與’運算時,將得到0,利用’與’的這個特性,當管理員設定子網掩碼時,即將子網掩碼上與網路地址所對應的位都設為’1’,其他位都設為’0’,那麼當作’與’時,ip地址中的網路號將被保留到結果中,而主機號將被置0,這樣就解析出了網路號,解析主機號也一樣,只需先把子網掩碼取’反’,在做’與’。

五、子網掩碼的分類

1)預設子網掩碼:
即未劃分子網,對應的網路號的位都置1,主機號都置0。
A類網路預設子網掩碼:255.0.0.0
B類網路預設子網掩碼:255.255.0.0
C類網路預設子網掩碼:255.255.255.0

2)自定義子網掩碼:
將一個網路劃分為幾個子網,需要每一段使用不同的網路號或子網號,實際上我們可以認為是將主機號分為兩個部分:子網號、子網主機號。 形式如下:
未做子網劃分的ip地址:網路號+主機號
做子網劃分後的ip地址:網路號+子網號+子網主機號
也就是說ip地址在化分子網後,以前的主機號位置的一部分給了子網號,餘下的是子網主機號。

理解:

就好比如說你的身份證是你的ip地址,全中國每個人身份證(主機地址)是唯一的,但是我們可以通過身份證的固定幾位(預設子網掩碼,你可以繼續自己分組剩餘幾位),看出你是哪個省(網路地址)的人.