1. 程式人生 > >IP路由選擇與路由匯聚的基礎概念

IP路由選擇與路由匯聚的基礎概念

      在使用無類域間路由(CIDR)協議之後,IP路由的分組就通過與子網劃分相反的過程來匯聚。這是因為網路字首越長,其地址塊所包含的主機數就越少,尋找目的主機就越容易。在使用CIDR的網路字首法之中,IP地址由網路號與主機號兩部分構成,因此實際使用的路由表的專案也要相應的改變。路由表的專案由“網路字首”和“下一跳地址”組成。這樣,路由選擇就變成了從匹配結果中選擇具有最長網路字首的路由過程。,這就是“最長網路字首匹配(longest-prefix matching)”的路由選擇原則。

      “最長網路字首匹配(longest-prefix matching)”一般理解來:假設一個本地路由器與周圍若干個路由器相鄰,而這些相鄰的路由器都會形成各自的子網。此時本地路由器內部的路由表就該包含這些子網的路徑。但是,如果每一個子網在本地路由表中都規劃一條具體的路徑,那麼路由表將會非常龐大。因此,路由表會探尋這些子網IP地址的字首會不會有相同部分,更重要的是:這些子網字首相同部分的最長長度是多長(按照上面描述,我們知道:網路字首越長,主機數越少,尋找起來越簡單),然後將這些有相同的“下一跳”,並且網路字首相同長度的(儘量最長)IP進行分組歸納。因此,只要有IP地址字首與某一個分組中的網路字首一致的長度最長,那路由器就知道這一類地址都往該分組對應的“下一跳”。

      目前,無類域間路由(CIDR)的使用使得尋找最長相同網路字首的處理越來越複雜,當路由表很大時,如何減少路由表查詢時間成為了一個重要的問題。如果路由器的鏈路線速達到10Gbps,典型的分組為2000bit,如果要求路由查詢的速度接近輸入埠線速的話,那麼要求路由器每一秒處理500萬個分組路由器包括路由查詢時間在內的分組處理時間為200ns,路由查詢時間一定要在200ns以內。因此,如何在路由表中使用很好的資料結果和快速查詢方法一直都是網路領域一個重要的研究課題。

      目前,最流行的方法是將記錄無類域間路由的路由表改造成一種層次型的資料結構,採用二叉樹(binary tree)的特殊結構的樹,或者以壓縮地方法來達到快速查詢的目的。