路由

路由

工作在OSI參考模型第三層——網路層的數據包轉發設備。路由器通過轉發數據包來實現網路互連。雖然路由器可以支持多種協定(如TCP/IP、IPX/SPX、AppleTalk等協定),但是在我國絕大多數路由器運行TCP/IP協定。路由器通常連線兩個或多個由IP子網或點到點協定標識的邏輯連線埠,至少擁有1個物理連線埠。路由器根據收到數據包中的網路層地址以及路由器內部維護的路由表決定輸出連線埠以及下一跳地址,並且重寫鏈路層數據包頭實現轉發數據包。路由器通過動態維護路由表來反映當前的網路拓撲,並通過網路上其他路由器交換路由和鏈路信息來維護路由表。

基本信息

路由的定義

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

路由的組成

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

1、路徑選擇

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

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

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

路由路由

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

2、交換

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

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

路由路由

上面描述了源系統與目的系統間的交換,ISO定義了用於描述此過程的分層的術語。在該術語中,沒有轉發分組能力的網路設備稱為端系統(ES--endsystem),有此能力的稱為中介系統(IS--intermediatesystem)。IS又進一步分成可在路由域內通信的域內IS(intradomainIS)和既可在路由域內有可在域間通信的域間IS(interdomainIS)。路由域通常被認為是統一管理下的一部分網路,遵守特定的一組管理規則,也稱為自治系統(autonomoussystem)。在某些協定中,路由域可以分為路由區間,但是域內路由協定仍可用於在區間內和區間之間交換數據。

路由算法

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

1、設計目標

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

最佳化

簡單、低耗

健壯、穩定

快速聚合

靈活性

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

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

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

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

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

路由路由

路由算法還應該是靈活的,即它們應該迅速、準確地適應各種網路環境。例如,假定某網段斷掉了,當知道問題後,很多路由算法對通常使用該網段的路徑將迅速選擇次佳的路徑。路由算法可以設計得可適應網路頻寬、路由器佇列大小和網路延遲。

算法類型

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

靜態與動態

單路徑與多路徑

平坦與分層

主機智慧型與路由器智慧型

域內與域間

連結狀態與距離向量

(1)靜態與動態

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

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

動態路由算法可以在適當的地方以靜態路由作為補充。例如,最後可選路由(routeroflastresort)

路由路由
,作為所有不可路由分組的去路,保證了所有的數據至少有方法處理。

(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)#iproutenetwork[mask]{address|interface}[distance][permantet]目標網路掩碼到達目標網路的下一個路由器地址或本地接口
默認路由是靜態路由的一種,是指當路由表中與包的目標地址之間沒有匹配的表項時路由器能夠作出的選擇Router(config)#iproute0.0.0.00.0.0.0下一個路由器的接口地址
Router(config)#ipclassless
其中0.0.0.00.0.0.0代表將發往任何網路的包都轉發到下一個路由器接口地址Ipclassless指路由器接收到不能轉發的包的時候會將其匹配給默認路由
並且返回目標地址不可達的ICMP的訊息
動態路由是網路中的路由器之間根據實時網路拓撲變化,相互通信傳遞路由信息,利用收到的路由信息通過路由選擇協定計算,更新路由表的過程
動態路由減少了管理任務
常見的動態路由包括距離矢量路由選擇協定和鏈路狀態路由選擇協定

設計目標

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

路由路由
用跳數和延遲,但可能延遲的權值要大些。當然,路由協定必須嚴格定義計算metric的算法。
高效簡單
它也可以設計得儘量簡單。換句話說,路由協定必須高效地提供其功能,儘量減少軟體和套用的開銷。當實現路由算法的軟體必須運行在物理資源有限的計算機上時高效尤其重要。
穩定
路由算法必須穩定,即在出現不正常或不可預見事件的情況下必須仍能正常處理,例如硬體故障、高負載和不正確的實現。因為路由器位於網路的連線點,當它們失效時會產生重大的問題。最好的路由算法通常是那些經過了時間考驗,證實在各種網路條件下都很穩定的算法。
快速聚合
聚合是所有路由器對最佳路徑達成一致的過程。當某網路事件使路徑斷掉或不可用時,路由器通過網路分發路由更新信息,促使最佳路徑的重新計算,最終使所有路由器達成一致。聚合很慢的路由算法可能會產生路由環或網路中斷。
在下圖中的路由環中,某分組在時間t1到達路由器1,路由器1已經更新並知道到達目的的最佳路徑是以路由器2為下一跳,於是就把該分組轉發給路由器2。但是路由器2還沒有更新,它認為最佳的下一跳是路由器1,於是把該分組發回給路由器1,結果分組在兩個路由器間來回傳遞直到路由器2收到路由更新信息或分組超過了生存期。
靈活
即它們應該迅速、準確地適應各種網路環境。例如,假定某網段斷掉了,當知道問題後,很多路由算法對通常使用該網段的路徑將迅速選擇次佳的路徑。路由算法可以設計得可適應網路頻寬、路由器佇列大小和網路延遲。

