速讀原著-TCP/IP(CIDR:無類型域間選路)

第10章 動態選路協議

10.8 CIDR:無類型域間選路

在第3章中,我們指出了 B類地址的缺乏,因此現在的多個網絡站點只能採用多個 C類網絡號,而不採用單個 B類網絡號。儘管分配這些 C類地址解決了一個問題( B類地址的缺乏),但它卻帶來了另一個問題:每個 C類網絡都需要一個路由表表項。無類型域間選路( C I D R)是一個防止I n t e r n e t路由表膨脹的方法,它也稱為超網( s u p e r n e t t i n g)。在RFC 1518 [Rekher and Li 1993] 和RFC 1519 [Fuller et al. 1993]中對它進行了描述,而[Ford, Rekhter, and Braun 1 9 9 3 ]是它的綜述。C I D R有一個Internet Architecture Board』s blessing [Huitema 1993]。R F C1467 [Topolcic 1993] 對I n t e r n e t中C I D R的開發狀況進行了小結。

C I D R的基本觀點是採用一種分配多個 I P地址的方式,使其能夠將路由表中的許多表項總和( s u m m a r i z a t i o n )成更少的數目。例如,如果給單個站點分配 1 6個C類地址,以一種可以用總和的方式來分配這 1 6個地址,這樣,所有這 1 6個地址可以參照 I n t e r n e t上的單個路由表表項。

同時,如果有8個不同的站點是通過同一個 I n t e r n e t服務提供商的同一個連接點接入 I n t e r n e t的,且這8個站點分配的8個不同I P地址可以進行總和,那麼,對於這 8個站點,在I n t e r n e t上,只需要單個路由表表項。

要使用這種總和,必須滿足以下三種特性:

  1. 為進行選路要對多個I P地址進行總和時,這些I P地址必須具有相同的高位地址比特。
  2. 路由表和選路算法必須擴展成根據 32 bit IP地址和32 bit掩碼做出選路決策。
  3. 必須擴展選路協議使其除了 32 bit地址外,還要有32 bit掩碼。O S P F(1 0 . 6節)和R I P – 2(1 0 . 5節)都能夠攜帶第4版B G P所提出的32 bit掩碼。

例 如 , RFC 1466 [Gerich 1993] 建 議 歐 洲 新 的 C類 地 址 的 范 圍 是 1 9 4 . 0 . 0 . 0~1 9 5 . 2 5 5 . 2 5 5 . 2 5 5。以1 6進制表示,這些地址的範圍是 0 x c 2 0 0 0 0 0 0~0 x c 3 ffffff。它代表了6 5 5 3 6個不同的C類網絡號,但它們地址的高 7 bit是相同的。在歐洲以外的國家裡,可以採用 I P地址為0 x c 2 0 0 0 0 0 0和32 bit 0xfe000000 (254.0.0.0) 為掩碼的單個路由表表項來對所有這些 6 5 5 3 6個 C類網絡號選路到單個點上。 C類地址的後面各比特位(即在 1 9 4或1 9 5後面各比特)也可以進行層次分配,例如以國家或服務提供商分配,以允許對在歐洲路由器之間使用除了這 32 bit掩碼的高7 bit外的其他比特進行概括。

C I D R同時還使用一種技術,使最佳匹配總是最長的匹配:即在 32 bit掩碼中,它具有最大值。我們繼續採用上一段中所用的例子,歐洲的一個服務提供商可能會採用一個與其他歐洲服務提供商不同的接入點。如果給該提供商分配的地址組是從 1 9 4 . 0 . 1 6 . 0到194.0.31.255 (16個 C類網絡號 ),那麼可能只有這些網絡的路由表項的 I P地址是 1 9 4 . 0 . 1 6 . 0 ,掩碼為255.255.240.0 (0xfffff 0 0 0 )。發往1 9 4 . 0 . 2 2 . 1地址的數據報將同時與這個路由表表項和其他歐洲C類地址的表項進行匹配。但是由於掩碼 2 5 5 . 2 5 5 . 2 4 0比2 5 4 . 0 . 0 . 0更「長」,因此將採用具有更長掩碼的路由表表項。

「無類型」的意思是現在的選路決策是基於整個 32 bit IP地址的掩碼操作,而不管其 I P地址是A類、B類或是C類,都沒有什麼區別。

C I D R最初是針對新的C類地址提出的。這種變化將使 I n t e r n e t路由表增長的速度緩慢下來,但對於現存的選路則沒有任何幫助。這是一個短期解決方案。作為一個長期解決方案,如果將C I D R應用於所有I P地址,並根據各洲邊界和服務提供商對已經存在的 I P地址進行重新分配(且所有現有主機重新進行編址!),那麼[Ford, Rekhter, and Braun 1993] 宣稱,目前包含10 000網 絡表項的路由表將會減少成只有2 0 0個表項。