完全路由算法設(shè)計(jì)目標(biāo)的方式分析
路由算法通常具有下列設(shè)計(jì)目標(biāo)的一個(gè)或多個(gè):
優(yōu)化:
優(yōu)化指路由算法選擇***路徑的能力,根據(jù)metric的值和權(quán)值來計(jì)算。例如有一種路由算法可能使用跳數(shù)和延遲,但可能延遲的權(quán)值要大些。當(dāng)然,路由協(xié)議必須嚴(yán)格定義計(jì)算metric的算法。
簡單、低耗:
路由算法也可以設(shè)計(jì)得盡量簡單。換句話說,路由協(xié)議必須高效地提供其功能,盡量減少軟件和應(yīng)用的開銷。當(dāng)實(shí)現(xiàn)路由算法的軟件必須運(yùn)行在物理資源有限的計(jì)算機(jī)上時(shí)高效尤其重要。
健壯、穩(wěn)定:
路由算法必須健壯,即在出現(xiàn)不正常或不可預(yù)見事件的情況下必須仍能正常處理,例如硬件故障、高負(fù)載和不正確的實(shí)現(xiàn)。因?yàn)槁酚善魑挥诰W(wǎng)絡(luò)的連接點(diǎn),當(dāng)它們失效時(shí)會(huì)產(chǎn)生重大的問題。***的路由算法通常是那些經(jīng)過了時(shí)間考驗(yàn),證實(shí)在各種網(wǎng)絡(luò)條件下都很穩(wěn)定的算法。
快速聚合:
此外,路由算法必須能快速聚合,聚合是所有路由器對***路徑達(dá)成一致的過程。當(dāng)某網(wǎng)絡(luò)事件使路徑斷掉或不可用時(shí),路由器通過網(wǎng)絡(luò)分發(fā)路由更新信息,促使***路徑的重新計(jì)算,最終使所有路由器達(dá)成一致。聚合很慢的路由算法可能會(huì)產(chǎn)生路由環(huán)或網(wǎng)路中斷。
在下圖中的路由環(huán)中,某分組在時(shí)間t1到達(dá)路由器1,路由器1已經(jīng)更新并知道到達(dá)目的的***路徑是以路由器2為下一跳,于是就把該分組轉(zhuǎn)發(fā)給路由器2.但是路由器2還沒有更新,它認(rèn)為***的下一跳是路由器1,于是把該分組發(fā)回給路由器1,結(jié)果分組在兩個(gè)路由器間來回傳遞直到路由器2收到路由更新信息或分組超過了生存期。
靈活性
路由算法還應(yīng)該是靈活的,即它們應(yīng)該迅速、準(zhǔn)確地適應(yīng)各種網(wǎng)絡(luò)環(huán)境。例如,假定某網(wǎng)段斷掉了,當(dāng)知道問題后,很多路由算法對通常使用該網(wǎng)段的路徑將迅速選擇次佳的路徑。路由算法可以設(shè)計(jì)得可適應(yīng)網(wǎng)絡(luò)帶寬、路由器隊(duì)列大小和網(wǎng)絡(luò)延遲。
【編輯推薦】