全面解析路由器介紹、工作方式及協議 中
路由原理
當IP子網中的一臺主機發送IP分組給同一IP子網的另一臺主機時,它將直接把IP分組送到網絡上,對方就能收到。而要送給不同IP于網上的主機時,它要選擇一個能到達目的子網上的路由器,把IP分組送給該路由器,由路由器負責把IP分組送到目的地。如果沒有找到這樣的路由器,主機就把IP分組送給一個稱為“缺省網關(default gateway)”的路由器上。“缺省網關”是每臺主機上的一個配置參數,它是接在同一個網絡上的某個路由器端口的IP地址。
路由器轉發IP分組時,只根據IP分組目的IP地址的網絡號部分,選擇合適的端口,把IP分組送出去。同主機一樣,路由器也要判定端口所接的是否是目的子網,如果是,就直接把分組通過端口送到網絡上,否則,也要選擇下一個路由器來傳送分組。路由器也有它的缺省網關,用來傳送不知道往哪兒送的IP分組。這樣,通過路由器把知道如何傳送的IP分組正確轉發出去,不知道的IP分組送給“缺省網關”路由器,這樣一級級地傳送,IP分組最終將送到目的地,送不到目的地的IP分組則被網絡丟棄了。
目前TCP/IP網絡,全部是通過路由器互連起來的,Internet就是成千上萬個IP子網通過路由器互連起來的國際性網絡。這種網絡稱為以路由器為基礎的網絡(router based network),形成了以路由器為節點的“網間網”。在“網間網”中,路由器不僅負責對IP分組的轉發,還要負責與別的路由器進行聯絡,共同確定“網間網”的路由選擇和維護路由表。
路由動作包括兩項基本內容:尋徑和轉發。尋徑即判定到達目的地的***路徑,由路由選擇算法來實現。由于涉及到不同的路由選擇協議和路由選擇算法,要相對復雜一些。為了判定***路徑,路由選擇算法必須啟動并維護包含路由信息的路由表,其中路由信息依賴于所用的路由選擇算法而不盡相同。
路由選擇算法將收集到的不同信息填入路由表中,根據路由表可將目的網絡與下一站(nexthop)的關系告訴路由器。路由器間互通信息進行路由更新,更新維護路由表使之正確反映網絡的拓撲變化,并由路由器根據量度來決定***路徑。這就是路由選擇協議(routing protocol),例如路由信息協議(RIP)、開放式最短路徑優先協議(OSPF)和邊界網關協議(BGP)等。
轉發即沿尋徑好的***路徑傳送信息分組。路由器首先在路由表中查找,判明是否知道如何將分組發送到下一個站點(路由器或主機),如果路由器不知道如何發送分組,通常將該分組丟棄;否則就根據路由表的相應表項將分組發送到下一個站點,如果目的網絡直接與路由器相連,路由器就把分組直接送到相應的端口上。這就是路由轉發協議(routed protocol)。
路由轉發協議和路由選擇協議是相互配合又相互獨立的概念,前者使用后者維護的路由表,同時后者要利用前者提供的功能來發布路由協議數據分組。下文中提到的路由協議,除非特別說明,都是指路由選擇協議,這也是普遍的習慣。
路由協議
典型的路由選擇方式有兩種:靜態路由和動態路由。
靜態路由是在路由器中設置的固定的路由表。除非網絡管理員干預,否則靜態路由不會發生變化。由于靜態路由不能對網絡的改變作出反映,一般用于網絡規模不大、拓撲結構固定的網絡中。靜態路由的優點是簡單、高效、可靠。在所有的路由中,靜態路由優先級***。當動態路由與靜態路由發生沖突時,以靜態路由為準。
動態路由是網絡中的路由器之間相互通信,傳遞路由信息,利用收到的路由信息更新路由器表的過程。它能實時地適應網絡結構的變化。如果路由更新信息表明發生了網絡變化,路由選擇軟件就會重新計算路由,并發出新的路由更新信息。這些信息通過各個網絡,引起各路由器重新啟動其路由算法,并更新各自的路由表以動態地反映網絡拓撲變化。動態路由適用于網絡規模大、網絡拓撲復雜的網絡。當然,各種動態路由協議會不同程度地占用網絡帶寬和CPU資源。
靜態路由和動態路由有各自的特點和適用范圍,因此在網絡中動態路由通常作為靜態路由的補充。當一個分組在路由器中進行尋徑時,路由器首先查找靜態路由,如果查到則根據相應的靜態路由轉發分組;否則再查找動態路由。
根據是否在一個自治域內部使用,動態路由協議分為內部網關協議(IGP)和外部網關協議(EGP)。這里的自治域指一個具有統一管理機構、統一路由策略的網絡。自治域內部采用的路由選擇協議稱為內部網關協議,常用的有RIP、OSPF;外部網關協議主要用于多個自治域之間的路由選擇,常用的是BGP和BGP-4。下面分別進行簡要介紹。
1,RIP路由協議
RIP協議最初是為Xerox網絡系統的Xerox parc通用協議而設計的,是Internet中常用的路由協議。RIP采用距離向量算法,即路由器根據距離選擇路由,所以也稱為距離向量協議。路由器收集所有可到達目的地的不同路徑,并且保存有關到達每個目的地的最少站點數的路徑信息,除到達目的地的***路徑外,任何其它信息均予以丟棄。同時路由器也把所收集的路由信息用RIP協議通知相鄰的其它路由器。這樣,正確的路由信息逐漸擴散到了全網。
RIP使用非常廣泛,它簡單、可靠,便于配置。但是RIP只適用于小型的同構網絡,因為它允許的***站點數為15,任何超過15個站點的目的地均被標記為不可達。而且RIP每隔30s一次的路由信息廣播也是造成網絡的廣播風暴的重要原因之一。
2,OSPF路由協議
80年代中期,RIP已不能適應大規模異構網絡的互連,0SPF隨之產生。它是網間工程任務組織(1ETF)的內部網關協議工作組為IP網絡而開發的一種路由協議。
0SPF是一種基于鏈路狀態的路由協議,需要每個路由器向其同一管理域的所有其它路由器發送鏈路狀態廣播信息。在OSPF的鏈路狀態廣播中包括所有接口信息、所有的量度和其它一些變量。利用0SPF的路由器首先必須收集有關的鏈路狀態信息,并根據一定的算法計算出到每個節點的最短路徑。而基于距離向量的路由協議僅向其鄰接路由器發送有關路由更新信息。
與RIP不同,OSPF將一個自治域再劃分為區,相應地即有兩種類型的路由選擇方式:當源和目的地在同一區時,采用區內路由選擇;當源和目的地在不同區時,則采用區間路由選擇。這就大大減少了網絡開銷,并增加了網絡的穩定性。當一個區內的路由器出了故障時并不影響自治域內其它區路由器的正常工作,這也給網絡的管理、維護帶來方便。
3,BGP和BGP-4路由協議
BGP是為TCP/IP互聯網設計的外部網關協議,用于多個自治域之間。它既不是基于純粹的鏈路狀態算法,也不是基于純粹的距離向量算法。它的主要功能是與其它自治域的BGP交換網絡可達信息。各個自治域可以運行不同的內部網關協議。BGP更新信息包括網絡號/自治域路徑的成對信息。自治域路徑包括到達某個特定網絡須經過的自治域串,這些更新信息通過TCP傳送出去,以保證傳輸的可靠性。
為了滿足Internet日益擴大的需要,BGP還在不斷地發展。在***的BGp4中,還可以將相似路由合并為一條路由。
4,路由表項的優先問題
在一個路由器中,可同時配置靜態路由和一種或多種動態路由。它們各自維護的路由表都提供給轉發程序,但這些路由表的表項間可能會發生沖突。這種沖突可通過配置各路由表的優先級來解決。通常靜態路由具有默認的***優先級,當其它路由表表項與它矛盾時,均按靜態路由轉發。
路由器的相關內容請大家閱讀:
【編輯推薦】
- 路由器的POS接入技術及解決方案
- 路由器日志信息記錄的配置方法 續
- 解答通過路由器在內網上設置rootkit
- 初學者必看:CISCO路由器教程講解
- 詳細講解路由器設置 讓安全陪伴左右
- 淺談路由器的基本功能和四個技術進展