子網掩碼(subnet mask)又叫網路掩碼、位址掩碼、子網路遮罩,它是一種用來指明乙個ip位址的哪些位標識的是主機所在的子網,以及哪些位標識的是主機的位掩碼。子網掩碼不能單獨存在,它必須結合ip位址一起使用。子網掩碼只有乙個作用,就是將某個ip位址劃分成網路位址和主機位址兩部分。
子網掩碼是乙個32位位址,用於遮蔽ip位址的一部分以區別網路標識和主機標識,並說明該ip位址是在區域網上,還是在遠端網上。
子網掩碼——遮蔽乙個ip位址的網路部分的「全1」位元模式。對於a類位址來說,預設的子網掩碼是255.0.0.0;對於b類位址來說預設的子網掩碼是255.255.0.0;對於c類位址來說預設的子網掩碼是255.255.255.0。
網際網路是由許多小型網路構成的,每個網路上都有許多主機,這樣便構成了乙個有層次的結構。ip位址在設計時就考慮到位址分配的層次特點,將每個ip位址都分割成網路號和主機號兩部分,以便於ip位址的定址操作。
ip位址的網路號和主機號各是多少位呢?如果不指定,就不知道哪些位是網路號、哪些是主機號,這就需要通過子網掩碼來實現。
子網掩碼的設定必須遵循一定的規則。與二進位制ip位址相同,子網掩碼由1和0組成,且1和0分別連續。子網掩碼的長度也是32位,左邊是網路位,用二進位制數字「1」表示,1的數目等於網路位的長度;右邊是主機位,用二進位制數字「0」表示,0的數目等於主機位的長度。這樣做的目的是為了讓掩碼與ip位址做按位與運算時用0遮住原主機數,而不改變原網路段數字,而且很容易通過0的位數確定子網的主機數
。只有通過子網掩碼,才能表明一台主機所在的子網與其他子網的關係,使網路正常工作。
用於子網掩碼的位數決定於可能的子網數目和每個子網的主機數目。在定義子網掩碼前,必須弄清楚本來使用的子網數和主機數目。
a、確定哪些組位址歸我們使用。比如我們申請到的網路號為 「210.73.a.b」,該網路位址為c類ip位址,網路標識為「210.73.a」,主機標識為「b」。
b、根據我們所需的子網數以及將來可能擴充到的子網數,用宿主機的一些位來定義子網掩碼。比如我們需要12個子網,將來可能需要16個。用第四個位元組的前四位確定子網掩碼。前四位都置為「1」,即第四個位元組為「11110000」,這個數我們暫且稱作新的二進位制子網掩碼。
c、把對應初始網路的各個位都置為「1」,即前三個位元組都置為「1」,則子網掩碼的間斷二進位制形式為:「11111111.11111111.11111111.11110000」 。
d、把這個數轉化為間斷十進位制形式為:「255.255.255.240」 。
將 ip 位址與子網掩碼轉換成二進位制;
將二進位制形式的 ip 位址與子網掩碼做 』 與 』 運算,將答案化為十進位制便得到網路位址;
將二進位制形式的子網掩碼取 』 反 』 ;
將取 』 反 』 後的子網掩碼與 ip 位址做 』 與 』 運算,將答案化為十進位制便得到主機位址。
子網掩碼為: 255.255.255.0
子網掩碼 11111111.11111111.11111111.00000000
將兩者做 』 與 』 運算得: 11000000.10101000.00000000.00000000
將其化為十進位制得: 192.168.0.0
這便是上面 ip 的網路位址,主機位址以此類推。
觀察子網掩碼的二進位制形式,確定作為子網號的位數 n ;
子網數量為 2^n - 2 。(為什麼減 2 ,繼續往下看)
舉個例子來說,比如有這樣乙個子網掩碼: 255.255.255.224 其二進位制為:
11111111.11111111.11111111.11100000
可見 n=3,2 的 3 次方為 8 ,說明子網位址可能有
如下 8 種情況:
000 001 010 011 100 101 110 111
但其中代表網路自身的 000 ;代表廣播位址的 111 是被保留的,所以要減 2 。
總主機數量=子網數量×子網內主機數量
再用乙個例子給大家說明,比如子網掩碼為 255.255.255.224
上面的討論知道它最多可以劃分 6 個子網,那麼每個子網內最多有多少個主機呢?其實上面我已經給大家算過了,由於網路被劃分為 6 個子網,占用了主機號的前 3 位,且是 c 類位址,則主機號只能用 5 位來表示主機號,因此子網內的主機數量=( 2 的 5 次方)- 2 = 30.
因此通過這個子網掩碼我們可以算出這個網路最多可以標識 6*30=180 個主機(可見,在化分子網後,整個網路所能標識的主機數量將減少)。
由於子網掩碼的位數決定於可能的子網數目和每個子網的主機數目。在定義子網掩碼前,必須弄清楚本來使用的子網數和主機數目。
利用子網數來計算
在求子網掩碼之前必須先搞清楚要劃分的子網數目,以及每個子網內的所需主機數目。
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(b類位址的主機位包括後兩個位元組,所以這裡要把第三個位元組的前5位置1),得到 255.255.248.0
即為劃分成27個子網的b類ip位址 168.195.0.0的子網掩碼(實際上是劃成了32-2=30個子網)。
這一段介紹的是舊標準下計算的方法,關於舊的標準後文在介紹,在新標準中則可以先將27減去1,因為計算機是從0開始計算的,從0到27實際上是有28個,所以說如果需要27個就需要將27減去1。
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的子網掩碼。
子網掩碼取反怎麼取 子網掩碼
子網掩碼是乙個32位位址,是與ip位址結合使用的一種技術。它的主要作用有兩個,一是用於遮蔽ip位址的一部分以區別網路標識和主機標識,並說明該ip位址是在區域網上,還是在遠端網上。二是用於將乙個大的ip網路劃分為若干小的子網路。使用子網是為了減少ip的浪費。因為隨著網際網路的發展,越來越多的網路產生,...
4 2 3 子網掩碼
網際網路是由許多小型網路構成的,每個網路上都有許多主機,這樣便構成了乙個有層次的結構。ip位址在設計時就考慮到位址分配的層次特點,將每個 ip位址都分割成網路號和主機號兩部分,以便於 ip位址的定址操作。此時,需要用某種方法指定哪些位是網路號,哪些是主機號,這個任務就是由子網掩碼來承擔的。子網掩碼不...
子網掩碼詳解
一 子網掩碼的概念及作用 子網掩碼 subnet mask 又叫網路掩碼 位址掩碼 子網路遮罩,是乙個應用於tcp ip網路的32位二進位制值。它可以遮蔽掉ip位址中的一部分,從而分離出ip位址中的網路部分與主機部分,基於子網掩碼,管理員可以將網路進一步劃分為若干子網。它必須結合ip位址一起使用。二...