早在業(yè)界還在興建因特網(wǎng)的時候,技術(shù)人員專注于理解IP尋址方法的重要性。人們研究的是A類、B類和C地址、子網(wǎng)掩碼以及如何計算這些掩碼。人們對分類方案非常熟悉,以至經(jīng)常把街道地址同IP地址混為一談。現(xiàn)在有些人仍在這么做。
然而如今,網(wǎng)絡(luò)界很少采用所謂的傳統(tǒng)IP尋址方法。更為常見的是,ISP采用無類別域間路由(CIDR)。如果說理解ISP的術(shù)語對你有什么意義的話,那么認(rèn)真研究CIDR是個先訣條件。
分類方案的問題
起初,視網(wǎng)絡(luò)規(guī)模而定,包括IPv4地址的32位地址空間被分成了五類(見圖表一)。每類地址包括兩個部分:第一個部分識別網(wǎng)絡(luò),第二個部分用來識別該網(wǎng)絡(luò)上某個機器的地址。它們采用點分十進制記法表示,有四組數(shù)字,每組代表八位,中間用句點隔開。譬如說xxx.xxx.xxx.yyy,其中x表示網(wǎng)絡(luò)地址,y表示該站的號碼。分配用來識別網(wǎng)絡(luò)的比特越多,該網(wǎng)絡(luò)所能支持的站數(shù)就越少,反之亦然。
處在最上端的是A類網(wǎng)絡(luò),這專門留給那些節(jié)點數(shù)最多的網(wǎng)絡(luò)――準(zhǔn)確地說,是16277214個節(jié)點。A類網(wǎng)絡(luò)只有126個。B類網(wǎng)絡(luò)則針對中等規(guī)模的網(wǎng)絡(luò),但照今天的標(biāo)準(zhǔn)來看,規(guī)模仍然相當(dāng)大:擁有65534個節(jié)點。B類網(wǎng)絡(luò)有65000個。然而,大多數(shù)分配的地址屬于C類地址空間,它最多可以包括254個主機。C類網(wǎng)絡(luò)超過200萬個。
最后兩類地址:D類和E類有著特別用途。D類網(wǎng)絡(luò)用于多播應(yīng)用;E類網(wǎng)絡(luò)留給將來使用。
地址分類法帶來了兩個問題,最大一個問題就是這些類別無法體現(xiàn)顧客的需求。A類地址實在過大,以至浪費了大部分空間。另一方面,C類網(wǎng)絡(luò)對大多數(shù)組織來說實在太小,這意味著大多數(shù)組織會請求B類地址,但又沒有足夠的B類地址可以滿足需求。
隨著網(wǎng)絡(luò)地址數(shù)量不斷增加,ISP和運營商面臨的棘手問題也在隨之增多。90年代初促使因特網(wǎng)流量猛增的主角:主干網(wǎng)路由器必須跟蹤每一個A類、B類和C類網(wǎng)絡(luò),有時建立的路由表長達1萬個條目。從理論上來說,路由表大小最多可以設(shè)成6萬個條目。如果當(dāng)初網(wǎng)絡(luò)界不是迅速采取行動的話,估計因特網(wǎng)到1994年就到達極限了。
第二個問題就是浪費了地址空間。小規(guī)模獨立網(wǎng)絡(luò)(譬如20個節(jié)點)獲得C類地址后,剩余的234個地址卻閑置不用。此外,大組織會想方設(shè)法采用子網(wǎng)化技術(shù)(subnetting),把自己的A類或B類地址分成更小、更容易管理的地址群。子網(wǎng)能夠建立一群群通常與單一網(wǎng)絡(luò)段相關(guān)的網(wǎng)絡(luò)站,而不是讓100萬個站連接在一條線路或一個集線器上。更確切地說,子網(wǎng)重新分配了原先用于表示主機地址的部分比特,改而用來表示子網(wǎng)。
假設(shè)把一個C類網(wǎng)絡(luò)當(dāng)作64個擁有兩個節(jié)點的網(wǎng)絡(luò)。頭24位則表示C類網(wǎng)絡(luò)地址,隨后6位表示子網(wǎng),最后2位就表示某機器的號碼。因特網(wǎng)上其余設(shè)備只會注意C類網(wǎng)絡(luò),讓內(nèi)部網(wǎng)絡(luò)跟蹤子網(wǎng)及該站地址。
這辦法相當(dāng)巧妙,但存在一個問題:子網(wǎng)也會導(dǎo)致站地址減少。在每個子網(wǎng)內(nèi),兩個地址用于廣播流量。視結(jié)構(gòu)配置而定,地址數(shù)量最多有可能會減少一半。舉例說,一個C類網(wǎng)絡(luò)通常支持254個末端主機。然而,把C類網(wǎng)絡(luò)分成64個子網(wǎng)會把可能的地址數(shù)量減少到128個末端主機――大約只有可能的地址總數(shù)的3%。
淘汰分類方案
解決這些尋址問題的辦法就是丟棄分類地址概念。CIDR利用表示用來識別網(wǎng)絡(luò)的比特數(shù)量的“網(wǎng)絡(luò)前綴”,取代了A類、B類和C地址。前綴長度不一,從13到27位不等,而不是分類地址的8位、16位或24位。這意味著地址塊可以成群分配,主機數(shù)量既可以少到32個,也可以多到50萬個以上(見圖表二)。
下面介紹一下工作原理:CIDR地址包括標(biāo)準(zhǔn)的32位IP地址和用正斜線標(biāo)記的前綴。因而,地址66.77.24.3/24表示頭24位識別網(wǎng)絡(luò)地址(這里是66.77.24),剩余的8位識別某個站的地址:號碼3。
因為各類地址在CIDR中有著類似的地址群,兩者之間的轉(zhuǎn)移就相當(dāng)簡單。所有A類網(wǎng)絡(luò)可以轉(zhuǎn)換成/8 CIDR表項目。B類網(wǎng)絡(luò)可以轉(zhuǎn)換成/16,C類網(wǎng)絡(luò)可以轉(zhuǎn)換成/24。
CIDR的優(yōu)點解決了困擾傳統(tǒng)IP尋址方法的兩個問題。因為以較小增量單位分配地址,這就減少了浪費的地址空間,還具有可伸縮性優(yōu)點。路由器能夠有效地聚合CIDR地址。所以,路由器用不著為八個C類網(wǎng)絡(luò)廣播地址,改而只要廣播帶有/21網(wǎng)絡(luò)前綴的地址――這相當(dāng)于八個C類網(wǎng)絡(luò),從而大大縮減了路由器的路由表大小。
這辦法可行的唯一前提是地址是連續(xù)的。不然,就不可能設(shè)計出包含所需地址、但排除不需要地址的前綴。為了達到這個目的,超網(wǎng)塊(supernet block)即大塊的連續(xù)地址就分配給ISP,然后ISP負(fù)責(zé)在用戶當(dāng)中劃分這些地址,從而減輕了ISP自有路由器的負(fù)擔(dān)。
對企業(yè)的網(wǎng)絡(luò)管理人員來說,這意味著他們要證明自己的IP地址分配方案是可行的。在CIDR出現(xiàn)之前,獲得網(wǎng)絡(luò)地址相當(dāng)容易。但隨著可用地址的數(shù)量不斷減少,顧客只好詳細記載預(yù)計需求,這過程通常長達3個月。此外,如果是分類地址方法,公司要向因特網(wǎng)注冊機構(gòu)購買地址。然而有了CIDR,就可以向服務(wù)提供商租用地址。這就是為什么更換ISP需要給網(wǎng)絡(luò)設(shè)備重新編號,不然就要使用新老地址之間進行轉(zhuǎn)換的代理服務(wù)器――這又會嚴(yán)重制約可伸縮性。
圖表一:原始的IP尋址方法主要基于三類地址:A類、B類和C類地址。
前綴等同比較
圖表二:圖表比較了CIDR和非CIDR尋址方法的對應(yīng)。
假設(shè)有一組C類地址為192.168.8.0-192.168.15.0,如果用CIDR將這組地址聚合為一個網(wǎng)絡(luò),其網(wǎng)絡(luò)地址和子網(wǎng)掩碼應(yīng)該為:
A. 192.168.8.0/21
B. 192.168.8.0/20
C. 192.168.8.0/24
D. 192.168.8.15/24
正確答案:A
解析:CIDR(Classless Inter-Domain Routing,無類域間路由)的基本思想是取消IP地址的分類結(jié)構(gòu),將多個C類地址塊聚合在一起生成一個更大的網(wǎng)絡(luò),以包含更多的主機。CIDR支持路由聚合,能夠?qū)⒙酚杀碇械脑S多路由條目合并為成更少的數(shù)目,因此可以限制路由器中路由表的增大,減少路由通告。同時,CIDR有助于IPv4地址的充分利用。
使用CIDR聚合地址的方法與使用VLSM劃分子網(wǎng)的方法類似。在使用VLSM劃分子網(wǎng)時,將原來分類IP地址中的主機位按照需要劃出一部分作為網(wǎng)絡(luò)位使用;而在使用CIDR聚合地址時,則是將原來分類IP地址中的網(wǎng)絡(luò)位劃出一部分作為主機位使用。
在本題中,要求將192.168.8.0-192.168.15.0這組C類地址聚合為一個網(wǎng)絡(luò),我們先將C類地址的第三個八位組轉(zhuǎn)換成二進制:
點分十進制 | 將第三個八位組轉(zhuǎn)換成二進制 |
192.168.8.0 | 192.168.00001 000.0 |
192.168.9.0 | 192.168.00001 001.0 |
192.168.10.0 | 192.168.00001 010.0 |
192.168.11.0 | 192.168.00001 011.0 |
192.168.12.0 | 192.168.00001 100.0 |
192.168.13.0 | 192.168.00001 101.0 |
192.168.14.0 | 192.168.00001 110.0 |
192.168.15.0 | 192.168.00001 111.0 |
從上表中可以看出,只要將網(wǎng)絡(luò)位的低三位劃分出來作為主機位,這些C類地址就被聚合在一個網(wǎng)絡(luò)之中。因此,聚合后的網(wǎng)絡(luò)地址應(yīng)該為192.168.8.0/21,正確答案為A。
==================================================
補充:CIDR
CIDR(無類型域間選路,Classless Inter-Domain Routing)是一個在Internet上創(chuàng)建附加地址的方法,這些地址提供給服務(wù)提供商(ISP),再由ISP分配給客戶。CIDR將路由集中起來,使一個IP地址代表主要骨干提供商服務(wù)的幾千個IP地址,從而減輕Internet路由器的負(fù)擔(dān)。所有發(fā)送到這些地址的信息包都被送到如MCI或Sprint等ISP。1990年,Internet上約有2000個路由。五年后,Internet上有3萬多個路由。如果沒有CIDR,路由器就不能支持Internet網(wǎng)站的增多。
CIDR采用13~27位可變網(wǎng)絡(luò)ID,而不是A-B-C類網(wǎng)絡(luò)ID所用的固定的7、14和21位。例如,CIDR地址204.12.01.42/24表示前24位用作網(wǎng)絡(luò)ID。