在使用無類域間路由(cidr)協議之後,ip路由的分組就通過與子網劃分相反的過程來匯聚。這是因為網路字首越長,其位址塊所包含的主機數就越少,尋找目的主機就越容易。在使用cidr的網路字首法之中,ip位址由網路號與主機號兩部分構成,因此實際使用的路由表的專案也要相應的改變。路由表的專案由「網路字首」和「下一跳位址」組成。這樣,路由選擇就變成了從匹配結果中選擇具有最長網路字首的路由過程。,這就是「最長網路字首匹配(longest-prefix matching)」的路由選擇原則。
「最長網路字首匹配(longest-prefix matching)」一般理解來:假設乙個本地路由器與周圍若干個路由器相鄰,而這些相鄰的路由器都會形成各自的子網。此時本地路由器內部的路由表就該包含這些子網的路徑。但是,如果每乙個子網在本地路由表中都規劃一條具體的路徑,那麼路由表將會非常龐大。因此,路由表會探尋這些子網ip位址的字首會不會有相同部分,更重要的是:這些子網字首相同部分的最長長度是多長(按照上面描述,我們知道:網路字首越長,主機數越少,尋找起來越簡單),然後將這些有相同的「下一跳」,並且網路字首相同長度的(盡量最長)ip進行分組歸納。因此,只要有ip位址字首與某乙個分組中的網路字首一致的長度最長,那路由器就知道這一類位址都往該分組對應的「下一跳」。
目前,無類域間路由(cidr)的使用使得尋找最長相同網路字首的處理越來越複雜,當路由表很大時,如何減少路由表查詢時間成為了乙個重要的問題。如果路由器的鏈路線速達到10gbps,典型的分組為2000bit,如果要求路由查詢的速度接近輸入埠線速的話,那麼要求路由器每一秒處理500萬個分組路由器包括路由查詢時間在內的分組處理時間為200ns,路由查詢時間一定要在200ns以內。因此,如何在路由表中使用很好的資料結果和快速查詢方法一直都是網路領域乙個重要的研究課題。
目前,最流行的方法是將記錄無類域間路由的路由表改造成一種層次型的資料結構,採用二叉樹(binary tree)的特殊結構的樹,或者以壓縮地方法來達到快速查詢的目的。
IP路由選擇
從概念上說,ip路由選擇是簡單的,特別對於主機來說。如果目的主機與源主機直接相連 如點對點鏈路 或都在乙個共享網路上 乙太網或令牌環網 那麼ip資料報就直接送到目的主機上。否則,主機把資料報發往一預設的路由器上,由路由器來 該資料報。大多數的主機都是採用這種簡單機制。更一般的情況,即ip層既可以配置...
IP路由選擇
我們先上圖,然後再根據圖來說明ip路由的過程。從sbdi到192.48.96.9的過程 1 主機bsdi有乙份i p資料報要傳到192.48.96.9,經過的前三個路由器 sun netb gateway 再一次進入到internet。2 當資料報從bsdi被傳到sun主機上以後,當sun收到資料報...
IP路由選擇
當乙個ip資料報準備好了的時候,ip資料報 或者說是路由器 是如何將資料報送到目的地的呢?它是怎麼選擇乙個合適的路徑來 送貨 的呢?最特殊的情況是目的主機和主機直連,那麼主機根本不用尋找路由,直接把資料傳遞過去就可以了。至於是怎麼直接傳遞的,這就要靠arp協議了,後面會講到。稍微一般一點的情況是,主...