度量標準

路由表中含有由交換軟體用以選擇最佳路徑的信息。但是路由表是怎樣建立的呢?它們包含信息的本質是什麼?路由算法怎樣根據這些信息決定哪條路徑更好呢?
路由算法使用了許多不同的度量標準以確定最佳路徑。複雜的路由算法可以基於多個度量標準選擇路由,並把它們結合成一個複合的度量標準。常用的度量標準如下:
路徑長度
路徑長度是最常用的路由度量標準。一些路由協定允許網管給每個網路連結人工賦以代價值,這種情況下,路由

路由路由
長度是所經過各個連結的代價總和。其它路由協定定義了跳數,即分組在從源到目的的路途中必須經過的網路產品,如路由器的個數。
可靠性
在路由算法中指網路連結的可依賴性(通常以位誤率描述),有些網路連結可能比其它的失效更多,網路失效後,一些網路連結可能比其它的更易或更快修復。任何可靠性因素都可以在給可靠率賦值時計算在內,通常是由網管給網路連結賦以度量標準值。
延遲
指分組從源通過網路到達目的所花時間。很多因素影響到延遲,包括中間的網路連結的頻寬、經過的每個路由器的連線埠佇列、所有中間網路連結的擁塞程度以及物理距離。因為延遲是多個重要變數的混合體,它是個比較常用且有效的度量標準。
頻寬
頻寬指連結可用的流通容量。在其它所有條件都相等時,10Mbps的乙太網連結比64kbps的專線更可取。雖然頻寬是連結可獲得的最大吞吐量,但是通過具有較大頻寬的連結做路由不一定比經過較慢連結路由更好。例如,如果一條快速鏈路很忙,分組到達目的所花時間可能要更長。
負載
負載指網路資源,如路由器的繁忙程度。負載可以用很多方面計算,包括CPU使用情況和每秒處理分組數。持續地監視這些參數本身也是很耗費資源的。
通信代價是另一種重要的度量標準,尤其是有一些公司可能關係運作費用甚於性能。即使線路延遲可能較長,他們也寧願通過自己的線路傳送數據而不採用昂貴的公用線路。
6類型
編輯
路由分為靜態路由(staticrouting)和動態路由(dynamicrouting)和直連路由三種來源。

特點

靜態路由的特點
靜態路由是由管理員在路由器進行手工配置的固定的路由

路由路由

靜態路由允許對路由的行為進行精確的控制減少了網路流量單向以及配置簡單靜態路由通常情況下優先權最高,因為其管理距離最短。靜態路由是在路由器中設定的固定的路由表。除非網路管理員干預,否則靜態路由不會發生變化。由於靜態路由不能對網路的改變作出反映,一般用於網路規模不大、拓撲結構固定的網路中。靜態路由的優點是簡單、高效、可靠。在所有的路由中,靜態路由優先權最高。當動態路由與靜態路由發生衝突時,以靜態路由為準。
動態路由的特點
動態路由是網路中的路由器之間根據實時網路拓撲變化,相互通信傳遞路由信息,利用收到的路由信息通過路由選擇協定計算,更新路由表的過程。
動態路由減少了管理任務

配置

