一、明確概念
在介紹十進制算法前我們先要明確一些概念。
A類地址:IP地址常採用點分十進制表示方法X.Y.Y.Y,在這裏,X在1~126範圍內稱爲A類,比如10.202.52.130,因爲X爲10,在1~126範圍內,所以稱爲A類地址。
B類地址:X在128~191範圍內稱爲B類地址。
C類地址:X在192~223範圍內稱爲C類地址。
各類地址默認子網掩碼:
A類爲255.0.0.0;
B類爲255.255.0.0;
C類爲255.255.255.0。
當我們要劃分子網用到子網掩碼M時,各類子網掩碼的格式如下:
A類爲255.M.0.0;
B類爲255.255.M.0;
C類爲255.255.255.M。
M是相應的子網掩碼,比如255.255.255.240。M=240。
十進制計算基數是256(下面,我們所有的十進制計算都要用256來進行)。
二、變量說明
1、Subnet_block指可分配子網數大小,表示在某一子網掩碼下子網的個數。
2、Subnet_num是實際(有效)子網數,指可分配子網數中要剔除首、尾兩塊,是某一子網掩碼下可分配的實際子網數量。
3、IP_block指每個子網可分配的IP地址數。
4、IP_num指每個子網分配的實際IP地址數。因爲每個子網的首、尾IP地址必須保留(一個爲網絡地址,一個爲廣播地址),也用於計算主機數。
5、M指子網掩碼。
表示上述變量關係的公式如下:
M=256-IP_block
IP_block=256/Subnet_block
Subnet_block=256/IP_block
IP_num=IP_block-2
Subnet_num=Subnet_block-2。
6、2的冪數。大家要熟練掌握28(256)以內的2的冪代表的十進制數(如1024=210、512=29、256=28、128=27、64=26、32=25、16=24、8=23、4=22、2=21、1=20等),這樣可以使我們立即推算出Subnet_block和IP_block的數目。
三、舉例說明
現在,通過舉一些實際例子,大家可以對子網掩碼和主機數的十進制算法有深刻的瞭解。
1、已知所需子網數12,求實際子網數。
這裏實際子網數指Subnet_num,由於12最接近2的冪爲16(24),即Subnet_block=16,那麼Subnet_num=16-2=14,故實際子網數爲14。
2、已知一個B類子網的每個子網主機數要達到60×255個(約相當於X.Y.0.1~X.Y.59.254的數量),求子網掩碼。
首先,60接近2的冪爲64(26),即IP_block=64;其次,子網掩碼M=256-IP_block=256-64=192,最後由於子網掩碼格式B類是255.255.M.0得出子網掩碼爲255.255.192.0。
3、如果所需子網數爲7,求子網掩碼。
7最接近2的冪爲8(23),但8個Subnet_block因爲要保留首、尾2個子網數,即8-2=6<7,並不能達到所需子網數,所以應取2的冪爲16(24),即Subnet_block=16。
由於IP_block=256/Subnet_block=256/16=16,
所以子網掩碼M=256-IP_block=256-16=240。
4、已知網絡地址爲211.134.12.0,要有4個子網,求子網掩碼及主機數。
由於211.Y.Y.Y是一個C類地址,子網掩碼格式爲255.255.255.M,又知有4個子網,4接近2的冪是8(23),所以Subnet_block=8,Subnet_num=8-2=6,IP_block=256/Subnet_block=256/8=32,子網掩碼M=256-IP_block=256-32=224,故子網掩碼錶示爲255.255.255.224。
又因爲子網數的首、尾兩數不能使用,所以可分配6個子網,每個子網有32個可分配主機數,即32~63、64~95、96~127、128~159、160~191、192~223,其中首數(0~31)和尾數(224~255)不能使用。
由於每個子網數中的可分配主機數又有首、尾兩個不能使用(一個是子網網絡地址,一個是子網廣播地址),所以主機數分別爲33~62、65~94、97~126、129~158、161~190及193~222,因此子網掩碼爲255.255.255.224,主機數共有6段,分別爲:
211.134.12.33~211.134.12.62、
211.134.12.65~211.134.12.94、
211.134.12.97~211.134.12.126、
211.134.12.129~211.134.12.158、
211.134.12.161~211.134.12.190
211.134.12.193~211.134.12.222。用戶可以任選其中的4段作爲4個子網。
總之,只要理解了公式中的邏輯關係,就能很快計算出子網掩碼,並得出可分配的主機數。
例:給定一IP地址192.168.5.0,要求劃分20個子網,每個子網5個主機。
解:因爲4<5<8,256-8=248――〉即是所求的子網掩碼,對應的子網數也就出來了。這是針對C類地址。
下面是針對B類地址的做法。對於B類地址,假如主機數小於或等於254,與C類地址算法相同。對於主機數大於254的,如需主機700臺,50個子網(相當大了),512<700<1024,256-(1024/256)=256-4=252――〉即是所求的子網掩碼,對應的子網數也就出來了。上面256-4中的4(2的2次冪)是指主機數用2進製表示時超過8位的位數,即超過2位,掩碼爲剩餘的前6位,即子網數爲26-2=62個。