路由

路由的功能和分類

  路由是把信息從源穿過網絡傳遞到目的地的行爲,在路上,至少遇到一箇中間節點。路由通常與橋接來對比,在粗心的人看來,它們似乎完成的是同樣的事。它們的主要區別在於橋接發生在OSI參考協議的第二層(鏈接層),而路由發生在第三層(網絡層)。這一區別使二者在傳遞信息的過程中使用不同的信息,從而以不同的方式來完成其任務。
  路由的話題早已在計算機界出現,但直到八十年代中期才獲得商業成功,這一時間延遲的主要原因是七十年代的網絡很簡單,後來大型的網絡才較爲普遍。
  一、路由器(Router):工作在OSI第三層(網絡層)上、肯有連接不同類型網絡的能力並能夠選擇數據傳送路徑的網絡設備。
  路由器有三個特徵:工作在網絡層上、能夠連接不同類型的網絡、能夠選擇數據傳的路徑。
  1、路由器工作在第三層上,路由器是第三層網絡設備,這樣說大家可能都不理解,就先說一下集線器和交換機吧。 集線器工作在第一層(即物理層),它沒有智能處理能力,對它來說,數據只是電流而已,當一個端口的電流傳到集線器中時,它只是簡單地將電流傳送到其他端口,至於其他端口連接的計算機接收不接收這些數據,它就不管了。 交換機工作在第二層(即數據鏈路層),它要比集線器智能一些,對它來說,網絡上的數據就是MAC地址的集合,它能分辨出幀中的源MAC地址和目的MAC地址,因此可以在任意兩個端口間建立聯繫,但是交換機並不懂得IP地址,它只知道MAC地址。 路由器工作在第三層(即網絡層),它比交換機還要“聰明”一些,它能理解數據中的IP地址,如果它接收到一個數據包,就檢查其中的IP地址,如果目標地址是本地網絡的就不理會,如果是其他網絡的,就將數據包轉發出本地網絡。
  2、路由器能連接不同類型的網絡 我們常見的集線器和交換機一般都是用於連接以太網的,但是如果將兩種網絡類型連接起來,比如以太網與ATM網,集線器和交換機就派不上用場了。 路由器能夠連接不同類型的局域網和廣域網,如以太網、ATM網、FDDI網、令牌環網等。不同類型的網絡,其傳送的數據單元——幀(Frame)的格式和大小是不同的,就像公路運輸是汽車爲單位裝載貨物,而鐵路運輸是以車皮爲單位裝載貨物一樣,從汽車運輸改爲鐵路運輸,必須把貨物從汽車上放到火車車皮上,網絡中的數據也是如此,數據從一種類型的網絡傳輸至另一種類型的網絡,必須進行幀格式轉換。路由器就有這種能力,而交換機和集線器就沒有。 實際上,我們所說的“互聯網”,就是由各種路由器連接起來的,因爲互聯網上存在各種不同類型的網絡,集線器和交換機根本不能勝任這個任務,所以必須由路由器來擔當這個角色。
  3、路由器具有路徑選擇能力 在互聯網中,從一個節點到另一個節點,可能有許多路徑,路由器可以選擇通暢快捷的近路,會大大提高通信速度,減輕網絡系統通信負荷,節約網絡系統資源,這是集線器和二層交換機所根本不具備的性能。
  路由器的種類:
  1、接入路由器 接入路由器是指將局域網用戶接入到廣域網中的路由器設備,我們局域網用戶接觸最多的就是接入路由器了。只要有互聯網的地方,就會有路由器。如果你通過局域網共享線路上網,就一定會使用路由器。 有的讀者會心生疑問:我是通過代理服務器上網的,不用路由器不也能接入互聯網嗎?其實代理服務器也是一種路由器,一臺計算機加上網卡,再加上ISDN(或Modem或ADSL),再安裝上代理服務器軟件,事實上就已經構成了路由器,只不過代理服務器是用軟件實現路由功能,而路由器是用硬件實現路由功能,就像VCD軟解壓軟件和VCD機的關係一樣,結構不同,但是功能卻是相同的。
  2、企業級路由器 企業級的路由器是用於連接大型企業內成千上萬的計算機,普通的局域網用戶就接觸不到了。與接入路由器相比,企業級路由器支持的網絡協議多、速度快,要處理各種局域網類型,支持多種協議,包括IP、IPX和Vine,還要支持防火牆、包過濾以及大量的管理和安全策略以及VLAN(虛擬局域網)。
  3、骨幹級路由器 只有工作在電信等少數部門的技術人員,才能接觸到骨幹級路由器。互聯網目前由幾十個骨幹網構成,每個骨幹網服務幾千個小網絡,骨幹級路由器實現企業級網絡的互聯。對它的要求是速度和可靠性,而價格則處於次要地位。硬件可靠性可以採用電話交換網中使用的技術,如熱備份、雙電源、雙數據通路等來獲得。這些技術對所有骨幹路由器來說是必須的。 骨幹網上的路由器終端系統通常是不能直接訪問的,它們連接長距離骨幹網上的ISP和企業網絡。互聯網的快速發展給骨幹網、企業網和接入網都帶來了小的挑戰。"

路由的工作原理與算法

  二、路由的組成
  路由包含兩個基本的動作:確定最佳路徑和通過網絡傳輸信息。在路由的過程中,後者也稱爲(數據)交換。交換相對來說比較簡單,而選擇路徑很複雜。
  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的消息
  動態路由是網絡中的路由器之間根據實時網絡拓撲變化,相互通信傳遞路由信息,利用收到的路由信
  息通過路由選擇協議計算,更新路由表的過程
  動態路由減少了管理任務
  常見的動態路由包括距離矢量路由選擇協議和鏈路狀態路由選擇協議
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章