1. 程式人生 > >子網掩碼與子網個數、主機地址個數的關係

子網掩碼與子網個數、主機地址個數的關係

IP地址:

  IP地址由網路號(Network ID)和主機號(Host ID)兩部分組成。網路號標識的是Internet上的一個子網,而主機號標識的是子網中的某臺主機。IP地址根據網路號和主機號的數量而分為A、B、C三類。

  A類IP地址:用可變的7位(bit)來標識網路號,可變的24位標識主機號,最前面一位為“0”,即A類地址的第一段取值介於1~126之間。A類地址通常為大型網路而提供,全世界總共只有126個A類網路,每個A類網路最多可以連線16777214臺主機。

  B類IP地址:用可變的14位來標識網路號,可變的16位標識主機號,前面兩位是“10”。B類地址的第一段取值介於128~191之間(網路號不能以數字127開頭,數字127是專門保留給診斷用的,如127.0.0.1是會送地址,用於迴路測試),第一段和第二段合在一起表示網路號。B類地址適用於中等規模的網路,全世界大約有16000個B類網路,每個B類網路最多可以連線65534臺主機。

  C類IP地址:用可變的21位來標識網路號,可變的8位標識主機號,前面三位是“110”。C類地址的第一段取值介於192~223之間,第一段、第二段、第三段合在一起表示網路號。最後一段標識網路上的主機號。C類地址適用於校園網等小型網路,每個C類網路最多可以有254臺主機。

子網掩碼:

  子網掩碼是遮蔽一個IP地址的網路部分的“全1”位元模式。它是一種用來指明一個IP地址的哪些位標識的是主機所在的子網以及哪些位標識的是主機的位掩碼。子網掩碼不能單獨存在,必須結合IP地址一起使用。子網掩碼只有一個作用,就是將某個IP地址劃分成網路地址和主機地址兩部分。

  對於A類地址來說,預設的子網掩碼是255.0.0.0;對於B類地址來說預設的子網掩碼是255.255.0.0;對於C類地址來說預設的子網掩碼是255.255.255.0。利用子網掩碼可以把大的網路劃分成子網即VLSM(可變長子網掩碼),也可以把小得網路歸併成大的網路即超網。

  通過IP地址的二進位制與子網掩碼的二進位制進行與運算,可以確定某個裝置的網路地址和主機號,也就是說可以通過子網掩碼分辨一個網路的網路部分和主機部分。子網一個最顯著的特徵就是具有子網掩碼。劃分子網時需要注意:主機ID為全0時表示網路ID,全1時表示廣播地址。

通過子網個數或主機地址個數計運算元網掩碼:

  用一個簡單的例子說明如下:

  假設有一個網路:192.168.0.0/24(即子網掩碼的前24位為1,255.255.255.0),現在需要兩個子網,那麼需要將子網掩碼中的主機部分的前2位置為1(雖然只將第1位置1即可獲得2個子網,但是還要考慮去掉全0和全1的子網),即192.168.0.0/26,可得到兩個可以使用的子網192.168.0.64(二進位制表示後8位為01000000)和192.168.0.128(二進位制的後8位表示為10000000)。

  對於192.168.0.0/24,網路地址是192.168.0.0,廣播地址是192.168.0.255(後8位為11111111)。
  對於192.168.0.0/26,網路地址是192.168.0.0,廣播地址是192.168.0.63(後8位為00111111)。
  對於192.168.0.64/26,網路地址是192.168.0.64,廣播地址是192.168.0.127(後8位為01111111)。
  對於192.168.0.128/26,網路地址是192.168.0.128,廣播地址是192.168.0.191(後8位為10111111)。 
  對於192.168.0.192/26,網路地址是192.168.0.192,廣播地址是192.168.0.255(後8為為11111111)。

  1、根據子網數計運算元網掩碼的位數:

  (1)將子網數目-1(因為計算機從0開始,到26才是27個)轉化為二進位制來表示。

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

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

  例如:欲將B類IP地址168.195.0.0劃分為27個子網,計算其子網掩碼:

  (1)27-1=26,轉化為二進位制為11010。

  (2)N=5。

  (3)B類地址的子網掩碼255.255.0.0,將其主機地址前5位置1,即11111111.11111111.11111000.00000000=255.255.248.0。  

  實際上將主機地址前5位置1,可劃分出25-2=30個子網,這裡去掉了全0和全1的子網。

  2、根據主機數計運算元網掩碼的位數:

  (1)將主機數目轉化為二進位制來表示。

  (2)如果主機數小於或等於254(注意去掉保留的兩個IP地址:主機號全為0表示該網路的網路號,主機號全為1表示該網路的廣播地址),則取得該主機的二進位制位數,為N,這裡肯定N<8。如果大於254,則N>8,這就是說主機地址將佔據不止8位。

  (3)使用255.255.255.255來將該類IP地址的主機地址位數全部置1,然後從後向前的將N位全部置0,即為子網掩碼值。

  例如:欲將B類地址168.195.0.0劃分成若干個子網,每個子網內有主機700臺,計算其子網掩碼:

  (1)700轉化為二進位制為1010111100。

  (2)N=10。

  (3)子網掩碼為11111111.11111111.11111100.00000000,即255.255.252.0。

通過子網掩碼計運算元網個數及每個子網中可使用的主機地址個數:

  若要把***.***.***.0/m劃分為***.***.***.0/n(m<n<32),得到的子網個數為2(n-m),去掉全0和全1,可用子網個數為2(n-m)-2,每個子網中可使用的主機地址是2(32-n)-2。

  例如:把網路117.15.32.0/23劃分為117.15.32.0/27,得到的子網是 16 個,可用子網個數為14個,每個子網中可使用的主機地址是 30 個。

http://www.cnblogs.com/hibernation/p/3275279.html