要理解網絡領域的知識,你必須先理解網絡要解決的問題。在你真正理解路由協議在做什么之前,記住某些路由協議的設置選項對你不會有什么幫助。本次網絡講座旨在介紹路由領域的一些問題和概念。這是網絡領域最有趣和最重要的一部分內容。本篇講座將解釋路由協議要解決的問題,這樣,你就理解了路由協議的工作原理。
在我們詳細討論之前,先做一下說明。當你聽說人們提到“不可路由的地址”的時候,他們是在談論RFC 1918 IP地址,例如私有地址。雖然有這種容易引起誤導的標簽,但是,這些地址仍是可以路由的。你很可能有一些10.x.x.x網絡用于本地接入和管理。這些地址甚至可以同你真正的路由器混合在一起。將這些地址稱作“不可路由的地址”是因為互聯網路由器會拋棄這些地址。你應該在你的網絡邊界拋棄這些數據包。許多人對這一點都有些迷惑不解。
言歸正傳,路由實際上是找到數據包從一個地方傳輸到另一個地方的路經。要找到這個路徑,我們需要一些算法。算法需要很多分布式的路由器共同參預,使它們能夠一起共享信息。路由包含三個要素:
•路由協議。路由協議能夠允許收集和發布信息。
•路由算法。路由算法用來確定路徑。
•路由數據庫。路由數據庫用來存儲算法找到的信息。路由數據庫有時候對路由表入口做出反應,有時候沒有反應。
在我們以前介紹層的概念時實際上已經談到了一些關于路由的問題,當談論IP數據包通過不同的系統和路由器的路徑時我們已經接觸到了路由。不過,當時還沒有明確的提到路由的概念。
還記得我們以前以前論壇過的子網嗎?大多數路由器在為你的數據包查詢路徑的時候都是查找路由表中最短的前綴。如果存在一個“主機路由”,或者一個32位路由睛條目,路由器會優先選擇這個路由。在選擇默認的轉發路徑之前,任何更具體的路徑信息都被優先采用,例如到你所有特定子網的路由。
我們還需要理解一些有關路由的最基本的問題。就像在第二層一樣,路由器也需要冗余。冗余的路由器可能造成環路問題。每一個路由協議都要處理這個問題。由于我們將在今后的網絡講座中介紹具體的路由協議,因此,本期講座先不詳討論這個問題。
路由器的整個思路就是按照正確的方向把數據包傳遞過去,或者把數據包發送給更加智能化的路由器。如果你的網絡核心連接了一些分支網絡根路由器,這些分支網絡的根路由器相互之間并不了解。但是,這些路由器都知道可以通過網絡核心將數據包發送到任何一個節點,因此它們只是簡單地向這個通道發送數據包。我們把這種方式稱作“星狀拓撲”。這是一個默認的路由概念,雖然非常簡單。但是,這里需要注意的是:這是許多動態路由協議工作的方式。當然,路由器并不總是把數據包發送給默認路由。有時候,路由器會把數據轉發給與已知的與特定子網相連的路由器。問題是你對于這臺路由器后面的告訴你“我是某某網絡”的其它路由器一無所知。
上一段具體介紹了什么是路由?,F在,你讓數據包更接近它的目的地了。當然,你必須要知道各個目的地都有什么,這正是路由協議要告訴你的事情。你要注意,前面我們談到的是一個單個網絡的狀況。也可以稱為一個路由域。一個路由域是指在同一個管理員控制之下的一群路由器,所有這些路由器都運行同樣的路由協議。
當路由數據包的時候,我們有一些方案可以選擇。當你撥打電話的時候,電信公司立即為你的電話建立一個線路。這個路徑總是相同并且非??煽康?。而IP領域不是這樣,它能夠處理更多的通信。其代價就是你會遇到阻塞的情況,并且有時候不能訪問某些站點,而你的電話卻永遠不會因為阻塞而斷線。IP領域也可以通過一種名為松散源路由的機制基本上做到這一點。這個機制是這樣的:每一個端點的節點都知道它需要利用什么跳點來到達其目的地?;谠吹穆酚蓻]有可伸縮性并且帶來一些安全問題。因此,我們使用動態路由協議找出我們的路徑。請注意,每一個方向都可以使用一個不同的路徑。
路由協議可以按不同的標準分別分為兩種類型。按路由協議的作用范圍,我們可以把路由協議分為內部網關協議(IGP)和域間路由協議。路由信息協議(RIP)、開放式最短路徑優先(OSPF)和ISIS等是你可能聽說過的IGP。這些是處理域內部路由的一些路由協議。外部網關協議(EGP)是處理域之間的和企業之間的路由的協議。現在這個協議已經停止使用了。BGP(邊界網關協議)現在是一個標準的域之間的協議。
按另一種標準路由協議可以分為另外兩種類型:鏈路狀態協議或者距離向量協議。距離向量的方法是“告訴你的鄰居你所知道的整個網絡的狀況”。這就意味著你要向所有的鄰居廣播整個路由表。這個“向量”就是目的地。“距離”實際上就是一個計量單位,可以是跳數。鏈路狀態路由協議的方法“告訴外界有關你的鄰居的情況”。整體思路就是要搞清楚周圍有誰在線并向其它路由器廣播這個信息。鏈路狀態路由協議需要更大的運算量,但它為網絡中所有的路由器關于整個網絡的清晰全景圖。
大多數人喜歡鏈路狀態協議,因為這些協議的收斂性更佳。這就意味著所有的路由器能更快的同步信息。不過,鏈路狀態的計算過程需要花費較長的時間,而且這種計算在每次更新信息的時候都會發生,因此,鏈路狀態協議不適合在整個互聯網范圍內使用。在將來我們介紹OSPF協議時候將會看到鏈路狀態協議是為什么如此消耗CPU資源。我們下個星期將介紹第一個路由協議:RIP。
小結
路由器向其目的地發送數據包,一般是把數據包發送給更多地知道一些目的地拓撲結構的路由器。
路由是一種單向的問題。你的數據包采取不對稱的路徑是很常見的。
鏈路狀態路由協議:收斂速度快、消耗CPU。距離向量:收斂速度慢,CPU比較容易處理。
網絡基礎知識講座之五:學習生成樹協議
網絡基礎知識講座之四:理解數據鏈路層
網絡基礎知識講座之三:理解OSI網絡分層
網絡基礎知識講座之二:理解子網和CIDR
網絡基礎知識講座之一:理解IPv4地址的含義