Ⅰ 路由器常見的路由演算法有那些
路由演算法的區別點包括:靜態與動態、單路徑與多路徑、平坦與分層、主機智能與路由器智能、域內與域間、鏈接狀態與距離向量。
1.鏈接狀態
2.距離向量
3.LS演算法
4.Dijkstra演算法
Ⅱ 簡述路由選擇演算法的要求
路由選擇演算法」是否等於「路由演算法」?
肯定不等
路由選擇演算法是選擇路徑
路由演算法要考慮響應,帶寬,跳數等等
不能把書讀死了.
4.2 路由選擇及其演算法
4.2.2 動態路由選擇策略
節點路由選擇要依靠網路當前的狀態信息來決定的策略稱動態路由選擇策略,這種策略能較好地適應網路流量、拓撲結構的變化,有利於改善網路的性能。但由於演算法復雜,會增加網路的負擔,有時會因反應太快引起振盪或反應太慢不起作用。獨立路由選擇、集中路由選擇和分布路由選擇是三種動態路由選擇策略的具體演算法。
(1)獨立路由選擇
在這類路由演算法中,節點僅根據自己搜到的有關信息作出路由選擇的決定,與其它節點不交換路由選擇信息,雖然不能正確確定距離本節點較遠的路由選擇,但還是能較好地適應網路流量和拓撲結構的變化。
一種簡單的獨立路由選擇演算法是 Baran 在1964年提出的熱土豆(Hot Potato)演算法。當一個分組到來時,節點必須盡快脫手,將其放入輸出列最短的方向上排隊,而不管該方向通向何方。
(2)集中路由選擇
集中路由選擇也象固定路由選擇一樣,在每個節點上存儲一張路由表。不同的是,固定路由選擇演算法中的節點路由表由手工製作,而在集中路由選擇演算法中的節點路由表由路由控制中心RCC(Routing Control Center)定時根據網路狀態計算、生成並分送各相應節點。由於RCC利用了整個網路的信息,所以得到的路由選擇是完美的,同時也減輕了各節點計算路由選擇的負擔。
(3)分布路由選擇
採用分布路由選擇演算法的網路,所有節點定其地與其每個相鄰節點交換路由選擇信息。每個節點均存儲一張以網路中其它每個節點為索引的路由選擇表,網路中每個節點佔用表中一項,每一項又分為兩個部分,即所希望使用的到目的節點的輸出線路和估計到目的節點所需要的延遲或距離。度量標准可以是毫秒或鏈路段數、等待的分組數、剩餘的線路和容量等。對於延遲,節點可以直接發送一個特殊的稱作「回聲」(echo)的分組,接收該分組的節點將其加上時間標記後盡快送回,這樣便可測出延遲。有了以上信息,節點可由此確定路由選擇。
--------------------------------------------
——路由演算法在路由協議中起著至關重要的作用,採用何種演算法往往決定了最終的尋徑結果,因此選擇路由演算法一定要仔細。通常需要綜合考慮以下幾個設計目標:
——(1)最優化:指路由演算法選擇最佳路徑的能力。
——(2)簡潔性:演算法設計簡潔,利用最少的軟體和開銷,提供最有效的功能。
——(3)堅固性:路由演算法處於非正常或不可預料的環境時,如硬體故障、負載過高或操作失誤時,都能正確運行。由於路由器分布在網路聯接點上,所以在它們出故障時會產生嚴重後果。最好的路由器演算法通常能經受時間的考驗,並在各種網路環境下被證實是可靠的。
——(4)快速收斂:收斂是在最佳路徑的判斷上所有路由器達到一致的過程。當某個網路事件引起路由可用或不可用時,路由器就發出更新信息。路由更新信息遍及整個網路,引發重新計算最佳路徑,最終達到所有路由器一致公認的最佳路徑。收斂慢的路由演算法會造成路徑循環或網路中斷。 ——(5)靈活性:路由演算法可以快速、准確地適應各種網路環境。例如,某個網段發生故障,路由演算法要能很快發現故障,並為使用該網段的所有路由選擇另一條最佳路徑。
——路由演算法按照種類可分為以下幾種:靜態和動態、單路和多路、平等和分級、源路由和透明路由、域內和域間、鏈路狀態和距離向量。前面幾種的特點與字面意思基本一致,下面著重介紹鏈路狀態和距離向量演算法。
——鏈路狀態演算法(也稱最短路徑演算法)發送路由信息到互聯網上所有的結點,然而對於每個路由器,僅發送它的路由表中描述了其自身鏈路狀態的那一部分。距離向量演算法(也稱為Bellman-Ford演算法)則要求每個路由器發送其路由表全部或部分信息,但僅發送到鄰近結點上。從本質上來說,鏈路狀態演算法將少量更新信息發送至網路各處,而距離向量演算法發送大量更新信息至鄰接路由器。 ——由於鏈路狀態演算法收斂更快,因此它在一定程度上比距離向量演算法更不易產生路由循環。但另一方面,鏈路狀態演算法要求比距離向量演算法有更強的CPU能力和更多的內存空間,因此鏈路狀態演算法將會在實現時顯得更昂貴一些。除了這些區別,兩種演算法在大多數環境下都能很好地運行。
——最後需要指出的是,路由演算法使用了許多種不同的度量標准去決定最佳路徑。復雜的路由演算法可能採用多種度量來選擇路由,通過一定的加權運算,將它們合並為單個的復合度量、再填入路由表中,作為尋徑的標准。通常所使用的度量有:路徑長度、可靠性、時延、帶寬、負載、通信成本等。
Ⅲ 最佳路由演算法怎麼計算詳細步驟…
不同的
路由協議
有不同的演算法。具有代表性的像RIP,他選路的標准主要是跳數,選擇路由數量較少的作為最佳路徑,而像OSPF,EIGRP他們主要考慮的是帶寬,當然還會有其他的一些標准,但主要還是帶寬.......
Ⅳ 路由匯聚演算法
先把兩個網路地址轉換成二進制,然後取完全相同的部分作為聚合路由的ip
如193:00010101 00000001 11000001 00000000
而194:00010101 00000001 11000010 00000000
完全相同的是00010101 00000001 110000XX XXXXXXXX
相同部分長度就是掩碼長度
所以聚合後是21.1.192.0/22
這是最基本的演算法,必須知道
Ⅳ 路由演算法的類型有
靜態路由演算法
1.Dijkstra演算法(最短路徑演算法)
Dijkstra(迪傑斯特拉)演算法是典型的單源最短路徑演算法,用於計算一個節點到其他所有節點的最短路徑。主要特點是以起始點為中心向外層層擴展,直到擴展到終點為止。Dijkstra演算法是很有代表性的最短路徑演算法,在很多專業課程中都作為基本內容有詳細的介紹,如數據結構,圖論,運籌學等等。Dijkstra一般的表述通常有兩種方式,一種用永久和臨時標號方式,一種是用OPEN,CLOSE表的方式,這里均採用永久和臨時標號的方式。注意該演算法要求圖中不存在負權迴路。
Dijkstra演算法執行步驟如下:
步驟一:路由器建立一張網路圖,並且確定源節點和目的節點,在這個例子里我們設為V1和V2。然後路由器建立一個矩陣,稱為「鄰接矩陣」。在這個矩陣中,各矩陣元素表示權值。例如,[i,j]是節點Vi與Vj之間的鏈路權值。如果節點Vi與Vj之間沒有鏈路直接相連,它們的權值設為「無窮大」。
步驟二:路由器為網路中的每一個節點建立一組狀態記錄。此記錄包括三個欄位:
前序欄位———表示當前節點之前的節點。
長度欄位———表示從源節點到當前節點的權值之和。
標號欄位———表示節點的狀態。每個節點都處於一個狀態模式:「永久」或「暫時」。
步驟三:路由器初始化(所有節點的)狀態記錄集參數,將它們的長度設為「無窮大」,標號設為「暫時」。
步驟四:路由器設置一個T節點。例如,如果設V1是源T節點,路由器將V1的標號更改為「永久」。當一個標號更改為「永久」後,它將不再改變。一個T節點僅僅是一個代理而已。
步驟五:路由器更新與源T節點直接相連的所有暫時性節點的狀態記錄集。
步驟六:路由器在所有的暫時性節點中選擇距離V1的權值最低的節點。這個節點將是新的T節點。
步驟七:如果這個節點不是V2(目的節點),路由器則返回到步驟5。
步驟八:如果節點是V2,路由器則向前回溯,將它的前序節點從狀態記錄集中提取出來,如此循環,直到提取到V1為止。這個節點列表便是從V1到V2的最佳路由。
2.擴散法
事先不需要任何網路信息;路由器把收到的每一個分組,向除了該分組到來的線路外的所有輸出線路發送。將來會有多個分組的副本到達目的地端,最先到達的,可能是走了「最優」的路徑常見的擴散法是選擇性擴散演算法。
3.LS演算法
採用LS演算法時,每個路由器必須遵循以下步驟:
步驟一:確認在物理上與之相連的路由器並獲得它們的IP地址。當一個路由器開始工作後,它首先向整個網路發送一個「HELLO」分組數據包。每個接收到數據包的路由器都將返回一條消息,其中包含它自身的IP地址。
步驟二:測量相鄰路由器的延時(或者其他重要的網路參數,比如平均流量)。為做到這一點,路由器向整個網路發送響應分組數據包。每個接收到數據包的路由器返回一個應答分組數據包。將路程往返時間除以2,路由器便可以計算出延時。(路程往返時間是網路當前延遲的量度,通過一個分組數據包從遠程主機返回的時間來測量。)該時間包括了傳輸和處理兩部分的時間——也就是將分組數據包發送到目的地的時間以及接收方處理分組數據包和應答的時間。
步驟三:向網路中的其他路由器廣播自己的信息,同時也接收其他路由器的信息。
在這一步中,所有的路由器共享它們的知識並且將自身的信息廣播給其他每一個路由器。這樣,每一個路由器都能夠知道網路的結構以及狀態。
步驟四:使用一個合適的演算法,確定網路中兩個節點之間的最佳路由。
Ⅵ 什麼是路由啊 路由的組成 以及路由的演算法
路由:路由(routing)是指分組從源到目的地時,決定端到端路徑的網路范圍的進程。路由工作在OSI參考模型第三層——網路層的數據包轉發設備。路由器通過轉發數據包來實現網路互連。雖然路由器可以支持多種協議(如TCP/IP、IPX/SPX、AppleTalk等協議),但是在我國絕大多數路由器運行TCP/IP協議。路由器通常連接兩個或多個由IP子網或點到點協議標識的邏輯埠,至少擁有1個物理埠。路由器根據收到數據包中的網路層地址以及路由器內部維護的路由表決定輸出埠以及下一跳地址,並且重寫鏈路層數據包頭實現轉發數據包。路由器通過動態維護路由表來反映當前的網路拓撲,並通過網路上其他路由器交換路由和鏈路信息來維護路由表。
路由器的組成:
RAM(隨機存儲器)
功能:存放路由表;存放ARP告訴緩存;存放快速交換緩存;存放分組交換緩沖;存放解壓後的IOS;路由器加電後,存放running配置文件;
特點:重啟或者斷電後,RAM中的內容丟失。
NVRAM(非易失性RAM)
功能:存儲路由器的startup配置文件;存儲路由器的備份。
特點:重啟或者斷電後內容不丟失。
FLASH(快速快閃記憶體)
功能:存放IOS和微代碼。
特點:重啟或者斷電後內容不丟失;可存放多個IOS版本(在容量許可的前提下);允許軟體升級不需替換CPU中的晶元。
ROM(只讀存儲器)
功能:存放POST診斷所需的指令;存放mini-ios;存放ROM監控模式的代碼。
特點:ROM中的軟體升級需要更換CPU的晶元(還好這種情況比較少遇到)
CPU(中央處理器)
衡量路由器性能的重要指標,負責路由計算,路由選擇等。
背板:
背板能力是一個重要參數,尤其在交換機中。
路由演算法:又名選路演算法,可以根據多個特性來加以區分。演算法的目的是找到一條從源路由器到目的路由器的「好」路徑(即具有最低費用的路徑[1])。演算法設計者的特定目標影響了該路由協議的操作;具體來說存在著多種路由演算法,每種演算法對網路和路由器資源的影響都不同;由於路由演算法使用多種度量標准(metric),從而影響到最佳路徑的計算。
演算法分類:主要有RIP、IGRP(IGRP為 Cisco公司的私有協議);鏈路狀態路由協議基於圖論中非常著名的Dijkstra演算法,即最短優先路徑(Shortest Path First, SPF)演算法,如OSPF。在距離向量路由協議中,路由器將部分或全部的路由表傳遞給與其相鄰的路由器;而在鏈路狀態路由協議中,路由器將鏈路狀態信息傳 遞給在同一區域內的所有路由器。 根據路由器在自治系統(AS)中的位置,可將路由協議分為內部網關協議 (Interior Gateway Protocol,IGP)和外部網關協議(External Gateway Protocol,EGP,也叫域 間路由協議)。域間路由協議有兩種:外部網關協議(EGP)和邊界網關協議(BGP)。EGP是為一個簡單的樹型拓撲結構而設計的,在處理選路循環和設置 選路策略時,具有明顯的缺點,已被BGP代替。
Ⅶ 距離向量路由演算法的運算
路由器間交換的最重要的信息是修改報文,參加路由維護計劃的路由器發送當前存在於實體的描述路由庫的路由修改報文。僅通過相鄰路由器間交換路由信息是可以維護整個系統的最佳路由的,這在接下來的討論中會逐步得到證明。 距離向量演算法總是基於一個這樣的事實:路由庫中的路由已是目前通過報文交換而得到的最佳路由。同時,報文交換僅限於相鄰的實體間,也就是說,實體共享同一個。當然,要定義路由是最佳的,就必須有衡量的辦法,這就用到前面所說的「metric」。RIP簡單的中,通常用可行路由所經的路由器數簡單地計算metric值。在復雜的中,metric一般代表該路由傳輸報的延遲或其它發送開銷。 令D代表從實體i到實體j的最佳路由的metric值,d(i,j)代表從i直接到j的開銷,因為開銷是可加的,演算法中最佳路由如此獲取表示: D(i,i)=0, 對所有的i D(i,j)=MIN[d(i,j)+D(k,j), 當i不等於k時 實體i從相鄰路由器k收到k到j的開銷的估計D,i將D(i,j)加上i到k的開銷估計d(i,j),i比較從所有相鄰路由器得到的數值,取得最小數,就得到了它到j的最佳路由。
Ⅷ 路由演算法主要有哪幾種
靜態路由演算法主要有:
洪泛法(Flooding)
隨機走動法(Random Walk)
最短路徑法(Shortest Path,SP)
基於流量的路由演算法(Flow-based Routing,FR)</ol>動態路由演算法主要有:
距離矢量演算法(RIP)
鏈路狀態演算法(OSPF)
平衡混合演算法(EIGRP)</ol>
Ⅸ 計算機網路路由演算法
關於路由器如何收集網路的結構信息以及對之進行分析來確定最佳路由,有兩種主要的路由演算法:
總體式路由演算法和分散式路由演算法。採用分散式路由演算法時,每個路由器只有與它直接相連的路由器的信息——而沒有網路中的每個路由器的信息。這些演算法也被稱為DV(距離向量)演算法。採用總體式路由演算法時,每個路由器都擁有網路中所有其他路由器的全部信息以及網路的流量狀態。這些演算法也被稱為LS(鏈路狀態)演算法。
Ⅹ 常見的路由選擇演算法有哪些
鏈路狀態演算法(也稱最短路徑演算法)發送路由信息到互聯網上所有的結點,然而對於每個路由器,僅發送它的路由表中描述了其自身鏈路狀態的那一部分。距離向量演算法(也稱為Bellman-Ford演算法)則要求每個路由器發送其路由表全部或部分信息,但僅發送到鄰近結點上。從本質上來說,鏈路狀態演算法將少量更新信息發送至網路各處,而距離向量演算法發送大量更新信息至鄰接路由器。 ——由於鏈路狀態演算法收斂更快,因此它在一定程度上比距離向量演算法更不易產生路由循環。但另一方面,鏈路狀態演算法要求比距離向量演算法有更強的CPU能力和更多的內存空間,因此鏈路狀態演算法將會在實現時顯得更昂貴一些。除了這些區別,兩種演算法在大多數環境下都能很好地運行。