如何創(chuàng)建實(shí)現(xiàn)IPv6子網(wǎng)
在網(wǎng)絡(luò)課堂上有一個(gè)經(jīng)常問(wèn)的問(wèn)題是“為什么我們不把所有設(shè)備都放在同一個(gè)子網(wǎng)之中?這樣就不用再擔(dān)心路由的問(wèn)題。”這個(gè)原因很簡(jiǎn)單。每一次當(dāng)某個(gè)系統(tǒng)需要通訊時(shí),無(wú)論他是一臺(tái)主機(jī)還是另一臺(tái)路由器,他們都需要發(fā)送一個(gè)ARP(地址解析協(xié)議)請(qǐng)求。此外,還有一些非ARP的廣播數(shù)據(jù)包,這些訊息網(wǎng)絡(luò)中所有人的都可以接收到。當(dāng)一個(gè)24位子網(wǎng)中只有255臺(tái)設(shè)備的時(shí)候,這些廣播數(shù)據(jù)包算是比較有限的。在網(wǎng)絡(luò)中一個(gè)很重要的問(wèn)題就是讓這個(gè)數(shù)字保持在一個(gè)較低的狀態(tài),因?yàn)槿魏沃鳈C(jī)在收到一條專(zhuān)發(fā)給它的信息或廣播信息時(shí),主機(jī)必須要處理這個(gè)數(shù)據(jù)包。這需要?jiǎng)?chuàng)建一個(gè)硬中斷,而且操作系統(tǒng)內(nèi)核必須要閱讀足夠的數(shù)據(jù)以便這個(gè)數(shù)據(jù)包是否要進(jìn)行進(jìn)一步處理。
廣播風(fēng)暴時(shí)有發(fā)生,這種情況的主因是2層拓?fù)洵h(huán)路。我們?cè)谇懊娴奈恼吕镆呀?jīng)接觸到一些2層拓?fù)涞膯?wèn)題。當(dāng)數(shù)千個(gè)數(shù)據(jù)包同時(shí)涌向你的計(jì)算機(jī)時(shí),你的機(jī)器運(yùn)行速度會(huì)變得非常緩慢。操作系統(tǒng)內(nèi)核需要把大量的時(shí)間用于處理中斷,再也騰不出時(shí)間處理其它進(jìn)程。所以,這就是子網(wǎng)為什么非常重要的原因。子網(wǎng)也稱(chēng)作廣播域,它可以限制你能夠收到的廣播范圍。
那么,創(chuàng)建一個(gè)子網(wǎng)的要點(diǎn)是什么?我如何記住這些看起來(lái)怪怪的子網(wǎng)掩碼?這與IPv6地址如何配合工作?本期講座將擴(kuò)展以前關(guān)于子網(wǎng)和CIDR那篇教程的內(nèi)容,以便讓你更全面的理解子網(wǎng)的相關(guān)概念。
下一個(gè)問(wèn)題是從一臺(tái)主機(jī)的角度如何來(lái)看待廣播地址和子網(wǎng)掩碼。我們可以理解一臺(tái)主機(jī)需要了解在同一個(gè)子網(wǎng)上有什么計(jì)算機(jī)。這些IP地址能夠直接對(duì)話(huà),而無(wú)需路由器。當(dāng)子網(wǎng)掩碼或者廣播地址配置不正確時(shí),你很快就會(huì)發(fā)現(xiàn)無(wú)法訪(fǎng)問(wèn)某些主機(jī)。
最常見(jiàn)的設(shè)置錯(cuò)誤經(jīng)常出現(xiàn)在當(dāng)沒(méi)有同時(shí)指定子網(wǎng)掩碼和廣播地址時(shí)設(shè)置一個(gè)IP地址的時(shí)候,由于一些原因,雖然可以通過(guò)這其中的一個(gè)的值算出另一個(gè),但大多數(shù)操作系統(tǒng)并不負(fù)責(zé)主動(dòng)更新它們,例如當(dāng)你運(yùn)行“ifconfig eth0 130.211.0.1 netmask 255.255.255.0”時(shí),你可能以為一切都會(huì)按你預(yù)想的方式運(yùn)行。遺憾的是,你的廣播地址很可能被設(shè)置為255.255.0.0。這主要依賴(lài)于路由器的設(shè)置,但是,這個(gè)結(jié)果通常會(huì)導(dǎo)致所有的廣播數(shù)據(jù)包丟失。相反,如果一個(gè)子網(wǎng)掩碼設(shè)置的不正確,這個(gè)計(jì)算機(jī)就不知道這個(gè)子網(wǎng)的開(kāi)始和結(jié)束地址。如果一臺(tái)計(jì)算機(jī)認(rèn)為另一個(gè)主機(jī)在同一個(gè)子網(wǎng)中而實(shí)際上并非如此,當(dāng)需要與之通信時(shí)這臺(tái)計(jì)算機(jī)就會(huì)直接向網(wǎng)絡(luò)中發(fā)送ARP請(qǐng)求而不去請(qǐng)求路由器。當(dāng)然你也可以設(shè)置路由器處理這種情況并且讓路由器替代目標(biāo)主機(jī)做出ARP應(yīng)答(稱(chēng)作“ARP代理”,這時(shí)可以進(jìn)行正常的通信),不過(guò),大多數(shù)情況下這種情況的結(jié)果是無(wú)法訪(fǎng)問(wèn)主機(jī)。
理解子網(wǎng)掩碼的設(shè)置原理就可以避免出現(xiàn)上面提到的問(wèn)題。當(dāng)你記住子網(wǎng)掩碼的含義是“掩蓋一些二進(jìn)制位”時(shí),算出這個(gè)網(wǎng)絡(luò)地址和廣播地址并不非常困難。解密一些子網(wǎng)掩碼的含義可以加深你對(duì)子網(wǎng)掩碼原理的理解。一個(gè)24位網(wǎng)絡(luò)地址的子網(wǎng)掩碼是255.255.255.0。這很簡(jiǎn)單。但是,255.255.240.0代表什么意思?破解這個(gè)地址的最佳方法就是從掩碼掩蓋的部分開(kāi)始。把這個(gè)地址與一個(gè)標(biāo)準(zhǔn)24位網(wǎng)絡(luò)地址進(jìn)行比較。標(biāo)準(zhǔn) 24位網(wǎng)絡(luò)地址有三個(gè)字節(jié)被掩蓋了,我們看到255.255.240.0有二個(gè)字節(jié)被掩蓋了,另一個(gè)8位字節(jié)被掩蓋了一部分。我們知道這是在一個(gè)16位網(wǎng)絡(luò)地址和一個(gè)24位網(wǎng)絡(luò)地址之間。我們必須要理解二進(jìn)制,并且算出有多少位被掩蓋了。這最前面的16個(gè)字節(jié)顯然是網(wǎng)段的一部分。第三個(gè)8位字節(jié)240讓 16位的網(wǎng)絡(luò)地址擴(kuò)展子網(wǎng)掩碼,分析這個(gè)數(shù)字你可以發(fā)現(xiàn)這個(gè)字節(jié)有4個(gè)二進(jìn)制位沒(méi)被掩蓋(256-240=16,16等于2的4次方)。剩下的4個(gè)二進(jìn)制位加上用于前兩個(gè)字節(jié)中的16個(gè)二進(jìn)制位這意味著我們?cè)谔幚硪粋€(gè)20位的網(wǎng)絡(luò)地址。
1.0.0.0/255.255.255.248是什么意思?我們確實(shí)是在一個(gè)小于24位子網(wǎng)的網(wǎng)絡(luò)中。如果我們查看最后的8位字節(jié)中的剩余的字節(jié),我們能夠看到有8個(gè)可用的IP地址。要記住,只有2的3 次方能夠等于8,所以,我們使用除了最后一個(gè)字節(jié)中的三個(gè)二進(jìn)制位以外的全部作為網(wǎng)絡(luò)地址。這是一個(gè)29位網(wǎng)絡(luò)。當(dāng)然,簡(jiǎn)單的地址是非常清楚的:與24位網(wǎng)絡(luò)相比,255.255.255.128允許的主機(jī)地址數(shù)量是最后一個(gè)8位字節(jié)的一半。所以,這是一個(gè)25位網(wǎng)絡(luò)。
關(guān)于容易混淆的子網(wǎng)掩碼的話(huà)題,IPv6地址肯定占有一席之地。這個(gè)子網(wǎng)掩碼實(shí)際上并不是一個(gè)問(wèn)題,因?yàn)橥瑯拥脑瓌t在這里也適用。只是需要記住更多的數(shù)字。地址中的真正問(wèn)題是地址本身的表達(dá)方式,IETF(互聯(lián)網(wǎng)工程任務(wù)組)似乎為其制造混亂而感到驕傲。IPv6地址一般以16進(jìn)制表示。我們的老朋友IPv4也可以用16 進(jìn)制表示一個(gè)IP地址,例如用B.B.B.B代表網(wǎng)絡(luò)地址11.11.11.11。遺憾的是,IPv6地址起來(lái)更讓人容易迷惑。要表達(dá)一個(gè)128位地址,IPv6通常把地址分為8個(gè)16位字段。
一個(gè)IPv6地址看起來(lái)是這樣的:2013:4567:0000:CDEF:0000:0000:00AD:0000。這個(gè)地址確實(shí)更容易一些。例如,前面的零不用寫(xiě),連續(xù)的四個(gè)零可以簡(jiǎn)寫(xiě)為::。然而,后面的零必須要顯示出來(lái)。這有一點(diǎn)混亂。但是,這個(gè)規(guī)則適用于一個(gè)沒(méi)有歧義的IP地址。每四個(gè)零中的第一個(gè)零可以刪除,但是,零的連續(xù)字段的簡(jiǎn)寫(xiě)每個(gè)地址只能進(jìn)行一次。上述地址把零縮寫(xiě)之后是這樣的:2013:4567:0000:CDEF::AD:0000。IPv6提供的地址數(shù)量是2的128次方,足夠地球每平方米使用大約1000個(gè)IP地址。
如果你記住了二進(jìn)制的規(guī)則,IPv6表示地址的規(guī)則和一些簡(jiǎn)單的子網(wǎng)參考,你將成為子網(wǎng)大師。朋友們會(huì)請(qǐng)你提供幫助。
小結(jié)
•子網(wǎng)對(duì)于把廣播通信量減少到最小程度是非常重要的。
•用計(jì)數(shù)被掩蓋的二進(jìn)制位,是推測(cè)陌生的子網(wǎng)掩碼的最簡(jiǎn)單的方法。
•IPv6地址在分割為子網(wǎng)方面與IPv4相同。只要你記住表達(dá)地址的規(guī)則,就可以把混亂減少到最低的程度。