導航:首頁 > 網路連接 > 計算機網路中的兩類路由演算法

計算機網路中的兩類路由演算法

發布時間:2022-10-10 08:19:29

① internet中的路由演算法的應用和發展

路由演算法可以根據多個特性來加以區分。首先,演算法設計者的特定目標影響了該路由協議的操作;其次,存在著多種路由演算法,每種演算法對網路和路由器資源的影響都不同;最後,路由演算法使用多種metric,影響到最佳路徑的計算。
路由演算法通常具有下列設計目標的一個或多個:

優化

簡單、低耗

健壯、穩定

快速聚合

靈活性

優化指路由演算法選擇最佳路徑的能力,根據metric的值和權值來計算。例如有一種路由演算法可能使用跳數和延遲,但可能延遲的權值要大些。當然,路由協議必須嚴格定義計算metric的演算法。

路由演算法也可以設計得盡量簡單。換句話說,路由協議必須高效地提供其功能,盡量減少軟體和應用的開銷。當實現路由演算法的軟體必須運行在物理資源有限的計算機上時高效尤其重要。

路由演算法必須健壯,即在出現不正常或不可預見事件的情況下必須仍能正常處理,例如硬體故障、高負載和不正確的實現。因為路由器位於網路的連接點,當它們失效時會產生重大的問題。最好的路由演算法通常是那些經過了時間考驗,證實在各種網路條件下都很穩定的演算法。

此外,路由演算法必須能快速聚合,聚合是所有路由器對最佳路徑達成一致的過程。當某網路事件使路徑斷掉或不可用時,路由器通過網路分發路由更新信息,促使最佳路徑的重新計算,最終使所有路由器達成一致。聚合很慢的路由演算法可能會產生路由環或網路中斷。
各路由演算法的區別點包括:

靜態與動態

單路徑與多路徑

平坦與分層

主機智能與路由器智能

域內與域間

鏈接狀態與距離向量

(1)靜態與動態

靜態路由演算法很難算得上是演算法,只不過是開始路由前由網管建立的表映射。這些映射自身並不改變,除非網管去改動。使用靜態路由的演算法較容易設計,在網路通信可預測及簡單的網路中工作得很好。

由於靜態路由系統不能對網路改變做出反映,通常被認為不適用於現在的大型、易變的網路。九十年代主要的路由演算法都是動態路由演算法,通過分析收到的路由更新信息來適應網路環境的改變。如果信息表示網路發生了變化,路由軟體就重新計算路由並發出新的路由更新信息。這些信息滲入網路,促使路由器重新計算並對路由表做相應的改變。

動態路由演算法可以在適當的地方以靜態路由作為補充。例如,最後可選路由(router of last resort),作為所有不可路由分組的去路,保證了所有的數據至少有方法處理。

(2)單路徑與多路徑

一些復雜的路由協議支持到同一目的的多條路徑。與單路徑演算法不同,這些多路徑演算法允許數據在多條線路上復用。多路徑演算法的優點很明顯:它們可以提供更好的吞吐量和可靠性。

(3)平坦與分層
一些路由協議在平坦的空間里運作,其它的則有路由的層次。在平坦的路由系統中,每個路由器與其它所有路由器是對等的;在分層次的路由系統中,一些路由器構成了路由主幹,數據從非主幹路由器流向主幹路由器,然後在主幹上傳輸直到它們到達目標所在區域,在這里,它們從最後的主幹路由器通過一個或多個非主幹路由器到達終點。

路由系統通常設計有邏輯節點組,稱為域、自治系統或區間。在分層的系統中,一些路由器可以與其它域中的路由器通信,其它的則只能與域內的路由器通信。在很大的網路中,可能還存在其它級別,最高級的路由器構成了路由主幹。

分層路由的主要優點是它模擬了多數公司的結構,從而能很好地支持其通信。多數的網路通信發生在小組中(域)。因為域內路由器只需要知道本域內的其它路由器,它們的路由演算法可以簡化,根據所使用的路由演算法,路由更新的通信量可以相應地減少。

(4)主機智能與路由器智能

一些路由演算法假定源結點來決定整個路徑,這通常稱為源路由。在源路由系統中,路由器只作為存貯轉發設備,無意識地把分組發向下一跳。其它路由演算法假定主機對路徑一無所知,在這些演算法中,路由器基於自己的計算決定通過網路的路徑。前一種系統中,主機具有決定路由的智能,後者則為路由器具有此能力。

主機智能和路由器智能的折衷實際是最佳路由與額外開銷的平衡。主機智能系統通常能選擇更佳的路徑,因為它們在發送數據前探索了所有可能的路徑,然後基於特定系統對「優化」的定義來選擇最佳路徑。然而確定所有路徑的行為通常需要很多的探索通信量和很長的時間。

(5)域內與域間

一些路由演算法只在域內工作,其它的則既在域內也在域間工作。這兩種演算法的本質是不同的。其遵循的理由是優化的域內路由演算法沒有必要也成為優化的域間路由演算法。
(6)鏈接狀態與距離向量

鏈接狀態演算法(也叫做短路徑優先演算法)把路由信息散布到網路的每個節點,不過每個路由器只發送路由表中描述其自己鏈接狀態的部分。距離向量演算法(也叫做Bellman-Ford演算法)中每個路由器發送路由表的全部或部分,但只發給其鄰居。也就是說,鏈接狀態演算法到處發送較少的更新信息,而距離向量演算法只向相鄰的路由器發送較多的更新信息。

由於鏈接狀態演算法聚合得較快,它們相對於距離演算法產生路由環的傾向較小。在另一方面,鏈接狀態演算法需要更多的CPU和內存資源,因此鏈接狀態演算法的實現和支持較昂貴。雖然有差異,這兩種演算法類型在多數環境中都可以工作得很好。

