IP地址(IP Address)的概念及其子網(wǎng)掩碼(Subnet Mask)的計(jì)算對(duì)于首次學(xué)習(xí)網(wǎng)絡(luò)知識(shí)的初學(xué)者來(lái)說(shuō)是一件比較困難的事情。下文所述的是我個(gè)人的一些心得,望大家指正。
按照目前使用的IPv4的規(guī)定,對(duì)IP地址強(qiáng)行定義了一些保留地址,即:“網(wǎng)絡(luò)地址”和“廣播地址”。所謂“網(wǎng)絡(luò)地址”就是指“主機(jī)號(hào)”全為“0”的IP地址,如:125.0.0.0(A類(lèi)地址);而“廣播地址”就是指“主機(jī)號(hào)”全為“255”時(shí)的IP地址,如:125.255.255.255(A類(lèi)地址)。
而子網(wǎng)掩碼,則是用來(lái)標(biāo)識(shí)兩個(gè)IP地址是否同屬于一個(gè)子網(wǎng)。它也是一組32位長(zhǎng)的二進(jìn)制數(shù)值,其每一位上的數(shù)值代表不同含義:為“1”則代表該位是網(wǎng)絡(luò)位;若為“0”則代表該位是主機(jī)位。和IP地址一樣,人們同樣使用“點(diǎn)式十進(jìn)制”來(lái)表示子網(wǎng)掩碼,如:255.255.0.0。
如果兩個(gè)IP地址分別與同一個(gè)子網(wǎng)掩碼進(jìn)行按位“與”計(jì)算后得到相同的結(jié)果,即表明這兩個(gè)IP地址處于同一個(gè)子網(wǎng)中。也就是說(shuō),使用這兩個(gè)IP地址的兩臺(tái)計(jì)算機(jī)就像同一單位中的不同部門(mén),雖然它們的作用、功能、乃至地理位置都可能不盡相同,但是它們都處于同一個(gè)網(wǎng)絡(luò)中。
子網(wǎng)掩碼計(jì)算方法
自從各種類(lèi)型的網(wǎng)絡(luò)投入各種應(yīng)用以來(lái),網(wǎng)絡(luò)就以不可思議的速度進(jìn)行大規(guī)模的擴(kuò)張,目前正在使用的IPv4也逐漸暴露出了它的弊端,即:網(wǎng)絡(luò)號(hào)占位太多,而主機(jī)號(hào)位太少。目前最常用的一種解決辦法是對(duì)一個(gè)較高類(lèi)別的IP地址進(jìn)行細(xì)劃,劃分成多個(gè)子網(wǎng),然后再將不同的子網(wǎng)提供給不同規(guī)模大小的用戶群使用。使用這種方法時(shí),為了能有效地提高IP地址的利用率,主要是通過(guò)對(duì)IP地址中的“主機(jī)號(hào)”的高位部分取出作為子網(wǎng)號(hào),從通常的“網(wǎng)絡(luò)號(hào)”界限中擴(kuò)展或壓縮子網(wǎng)掩碼,用來(lái)創(chuàng)建一定數(shù)目的某類(lèi)IP地址的子網(wǎng)。當(dāng)然,創(chuàng)建的子網(wǎng)數(shù)越多,在每個(gè)子網(wǎng)上的可用主機(jī)地址的數(shù)目也就會(huì)相應(yīng)減少。
要計(jì)算某一個(gè)IP地址的子網(wǎng)掩碼,可以分以下兩種情況來(lái)分別考慮。
第一種情況:
無(wú)須劃分成子網(wǎng)的IP地址。
一般來(lái)說(shuō),此時(shí)計(jì)算該IP地址的子網(wǎng)掩碼非常地簡(jiǎn)單,可按照其定義就可寫(xiě)出。例如:某個(gè)IP地址為12.26.43.0,無(wú)須再分割子網(wǎng),按照定義我們可以知道它是一個(gè)A類(lèi)地址,其子網(wǎng)掩碼應(yīng)該是255.0.0.0;若此IP地址是一個(gè)B類(lèi)地址,則其子網(wǎng)掩碼應(yīng)該為255.255.0.0;如果它是C類(lèi)地址,則其子網(wǎng)掩碼為255.255.255.0。其它類(lèi)推。
第二種情況:
要?jiǎng)澐殖勺泳W(wǎng)的IP地址。
在這種情況下,如何方便快捷地對(duì)于一個(gè)IP地址進(jìn)行劃分,準(zhǔn)確地計(jì)算每個(gè)子網(wǎng)的掩碼,方法的選擇很重要。下面我介紹兩種比較便捷的方法:
當(dāng)然,在求子網(wǎng)掩碼之前必須先清楚要?jiǎng)澐值淖泳W(wǎng)數(shù)目,以及每個(gè)子網(wǎng)內(nèi)的所需主機(jī)數(shù)目。
方法一:利用子網(wǎng)數(shù)來(lái)計(jì)算。
1.首先,將子網(wǎng)數(shù)目從十進(jìn)制數(shù)轉(zhuǎn)化為二進(jìn)制數(shù);
2.接著,統(tǒng)計(jì)由“1”得到的二進(jìn)制數(shù)的位數(shù),設(shè)為N;
3.最后,先求出此IP地址對(duì)應(yīng)的地址類(lèi)別的子網(wǎng)掩碼。再將求出的子網(wǎng)掩碼的主機(jī)地址部分(也就是“主機(jī)號(hào)”)的前N位全部置1,這樣即可得出該IP地址劃分子網(wǎng)的子網(wǎng)掩碼。
例如:需將B類(lèi)IP地址167.194.0.0劃分成28個(gè)子網(wǎng):
1)(28)10=(11100)2;
2)此二進(jìn)制的位數(shù)是5,則N=5;
3)此IP地址為B類(lèi)地址,而B(niǎo)類(lèi)地址的子網(wǎng)掩碼是255.255.0.0,且B類(lèi)地址的主機(jī)地址是后2位(即0-255.1-254)。于是將子網(wǎng)掩碼255.255.0.0中的主機(jī)地址前5位全部置1,就可得到255.255.248.0,而這組數(shù)值就是劃分成 28個(gè)子網(wǎng)的B類(lèi)IP地址 167.194.0.0的子網(wǎng)掩碼。
方法二:利用主機(jī)數(shù)來(lái)計(jì)算。
1.首先,將主機(jī)數(shù)目從十進(jìn)制數(shù)轉(zhuǎn)化為二進(jìn)制數(shù);
2.接著,如果主機(jī)數(shù)小于或等于254(注意:應(yīng)去掉保留的兩個(gè)IP地址),則統(tǒng)計(jì)由“1”中得到的二進(jìn)制數(shù)的位數(shù),設(shè)為N;如果主機(jī)數(shù)大于254,則 N>8,也就是說(shuō)主機(jī)地址將超過(guò)8位;
3.最后,使用255.255.255.255將此類(lèi)IP地址的主機(jī)地址位數(shù)全部置為1,然后按照“從后向前”的順序?qū)位全部置為0,所得到的數(shù)值即為所求的子網(wǎng)掩碼值。
例如:需將B類(lèi)IP地址167.194.0.0劃分成若干個(gè)子網(wǎng),每個(gè)子網(wǎng)內(nèi)有主機(jī)500臺(tái):
1)(500)10=(1111101000)2;
2)此二進(jìn)制的位數(shù)是9,則N=9;
3)將該B類(lèi)地址的子網(wǎng)掩碼255. 255.0.0的主機(jī)地址全部置 1,得到255.255.255.255。然后再?gòu)暮笙蚯皩⒑?位置0,可得:11111111. 11111111.11111110.00000000即255.255.254.0。這組數(shù)值就是劃分成主機(jī)為500臺(tái)的B類(lèi)IP地址167.194.0.0的子網(wǎng)掩碼。
|
|
來(lái)自: anytimes > 《網(wǎng)絡(luò)知識(shí)》