????????起初,IP地址只有兩層結(jié)構(gòu):網(wǎng)絡(luò)與主機逮光。子網(wǎng)地址向其中添加了一層新的結(jié)構(gòu):不同于僅有主機代箭,網(wǎng)絡(luò)有分為子網(wǎng)與主機。每一個子網(wǎng)的功能近乎于完整的網(wǎng)絡(luò)涕刚。子網(wǎng)的添加構(gòu)成了三層網(wǎng)絡(luò)結(jié)構(gòu):包含子網(wǎng)的網(wǎng)絡(luò)嗡综,各自由若干主機構(gòu)成。IP地址由此被分為三個部分:網(wǎng)絡(luò)ID杜漠,子網(wǎng)ID與主機ID极景。IP地址長度仍固定為32位,其中驾茴,A類網(wǎng)絡(luò)8位子網(wǎng)掩碼盼樟,B類網(wǎng)絡(luò)16位子網(wǎng)掩碼,C類網(wǎng)絡(luò)24位子網(wǎng)掩碼锈至。
????????對于每一類網(wǎng)絡(luò)晨缴,網(wǎng)絡(luò)數(shù)以及每一網(wǎng)絡(luò)中包含的主機數(shù),決定了它們各自占用多少比特位峡捡。這一準(zhǔn)則同樣適用于如何劃分子網(wǎng)與主機击碗。子網(wǎng)數(shù)量為2的子網(wǎng)ID次方,每一子網(wǎng)內(nèi)的主機數(shù)為2的主機ID次方们拙。假設(shè)一個B類網(wǎng)絡(luò)154.71.0.0延都,網(wǎng)絡(luò)ID占16位(154.71),主機ID占16位睛竣。沒有子網(wǎng)的情況下一共可容納65晰房,534臺主機。按照實際需求將16位劃分為子網(wǎng)與主機:1位子網(wǎng)16位主機,或2與14殊者,3與13与境。。猖吴。如下圖所示摔刁,劃分為5位子網(wǎng)與11位主機,子網(wǎng)數(shù)越多海蔽,主機數(shù)越少共屈。
????????搭建IP子網(wǎng)時,如何劃分子網(wǎng)與主機數(shù)是最重要的問題之一党窜。子網(wǎng)所占位取決于整個網(wǎng)絡(luò)中的物理子網(wǎng)數(shù)拗引,每一子網(wǎng)中的主機數(shù)不能超過子網(wǎng)劃分所允許的最大數(shù)量。
IP子網(wǎng)掩碼幌衣,表示法以及子網(wǎng)計算:
????????在沒有子網(wǎng)的網(wǎng)絡(luò)環(huán)境下矾削,路由器通過IP地址的前八位來決定是哪一類型的網(wǎng)絡(luò),從而它們知道哪些是網(wǎng)絡(luò)ID哪些是主機ID豁护。劃分子網(wǎng)時哼凯,路由器也需要知道主機ID是如何劃分成子網(wǎng)ID與主機ID的,但是劃分方法可以是任意組合楚里,也沒有辦法從IP地址看出來断部。因此,必須有額外的信息告知解析IP地址的設(shè)備班缎,這一信息稱為子網(wǎng)掩碼家坎,以32比特數(shù)的形式呈現(xiàn)。
????????掩碼位的1和0結(jié)合布爾函數(shù)與和或的功能對于地址中的比特位進(jìn)行選擇或清除吝梅。子網(wǎng)掩碼中的32位對應(yīng)于IP地址相同位置上的數(shù)字虱疏。掩碼位為1時,則地址中該位作為網(wǎng)絡(luò)ID或子網(wǎng)ID苏携,而掩碼位為0時做瞪,則地址中該位表示主機ID。
子網(wǎng)掩碼為1:將IP地址中的0或1與1進(jìn)行與操作右冻,即:當(dāng)子網(wǎng)掩碼位為1装蓬,IP地址保持不變。
子網(wǎng)掩碼為0:任何數(shù)和0做與操作都是0纱扭,即:當(dāng)子網(wǎng)掩碼位為0牍帚,IP地址清零。
????????因此乳蛾,將子網(wǎng)掩碼應(yīng)用于IP地址暗赶,網(wǎng)絡(luò)ID和子網(wǎng)ID保持不變鄙币,移除主機ID。執(zhí)行此功能的路由器由此獲得子網(wǎng)地址蹂随,因為它知道網(wǎng)絡(luò)類型十嘿,因此能夠區(qū)分網(wǎng)絡(luò)位與子網(wǎng)地址位。
????????舉例來說岳锁,假設(shè)將B類網(wǎng)絡(luò)154.71.0.0劃分5位為子網(wǎng)ID绩衷,11位為主機ID。因此激率,子網(wǎng)掩碼有16個1代表網(wǎng)絡(luò)部分(B類網(wǎng)絡(luò))咳燕,接下來5個1作為子網(wǎng)部分,11個0用作主機ID乒躺。二進(jìn)制數(shù)表示為11111111 1111111111111000 00000000招盲,十進(jìn)制數(shù)表示為255.255.248.0。
舉例:
????????假設(shè)有一臺主機IP地址154.71.150.42聪蘸,路由器需要找出該主機位于哪一子網(wǎng),則它的掩碼操作如下圖所示:
????????結(jié)果表制,154.71.150.42所屬的子網(wǎng)為154.71.144.0健爬。另一臺路由器能夠從中區(qū)分出網(wǎng)絡(luò)ID與子網(wǎng)ID,因為地址的前兩個比特位是10么介,是一個B類網(wǎng)絡(luò)娜遵。所以網(wǎng)絡(luò)ID占16位,子網(wǎng)ID一定是17至21壤短。這里设拟,子網(wǎng)是10010,或子網(wǎng)18久脯。
????????提一個問題:既然子網(wǎng)掩碼只是將網(wǎng)絡(luò)地址劃分出網(wǎng)絡(luò)部分與子網(wǎng)部分纳胧,那為什么還要使用另外的32位比特數(shù)255.255.248.0,而不直接將IP地址第21位指定為分界線呢帘撰?這是有歷史原因的:因為需要考慮不連續(xù)的掩碼情況跑慕。同時,它也能夠讓路由器進(jìn)行快速的掩碼操作來找出子網(wǎng)地址摧找。
????????除了將16位劃分為5位子網(wǎng)ID與11位主機ID核行,標(biāo)準(zhǔn)也允許前2位用作子網(wǎng)ID,4位用作主機ID蹬耘,之后3位用作子網(wǎng)ID芝雪,7位用作主機ID。因此子網(wǎng)掩碼為11000011 10000000综苔。當(dāng)然惩系,這會造成混淆位岔,是不推薦的,實際中也沒有人會這么做蛆挫。
????????鑒于非連續(xù)掩碼實際不會應(yīng)用赃承,以及現(xiàn)今的計算機速度大幅提升,新的表達(dá)法為154.71.150.42/21悴侵。
IP子網(wǎng)掩碼設(shè)定:
????????假設(shè)B類網(wǎng)絡(luò)154.71.0.0瞧剖,沒有子網(wǎng)的話一共有65,534臺主機。劃分子網(wǎng)時可免,按照以下方法:
????????·1位用作子網(wǎng)ID抓于,15位用作主機ID:那么子網(wǎng)數(shù)為2^1,第一個子網(wǎng)是0浇借,第二個子網(wǎng)是1捉撮。每一個子網(wǎng)的主機數(shù)是2^15-2,或32妇垢,766巾遭。
????????·2位用作子網(wǎng)ID,14位用作主機ID:那么子網(wǎng)數(shù)為2^2闯估,四個子網(wǎng)0灼舍,1,2涨薪,3骑素。每一個子網(wǎng)的主機數(shù)是2^14-2,或16刚夺,382献丑。
????????子網(wǎng)與主機ID位的劃分取決于子網(wǎng)數(shù)與子網(wǎng)中最大主機數(shù)。假設(shè)一個B類網(wǎng)絡(luò)中有10個子網(wǎng)侠姑,需要4位表示子網(wǎng)(2^4=16创橄,2^3=8),12位用作主機ID莽红,每一子網(wǎng)最多4筐摘,094臺主機。
????????如果你有20個子網(wǎng)船老,每一子網(wǎng)3咖熟,000臺主機,那么就會碰到問題柳畔。需要5位表示20個子網(wǎng)馍管,而3,000臺主機需要12位薪韩。這時需要重新組織物理網(wǎng)絡(luò)确沸,如果無法做到捌锭,就需要第二個B類網(wǎng)絡(luò)。
????????自定義子網(wǎng)掩碼的方法是:從指定網(wǎng)絡(luò)類型的默認(rèn)子網(wǎng)掩碼中罗捎,從最左邊的0位開始观谦,按照需要的子網(wǎng)數(shù)將0改為1。假設(shè)C類網(wǎng)絡(luò)200.13.94.0桨菜,最后8位可供劃分子網(wǎng)與主機豁状,則有6種不同的劃分方法。假如使用3位作為子網(wǎng)ID倒得,5位作為主機ID泻红,那么:
????????默認(rèn)C類網(wǎng)絡(luò)子網(wǎng)掩碼:11111111 11111111 11111111 00000000
????????將最左邊的3位0改為1:11111111 11111111 1111111111100000
????????即子網(wǎng)掩碼為:255.255.255.224。
????????通常情況下霞掺,所有子網(wǎng)大小必須相同谊路。因此,最大一個子網(wǎng)的主機數(shù)決定了需要多少位比特用作主機ID菩彬。因此前例中缠劝,前19個子網(wǎng)每個子網(wǎng)最多100臺主機,而第20個子網(wǎng)需要3000個主機骗灶,就會碰到問題惨恭。這種情況下,需要將最后一個過大的子網(wǎng)拆成若干個小的子網(wǎng)矿卑。