3、路由的metric

路由表中含有由交換軟體用以選擇最佳路徑的信息。但是路由表是怎樣建立的呢?它們包含信息的本質是什麼?路由演算法怎樣根據這些信息決定哪條路徑更好呢?

路由演算法使用了許多不同的metric以確定最佳路徑。復雜的路由演算法可以基於多個metric選擇路由,並把它們結合成一個復合的metric。常用的metric如下:

路徑長度

可靠性

延遲

帶寬

負載

通信代價

路徑長度是最常用的路由metric。一些路由協議允許網管給每個網路鏈接人工賦以代價值,這種情況下,路由長度是所經過各個鏈接的代價總和。其它路由協議定義了跳數,即分組在從源到目的的路途中必須經過的網路產品,如路由器的個數。

可靠性,在路由演算法中指網路鏈接的可依賴性(通常以位誤率描述),有些網路鏈接可能比其它的失效更多,網路失效後,一些網路鏈接可能比其它的更易或更快修復。任何可靠性因素都可以在給可靠率賦值時計算在內,通常是由網管給網路鏈接賦以metric值。

路由延遲指分組從源通過網路到達目的所花時間。很多因素影響到延遲,包括中間的網路鏈接的帶寬、經過的每個路由器的埠隊列、所有中間網路鏈接的擁塞程度以及物理距離。因為延遲是多個重要變數的混合體,它是個比較常用且有效的metric。

http://tech.ddvip.com/2007-10/119152495935811.html
這裡面有解釋。。恩

② 路由演算法的簡介

路由演算法是提高路由協議功能,盡量減少路由時所帶來開銷的演算法。當實現路由演算法的軟體必須運行在物理資源有限的計算機上時高效尤其重要。路由演算法必須健壯,即在出現不正常或不可預見事件的情況下必須仍能正常處理,例如硬體故障、高負載和不正確的實現。因為路由器位於網路的連接點,當它們失效時會產生重大的問題。最好的路由演算法通常是那些經過了時間考驗,證實在各種網路條件下都很穩定的演算法。
此外路由演算法必須能快速聚合,聚合是所有路由器對最佳路徑達成一致的過程。當某網路事件使路徑斷掉或不可用時,路由器通過網路分發路由更新信息,促使最佳路徑的重新計算,最終使所有路由器達成一致。聚合很慢的路由演算法可能會產生路由環或網路中斷。

計算機網路-4-6-互聯網的路由選擇協議

路由選擇協議的核心是 路由演算法 。即 需要一種演算法來獲取路表中的各項 ,一個比較好的路由選擇演算法應該有以下特點[BELL86]:

一個實際的路由選擇演算法,應該盡可能的接近於理想的演算法,在不同的應用條件下,可以對上面提出的六個方面有不同的側重。

倘若從路由演算法能否隨網路的通信量或拓撲自適應的進行調整變化來劃分,則只有兩大類: 靜態路由選擇策略 動態路由選擇策略 。靜態路由選擇策略也叫做 非自適應路由選擇 ,其特點是簡單和開銷較小,但不能即使適應網路狀態的變化。對於很簡單的小網路,完全可以採用靜態路由選擇,用人工配置每一條路由。動態路由選擇也叫做 自適應路由選擇 ,其特點是能夠較好的適應網路狀態的變化,但實現起來較為復雜,開銷也比較大,因此動態路由選擇適用於較復雜的大網路。

互聯網採用的路由選擇協議主要是自適應的(動態的),分布式路由選擇協議。由於以下兩種原因,互聯網採用分層次的路由選擇協議:

為此,可以把整個互聯網劃分為許多較小的 自治系統AS(autonomous system) ,自治系統AS是在單一技術管理下的一組路由器,而這些路由器使用一種自治系統內部的路由選擇協議和共同的度量,一個AS對其他AS表現的出是 一個單一的和一致的路由選擇策略

在目前的互聯網中,一個大的ISP就是一個自治系統。這樣,互聯網就把路由選擇協議劃分為兩大類:

自治系統之間的路由選擇協議也叫做 域間路由選擇(interdomain routing) ,而在自治系統內部的路由選擇叫做 域內路由選擇(intradomain routing) 。如圖4-31

RIP(routing information protocol)是內部網關協議IGP中最先得到廣泛使用的協議[RFC1058],也叫 路由信息協議 ,RIP是一種分布式的 基於距離向量的路由選擇協議 。最大的優點就是簡單。

RIP協議要求網路中的每一個路由器都要維護從它自己到其他每一個目的網路的距離記錄(因此這是一組距離,叫做距離向量),RIP將距離定義如下:

從一路由器到直接連接的網路的距離為1,從路由器到非之間的網路的距離定義為所經過的路由器數+1。

RIP協議的距離也稱之為 跳數 ,但是一條跳數最多隻能包含15個路由器,因此,當距離=16時,就相當於不可達。因此RIP只能適用於小型互聯網。

注意的是,到直接連接的網路也定義為0(採用這種定義的理由是:路由器在和直接連接在該網路上的主機進行通信並不需要經過另外的路由器,既然經過每一個路由器都要將距離增加1,那麼不經過路由器就不需要+1,就是0)。

RIP不能在兩個網路之間同時使用多條路由。RIP選擇一條具有最少路由器的路由(最短路由),哪怕還存在另一條高速低延時的但是路由器較多的路由。

路由器在剛開始工作的時候,其內部路由表是空的。然後路由器就可以和直接相連的幾個網路的距離(這些距離為1),接著,每個路由器和與自己相連的路由器不斷交換路由表信息,經過若干次更新後,所有的路由器最終就可以知道本自治系統中任何一個網路地址和最短下一跳路由器的地址。

路由器最主要的信息是:到某個網路的距離(最短距離),以及下一跳的地址,路由表更新的原則是找出到每個網路的 最短距離 ,這種演算法又稱之為 距離向量演算法

每一個相鄰的路由器 發送過來的RIP報文,進行以下步驟:

演算法描述:其實就是求一個路由器到另一個路由器的最短距離。

例題:
已知路由器R6有表4-9(a)所表示的路由表,現在收到相鄰路由器路由表R4發過來的路由更新信息,如圖4-9(b)所示。試更新路由器R6的路由表。

解:首先把R4發過來的路由表中的距離都+1:

把這個表和R6的路由表進行比較:

RIP協議讓每一個自治系統中的所有路由都和自己的相鄰路由器定期交換路由表信息,並不斷更新路由表,使得每從 每一個路由器到每一個目的網路的路由都是最短距離(也就是跳數最小)。

現在比較新的RIP協議報文格式是1998年提出的RIP2。

RIP協議使用運輸層的用戶數據報(UDP埠為520)進行傳輸。

RIP報文由首部和路由部分組成。
RIP首部佔4個位元組,其中的命令欄位指出報文的意義。

RIP2報文中的路由部分有若幹路由信息組成,每個路由信息需要用20位元組。 地址標識符(又稱地址列別) 欄位用來標識所用的地址協議。如果採用IP地址就為2。 路由標記填入自治系統號ASN(Autonomous System Number) ,這是考慮使用RIP有可能收到本自治系統以外的路由選擇信息,再後面指出某個 網路地址 下一跳路由器地址 以及 到此網路的距離 ,一個RIP報文最多可以包含25個路由,因而RIP報文的最大長度是4+20x25=504位元組。如果超過,則必然再使用以惡搞RIP報文來傳送。

RIP還具有簡單的鑒別功能,若使用鑒別功能,則將原來寫入第一個路由信息(20位元組)的位置用作鑒別,這時應該將地址標識符置為全1(0xFFFF),而路由標記寫入鑒別類別,剩下的16位元組作為鑒別數據,在鑒別數據之後才能寫入路由信息,但這時只能寫入24個路由信息。

RIP存在的一個問題是 當網路出現故障的時候,要經過比較長的時間才能將信息傳送到所有的路由器 ,RIP協議的這一特點是: 好消息傳播的很快,而壞消息傳播的很慢 ,網路出現故障的傳播時間往往需要經過較長時間,這是RIP協議的一個主要缺點。

為了使壞消息傳播的更快些,可以採用多種措施,例如,讓路由器記錄收到某特定路由信息的介面,而不是讓同一個路由信息再通過此介面反方向傳送。

總之,RIP協議最大的優點是 實現簡單,開銷較小 ,但RIP協議缺點也很明顯,首先 限制了網路規模,因為路由器最大的跳數是15跳,一般中大型網路規模RIP協議就不適用了 。其次就是 路由器之間交換的路由信息是路由器中完整的路由表,因而隨著網路規模變大,開銷也就增加 。最後就是 好消息傳播的很快,壞消息傳播的很慢

④ 《計算機網路-自頂向下方法》第四章-網路層 要點

網路層的作用:實現主機到主機的通信服務,將分組從一台發送主機移動到一台接收主機。

1、轉發涉及分組在單一的路由器中從一條入鏈路到一條出鏈路的傳送。
2、路由選擇涉及一個網路的所有路由器,它們經路由選擇協議共同交互,以決定分組從源到目的地結點所採用的路徑。計算這些路徑的演算法稱為路由選擇演算法。

每台路由器都有一張轉發表,路由器通過檢查到達分組首部欄位的值來轉發分組,然後使用該值在該路由器的轉發表中索引查找。路由選擇演算法決定了插入路由器轉發表中的值。

路由選擇演算法可能是集中式的,或者是分布式的。但在這兩種情況下,都是路由器接收路由選擇協議報文,該信息被用於配置其轉發表。

網路層也能在兩台主機之間提供無連接服務或連接服務。同在運輸層的面向連接服務和無連接服務類似,連接服務需要握手步驟,無連接服務不需要握手。但它們之間也有差異:
1、 在網路層中,這些服務是由網路層向運輸層提供的主機到主機的服務。在運輸層中,這些服務則是運輸層向應用層提供的進程到進程的服務。
2、 在網路層提供無連接服務的計算機網路稱為數據報網路;在網路層提供連接服務的計算機網路稱為虛電路網路。
3、 在運輸層實現面向連接的服務與在網路層實現連接服務是根本不同的。運輸層面向連接服務是在位於網路邊緣的端系統中實現的;網路層連接服務除了在端系統中,也在位於網路核心的路由器中實現。(原因很簡單:端系統和路由器都有網路層)

虛電路網路和數據報網路是計算機網路的兩種基本類型。在作出轉發決定時,它們使用了非常不同的信息。

IP地址有32比特,如果路由器轉發表採用「蠻力實現」將對每個可能的目的地址有一個表項。因為有超過40億個可能的地址,這種選擇完全不可能(即使用二分查找也十分慢)。
我們轉發表的表項可以設計為幾個表項,每個表項匹配一定范圍的目的地址,比如有四個表項

(你可能也會考慮到,IP地址有32比特,如果每個路由器設計為只有2個表項,那麼也只需要有32個路由器就可以唯一確定這40億個地址中的一個。)

最長前綴匹配規則,是在轉發表中尋找最長的匹配項,並向與最長前綴匹配相關聯的鏈路介面轉發分組。這種規則是為了與網際網路的編址規則相適應。

1、輸入埠
「使用轉發表查找輸出埠」是輸入埠最重要的操作(當然還有其他一些操作)。輸入埠執行完這些所需的操作後,就把該分組發送進入交換結構。如果來自其他輸入埠的分組當前正在使用交換結構,一個分組可能會在進入交換結構時被暫時阻塞,在輸入埠處排隊,並等待稍後被及時調度以通過交換結構。
2、交換結構
交換結構的三種實現方式

