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