您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>電子百科>網(wǎng)絡(luò)>路由器>

子網(wǎng)掩碼的計(jì)算

2010年01月27日 10:12 ttokpm.com 作者:佚名 用戶評(píng)論(0
關(guān)鍵字:子網(wǎng)掩碼(10863)

子網(wǎng)掩碼的計(jì)算

TCP/IP網(wǎng)間網(wǎng)技術(shù)產(chǎn)生于大型主流機(jī)環(huán)境中,它能發(fā)展到今天的規(guī)模是當(dāng)初的設(shè)計(jì)者們始料未及的。網(wǎng)間網(wǎng)規(guī)模的迅速擴(kuò)展對(duì)IP地址模式的威脅并不是它不能保證主機(jī)地址的唯一性,而是會(huì)帶來兩方面的負(fù)擔(dān):第一,巨大的網(wǎng)絡(luò)地址管理開銷;第二,網(wǎng)關(guān)尋徑急劇膨脹。其中第二點(diǎn)尤為突出,尋徑表的膨脹不僅會(huì)降低網(wǎng)關(guān)尋徑效率(甚至可能使尋徑表溢出,從而造成尋徑故障),更重要的是將增加內(nèi)外部路徑刷新時(shí)的開銷,從而加重網(wǎng)絡(luò)負(fù)擔(dān)。
因此,迫切需要尋求新的技術(shù),以應(yīng)付網(wǎng)間網(wǎng)規(guī)模增長帶來的問題。仔細(xì)分析發(fā)現(xiàn),網(wǎng)間網(wǎng)規(guī)模的增長在內(nèi)部主要表現(xiàn)為網(wǎng)絡(luò)地址的增減,因此解決問題的思路集中在:如何減少網(wǎng)絡(luò)地址。于是IP網(wǎng)絡(luò)地址的多重復(fù)用技術(shù)應(yīng)運(yùn)而生。通過復(fù)用技術(shù),使若干物理網(wǎng)絡(luò)共享同一IP網(wǎng)絡(luò)地址,無疑將減少網(wǎng)絡(luò)地址數(shù)。
子網(wǎng)編址(subnet addressing)技術(shù),又叫子網(wǎng)尋徑(subnet routing),英文簡(jiǎn)稱subnetting,是最廣泛使用的IP網(wǎng)絡(luò)地址復(fù)用方式,目前已經(jīng)標(biāo)準(zhǔn)化,并成為IP地址模式的一部分。
32位的IP地址分為兩部分,即網(wǎng)絡(luò)號(hào)和主機(jī)號(hào),分別把他們叫做IP地址的“網(wǎng)間網(wǎng)部分”和“本地部分”。子網(wǎng)編址技術(shù)將“本地部分”進(jìn)一步劃分為“物理網(wǎng)絡(luò)”部分和“主機(jī)”兩部分,其中“物理網(wǎng)絡(luò)”部分用于標(biāo)識(shí)同一IP網(wǎng)絡(luò)地址下的不同物理網(wǎng)絡(luò),常稱為“掩碼位”、“子網(wǎng)掩碼號(hào)”,或者“子網(wǎng)掩碼ID”,不同子網(wǎng)就是依據(jù)這個(gè)掩碼ID來識(shí)別的。
按IP協(xié)議的子網(wǎng)標(biāo)準(zhǔn)規(guī)定,每一個(gè)使用子網(wǎng)的網(wǎng)點(diǎn)都選擇一個(gè)32位的位模式,若位模式中的某位置1,則對(duì)應(yīng)IP地址中的某位為網(wǎng)絡(luò)地址(包括網(wǎng)絡(luò)部分和子網(wǎng)掩碼號(hào))中的一位;若位模式中的某位置0,則對(duì)應(yīng)IP地址中的某位為主機(jī)地址中的一位。
例如二進(jìn)制位模式:11111111 11111111 11111111 00000000中,前三個(gè)字節(jié)全1,代表對(duì)應(yīng)IP地址中最高的三個(gè)字節(jié)為網(wǎng)絡(luò)地址;后一個(gè)字節(jié)全0,代表對(duì)應(yīng)IP地址中最后的一個(gè)字節(jié)為主機(jī)地址。為了使用的方便,常常使用“點(diǎn)分整數(shù)表示法”來表示一個(gè)IP地址和子網(wǎng)掩碼,例如B類地址子網(wǎng)掩碼(11111111 11111111 1111111100000000)為:255.255.25.0。
IP協(xié)議關(guān)于子網(wǎng)掩碼的定義提供一定的靈活性,允許子網(wǎng)掩碼中的“0”和“1”位不連續(xù)。但是,這樣的子網(wǎng)掩碼給分配主機(jī)地址和理解尋徑表都帶來一定困難,并且,極少的路由器支持在子網(wǎng)中使用低序或無序的位,因此在實(shí)際應(yīng)用中通常各網(wǎng)點(diǎn)采用連續(xù)方式的子網(wǎng)掩碼。像255.255.255.64和255.255.255.160等一類的子網(wǎng)掩碼不推薦使用
子網(wǎng)掩碼與IP地址結(jié)合使用,可以區(qū)分出一個(gè)網(wǎng)絡(luò)地址的網(wǎng)絡(luò)號(hào)和主機(jī)號(hào)。例如:有一個(gè)C類地址為:192.9.200.13,按其IP地址類型,它的缺省子網(wǎng)掩碼為:255.255.255.0,則它的網(wǎng)絡(luò)號(hào)和主機(jī)號(hào)可按如下方法得到:
第1步,將IP地址192.9.200.13轉(zhuǎn)換為二進(jìn)制11000000 00001001 11001000 00001101
第2步,將子網(wǎng)掩碼255.255.255.0轉(zhuǎn)換為二進(jìn)制11111111 11111111 11111111 00000000
第3步,將以上兩個(gè)二進(jìn)制數(shù)邏輯進(jìn)行與(AND)運(yùn)算,得出的結(jié)果即為網(wǎng)絡(luò)部分?!?1000000 00001001 11001000 00001101”與“11111111 11111111 11111111 00000000”進(jìn)行“與”運(yùn)算后得到“11000000 00001001 11001000 00000000”,即“192.9.200.0”,這就是這個(gè)IP地址的網(wǎng)絡(luò)號(hào),或者稱“網(wǎng)絡(luò)地址”。
第4步,將子網(wǎng)掩碼的二進(jìn)制值取反后,再與IP地址進(jìn)行與(AND)運(yùn)算,得到的結(jié)果即為主機(jī)部分。如將“00000000 00000000 00000000 11111111(子網(wǎng)掩碼的取值)反”與“11000000 00001001 11001000 00001101”進(jìn)行與運(yùn)算后得到“00000000 00000000 00000000 00001101”,即“0.0.0.13”,這就是這個(gè)IP地址主機(jī)號(hào)(可簡(jiǎn)化為“13”)。
二、子網(wǎng)掩碼的劃分
如果要將一個(gè)網(wǎng)絡(luò)劃分成多個(gè)子網(wǎng),如何確定這些子網(wǎng)的子網(wǎng)掩碼和IP地址中的網(wǎng)絡(luò)號(hào)和主機(jī)號(hào)呢?本節(jié)就要向大家介紹。子網(wǎng)劃分的步驟如下:
第1步,將要?jiǎng)澐值淖泳W(wǎng)數(shù)目轉(zhuǎn)換為2的m次方。如要分8個(gè)子網(wǎng),8=23。如果不是愉好是2的多少次方,則取大為原則,如要?jiǎng)澐譃?個(gè),則同樣要考慮23。
第2步,將上一步確定的冪m按高序占用主機(jī)地址m位后,轉(zhuǎn)換為十進(jìn)制。如m為3表示主機(jī)位中有3位被劃為“網(wǎng)絡(luò)標(biāo)識(shí)號(hào)”占用,因網(wǎng)絡(luò)標(biāo)識(shí)號(hào)應(yīng)全為“1”,所以主機(jī)號(hào)對(duì)應(yīng)的字節(jié)段為“11100000”。轉(zhuǎn)換成十進(jìn)制后為224,這就最終確定的子網(wǎng)掩碼。如果是C類網(wǎng),則子網(wǎng)掩碼為255.255.255.224;如果是B類網(wǎng),則子網(wǎng)掩碼為255.255.224.0;如果是A類網(wǎng),則子網(wǎng)掩碼為255.224.0.0。
在這里,子網(wǎng)個(gè)數(shù)與占用主機(jī)地址位數(shù)有如下等式成立:2m≥n。其中,m表示占用主機(jī)地址的位數(shù);n表示劃分的子網(wǎng)個(gè)數(shù)。根據(jù)這些原則,將一個(gè)C類網(wǎng)絡(luò)分成4個(gè)子網(wǎng)。
為了說明問題,現(xiàn)再舉例。若我們用的網(wǎng)絡(luò)號(hào)為192.9.200,則該C類網(wǎng)內(nèi)的主機(jī)IP地址就是192.9.200.1~192.9.200.254,現(xiàn)將網(wǎng)絡(luò)劃分為4個(gè)子網(wǎng),按照以上步驟:
4=22,則表示要占用主機(jī)地址的2個(gè)高序位,即為11000000,轉(zhuǎn)換為十進(jìn)制為192。這樣就可確定該子網(wǎng)掩碼為:192.9.200.192。4個(gè)子網(wǎng)的IP地址的劃分是根據(jù)被網(wǎng)絡(luò)號(hào)占住的兩位排列進(jìn)行的,這四個(gè)IP地址范圍分別為:
(1)第1個(gè)子網(wǎng)的IP地址是從“11000000 00001001 11001000 00000001”到“11000000 00001001 11001000 00111110”,注意它們的最后8位中被網(wǎng)絡(luò)號(hào)占住的兩位都為“00”,因?yàn)橹鳈C(jī)號(hào)不能全為“0”和“1”,所以沒有11000000 00001001 11001000 00000000和11000000 00001001 11001000 00111111這兩個(gè)IP地址(下同)。注意實(shí)際上此時(shí)的主機(jī)號(hào)只有最后面的6位。對(duì)應(yīng)的十進(jìn)制IP地址范圍為192.9.200.1~192.9.200.62。而這個(gè)子網(wǎng)的子網(wǎng)掩碼(或網(wǎng)絡(luò)地址)為 11000000 00001001 11001000 00000000,為192.9.200.0。
(2)第2個(gè)子網(wǎng)的IP地址是從“11000000 00001001 11001000 01000001”到“11000000 00001001 11001000 01111110” ,注意此時(shí)被網(wǎng)絡(luò)號(hào)所占住的2位主機(jī)號(hào)為“01”。對(duì)應(yīng)的十進(jìn)制IP地址范圍為192.9.200.65~192.9.200.126。對(duì)應(yīng)這個(gè)子網(wǎng)的子網(wǎng)掩碼(或網(wǎng)絡(luò)地址)為 11000000 00001001 11001000 01000000,為192.9.200.64。
(3)第3個(gè)子網(wǎng)的IP地址是從“11000000 00001001 11001000 10000001”到“11000000 00001001 11001000 10111110” ,注意此時(shí)被網(wǎng)絡(luò)號(hào)所占住的2位主機(jī)號(hào)為“10”。對(duì)應(yīng)的十進(jìn)制IP地址范圍為192.9.200.129~192.9.200.190。對(duì)應(yīng)這個(gè)子網(wǎng)的子網(wǎng)掩碼(或網(wǎng)絡(luò)地址)為 11000000 00001001 11001000 10000000,為192.9.200.128。
(4)第4個(gè)子網(wǎng)的IP地址是從“11000000 00001001 11001000 11000001”到“11000000 00001001 11001000 11111110” ,注意此時(shí)被網(wǎng)絡(luò)號(hào)所占住的2位主機(jī)號(hào)為“11”。對(duì)應(yīng)的十進(jìn)制IP地址范圍為192.9.200.193~192.9.200.254。對(duì)應(yīng)這個(gè)子網(wǎng)的子網(wǎng)掩碼(或網(wǎng)絡(luò)地址)為 11000000 00001001 11001000 11000000,為192.9.200.192。
在此列出A、B、C三類網(wǎng)絡(luò)子網(wǎng)數(shù)目與子網(wǎng)掩碼的轉(zhuǎn)換表,如表5.1所示,供參考。
表1 子網(wǎng)劃分與子網(wǎng)掩碼對(duì)應(yīng)表
A類網(wǎng)絡(luò)劃分子網(wǎng)數(shù)與對(duì)應(yīng)的子網(wǎng)掩碼
子網(wǎng)數(shù)目
占用主機(jī)號(hào)位數(shù)
子網(wǎng)掩碼
子網(wǎng)中可容納的主機(jī)數(shù)
2 1 255.128.0.0 8388606
4 2 255.192.0.0 4194302
8 3 255.224.0.0 2097150
16 4 255.240.0.0 1048574
32 5 255.258.0.0 524286
64 6 255.253.0.0 262142
128 7 255.254.0.0 131070
256 8 255.255.0.0 65534
B類網(wǎng)絡(luò)劃分子網(wǎng)數(shù)與對(duì)應(yīng)的子網(wǎng)掩碼
子網(wǎng)數(shù)目
占用主機(jī)號(hào)位數(shù)
子網(wǎng)掩碼
子網(wǎng)中可容納的主機(jī)數(shù)
2 1 255.255.128.0 32766
4 2 255.255.192.0 16382
8 3 255.255.224.0 8190
16 4 255.255.240.0 4094
32 5 255.255.248.0 2046
64 6 255.255.252.0 1022
128 7 255.255.254.0 510
256 8 255.255.255.0 254
C類網(wǎng)絡(luò)劃分子網(wǎng)數(shù)與對(duì)應(yīng)的子網(wǎng)掩碼
子網(wǎng)數(shù)目
占用主機(jī)號(hào)位數(shù)
子網(wǎng)掩碼
子網(wǎng)中可容納的主機(jī)數(shù)
2 1 255.255.255.128 126
4 2 255.255.255.192 62
8 3 255.255.255.224 30
16 4 255.255.255.240 14
32 5 255.255.255.248 6
64 6 255.255.255.252 2
三、快速計(jì)算子網(wǎng)掩碼的方法
最后介紹三種快速計(jì)算機(jī)子網(wǎng)掩碼的方法。
1. 利用子網(wǎng)數(shù)來計(jì)算
在求子網(wǎng)掩碼之前必須先搞清楚要?jiǎng)澐值淖泳W(wǎng)數(shù)目,以及每個(gè)子網(wǎng)內(nèi)的所需主機(jī)數(shù)目。然后按以下基本步驟進(jìn)行計(jì)算:
第1步,將子網(wǎng)數(shù)目轉(zhuǎn)化為二進(jìn)制來表示;
第2步,取得子網(wǎng)數(shù)二進(jìn)制的位數(shù)(n);
第3步,取得該IP地址類的子網(wǎng)掩碼,然后將其主機(jī)地址部分的的前n位置“1”,即得出該IP地址劃分子網(wǎng)的子網(wǎng)掩碼。
為了便于理解,現(xiàn)舉例說明如下:現(xiàn)假如要將一B類IP地址168.195.0.0劃分成27個(gè)子網(wǎng),則它的子網(wǎng)掩碼的計(jì)算機(jī)方法如下(對(duì)應(yīng)以上各基本步驟):
第1步,首先要?jiǎng)澐殖?7個(gè)子網(wǎng),“27”的二進(jìn)制為“11011”;
第2步,該子網(wǎng)數(shù)二進(jìn)制為五位數(shù),即n = 5;
第3步,將該B類地址的子網(wǎng)掩碼255.255.0.0的主機(jī)號(hào)前5位全部置“1”,即可得到 255.255.248.0,這就是劃分成 27個(gè)子網(wǎng)的B類IP地址 168.195.0.0的子網(wǎng)掩碼。
2. 利用主機(jī)數(shù)來計(jì)算
利用主機(jī)數(shù)來計(jì)算子網(wǎng)掩碼的方法與上類似,基本步驟如下:
第1步,將子網(wǎng)中需容納的主機(jī)數(shù)轉(zhuǎn)化為二進(jìn)制;
第2步,如果主機(jī)數(shù)小于或等于254(因?yàn)橐サ舯A舻膬蓚€(gè)IP地址),則取得該主機(jī)的二進(jìn)制位數(shù),為n,這里肯定 n<8。如果大于254,則 n>8,這就是說主機(jī)地址將占據(jù)不止8位。
第3步,將255.255.255.255的主機(jī)地址位數(shù)全部置1,然后從后向前的將n位全部置為 0,即為子網(wǎng)掩碼值。
舉例如下。如要將一B類IP地址為168.195.0.0的網(wǎng)絡(luò)劃分成若干子網(wǎng),要求每個(gè)子網(wǎng)內(nèi)有主機(jī)數(shù)為700臺(tái),則該子網(wǎng)掩碼的計(jì)算方法如下(也是對(duì)應(yīng)以上各基本步驟):
第1步,首先將子網(wǎng)中要求容納的主機(jī)數(shù)“700”轉(zhuǎn)換成二進(jìn)制,得到1010111100。
第2步,計(jì)算出該二進(jìn)制的位數(shù)為10位,即n = 10
第3步,將255.255.255.255從后向前的10位全部置“0”,得到的二進(jìn)制數(shù)為“11111111.11111111.11111100.00000000”,轉(zhuǎn)換成十進(jìn)制后即為255.255.252.0,這就是該要?jiǎng)澐殖芍鳈C(jī)數(shù)為700的B類IP地址 168.195.0.0的子網(wǎng)掩碼。
3. 子網(wǎng)ID增量計(jì)算法
其基本計(jì)算步驟如下:
第1步,將所需的子網(wǎng)數(shù)轉(zhuǎn)換為二進(jìn)制,如所需劃分的子網(wǎng)數(shù)為“4”,則轉(zhuǎn)換成成二進(jìn)制為00000100;
第2步,取子網(wǎng)數(shù)的二進(jìn)制中有效位數(shù),即為向缺省子網(wǎng)掩碼中加入的位數(shù)(既向主機(jī)ID中借用的位數(shù))。如前面的00000100,有效位為“100”,為3位;
第3步,決定子網(wǎng)掩碼。如IP地址為B類1129.20.0.0網(wǎng)絡(luò),則缺省子網(wǎng)掩碼為:255.255.0.0,借用主機(jī)ID的3位以后變?yōu)椋?55.255.224(11100000)0,即將所借的位全表示為1,用作子網(wǎng)掩碼。
第4步,將所借位的主機(jī)ID的起始位段最右邊的“1”轉(zhuǎn)換為十進(jìn)制,即為每個(gè)子網(wǎng)ID之間的增量,如前面的借位的主機(jī)ID起始位段為“11100000”,最右邊的“1”,轉(zhuǎn)換成十進(jìn)制后為25=32。
第5步,產(chǎn)生的子網(wǎng)ID數(shù)為:2m-2 (m為向缺省子網(wǎng)掩碼中加入的位數(shù)),如本例向子網(wǎng)掩碼中添加的位數(shù)為3,則可用子網(wǎng)ID數(shù)為:23-2=6個(gè);
第6步,將上面產(chǎn)生的子網(wǎng)ID增量附在原網(wǎng)絡(luò)ID之后的第一個(gè)位段,便形成第一個(gè)子網(wǎng)網(wǎng)絡(luò)ID 129.20.32.0;
第7步,重復(fù)上步操作,在原子網(wǎng)ID基礎(chǔ)上加上一個(gè)子網(wǎng)ID增量,依次類推,直到子網(wǎng)ID中的最后位段為缺省子網(wǎng)掩碼位用主機(jī)ID位之后的最后一個(gè)位段值,這樣就可得到所有的子網(wǎng)網(wǎng)絡(luò)ID。如缺省子網(wǎng)掩碼位用主機(jī)ID位之后的子網(wǎng)ID為255.255.224.0,其中的“224”為借用主機(jī)ID后子網(wǎng)ID的最后一位段值,所以當(dāng)子網(wǎng)ID通過以上增加增量的方法得到129.20.224.0時(shí)便終止,不要再添加了。

非常好我支持^.^

(0) 0%

不好我反對(duì)

(0) 0%

( 發(fā)表人:admin )

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?