靜態
進去全局配置模式,定義目標網路號,目標網路的子網掩碼和下一跳地址或接口
Router(config)#iproute{nexthop-address|exit-interface}[distance]
Router(config)#iproutenetwork[mask]{address|interface}[distance][permantet]
目標網路掩碼到達目標網路的下一個路由器地址或本地接口
默認路由是靜態路由的一種,是指當路由表中與包的目標地址之間沒有匹配的表項時路由器能夠作出的選擇
Router(config)#iproute0.0.0.00.0.0.0下一個路由器的接口地址
Router(config)#ipclassless
其中0.0.0.00.0.0.0代表將發往任何網路的包都轉發到下一個路由器接口地址
Ipclassless指路由器接收到不能轉發的包的時候會將其匹配給默認路由
並且返回目標地址不可達的ICMP的訊息
動態
常見動態路由分為距離矢量路由協定(DistanceVectorRoutingProtocol)和鏈路狀態路由協定(Link-StateRoutingProtocol)。
動態路由是網路中的路由器之間相互通信,傳遞路由信息,利用收到的路由信息更新路由器表的過程。它能實時地適應網路結構的變化。如果路由更新信息表明發生了網路變化,路由選擇軟體就會重新計算路由,並發出新的路由更新信息。這些信息通過各個網路,引起各路由器重新啟動其路由算法,並更新各自的路由表以動態地反映網路拓撲變化。動態路由適用於網路規模大、網路拓撲複雜的網路。當然,各種動態路由協定會不同程度地占用網路頻寬和CPU資源。
距離矢量路由協定包括RIP,EIGRP,IGRP
鏈路狀態路由協定包括OSPF,ISIS
RIP
RIP是Internet中常用的路由協定,路由器根據距離選擇路由,路由器收集所有可到達目的地的不同路徑,並且保存有關到達每個目的地的最少站點數的路徑信息,除到達目的地的最佳路徑外,任何其它信息均予以丟棄。同時路由器也把所收集的路由信息用RIP協定通知相鄰的其它路由器。這樣,正確的路由信息逐漸擴散到了全網。
RIP有兩個不同的版本,RIPv1和RIPv2.RIPv1。

路由路由

RIPv1和RIPv2.RIPv1的主要區別:
1.RIPv1是有類路由協定,RIPv2是無類路由協定
2.RIPv1不能支持VLSM,RIPv2可以支持VLSM
3.RIPv1沒有認證的功能,RIPv2可以支持認證,並且有明文和MD5兩種認證
4.RIPv1沒有手工匯總的功能,RIPv2可以在關閉自動匯總的前提下,進行手工匯總
5.RIPv1是廣播更新,RIPv2是組播更新,
6.RIPv1對路由沒有標記的功能,RIPv2可以對路由打標記(tag),用於過濾和做策略
7.RIPv1傳送的updata最多可以攜帶25條路由條目,RIPv2在有認證的情況下最多只能攜帶24條路由
8.RIPv1傳送的updata包裡面沒有next-hop屬性,RIPv2有next-hop屬性,可以用與路由更新的重定
RIPv1的配置;
Router(config)#routerrip
Router(config-router)#networkxxxx.xxxx.xxxx.xxxx
RIPv2的配置
Router(config)#routerrip
Router(config-router)#version2
Router(config-router)#noauto-summary
RIP使用非常廣泛,它簡單、可靠,便於配置。但是RIP只適用於小型的同構網路,因為它允許的最大站點數為15,任何超過15個站點的目的地均被標記為不可達。而且RIP每隔30s一次的路由信息廣播也是造成網路的廣播風暴的重要原因之一。
EIGRP
EIGRP是思科私有的,他是高級距離矢量路由協定,使用DUAL算法。EIGRP是建立鄰居關係最快的路由協定
EIGRP的5個Metric值:頻寬(Bandwidth),負載(Load),延遲(Delay),可靠性(Reliability),MTU
配置:
Router(config)#routereigrpXX
Router(config-router)#noauto-summary
OSPF
OSPF是一種基於鏈路狀態的路由協定,需要每個路由器向其同一管理域的所有其它路由器傳送鏈路狀態廣播信息。在OSPF的鏈路狀態廣播中包括所有接口信息、所有的量度和其它一些變數。利用0SPF的路由器首先必須收集有關的鏈路狀態信息,並根據一定的算法計算出到每個節點的最短路徑。而基於距離向量的路由協定僅向其鄰接路由器傳送有關路由更新信息。
配置:
Router(config)#routerospfXX
Router(config-router)#router-idX.X.X.X
Router(config-router)#networkXXXX.XXXX.XXXX.XXXXareaX
OSPF將一個自治域再劃分為區,相應地即有兩種類型的路由選擇方式:當源和目的地在同一區時,採用區內路由選擇;當源和目的地在不同區時,則採用區間路由選擇。這就大大減少了網路開銷,並增加了網路的穩定性。當一個區內的路由器出了故障時並不影響自治域內其它區路由器的正常工作,這也給網路的管理、維護帶來方便。
靜態路由和動態路由有各自的特點和適用範圍,因此在網路中動態路由通常作為靜態路由的補充。當一個分組在路由器中進行尋徑時,路由器首先查找靜態路由,如果查到則根據相應的靜態路由轉發分組;否則再查找動態路由

