子網掩碼,又叫網絡掩碼、地址掩碼、子網絡遮罩,它用來指明一個IP地址的哪些位標識的是主機所在的子網,以及哪些位標識的是主機的位掩碼。子網掩碼不能單獨存在,它必須結合IP地址一起使用。
子網掩碼是一個32位地址,是與IP地址結合使用的一種技術。它的主要作用有兩個,一是用于屏蔽IP地址的一部分以區別網絡標識和主機標識,并說明該IP地址是在局域網上,還是在遠程網上。二是用于將一個大的IP網絡劃分為若干小的子網絡。
使用子網是為了減少IP的浪費。因為隨著互聯網的發展,越來越多的網絡產生,有的網絡多則幾百臺,有的只有區區幾臺,這樣就浪費了很多IP地址,所以要劃分子網。使用子網可以提高網絡應用的效率。
通過計算機的子網掩碼判斷兩臺計算機是否屬于同一網段的方法是,將計算機十進制的IP地址和子網掩碼轉換為二進制的形式,然后進行二進制“與”(AND)計算(全1則得1,不全1則得0),如果得出的結果是相同的,那么這兩臺計算機就屬于同一網段。
30位的子網掩碼是11111111.11111111.11111111.11111100,將二進制數轉換成十進制數,得到子網掩碼為255.255.255.252,反掩碼是0.0.0.3。
子網掩碼的設定必須遵循一定的規則。與二進制IP地址相同,子網掩碼由1和0組成,且1和0分別連續。子網掩碼的長度也是32位,左邊是網絡位,用二進制數字“1”表示,1的數目等于網絡位的長度;右邊是主機位,用二進制數字“0”表示,0的數目等于主機位的長度。
這樣做的目的是為了讓掩碼與IP地址做按位與運算時用0遮住原主機數,而不改變原網絡段數字,而且很容易通過0的位數確定子網的主機數(2的主機位數次方-2,因為主機號全為1時表示該網絡廣播地址,全為0時表示該網絡的網絡號,這是兩個特殊地址)。通過子網掩碼,才能表明一臺主機所在的子網與其他子網的關系,使網絡正常工作。
子網掩碼的分類
子網掩碼一共分為兩類。一類是缺省(自動生成)子網掩碼,一類是自定義子網掩碼。
缺省子網掩碼:
缺省子網掩碼即未劃分子網,對應的網絡號的位都置1,主機號都置0。
A類網絡缺省子網掩碼:255.0.0.0
B類網絡缺省子網掩碼:255.255.0.0
C類網絡缺省子網掩碼:255.255.255.0
在缺省掩碼下的IP地址中,網絡地址和廣播地址的計算很簡單,雖然按照計算方法需要進制轉換和與運算,但是在實際使用當中,我們已經可以快速寫出結果。網絡地址的計算就是子網掩碼中0對應的地方變0, “255”對應的地方不變即可;而廣播地址則是子網掩碼中0對應 的地方變“255”,“255”對應的地方不變。
自定義子網掩碼:
自定義子網掩碼是將一個網絡劃分為幾個子網,需要每一段使用不同的網絡號或子網號,實際上我們可以認為是將主機號分為兩個部分:子網號、子網主機號。形式如下:
未做子網劃分的IP地址:網絡號+主機號
做子網劃分后的IP地址:網絡號+子網號+子網主機號
也就是說IP地址在劃分子網后,以前的主機號位置的一部分給了子網號,余下的是子網主機號。子網掩碼是32位二進制數,它的子網主機標識用部分為全“0”。利用子網掩碼可以判斷兩臺主機是否在同一子網中。若兩臺主機的IP地址分別與它們的子網掩碼相“與”后的結果相同,則說明這兩臺主機在同一子網中。