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