1. 程式人生 > >路由方式,IP路由選擇過程

路由方式,IP路由選擇過程

一、路由及路由方式 

    路由這個術語用來說明將資料包從一臺設各通過網路發往另一臺處在不同網路上的裝置。路由器並不關心這些主機,它們只關心網路和通向每個網路的最佳路徑。路由器可以從相鄰的路由器或從管理員那裡認識遠端網路。之後,路由器需要建立一個描述如何尋找遠端網路的路由表(一張網路地圖)。如果網路是直接與路由器相連的,那麼路由器自然就知道如何達到這個網路。如果網路沒有直接與它相連,路由器必須通過學習來了解如何到達這個遠端網路。所採用的方法只有兩種:靜態路由方式,即必須由人來手動輸入所有網路位置到路由表中;和動態路由的方式在動態路由中,在一臺路由器上執行的協議將與相鄰路由器上執行的相同協議之間進行通訊。然後,這些路由器會更新各自對整個網路的認識並將這些資訊加入到路由表中去。如果在網路中有一個改變出現,動態路由協議將自動將這個改變通知給所有的路由器。如果使用的是靜態路由

,則管理員將負責通過手工方式在所有的路由器上更新所有的改變。動態路由與靜態路由沒有絕對的優劣之分,在一個大型網路中,同時使用動態和靜態路由是很典型的方式。

二、IP路由選擇過程

      IP的路由處理是一個相當簡單並沒有多少變化的過程,它與網路的大小無關。這個過程非常重要,以終端A通過一個路由器訪問外網的終端B為例,描述一下IP路由選擇過程:

因特網控制報文協議(lCMP)建立一個迴應請求資料包

——>> ICMP將此包轉交給IP 

——>>IP協議判斷目的IP地址是處在本地網路中,還是處在一個遠端網路上

——>> 這是一個遠端請求,這個資料包需要被傳送到預設閘道器

(這也就是為什麼要在終端上配置閘道器)

——>>根據ARP快取中的閘道器MAC地址,將資料進行幀(Frame)的封裝(此時資料已經從網路層到資料鏈路層)

——>> 幀到物理層位(Bit)的形式傳輸

——>>傳輸完成,校驗資料,並向上解包,直到網路層

——>>  在路由表中檢查其IP目的地址

——>> 此路由表中必須包含有目的地址網路,否則將丟棄資料,並返回"destination network unavailable"的ICMP資訊,並被髮送回原裝置

——>> 資料包被交換到輸出介面的快取區

——>>檢查ARP快取

是否有目的地址,如果沒有,則向目的主機發出ARP請求,取得地址

——>>根據閘道器MAC地址,將資料進行幀(Frame)的封裝 

——>> 幀到物理層位(Bit)的形式傳輸

——>> 傳輸完成,校驗資料,並向上解包,直到網路層

——>>  核對IP,正確後交付給ICMP,ICMP會丟棄這個資料包,產生一個新負荷來作為迴應應答

——>>建立應答,新增源方和目的方的地址、協議欄位和有效負荷,此時目的方裝置為主機A。然後就是經歷一個相反的過程,將應答返回終端A。

有一點需要提示一下,當資料包在返回源主機的途中被丟棄時,由於這是一個未知的錯誤,通常你將會看到“request timed out” 的資訊。如果出現的錯誤是一個已知的錯誤,如假設在去往目的設各的路途中路由表內沒有可用的路曲,你將會得到“destination unreachable” 的資訊。根據這些資訊,你可以判斷問題是發生在去往目的的路上,還是在返回的途中。在這裡要理解的關鍵問題是,即使對於一個非常大的網路,這個處理過程也將是同樣的。在一個較大的網際網路絡中,資料包在找到目的主機之前,需要通過更多的路由器。

    另外,硬體地址總是儲存在本地,它們決不會跨過路由器的介面。理解這個過程是至關重要的,所以要將它刻在你的記憶中! 例如:主機A將向主機B傳送出一個ARP請求,路由器將如何響應這個請求?由於MAC地址必須限定於本地網路內,路由器將用連線主機A介面的MAC地址響應這個請求,於是當主機A要傳送資料包時,會將所有的資料幀發往路由介面的MAC地址。