3、輸出埠
分組調度程序 處理在輸出埠中排隊的分組
4、路由選擇處理器

</br>

</br>

IP協議版本4,簡稱為IPv4;IP協議版本6,簡稱為IPv6。

如上圖所示,網路層有三個主要的組件
1、IP協議
2、路由選擇協議
3、ICMP協議 (Internet Control Message Protocol, 網際網路控制報文協議)

</br>

不是所有鏈路層協議都能承載相同長度的網路層分組。有的協議能承載大數據報,而有的協議只能承載小分組。例如,乙太網幀能夠承載不超過1500位元組的數據,而某些廣域網鏈路的幀可承載不超過576位元組的數據。

一個鏈路層幀能承載的最大數據量叫做最大傳送單元(Maximun Transmission Unit, MTU)

所以鏈路層協議的MTU嚴格限制著IP數據報的長度。這也還不是主要的問題,問題在於發送方與目的地路徑上的每段鏈路可能使用不同的鏈路層協議,且每種協議可能具有不同的MTU。

舉個例子:假定從某條鏈路收到一個IP數據報,通過檢查轉發表確定出鏈路,並且該出鏈路的MTU比該IP數據報的長度要小。那麼如何將這個過大的IP分組壓縮進鏈路層幀的有效載荷欄位呢?

解決辦法是,將IP數據報中的數據分片成兩個或更多個較小的IP數據報,用單獨的鏈路層幀封裝這些較小的IP數據報;然後向輸出鏈路上發送這些幀。每個這些較小的數據報都被稱為片(fragment)。

路由器完成分片任務。同時,為了使得網路內核保持簡單,IPv4設計者把數據報的重組工作放到端系統中,而非放到網路路由器中。

前提:一個4000位元組的數據報(20位元組IP首部加上3980位元組IP有效載荷)到達一台路由器,且必須被轉發到一條MTU為1500位元組的鏈路上。假定初始數據報貼上的標識號為777。

這意味著初始數據報中3980位元組數據必須被分配到3個獨立的片(其中的每個片也是一個IP數據報)

IP分片:

IP地址有32比特,分為網路號和主機號。
IP地址的網路部分(即網路號)被限制為長度為8、16或24比特,這是一種稱為分類編址的編址方案。具有8、16和24比特子網地址的子網分別被稱為A、B和C類網路。

但是它在支持數量迅速增加的具有小規模或中等規模子網的組織方面出現了問題。一個C類(/24)子網僅能容納多大2^8 - 2 = 254台主機(2^8 = 256, 其中的兩個地址預留用於特殊用途),這對許多組織來說太小了。然而一個B類(/16)子網可支持多達65534台主機,又太大了。這導致B類地址空間的迅速損耗以及所分配的地址空間的利用率低。

廣播地址255.255.255.255。當一台主機發出一個目的地址為255.255.255.255的數據報時,該報文會交付給同一個網路中的所有主機。

某組織一旦獲得了一塊地址,它就可以為本組織內的主機與路由器介面逐個分配IP地址。既可手工配置IP地址,也可以使用動態主機配置協議(Dynamic Host Configuration Protocol, DHCP)自動配置。DHCP還允許一台主機得知其他信息,如它的子網掩碼、它的第一跳路由器地址(常稱為默認網關)與它的本地DNS伺服器的地址。

由於DHCP具有能將主機連接進一個網路相關方面的自動能力,它又被稱為即插即用協議。

DHCP是客戶-伺服器協議。客戶通常是新達到的主機,它要活的包括自身使用的IP地址在內的網路配置信息。在最簡單的場合下,每個子網將具有一台DHCP伺服器。如果在某子網中沒有伺服器,則需要一個DHCP中繼代理(通常是一台路由器),這個代理知道用於該網路的DHCP伺服器的地址。

DHCP協議工作的4個步驟:

網路地址轉換(Network Address Translation, NAT)

ICMP通常被認為是IP的一部分,但從體系結構上將它是位於IP之上的,因為ICMP報文是承載在IP分組中的。即ICMP報文是作為IP有效載荷承載的,就像TCP與UDP報文段作為IP有效載荷被承載那樣。

眾所周知的ping程序發送一個ICMP類型8編碼0的報文到指定主機。看到該回顯請求,目的主機發回一個類型0編碼0的ICMP回顯回答。大多數TCP/IP實現直接在操作系統中支持ping伺服器,即該伺服器不是一個進程。

新型IPv6系統可做成向後兼容,即能發送、路由和接收IPv4數據報,要使得已部署的IPv4系統能夠處理IPv6數據報,最直接的方式是採用一種雙棧方法。

1、鏈路狀態(Link State, LS)演算法:屬於全局式路由選擇演算法,這種演算法必須知道網路中每條鏈路的費用。費用可理解為鏈路的物理長度、鏈路速度,或與該鏈路相關的金融上的費用。鏈路狀態演算法採用的是Dijkstra演算法。

2、距離向量(Distance-Vector, DV)演算法:屬於迭代的、非同步的和分布式的路由選擇演算法。
「迭代的」,是因為此過程一直要持續到鄰居之間無更多信息要交換為止。
「非同步的」,是因為它不要求所有結點相互之間步伐一致地操作。
「分布式的」,是因為每個結點都要從一個或多個直接相連鄰居接收某些信息,執行計算,然後將其計算結果分發給鄰居。
DV演算法的方程:

其中,dx(y)表示從結點x到結點y的最低費用路徑的費用,c(x, v)是結點x到結點v的費用,結點v指的是所有x的相連結點,所以x的所有相連結點都會用minv方程計算。

(N是結點(路由器)的集合,E是邊(鏈路)的集合)