工作原理

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

包含功能

路由器包含了路由選擇和交換的功能
路由選擇功能:為傳送分組,路由器會使用地址的網路部分進行路由選擇以確定一條最佳路徑
路由交換功能:使路由器有能力接收分組並進行轉發

工作過程

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

特徵

工作原理
路由器是第三層網路設備,這樣說大家可能都不理解,就先說一下集線器和交換機吧。集線器工作在第一層(即物理層),它沒有智慧型處理能力,對它來說,數據只是電流而已,當一個連線埠的電流傳到集線器中時,它只是簡單地將電流傳送到其他連線埠,至於其他連線埠連線的計算機接收不接收這些數據,它就不管了。交換機工作在第二層(即數據鏈路層),它要比集線器智慧型一些,對它來說,網路上的數據就是MAC地址的集合,它能分辨出幀中的源MAC地址和目的MAC地址,因此可以在任意兩個連線埠間建立聯繫,但是交換機並不懂得IP位址,它只知道MAC地址。路由器工作在第三層(即網路層),它比交換機還要“聰明”一些,它能理解數據中的IP位址,如果它接收到一個數據包,就檢查其中的IP位址,如果目標地址是本地網路的就不理會,如果是其他網路的,就將數據包轉發出本地網路。
作用
我們常見的集線器和交換機一般都是用於連線乙太網的,但是如果將兩種不同的網路類型連線起來,比如乙太網與ATM網,集線器和交換機就派不上用場了。
路由器能夠連線不同類型的區域網路和廣域網,如乙太網、ATM網、FDDI網、令牌環網等。不同類型的網路,其傳送的數據單元——包(Packet)的格式和大小是不同的。就像公路運輸是以汽車為單位裝載貨物,而鐵路運輸是以車皮為單位裝載貨物一樣,從汽車運輸改為鐵路運輸,必須把貨物從汽車上放到火車車皮上,網路中的數據也是如此。數據從一種類型的網路傳輸至另一種類型的網路,必須進行幀格式轉換。路由器就有這種能力,而交換機和集線器就沒有。
實際上,我們所說的“網際網路”,就是指各種路由器將各種不同的網路類型互相連線起來。集線器和交換機根本不能勝任這個任務,所以必須由路由器來擔當這個角色。
具有路徑選擇能力
網際網路中,從一個節點到另一個節點,可能有許多路徑。路由器可以選擇通暢的最短路徑,這就大大提高通信速度,減輕網路系統通信負荷,節約網路系統資源,這也是集線器和交換機所根本不具備的性能。

種類

