【轉(zhuǎn)】 IP地址及子網(wǎng)劃分什么是IP地址 很明顯,這些數(shù)字對(duì)于人來說不太好記憶。人們?yōu)榱朔奖阌洃?,就將組成計(jì)算機(jī)的IP地址的32位二進(jìn)制分成四段(目前是IPV4,用不了多久后就是IPV6了,對(duì)了我在上面注明了不提IPV6的 ^_^),每段8位,中間用小數(shù)點(diǎn)隔開,然后將每八位二進(jìn)制轉(zhuǎn)換成十進(jìn)制數(shù),這樣上述計(jì)算機(jī)的IP地址就變成了:210.73.140.2。
子網(wǎng)掩碼是一個(gè)應(yīng)用于TCP/IP網(wǎng)絡(luò)的32位二進(jìn)制值,它可以屏蔽掉ip地址中的一部分,從而分離出ip地址中的網(wǎng)絡(luò)部分與主機(jī)部分,基于子網(wǎng)掩碼,管理員可以將網(wǎng)絡(luò)進(jìn)一步劃分為若干子網(wǎng)。 為什么需要使用子網(wǎng)掩碼 雖然我們說子網(wǎng)掩碼可以分離出ip地址中的網(wǎng)絡(luò)部分與主機(jī)部分,可大家還是會(huì)有疑問,比如為什么要區(qū)分網(wǎng)絡(luò)地址與主機(jī)地址?區(qū)分以后又怎樣呢?那么好,讓我們?cè)僭敿?xì)的講一下吧! 在使用TCP/IP協(xié)議的兩臺(tái)計(jì)算機(jī)之間進(jìn)行通信時(shí),我們通過將本機(jī)的子網(wǎng)掩碼與接受方主機(jī)的ip地址進(jìn)行'與'運(yùn)算,即可得到目標(biāo)主機(jī)所在的網(wǎng)絡(luò)號(hào),又由于每臺(tái)主機(jī)在配置TCP/IP協(xié)議時(shí)都設(shè)置了一個(gè)本機(jī)ip地址與子網(wǎng)掩碼,所以可以知道本機(jī)所在的網(wǎng)絡(luò)號(hào)。 通過比較這兩個(gè)網(wǎng)絡(luò)號(hào),就可以知道接受方主機(jī)是否在本網(wǎng)絡(luò)上。如果網(wǎng)絡(luò)號(hào)相同,表明接受方在本網(wǎng)絡(luò)上,那么可以通過相關(guān)的協(xié)議把數(shù)據(jù)包直接發(fā)送到目標(biāo)主機(jī);如果網(wǎng)絡(luò)號(hào)不同,表明目標(biāo)主機(jī)在遠(yuǎn)程網(wǎng)絡(luò)上,那么數(shù)據(jù)包將會(huì)發(fā)送給本網(wǎng)絡(luò)上的路由器,由路由器將數(shù)據(jù)包發(fā)送到其他網(wǎng)絡(luò),直至到達(dá)目的地。在這個(gè)過程中你可以看到,子網(wǎng)掩碼是不可或缺的! 如何用子網(wǎng)掩碼得到網(wǎng)絡(luò)/主機(jī)地址 既然子網(wǎng)掩碼這么重要,那么它是如何分離出ip地址中的網(wǎng)絡(luò)地址和主機(jī)地址的呢? 過程如下: 1.將ip地址與子網(wǎng)掩碼轉(zhuǎn)換成二進(jìn)制; 2.將二進(jìn)制形式的ip地址與子網(wǎng)掩碼做'與'運(yùn)算,將答案化為十進(jìn)制便得到網(wǎng)絡(luò)地址; 3.將二進(jìn)制形式的子網(wǎng)掩碼取'反'; 4.將取'反'后的子網(wǎng)掩碼與ip地址做'與'運(yùn)算,將答案化為十進(jìn)制便得到主機(jī)地址。 下面我們用一個(gè)例子給大家演示: 假設(shè)有一個(gè)I P 地址:192.168.0.1 子網(wǎng)掩碼為:255.255.255.0 化為二進(jìn)制為:I P 地址11000000.10101000.00000000.00000001 子網(wǎng)掩碼11111111.11111111.11111111.00000000 將兩者做'與'運(yùn)算得:11000000.10101000.00000000.00000000 將其化為十進(jìn)制得:192.168.0.0 這便是上面ip的網(wǎng)絡(luò)地址,主機(jī)地址以此類推。 小技巧:由于觀察到上面的子網(wǎng)掩碼為C類地址的默認(rèn)子網(wǎng)掩碼(即未劃分子網(wǎng)),便可直接看出網(wǎng)絡(luò)地址為ip地址的前三部分,即前三個(gè)字節(jié)。 解惑: 什么?你還是不懂?問我為什么要做'與'運(yùn)算而不是別的?其實(shí)你仔細(xì)觀察一下上面的例子就應(yīng)該能明白。 '1'在做'與'運(yùn)算時(shí),不影響結(jié)果,'0'在做'與'運(yùn)算時(shí),將得到0,利用'與'的這個(gè)特性,當(dāng)管理員設(shè)置子網(wǎng)掩碼時(shí),即將子網(wǎng)掩碼上與網(wǎng)絡(luò)地址所對(duì)應(yīng)的位都設(shè)為'1',其他位都設(shè)為'0',那么當(dāng)作'與'時(shí),ip地址中的網(wǎng)絡(luò)號(hào)將被保留到結(jié)果中,而主機(jī)號(hào)將被置0,這樣就解析出了網(wǎng)絡(luò)號(hào),解析主機(jī)號(hào)也一樣,只需先把子網(wǎng)掩碼取'反',在做'與'。 子網(wǎng)掩碼的分類 1)缺省子網(wǎng)掩碼: 即未劃分子網(wǎng),對(duì)應(yīng)的網(wǎng)絡(luò)號(hào)的位都置1,主機(jī)號(hào)都置0。 A類網(wǎng)絡(luò)缺省子網(wǎng)掩碼:255.0.0.0 B類網(wǎng)絡(luò)缺省子網(wǎng)掩碼:255.255.0.0 C類網(wǎng)絡(luò)缺省子網(wǎng)掩碼:255.255.255.0 2)自定義子網(wǎng)掩碼: 將一個(gè)網(wǎng)絡(luò)劃分為幾個(gè)子網(wǎng),需要每一段使用不同的網(wǎng)絡(luò)號(hào)或子網(wǎng)號(hào),實(shí)際上我們可以認(rèn)為是將主機(jī)號(hào)分為兩個(gè)部分:子網(wǎng)號(hào)、子網(wǎng)主機(jī)號(hào)。 形式如下: 未做子網(wǎng)劃分的ip地址:網(wǎng)絡(luò)號(hào)+主機(jī)號(hào) 做子網(wǎng)劃分后的ip地址:網(wǎng)絡(luò)號(hào)+子網(wǎng)號(hào)+子網(wǎng)主機(jī)號(hào) 也就是說ip地址在化分子網(wǎng)后,以前的主機(jī)號(hào)位置的一部分給了子網(wǎng)號(hào),余下的是子網(wǎng)主機(jī)號(hào)。 子網(wǎng)編址技術(shù) 前面幾點(diǎn)介紹了子網(wǎng)掩碼的一些知識(shí),下面我們來看看子網(wǎng)劃分,不要認(rèn)為子網(wǎng)劃分與子網(wǎng)掩碼沒有關(guān)系喲,子網(wǎng)劃分也是靠子網(wǎng)掩碼來實(shí)現(xiàn)的。 子網(wǎng)是指一個(gè)ip地址上生成的邏輯網(wǎng)絡(luò),它可以讓一個(gè)網(wǎng)絡(luò)地址跨越多個(gè)物理網(wǎng)絡(luò),即一個(gè)網(wǎng)絡(luò)地址代表多個(gè)網(wǎng)絡(luò)(很明顯這樣做可以節(jié)省ip地址)。呵呵,聽起來是不是很蹊蹺?一個(gè)網(wǎng)絡(luò)就這樣被莫名其妙的劃分成了許多子網(wǎng)?那么這樣做有什么用呢? 我舉個(gè)例子來跟你說吧:比如你是某個(gè)學(xué)校的網(wǎng)管,你的學(xué)校有四個(gè)處于不同物理位置的網(wǎng)絡(luò)教室,每個(gè)網(wǎng)絡(luò)教室25臺(tái)機(jī)器,你的任務(wù)是給這些機(jī)器配置ip地址和子網(wǎng)掩碼。你可能會(huì)覺得這再簡(jiǎn)單不過了,申請(qǐng)4個(gè)C類地址,每個(gè)教室一個(gè),然后在一一配置不就搞定了。嗯,這樣做理論上沒錯(cuò),但你有沒有想到這樣做很浪費(fèi),你一共浪費(fèi)了(254-25)*4=916個(gè)ip地址,如果所有的網(wǎng)管都像你這樣做,那么internet上的ip地址將會(huì)在極短的時(shí)間內(nèi)枯竭,顯然,你是不能這樣做,你應(yīng)該做子網(wǎng)劃分。 子網(wǎng)劃分說白了是這樣一個(gè)事情:因?yàn)樵趧澐至俗泳W(wǎng)后,ip地址的網(wǎng)絡(luò)號(hào)是不變的,因此在局域網(wǎng)外部看來,這里仍然只存在一個(gè)網(wǎng)絡(luò),即網(wǎng)絡(luò)號(hào)所代表的那個(gè)網(wǎng)絡(luò);但在網(wǎng)絡(luò)內(nèi)部卻是另外一個(gè)景象,因?yàn)槲覀兠總€(gè)子網(wǎng)的子網(wǎng)號(hào)是不同的,當(dāng)用化分子網(wǎng)后的ip地址與子網(wǎng)掩碼(注意,這里指的子網(wǎng)掩碼已經(jīng)不是缺省子網(wǎng)掩碼了,而是自定義子網(wǎng)掩碼,是管理員在經(jīng)過計(jì)算后得出的)做'與'運(yùn)算時(shí),每個(gè)子網(wǎng)將得到不同的子網(wǎng)地址,從而實(shí)現(xiàn)了對(duì)網(wǎng)絡(luò)的劃分(得到了不同的地址,當(dāng)然就能區(qū)別出各個(gè)子網(wǎng)了,有趣吧)。 1)巨大的網(wǎng)絡(luò)地址管理耗費(fèi):如果你是一個(gè)A類網(wǎng)絡(luò)的管理員,你一定會(huì)為管理數(shù)量龐大的主機(jī)而頭痛的; 2)路由器中的選路表的急劇膨脹:當(dāng)路由器與其他路由器交換選路表時(shí),互聯(lián)網(wǎng)的負(fù)載是很高的,所需的計(jì)算量也很高; 3)IP地址空間有限并終將枯竭:這是一個(gè)至關(guān)重要的問題,高速發(fā)展的internet,使原來的編址方法不能適應(yīng),而一些ip地址卻不能被充分的利用,造成了浪費(fèi)。 因此,在配置局域網(wǎng)或其他網(wǎng)絡(luò)時(shí),根據(jù)需要?jiǎng)澐肿泳W(wǎng)是很重要的,有時(shí)也是必要的?,F(xiàn)在,子網(wǎng)編址技術(shù)已經(jīng)被絕大多數(shù)局域網(wǎng)所使用。 如何劃分子網(wǎng)及確定子網(wǎng)掩碼 在動(dòng)手劃分之前,一定要考慮網(wǎng)絡(luò)目前的需求和將來的需求計(jì)劃。 劃分子網(wǎng)主要從以下方面考慮: 1.網(wǎng)絡(luò)中物理段的數(shù)量(即要?jiǎng)澐值淖泳W(wǎng)數(shù)量) 2.每個(gè)物理段的主機(jī)的數(shù)量 確定子網(wǎng)掩碼的步驟: 第一步:確定物理網(wǎng)段的數(shù)量,并將其轉(zhuǎn)換為二進(jìn)制數(shù),并確定位數(shù)n。如:你需要6個(gè)子網(wǎng),6的二進(jìn)制值為110,共3位,即n=3; 第二步:按照你ip地址的類型寫出其缺省子網(wǎng)掩碼。如C類,則缺省子網(wǎng)掩碼為11111111.11111111.11111111.00000000; 第三步:將子網(wǎng)掩碼中與主機(jī)號(hào)的前n位對(duì)應(yīng)的位置置1,其余位置置0。若n=3且為 C類地址:則得到子網(wǎng)掩碼為11111111.11111111.11111111.11100000化為十進(jìn)制得到255.255.255.224 B類地址:則得到子網(wǎng)掩碼為11111111.11111111.11100000.00000000化為十進(jìn)制得到255.255.224.0 A類地址:則得到子網(wǎng)掩碼為11111111.11100000.00000000.00000000化為十進(jìn)制得到255.224.0.0 另:由于網(wǎng)絡(luò)被劃分為6個(gè)子網(wǎng),占用了主機(jī)號(hào)的前3位,若是C類地址,則主機(jī)號(hào)只能用5位來表示主機(jī)號(hào),因此每個(gè)子網(wǎng)內(nèi)的主機(jī)數(shù)量=(2的5次方)-2=30,6個(gè)子網(wǎng)總共所能標(biāo)識(shí)的主機(jī)數(shù)將小于254,這點(diǎn)請(qǐng)大家注意! 解惑: 1.你可能有這樣的疑問,比如在上面的例子里,6的二進(jìn)制值為110,那么為什么要將子網(wǎng)掩碼中與主機(jī)號(hào)的前n位對(duì)應(yīng)的位置都置1,而不是用6的二進(jìn)制110去替代前n位呢? 呵呵,這個(gè)問題提的很好,答案是這樣的:我們計(jì)算子網(wǎng)掩碼的目的是什么?就是希望它在做'與'的時(shí)候能夠解析出網(wǎng)絡(luò)號(hào),也就是說它與網(wǎng)絡(luò)號(hào)所對(duì)應(yīng)的位置都應(yīng)該是1(當(dāng)然包括與子網(wǎng)號(hào)所對(duì)應(yīng)的位置),那么很顯然,你寫上110是不對(duì)的,如果你這么寫,那么它的意義是主機(jī)號(hào)的前兩位作為子網(wǎng)號(hào),那么這樣將最多劃分2個(gè)子網(wǎng)(不明白沒關(guān)系,下面有計(jì)算子網(wǎng)數(shù)量的方法),與我們當(dāng)初所要?jiǎng)澐值?個(gè)子網(wǎng)顯然是不一致的。這樣解釋你能明白馬? 2.細(xì)心的人可能會(huì)發(fā)現(xiàn),劃分4個(gè)子網(wǎng),5個(gè)子網(wǎng)和6個(gè)子網(wǎng)的子網(wǎng)掩碼是一樣的,同為255.255.255.224,是不是錯(cuò)了呢?三個(gè)子網(wǎng)掩碼應(yīng)該不同呀?呵呵,是這樣的,因?yàn)?,5,6的二進(jìn)制值都是3為,因此在子網(wǎng)掩碼中這三位都置1,劃分是沒有問題的,只是你的理解上有一點(diǎn)小小的問題,劃分為4個(gè)子網(wǎng),其實(shí)可以理解為劃分為6個(gè)子網(wǎng),但你只使用了其中的4個(gè)。比如你想劃分8個(gè)子網(wǎng),與劃分14個(gè)子網(wǎng)所得到的子網(wǎng)掩碼是一樣的,都占用了4位作為子網(wǎng)號(hào)。 相關(guān)判斷方法 1)如何判斷是否做了子網(wǎng)劃分? 這個(gè)問題很簡(jiǎn)單,如果它使用了缺省子網(wǎng)掩碼,那么表示沒有作子網(wǎng)劃分;反之,則一定作了子網(wǎng)劃分。 2)如何計(jì)算子網(wǎng)地址? 還是老辦法,將ip地址與子網(wǎng)掩碼的二進(jìn)制形式做'與',得到的結(jié)果即為子網(wǎng)地址。 3)如何計(jì)算主機(jī)地址? 這個(gè)也不用說了吧,先將子網(wǎng)掩碼的二進(jìn)制取'反',再與ip地址做'與'。 4)如何計(jì)算子網(wǎng)數(shù)量? 這個(gè)問題大家會(huì)常常提到,還是從子網(wǎng)掩碼入手,主要有兩個(gè)步驟: 1.觀察子網(wǎng)掩碼的二進(jìn)制形式,確定作為子網(wǎng)號(hào)的位數(shù)n; 2.子網(wǎng)數(shù)量為2的n次方-2。(為什么減2,呵呵,往下看) 舉個(gè)例子來說,比如有這樣一個(gè)子網(wǎng)掩碼:255.255.255.224其二進(jìn)制為: 11111111.11111111.11111111.11100000可見n=3,2的3次方為8,說明子網(wǎng)地址可能有 如下8種情況: 000 001 010 011 100 101 110 111 但其中代表網(wǎng)絡(luò)自身的000;代表廣播地址的111是被保留的,所以要減2,明白了嗎? 5)如何計(jì)算總主機(jī)數(shù)量,子網(wǎng)內(nèi)主機(jī)數(shù)量? 總主機(jī)數(shù)量=子網(wǎng)數(shù)量×子網(wǎng)內(nèi)主機(jī)數(shù)量 再用一個(gè)例子給大家說明,比如子網(wǎng)掩碼為255.255.255.224 上面的討論知道它最多可以劃分6個(gè)子網(wǎng),那么每個(gè)子網(wǎng)內(nèi)最多有多少個(gè)主機(jī)呢?其實(shí)上面我已經(jīng)給大家算過了,由于網(wǎng)絡(luò)被劃分為6個(gè)子網(wǎng),占用了主機(jī)號(hào)的前3位,且是C類地址,則主機(jī)號(hào)只能用5位來表示主機(jī)號(hào),因此子網(wǎng)內(nèi)的主機(jī)數(shù)量=(2的5次方)-2=30. 因此通過這個(gè)子網(wǎng)掩碼我們可以算出這個(gè)網(wǎng)絡(luò)最多可以標(biāo)識(shí)6*30=180個(gè)主機(jī)(可見,在化分子網(wǎng)后,整個(gè)網(wǎng)絡(luò)所能標(biāo)識(shí)的主機(jī)數(shù)量將減少)。 6)計(jì)算ip地址范圍 通過一個(gè)自定義子網(wǎng)掩碼,我們可以得到這個(gè)網(wǎng)絡(luò)所有可能的ip地址范圍。 體步驟: 1.寫出二進(jìn)制子網(wǎng)地址; 2.將子網(wǎng)地址化為十進(jìn)制; 3.計(jì)算子網(wǎng)所能容納主機(jī)數(shù); 4.得出ip范圍(起始地址:子網(wǎng)地址+1;終止地址:子網(wǎng)地址+主機(jī)數(shù)) 假設(shè)一個(gè)子網(wǎng)掩碼為:255.255.255.224,可知其最多可以劃分6個(gè)子網(wǎng),子網(wǎng)內(nèi)主機(jī)數(shù)為30,那么所有可能的ip地址及計(jì)算流程如下: 子網(wǎng)--子網(wǎng)地址(二進(jìn)制)--------子網(wǎng)地址-----實(shí)際ip范圍 1號(hào)-11001010.01110000.00001010.00100000-202.112.10.32-202.112.10.33-202.112.10.62 2號(hào)-11001010.01110000.00001010.01000000-202.112.10.64-202.112.10.65-202.112.10.94 3號(hào)-11001010.01110000.00001010.01100000-202.112.10.96-202.112.10.97-202.112.10.126 4號(hào)-11001010.01110000.00001010.10000000-202.112.10.128-202.112.10.129-202.112.10.158 5號(hào)-11001010.01110000.00001010.10100000-202.112.10.160-202.112.10.161-202.112.10.190 6號(hào)-11001010.01110000.00001010.11000000-202.112.10.192-202.112.10.193-202.112.10.222 因?yàn)楣灿?28 個(gè) bits 是不可動(dòng)的,所以 Netmask 地址的最后一個(gè)數(shù)字為 11110000,也就是 (128+64+32+16=240) ,所以: Network:192.168.0.0 Netmask:255.255.255.240 Broadcast:192.168.0.15 IP:由 192.168.0.1 ~ 192.168.0.14 共 14 個(gè)可用 IP 喔! 因?yàn)槭?29 個(gè) bits 不可動(dòng),所以最后一個(gè) Netmask 的地址為: 11111000 也就是 (128+64+32+16+8=248),所以: Network:192.168.0.128 Netmask:255.255.255.248 Broadcast:192.168.0.135 IP:由 192.168.0.129 ~ 192.168.0.134 共 6 個(gè)可用的 IP 喔! 既 然要分為四個(gè)網(wǎng)域,也就是還需要藉助 Netmask 的兩個(gè) bits (2的2次方為4?。?,所以 Netmask 會(huì)變成 255.255.255.192 ,每個(gè)子網(wǎng)域會(huì)有 256/4=64 個(gè) IP ,而必須要扣除 Network 與 Broadcast ,所以每個(gè)子網(wǎng)域會(huì)有 62 個(gè)可用 IP 喔!因此,四個(gè)子網(wǎng)域的表示方法為: 192.168.100.0/26, 192.168.100.64/26, 192.168.100.128/26, 192.168.100.192/26。 這里寫的和上面相矛盾,子網(wǎng)數(shù)要不要-2,我也不知道。 |
|
|