靜態路由與動態路由的差異:設定、故障時的切換、負載、規模與使用時機比較

路由器查看路由表,決定封包的下一個轉送目的地。把路由放入路由表的方法,有由管理者手動設定的靜態路由,以及路由器之間以路由協定交換資訊、自動建立的動態路由。靜態路由單純、不會為路由器帶來多餘的負載,行為也容易預測;但發生故障時不會自動切換,網路變大後設定與管理的工夫也會增加。動態路由以OSPF、BGP等自動求出路由,故障時切換到其他路由。實際的網路中,一般會組合兩者,例如對只有一個出口的據點使用靜態的預設路由,對具有備援路徑的部分使用動態路由。

項目靜態路由動態路由
路由的決定方式管理者在各路由器上設定目的地網路與下一跳路由器之間以路由協定(OSPF、BGP、RIP等)交換資訊,自動求出路由
故障時的動作不會自動切換。察覺不到鄰居路由器之後的故障,可能持續使用無法到達的路由偵測到故障時,重新求出其他路由並切換
路由器的負載與頻寬不交換路由資訊,因此不需為此使用CPU、記憶體與線路頻寬交換路由資訊與計算路由需要使用CPU、記憶體與頻寬
設定的工夫與規模網路與路由越多,設定量與出錯的風險越大。每次變更都要修改所有相關的路由器路由的新增與變更會自動傳達,大型網路也容易管理。但需要協定的設計與設定知識
行為的可預測性照設定運作,容易預測使用的路由會依協定的計算結果而改變
安全性不接收路由資訊,不必擔心被送入偽造的路由為了不接受偽造的路由,需要鄰居路由器的認證,以及限制接受的路由(過濾)
管理距離一般為較小的值,優先於動態路由(數值依設備而異,例如1)依協定決定(例如有設備把OSPF設為110、RIP設為120)
適合的場合小型網路、只有一個出口之據點的預設路由、連往網路服務供應商的出口具有備援路徑的網路、據點眾多的企業網路、網際網路的AS之間(BGP)

數值為具代表性的大致參考值,會因世代或產品而異。

適用於什麼情況

靜態路由
路由器少、架構幾乎不變的網路,或像分公司那樣只有一個出口的據點。適合只要設定一條 0.0.0.0/0 預設路由就足夠的情況。
動態路由
路由器多的網路,或具有備援路徑、希望故障時自動切換的網路。也適合經常新增或變更路由的情況。

常見問題

靜態路由也能在故障時切換到備用路由嗎?

某種程度上可以。事先設定一條管理距離比平常使用之路由大的靜態路由(浮動靜態路由)作為備用,只有在平常的路由從路由表消失時才會使用備用路由。不過,平常的路由只有在路由器察覺自己的鏈路中斷等情況下才會消失,無法察覺更遠處的故障。因此有時會搭配定期確認能否到達對方、並移除路由的功能。

什麼是預設路由?

像 0.0.0.0/0(IPv6為 ::/0)這樣與所有目的地相符的路由。路由器會在與目的地相符的路由中選擇前綴最長者(最長前綴匹配),因此只有在沒有其他相符路由時才會使用預設路由。只有一個出口的據點,一般不為每個目的地設定路由,而是以靜態方式設定一條預設路由。

同一目的地同時有靜態路由與動態路由時,會使用哪一個?

前綴長度不同的路由會被當作不同的路由,轉送時以最長前綴匹配選出最長者。相同目的地、相同前綴長度的路由兩者都有時,管理距離較小者會放入路由表。靜態路由一般比動態路由的值小,因此靜態路由優先。具體數值依設備廠商而異。

靜態路由與動態路由可以一起使用嗎?

可以。許多網路會組合兩者。例如總公司與分公司之間以OSPF交換路由,在連往網際網路的出口設定靜態的預設路由,再以OSPF把這條預設路由傳給其他路由器。

理解度檢測

下列關於動態路由的敘述,何者正確?

  1. A由管理者在各路由器上手動設定路由,發生故障時,在修改設定之前會持續使用相同的路由
  2. B路由器之間以路由協定交換路由資訊,當故障導致路由無法使用時,會自動切換到其他路徑
  3. C每個封包隨機選擇路徑,把負載平均分散到多條路徑上
查看答案與解析

正確答案:B. 路由器之間以路由協定交換路由資訊,當故障導致路由無法使用時,會自動切換到其他路徑

靜態路由是由管理者手動設定路由的方法。設定簡單、行為容易預測,適合小型網路或只有一個出口之據點的預設路由,但發生故障時不會自動切換。動態路由則由路由器以OSPF、BGP等路由協定交換資訊,自動建立路由表,鏈路斷線時會重新計算其他路徑。在網際網路上,組織網路(自治系統)之間的路由以BGP交換。實際的網路一般會將兩者組合使用。

