什么是路由權(quán)
路由權(quán)和路由算法可能很多人都不太了解,學(xué)習(xí)啦小編收集的本文為大家揭開神秘面紗,歡迎大家閱讀借鑒,希望對您有所幫助!
路由權(quán)
B
Network N1
Network N2
A
C
D帶寬
時延
負載
可靠性
跳數(shù)
開銷
路由權(quán):用于選擇最佳路由的信息。
路由算法修改路由表的基本目的是將最好路由信息添加到路由表中,路由的好壞是由路由算法根據(jù)自己獲得的路由信息計算出來的。對于每一條路由,路由算法產(chǎn)生一種權(quán)值來表示路由的好壞。通常情況下,這種權(quán)值越小,該路徑越好。
路由權(quán)的計算可能基于路徑某單一特性計算,也可能基于路徑多種屬性進行計算。有幾種路徑特性經(jīng)常被用于權(quán)值計算,如下:
1) 帶寬 -- 鏈路的數(shù)據(jù)容量。例如,通常情況下10M 以太網(wǎng)鏈路比 64K 出租線路要更好。
2) 時延 -- 報文從到達目標(biāo)網(wǎng)絡(luò)所需要的時間。
3) 負載 -- 處于活躍狀態(tài)的網(wǎng)絡(luò)資源數(shù)量。
4) 可靠性 -- 每條數(shù)據(jù)鏈路的出錯率。
5) 跳數(shù) -- 報文到目的地需要經(jīng)過的網(wǎng)絡(luò)數(shù)。
6) 開銷 -- 一種人為設(shè)定的值,通常由網(wǎng)絡(luò)管理員根據(jù)帶寬、線路價格或其他一些因素綜合得出。
路由算法
路由算法,又名選路算法,可以根據(jù)多個特性來加以區(qū)分。算法的目的是找到一條從源路由器到目的路由器的“好”路徑(即具有最低費用的路徑)。算法設(shè)計者的特定目標(biāo)影響了該路由協(xié)議的操作;具體來說存在著多種路由算法,每種算法對網(wǎng)絡(luò)和路由器資源的影響都不同;由于路由算法使用多種度量標(biāo)準(metric),從而影響到最佳路徑的計算。
路由算法是提高路由協(xié)議功能,盡量減少路由時所帶來開銷的算法。當(dāng)實現(xiàn)路由算法的軟件必須運行在物理資源有限的計算機上時高效尤其重要。路由算法必須健壯,即在出現(xiàn)不正?;虿豢深A(yù)見事件的情況下必須仍能正常處理,例如硬件故障、高負載和不正確的實現(xiàn)。因為路由器位于網(wǎng)絡(luò)的連接點,當(dāng)它們失效時會產(chǎn)生重大的問題。最好的路由算法通常是那些經(jīng)過了時間考驗,證實在各種網(wǎng)絡(luò)條件下都很穩(wěn)定的算法。此外路由算法必須能快速聚合,聚合是所有路由器對最佳路徑達成一致的過程。當(dāng)某網(wǎng)絡(luò)事件使路徑斷掉或不可用時,路由器通過網(wǎng)絡(luò)分發(fā)路由更新信息,促使最佳路徑的重新計算,最終使所有路由器達成一致。聚合很慢的路由算法可能會產(chǎn)生路由環(huán)或網(wǎng)路中斷。
路由算法是提高路由協(xié)議功能,盡量減少路由時所帶來開銷的算法。當(dāng)實現(xiàn)路由算法的軟件必須運行在物理資源有限的計算機上時高效尤其重要。路由算法必須健壯,即在出現(xiàn)不正?;虿豢深A(yù)見事件的情況下必須仍能正常處理,例如硬件故障、高負載和不正確的實現(xiàn)。因為路由器位于網(wǎng)絡(luò)的連接點,當(dāng)它們失效時會產(chǎn)生重大的問題。
最好的路由算法通常是那些經(jīng)過了時間考驗,證實在各種網(wǎng)絡(luò)條件下都很穩(wěn)定的算法。此外路由算法必須能快速聚合,聚合是所有路由器對最佳路徑達成一致的過程。當(dāng)某網(wǎng)絡(luò)事件使路徑斷掉或不可用時,路由器通過網(wǎng)絡(luò)分發(fā)路由更新信息,促使最佳路徑的重新計算,最終使所有路由器達成一致。聚合很慢的路由算法可能會產(chǎn)生路由環(huán)或網(wǎng)路中斷。
LS算法
采用LS算法時,每個路由器必須遵循以下步驟:
ls算法的步驟流程
1、確認在物理上與之相連的路由器并獲得它們的IP地址。當(dāng)一個路由器開始工作后,它首先向整個網(wǎng)絡(luò)發(fā)送一個“HELLO”分組數(shù)據(jù)包。每個接收到數(shù)據(jù)包的路由器都將返回一條消息,其中包含它自身的IP地址。
2、測量相鄰路由器的延時(或者其他重要的網(wǎng)絡(luò)參數(shù),比如平均流量)。為做到這一點,路由器向整個網(wǎng)絡(luò)發(fā)送響應(yīng)分組數(shù)據(jù)包。每個接收到數(shù)據(jù)包的路由器返回一個應(yīng)答分組數(shù)據(jù)包。將路程往返時間除以2,路由器便可以計算出延時。(路程往返時間是網(wǎng)絡(luò)當(dāng)前延遲的量度,通過一個分組數(shù)據(jù)包從遠程主機返回的時間來測量。)該時間包括了傳輸和處理兩部分的時間——也就是將分組數(shù)據(jù)包發(fā)送到目的地的時間以及接收方處理分組數(shù)據(jù)包和應(yīng)答的時間。
3、向網(wǎng)絡(luò)中的其他路由器廣播自己的信息,同時也接收其他路由器的信息。
在這一步中,所有的路由器共享它們的知識并且將自身的信息廣播給其他每一個路由器。這樣,每一個路由器都能夠知道網(wǎng)絡(luò)的結(jié)構(gòu)以及狀態(tài)。
4、使用一個合適的算法,確定網(wǎng)絡(luò)中兩個節(jié)點之間的最佳路由。
在這一步中,路由器選擇通往每一個節(jié)點的最佳路由。它們使用一個算法來實現(xiàn)這一點,如Dijkstra最短路徑算法。在這個算法中,一個路由器通過收集到的其他路由器的信息,建立一個網(wǎng)絡(luò)圖。這個圖描述網(wǎng)絡(luò)中的路由器的位置以及它們之間的鏈接關(guān)系。每個鏈接都有一個數(shù)字標(biāo)注,稱為權(quán)值或成本。這個數(shù)字是延時和平均流量的函數(shù),有時它僅僅表示節(jié)點間的躍點數(shù)。例如,如果一個節(jié)點與目的地之間有兩條鏈路,路由器將選擇權(quán)值最低的鏈路。
Dijkstra算法
Dijkstra算法執(zhí)行下列步驟
1、路由器建立一張網(wǎng)絡(luò)圖,并且確定源節(jié)點和目的節(jié)點,在這個例子里我們設(shè)為V1和V2。然后路由器建立一個矩陣,稱為“鄰接矩陣”。在這個矩陣中,各矩陣元素表示權(quán)值。例如,[i, j]是節(jié)點Vi與Vj之間的鏈路權(quán)值。如果節(jié)點Vi與Vj之間沒有鏈路直接相連,它們的權(quán)值設(shè)為“無窮大”。
2、路由器為網(wǎng)路中的每一個節(jié)點建立一組狀態(tài)記錄。此記錄包括三個字段:
前序字段——表示當(dāng)前節(jié)點之前的節(jié)點。
長度字段——表示從源節(jié)點到當(dāng)前節(jié)點的權(quán)值之和。
標(biāo)號字段——表示節(jié)點的狀態(tài)。每個節(jié)點都處于一個狀態(tài)模式:“永久”或“暫時”。
3、路由器初始化(所有節(jié)點的)狀態(tài)記錄集參數(shù),將它們的長度設(shè)為“無窮大”,標(biāo)號設(shè)為“暫時”。
4、路由器設(shè)置一個T節(jié)點。例如,如果設(shè)V1是源T節(jié)點,路由器將V1的標(biāo)號更改為“永久”。當(dāng)一個標(biāo)號更改為“永久”后,它將不再改變。一個T節(jié)點僅僅是一個代理而已。
5、路由器更新與源T節(jié)點直接相連的所有暫時性節(jié)點的狀態(tài)記錄集。
6、路由器在所有的暫時性節(jié)點中選擇距離V1的權(quán)值最低的節(jié)點。這個節(jié)點將是新的T節(jié)點。
7、如果這個節(jié)點不是V2(目的節(jié)點),路由器則返回到步驟5。
8、如果節(jié)點是V2,路由器則向前回溯,將它的前序節(jié)點從狀態(tài)記錄集中提取出來,如此循環(huán),直到提取到V1為止。這個節(jié)點列表便是從V1到V2的最佳路由。
鏈路向量選路算法
鏈路狀態(tài)算法(也稱最短路徑算法)發(fā)送路由信息到互聯(lián)網(wǎng)上所有的結(jié)點,然而對于每個路由器,僅發(fā)送它的路由表中描述了其自身鏈路狀態(tài)的那一部分。
距離向量算法
距離向量算法(也稱為Bellman-Ford算法)則要求每個路由器發(fā)送其路由表全部或部分信息,但僅發(fā)送到鄰近結(jié)點上。從本質(zhì)上來說,鏈路狀態(tài)算法將少量更新信息發(fā)送至網(wǎng)絡(luò)各處,而距離向量算法發(fā)送大量更新信息至鄰接路由器。 ——由于鏈路狀態(tài)算法收斂更快,因此它在一定程度上比距離向量算法更不易產(chǎn)生路由循環(huán)。但另一方面,鏈路狀態(tài)算法要求比距離向量算法有更強的CPU能力和更多的內(nèi)存空間,因此鏈路狀態(tài)算法將會在實現(xiàn)時顯得更昂貴一些。
路由知識的相關(guān)文章:
1.路由器知識點大全
2.路由器知識全解
8.路由器有什么組成