接入
接入路由器是指將區域網路用戶接入到廣域網中的路由器設備。我們區域網路用戶接觸最多的就是接入路由器了。只要有網際網路的地方,就會有路由器。如果你通過區域網路共享線路上網,就一定會使用路由器。
有的讀者會心生疑問:我是通過代理伺服器上網的,不用路由器不也能接入網際網路嗎?其實代理伺服器也是一種路由器,一台計算機加上網卡,再加上ISDN(或Modem或ADSL),再安裝上代理伺服器軟體,事實上就已經構成了路由器,只不過代理伺服器是用軟體實現路由功能,而路由器是用硬體實現路由功能,就像VCD軟解壓軟體和VCD機的關係一樣,結構不同,但是功能卻是相同的。
企業級
企業級的路由器是用於連線大型企業內成千上萬的計算機,普通的區域網路用戶就接觸不到了。與接入路由器相比,企業級路由器支持的網路協定多、速度快,要處理各種區域網路類型,支持多種協定,包括IP、IPX和Vine,還要支持防火牆、包過濾以及大量的管理和安全策略以及VLAN(虛擬區域網路)。
骨幹級
只有工作在電信等少數部門的技術人員,才能接觸到骨幹級路由器。網際網路由幾十個骨幹網構成,每個骨幹網服務幾千個小網路,骨幹級路由器實現企業級網路的互聯。對它的要求是速度和可靠性,而價格則處於次要地位。硬體可靠性可以採用電話交換網中使用的技術,如熱備份、雙電源、雙數據通路等來獲得。這些技術對所有骨幹路由器來說是必須的。
骨幹網上的路由器終端系統通常是不能直接訪問的,它們連線長距離骨幹網上的ISP和企業網路。網際網路的快速發展給骨幹網、企業網和接入網都帶來了不小的挑戰。
持所需識別的邏輯地址的協定

對比

軟路由是指利用台式機或伺服器配合軟體形成路由解決方案,主要靠軟體的設定,達成路由器的功能;而硬路由則是以特用的硬設備,包括處理器、電源供應、嵌入式軟體,提供設定的路由器功能。
一般情況下,軟路由通常就是計算機了,硬體路由根據不同的標準可以做不同的分類,比如從性能上可以分為高、中、低端,從結構上分為固定配置和模組化等等。
軟路由的好處有很多,如使用便宜的台式機,配合免費的Linux軟體,軟路由彈性較大,而且台式機處理器性能強大,所以處理效能不錯,也較容易擴充。但對應地也要求技術人員許掌握更多的例如設定方法、參數設計等專業知識,同時設定也比較複雜,而且需技術人員具備一定應變技術能力。同時台式機的硬體配置如果選擇不好或不合理,而且擔任路由器的功能如果長期工作,故障的機率將很高。用一台台式機搭建,成本並不低,但是如果要使用伺服器,成本則更高,技術人員學習的過程亦較為煩瑣。
硬路由的做法為配置專用機,像PC機一樣,硬路由器包括電源、內部匯流排、主存、快閃記憶體、處理器和作業系統等,專為路由功能而設計,成本較低。路由器中的軟體都是深嵌入到硬體中,包括對各種器件驅動的最佳化,不同體系cpu的不同最佳化策略等等,這個軟體不是套用軟體,而是系統軟體,和硬體不能分開的。
由於架構設計考慮了長時間運作,所以穩定性有更高保證,再加上重要的功能大部份都已在內置系統設計中完成,所以人工管理設定的功夫非常少,可節省技術或網路管理人員的時間。但相對的,如果某一款硬體規格不強大,擴充性不寬,因此將有可能無法滿足需求,尤其是需要加進持別功能時,如果廠商沒有提供,那么技術或網路管理人員也無法解決。
以上的分析,都是比較偏向主觀上,但也基本上合理地概括了整體的特徵,下面就更全面、力求準確地分析一下軟硬路由的各項對比,以供讀者朋友參考。
概念
軟路由通常使用普通計算機充當,使用通用的作業系統,如linux或windows,因此路由設定事實上是windows或linux的設定,或者是對計算機的配置。PC可以是很舊的486或是再高級的PC/伺服器。軟體與硬體是獨立分開的;而硬體路由器,大多是基於嵌入式系統架構,以自行開發或是現成的嵌入式作業系統如Vxworks,Montavista,uClinux等等為作業系統,再配合系統廠商自行開發的路由軟體,軟體與硬體是互相配合的。硬體路由器採用專門的作業系統,因此採用超級終端(計算機)通過console實現對路由器的管理。對硬體路由器的管理通常採用專用命令行、圖形界面或網管軟體實現。
硬體架構
軟體路由器的硬體架構是通用的,適用各種不同的套用軟體安裝使用,不是只為路由器而設計;而硬體路由器的硬體架構是專為路由器而設計的,有些CPU更是為網路套用而開發。
硬體組裝
軟體路由器使用者可能必須自行組裝硬體,一般的PC可能沒有網路卡(例如很舊的486)或是只有一張網路卡,使用者必須自行安裝額外的網路卡,以滿足路由的功能。硬體可能會有兼容性的問題,使用者必須自行解決;而硬體路由器使用者無須自行組裝硬體,硬體的搭配設計已由系統廠商完成,並經過嚴格的測試,不會有不兼容的情況。
軟體安裝
軟體路由器使用者必須自行安裝軟體,有些軟體是免費的,有些是要付權利金;而硬體路由器使用者則無須自行安裝軟體,軟體是內含在產品的快閃記憶體里的。
軟體維護
軟體路由器提供免費的軟體通常是非商業化的開放程式代碼,一般是由一些散落各地的專家因為興趣來參與開發與修改。功能的完整性與除錯無法保證;硬體路由器的軟體功能則是由推出產品的系統廠商自行開發,一致性高。功能的增加以及除錯是由來系統廠商維護,使用者只需做軟體升級,升級軟體的取得有確實的管道,售後服務有保障。
搭配性
軟體路由器軟體必須遷就現成的硬體(如PC)以及現成的作業系統(如Windows以及Linux),硬體與作業系統都不是為專為網路/路由功能而設計的。穩體性無法一概而論,使用者必須付出相對的成本、時間、精力、與金錢;而硬體路由器的軟體與硬體,採用嵌入式作業系統並互相搭配,所以整體設計精簡而有效率,不但穩定,而且架設容易,產品成本加上使用者付出的成本也相對較低。
使用接口
軟體路由器中,不同的軟體有不同的方式,有些是視窗畫面,有些是命令行(commandline)的指令。不一定容易理解。有些需要很專業的知識;而硬體路由器多以WebGUI的方式來做設定,強調userfriendly,依據特定的功能做出簡單而且容易理解的設定方式。
等級區別方面
軟體路由器沒有區別,效能依據試用者選擇的PC以及軟體而定。所以不一定能適用各種不同的網路/路由套用。越高級的套用環境需要越專業的知識才能應付自如;硬體路由器則會為不同等級的網路/路由套用,開發不同等級的路由器,達到較好的性價比。
工作環境方面
軟體路由器只能工作於乙太網絡,實現區域網路之間的互聯。硬體路由器擁有豐富的接口類型,因此適用於各種類型的網路,既可套用於區域網路的互聯,也可用於廣域網和Internet互聯。另外,兩者的效率也不同,軟路由可套用於小型的\通訊效率不高的網路,硬體路由可套用於大中小型、通訊效率較高的網路。