分公司的路由器R2與總公司的路由器R1以 10.255.0.0/30 的鏈路相連,R1端的位址為 10.255.0.1,R2端為 10.255.0.2。在R2上設定通往總公司網路 192.168.1.0/24 的靜態路由時,指定為下一個轉送對象(下一跳)的位址,下列何者適當?

  1. A10.255.0.1
  2. B10.255.0.2
  3. C192.168.1.1(R1在總公司LAN側的位址)
查看答案與解析

正確答案:A. 10.255.0.1

靜態路由要設定目的地網路,以及為了送往該處而交給下一台路由器的位址(下一跳)。下一跳原則上是位於自己直接連接之網路上的相鄰路由器的位址。這裡是鏈路另一端R1的 10.255.0.1,R2會以ARP查出這個位址的MAC位址再送出訊框。分公司只有一個出口時,也常不逐一寫出各目的地的路由,而只設定一條 0.0.0.0/0 的預設路由。

某台路由器從OSPF與RIP兩者學到通往同一目的地 192.168.50.0/24 的路由。在這台路由器上,表示各路由來源優先程度的管理距離(值越小越優先),OSPF為110,RIP為120。放入路由表的路由,下列何者正確?

  1. A兩條路由都放入路由表,每個封包輪流使用
  2. B只放入RIP的路由
  3. C只放入OSPF的路由
查看答案與解析

正確答案:C. 只放入OSPF的路由

像OSPF的成本與RIP的跳數那樣,不同的路由協定表示路由好壞之值(度量值)的意義不同,無法直接比較。因此,從多個來源得到相同目的地、相同前綴長度的路由時,會採用代表各來源可信程度之管理距離較小的一方。這裡OSPF的110比RIP的120小,因此OSPF的路由會放入路由表。一般而言,直接相連的網路為0、靜態路由為1,人設定的路由值越小,但名稱與預設值依設備廠商而異。

  1. 路由器的路由表中有3條路由:靜態路由 10.0.0.0/8(下一個轉送對象為路由器A,管理距離1)、以OSPF學到的 10.1.0.0/16(路由器B,110)、以RIP學到的 10.1.1.0/24(路由器C,120)。目的地為 10.1.1.5 的封包會送往哪一台路由器?
  2. 路由器的路由表中有 0.0.0.0/0(下一個轉送對象為路由器A)、10.0.0.0/8(路由器B)、10.1.0.0/16(路由器C)、10.1.2.0/24(路由器D)4條路由。目的地為 10.1.5.9 的封包會送往哪一台路由器?

前往網路設計與維運的練習題

相關名詞的解說

路由選擇(Routing)
在IP網路中,為了把封包送到目的地而決定經由哪條路徑傳送。各路由器持有路由表,選擇與目的地IP位址前綴一致最長的路由(最長前綴比對),交給下一個路由器。路由表可由人設定的靜態路由建立,也可由OSPF、RIP、BGP等路由協定自動建立的動態路由產生。
路由器
在不同網路之間轉送封包的網路層(第3層)設備。把收到的封包之目的地IP位址與路由表比對,決定下一個要交給的路由器(下一跳)與輸出介面後送出。家用路由器還整合了NAPT、DHCP伺服器與防火牆等功能。
管理距離
從靜態路由、OSPF、RIP等多個來源得到相同目的地、相同前綴長度的路由時,用來決定要把哪一條放入路由表的、各來源的優先程度值。值越小越優先。不用於在前綴長度不同的路由之間做選擇,那是由最長前綴匹配決定。名稱與預設值依設備廠商而異。
最長前綴匹配
路由器在路由表中有多條路由與目的地IP位址相符時,選擇前綴最長(最具體)之路由的規則。例如與 10.0.0.0/8 及 10.1.0.0/16 都相符的目的地,使用 /16 的路由。沒有任何路由相符時使用的預設路由(0.0.0.0/0),相當於長度為0、最短的路由。
OSPF(開放最短路徑優先)
Open Shortest Path First的縮寫。在組織內部使用的鏈路狀態型路由協定。各路由器散播自己之鏈路的狀態以共享網路架構,並以戴克斯特拉演算法計算成本合計最小的路徑。成本一般由鏈路頻寬決定,並可把網路分成多個區域,以支援大規模的網路。
BGP(邊界閘道協定)
Border Gateway Protocol的縮寫。在網際網路上,於AS(自治系統,網路服務供應商等組織所管理的網路單位)之間交換路由資訊的路由協定。依據路由所附之經過AS的順序(AS_PATH)等屬性,以及各組織的政策選擇路由。路由器之間以TCP的179號連接埠連線交換資訊。

相關的比較