路由算法區(qū)分管理距離和最大跳數(shù)具體原理
路由器(Router),是連接因特網(wǎng)中各局域網(wǎng)、廣域網(wǎng)的設(shè)備,它會根據(jù)信道的情況自動選擇和設(shè)定路由,以最佳路徑,按前后順序發(fā)送信號。管理距離就是人為指定的一個數(shù)字,由這個數(shù)字來代表路由協(xié)議的優(yōu)先度,數(shù)字越小越優(yōu)先采用這個路由協(xié)議通告的路由。本文主要內(nèi)容是利用路由算法區(qū)分管理距離和最大跳數(shù)
方法步驟
管理距離就是人為指定的一個數(shù)字,由這個數(shù)字來代表路由協(xié)議的優(yōu)先度,數(shù)字越小越優(yōu)先采用這個路由協(xié)議通告的路由。比如靜態(tài)路由的默認(rèn)的管理距離是0,rip是120,如果到達(dá)某個網(wǎng)段的路由通告由這兩個同時(shí)通告,則會采用靜態(tài)路由通告的路徑。
最大跳數(shù)主要是針對的距離矢量的路由協(xié)議來說的,是說的這樣的路由協(xié)議能把一個路由通告?zhèn)魉瓦^最多多少個路由器。比如說rip的最大跳數(shù)是15,則有rip協(xié)議傳輸通告的某個路由只可以通過15次路由器(重復(fù)通過也算做一次) ,如果第16次到達(dá)某個路由器,則這個路由器會認(rèn)為這個傳送過來的路由是不可到達(dá)的。
路由分為靜態(tài)路由和動態(tài)路由,其相應(yīng)的路由表稱為靜態(tài)路由表和動態(tài)路由表。靜態(tài)路由表由網(wǎng)絡(luò)管理員在系統(tǒng)安裝時(shí)根據(jù)網(wǎng)絡(luò)的配置情況預(yù)先設(shè)定,網(wǎng)絡(luò)結(jié)構(gòu)發(fā)生變化后由網(wǎng)絡(luò)管理員手工修改路由表。動態(tài)路由隨網(wǎng)絡(luò)運(yùn)行情況的變化而變化,路由器根據(jù)路由協(xié)議提供的功能自動計(jì)算數(shù)據(jù)傳輸?shù)淖罴崖窂?,由此得到動態(tài)路由表。
根據(jù)路由算法,動態(tài)路由協(xié)議可分為距離向量路由協(xié)議(Distance Vector Routing Protocol)和鏈路狀態(tài)路由協(xié)議(Link State Routing Protocol)。距離向量路由協(xié)議基于Bellman-Ford算法,主要有RIP、IGRP(IGRP為Cisco公司的私有協(xié)議);鏈路狀態(tài)路由協(xié)議基于圖論中非常著名的Dijkstra算法,即最短優(yōu)先路徑(Shortest Path First,SPF)算法,如OSPF。在距離向量路由協(xié)議中,路由器將部分或全部的路由表傳遞給與其相鄰的路由器;而在鏈路狀態(tài)路由協(xié)議中,路由器將鏈路狀態(tài)信息傳遞給在同一區(qū)域內(nèi)的所有路由器。根據(jù)路由器在自治系統(tǒng)(AS)中的位置,可將路由協(xié)議分為內(nèi)部網(wǎng)關(guān)協(xié)議(Interior Gateway Protocol,IGP)和外部網(wǎng)關(guān)協(xié)議(External Gateway Protocol,EGP,也叫域間路由協(xié)議)。域間路由協(xié)議有兩種:外部網(wǎng)關(guān)協(xié)議(EGP)和邊界網(wǎng)關(guān)協(xié)議(BGP)。EGP是為一個簡單的樹型拓?fù)浣Y(jié)構(gòu)而設(shè)計(jì)的,在處理選路循環(huán)和設(shè)置選路策略時(shí),具有明顯的缺點(diǎn),目前已被BGP代替。
EIGRP是Cisco公司的私有協(xié)議,是一種混合協(xié)議,它既有距離向量路由協(xié)議的特點(diǎn),同時(shí)又繼承了鏈路狀態(tài)路由協(xié)議的優(yōu)點(diǎn)。各種路由協(xié)議各有特點(diǎn),適合不同類型的網(wǎng)絡(luò)。下面分別加以闡述。
一、靜態(tài)路由
靜態(tài)路由表在開始選擇路由之前就被網(wǎng)絡(luò)管理員建立,并且只能由網(wǎng)絡(luò)管理員更改,所以只適于網(wǎng)絡(luò)傳輸狀態(tài)比較簡單的環(huán)境。靜態(tài)路由具有以下特點(diǎn):
· 靜態(tài)路由無需進(jìn)行路由交換,因此節(jié)省網(wǎng)絡(luò)的帶寬、CPU的利用率和路由器的內(nèi)存。
· 靜態(tài)路由具有更高的安全性。在使用靜態(tài)路由的網(wǎng)絡(luò)中,所有要連到網(wǎng)絡(luò)上的路由器都需在鄰接路由器上設(shè)置其相應(yīng)的路由。因此,在某種程度上提高了網(wǎng)絡(luò)的安全性。
· 有的情況下必須使用靜態(tài)路由,如DDR、使用NAT技術(shù)的網(wǎng)絡(luò)環(huán)境。
靜態(tài)路由具有以下缺點(diǎn):
· 管理者必須真正理解網(wǎng)絡(luò)的拓?fù)洳⒄_配置路由。
· 網(wǎng)絡(luò)的擴(kuò)展性能差。如果要在網(wǎng)絡(luò)上增加一個網(wǎng)絡(luò),管理者必須在所有路由器上加一條路由。
· 配置煩瑣,特別是當(dāng)需要跨越幾臺路由器通信時(shí),其路由配置更為復(fù)雜。
二、動態(tài)路由
動態(tài)路由協(xié)議分為距離向量路由協(xié)議和鏈路狀態(tài)路由協(xié)議,兩種協(xié)議各有特點(diǎn),分述如下。
1. 距離向量(DV)協(xié)議
距離向量指協(xié)議使用跳數(shù)或向量來確定從一個設(shè)備到另一個設(shè)備的距離。不考慮每跳鏈路的速率。
距離向量路由協(xié)議不使用正常的鄰居關(guān)系,用兩種方法獲知拓?fù)涞母淖兒吐酚傻某瑫r(shí):
· 當(dāng)路由器不能直接從連接的路由器收到路由更新時(shí);
· 當(dāng)路由器從鄰居收到一個更新,通知它網(wǎng)絡(luò)的某個地方拓?fù)浒l(fā)生了變化。
在小型網(wǎng)絡(luò)中(少于100個路由器,或需要更少的路由更新和計(jì)算環(huán)境),距離向量路由協(xié)議運(yùn)行得相當(dāng)好。當(dāng)小型網(wǎng)絡(luò)擴(kuò)展到大型網(wǎng)絡(luò)時(shí),該算法計(jì)算新路由的收斂速度極慢,而且在它計(jì)算的過程中,網(wǎng)絡(luò)處于一種過渡狀態(tài),極可能發(fā)生循環(huán)并造成暫時(shí)的擁塞。再者,當(dāng)網(wǎng)絡(luò)底層鏈路技術(shù)多種多樣,帶寬各不相同時(shí),距離向量算法對此視而不見。
距離向量路由協(xié)議的這種特性不僅造成了網(wǎng)絡(luò)收斂的延時(shí),而且消耗了帶寬。隨著路由表的增大,需要消耗更多的CPU資源,并消耗了內(nèi)存。
2. 鏈路狀態(tài)(LS)路由協(xié)議
鏈路狀態(tài)路由協(xié)議沒有跳數(shù)的限制,使用“圖形理論”算法或最短路徑優(yōu)先算法。
鏈路狀態(tài)路由協(xié)議有更短的收斂時(shí)間、支持VLSM(可變長子網(wǎng)掩碼)和CIDR。
鏈路狀態(tài)路由協(xié)議在直接相連的路由之間維護(hù)正常的鄰居關(guān)系。這允許路由更快收斂。鏈路狀態(tài)路由協(xié)議在會話期間通過交換Hello包(也叫鏈路狀態(tài)信息)創(chuàng)建對等關(guān)系,這種關(guān)系加速了路由的收斂。
不像距離向量路由協(xié)議那樣,更新時(shí)發(fā)送整個路由表。鏈路狀態(tài)路由協(xié)議只廣播更新的或改變的網(wǎng)絡(luò)拓?fù)?,這使得更新信息更小,節(jié)省了帶寬和CPU利用率。另外,如果網(wǎng)絡(luò)不發(fā)生變化,更新包只在特定的時(shí)間內(nèi)發(fā)出(通常為30min到2h)。
3.常用動態(tài)路由協(xié)議的分析
RIP
RIP(路由信息協(xié)議)是路由器生產(chǎn)商之間使用的第一個開放標(biāo)準(zhǔn),是最廣泛的路由協(xié)議,在所有IP路由平臺上都可以得到。當(dāng)使用RIP時(shí),一臺Cisco路由器可以與其他廠商的路由器連接。RIP有兩個版本:RIPv1和RIPv2,它們均基于經(jīng)典的距離向量路由算法,最大跳數(shù)為15跳。
RIPv1是族類路由(Classful Routing)協(xié)議,因路由上不包括掩碼信息,所以網(wǎng)絡(luò)上的所有設(shè)備必須使用相同的子網(wǎng)掩碼,不支持VLSM。RIPv2可發(fā)送子網(wǎng)掩碼信息,是非族類路由(Classless Routing)協(xié)議,支持VLSM。
RIP使用UDP數(shù)據(jù)包更新路由信息。路由器每隔30s更新一次路由信息,如果在180s內(nèi)沒有收到相鄰路由器的回應(yīng),則認(rèn)為去往該路由器的路由不可用,該路由器不可到達(dá)。如果在240s后仍未收到該路由器的應(yīng)答,則把有關(guān)該路由器的路由信息從路由表中刪除。
RIP具有以下特點(diǎn):
· 不同廠商的路由器可以通過RIP互聯(lián);
· 配置簡單; · 適用于小型網(wǎng)絡(luò)(小于15跳);
· RIPv1不支持VLSM;
· 需消耗廣域網(wǎng)帶寬;
· 需消耗CPU、內(nèi)存資源。
RIP的算法簡單,但在路徑較多時(shí)收斂速度慢,廣播路由信息時(shí)占用的帶寬資源較多,它適用于網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)相對簡單且數(shù)據(jù)鏈路故障率極低的小型網(wǎng)絡(luò)中,在大型網(wǎng)絡(luò)中,一般不使用RIP。
IGRP
內(nèi)部網(wǎng)關(guān)路由協(xié)議(Interior Gateway Routing Protocol,IGRP)是Cisco公司20世紀(jì)80年代開發(fā)的,是一種動態(tài)的、長跨度(最大可支持255跳)的路由協(xié)議,使用度量(向量)來確定到達(dá)一個網(wǎng)絡(luò)的最佳路由,由延時(shí)、帶寬、可靠性和負(fù)載等來計(jì)算最優(yōu)路由,它在同個自治系統(tǒng)內(nèi)具有高跨度,適合復(fù)雜的網(wǎng)絡(luò)。Cisco IOS允許路由器管理員對IGRP的網(wǎng)絡(luò)帶寬、延時(shí)、可靠性和負(fù)載進(jìn)行權(quán)重設(shè)置,以影響度量的計(jì)算。
像RIP一樣,IGRP使用UDP發(fā)送路由表項(xiàng)。每個路由器每隔90s更新一次路由信息,如果270s內(nèi)沒有收到某路由器的回應(yīng),則認(rèn)為該路由器不可到達(dá);如果630s內(nèi)仍未收到應(yīng)答,則IGRP進(jìn)程將從路由表中刪除該路由。
與RIP相比,IGRP的收斂時(shí)間更長,但傳輸路由信息所需的帶寬減少,此外,IGRP的分組格式中無空白字節(jié),從而提高了IGRP的報(bào)文效率。但I(xiàn)GRP為Cisco公司專有,僅限于Cisco產(chǎn)品。
EIGRP
隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大和用戶需求的增長,原來的IGRP已顯得力不從心,于是,Cisco公司又開發(fā)了增強(qiáng)的IGRP,即EIGRP。EIGRP使用與IGRP相同的路由算法,但它集成了鏈路狀態(tài)路由協(xié)議和距離向量路由協(xié)議的長處,同時(shí)加入散播更新算法(DUAL)。
EIGRP具有如下特點(diǎn):
· 快速收斂。快速收斂是因?yàn)槭褂昧松⒉ジ滤惴?,通過在路由表中備份路由而實(shí)現(xiàn),也就是到達(dá)目的網(wǎng)絡(luò)的最小開銷和次最小開銷(也叫適宜后繼,feasible successor)路由都被保存在路由表中,當(dāng)最小開銷的路由不可用時(shí),快速切換到次最小開銷路由上,從而達(dá)到快速收斂的目的。
· 減少了帶寬的消耗。EIGRP不像RIP和IGRP那樣,每隔一段時(shí)間就交換一次路由信息,它僅當(dāng)某個目的網(wǎng)絡(luò)的路由狀態(tài)改變或路由的度量發(fā)生變化時(shí),才向鄰接的EIGRP路由器發(fā)送路由更新,因此,其更新路由所需的帶寬比RIP和EIGRP小得多——這種方式叫觸發(fā)式(triggered)。
· 增大網(wǎng)絡(luò)規(guī)模。對于RIP,其網(wǎng)絡(luò)最大只能是15跳(hop),而EIGRP最大可支持255跳(hop)。
· 減少路由器CPU的利用。路由更新僅被發(fā)送到需要知道狀態(tài)改變的鄰接路由器,由于使用了增量更新,EIGRP比IGRP使用更少的CPU。
· 支持可變長子網(wǎng)掩碼。
· IGRP和EIGRP可自動移植。IGRP路由可自動重新分發(fā)到EIGRP中,EIGRP也可將路由自動重新分發(fā)到IGRP中。如果愿意,也可以關(guān)掉路由的重分發(fā)。
· EIGRP支持三種可路由的協(xié)議(IP、IPX、AppleTalk)。
· 支持非等值路徑的負(fù)載均衡。
· 因EIGIP是Cisco公司開發(fā)的專用協(xié)議,因此,當(dāng)Cisco設(shè)備和其他廠商的設(shè)備互聯(lián)時(shí),不能使用EIGRP
OSPF
開放式最短路徑優(yōu)先(Open Shortest Path First,OSPF)協(xié)議是一種為IP網(wǎng)絡(luò)開發(fā)的內(nèi)部網(wǎng)關(guān)路由選擇協(xié)議,由IETF開發(fā)并推薦使用。OSPF協(xié)議由三個子協(xié)議組成:Hello協(xié)議、交換協(xié)議和擴(kuò)散協(xié)議。其中Hello協(xié)議負(fù)責(zé)檢查鏈路是否可用,并完成指定路由器及備份指定路由器;交換協(xié)議完成“主”、“從”路由器的指定并交換各自的路由數(shù)據(jù)庫信息;擴(kuò)散協(xié)議完成各路由器中路由數(shù)據(jù)庫的同步維護(hù)。
OSPF協(xié)議具有以下優(yōu)點(diǎn):
· OSPF能夠在自己的鏈路狀態(tài)數(shù)據(jù)庫內(nèi)表示整個網(wǎng)絡(luò),這極大地減少了收斂時(shí)間,并且支持大型異構(gòu)網(wǎng)絡(luò)的互聯(lián),提供了一個異構(gòu)網(wǎng)絡(luò)間通過同一種協(xié)議交換網(wǎng)絡(luò)信息的途徑,并且不容易出現(xiàn)錯誤的路由信息。 · OSPF支持通往相同目的的多重路徑。
· OSPF使用路由標(biāo)簽區(qū)分不同的外部路由。
· OSPF支持路由驗(yàn)證,只有互相通過路由驗(yàn)證的路由器之間才能交換路由信息;并且可以對不同的區(qū)域定義不同的驗(yàn)證方式,從而提高了網(wǎng)絡(luò)的安全性。
· OSPF支持費(fèi)用相同的多條鏈路上的負(fù)載均衡。
· OSPF是一個非族類路由協(xié)議,路由信息不受跳數(shù)的限制,減少了因分級路由帶來的子網(wǎng)分離問題。
· OSPF支持VLSM和非族類路由查表,有利于網(wǎng)絡(luò)地址的有效管理。
· OSPF使用AREA對網(wǎng)絡(luò)進(jìn)行分層,減少了協(xié)議對CPU處理時(shí)間和內(nèi)存的需求。
BGP
BGP用于連接Internet。BGPv4是一種外部的路由協(xié)議。可認(rèn)為是一種高級的距離向量路由協(xié)議。
在BGP網(wǎng)絡(luò)中,可以將一個網(wǎng)絡(luò)分成多個自治系統(tǒng)。自治系統(tǒng)間使用eBGP廣播路由,自治系統(tǒng)內(nèi)使用iBGP在自己的網(wǎng)絡(luò)內(nèi)廣播路由。
Internet由多個互相連接的商業(yè)網(wǎng)絡(luò)組成。每個企業(yè)網(wǎng)絡(luò)或ISP必須定義一個自治系統(tǒng)號(ASN)。這些自治系統(tǒng)號由IANA(Internet Assigned Numbers Authority)分配。共有65535個可用的自治系統(tǒng)號,其中65512~65535為私用保留。當(dāng)共享路由信息時(shí),這個號碼也允許以層的方式進(jìn)行維護(hù)。
BGP使用可靠的會話管理,TCP中的179端口用于觸發(fā)Update和Keepalive信息到它的鄰居,以傳播和更新BGP路由表。
在BGP網(wǎng)絡(luò)中,自治系統(tǒng)有:
1. Stub AS
只有一個入口和一個出口的網(wǎng)絡(luò)。
2. 轉(zhuǎn)接AS(Transit AS)
當(dāng)數(shù)據(jù)從一個AS到另一個AS時(shí),必須經(jīng)過Transit AS。
如果企業(yè)網(wǎng)絡(luò)有多個AS,則在企業(yè)網(wǎng)絡(luò)中可設(shè)置Transit AS。
IGP和BGP最大的不同之處在于運(yùn)行協(xié)議的設(shè)備之間通過的附加信息的總數(shù)不同。IGP使用的路由更新包比BGP使用的路由更新包更小(因此BGP承載更多的路由屬性)。BGP可在給定的路由上附上很多屬性。
當(dāng)運(yùn)行BGP的兩個路由器開始通信以交換動態(tài)路由信息時(shí),使用TCP端口179,他們依賴于面向連接的通信(會話)。
BGP必須依靠面向連接的TCP會話以提供連接狀態(tài)。因?yàn)锽GP不能使用Keepalive信息(但在普通頭上存放有Keepalive信息,以允許路由器校驗(yàn)會話是否Active)。標(biāo)準(zhǔn)的Keepalive是在電路上從一個路由器送往另一個路由器的信息,而不使用TCP會話。路由器使用電路上的這些信號來校驗(yàn)電路沒有錯誤或沒有發(fā)現(xiàn)電路。某些情況下,需要使用BGP:
· 當(dāng)你需要從一個AS發(fā)送流量到另一個AS時(shí);
· 當(dāng)流出網(wǎng)絡(luò)的數(shù)據(jù)流必須手工維護(hù)時(shí);
· 當(dāng)你連接兩個或多個ISP、NAP(網(wǎng)絡(luò)訪問點(diǎn))和交換點(diǎn)時(shí)。
以下三種情況不能使用BGP
· 如果你的路由器不支持BGP所需的大型路由表時(shí);
· 當(dāng)Internet只有一個連接時(shí),使用默認(rèn)路由;
· 當(dāng)你的網(wǎng)絡(luò)沒有足夠的帶寬來傳送所需的數(shù)據(jù)時(shí)(包括BGP路由表)。
相關(guān)閱讀:路由器安全特性關(guān)鍵點(diǎn)
由于路由器是網(wǎng)絡(luò)中比較關(guān)鍵的設(shè)備,針對網(wǎng)絡(luò)存在的各種安全隱患,路由器必須具有如下的安全特性:
(1)可靠性與線路安全 可靠性要求是針對故障恢復(fù)和負(fù)載能力而提出來的。對于路由器來說,可靠性主要體現(xiàn)在接口故障和網(wǎng)絡(luò)流量增大兩種情況下,為此,備份是路由器不可或缺的手段之一。當(dāng)主接口出現(xiàn)故障時(shí),備份接口自動投入工作,保證網(wǎng)絡(luò)的正常運(yùn)行。當(dāng)網(wǎng)絡(luò)流量增大時(shí),備份接口又可承當(dāng)負(fù)載分擔(dān)的任務(wù)。
(2)身份認(rèn)證路由器中的身份認(rèn)證主要包括訪問路由器時(shí)的身份認(rèn)證、對端路由器的身份認(rèn)證和路由信息的身份認(rèn)證。
(3)訪問控制對于路由器的訪問控制,需要進(jìn)行口令的分級保護(hù)。有基于IP地址的訪問控制和基于用戶的訪問控制。
(4)信息隱藏與對端通信時(shí),不一定需要用真實(shí)身份進(jìn)行通信。通過地址轉(zhuǎn)換,可以做到隱藏網(wǎng)內(nèi)地址,只以公共地址的方式訪問外部網(wǎng)絡(luò)。除了由內(nèi)部網(wǎng)絡(luò)首先發(fā)起的連接,網(wǎng)外用戶不能通過地址轉(zhuǎn)換直接訪問網(wǎng)內(nèi)資源。
(5)數(shù)據(jù)加密
為了避免因?yàn)閿?shù)據(jù)竊聽而造成的信息泄漏,有必要對所傳輸?shù)男畔⑦M(jìn)行加密,只有與之通信的對端才能對此密文進(jìn)行解密。通過對路由器所發(fā)送的報(bào)文進(jìn)行加密,即使在Internet上進(jìn)行傳輸,也能保證數(shù)據(jù)的私有性、完整性以及報(bào)文內(nèi)容的真實(shí)性。
(6)攻擊探測和防范
路由器作為一個內(nèi)部網(wǎng)絡(luò)對外的接口設(shè)備,是攻擊者進(jìn)入內(nèi)部網(wǎng)絡(luò)的第一個目標(biāo)。如果路由器不提供攻擊檢測和防范,則也是攻擊者進(jìn)入內(nèi)部網(wǎng)絡(luò)的一個橋梁。在路由器上提供攻擊檢測,可以防止一部分的攻擊。
(7)安全管理
內(nèi)部網(wǎng)絡(luò)與外部網(wǎng)絡(luò)之間的每一個數(shù)據(jù)報(bào)文都會通過路由器,在路由器上進(jìn)行報(bào)文的審計(jì)可以提供網(wǎng)絡(luò)運(yùn)行的必要信息,有助于分析網(wǎng)絡(luò)的運(yùn)行情況。
路由算法管理距離相關(guān)文章:
2.網(wǎng)絡(luò)管理員必學(xué)路由器知識