|
|
電信博物館 > 計算機(jī)網(wǎng)絡(luò) > 因特網(wǎng)的游戲規(guī)則
> IP協(xié)議――天地本寬
路由選擇指迷津
路由協(xié)議作為TCP/IP協(xié)議族中重要成員之一,其選路過程實現(xiàn)的好壞會影響整個Internet網(wǎng)絡(luò)的效率。按應(yīng)用范圍的不同,路由協(xié)議可分為兩類:在一個AS(Autonomous System,自治系統(tǒng),指一個互連網(wǎng)絡(luò),就是把整個Internet劃分為許多較小的網(wǎng)絡(luò)單位,這些小的網(wǎng)絡(luò)有權(quán)自主地決定在本系統(tǒng)中應(yīng)采用何種路由選擇協(xié)議)內(nèi)的路由協(xié)議稱為內(nèi)部網(wǎng)關(guān)協(xié)議(interior gateway protocol),AS之間的路由協(xié)議稱為外部網(wǎng)關(guān)協(xié)議(exterior gateway protocol)。這里網(wǎng)關(guān)是路由器的舊稱,F(xiàn)在正在使用的內(nèi)部網(wǎng)關(guān)路由協(xié)議有以下幾種:RIP-1,RIP-2,IGRP,EIGRP,IS-IS和OSPF。其中前4種路由協(xié)議采用的是距離向量算法,IS-IS和OSPF采用的是鏈路狀態(tài)算法。對于小型網(wǎng)絡(luò),采用基于距離向量算法的路由協(xié)議易于配置和管理,且應(yīng)用較為廣泛,但在面對大型網(wǎng)絡(luò)時,不但其固有的環(huán)路問題變得更難解決,所占用的帶寬也迅速增長,以至于網(wǎng)絡(luò)無法承受。因此對于大型網(wǎng)絡(luò),采用鏈路狀態(tài)算法的IS-IS和OSPF較為有效,并且得到了廣泛的應(yīng)用。IS-IS與OSPF在質(zhì)量和性能上的差別并不大,但OSPF更適用于IP,較IS-IS更具有活力。IETF始終在致力于OSPF的改進(jìn)工作,其修改節(jié)奏要比IS-IS快得多。這使得OSPF正在成為應(yīng)用廣泛的一種路由協(xié)議,F(xiàn)在,不論是傳統(tǒng)的路由器設(shè)計,還是即將成為標(biāo)準(zhǔn)的MPLS(多協(xié)議標(biāo)記交換),均將OSPF視為必不可少的路由協(xié)議。
外部網(wǎng)關(guān)協(xié)議最初采用的是EGP。EGP是為一個簡單的樹形拓?fù)浣Y(jié)構(gòu)設(shè)計的,隨著越來越多的用戶和網(wǎng)絡(luò)加入Internet,給EGP帶來了很多的局限性。為了擺脫EGP的局限性,IETF邊界網(wǎng)關(guān)協(xié)議工作組制定了標(biāo)準(zhǔn)的邊界網(wǎng)關(guān)協(xié)議--BGP。
下面對使用廣泛且很有活力的RIP,OSPF和BGP進(jìn)行介紹。
一、RIP協(xié)議
RIP是路由信息協(xié)議(Routing Information Protocol)的縮寫,采用距離向量算法,是當(dāng)今應(yīng)用最為廣泛的內(nèi)部網(wǎng)關(guān)協(xié)議。在默認(rèn)情況下,RIP使用一種非常簡單的度量制度:距離就是通往目的站點所需經(jīng)過的鏈路數(shù),取值為1~15,數(shù)值16表示無窮大。RIP進(jìn)程使用UDP的520端口來發(fā)送和接收RIP分組。RIP分組每隔30s以廣播的形式發(fā)送一次,為了防止出現(xiàn)“廣播風(fēng)暴”,其后續(xù)的的分組將做隨機(jī)延時后發(fā)送。在RIP中,如果一個路由在180s內(nèi)未被刷,則相應(yīng)的距離就被設(shè)定成無窮大,并從路由表中刪除該表項。RIP分組分為兩種:請求分組和相應(yīng)分組。
RIP-1被提出較早,其中有許多缺陷。為了改善RIP-1的不足,在RFC1388中提出了改進(jìn)的RIP-2,并在RFC 1723和RFC 2453中進(jìn)行了修訂。RIP-2定義了一套有效的改進(jìn)方案,新的RIP-2支持子網(wǎng)路由選擇,支持CIDR,支持組播,并提供了驗證機(jī)制。
隨著OSPF和IS-IS的出現(xiàn),許多人認(rèn)為RIP已經(jīng)過時了。但事實上RIP也有它自己的優(yōu)點。對于小型網(wǎng)絡(luò),RIP就所占帶寬而言開銷小,易于配置、管理和實現(xiàn),并且RIP還在大量使用中。但RIP也有明顯的不足,即當(dāng)有多個網(wǎng)絡(luò)時會出現(xiàn)環(huán)路問題。為了解決環(huán)路問題,IETF提出了分割范圍方法,即路由器不可以通過它得知路由的接口去宣告路由。分割范圍解決了兩個路由器之間的路由環(huán)路問題,但不能防止3個或多個路由器形成路由環(huán)路。觸發(fā)更新是解決環(huán)路問題的另一方法,它要求路由器在鏈路發(fā)生變化時立即傳輸它的路由表。這加速了網(wǎng)絡(luò)的聚合,但容易產(chǎn)生廣播泛濫?傊,環(huán)路問題的解決需要消耗一定的時間和帶寬。若采用RIP協(xié)議,其網(wǎng)絡(luò)內(nèi)部所經(jīng)過的鏈路數(shù)不能超過15,這使得RIP協(xié)議不適于大型網(wǎng)絡(luò)。
二、OSPF協(xié)議
為了解決RIP協(xié)議的缺陷,1988年RFC成立了OSPF工作組,開始著手于OSPF的研究與制定,并于1998年4月在RFC 2328中OSPF協(xié)議第二版(OSPFv2)以標(biāo)準(zhǔn)形式出現(xiàn)。OSPF全稱為開放式最短路徑優(yōu)先協(xié)議(Open Shortest-Path First),OSPF中的O意味著OSPF標(biāo)準(zhǔn)是對公共開放的,而不是封閉的專有路由方案。OSPF采用鏈路狀態(tài)協(xié)議算法,每個路由器維護(hù)一個相同的鏈路狀態(tài)數(shù)據(jù)庫,保存整個AS的拓?fù)浣Y(jié)構(gòu)(AS不劃分情況下)。一旦每個路由器有了完整的鏈路狀態(tài)數(shù)據(jù)庫,該路由器就可以自己為根,構(gòu)造最短路徑樹,然后再根據(jù)最短路徑構(gòu)造路由表。對于大型的網(wǎng)絡(luò),為了進(jìn)一步減少路由協(xié)議通信流量,利于管理和計算,OSPF將整個AS劃分為若干個區(qū)域,區(qū)域內(nèi)的路由器維護(hù)一個相同的鏈路狀態(tài)數(shù)據(jù)庫,保存該區(qū)域的拓?fù)浣Y(jié)構(gòu)。OSPF路由器相互間交換信息,但交換的信息不是路由,而是鏈路狀態(tài)。OSPF定義了5種分組:Hello分組用于建立和維護(hù)連接;數(shù)據(jù)庫描述分組初始化路由器的網(wǎng)絡(luò)拓?fù)鋽?shù)據(jù)庫;當(dāng)發(fā)現(xiàn)數(shù)據(jù)庫中的某部分信息已經(jīng)過時后,路由器發(fā)送鏈路狀態(tài)請求分組,請求鄰站提供更新信息;路由器使用鏈路狀態(tài)更新分組來主動擴(kuò)散自己的鏈路狀態(tài)數(shù)據(jù)庫或?qū)︽溌窢顟B(tài)請求分組進(jìn)行響應(yīng);由于OSPF直接運行在IP層,協(xié)議本身要提供確認(rèn)機(jī)制,鏈路狀態(tài)應(yīng)答分組是對鏈路狀態(tài)更新分組進(jìn)行確認(rèn)。
相對于其它協(xié)議,OSPF有許多優(yōu)點。OSPF支持各種不同鑒別機(jī)制(如簡單口令驗證,MD5加密驗證等),并且允許各個系統(tǒng)或區(qū)域采用互不相同的鑒別機(jī)制;提供負(fù)載均衡功能,如果計算出到某個目的站有若干條費用相同的路由,OSPF路由器會把通信流量均勻地分配給這幾條路由,沿這幾條路由把該分組發(fā)送出去;在一個自治系統(tǒng)內(nèi)可劃分出若干個區(qū)域,每個區(qū)域根據(jù)自己的拓?fù)浣Y(jié)構(gòu)計算最短路徑,這減少了OSPF路由實現(xiàn)的工作量;OSPF屬動態(tài)的自適應(yīng)協(xié)議,對于網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)變化可以迅速地做出反應(yīng),進(jìn)行相應(yīng)調(diào)整,提供短的收斂期,使路由表盡快穩(wěn)定化,并且與其它路由協(xié)議相比,OSPF在對網(wǎng)絡(luò)拓?fù)渥兓奶幚磉^程中僅需要最少的通信流量;OSPF提供點到多點接口,支持CIDR(無類型域間路由)地址。
OSPF的不足之處就是協(xié)議本身龐大復(fù)雜,實現(xiàn)起來較RIP困難。
三、BGP協(xié)議
RFC1771對BGP的最新版本BGP-4進(jìn)行了詳盡的介紹。BGP用來在AS之間實現(xiàn)網(wǎng)絡(luò)可達(dá)信息的交換,整個交換過程要求建立在可靠的傳輸連接基礎(chǔ)上來實現(xiàn)。這樣做有許多優(yōu)點,BGP可以將所有的差錯控制功能交給傳輸協(xié)議來處理,而其本身就變得簡單多了。BGP使用TCP作為其傳輸協(xié)議,缺省端口號為179。與EGP相比,BGP有許多不同之處,其最重要的革新就是其采用路徑向量的概念和對CIDR技術(shù)的支持。路徑向量中記錄了路由所經(jīng)路徑上所有AS的列表,這樣可以有效地檢測并避免復(fù)雜拓?fù)浣Y(jié)構(gòu)中可能出現(xiàn)的環(huán)路問題;對CIDR的支持,減少了路由表項,從而加快了選路速度,也減少了路由器間所要交換的路由信息。另外,BGP一旦與其他BGP路由器建立對等關(guān)系,其僅在最初的初始化過程中交換整個路由表,此后只有當(dāng)自身路由表發(fā)生改變時,BGP才會產(chǎn)生更新報文發(fā)送給其它路由器,且該報文中僅包含那些發(fā)生改變的路由,這樣不但減少了路由器的計算量,而且節(jié)省了BGP所占帶寬。
BGP有4種分組類型:打開分組用來建立連接;更新分組用來通告可達(dá)路由和撤銷無效路由;周期性地發(fā)送存活分組,以確保連接的有效性;當(dāng)檢測到一個差錯時,發(fā)送通告分組。
[上一頁] [下一頁]
|
|
|