ip動態選路

2021-07-10 13:12:43 字數 3497 閱讀 8032

路由表的更新操作主要來自於:

1)使用netstat,route進行手動新增或者從inte***ce(我的機子是ubuntu)配置檔案中新增靜態路由。

2)路由守護程式通過rip或ospf協議和其他路由器進行資訊交換,從而獲得網路拓撲圖,並使用最短路演算法,bellman-ford或者dijstra演算法進行最短路計算。

3)由icmp協議的路由發現報文和重定向差錯報文實現。

以上,1是進行靜態路由。靜態路由是在路由器中設定的固定的路由表。除非網路管理員干預,否則靜態路由 不會發生變化。由於靜態路由不能對網路的改變作出反映,一般用於網路規模不大、拓 撲結構固定的網路中。靜態路由的優點是簡單、高效、可靠。在所有的路由中,靜態路 由優先順序最高。當動態路由與靜態路由發生衝突時,以靜態路由為準。

2是動態路由動態。路由是網路中的路由器之間相互通訊,傳遞路由資訊,利用收到的路由資訊更 新路由器表的過程。它能實時地適應網路結構的變化。如果路由更新資訊表明發生了網 絡變化,路由選擇軟體就會重新計算路由,並發出新的路由更新資訊。這些資訊通過各 個網路,引起各路由器重新啟動其路由演算法,並更新各自的路由表以動態地反映網路拓 撲變化。動態路由適用於網路規模大、網路拓撲複雜的網路。當然,各種動態路由協議 會不同程度地占用網路頻寬和cpu資源。

3是對靜態路由進行差錯更正(icmp重定向差錯報文),或者在引導期間,利用icmp路由發現協議進行路由表生成。

以下是ip層的工作流程:

下面我們主要討論動態路由選路:

1)首先路由演算法必須是簡單的,因為複雜的演算法會增加網路通訊量。

2)其次演算法應該是具有自適應能力的,能適應網路拓撲的變化,而且是具有穩定性的,就是說,演算法在某個路由故障或者修好以後能及時改變其他路由的路由表進行正確的選路,那麼其收斂應該是快速的,而且在相同的網路拓撲不改變的情況下,統一目的地的選路結果總是相同的。

3)最後,演算法應該是最佳的,公平的。這就意味著演算法應該是利用最短路演算法,而且每個rip報文使用廣播的形式無差別的對區域網內的各個路由或主機進行通知。

rip:是分布式距離向量,每乙個路由器都要不斷的和其他一些路由器交換路由資訊。

為了滿足以上的路由演算法條件,

1)rip只和相鄰的路由器交換資訊,降低複雜度

2)按固定時間或者當網路拓撲發生變化時更新路由資訊,從而提高其自適應能力,能盡快適應當前網路拓撲。

3)利用bellman-ford演算法進行最短路計算。

但是在第二點上還有乙個問題,就是rip在網路出現故障的時候總是要經過比較長的時間才能把這個資訊傳送到多有的路由器,原因是,bellman-ford的最短路計算是通過它旁邊的路由器提供的路由表進行更新的,可是往往我的路由表中的資訊要依賴於你,你的資訊又要依賴於我,所以在發生變化時總要經過數次rip交換才能收斂。

版本(version):8位元,1或2,表示rip的版本。

位址系列:連續20個位元組的制定位址系列,包括其位址型別認證(address family identifier)(對於ip而言是2)、ip位址(ip address)、還有度量(metric)。

度量就是rip中的距離(跳數),rip更新時認為好的路由就是它通過的路由器數目少(距離短)。rip允許一條路徑上最多含15個路由,就是說當跳數大於等於16,就是不可達。

rip報文最多可以通告25條路由,因為它使用的udp作為運輸層的傳輸協議,並且規定了要小於512位元組,所以25×20+4=504,剛好滿足。

最後讓我們看看,rip是如何進行路由選路的(rip常用的udp埠是520):

啟動routed(路由守護程式,linux中的守護程式都以d結束),在每個啟動的介面上傳送乙個請求報文(command為1),請求和它直接相連的路由器傳送完整路由表。一般是對當前網路其他裝置的520埠進行廣播。

請求完整路由表是一種特殊的請求報文,其命令字是1,但位址為0,度量設為16。

接受到請求時,如果這個請求是請求完整路由表,那麼路由器把完整的路由表傳送給請求者。否則,處理請求中的每乙個表項:如果指明位址的路由,就把度量設為當前接收方的值,否則設為16。然後發回響應。

接受到響應時,可能更新路由表。

選路更新是定期進行的,所有或部分路由器把他的完整路由表傳送給相鄰的路由器。傳送路由表以廣播形式傳送給其他裝置。

或者當有一條路由的度量發生變化,就對它進行更新。

ospf:使用分布式的鏈路狀態協議。

它和rip不同的地方在於:

1)向本自治系統中所有路由器傳送資訊。使用方法是洪氾法,這就是路由器通過所有的輸出埠向所有相鄰路由器傳送資訊。而每乙個相鄰路由器又再將此資訊發往所有的相鄰路由器。最終整個區域所有的路由器都得到這個資訊的乙個副本。而rip只向自己相鄰的路由器傳送資訊。

2)傳送資訊就是與本路由器相鄰的所有路由器的鏈路狀態。但這只是路由器所知道的部分資訊。鏈路資訊就是說明本路由器和那些路由器相鄰,以及該鏈路的度量(代價,費用,距離,或者時延)。

3)只有當鏈路狀態發生變化時,路由器才用洪氾法傳送次資訊。而不想rip,不管網路拓撲有沒變化都定期交換路由資訊。

每個路由器之間都頻繁的交換路由資訊,因此所有的路由器都最終能建立乙個鏈路狀態資料庫,這就是全網的拓撲結構圖。rip協議的每乙個路由都知道所有網路的距離和下一跳的路由器,卻不知道全網的拓撲結構。所以ospf總是能及時更新其路由表,能夠很快的收斂。

4)ospf不用udp,而是使用ip資料報進行傳送,與rip使用udp不同,這樣做可以簡短ospf的資料報。

5)ospf是使用無分類編址cidr和可變長的子網劃分,以此可以把同類相鄰的目的位址進行合併,縮小路由表的大小。

型別:五種型別之一,見下文。

分組長度:包括ospf首部在內的分組長度,以位元組為單位。

路由id:標誌傳送該分組的路由器的介面的ip位址。

區域識別符號:分組屬於的區域識別符號。

檢驗和:檢測分組中的差錯。

鑑別型別:目前只有0(不用)和1(口令)。

鑑別:型別為1時有效,填入8個字元的口令。

1)型別1,問候分組,用於發現和維持鄰站的可達性。

2)型別2,資料描述分組,向鄰站給出自己的鏈路狀態資料庫中所有的鏈路狀態的摘要資訊。

3)型別3,鏈路狀態請求分組,向對方傳送某些鏈路狀態專案的詳細資訊。

4)型別4,鏈路狀態更新分組,用洪氾法對全網更新鏈路狀態。這種分組最複雜,也是ospf最核心的部分,用於把分組的鏈路狀態通知給鄰站。

5)型別5,鏈路狀態確認分組,對鏈路更新分組的確認。

如果連續40s都沒有收到某個路由器發來的問候分組,那麼認為該相鄰路由器是不可達到,應該重新計算路由表。

ospf並不是簡單的讓所有路由器把自己的本地鏈路狀態進行全網廣播,而是讓每乙個路由器用資料庫描述分組和相鄰路由器交換本資料庫中已有的鏈路摘要資訊(指出有那些路由器的鏈路狀態資訊已經寫入了資料庫)。避免周圍相鄰資料庫傳送本地資料庫已經有的鏈路狀態。

而當某個路由器狀態發生變化時,該路由器使用鏈路狀態更新分組,向全網用可靠的洪氾法更新鏈路狀態(可靠的原因:有ack進行回應)。

為什麼ospf收斂快呢?

因為ospf使用可靠洪氾法,並且每個路由中都有本網的網路拓撲結構,所以每次發生變化,當前路由總是可以快速更新自己的資料庫,並使用可靠洪氾法更新其他的路由器。不像rip我的路由表中的資訊要依賴於你,你的資訊又要依賴於我,所以要進行數次更新才可。

網路層 IP選路和動態選路協議

選路是ip最重要的功能之一。需要進行選路的資料報可以由本地主機產生,也可以由其他主機產生。在後一種情況下,主機必須配置成乙個路由器,否則通過網路介面接收到的資料報,如果目的位址不是本機就要被丟棄。ip層工作流程如圖所示 路由表中包含的資訊決定了ip層所做的所有決策。ip搜尋路由表的幾個步驟 1.搜尋...

tcp ip 動態選路

在滿足以下條件的網路中 a 網路很小 b 與其他網路只有單個連線點且 c 沒有多於路由時 採用1 在配置介面時,以預設方式生成路由表項,並用route命令增加表項 2 通過icmp重定向生成表項 是可行的。然而若a b c不能全滿足的話,通常使用動態選路。動態選路 當相鄰路由器之間進行通訊,以告知對...

(10)動態選路協議

一 簡介 動態選路協議用於路由器間的通訊。二 rip 選路資訊協議 rip報文包含在udp資料報中。如下所示 rip常用的udp埠號是520。rip協議的routed程式正常執行過程如下 1 初始化 在啟動乙個路由守護程式時,它先判斷啟動了哪些介面,並在每個介面上傳送乙個請求報文,要求其他路由器傳送...