無類域間路由

無類域間路由

徠CIDR(無類別域間路由,Classless Inter-Domain Routing)是一個在Internet上創建附加地址的方法,這些地址提供給服務提供商(ISP),再由ISP分配給客戶。CIDR將路由集中起來,使一個IP地址代表主要骨幹提供商服務的幾千個IP地址,從而減輕Internet路由器的負擔。

產品簡介


英文縮寫: CIDR (Classless InterDomain Routing)
中文譯名: 無類別域間路由選擇
分 類: 網路與交換
讀 音:"sider"
解 釋: 現行的IPv4(網際協議第4版)的地址已經耗盡,這是一種為解決地址耗盡而提出的一種措施。它是
將好幾個IP網路結合在一起,使用一種無類別的域際路由選擇演演算法,可以減少由核心路由器運載的路由選擇信息的數量。
所有發送到這些地址的信息包都被送到如MCI或Sprint等ISP。1990年,Internet上約有2000個路由。五年後,Internet上有3萬多個路由。如果沒有CIDR,路由器就不能支持Internet網站的增多。 CIDR採用8~30位可變網路ID,而不是A-B-C類網路ID所用的固定的8、16和24位。
無類域間路由
無類域間路由

基本思想


適當分配多個合適的IP地址,使得這些地址能夠進行聚合,減少這些地址在路由表中的表項數。
如,給某個網路分配16個C類地址,採用適當的方法分配這些地址,使得16個地址能夠聚合成一個地址。
“無分類”指不考慮IP地址所屬的類別,路由的策略完全基於整個32bit IP地址的掩碼來操作。

工作步驟


CIDR 如何工作
CIDR 對原來用於分配A類、B類和C類地址的有類別路由選擇進程進行了重新構建。CIDR用 13-27位長的前綴取代了原來地址結構對地址網路部分的限制(3類地址的網路部分分別被限制為8位、16位和24位)。在管理員能分配的地址塊中,主機數量範圍是32-500,000,從而能更好地滿足機構對地址的特殊需求。
CIDR 地址中包含標準的32位IP地址和有關網路前綴位數的信息。以CIDR地址222.80.18.18/25為例,其中“/25”表示其前面地址中的前25位代表網路部分,其餘位代表主機部分。
CIDR建立於“超級組網”的基礎上,“超級組網”是“子網劃分”的派生詞,可看作子網劃分的逆過程。子網劃分時,從地址主機部分借位,將其合併進網路部分;而在超級組網中,則是將網路部分的某些位合併進主機部分。這種無類別超級組網技術通過將一組較小的無類別網路匯聚為一個較大的單一路由表項,減少了Internet路由域中路由表條目的數量。

基礎實例


例如一個ISP被分配了一些C類網路,這個ISP準備把這些C類網路分配給各個用戶群,已經分配了三個C類網段給用戶,如果沒有實施CIDR技術.ISP的路由器的路由表中會有三條下連網段的路由條目,並且會把它通告給Internet上的路由器。通過實施CIDR技術,我們可以在ISP的路由器上把這三個網段198.168.1.0,198.168.2.0,198.168.3.0匯聚成一條路由198.168.0.0/16.這樣ISP路由器只向Internet通告198.168.0.0/16這一條路由,大大減少了路由表的數目。從而為網路路由器節省出了存儲空間。值得注意的是,使用CIDR技術匯聚的網路地址的比特位必須是一致的,如上例所示。如果上例所示的ISP連接了一個172.178.1.0網段,這些網段路由將無法匯聚,無法實現CIDR技術。

發展歷程


