什麼是子網掩碼_計算方法

  子網掩碼是每個使用網際網路的人必須要掌握的基礎知識,那麼你對子網掩碼瞭解多少呢?以下是由小編整理關於什麼是子網掩碼的內容,希望大家喜歡!

  子網掩碼的介紹

  子網掩碼subnet mask又叫網路掩碼、地址掩碼、子網路遮罩,它是一種用來指明一個IP地址的哪些位標識的是主機所在的子網,以及哪些位標識的是主機的位掩碼。子網掩碼不能單獨存在,它必須結合IP地址一起使用。子網掩碼只有一個作用,就是將某個IP地址劃分成網路地址和主機地址兩部分。

  子網掩碼是一個32位地址,用於遮蔽IP地址的一部分以區別網路標識和主機標識,並說明該IP地址是在區域網上,還是在遠端網上。

  子網掩碼的計算方式

  由於子網掩碼的位數決定於可能的子網數目和每個子網的主機數目。在定義子網掩碼前,必須弄清楚本來使用的子網數和主機數目。

  根據子網數

  利用子網數來計算

  在求子網掩碼之前必須先搞清楚要劃分的子網數目,以及每個子網內的所需主機數目。

  1將子網數目轉化為二進位制來表示

  2取得該二進位制的位數,為 N

  3取得該IP地址的類子網掩碼,將其主機地址部分的前N位置1 即得出該IP地址劃分子網的子網掩碼。

  如欲將B類IP地址168.195.0.0劃分成27個子網:

  127=11011

  2該二進位制為五位數,N = 5

  3將B類地址的子網掩碼255.255.0.0的主機地址前5位置1B類地址的主機位包括後兩個位元組,所以這裡要把第三個位元組的前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的子網掩碼。

  增量計演算法

  子網ID增量計演算法即計算每個子網的IP範圍

  其基本計算步驟如下:

  第1步,將所需的子網數轉換為二進位制,如所需劃分的子網數為“4”,則轉換成成二進位制為00000100;

  第2步,取子網數的二進位制中有效位數,即為向預設子網掩碼中加入的位數既向主機ID中借用的位數。如前面的00000100,有效位為“100”,為3位在新標準中只需要2位就可以了;

  第3步,決定子網掩碼。如IP地址為B類129.20.0.0網路,則預設子網掩碼為:255.255.0.0,借用主機ID的3位以後變為:255.255.22411100000.0,即將所借的位全表示為1,用作子網掩碼。

  第4步,將所借位的主機ID的起始位段最右邊的“1”轉換為十進位制,即為每個子網ID之間的增量,如前面的借位的主機ID起始位段為“11100000”,最右邊的“1”,轉換成十進位制後為2^5=32此為子網ID增量。

  第5步,產生的子網ID數為:2^m-2 m為向預設子網掩碼中加入的位數,如本例向子網掩碼中新增的位數為3,則可用子網ID數為:2^3-2=6個;

  第6步,將上面產生的子網ID增量附在原網路ID之後的第一個位段,便形成第一個子網網路ID 129.20.32.0即第一個子網的起始IP段;

  第7步,重複上步操作,在原子網ID基礎上加上一個子網ID增量,依次類推,直到子網ID中的最後位段為預設子網掩碼位用主機ID位之後的最後一個位段值,這樣就可得到所有的子網網路ID。如預設子網掩碼位用主機ID位之後的子網ID為255.255.224.0,其中的“224”為借用主機ID後子網ID的最後一位段值,所以當子網ID通過以上增加增量的方法得到129.20.224.0時便終止,不要再添加了只能用到129.20.192.0。

  我們知道當主機ID為全0時表示網路ID,全1時表示廣播地址。在RFC950標準中,不建議使用全0和全1的子網ID。

  例如把最後一個位元組的前3位借給網路ID,用後面的5位來表示主機ID,這樣就會產生2^3=8個子網,子網ID就分別為000、001、010、011、100、101、110、111這樣8個,在RFC950標準中只能使用中間的6個子網ID。

  這麼做的原因是:

  設我們有一個網路:192.168.0.0/24即子網掩碼的前24位為1,255.255.255.0,我們需要兩個子網,那麼按照RFC950,應該使用/26而不是/25,得到兩個可以使用的子網192.168.0.64和192.168.0.128

  對於192.168.0.0/24,網路地址是192.168.0.0,廣播地址是192.168.0.255

  對於192.168.0.0/26,網路地址是192.168.0.0,廣播地址是192.168.0.63

  對於192.168.0.64/26,網路地址是192.168.0.64,廣播地址是192.168.0.127

  對於192.168.0.128/26,網路地址是192.168.0.128,廣播地址是192.168.0.191

  對於192.168.0.192/26,網路地址是192.168.0.192,廣播地址是192.168.0.255

  你可以看出來,對於第一個子網,網路地址和主網路的網路地址是重疊的,對於最後一個子網,廣播地址和主網路的廣播地址也是重疊的。在CIDR流行以前,這樣的重疊將導致極大的混亂。比如,一個發往192.168.0.255的廣播是發給主網路的還是子網的?這就是為什麼在當時不建議使用全0和全1子網。在今天,CIDR已經非常普及了,所以一般不需要再考慮這個問題。

  子網掩碼的作用

  子網掩碼是一個32位地址,是與IP地址結合使用的一種技術。它的主要作用有兩個,一是用於遮蔽IP地址的一部分以區別網路標識和主機標識,並說明該IP地址是在區域網上,還是在遠端網上。二是用於將一個大的IP網路劃分為若干小的子網路。

  使用子網是為了減少IP的浪費。因為隨著網際網路的發展,越來越多的網路產生,有的網路多則幾百臺,有的只有區區幾臺,這樣就浪費了很多IP地址,所以要劃分子網。使用子網可以提高網路應用的效率。

  通過IP 地址的二進位制與子網掩碼的二進位制進行與運算,確定某個裝置的網路地址和主機號,也就是說通過子網掩碼分辨一個網路的網路部分和主機部分。子網掩碼一旦設定,網路地址和主機地址就固定了。子網一個最顯著的特徵就是具有子網掩碼。與IP地址相同,子網掩碼的長度也是32位,也可以使用十進位制的形式。例如,為二進位制形式的子網掩碼:1111 1111.1111 1111.1111 1111.0000 0000,採用十進位制的形式為:255.255.255.0。

  通過計算機的子網掩碼判斷兩臺計算機是否屬於同一網段的方法是,將計算機十進位制的IP地址和子網掩碼轉換為二進位制的形式,然後進行二進位制“與”AND計算全1則得1,不全1則得0,如果得出的結果是相同的,那麼這兩臺計算機就屬於同一網段。

  子網掩碼的表示方法

  子網掩碼通常有以下2種格式的表示方法:

  1. 通過與IP地址格式相同的點分十進位制表示

  如:255.0.0.0 或255.255.255.128

  2. 在IP地址後加上"/"符號以及1-32的數字,其中1-32的數字表示子網掩碼中網路標識位的長度

  如:192.168.1.1/24 的子網掩碼也可以表示為255.255.255.0

  子網掩碼一般為255.255.255.0

子網掩碼的計算方法