為了減少公共網際網路的路由選擇計算的復雜性以及方便企業管理網路,我們將路由器組織進自治系統。

在相同AS中的路由器全都運行同樣的路由選擇演算法,且擁有彼此的信息。在一個自治系統內運行的路由選擇演算法叫做自治系統內部路由選擇協議。

當然,將AS彼此互聯是必需的,因此在一個AS內的一台或多台路由器將有另外的任務,即負責向在本AS之外的目的地轉發分組。這些路由器被稱為網關路由器。

分為自治系統內部的路由選擇和自治系統間的路由選擇

1、網際網路中自治系統內部的路由選擇:路由選擇信息協議(Routing Information Protocol, RIP)
2、網際網路中自治系統內部的路由選擇:開放最短路優先(Open Shortest Path First, OSPF)
3、自治系統間的路由選擇:邊界網關協議(Broder Gateway Protocol, BGP)

為什麼要使用不同的AS間和AS內部路由選擇協議?

實現廣播的方法
1、無控制洪泛。該方法要求源結點向它的所有鄰居發送分組的副本。當某結點接收了一個廣播分組時,它復制該分組並向它的所有鄰居(除了從其接收該分組的那個鄰居)轉發之。
致命缺點: 廣播風暴 ,如果圖具有圈,那麼每個廣播分組的一個或多個分組副本將無休止地循環。
2、受控洪泛。用於避免廣播風暴,關鍵在於正確選擇何時洪泛分組,何時不洪泛分組。受控洪泛有兩種方法:序號控制洪泛、反向路徑轉發(Reverse Path Forwarding, RPF)
3、生成樹廣播。雖然序號控制洪泛和RPF能避免廣播風暴,但是它們不能完全避免冗餘廣播分組的傳輸。

多播:將分組從一個或多個發送方交付到一組接收方

每台主機有一個唯一的IP單播地址,該單播地址完全獨立於它所參與的多播組的地址。

網際網路網路層多播由兩個互補組件組成:網際網路組管理協議(Internet Group Management Protocol, IGMP)和多播路由選擇協議

IGMP只有三種報文類型:membership_query報文,membership_report報文,leave_group報文。

與ICMP類似,IGMP報文也是承載在一個IP數據報中。

網際網路中使用的多播路由選擇
1、距離向量多播路由選擇協議
2、協議無關的多播路由選擇協議

⑤ 計算機網路路由演算法

關於路由器如何收集網路的結構信息以及對之進行分析來確定最佳路由,有兩種主要的路由演算法:
總體式路由演算法和分散式路由演算法。採用分散式路由演算法時,每個路由器只有與它直接相連的路由器的信息——而沒有網路中的每個路由器的信息。這些演算法也被稱為DV(距離向量)演算法。採用總體式路由演算法時,每個路由器都擁有網路中所有其他路由器的全部信息以及網路的流量狀態。這些演算法也被稱為LS(鏈路狀態)演算法。

⑥ 計算機網路 路由選擇

路由演算法分為:靜態路由演算法跟動態路由演算法(又稱為 自適應路由選擇演算法)
靜態演算法分為:泛射路由演算法(擴散法) 固定路由演算法
動態路由演算法分為: 距離矢量路由演算法 鏈路狀態路由演算法

動態路由演算法,能夠比較好的適應網路流量,拓撲結構的變化,有利於改善網路的性能,但是由於演算法比較復雜,會增加網路的負擔,開銷比較大~!

最常見的動態路由演算法有兩種其演算法是:
距離矢量演算法.每個路由器維護一張路由表(既一個矢量),他以子網中的沒個路由器為索引,表中給出了當前已知的路由器到每個目標路由器的最佳距離,以及所使用的線路.通過在鄰居之間相互交換信息,路由器不斷更新他們的內部路由表. 一個路由器針對每個鄰居都執行一個距離加法計算,就可以發現最佳的到達目標路由器的估計值,然後在新的路由表中使用這個最佳估計值以及對應的線路.

鏈路狀態路由演算法.
1: 發現自己的鄰居.在每條線路上發送一個HELLO分組,另一端的路由器即返回一個應答來說明自己是誰~
2: 測量線路開銷.在線路上發送一個ECHO分組,另一端回送一個應答,算出往返時間,除2就得到合理的估計值.
3: 創建鏈路狀態分組.該分組內容首先是發送方的標示,接著是一個序列號(Seq)和年齡(Age),以及一個鄰居列表.對於每個鄰居也都要給出這個路由器到每個鄰居的延遲.
4: 發布鏈路狀態分組.首先使用泛射法發布鏈路狀態分組,為了控制泛射過程,每個分組都寶號一個序列號,序列號隨著每一個新的分組遞增.每個路由器紀錄下他所看到的分組列表中檢查這個新進來的分組,如果是一個重復分組則丟棄,.如果一個分組的序列號小於當前所看到過的來自該路由器的最大序列號,則將它看著過時分組拒絕,因為該路由器已經有了更新的數據.
5: 計算新路由.一旦一個路由器已經獲得了全部的鏈路狀態分組後,它就可以構造出完整的子網圖了.以為每條鏈路都已經被表示出來了.然後在路由器本地運行尋找最短路徑演算法,將該演算法得出的結果安裝在路由表裡,然後恢復正常的操作.

⑦ 2、路由選擇演算法主要分哪幾類分布式自適應演算法的基本思想是什麼

路由選擇演算法主要分兩類:靜態路由選擇演算法和動態路由選擇演算法
分布自適應路由選擇演算法的網路,所有節點定其地與其每個相鄰節點交換路由選擇信息。每個節點均存儲一張以網路中其它每個節點為索引的路由選擇表,網路中每個節點佔用表中一項,每一項又分為兩個部分,即所希望使用的到目的節點的輸出線路和估計到目的節點所需要的延遲或距離。度量標准可以是毫秒或鏈路段數、等待的分組數、剩餘的線路和容量等。對於延遲,節點可以直接發送一個特殊的稱作「回聲」(echo)的分組,接收該分組的節點將其加上時間標記後盡快送回,這樣便可測出延遲。有了以上信息,節點可由此確定路由選擇。

⑧ 路由演算法主要有哪幾種

靜態路由演算法主要有:
洪泛法(Flooding)
隨機走動法(Random Walk)
最短路徑法(Shortest Path,SP)
基於流量的路由演算法(Flow-based Routing,FR)</ol>動態路由演算法主要有:
距離矢量演算法(RIP)
鏈路狀態演算法(OSPF)
平衡混合演算法(EIGRP)</ol>

⑨ 路由的全方面講解

路由是把信息從源穿過網路傳遞到目的的行為,在路上,至少遇到一個中間節點。路由通常與橋接來對比,在粗心的人看來,它們似乎完成的是同樣的事。它們的主要區別在於橋接發生在OSI參考協議的第二層(鏈接層),而路由發生在第三層(網路層)。這一區別使二者在傳遞信息的過程中使用不同的信息,從而以不同的方式來完成其任務。

路由的話題早已在計算機界出現,但直到八十年代中期才獲得商業成功,這一時間延遲的主要原因是七十年代的網路很簡單,後來大型的網路才較為普遍。

二、路由的組成

路由包含兩個基本的動作:確定最佳路徑和通過網路傳輸信息。在路由的過程中,後者也稱為(數據)交換。交換相對來說比較簡單,而選擇路徑很復雜。

1、路徑選擇

metric是路由演算法用以確定到達目的地的最佳路徑的計量標准,如路徑長度。為了幫助選路,路由演算法初始化並維護包含路徑信息的路由表,路徑信息根據使用的路由演算法不同而不同。

路由演算法根據許多信息來填充路由表。目的/下一跳地址對告知路由器到達該目的最佳方式是把分組發送給代表「下一跳」的路由器,當路由器收到一個分組,它就檢查其目標地址,嘗試將此地址與其「下一跳」相聯系。下表為一個目的/下一跳路由表的例子。

表5-1 目的/下一跳對應表決定數據的最佳路徑

http://www.linkwan.com/gb/routertech/netsys/images/route1.gif
路由表還可以包括其它信息。路由表比較metric以確定最佳路徑,這些metric根據所用的路由演算法而不同,下面將介紹常見的metric。路由器彼此通信,通過交換路由信息維護其路由表,路由更新信息通常包含全部或部分路由表,通過分析來自其它路由器的路由更新信息,該路由器可以建立網路拓撲細圖。路由器間發送的另一個信息例子是鏈接狀態廣播信息,它通知其它路由器發送者的鏈接狀態,鏈接信息用於建立完整的拓撲圖,使路由器可以確定最佳路徑。

2、交換

交換演算法相對而言較簡單,對大多數路由協議而言是相同的,多數情況下,某主機決定向另一個主機發送數據,通過某些方法獲得路由器的地址後,源主機發送指向該路由器的物理(MAC)地址的數據包,其協議地址是指向目的主機的。

路由器查看了數據包的目的協議地址後,確定是否知道如何轉發該包,如果路由器不知道如何轉發,通常就將之丟棄。如果路由器知道如何轉發,就把目的物理地址變成下一跳的物理地址並向之發送。下一跳可能就是最終的目的主機,如果不是,通常為另一個路由器,它將執行同樣的步驟。當分組在網路中流動時,它的物理地址在改變,但其協議地址始終不變,如下圖所示。

http://www.linkwan.com/gb/routertech/netsys/images/route2.gif
上面描述了源系統與目的系統間的交換,ISO定義了用於描述此過程的分層的術語。在該術語中,沒有轉發分組能力的網路設備稱為端系統(ES--end system),有此能力的稱為中介系統(IS--intermediate system)。IS又進一步分成可在路由域內通信的域內IS(intradomain IS)和既可在路由域內有可在域間通信的域間IS(interdomain IS)。路由域通常被認為是統一管理下的一部分網路,遵守特定的一組管理規則,也稱為自治系統(autonomous system)。在某些協議中,路由域可以分為路由區間,但是域內路由協議仍可用於在區間內和區間之間交換數據。

三、路由演算法

路由演算法可以根據多個特性來加以區分。首先,演算法設計者的特定目標影響了該路由協議的操作;其次,存在著多種路由演算法,每種演算法對網路和路由器資源的影響都不同;最後,路由演算法使用多種metric,影響到最佳路徑的計算。下面的章節分析了這些路由演算法的特性。

1、設計目標

路由演算法通常具有下列設計目標的一個或多個:

優化

簡單、低耗

健壯、穩定

快速聚合

靈活性

優化指路由演算法選擇最佳路徑的能力,根據metric的值和權值來計算。例如有一種路由演算法可能使用跳數和延遲,但可能延遲的權值要大些。當然,路由協議必須嚴格定義計算metric的演算法。

路由演算法也可以設計得盡量簡單。換句話說,路由協議必須高效地提供其功能,盡量減少軟體和應用的開銷。當實現路由演算法的軟體必須運行在物理資源有限的計算機上時高效尤其重要。

路由演算法必須健壯,即在出現不正常或不可預見事件的情況下必須仍能正常處理,例如硬體故障、高負載和不正確的實現。因為路由器位於網路的連接點,當它們失效時會產生重大的問題。最好的路由演算法通常是那些經過了時間考驗,證實在各種網路條件下都很穩定的演算法。

此外,路由演算法必須能快速聚合,聚合是所有路由器對最佳路徑達成一致的過程。當某網路事件使路徑斷掉或不可用時,路由器通過網路分發路由更新信息,促使最佳路徑的重新計算,最終使所有路由器達成一致。聚合很慢的路由演算法可能會產生路由環或網路中斷。

在下圖中的路由環中,某分組在時間t1到達路由器1,路由器1已經更新並知道到達目的的最佳路徑是以路由器2為下一跳,於是就把該分組轉發給路由器2。但是路由器2還沒有更新,它認為最佳的下一跳是路由器1,於是把該分組發回給路由器1,結果分組在兩個路由器間來回傳遞直到路由器2收到路由更新信息或分組超過了生存期。

http://www.linkwan.com/gb/routertech/netsys/images/route3.gif
路由演算法還應該是靈活的,即它們應該迅速、准確地適應各種網路環境。例如,假定某網段斷掉了,當知道問題後,很多路由演算法對通常使用該網段的路徑將迅速選擇次佳的路徑。路由演算法可以設計得可適應網路帶寬、路由器隊列大小和網路延遲。

2、演算法類型

各路由演算法的區別點包括:

靜態與動態

單路徑與多路徑

平坦與分層

主機智能與路由器智能

域內與域間

鏈接狀態與距離向量

(1)靜態與動態

靜態路由演算法很難算得上是演算法,只不過是開始路由前由網管建立的表映射。這些映射自身並不改變,除非網管去改動。使用靜態路由的演算法較容易設計,在網路通信可預測及簡單的網路中工作得很好。

由於靜態路由系統不能對網路改變做出反映,通常被認為不適用於現在的大型、易變的網路。九十年代主要的路由演算法都是動態路由演算法,通過分析收到的路由更新信息來適應網路環境的改變。如果信息表示網路發生了變化,路由軟體就重新計算路由並發出新的路由更新信息。這些信息滲入網路,促使路由器重新計算並對路由表做相應的改變。

動態路由演算法可以在適當的地方以靜態路由作為補充。例如,最後可選路由(router of last resort),作為所有不可路由分組的去路,保證了所有的數據至少有方法處理。

(2)單路徑與多路徑

一些復雜的路由協議支持到同一目的的多條路徑。與單路徑演算法不同,這些多路徑演算法允許數據在多條線路上復用。多路徑演算法的優點很明顯:它們可以提供更好的吞吐量和可靠性。

(3)平坦與分層

一些路由協議在平坦的空間里運作,其它的則有路由的層次。在平坦的路由系統中,每個路由器與其它所有路由器是對等的;在分層次的路由系統中,一些路由器構成了路由主幹,數據從非主幹路由器流向主幹路由器,然後在主幹上傳輸直到它們到達目標所在區域,在這里,它們從最後的主幹路由器通過一個或多個非主幹路由器到達終點。

路由系統通常設計有邏輯節點組,稱為域、自治系統或區間。在分層的系統中,一些路由器可以與其它域中的路由器通信,其它的則只能與域內的路由器通信。在很大的網路中,可能還存在其它級別,最高級的路由器構成了路由主幹。

分層路由的主要優點是它模擬了多數公司的結構,從而能很好地支持其通信。多數的網路通信發生在小組中(域)。因為域內路由器只需要知道本域內的其它路由器,它們的路由演算法可以簡化,根據所使用的路由演算法,路由更新的通信量可以相應地減少。

(4)主機智能與路由器智能

一些路由演算法假定源結點來決定整個路徑,這通常稱為源路由。在源路由系統中,路由器只作為存貯轉發設備,無意識地把分組發向下一跳。其它路由演算法假定主機對路徑一無所知,在這些演算法中,路由器基於自己的計算決定通過網路的路徑。前一種系統中,主機具有決定路由的智能,後者則為路由器具有此能力。

主機智能和路由器智能的折衷實際是最佳路由與額外開銷的平衡。主機智能系統通常能選擇更佳的路徑,因為它們在發送數據前探索了所有可能的路徑,然後基於特定系統對「優化」的定義來選擇最佳路徑。然而確定所有路徑的行為通常需要很多的探索通信量和很長的時間。

(5)域內與域間

一些路由演算法只在域內工作,其它的則既在域內也在域間工作。這兩種演算法的本質是不同的。其遵循的理由是優化的域內路由演算法沒有必要也成為優化的域間路由演算法。

(6)鏈接狀態與距離向量

鏈接狀態演算法(也叫做短路徑優先演算法)把路由信息散布到網路的每個節點,不過每個路由器只發送路由表中描述其自己鏈接狀態的部分。距離向量演算法(也叫做Bellman-Ford演算法)中每個路由器發送路由表的全部或部分,但只發給其鄰居。也就是說,鏈接狀態演算法到處發送較少的更新信息,而距離向量演算法只向相鄰的路由器發送較多的更新信息。

由於鏈接狀態演算法聚合得較快,它們相對於距離演算法產生路由環的傾向較小。在另一方面,鏈接狀態演算法需要更多的CPU和內存資源,因此鏈接狀態演算法的實現和支持較昂貴。雖然有差異,這兩種演算法類型在多數環境中都可以工作得很好。

3、路由的metric

路由表中含有由交換軟體用以選擇最佳路徑的信息。但是路由表是怎樣建立的呢?它們包含信息的本質是什麼?路由演算法怎樣根據這些信息決定哪條路徑更好呢?

路由演算法使用了許多不同的metric以確定最佳路徑。復雜的路由演算法可以基於多個metric選擇路由,並把它們結合成一個復合的metric。常用的metric如下:

路徑長度

可靠性

延遲

帶寬

負載

通信代價

路徑長度是最常用的路由metric。一些路由協議允許網管給每個網路鏈接人工賦以代價值,這種情況下,路由長度是所經過各個鏈接的代價總和。其它路由協議定義了跳數,即分組在從源到目的的路途中必須經過的網路產品,如路由器的個數。

可靠性,在路由演算法中指網路鏈接的可依賴性(通常以位誤率描述),有些網路鏈接可能比其它的失效更多,網路失效後,一些網路鏈接可能比其它的更易或更快修復。任何可靠性因素都可以在給可靠率賦值時計算在內,通常是由網管給網路鏈接賦以metric值。

路由延遲指分組從源通過網路到達目的所花時間。很多因素影響到延遲,包括中間的網路鏈接的帶寬、經過的每個路由器的埠隊列、所有中間網路鏈接的擁塞程度以及物理距離。因為延遲是多個重要變數的混合體,它是個比較常用且有效的metric。

帶寬指鏈接可用的流通容量。在其它所有條件都相等時,10Mbps的乙太網鏈接比64kbps的專線更可取。雖然帶寬是鏈接可獲得的最大吞吐量,但是通過具有較大帶寬的鏈接做路由不一定比經過較慢鏈接路由更好。例如,如果一條快速鏈路很忙,分組到達目的所花時間可能要更長。

負載指網路資源,如路由器的繁忙程度。負載可以用很多方面計算,包括CPU使用情況和每秒處理分組數。持續地監視這些參數本身也是很耗費資源的。

通信代價是另一種重要的metric,尤其是有一些公司可能關系運作費用甚於性能。即使線路延遲可能較長,他們也寧願通過自己的線路發送數據而不採用昂貴的公用線路。

路由器的工作原理是什麼?
路由器利用網路定址功能使路由器能夠在網路中確定一條最佳的路徑 IP 地址的網路部
分確定分組的目標網路,並通過 IP地址的主機部分和設備的 MAC 地址確定到目標節點的連接
路由器的某一個介面接收到一個數據包時,會查看包中的目標網路地址以判斷該包的目的地址在當前
的路由表中是否存在(即路由器是否知道到達目標網路的路徑),如果發現包的目標地址與本路由器的某
個介面所連接的網路地址相同,那麼馬上數據轉發到相應介面;如果發現包的目標地址不是自己的直連
網段,路由器會查看自己的路由表,查找包的目的網路所對應的介面,並從相應的介面轉發出去如果路
由表中記錄的網路地址與包的目標地址不匹配,則根據路由器配置轉發到默認介面,在沒有配置默認介面
的情況下會給用戶返回目標地址不可達的 ICMP 信息

路由器包含了什麼功能?
路由器包含了路由選擇和交換的功能
路由器介面通常一個數據分組從一條數據鏈路傳送到另一條數據鏈路
路由選擇功能:為傳送分組,路由器會使用地址的網路部分進行路由選擇以確定一條最佳路徑
路由交換功能:使路由器有能力接收分組並進行轉發
所以路由是跨越

路由器在工作中要經歷哪幾個過程?
路由發現:學習路由的過程,動態路由通常由路由器自己完成,靜態路由需要手工配置
路由轉發:路由學習之後會照學習更新的路由表進行數據轉發
路由維護:路由器通過定期與網路中其他路由器進行通信來了解網路拓撲變化以便更新路由表
路由器記錄了介面所直連的網路 ID,稱為直連路由,路由器可以自動學習到直連路由而不需要配置
路由器所識別的邏輯地址的協議必須被路由器所支持

路由有哪幾種類型?各種路由的特點是什麼?
路由分為靜態路由
靜態路由是由管理員在路由器進行手工配置的固定的路由
靜態路由允許對路由的行為進行精確的控制減少了網路流量單向以及配置簡單靜態路由通常情
況下優先順序最高,因為其管理距離最短
靜態路由的配置方法:
Router(config)#ip route network [mask] {address | interface} [distance] [permantet]
目標網路 掩碼 到達目標網路的下一個路由器地址或本地介面
默認路由是靜態路由的一種,是指當路由表中與包的目標地址之間沒有匹配的表項時路由器能夠作出
的選擇
Router(config)#ip route 0.0.0.0 0.0.0.0 下一個路由器的介面地址
Router(config)#ip classless
其中 0.0.0.0 0.0.0.0 代表將發往任何網路的包都轉發到下一個路由器介面地址
Ip classless 指路由器接收到不能轉發的包的時候會將其匹配給默認路由
並且返回目標地址不可達的 ICMP的消息
動態路由是網路中的路由器之間根據實時網路拓撲變化,相互通信傳遞路由信息,利用收到的路由信
息通過路由選擇協議計算,更新路由表的過程
動態路由減少了管理任務
常見的動態路由包括距離矢量路由選擇協議和鏈路狀態路由選擇協議

閱讀全文

與計算機網路中的兩類路由演算法相關的資料

熱點內容
無需網路免費看動漫的軟體 瀏覽:810
蘋果一體機網路恢復 瀏覽:841
Xs的網路設置在哪裡 瀏覽:379
網路營銷後台託管哪裡靠譜 瀏覽:102
管理網路圖是哪個章節 瀏覽:911
網路詞噠保同音是什麼意思 瀏覽:574
蘋果7有4g信號沒網路上不了網 瀏覽:994
gopro連接手機網路攝像頭 瀏覽:307
網路如何推廣全網整合營銷公司 瀏覽:133
電視藍牙款和網路款什麼區別 瀏覽:589
網路不好咋設置 瀏覽:342
網路球機錄像機設置旋轉 瀏覽:92
網路無線五方通話系統 瀏覽:992
怎樣熱點共享網路連接 瀏覽:154
五代計算機網路的名稱 瀏覽:301
工會如何通過網路轉會 瀏覽:710
vivo手機怎麼usb共享網路打不開 瀏覽:991
手機禁別人網路軟體 瀏覽:16
舊電視如何連網路 瀏覽:79
網路安全般票 瀏覽:879

友情鏈接