IP地址的編址方法共經(jīng)過(guò)了三個(gè)歷史階段。這三個(gè)階段是:(1)分類的IP的地址(2)子網(wǎng)的劃分(3)構(gòu)成超網(wǎng)。
分類的IP地址
所謂的“分類的IP地址”就是將IP地址劃分為若干個(gè)固定類,每一類地址都由兩個(gè)甫定長(zhǎng)度的字段組成,其中第一個(gè)字段是網(wǎng)絡(luò)好,它標(biāo)志主機(jī)(或路由器)所連接到的網(wǎng)絡(luò)。一個(gè)網(wǎng)絡(luò)號(hào)在整個(gè)因特網(wǎng)范圍內(nèi)必須是唯一的。第二個(gè)字段是主機(jī)號(hào),它標(biāo)志該主機(jī)(或路由器)。一個(gè)主機(jī)號(hào)在它前面的網(wǎng)絡(luò)號(hào)所指明的網(wǎng)絡(luò)范圍內(nèi)必須是唯一的。由此可見,一個(gè)IP地址在整個(gè)因特網(wǎng)范圍內(nèi)是唯一的。
分為A類、B類、C類、D類、E類。
A類、B類、C類地址都是單傳播地址,它們的網(wǎng)絡(luò)號(hào)字段分別是1,2,和3字節(jié)長(zhǎng),而在網(wǎng)絡(luò)號(hào)字段的最前面有1~3位的類別位,其數(shù)值分為規(guī)定為0,10,110。它們的地址的主機(jī)號(hào)分為3個(gè)、2個(gè)和1個(gè)字節(jié)長(zhǎng)。
D類地址(前4位是1110)用于多播。而E類地址(前4位為1111)保留為以后用。
常用的三類類別的IP地址
A類地址的網(wǎng)絡(luò)號(hào)字段占一個(gè)字節(jié),只有7位可供使用,但可指派的網(wǎng)絡(luò)號(hào)是126個(gè)(即2的7次方-2)。減2的原因是:第一,IP地址中的全0是個(gè)保留地址,意思是“本網(wǎng)絡(luò)”。第二,網(wǎng)絡(luò)號(hào)為127(即01111111)保留作為本地軟件環(huán)回測(cè)試本主機(jī)的進(jìn)程之間的通信之用。A類地址的主機(jī)號(hào)占3個(gè)字節(jié),因此每一個(gè)A類網(wǎng)絡(luò)中的最大主機(jī)數(shù)是2的24次方-2。減2的原因是:全0的主機(jī)號(hào)字段表示該IP地址是“本主機(jī)”所連接到的單個(gè)網(wǎng)絡(luò)地址,而全1表示“所有的”,因此全1的主機(jī)號(hào)字段表示該網(wǎng)絡(luò)上的所有主機(jī)。(主機(jī)號(hào):全0代表網(wǎng)絡(luò)地址,全1代表廣播地址)。
B類地址的網(wǎng)絡(luò)號(hào)字段有2個(gè)字節(jié),當(dāng)前面兩位(10)已經(jīng)固定了,只剩下14位可以進(jìn)行分配。因?yàn)榫W(wǎng)絡(luò)號(hào)字段后賣弄的14位無(wú)論怎么取值也不可能出現(xiàn)使整個(gè)2字節(jié)的網(wǎng)絡(luò)號(hào)字段成為全0或全1,因此這里不存在網(wǎng)絡(luò)總數(shù)減2的問(wèn)題。但實(shí)際上B類網(wǎng)絡(luò)地址128.0.0.0是不指派的,而可以指派的B類最小網(wǎng)絡(luò)地址是128.1.0.0。因此B類地址可指派的網(wǎng)絡(luò)數(shù)為2的14次方-1。B類地址的每一個(gè)網(wǎng)絡(luò)上的最大主機(jī)數(shù)是2的16次方-2(減去全0和全1的主機(jī)號(hào))。
C類地址有3個(gè)字節(jié)的網(wǎng)絡(luò)號(hào)字段,最全前面的3位是(110),還有21為可以進(jìn)行分配。C類網(wǎng)絡(luò)地址的192.0.0.0也是不指派的,可以指派的C類最小網(wǎng)絡(luò)地址是192.0.1.0.因此,C類地址可指派的網(wǎng)絡(luò)總數(shù)是2的21次方-1。每一個(gè)C類地址的最大主機(jī)數(shù)是2的8次方-2。
總結(jié):
所有類型的主機(jī)號(hào)都是-2。網(wǎng)絡(luò)號(hào),只有A類是-2,其余的都是-1。
子網(wǎng)的劃分:
分類IP地址是兩級(jí)IP地址,而子網(wǎng)的劃分則構(gòu)成了三級(jí)IP地址。
從兩級(jí)IP地址到三級(jí)的IP地址的理由有:第一個(gè),IP地址空間的利用率有時(shí)很低。第二,給每一個(gè)物理網(wǎng)絡(luò)分配一個(gè)網(wǎng)絡(luò)號(hào)會(huì)使路由表變得太大以因而使網(wǎng)絡(luò)性能變壞。第三,兩級(jí)IP地址不夠靈活。
劃分子網(wǎng)的基本思想:
(1)一個(gè)擁有許多物理網(wǎng)絡(luò)的單位,可將所屬的物理網(wǎng)絡(luò)劃分為若干個(gè)子網(wǎng)。劃分子網(wǎng)純屬于一個(gè)單位內(nèi)部的事情。本單位以外的網(wǎng)絡(luò)看不見這個(gè)網(wǎng)絡(luò)是由多少個(gè)子網(wǎng)組成,因?yàn)檫@個(gè)單位對(duì)外仍然表現(xiàn)為一個(gè)網(wǎng)絡(luò)。
(2)劃分子網(wǎng)的方法是從網(wǎng)絡(luò)的主機(jī)號(hào)借用若干個(gè)作為子網(wǎng)號(hào),當(dāng)然主機(jī)號(hào)也就相應(yīng)減少了同樣的位數(shù)。于是兩級(jí)IP地址在本單位內(nèi)部就變成了三級(jí)IP地址:網(wǎng)絡(luò)號(hào)、子網(wǎng)號(hào)和主機(jī)號(hào)。
(3)凡是從其他網(wǎng)絡(luò)發(fā)送給本單位某個(gè)主機(jī)的IP數(shù)據(jù)報(bào),仍然是根據(jù)IP數(shù)據(jù)報(bào)的目的網(wǎng)絡(luò)號(hào)找到連接在本單位網(wǎng)絡(luò)上的路由器。但此路由器在收到IP數(shù)據(jù)報(bào)后,再按母的網(wǎng)絡(luò)號(hào)和子網(wǎng)號(hào)找到目的子網(wǎng),把IP數(shù)據(jù)報(bào)交付給目的主機(jī)。
劃分子網(wǎng)只是把IP地址的主機(jī)號(hào)host-id這部分進(jìn)行再劃分,而不改變IP地址原來(lái)的網(wǎng)絡(luò)號(hào)net-id.
子網(wǎng)掩碼出現(xiàn)的原因:
現(xiàn)在剩下的問(wèn)題就是:假定有一個(gè)數(shù)據(jù)報(bào)(其目的地址是145.13.3.10)已經(jīng)到達(dá)了路由器R1,那么這個(gè)路由器如何把它轉(zhuǎn)發(fā)到子網(wǎng)145.13.3.0呢?
我們知道,從IP數(shù)據(jù)報(bào)的首部并不知道源主機(jī)或母的主機(jī)所連接的網(wǎng)絡(luò)是否進(jìn)行了子網(wǎng)的劃分。這是應(yīng)為32位的IP地址本身以及數(shù)據(jù)報(bào)的首部都沒有包含任何有關(guān)子網(wǎng)劃分的信息。因此必須另外想辦法,這就是使用子網(wǎng)掩碼。
用一主機(jī)的三級(jí)IP地址的結(jié)構(gòu),也就是說(shuō),現(xiàn)在從原來(lái)16位的主機(jī)號(hào)中拿出8位作為子網(wǎng)絡(luò)號(hào)subnet-id,而主機(jī)號(hào)減少到8位。請(qǐng)注意,現(xiàn)在子網(wǎng)號(hào)為3的網(wǎng)絡(luò)的網(wǎng)絡(luò)地址是145.13.3.0。為了使路由器R1能夠很方便地從數(shù)據(jù)報(bào)中的目的IP地址中提取出所要找的子網(wǎng)的網(wǎng)絡(luò)地址,路由器R1就要使用子網(wǎng)掩碼。子網(wǎng)掩碼中的1對(duì)應(yīng)于IP地址中原來(lái)的net-id
加上subnet-id,而子網(wǎng)掩碼中的0對(duì)應(yīng)于現(xiàn)在的host-id.
R1把子網(wǎng)掩碼和收到的數(shù)據(jù)報(bào)的目的IP地址145.13.3.10逐位相“與”,得出了所要找的子網(wǎng)的網(wǎng)絡(luò)地址145.13.3.0。
使用子網(wǎng)掩碼的好處就是:不管網(wǎng)絡(luò)有沒有劃分子網(wǎng),只要把子網(wǎng)掩碼和IP地址進(jìn)行逐位的“與”運(yùn)算,就立即得出網(wǎng)絡(luò)地址來(lái)。這樣在路由器處理到來(lái)的分組時(shí)就可采用同樣的算法。
有人或許會(huì)問(wèn),在不劃分子網(wǎng)時(shí),既然沒有子網(wǎng),為什么還要使用子網(wǎng)掩碼呢?其實(shí),這就是為了更便于查找路由表。現(xiàn)在因特網(wǎng)的標(biāo)準(zhǔn)規(guī)定,所有的網(wǎng)絡(luò)都必須使用子網(wǎng)掩碼,同時(shí)在路由器的路由表中也必須有子網(wǎng)掩碼這一欄。如果一個(gè)網(wǎng)絡(luò)不劃分子網(wǎng),那么該網(wǎng)絡(luò)的子網(wǎng)掩碼就使用默認(rèn)子網(wǎng)掩碼。默認(rèn)子網(wǎng)掩碼中1的位置和IP地址中網(wǎng)絡(luò)字段net-id正好相對(duì)應(yīng)。
A類地址的默認(rèn)子網(wǎng)掩碼是255.0.0.0
B類地址的默認(rèn)子網(wǎng)掩碼是255.255.0.0
C類地址的默認(rèn)子網(wǎng)掩碼是255.255.255.0
請(qǐng)讀者注意,雖然根據(jù)已成為因特網(wǎng)標(biāo)準(zhǔn)協(xié)議的RFC950文檔,子網(wǎng)號(hào)不能為全1或全0,但隨著無(wú)分類域間路由選擇CIDR的廣泛使用,現(xiàn)在全1和全0大的子網(wǎng)號(hào)也可以使用了,但一定要謹(jǐn)慎使用,要弄清你的路由器所用的路由選擇軟件是否支持全0和全1的子網(wǎng)號(hào)這種較新的用法。
討論完了子網(wǎng)掩碼,現(xiàn)在來(lái)討論討論使用了子網(wǎng)掩碼后應(yīng)怎樣查找路由表。
使用了子網(wǎng)劃分后,路由表必須包含一下三項(xiàng)內(nèi)容:母的網(wǎng)絡(luò)地址、子網(wǎng)掩碼和下一跳地址。
無(wú)分類編址CIDR(構(gòu)造超網(wǎng)):
劃分子網(wǎng)雖然在一定程度上減緩了因特網(wǎng)在發(fā)展中遇到的問(wèn)題。但是仍然存在問(wèn)題:
(1)B類地址在1992年已分配了近一半,眼看很快就將全部分配完畢
(2)因特網(wǎng)主干網(wǎng)上的路由表中項(xiàng)目數(shù)急劇增長(zhǎng)。
(3)整個(gè)IPv4的地址空間最終將全部耗盡。
CIDR最主要的特點(diǎn)有兩個(gè):
(1)CIDR消除了傳統(tǒng)的A類、B類和C類地址以及劃分子網(wǎng)的概念,因而可以更加有效地分配IPv4的地址空間,并且可以在新的IPv6使用之前容許因特網(wǎng)的規(guī)模繼續(xù)增長(zhǎng)。CIDR把32位的IP地址劃分為兩個(gè)部分。前面的部分是“網(wǎng)絡(luò)前綴”,用來(lái)指明網(wǎng)絡(luò),后面的部分則用來(lái)指明主機(jī)。因此CIDR使IP地址從三級(jí)編址又回到了兩級(jí)編址,但這已是無(wú)分類的兩級(jí)編址。
CIRDR還使用“斜線記法”或稱為CIDR記法,即在IP地址后面加上斜線“/”,然后協(xié)商網(wǎng)絡(luò)前綴所占的位數(shù)。
(2)CIDR把網(wǎng)絡(luò)前綴都相同的連續(xù)的IP地址組成一個(gè)“CIDR地址塊”。我們只要知道CIDR地址塊中任何一個(gè)地址,就可以知道這個(gè)地址塊的起始地址(最小地址)和最大地址,以及地址塊中的地址數(shù)。例如,IP地址:128.14.35.7/20.代表其中的前20位是網(wǎng)絡(luò)前綴,而前綴后面的12位是主機(jī)號(hào)。
為了更方便地進(jìn)行路由選擇,CIDR使用32位的地址掩碼。地址掩碼是一串1和一串0組成,而1的個(gè)數(shù)就是網(wǎng)絡(luò)前綴的長(zhǎng)度。雖然CIDR不使用子網(wǎng)了,但由于目前仍有一些網(wǎng)絡(luò)還使用子網(wǎng)劃分和子網(wǎng)掩碼,因此CIDR使用的地址掩碼也可以繼續(xù)稱為子網(wǎng)掩碼。斜線記法中,斜線后面的數(shù)字就是地址掩碼中1的個(gè)數(shù)。
由于一個(gè)CIDR地址塊中有很多地址,所以在路由表中就利用CIDR地址塊來(lái)查找目的網(wǎng)絡(luò)。這種地址的聚合常稱為路由聚合,它是的路由表中的一個(gè)項(xiàng)目可以表示原來(lái)傳統(tǒng)分類地址的很多個(gè)理由。路由聚合也稱為構(gòu)成超網(wǎng)。路由聚合有利于減少路由器之間的路由選擇信息的交換,從而提高了整個(gè)因特網(wǎng)的性能。
使用CIDR的一個(gè)好處就是可以更加有效地分配IPv4的地址空間,可根據(jù)客戶的需要分配是的那個(gè)大小額CIDR地址塊。
在使用使,由于采用了網(wǎng)絡(luò)前綴這種記法,IP地址由網(wǎng)絡(luò)前綴和主機(jī)號(hào)這兩個(gè)部分組成,因此在路由表中的項(xiàng)目也要有相應(yīng)的改變。這時(shí),沒個(gè)項(xiàng)目由“網(wǎng)絡(luò)前綴”和“下一跳地址”組成。但是在查找路由表時(shí)可能會(huì)得到不止一個(gè)匹配結(jié)果。這樣就帶來(lái)一個(gè)問(wèn)題:我們應(yīng)當(dāng)從這些匹配結(jié)果中選擇哪一條路由呢?
正確答案是:應(yīng)當(dāng)從匹配結(jié)果中選擇具有最長(zhǎng)網(wǎng)絡(luò)前綴的路由。這叫作最長(zhǎng)前綴匹配,這是因?yàn)榫W(wǎng)絡(luò)前綴越長(zhǎng),其地址塊就越小,因而路由就越具體。
|