路由(routing)的定義是指分組從源到目的地時,決定端到端路徑的網絡範圍的進程。在OSI七層模型下,路由主要進行在第三次網絡層:經過尋址來創建兩個節點之間的鏈接,爲源端的運輸層送來的分組,選擇合適的路由和交換節點,正確無誤地按照地址傳送給目的端的運輸層。路由器根據路由指導的IP報文的路徑轉發信息,路由提供的路徑信息轉發數據包。算法
分類網絡
1. 靜態路由:管理員手工定義到一個目的地網絡或者幾個網絡的路由。ide
2. 動態路由:路由器根據路由選擇協議所定義的規則來交換路由信息,而且獨立地選擇最佳路徑。spa
3. 缺省路由:缺省路由是指當路由表中與包的目的地址之間無匹配的表項時路由器可以做出的選擇。orm
通常地,路由器查找路由的順序爲靜態路由,動態路由,若是以上路由表中都沒有合適的路由,則經過缺省路由將數據包傳輸出去,能夠綜合使用三種路由。blog
1.靜態路由進程
能夠在靜態路由表中指定路由,將路由器配置爲靜態路由。經過配置靜態路由,用戶能夠人爲地指定對某一網絡訪問時所要通過的路徑,在網絡結構比較簡單,且通常到達某一網絡所通過的路徑唯一的狀況下采用靜態路由。靜態路由不須要使用路由協議,但須要由路由器管理員手工更新路由表。因爲靜態路由一般不能對線路不通等路由變化做出反應。所以,一般只能在網絡路由相對簡單、網絡與網絡之間只能經過一條路徑路由的狀況下使用靜態路由。路由
以下圖:
it
IP爲192.168.1.1想把數據包傳輸到IP爲192.168.3.1的主機上,經必需要通過路由器由於不是在同一個網段上。以下圖,只要在兩個路由器上配置到達目標網段地址跟下一跳(也就是下一個要傳輸的IP地址),PC0跟PC1就能夠進行數據傳輸了。io
2.動態路由
由路由器按指定的協議格式在網上廣播和接收路由信息,經過路由器之間不斷交換的路由信息動態地更新和肯定路由表,並隨時向附近的路由器廣播,這種方式稱爲動態路由。動態路由器經過檢查其餘路由器的信息,並根據開銷、連接等狀況自動決定每一個包的路由途徑。動態路由方式僅須要手工配置第一條或最初的極少許路由線路,其餘的路由途徑則由路由器自動配置。動態路由因爲較具靈活性,使用配置簡單,成爲目前主要的路由類型。
動態路由機制的運做依賴路由器的兩個基本功能:路由器之間適時的路由信息交換,對路由表的維護:
路由器之間適時地交換路由信息。
動態路由之因此能根據網絡的狀況自動計算路由、選擇轉發路徑,是因爲當網絡發生變化時,路由器之間彼此交換的路由信息會告知對方網絡的這種變化,經過信息擴散使全部路由器都能得知網絡變化。
路由器根據某種路由算法(不一樣的動態路由協議算法不一樣)把收集到的路由信息加工成路由表,供路由器在轉發IP報文時查閱。
在網絡發生變化時,收集到最新的路由信息後,路由算法從新計算,從而能夠獲得最新的路由表。
路由器之間的路由信息交換在不一樣的路由協議中的過程和原則是不一樣的。交換路由信息的最終目的在於經過路由表找到一條轉發IP報文的「最佳」路徑。每一種路由算法都有其衡量「最佳」的一套原則,大可能是在綜合多個特性的基礎上進行計算,這些特性有:路徑所包含的路由器結點數(hop count)、網絡傳輸費用(cost)、帶寬(bandwidth)、延遲(delay)、負載(load)、可靠性(reliability)和最大傳輸單元MTU(maximum transmission unit)。
常見的動態路由協議有:RIP、OSPF、IS-IS、BGP、IGRP/EIGRP。每種路由協議的工做方式、選路原則等都有所不一樣。
3.缺省路由
要想使每臺路由器對到每一個可能目的地的路由都進行維護是不可行的,因此路由器能夠保存一條缺省路由,或者叫最後的可用路由。當路由器不能用路由表中的一個更具體條目來匹配一個目的網絡時,它就將使用缺省路由,即「最後的可用路由」。實際上,路由器用缺省路由來將數據包轉發給另外一臺路由器,這臺新的路由器必需要麼有一條到目的地的路由,要麼有它本身的到另外一臺路由器的缺省路由,這臺新的路由器依次也必需要麼有具體路由,要麼有另外一條缺省路由。依此類推。最後數據包應該被轉發到真正有一條到目的地網絡的路由器上。沒有缺省路由,目的地址在路由表中無匹配表項的包將被丟棄。
缺省路由能夠儘量地將路由表的大小保持的很小,它們使路由器可以轉發目的地爲任何Internet主機的數據包而沒必要爲每一個Internet網絡都維護一個路由表條目。