路由器原理及常用的路由協(xié)議、路由算法4
4 路由算法
路由算法在路由協(xié)議中起著至關(guān)重要的作用,采用何種算法往往決定了最終的尋徑結(jié)果,因此選擇路由算法一定要仔細(xì)。通常需要綜合考慮以下幾個(gè)設(shè)計(jì)目標(biāo):
——(1)最優(yōu)化:指路由算法選擇最佳路徑的能力。
——(2)簡潔性:算法設(shè)計(jì)簡潔,利用最少的軟件和開銷,提供最有效的功能。
——(3)堅(jiān)固性:路由算法處于非正常或不可預(yù)料的環(huán)境時(shí),如硬件故障、負(fù)載過高或操作失誤時(shí),都能正確運(yùn)行。由于路由器分布在網(wǎng)絡(luò)聯(lián)接點(diǎn)上,所以在它們出故障時(shí)會(huì)產(chǎn)生嚴(yán)重后果。最好的路由器算法通常能經(jīng)受時(shí)間的考驗(yàn),并在各種網(wǎng)絡(luò)環(huán)境下被證實(shí)是可靠的。
——(4)快速收斂:收斂是在最佳路徑的判斷上所有路由器達(dá)到一致的過程。當(dāng)某個(gè)網(wǎng)絡(luò)事件引起路由可用或不可用時(shí),路由器就發(fā)出更新信息。路由更新信息遍及整個(gè)網(wǎng)絡(luò),引發(fā)重新計(jì)算最佳路徑,最終達(dá)到所有路由器一致公認(rèn)的最佳路徑。收斂慢的路由算法會(huì)造成路徑循環(huán)或網(wǎng)絡(luò)中斷。
——(5)靈活性:路由算法可以快速、準(zhǔn)確地適應(yīng)各種網(wǎng)絡(luò)環(huán)境。例如,某個(gè)網(wǎng)段發(fā)生故障,路由算法要能很快發(fā)現(xiàn)故障,并為使用該網(wǎng)段的所有路由選擇另一條最佳路徑。
路由算法按照種類可分為以下幾種:靜態(tài)和動(dòng)態(tài)、單路和多路、平等和分級(jí)、源路由和透明路由、域內(nèi)和域間、鏈路狀態(tài)和距離向量。前面幾種的特點(diǎn)與字面意思基本一致,下面著重介紹鏈路狀態(tài)和距離向量算法。
鏈路狀態(tài)算法(也稱最短路徑算法)發(fā)送路由信息到互聯(lián)網(wǎng)上所有的結(jié)點(diǎn),然而對(duì)于每個(gè)路由器,僅發(fā)送它的路由表中描述了其自身鏈路狀態(tài)的那一部分。距離向量算法(也稱為Bellman-Ford算法)則要求每個(gè)路由器發(fā)送其路由表全部或部分信息,但僅發(fā)送到鄰近結(jié)點(diǎn)上。從本質(zhì)上來說,鏈路狀態(tài)算法將少量更新信息發(fā)送至網(wǎng)絡(luò)各處,而距離向量算法發(fā)送大量更新信息至鄰接路由器。
由于鏈路狀態(tài)算法收斂更快,因此它在一定程度上比距離向量算法更不易產(chǎn)生路由循環(huán)。但另一方面,鏈路狀態(tài)算法要求比距離向量算法有更強(qiáng)的CPU能力和更多的內(nèi)存空間,因此鏈路狀態(tài)算法將會(huì)在實(shí)現(xiàn)時(shí)顯得更昂貴一些。除了這些區(qū)別,兩種算法在大多數(shù)環(huán)境下都能很好地運(yùn)行。
最后需要指出的是,路由算法使用了許多種不同的度量標(biāo)準(zhǔn)去決定最佳路徑。復(fù)雜的路由算法可能采用多種度量來選擇路由,通過一定的加權(quán)運(yùn)算,將它們合并為單個(gè)的復(fù)合度量、再填入路由表中,作為尋徑的標(biāo)準(zhǔn)。通常所使用的度量有:路徑長度、可靠性、時(shí)延、帶寬、負(fù)載、通信成本等。
評(píng)論