http://blog.csdn.net/chenhanzhun/article/details/415160972014 概述在互聯(lián)網(wǎng)中,,網(wǎng)絡(luò)結(jié)構(gòu)是相當(dāng)復(fù)雜的(存在復(fù)雜的局域網(wǎng)或廣域網(wǎng)),,若想要將數(shù)據(jù)包從一個主機成功發(fā)送到目的主機,則需要合理的路由將數(shù)據(jù)轉(zhuǎn)發(fā)最終發(fā)送到目的主機,。而要使路由能夠正確的工作,,需要路由控制模塊和相關(guān)的路由協(xié)議來支持路由的工作。 路由控制互聯(lián)網(wǎng)是由路由器連接的網(wǎng)絡(luò)組合而成,,為了能讓數(shù)據(jù)包正確到達目的主機,,路由器必須能夠正確的轉(zhuǎn)發(fā)數(shù)據(jù)包,對數(shù)據(jù)包的轉(zhuǎn)發(fā)處理需要路由控制來進行,。路由器根據(jù)路由控制表來轉(zhuǎn)發(fā)數(shù)據(jù)包,,它根據(jù)接收到數(shù)據(jù)包中目主機的 IP 地址與路由控制表比較得出下一個應(yīng)該接收數(shù)據(jù)包的路由器。因此,,路由控制表應(yīng)該正確記錄信息,。 路由控制可分為:靜態(tài)路由和動態(tài)路由,;靜態(tài)路由是指由管理員事先手動設(shè)置好路由器和主機中并將路由信息固定的一種方法;動態(tài)路由是指讓路由協(xié)議在運行過程中自動設(shè)置路由控制信息的一種方法,; 路由算法最基本的算法是距離向量算法和鏈路狀態(tài)算法:
距離路由算法中每個路由器的信息都不同,,通往每個網(wǎng)絡(luò)所耗的距離也根據(jù)路由器的不同而不同,。因此,該算法的一個缺點是不能判斷路由器上的信息是否正確,。 鏈路狀態(tài)算法所以路由器所持的信息都相同,,對任何一臺路由器,網(wǎng)絡(luò)拓撲都一樣,。因此,,只要某一臺路由器與其他路由器保持的同樣的路由控制信息,則該路由器上的信息就是正確的,。只要每個路由器盡快的與其他路由器保持同步的路由信息,,就可以使路由信息到達一個穩(wěn)定的狀態(tài)。因此,,即使網(wǎng)路結(jié)構(gòu)再復(fù)雜,,每個路由器也能保持正確的路由信息、進行穩(wěn)定的路由選擇,。 路由協(xié)議路由協(xié)議大致可分為兩類:用于同一自治系統(tǒng)各路由器之間的內(nèi)部網(wǎng)關(guān)協(xié)議(Interior Gateway Protocol,,IGP)和用于不同自治系統(tǒng)內(nèi)部路由器通信的外部網(wǎng)關(guān)協(xié)議(Exterior Gateway Protocol,EGP),。 IP 地址分為網(wǎng)絡(luò)部分和主機部分,,他們有各自的分工。IGP 與 EPG 的關(guān)系類似 IP 地址的網(wǎng)絡(luò)部分和主機部分的關(guān)系,,就像根據(jù) IP 地址的網(wǎng)絡(luò)部分可以在網(wǎng)路之間進行路由選擇,、根據(jù) IP 地址主機部分在鏈路內(nèi)部進行主機識別一樣??梢愿鶕?jù) EGP 在區(qū)域網(wǎng)絡(luò)之間進行路由選擇,、根據(jù) IGP 在區(qū)域網(wǎng)絡(luò)內(nèi)部進行主機識別。 ---IGP 協(xié)議主要有:RIP(Routing Information Protocol,,路由信息協(xié)議),、RIP2和OSPF(Open Shortest Path First,開放式最短路徑優(yōu)先),; ---EGP 協(xié)議主要有:BGP(Border Gateway Protocol,,邊界網(wǎng)關(guān)協(xié)議),;
RIP 協(xié)議廣播路由控制信息: RIP 將路由信息定期(30 秒一次)向全網(wǎng)廣播,,沒有收到路由控制信息,,連接就會被斷開。沒收到路由控制信息有可能是丟棄 IP 數(shù)據(jù)報所引起,,因此 RIP 規(guī)定等待 5 次,,若在第 6 次仍未收到路由控制信息,則真正將連接關(guān)閉,。 RIP 協(xié)議是基于距離向量算法確定路徑,。距離的單位是“跳數(shù)”,跳數(shù)是指所經(jīng)過路由器的個數(shù),。RIP 希望盡可能少的經(jīng)過路由器將數(shù)據(jù)報發(fā)送到目的主機的 IP 地址,。 RIP 雖然不交換子網(wǎng)掩碼信息,但是可以用于使用子網(wǎng)掩碼的網(wǎng)絡(luò)環(huán)境,,但必須注意以下情況:
RIP 的基本行為可總結(jié)如下:
RIP2 協(xié)議RIP2 協(xié)議是 RIP 協(xié)議的第二版本,也就是其的改進版本,,改進信息如下:
OSPF 協(xié)議OSPF 協(xié)議克服了 RIP 協(xié)議的所有限制,與采用距離向量算法的 RIP 協(xié)議不同的是,,OSPF 協(xié)議采用的是鏈路狀態(tài)算法,。 OSPF 是鏈路狀態(tài)型路由器,,路由器之間交換鏈路狀態(tài)生成網(wǎng)絡(luò)拓撲信息,然后根據(jù)這個拓撲信息生成路由控制表,。 RIP 的路由選擇,,要求途中所經(jīng)過的路由器個數(shù)越少越好。而 OSPF 可以給每條鏈路賦予一個權(quán)重,,并且選擇一個權(quán)重最小的路徑作為最終的路由,。 RIP 中包的類型只有一種,它利用路由控制信息,,一邊確認網(wǎng)絡(luò)是否連接,,一邊傳送網(wǎng)絡(luò)信息。這種方式的確定是,,當(dāng)網(wǎng)絡(luò)的個數(shù)越多,,每次交換的路由控制信息就越大,而且當(dāng)網(wǎng)絡(luò)處于穩(wěn)定狀態(tài)時,,還要定期進行交換相同的路由控制信息,,這在一定程度上浪費了網(wǎng)絡(luò)帶寬。 OSPF 根據(jù)作用不同采用 5 包的類型,,如下表所示:
通過發(fā)送問候包確認是否連接,。每個路由器為了同步路由控制信息,利用數(shù)據(jù)庫描述包相互發(fā)送路由摘要信息和版本信息,。如果版本較老,,則首先發(fā)出一個鏈路狀態(tài)請求包請求路由控制信息,然后由路由鏈路狀態(tài)更新包接收路由控制信息,,最后通過鏈路狀態(tài)確認應(yīng)答包通知大家本地已接收到路由控制信息,。這樣可以減少網(wǎng)絡(luò)流量,加快更新速度,。
BGP 協(xié)議BGP 協(xié)議是一種不同自治系統(tǒng)內(nèi)部路由器通信的外部網(wǎng)關(guān)協(xié)議,。在 RIP 和 OSPF 中采用 IP 的網(wǎng)絡(luò)地址部分進行路由控制。而 BGP 的最終路由控制表由網(wǎng)絡(luò)地址和下一站的路由器組來表示,,不過它會根據(jù)所要經(jīng)過的 AS 個數(shù)進行路有個控制,。BGP 與 RIP 和 OSPF 不同的是采用 TCP 作為其傳輸層協(xié)議。兩個運行 BGP 的系統(tǒng)之間建立一條 TCP 連接,,然后交換整個 BGP 路由控制表,。BGP 是一個距離向量協(xié)議,但是與 RIP 不同的是,,BGP 列舉了到每個目的地址的路由,。
參考資料: 《TCP/IP 詳解》 《圖解 TCP/IP》 |
|