套用

總的來說,不同的產品適合不同的客戶群。從很多產品發展的角度來看,軟體的方式適用於較有技術能力的網管,而一般的網管希望將精力發揮在其它更有價值的地方,則多採用硬路由。由於計算機的限制,軟路由只能使用乙太網卡,因此基本上局限於乙太網絡之間的連線,乙太網絡之間只有在劃分多個網段時,才會使用軟路由的連線。
如果網路大到要劃分子網,那么軟路由的效率顯然是無法滿足網路間的高速通訊的。而在價格方面,軟路由就是一台計算機的價格,而硬體路由的價格則根據性能的不同而有較大的差別。說實話,如果僅僅是實現NAT轉換,那么計算機的效率要比硬體路由器要高。
結合多方面的考慮,購買者就必須充分了解自身的網路環境和投資計畫,來考慮如何選擇路由器。筆者就舉例分析一下網咖的工作環境需求。網咖對路由器的需求就有著以下幾個共同點:數據處理能力要夠強,上網高速暢通,大數據流量下不掉線、不停頓;具有高度的穩定性和可靠性,能長時間不間斷穩定工作;要有很強的兼容性,要能適應不同運營商的不同接入服務;易安裝、易配置、易管理、易使用,用戶界面友好易懂;在保證性能的前提下,要有一個合理的價格,具有優異的性能價格比。
因此對一個有一定規模的網咖來說,他們更傾向於使用硬路由,使用硬體路由器則帶來更大的優勢,如成型設備,一次調試不用維護,沒有零部件維護的麻煩;專業廠家技術支持,專業軟體免費升級;可以實現線路備份、負載均衡、策略路由等很多符合網咖的套用;多數產品採用網路專用CPU解決網路路由的複雜問題;專業的技術跟蹤可以解決不斷出現的網路套用中出現的新問題,全部免費解決等等。

相關搜尋

熱門詞條

聯絡我們