在思科網絡技術學院CCNA教學和考試當中,不少同學在進行IP地址規劃時總是很頭疼子網和掩碼的計算。現在給大家一個小竅門,可以順利的解決這個問題。
首先,我們看一個CCNA考試中常見的題型:一個主機的IP地址是202.112.14.137,掩碼是255.255.255.224,要求計算這個主機所在網絡的網絡地址和廣播地址。
255.255.255.224的掩碼所容納的IP地址有256-224=32個(包括網絡地址和廣播地址),那么具有這種掩碼的網絡地址一定是32的倍數。而網絡地址是子網IP地址的開始,廣播地址是結束,可使用的主機地址在這個范圍內,因此略小于137而又是32的倍數的只有128,所以得出網絡地址是202.112.14.128。而廣播地址就是下一個網絡的網絡地址減1。而下一個32的倍數是160,因此可以得到廣播地址為202.112.14.159。
CCNA考試中,還有一種題型,要你根據每個網絡的主機數量進行子網地址的規劃和計算子網掩碼。這也可按上述原則進行計算。比如一個子網有10臺主機,那么對于這個子網就需要10+1+1+1=13個IP地址。(注意加的第一個1是指這個網絡連接時所需的網關地址,接著的兩個1分別是指網絡地址和廣播地址。)13小于16(16等于2的4次方),所以主機位為4位。而256-16=240,所以該子網掩碼為255.255.255.240。
如果一個子網有14臺主機,不少同學常犯的錯誤是:依然分配具有16個地址空間的子網,而忘記了給網關分配地址。這樣就錯誤了,因為14+1+1+1=17 ,大于16,所以我們只能分配具有32個地址(32等于2的5次方)空間的子網。這時子網掩碼為:255.255.255.224。
而在子網內部的主機地址的計算方法為:當前主機的IP地址的最后一個字節(十進制)減去當前主機所在的子網地址的最后一個字節,所得的結果就是當前主機的地址.
EG:一主機的IP為192.155.12.112,其所在的子網地址為:0.0.0.96
因此它的子網主機地址為:112-96=16即0.0.0.16
快速計算子網掩碼和主機IP
業務的發展常常會導致許多單位面臨這樣一個問題:工作站數量越來越多,管理單一的大型網絡也變得越來越艱難。如果將一個單一的大型網絡劃分為多個子網,通過對每個子網進行單獨管理,可以明顯地提高整個網絡的性能。
要劃分子網就需要計算子網掩碼和分配相應的主機塊,盡管采用二進制計算可以得出相應的結論,但如果采用十進制計算方法,計算起來更為簡便。經過長期實踐與經驗積累,筆者總結出子網掩碼及主機塊的十進制算法。
一、明確概念
在介紹十進制算法前我們先要明確一些概念。
類范圍:
IP地址常采用點分十進制表示方法X.Y.Y.Y,在這里,X在1~126范圍內稱為A類地址;X在128~191范圍內稱為B類地址;X在192~223范圍內稱為C類地址。比如10.202.52.130,因為X為10,在1~126范圍內,所以稱為A類地址。
類默認子網掩碼:
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。十進制計算基數是256(下面,我們所有的十進制計算都要用256來進行)。
二、變量說明
1.Subnet_block指可分配子網塊大小,表示在某一子網掩碼下子網的塊數。
2.Subnet_num是可分配子網數,指可分配子網塊中要剔除首、尾兩塊,是某一子網掩碼下可分配的實際子網數量。Subnet_num =Subnet_block-2。
3.IP_block指每個子網可分配的IP地址塊大小。
4.IP_num指每個子網實際可分配的IP地址數。因為每個子網的首、尾IP地址必須保留(一個為網絡地址,一個為廣播地址),所以它等于IP_block-2,IP_num也用于計算主機塊。
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的冪代表的十進制數(如128=27、64=26等),這樣可以使我們立即推算出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,但8個Subnet_block因為要保留首、尾2個子網塊,即 8-2=6< 7,并不能達到所需子網數,所以應取2的冪為16,即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個子網。
總之,只要理解了公式中的邏輯關系,就能很快計算出子網掩碼,并得出可分配的主機塊。


