前段時(shí)間有群友在里面聊子網(wǎng)劃分,有幾個(gè)不懂的網(wǎng)工朋友,悄悄來(lái)私聊,表示想再補(bǔ)充一下這方面的知識(shí)。
子網(wǎng)劃分技術(shù)其實(shí)是計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)中的重點(diǎn)難點(diǎn)了。今天就給你來(lái)一篇,IP子網(wǎng)劃分VLSM詳解。
01
什么是IP地址
老規(guī)矩啊,先給你講一波理論基礎(chǔ)。
IP地址在網(wǎng)絡(luò)中用于標(biāo)識(shí)一個(gè)節(jié)點(diǎn)(或者網(wǎng)絡(luò)設(shè)備的接口)。
IP網(wǎng)絡(luò)中數(shù)據(jù)包的尋址是基于IP地址來(lái)進(jìn)行的,因此IP地址就像是現(xiàn)實(shí)生活中的地址。
IP協(xié)議定義了數(shù)據(jù)分組的格式,也定義了數(shù)據(jù)分組尋址的方式。目前我們?cè)跇I(yè)務(wù)環(huán)境中常見(jiàn)的IP主要是兩個(gè)版本:
IPv4及IPv6。
而現(xiàn)階段網(wǎng)絡(luò)主體仍然是IPv4,但是在可預(yù)見(jiàn)的未來(lái),會(huì)逐漸向IPv6過(guò)渡。今天只介紹IPv4哈。
一個(gè)IPv4地址有32比特位(二進(jìn)制格式下)。
當(dāng)然,我們不可能用二進(jìn)制來(lái)書寫IPv4地址,那是低效的,我們通常采用十進(jìn)制格式來(lái)書寫IP地址,但是計(jì)算機(jī)在進(jìn)行IP地址的相關(guān)計(jì)算工作時(shí),無(wú)疑是通過(guò)二進(jìn)制的形式來(lái)進(jìn)行。
因此掌握十進(jìn)制到二進(jìn)制的數(shù)制轉(zhuǎn)換是必備的技能。
IPv4地址通常采用“點(diǎn)分十進(jìn)制”表示,以適應(yīng)人類的讀寫習(xí)慣,例如192.168.1.1。
02
十進(jìn)制與二進(jìn)制的轉(zhuǎn)換
“點(diǎn)分十進(jìn)制”IP地址表現(xiàn)形式能夠幫助我們更好的使用網(wǎng)絡(luò),但網(wǎng)絡(luò)設(shè)備在對(duì)IP進(jìn)行計(jì)算時(shí)使用的是二進(jìn)制的操作方式。
例如:
以下是192這個(gè)數(shù)字,對(duì)應(yīng)的二進(jìn)制算法,這里就不再贅述了哈,這是基本技能。
03
IP地址的分類
IPv4地址的空間從0.0.0.0 一直到 255.255.255.255,這么龐大的空間,如果不加以區(qū)分和規(guī)劃,勢(shì)必不便于統(tǒng)籌管理。
因此我們對(duì)IPv4地址空間進(jìn)行類別上的劃分,一共有五類:
地址的類別上的區(qū)分主要體現(xiàn)在第一個(gè)八位組(一個(gè)IP地址擁有4個(gè)八位組)上:
第一個(gè)八位組首位恒定為0,那么我們就得到一個(gè)區(qū)間:
1.0.0.0一直到127.255.255.255。
這是A類地址,其中127.0.0.0/8作為本地回環(huán)使用,例如你ping 127.0.0.1實(shí)際上ping的是本機(jī)。
所以如果看到一個(gè)IP,它的首個(gè)八位組掉落在1-126的區(qū)間內(nèi),那么這是一個(gè)A類地址。
第一個(gè)八位組的最高兩位恒定為10,就得到一個(gè)區(qū)間:
128.0.0.0-191.255.255.255,這是B類地址。
第一個(gè)八位組的最高三位恒定為110,就得到一個(gè)區(qū)間:
192.0.0.0 – 223.255.255.255,這是C類地址。
第一個(gè)八位組的最高四位恒定為1110,就得到一個(gè)區(qū)間:
224.0.0.0 – 239.255.255.255,這是D類地址,這個(gè)類別的地址專門用于組播。
剩下的是E類地址,這類地址保留作為研究使用。
04
網(wǎng)絡(luò)掩碼Netmask
一個(gè)IP地址包含兩部分:網(wǎng)絡(luò)部分以及主機(jī)部分。
網(wǎng)絡(luò)部分用于表示這個(gè)IP地址所處的“空間”,對(duì)于一臺(tái)路由器而言,當(dāng)它在為數(shù)據(jù)包尋址時(shí),通常只關(guān)心IP地址的網(wǎng)絡(luò)部分。
那么如何區(qū)分一個(gè)IP地址中的網(wǎng)絡(luò)與主機(jī)部分?
自然是網(wǎng)絡(luò)掩碼(Network Mask,簡(jiǎn)稱netmask),用于和IP地址進(jìn)行對(duì)應(yīng),從而標(biāo)識(shí)出IP地址中的網(wǎng)絡(luò)與主機(jī)部分。
●?網(wǎng)絡(luò)掩碼為32bits,與IPv4地址的位數(shù)是一樣的。
●?網(wǎng)絡(luò)掩碼在二進(jìn)制的表示上是一堆連續(xù)的1、后面接連續(xù)的0。
●?網(wǎng)絡(luò)掩碼值為1的bit對(duì)應(yīng)IP地址中的網(wǎng)絡(luò)位;為0的bit對(duì)應(yīng)IP地址中的主機(jī)位,以此來(lái)輔助我們識(shí)別一個(gè)IP地址中的網(wǎng)絡(luò)與主機(jī)位,如下圖:
為了方便書寫,我們往往使用掩碼長(zhǎng)度的方式來(lái)表示一個(gè)IP地址+掩碼:
192.168.1.1 255.255.255.0 等同于 192.168.1.1/24。
因?yàn)?55.255.255.0寫成二進(jìn)制的話,從左往右數(shù)就是24個(gè)1,所以我們也說(shuō),它的掩碼長(zhǎng)度為24。
默認(rèn)情況下,A類IP地址,首個(gè)八位組為網(wǎng)絡(luò)位,其他位為主機(jī)位,因此A類地址的默認(rèn)掩碼就是255.0.0.0,或者長(zhǎng)度為/8。
B類IP地址前兩個(gè)八位組為網(wǎng)絡(luò)位,后兩個(gè)八位組為主機(jī)位,因此B類地址的默認(rèn)掩碼就是255.255.0.0或者/16。
C類地址的前三個(gè)八位組為網(wǎng)絡(luò)位,后面一個(gè)八位組是主機(jī)位,因此C類地址的默認(rèn)掩碼就是255.255.255.0,或者/24。
從這里我們可以看出來(lái),如果你申請(qǐng)到一個(gè)A類地址空間:
123.0.0.0/8,那么這是一個(gè)相當(dāng)龐大的地址空間,因?yàn)檫@個(gè)空間有2的24次方個(gè)IP地址。
相對(duì)的,一個(gè)B類的IP網(wǎng)絡(luò)地址空間默認(rèn)有2的16次方個(gè)IP地址,而C類地址則更少。
05
IP地址類型
這里給你說(shuō)說(shuō)下面這三種類型。
●?網(wǎng)絡(luò)地址:
標(biāo)識(shí)一個(gè)網(wǎng)絡(luò),相當(dāng)于一個(gè)“面”的概念。是一個(gè)IP地址中主機(jī)位全0的地址。例如192.168.10.0/24。
●?廣播地址:
用于向網(wǎng)絡(luò)中的所有主機(jī)發(fā)送數(shù)據(jù)的特殊地址。廣播地址即主機(jī)部分的各比特位全部為1的地址。例如192.168.10.255/24。
●?主機(jī)地址:
可分配給網(wǎng)絡(luò)中終端設(shè)備的地址。例如192.168.10.1/24至192.168.10.254/24。
例:192.168.1.0 這個(gè)C類網(wǎng)絡(luò)的網(wǎng)絡(luò)號(hào)、廣播號(hào)及可分配IP分別是?
06
為什么要?jiǎng)澐肿泳W(wǎng)
假設(shè)你有一個(gè)B類地址:172.16.0.0,由于B類地址的默認(rèn)掩碼是255.255.0.0,這就意味著這個(gè)網(wǎng)絡(luò)內(nèi)有2的16次方個(gè)地址。
而可分配給PC使用的IP地址就有2的16次方-2這么多個(gè)IP,為什么要減去2?
因?yàn)?strong>廣播地址及網(wǎng)絡(luò)號(hào)是不能分配給PC使用的。
設(shè)想一下,如果你真有這么多臺(tái)PC,這么多個(gè)IP地址處于同一個(gè)網(wǎng)絡(luò)中、同一個(gè)網(wǎng)段中、同一個(gè)廣播域中,如上圖所示。
那么一旦網(wǎng)絡(luò)中發(fā)生廣播,影響可就大了。
再者,實(shí)際的業(yè)務(wù)環(huán)境中,我們往往給一個(gè)業(yè)務(wù)單元,劃分一個(gè)網(wǎng)段,不同的業(yè)務(wù)單元不同的網(wǎng)段。
那么如果你有10個(gè)業(yè)務(wù)單元,每個(gè)業(yè)務(wù)單元才百來(lái)號(hào)設(shè)備,一個(gè)業(yè)務(wù)單元就耗費(fèi)一個(gè)B類地址,這就造成地址空間的浪費(fèi)。
因此,我們提出子網(wǎng)劃分的概念,子網(wǎng)劃分的術(shù)語(yǔ)叫做VLSM(Variable Length Subnet Mask,可變長(zhǎng)子網(wǎng)掩碼),事實(shí)上是拿子網(wǎng)掩碼變戲法。
在上圖中,我們有五個(gè)網(wǎng)段,需要五個(gè)IP地址段。
而如果你只有一個(gè)B類地址(172.16.0.0/16)可用,通過(guò)子網(wǎng)劃分,可以將這個(gè)B類地址劃分成一個(gè)個(gè)小一點(diǎn)的子網(wǎng)。
這樣一來(lái),一個(gè)龐大的廣播域可以被分割成小的單元,另外IP地址的使用也更為科學(xué)更為合理。
07
如何劃分子網(wǎng)
現(xiàn)在假設(shè)我們有一個(gè)B類地址:172.16.0.0/16。
默認(rèn)情況下,這個(gè)B類地址的掩碼為255.255.0.0,前兩個(gè)八位組是網(wǎng)絡(luò)位,后兩個(gè)八位組是主機(jī)位。
那么這個(gè)單一的網(wǎng)絡(luò)中,有2的16次方個(gè)IP地址,如上圖所示,非常龐大。
現(xiàn)在,將原有的16個(gè)位的網(wǎng)絡(luò)位向主機(jī)位去“借”一位,這樣一來(lái)網(wǎng)絡(luò)位就擴(kuò)充到了17位,相對(duì)的主機(jī)位就變成了15位。
那么借過(guò)來(lái)的這一位,就是子網(wǎng)位了,如上圖所示。
由于我們借了這一位,因此掩碼就從默認(rèn)的255.255.0.0變成了255.255.128.0或者說(shuō)從/16變成了/17。
于是從原來(lái)的只有172.16.0.0/16的一個(gè)大網(wǎng)段,變成現(xiàn)在擁有172.16.0.0/17及172.16..128.0/17這兩個(gè)小一點(diǎn)的網(wǎng)段。
這就是子網(wǎng)劃分。
務(wù)必要關(guān)注網(wǎng)絡(luò)掩碼在這個(gè)過(guò)程中發(fā)揮的作用。
接下來(lái)給你說(shuō)兩個(gè)子網(wǎng)劃分的案例。
08
子網(wǎng)劃分—案例1
現(xiàn)在有一個(gè)IP地址:192.168.1.0,這是一個(gè)C類地址,默認(rèn)的掩碼是/24。
我要對(duì)它做子網(wǎng)劃分,向主機(jī)位借一位作為子網(wǎng)位,也就是掩碼變成/25,那么我能拿到幾個(gè)子網(wǎng)?
每個(gè)子網(wǎng)網(wǎng)絡(luò)號(hào)是多少?每個(gè)子網(wǎng)廣播號(hào)是多少?每個(gè)子網(wǎng)的可用IP是多少?
步驟如下:
?01??判斷類別,找默認(rèn)掩碼?
首先這是一個(gè)C類地址,因此默認(rèn)的掩碼長(zhǎng)度為/24,你可以劃一條豎線幫助計(jì)算。線的左邊為網(wǎng)絡(luò)位,右邊為主機(jī)位,如上圖所示。
?02??變更掩碼,找子網(wǎng)?
在原有的/24掩碼基礎(chǔ)上,向主機(jī)位借一位,掩碼變成/25。
借出來(lái)的這一位就是子網(wǎng)位,如上圖所示,我們只要將虛線往右移動(dòng)一格就行。
這個(gè)子網(wǎng)位要么為0,要么為1,兩種可能性。
這就創(chuàng)造了兩個(gè)子網(wǎng)(2的1次方),子網(wǎng)位為0時(shí),得到的網(wǎng)絡(luò)號(hào)是192.168.1.0/25,子網(wǎng)位為1時(shí),得到另一個(gè)子網(wǎng)的網(wǎng)絡(luò)號(hào)192.168.1.128/25。
如下圖所示:
?03??得出廣播號(hào)?
上面分別列出了子網(wǎng)1及子網(wǎng)2的廣播號(hào),其實(shí)很簡(jiǎn)單,就是把各個(gè)子網(wǎng)的主機(jī)位全部置1即可。
因此子網(wǎng)192.168.1.0/25的廣播號(hào)為192.168.1.127;子網(wǎng)192.168.1.128/25的廣播號(hào)為192.168.1.255;
?04??得出每個(gè)子網(wǎng)的可用IP地址數(shù)量?
經(jīng)過(guò)上面的計(jì)算,得出了子網(wǎng)1及子網(wǎng)2的網(wǎng)絡(luò)號(hào)和廣播號(hào),那么每個(gè)子網(wǎng)可用的IP地址也就出來(lái)了,因?yàn)榭捎肐P實(shí)際上就是該子網(wǎng)的網(wǎng)絡(luò)號(hào)與廣播號(hào)之間夾著的那些個(gè)IP。
所以實(shí)際上我們對(duì)192.168.1.0這個(gè)C類地址,用了一個(gè)變長(zhǎng)子網(wǎng):/25,也就是向主機(jī)位借1位后產(chǎn)生出了2個(gè)子網(wǎng),每個(gè)子網(wǎng)有126個(gè)可用IP地址。
這里有個(gè)公式:
09
子網(wǎng)劃分—案例2
假設(shè)現(xiàn)在你有一個(gè)IP地址:192.168.1.64/27,想把這個(gè)地址配置在一臺(tái)PC上,是否可行?
默認(rèn)掩碼/24,新掩碼/27因此網(wǎng)絡(luò)位向主機(jī)位借了3位,產(chǎn)生了8個(gè)子網(wǎng),每個(gè)子網(wǎng)可用IP地址為30;
而相應(yīng)的每個(gè)子網(wǎng)塊的大小就為32,也就是2的5次方(5是剩余的主機(jī)位數(shù))。
現(xiàn)在開(kāi)始把每個(gè)子網(wǎng)羅列一下,結(jié)果發(fā)現(xiàn)192.168.1.64/27這個(gè)IP地址,其實(shí)是一個(gè)子網(wǎng)的網(wǎng)絡(luò)號(hào)。
既然是網(wǎng)絡(luò)號(hào),當(dāng)然是不能分配給PC用的了。
編輯:黃飛
評(píng)論