在域名系統出現之後的第一個十年裡,基於分類網路進行地址分配和路由IP數據包的設計就已明顯顯得可擴充性不足(參見RFC 1517)。為了解決這個問題,網際網路工程工作小組在1993年發布了一新系列的標準——RFC 1518和RFC 1519——以定義新的分配IP地址塊和路由IPv4數據包的方法。
一個IP地址包含兩部分:標識網路的前綴和緊接著的在這個網路內的主機地址。在之前的分類網路中,IP地址的分配把IP地址的32位按每8位為一段分開。這使得前綴必須為8,16或者24位。因此,可分配的最小的地址塊有256(24位前綴,8位主機地址,2=256)個地址,而這對大多數企業來說太少了。大一點的地址塊包含65536(16位前綴,16位主機,2=65536)個地址,而這對大公司來說都太多了。這導致不能充分使用IP地址和在路由上的不便,因為大量的需要單獨路由的小型網路(C類網路)因在地域上分得很開而很難進行聚合路由,於是給路由設備增加了很多負擔。
無類別域間路由是基於可變長子網掩碼(VLSM)來進行任意長度的前綴的分配的。在RFC 950(1985)中有關於可變長子網掩碼的說明。CIDR包括:指定任意長度的前綴的可變長子網掩碼技術。遵從CIDR規則的地址有一個後綴說明前綴的位數,例如 192.168.0.0/16。這使得對日益缺乏的IPv4地址的使用更加有效。將多個連續的前綴聚合成超網,以及,在網際網路中,只要有可能,就顯示為一個聚合的網路,因此在總體上可以減少路由表的表項數目。聚合使得網際網路的路由表不用分為多級,又用VLSM reverses the process of "subnetting a subnet" 。根據機構的實際需要和短期預期需要而不是分類網路中所限定的過大或過小的地址塊來管理IP地址的分配的過程。因為在IPv6中也使用了IPv4的用後綴指示前綴長度的CIDR,所以IPv4中的分類在IPv6中已不再使用。
CIDR塊
CIDR主要是一個按位的、基於前綴的,用於解釋IP地址的標準。它通過把多個地址塊組合到一個路由表表項而使得路由更加方便。這些地址塊叫做CIDR地址塊。當用二進位表示這些地址時,它們有著在開頭部分的一系列相同的位。IPv4的CIDR地址塊的表示方法和IPv4地址的表示方法是相似的:由四部分組成的點分十進位地址,後跟一個斜扛,最後是範圍在0到32之間的一個數字:A.B.C.D/N。點分十進位的部分和IPv4地址一樣是一個被分成四個八位位組的32位二進位數。斜扛後面的數字就是前綴長度,也就是從左到右,被地址塊里的地址所共享的位的數目。當只要說明梗概時,點分十進位部分有時會被省略,因此,/20就表示一個前綴長度是20的CIDR地址塊。如果一個IP地址的前N位與一個CIDR地址塊的前綴是相同的話,那麼就說這個地址屬於這個CIDR地址塊,也可以說是與CIDR地址塊的前綴匹配。所以,要理解CIDR,就要把地址寫成二進位的形式。因為IPv4地址的長度總是32位,N位長的CIDR前綴就意味著地址里32 − N位不匹配。這些位有2(32 − N)種不同的組合,即2(32 − N)個IPv4地址與CIDR地址塊的前綴。前綴越短就能匹配越多的地址,越長就匹配得越少。一個地址可能與多個長度不同的CIDR前綴匹配。CIDR也用在IPv6中。因為位數的非常多,所以在IPv6中,前綴長度的範圍是從0到128。這裡也用同樣的方法來表示一個地址:前綴寫作一個IPv6的地址,後跟一個斜扛,最後是前綴的位數。
分配
網際網路地址指派機構(IANA)向區域網際網路註冊管理機構(RIRs)分配數量多,前綴短的CIDR地址塊。例如,包含有六百萬個地址的62.0.0.0/8地址塊由RIPE NCC(歐洲的RIR)管理。這些RIR各自負責管理一個單一區域(例如歐洲或者北美),然後它們把這些地址塊分成小一些的地址塊再分配給公眾。這個細分的操作可能會由不同層次的團體進行多次。大型網路服務供應商(ISP)一般會從RIR申請CIDR地址塊,然後再向根據它們客戶的網路大小而分配更小的地址塊。網際網路工程工作小組鼓勵由單一ISP服務的網路直接向ISP申請地址。而由多個ISP提供服務的,則經常會向適當的RIR申請獨立的CIDR地址塊。
例如,在90年代末,IP地址208.130.29.33是被www.freesoft.org使用的。後來,分配發生了變化208.128.0.0/11,這個包含兩百萬地址的塊被ARIN(北美的RIR)分配給了MCI。MCI又將 208.130.28.0/22 分配給了從MCI租用網際網路連接的Automation Research Systems。ARS則用了/24這個地址塊,其中就包含208.130.29.33這個地址。這些CIDR前綴會在不同的地方使用。在MCI的網路之外,208.128.0.0/11這個前綴會用於路由MCI的數據流。這些數據流不僅會去到208.130.29.33,也會去到其他那些前11位相同的近兩百萬的地址里。在MCI的網路里,208.130.28.0/22則會被用於路由到屬於ARS租用的連接。最後,只有在ARS自己的網路內 208.130.29.0/24這個前綴才會被使用。
CIDR和掩碼
子網掩碼一種把前綴編成一種與IP地址相似的形式的掩碼。它有32位,以為1的位開頭,以為0的位結尾。其中為1的位的數目和前綴的長度相同。它也被寫成點分十進位的形式。子網掩碼的作用和前綴一樣,但是掩碼這種形式出現得比前綴要早。
CIDR用可變長子網掩碼(VLSM),根據各人需要來分配IP地址,而不是按network-wide rule。所以,網路/主機的劃分可以在地址內的任意位置進行。這個劃分可以是遞歸進行的,即通過 增加掩碼位數,來使一部分地址被繼續分為更小的部分。整個網際網路都在使用CIDR/VLSM網路地址。不過在其他方面,尤其是大型私人網路,它也有應用。在普通大小的區域網里則較少應用,因為這些區域網一般使用私有網路。
前綴聚合
CIDR的另一個好處就是可以進行前綴路由聚合。例如, 16個原來的C類(/24)網路現在可以聚合在一起,對外顯示了一個/20的網路了(如果這些網路的的地址前20位都相同)。兩個對齊的/20網路又可進一步聚合為/19,依此類推。這有效地減少了要對外顯示的網路數,防止了'路由表爆炸',也遏制了網際網路進一步擴大。