記住3個(gè)部分、2個(gè)地址,1個(gè)公式,你也能輕松劃分子網(wǎng)
概述
劃分子網(wǎng)是任何一個(gè)網(wǎng)絡(luò)工程師都必須掌握的基本技能,但由于在工作中經(jīng)常使用24位掩碼,在加上網(wǎng)絡(luò)上有很多小工具可以自動(dòng)計(jì)算,所以很多小伙伴都已經(jīng)喪失了手工劃分子網(wǎng)的能力。但我們作為一個(gè)高手,還是要具備手工劃分子網(wǎng)能力的。
其實(shí)手工劃分子網(wǎng)并不復(fù)雜,只需要記住3個(gè)部分、2個(gè)地址、1個(gè)公式,就可以輕松的劃分子網(wǎng)。下面我們一起來(lái)看一下!
一、劃分子網(wǎng)原因
Classful地址
我們都知道IP地址分為A、B、C、D、E五類Classfull地址,但通常我們只使用A、B、C類地址來(lái)劃分子網(wǎng),因?yàn)镈類地址用于組播,E類地址暫時(shí)保留不用。
如上圖所示,classful地址只包含兩部分:network和host。一個(gè)A類地址可以包含的主機(jī)有16,777,214 (2的24次方-2 )個(gè),這要是分配給一個(gè)組織和公司,是極大的浪費(fèi),因?yàn)闆](méi)有公司能用完這么多地址。即使一個(gè)C類地址也包含254個(gè)可用的IP,這對(duì)于公網(wǎng)地址短缺的現(xiàn)狀,全部分配給一個(gè)公司仍然是太多了。
看到這里,有的小伙伴可能會(huì)說(shuō),在公司都是使用的是私有地址,隨便分配一個(gè)8網(wǎng)段的A類地址,就足夠整個(gè)公司使用,不存在地址不夠一說(shuō)。那么這么想的小伙伴一定沒(méi)有注意另外2個(gè)問(wèn)題:
問(wèn)題1:網(wǎng)絡(luò)中的無(wú)用流量對(duì)帶寬的占用
我們知道,一臺(tái)主機(jī)為了和其它主機(jī)進(jìn)行通信,會(huì)發(fā)送一些的報(bào)文,最典型的就是ARP報(bào)文。平??赡芪覀兏兄惶黠@,因?yàn)槲覀兯诘木W(wǎng)絡(luò)規(guī)模一般都很小。
但是假設(shè)網(wǎng)絡(luò)中有1萬(wàn)臺(tái)主機(jī),一臺(tái)主機(jī)發(fā)送的ARP報(bào)文,交換機(jī)會(huì)轉(zhuǎn)發(fā)給剩下的9999臺(tái)主機(jī),交換機(jī)每秒需要發(fā)送9999個(gè)ARP報(bào)文。在極端情況下,所有的主機(jī)之間都互相通信,那么網(wǎng)絡(luò)帶寬很快就會(huì)被這些無(wú)用的流量占用滿的。
問(wèn)題2:所有的PC都要處理其它PC發(fā)送的無(wú)用流量;
接上面的例子,一臺(tái)主機(jī)發(fā)送的ARP請(qǐng)求報(bào)文,只對(duì)于目標(biāo)主機(jī)是有用的,對(duì)于剩下的9998都是無(wú)用的,收到以后就會(huì)丟棄。但是這9998臺(tái)主機(jī)收到ARP報(bào)文以后,都需要處理,它要判斷這個(gè)ARP是否是請(qǐng)求自己的MAC地址,這也會(huì)消耗主機(jī)的資源。網(wǎng)絡(luò)規(guī)模越大,這種消耗越明顯,對(duì)電腦的運(yùn)行速度影響也就會(huì)越大。
所以在工作中,在網(wǎng)絡(luò)規(guī)模比較小,幾臺(tái)PC怎么連都可以,不需要考慮劃分子網(wǎng)。但是在較大的網(wǎng)絡(luò)中,我們都是要?jiǎng)澐肿泳W(wǎng)的,不會(huì)把所有的PC都分在同一個(gè)網(wǎng)段。
據(jù)我觀察,越是大型的公司,對(duì)子網(wǎng)劃分越嚴(yán)格要求,不浪費(fèi)一個(gè)地址是他們追求的目標(biāo)。這就要求我們也要掌握劃分子網(wǎng)這項(xiàng)技能,后面咋們也是需要去大公司鍍金的,不能老是在小公司,對(duì)我們的職業(yè)生涯沒(méi)有好處。
二、劃分子網(wǎng)的3個(gè)部分,2個(gè)地址
1. 3個(gè)部分
上面我們已經(jīng)看到了,對(duì)于一個(gè)classful地址來(lái)說(shuō),它由二部分組成:network和host。
而劃分子網(wǎng)本質(zhì)是從host拿出一部分出來(lái),作為network;拿出的這一部分network,我們稱它為subnet(子網(wǎng)),所以IP地址就變成了三部分:network、subnet、host,如下圖所示:
IP地址變成三部分
2. 2個(gè)地址
對(duì)于任何一個(gè)IP地址來(lái)說(shuō),都有兩個(gè)與它對(duì)應(yīng)的特殊IP地址,一個(gè)是網(wǎng)絡(luò)ID(network ID),一個(gè)是網(wǎng)絡(luò)廣播IP,這兩個(gè)地址是天生存在的。
例如對(duì)于192.168.1.10 255.255.255.0 這個(gè)地址來(lái)說(shuō),它的網(wǎng)絡(luò)ID是192.168.1.0,對(duì)應(yīng)的廣播地址是192.168.1.255。
對(duì)于上面這種24位的掩碼的地址來(lái)說(shuō),比較簡(jiǎn)單,我們一眼就能看出,但是這個(gè)是怎么計(jì)算的呢?因?yàn)槿绻巧晕?fù)雜的地址,我們就看不出來(lái)了,例如192.168.1.72 255.255.255.240,這個(gè)IP對(duì)應(yīng)的網(wǎng)絡(luò)ID和廣播地址各是多少呢?
3. 網(wǎng)絡(luò)ID計(jì)算
我先來(lái)看一下網(wǎng)絡(luò)ID的定義:用來(lái)唯一的標(biāo)識(shí)一個(gè)網(wǎng)段,所有在同一個(gè)網(wǎng)段上的主機(jī)使用相同的網(wǎng)絡(luò)。
計(jì)算網(wǎng)絡(luò)ID有多種方式,我教大家一種比較常用的方式,其步驟如下:
步驟1:首先把IP地址和子網(wǎng)掩碼的后8位都化為2進(jìn)制,如下圖所示:
后8位化為2進(jìn)制
步驟2:我們知道子網(wǎng)掩碼用來(lái)標(biāo)識(shí)一個(gè)IP地址的網(wǎng)絡(luò)ID長(zhǎng)度的,使用1來(lái)表示,而使用0來(lái)表示主機(jī);把掩碼和IP進(jìn)行“相與”操作,就可以得到網(wǎng)絡(luò)ID了,如下圖所示:
想與操作
步驟3:上一步得到網(wǎng)絡(luò)ID的后8位是01000000,化為十進(jìn)制是64,則這個(gè)IP對(duì)應(yīng)的網(wǎng)絡(luò)ID就是192.168.1.64
4. 廣播地址計(jì)算
廣播地址,這里說(shuō)的廣播地址不是二層廣播MAC地址,而是三層廣播IP地址。三層廣播地址有什么用呢?也是用來(lái)在同一個(gè)網(wǎng)段群發(fā)報(bào)文的,所有在同一個(gè)網(wǎng)段的所有主機(jī),收到三層IP廣播地址,都是不能丟棄的,需要處理。
一個(gè)網(wǎng)段的廣播地址,有比較簡(jiǎn)單的計(jì)算方法,就是把所有的host位都置為1,如下圖所示:
主機(jī)位都置為1
這樣計(jì)算出來(lái)的廣播地址后8位值為79,則這個(gè)網(wǎng)段的廣播地址就為192.168.1.79
轉(zhuǎn)化為十進(jìn)制
5. 一個(gè)公式
上面我們通過(guò)計(jì)算,已經(jīng)得到192.168.1.72 255.255.255.240 這個(gè)IP地址對(duì)應(yīng)的網(wǎng)絡(luò)ID和廣播地址,那么這個(gè)網(wǎng)段可以容納多個(gè)主機(jī)呢? 換句話說(shuō),有哪些地址是和這個(gè)IP在同一個(gè)網(wǎng)段里的呢?
其實(shí)很簡(jiǎn)單,掐頭去尾,除去網(wǎng)絡(luò)ID和廣播地址,剩下的地址,都是在同一個(gè)網(wǎng)段,并且是可用的。
如上面的例子,去除了網(wǎng)絡(luò)ID 192.168.1.64,廣播地址192.168.1.79,剩下的14個(gè)IP地址192.168.65-78,都是可以使用的。
這里有一個(gè)簡(jiǎn)單的公式來(lái)計(jì)算某個(gè)網(wǎng)段內(nèi)可用的IP地址個(gè)數(shù):2的n次方-2。
這里的n指的是這個(gè)網(wǎng)段內(nèi)的主機(jī)位數(shù),所以計(jì)算結(jié)果為:
計(jì)算主機(jī)數(shù)量的公式
6. 注意點(diǎn):
一個(gè)IP的網(wǎng)絡(luò)ID和廣播地址是不能配置在設(shè)備上的,如果配置,就會(huì)出錯(cuò),如下圖所示:
網(wǎng)絡(luò)ID和廣播地址不能配置
順便說(shuō)一下計(jì)算subnet的公式是:2的n次方。這里不需要減2,n指的是subnet的位數(shù),在這個(gè)例子中也是4,所有對(duì)于192.168.1.0 255.255.255.0 這個(gè)C類地址來(lái)說(shuō),被分為了2的4次方,即16個(gè)subnets。
三、前綴和掩碼換算
掩碼地址太長(zhǎng),寫起來(lái)太復(fù)雜,所有很多時(shí)候我們習(xí)慣使用前綴來(lái)表示子網(wǎng)掩碼,例如192.168.1.72 255.255.255.240,可以寫為192.168.1.72/28。那么掩碼和前綴之間是怎么換算的呢?請(qǐng)看下面的步驟:
步驟:1:把內(nèi)容轉(zhuǎn)化2進(jìn)制,例如下圖
轉(zhuǎn)化為2進(jìn)制
步驟2:前面的24位我們都知道是網(wǎng)絡(luò)位,在加上后面的子網(wǎng)位,就變成了最終的數(shù)字24+4=28;
反過(guò)來(lái)計(jì)算也一樣:192.168.1.72/28對(duì)應(yīng)的掩碼是多少?
步驟1:28表示掩碼的前面28位都是1,簡(jiǎn)寫為:(位了簡(jiǎn)潔,255沒(méi)有寫成11111111)
步驟
步驟2:計(jì)算掩碼:二進(jìn)制11110000的值為240,所以掩碼就為255.255.255.240;
是不是很簡(jiǎn)單?
四、劃分子網(wǎng)的影響
劃分子網(wǎng)除了可以節(jié)省帶寬和減少主機(jī)的負(fù)擔(dān)以為,也是有缺點(diǎn)的,最大的缺點(diǎn)就是網(wǎng)絡(luò)變的復(fù)雜了。
缺點(diǎn)1:看起來(lái)在同一個(gè)網(wǎng)段的IP,其實(shí)不是
有時(shí)你覺(jué)得這兩個(gè)相隔很近的地址,看起來(lái)像在同一個(gè)網(wǎng)段,其實(shí)不是。例如下面的:
192.168.1.78/28,192.168.1.81/28,在同一個(gè)網(wǎng)段嗎?
不是,它們是不能直接互通的!只有計(jì)算了以后才發(fā)現(xiàn)它們不在同一個(gè)網(wǎng)段,這就增加了維護(hù)網(wǎng)絡(luò)的復(fù)雜度!
缺點(diǎn)2:在不同的子網(wǎng)的主機(jī)直接要通信,必須要經(jīng)過(guò)網(wǎng)關(guān)
那這兩個(gè)主機(jī)(192.168.1.78/28,192.168.1.81/28)想要通信,需要怎么辦呢?中間必須加一臺(tái)網(wǎng)關(guān)設(shè)備,這就增加了開(kāi)銷!
五、總結(jié)
從上面的例子中我們可以看出,網(wǎng)絡(luò)IP地址必須要和掩碼結(jié)合起來(lái)才有意義,不然你不能判斷它到底是屬于哪個(gè)網(wǎng)段,例如192.168.1.72這個(gè)地址,如果掩碼不同,所在網(wǎng)段也不同!
我們還可以總結(jié)出:
- 網(wǎng)絡(luò)ID的計(jì)算是IP地址和子網(wǎng)相與的結(jié)果
- 可用的IP地址需要去除網(wǎng)絡(luò)ID和廣播地址
- 計(jì)算可用IP地址有一個(gè)簡(jiǎn)單公式:2的n次方-2,n指的是主機(jī)位數(shù)
- 計(jì)算IP地址被劃分為多少給subnet,也有一個(gè)簡(jiǎn)單公式:2的n次方,n指的是子網(wǎng)位數(shù)
- 子網(wǎng)掩碼和前綴之間轉(zhuǎn)換,把它們都轉(zhuǎn)換為二進(jìn)制然后換算,就非常簡(jiǎn)單了