關於子網掩碼

2021-07-22 08:20:29 字數 3476 閱讀 1597

定義:

子網掩碼(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的位數確定子網的主機數

(2的主機位數次方-2,因為主機號全為1時表示該網路廣播位址,全為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的浪費。因為隨著網際網路的發展,越來越多的網路產生,...

關於子網掩碼計算

關於子網掩碼計算 ip位址是32位的二進位制數值,用於在tcp ip通訊協議中標記每台計算機的位址。通常我們使用點式十進位制來表示,如192.168.0.5等等。每個ip位址又可分為兩部分。即網路號部分和主機號部分 網路號表示其所屬的網路段編號,主機號則表示該網段中該主機的位址編號。按照網路規模的大...

關於子網掩碼簡介

子網掩碼不能單獨存在,它必須結合ip位址一起使用。子網掩碼只有乙個作用,就是將某個ip位址劃分成網路位址和主機位址兩部分。子網掩碼的設定必須遵循一定的規則。與ip位址相同,子網掩碼的長度也是32位,左邊是網路位,用二進位制數字 1 表示 右邊是主機位,用二進位制數字 0 表示。附圖所示的就是ip位址...