IP地址(IP Address)的概念及其子網(wǎng)掩碼(Subnet Mask)的計算對于首次學習網(wǎng)絡知識的初學者來說是一件比較困難的事情。下文所述的是我個人的一些心得,望大家指正。
按照目前使用的IPv4的規(guī)定,對IP地址強行定義了一些保留地址,即:“網(wǎng)絡地址”和“廣播地址”。所謂“網(wǎng)絡地址”就是指“主機號”全為“0”的IP地址,如:125.0.0.0(A類地址);而“廣播地址”就是指“主機號”全為“255”時的IP地址,如:125.255.255.255(A類地址)。
而子網(wǎng)掩碼,則是用來標識兩個IP地址是否同屬于一個子網(wǎng)。它也是一組32位長的二進制數(shù)值,其每一位上的數(shù)值代表不同含義:為“1”則代表該位是網(wǎng)絡位;若為“0”則代表該位是主機位。和IP地址一樣,人們同樣使用“點式十進制”來表示子網(wǎng)掩碼,如:255.255.0.0。
如果兩個IP地址分別與同一個子網(wǎng)掩碼進行按位“與”計算后得到相同的結果,即表明這兩個IP地址處于同一個子網(wǎng)中。也就是說,使用這兩個IP地址的兩臺計算機就像同一單位中的不同部門,雖然它們的作用、功能、乃至地理位置都可能不盡相同,但是它們都處于同一個網(wǎng)絡中。
子網(wǎng)掩碼計算方法
自從各種類型的網(wǎng)絡投入各種應用以來,網(wǎng)絡就以不可思議的速度進行大規(guī)模的擴張,目前正在使用的IPv4也逐漸暴露出了它的弊端,即:網(wǎng)絡號占位太多,而主機號位太少。目前最常用的一種解決辦法是對一個較高類別的IP地址進行細劃,劃分成多個子網(wǎng),然后再將不同的子網(wǎng)提供給不同規(guī)模大小的用戶群使用。使用這種方法時,為了能有效地提高IP地址的利用率,主要是通過對IP地址中的“主機號”的高位部分取出作為子網(wǎng)號,從通常的“網(wǎng)絡號”界限中擴展或壓縮子網(wǎng)掩碼,用來創(chuàng)建一定數(shù)目的某類IP地址的子網(wǎng)。當然,創(chuàng)建的子網(wǎng)數(shù)越多,在每個子網(wǎng)上的可用主機地址的數(shù)目也就會相應減少。
要計算某一個IP地址的子網(wǎng)掩碼,可以分以下兩種情況來分別考慮。
第一種情況:
無須劃分成子網(wǎng)的IP地址。
一般來說,此時計算該IP地址的子網(wǎng)掩碼非常地簡單,可按照其定義就可寫出。例如:某個IP地址為12.26.43.0,無須再分割子網(wǎng),按照定義我們可以知道它是一個A類地址,其子網(wǎng)掩碼應該是255.0.0.0;若此IP地址是一個B類地址,則其子網(wǎng)掩碼應該為255.255.0.0;如果它是C類地址,則其子網(wǎng)掩碼為255.255.255.0。其它類推。
第二種情況:
要劃分成子網(wǎng)的IP地址。
在這種情況下,如何方便快捷地對于一個IP地址進行劃分,準確地計算每個子網(wǎng)的掩碼,方法的選擇很重要。下面我介紹兩種比較便捷的方法:
當然,在求子網(wǎng)掩碼之前必須先清楚要劃分的子網(wǎng)數(shù)目,以及每個子網(wǎng)內(nèi)的所需主機數(shù)目。
方法一:利用子網(wǎng)數(shù)來計算。
1.首先,將子網(wǎng)數(shù)目從十進制數(shù)轉化為二進制數(shù);
2.接著,統(tǒng)計由“1”得到的二進制數(shù)的位數(shù),設為N;
3.最后,先求出此IP地址對應的地址類別的子網(wǎng)掩碼。再將求出的子網(wǎng)掩碼的主機地址部分(也就是“主機號”)的前N位全部置1,這樣即可得出該IP地址劃分子網(wǎng)的子網(wǎng)掩碼。
例如:需將B類IP地址167.194.0.0劃分成28個子網(wǎng):
1)(28)10=(11100)2;
2)此二進制的位數(shù)是5,則N=5;
3)此IP地址為B類地址,而B類地址的子網(wǎng)掩碼是255.255.0.0,且B類地址的主機地址是后2位(即0-255.1-254)。于是將子網(wǎng)掩碼255.255.0.0中的主機地址前5位全部置1,就可得到255.255.248.0,而這組數(shù)值就是劃分成 28個子網(wǎng)的B類IP地址 167.194.0.0的子網(wǎng)掩碼。
方法二:利用主機數(shù)來計算。
1.首先,將主機數(shù)目從十進制數(shù)轉化為二進制數(shù);
2.接著,如果主機數(shù)小于或等于254(注意:應去掉保留的兩個IP地址),則統(tǒng)計由“1”中得到的二進制數(shù)的位數(shù),設為N;如果主機數(shù)大于254,則 N>8,也就是說主機地址將超過8位;
3.最后,使用255.255.255.255將此類IP地址的主機地址位數(shù)全部置為1,然后按照“從后向前”的順序?qū)位全部置為0,所得到的數(shù)值即為所求的子網(wǎng)掩碼值。
例如:需將B類IP地址167.194.0.0劃分成若干個子網(wǎng),每個子網(wǎng)內(nèi)有主機500臺:
1)(500)10=(111110100)2;
2)此二進制的位數(shù)是9,則N=9;
3)將該B類地址的子網(wǎng)掩碼255. 255.0.0的主機地址全部置 1,得到255.255.255.255。然后再從后向前將后9位置0,可得:11111111. 11111111.11111110.00000000即255.255.254.0。這組數(shù)值就是劃分成主機為500臺的B類IP地址167.194.0.0的子網(wǎng)掩碼。
希望與其他軟考考生進行交流?點擊進入軟考論壇>>>
更多信息請訪問:考試吧軟件水平考試欄目
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |