什麼是計算機網路中的自適應路由演算法?
該演算法改變其路由永續性以跟蹤拓撲結構和流量的變化。當網路拓撲和負載發生變化時,路由決策通常也會發生變化。自適應路由旨在幫助避免資料包傳遞失敗,提高網路效能並緩解網路擁塞。
由於節點需要進行復雜的處理決策,自適應路由可能會導致節點過載。由於路由器會發送有關網路拓撲的資訊,因此自適應路由通常不如非自適應路由過程可靠,並且需要更多頻寬。
它類似於 GPS,GPS 使用有關道路狀況的資料來重新引導駕駛員,自適應路由使用有關網路擁塞和節點可訪問性的資料來引導資料包。當資料包出現在節點時,節點使用網路路由器之間傳送的資料來計算哪個方向最容易到達。如果預設方向發生擁塞,則資料包將沿著多個方向傳輸,並且資料將在網路路由器之間傳輸。
自適應路由演算法有多種型別,如下所示:
孤立型
每個路由器僅根據其掌握的本地資料做出決策。路由器甚至不與鄰居交換資訊。其缺點是它可能會透過擁塞的路徑共享資料包,從而導致延遲。此類演算法的一些示例包括:
熱土豆路由
一種路由演算法,其中網路的路由器沒有緩衝區來儲存資料包,然後再將其傳輸到其最終預定的目的地。在正常的路由情況下,當多個數據包爭用同一個輸出通道時,未被緩衝的資料包會被丟棄以防止擁塞。資料包像“熱土豆”一樣被四處傳遞,可能會遠離其目的地。該演算法不會丟棄資料包,而是繼續移動。
後向學習
在這種演算法中,決策是透過最優到達來做出的。例如,假設來自節點 A 的資料包可以透過節點 B 最優地到達節點 C。每個資料包都附帶源節點標識和跳數計數器,該計數器在每次跳躍時都會遞增。
當節點在特定邊界處收到資料包時,它會記下從源節點獲取資料包所經過的跳數。如果以前的跳數計數器值不是更好,則用新資訊更新它。否則,不更新。但是,如果最佳路由失效,它將無法回憶已更新的先前資訊。
集中式路由
網路的中心節點掌握網路拓撲和流量的完整資料,並避免多個擁塞通訊節點。它可以將這些資料傳輸到特定的路由器。這樣做的好處是隻需要一個節點來維護更新的資訊。但缺點是,如果中心節點發生故障,整個網路就會癱瘓。
分散式路由
該節點從其鄰居節點接收資料,然後決定使用哪種技術來傳輸資料包。缺點是,如果它在間隔之間接收資料併發送資料包,某些內容發生變化,則資料包會延遲。
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP