電腦網路與連結技術第四章 網路層 上一頁    下一頁

4-6 靜態路徑 繞路

 內容:

4-6-1 繞路技術簡介

網路層最主要的功能就是如何在網路叢林中找到一條路徑可以到達目的地,這就是『路徑選擇』(Routing技術。不論何種連接技術(交換技術或電報傳輸)都必須用到路徑選擇技術,尤其在電報傳輸技術上更是重要。路徑選擇功能主要是由網路上所有『路由器』(Router來共同達成,當然一般主機電腦也具有路由器的功能。路由器(或主機)的工作是當有一個封包由某一個埠進來時,依照路由器內之『路由表』(Routing Table查出應該往哪一個埠送出,轉送到其他的路由器,再由下一個路由器決定路徑傳送。所以路由選擇又稱為『下一跳躍路徑選擇』(Next-hop Routing

4-7 (a) 為一般網路架構圖,我們將其轉換為路徑拓樸圖,如圖 4-7 (b) 所示。在每一個路由器上都有建立路由表,對於每一個目的地都有標明下一個路由器位置(下一站)。如工作站 A 欲傳送封包給工作站 F,當它的封包進入路由器 1,路由器 1 由它的路由表中查詢到應往下一個路由器 2 傳送。當這個封包進入路由器 2 後,由路由器 2 轉送到路由器 4。再由路由器 4 將封包傳送給工作站 F

 

4-7 路徑選擇範例  

路由器 1

路由器 2

路由器 3

路由器 4

目的地

下一站

目的地

下一站

目的地

下一站

目的地

下一站

1

 

1

1

1

2

1

2

2

2

2

 

2

2

2

2

3

2

3

3

3

 

3

3

4

2

4

4

4

4

4

 

4-8 路由表範例

對於路由表的建立主要有兩大類:

(1) 靜態路徑選擇(Static Routing):路由表是靜態的,不會隨時改變,一般有下列兩種:

固定路徑選擇(Fixed Routing

熱馬鈴薯方法(Hot-potato

(2) 動態路徑選擇(Dynamic Routing):路由表可能經由路由器之間隨時交換訊息,計算出新的路由表,目前較常用的路徑選擇技術有下列兩種:

鏈路狀態路徑選擇(Link-State Routing, LS Routing

距離向量路徑選擇(Distance Vector Routing, DV routing

4-6-2 固定路徑選擇

『固定路徑選擇』(Fixed Routing是利用人工建立之路由表,建立後除非再用人工修改,否則路由表將永遠不會變更。系統管理者利用固定路由表來規劃網路架構。亦是,網路中主要的路徑分配是利用固定路由表來完成。如果想要更改網路型態,除了變更實體連線外,主要還必須設定固定路由表來決定網路上實際的分配。如果僅更改網路實體架構,而沒有重新設定固定路由表的話,網路將會發生嚴重的錯誤,也可能會因此而癱瘓。

4-6-3 熱馬鈴薯方法

『熱馬鈴薯方法』(Hot-potato又稱為洪氾法(Flooding),也是一種靜態演算法。其功能是:當封包由路由器的某一個埠口進入後,該路由器便複製多份,再往其它埠口發送,而不管封包的目的位址,即往外丟(好像手拿到熱馬鈴薯,燙到手馬上往外丟)。在理想狀態之下,至少會有一個封包到達目的地。為了避免封包在網路上永無止境的傳遞,在封包內裝設一個跳躍計數器。封包每經過一個路由器,就將計數器的值減一,如果路由器發現某一封包的記數器的值為 0,便將該封包拋棄而不再發送。一般我們都會預估網路最大的範圍(路由器的數量),而取一半路徑的數量作為計數器的基準值。如圖 4-9 所示,封包由路由器 A 進入欲傳送到路由器 C。首先該封包被路由器 A 複製兩份,分別發送到路由器 B E,再由它們繼續往前發送,最後至少會有一個複製封包到達路由器 C

 

4-9 熱馬鈴薯法

雖然我們用跳躍記數器來限制封包的壽命,但只要發出一個封包便會在網路上產生無數的封包,也隨著路由器的數量而增加,這種現象稱之為『封包風暴』(Packet Storm。一種修正方法是:每一封包上編有特殊序號,路由器紀錄所經過的封包序號,如果某一封包已被複製轉送過,當它又從另一埠口進入時,便將其拋棄而不再轉送。這樣的話,就可以減少許多重複轉送的機會。但要維護紀錄序列表也是件頭痛的問題,因為當每一封包進入時,都必須搜尋或登錄紀錄表,而且也很難預估同一封包下一次何時會再重複進入。因此,必須再加入登錄時間,登錄時間經過某段時間後,再將該紀錄刪除。

另一種修正版本可能較適合,稱之為『選擇性洪氾法』(Selective Flooding,其功能是:封包進入後,除了搜尋紀錄表外,並非往所有路徑複製轉送,而只發送到比較有可能到達目標位址的路徑上。每一個路由器的埠口可能前往的目標位址,可由人工事先輸入(固定路由)。除非有特殊情況,否則封包風暴問題已大大改善。熱馬鈴薯方法的特點是針對廣播訊息較多的網路上使用,例如,分散式資料庫系統必須隨時廣播更新資料庫訊息。因此,一般使用在一些特殊網路,或者是小型區域網路上。

由於網路大環境會隨時改變,使用靜態路由選擇就顯得非常不方便,因其必須了解網路情況,隨時修改路由表。動態路由選擇會依照網路情況隨時修正路由表,當網路上有任何更動,動態路由選擇器會隨時更新資料,而計算出下一個路徑應該是哪一個路由器的效率最高。雖然動態路由選擇能隨時提供最佳路徑,但他為了維持這個功能,必須隨時在網路上收集最新資訊,也是會浪費不少頻寬。所以一般我們在私有網路上儘量使用靜態路由選擇,以加快網路效率,而且系統管理者也較容易掌握自己網路狀況。對於連結到網路外的公眾網路儘量使用動態路由選擇,以適應因隨時改變而很難掌控的網路。目前所有路由器都具有靜態和動態路由選擇功能,一般系統管理者也可以在主要幹線建立靜態路由選擇,其他就利用動態路徑選擇隨時依照網路情況建立路由表,這樣網路變異性最高,也是最常用的方法。

大型網路中連接許多『異質性網路』(Heterogeneous Network,動態路由選擇必須由各個路由器之間互相交換訊息,各家廠商所生產的路由器也不盡相同,因此在路由器之中必須有共通的『路徑協定』(Routing Protocol來完成。各種路徑協定都有自己的動態路徑選擇方法,以下我們介紹兩種較常用的動態路徑選擇技術,至於路徑協定將會在第十三章以實例說明。

翻轉工作室:粘添壽

 

電腦網路與連結技術:

 

 

翻轉電子書系列: