ospf演算法
1. RIP與OSPF的演算法有什麼區別拜託各位大神
在互聯網飛速發展的今天,TCP/IP協議已經成為數據網路互聯的主流協議。在各種網路上運行的大大小小各種型號路由器,承擔著控制本世紀或許最重要信息的流量,而這成百上千台路由器間的協同工作,離不開路由協議。OSPF和EIGRP都是近年來出現的比較好的動態路由協議,OSPF以協議標准化強,支持廠家多,受到廣泛應用,而EIGRP協議由網路界公認的領先廠商Cisco公司發明,並靠其在業界的影響力和絕對的市場份額,也受到用戶的普遍認同。然而這兩種協議究竟哪種更好,誰更適合網路未來發展的需要?本文就用戶普遍關心的問題,從技術角度客觀分析這兩種協議各自的優缺點,以便網路集成商和企業用戶在網路設計規劃時,能作為參考。 一、OSPF協議 (一)、OSPF協議簡介 OSPF是Open Shortest Path First(即「開放最短路由優先協議」)的縮寫。它是IETF組織開發的一個基於鏈路狀態的自治系統內部路由協議。在IP網路上,它通過收集和傳遞自治系統的鏈路狀態來動態地發現並傳播路由。 每一台運行OSPF協議的路由器總是將本地網路的連接狀態,(如可用介面信息、可達鄰居信息等)用LSA(鏈路狀態廣播)描述,並廣播到整個自治系統中去。這樣,每台路由器都收到了自治系統中所有路由器生成的LSA,這些LSA的集合組成了LSDB(鏈路狀態資料庫)。由於每一條LSA是對一台路由器周邊網路拓撲的描述,則整個LSDB就是對該自治系統網路拓撲的真實反映。 根據LSDB,各路由器運行SPF(最短路徑優先)演算法。構建一棵以自己為根的最短路徑樹,這棵樹給出了到自治系統中各節點的路由。在圖論中,「樹」是一種無環路的連接圖。所以OSPF計算出的路由也是一種無環路的路由。 OSPF協議為了減少自身的開銷,提出了以下概念: (1). DR:在各類可以多址訪問的網路中,如果存在兩台或兩台以上的路由器,該網路上要選舉出一個「指定路由器」(DR)。「指定路由器」負責與本網段內所有路由器進行LSDB的同步。這樣,兩台非DR路由器之間就不再進行LSDB的同步。大大節省了同一網段內的帶寬開銷。 (2). AREA:OSPF可以根據自治系統的拓撲結構劃分成不同的區域(AREA),這樣區域邊界路由器(ABR)向其它區域發送路由信息時,以網段為單位生成摘要LSA。這樣可以減少自治系統中的LSA的數量,以及路由計算的復雜度。 OSPF使用4類不同的路由,按優先順序來說分別是: 區域內路由; 區域間路由; 第一類外部路由; 第二類外部路由。 區域內和區域間路由描述的是自治系統內部的網路結構,而外部路由則描述了應該如何選擇到自治系統以外目的地的路由。一般來說,第一類外部路由對應於OSPF從其它內部路由協議所引入的信息,這些路由的花費和OSPF自身路由的花費具有可比性;第二類外部路由對應於OSPF從外部路由協議所引入的信息,它們的花費遠大於OSPF自身的路由花費,因而在計算時,將只考慮外部的花費。 (二)、OSPF協議主要優點: 1、OSPF是真正的LOOP- FREE(無路由自環)路由協議。源自其演算法本身的優點。(鏈路狀態及最短路徑樹演算法) 2、OSPF收斂速度快:能夠在最短的時間內將路由變化傳遞到整個自治系統。 3、提出區域(area)劃分的概念,將自治系統劃分為不同區域後,通過區域之間的對路由信息的摘要,大大減少了需傳遞的路由信息數量。也使得路由信息不會隨網路規模的擴大而急劇膨脹。 4、將協議自身的開銷控制到最小。見下: 1)用於發現和維護鄰居關系的是定期發送的是不含路由信息的hello報文,非常短小。包含路由信息的報文時是觸發更新的機制。(有路由變化時才會發送)。但為了增強協議的健壯性,每1800秒全部重發一次。 2)在廣播網路中,使用組播地址(而非廣播)發送報文,減少對其它不運行ospf 的網路設備的干擾。 3)在各類可以多址訪問的網路中(廣播,NBMA),通過選舉DR,使同網段的路由器之間的路由交換(同步)次數由 O(N*N)次減少為 O (N)次。 4)提出STUB區域的概念,使得STUB區域內不再傳播引入的ASE路由。 5)在ABR(區域邊界路由器)上支持路由聚合,進一步減少區域間的路由信息傳遞。 6)在點到點介面類型中,通過配置按需播號屬性(OSPF over On Demand Circuits),使得ospf不再定時發送hello報文及定期更新路由信息。只在網路拓撲真正變化時才發送更新信息。 5、通過嚴格劃分路由的級別(共分四極),提供更可信的路由選擇。 6、良好的安全性,ospf支持基於介面的明文及md5 驗證。 7、OSPF適應各種規模的網路,最多可達數千台。
記得採納啊
2. ospf採用什麼演算法
OSPF(Open Shortest Path First開放式最短路徑優先)是一個內部網關協議(Interior Gateway Protocol,簡稱IGP),用於在單一自治系統(autonomous system,AS)內決策路由。是對鏈路狀態路由協議的一種實現,隸屬內部網關協議(IGP),故運作於自治系統內部。著名的迪克斯加演算法(Dijkstra)被用來計算最短路徑樹。OSPF分為OSPFv2和OSPFv3兩個版本,其中OSPFv2用在IPv4網路,OSPFv3用在IPv6網路。OSPFv2是由RFC 2328定義的,OSPFv3是由RFC 5340定義的。與RIP相比,OSPF是鏈路狀態協議,而RIP是距離矢量協議。
OSPF路由協議是一種典型的鏈路狀態(Link-state)的路由協議,一般用於同一個路由域內。在這里,路由域是指一個自治系統(Autonomous System),即AS,它是指一組通過統一的路由政策或路由協議互相交換路由信息的網路。在這個AS中,所有的OSPF路由器都維護一個相同的描述這個AS結構的資料庫,該資料庫中存放的是路由域中相應鏈路的狀態信息,OSPF路由器正是通過這個資料庫計算出其OSPF路由表的。
作為一種鏈路狀態的路由協議,OSPF將鏈路狀態組播數據LSA(Link State Advertisement)傳送給在某一區域內的所有路由器,這一點與距離矢量路由協議不同。運行距離矢量路由協議的路由器是將部分或全部的路由表傳遞給與其相鄰的路由器。
3. ospf的度量值是怎麼計算的
默認是10的8次方除帶寬就是OSPF的度量值。
帶寬是以BIT為單位,以100兆COST值就是:100000000/100000000=1;10兆COST值就是:100000000/10000000=10。如結果出現小數,小數點後面記得應該是直接舍掉不用五入。
如果帶寬是1000兆COST值也是1,最小值就是1。那麼OSPF就會計算路徑時就會出現象距離知量演算法一樣的結果,比如到目的網路有兩條路徑,一條要經過兩個路由器但是鏈路帶寬都是1000兆,那麼兩個1000兆的累計COST將是2。一條路徑只有一跳到達目的,但是帶寬只有100兆,那麼它的COST只有1。結果OSPF會選度量值小的為最佳路徑,最後導致選擇100兆的鏈路。
R1(config)#router ospf 1
R1(config-router)#auto-costreference-bandwidth <1-4294967>
在OSPF進程中用該命令可以修改度量值計算基數,避免這種問題。注意這里用的單位是Mbits
R1(config-if)#ip ospf cost <1-65535>
介面下用該命令可以直接改動COST值來影響路徑計算結果。
4. ospf協議原理及其特點
1、 OSPF協議的特點
OSPF全稱為開放最短路徑優先。「開放」表明它是一個公開的協議,由標准協議組織制定,各廠商都可以得到協議的細節。「最短路徑優先」是該協議在進行路由計算時執行的演算法。OSPF是目前內部網關協議中使用最為廣泛、性能最優的一個協議,它具有以下特點:
◆ 可適應大規模的網路;
◆ 路由變化收斂速度快;
◆ 無路由自環;
◆ 支持變長子網掩碼(VLSM);
◆ 支持等值路由;
◆ 支持區域劃分;
◆ 提供路由分級管理;
◆ 支持驗證;
◆ 支持以組播地址發送協議報文。
採用OSPF協議的自治系統,經過合理的規劃可支持超過1000台路由器,這一性能是距離向量協議如RIP等無法比擬的。距離向量路由協議採用周期性地發送整張路由表來使網路中路由器的路由信息保持一致,這個機制浪費了網路帶寬並引發了一系列的問題,下面對此將作簡單的介紹。為了完善這些協議,只能採取若干措施,在自環發生前,降低其發生的概率,在自環發生後,減小其影響范圍和時間。
在IP(IPV4)地址日益匱乏的今天,能否支持變長子網掩碼(VLSM)來節省IP地址資源,對一個路由協議來說是非常重要的,OSPF能夠滿足這一要求。在採用OSPF協議的網路中,如果通過OSPF計算出到同一目的地有兩條以上代價(Metric)相等的路由,該協議可以將這些等值路由同時添加到路由表中。從衡量路由協議性能的角度,我們可以看出,OSPF協議確實是一個比較先進的動態路由協議,這也是它得到廣泛採用的主要原因。
2、 OSPF協議的工作原理
上文提到,OSPF協議是一種鏈路狀態協議,那麼OSPF是如何來描述鏈路連接狀況呢?
抽象模型Model 1表示路由器的一個乙太網介面不連接其他路由器,只連接了一個乙太網段。此時,對於運行 OSPF的路由器R1,只能識別本身,無法識別該網段上的設備(主機等);抽象模型Model 2表示路由器R1通過點對點鏈路(如PPP、HDLC等)連接一台路由器R2;抽象模型Model 3表示路由器R1通過點對多點(如Frame Relay、X.25等)鏈路連接多台路由器R3、R4等,此時路由器R5、R6之間不進行互聯;抽象模型Model 4表示路由器R1通過點對多點(如Frame Relay、X.25等)鏈路連接多台路由器R5、R6等,此時路由器R5、R6之間互聯。以上抽象模型著重於各類鏈路層協議的特點,而不涉及具體的鏈路層協議細節。該模型基本表達了當前網路鏈路的連接種類。
在OSPF協議中,分別對以上四種鏈路狀態類型作了描述:
對於抽象模型Model 1(乙太網鏈路),使用Link ID(連接的網段)、Data(掩碼)、Type(類型)和Metric(代價)來描述。此時的Link ID即為路由器R1介面所在網段,Data為所用掩碼,Type為3(Stubnet),Metric為代價值。
對於抽象模型Model 2(點對點鏈路),先使用Link ID(連接的網段)、Data(掩碼)、Type(類型)和Metric(代價)來描述介面路由,以上各參數與Model 1相似。接下來描述對端路由器R2,四個參數名不變,但其含義有所不同。此時Link ID為路由器R2的Router ID,Data為路由器R2的介面地址,Type為1(Router),Metric仍為代價值。
對於抽象模型Model 3(點對多點鏈路,不全連通),先使用Link ID(連接的網段)、Data(掩碼)、Type(類型)和Metric(代價)來描述介面路由,以上各參數與Model 1相似。接下來分別描述對端路由器R3、R4的方法,與在Model 2中描述R2類似。
對於抽象模型Model 4(點對多點鏈路,全連通),先使用Link ID(網段中DR的介面地址)、Data(本介面的地址)、Type(類型)和Metric(代價)來描述介面路由。此時Type值為2(Transnet),然後是本網段中DR(指定路由器)描述的連接通告。
5. OSPF協議的SPF演算法
spf演算法(最短路徑演算法)
6. ospf中的spf演算法
以自己為樹根,計算出到各個節點開銷最短路徑,就是spf演算法
7. OSPF路由協議的路由演算法是什麼
ospf路由協議是用於網際協議(ip)網路的鏈路狀態路由協議。該協議使用鏈路狀態路由演算法的內部網關協議(igp),在單一自治系統(as)內部工作。
作為一種鏈路狀態的路由協議,ospf將鏈路狀態廣播數據包lsa(link
state
advertisement)傳送給在某一區域內的所有路由器,這一點與距離矢量路由協議不同。運行距離矢量路由協議的路由器是將部分或全部的路由表傳遞給與其相鄰的路由器。
8. 請問,ospf spf 演算法具體一點的工作過程是怎樣的..
spf演算法用的就是Dijkstra演算法.下面是摘自網路的內容,我推薦你去看TCP/IP路由第一卷這本書,裡面講的比較易懂.
Dijkstra演算法的原理.
首先,引進一個輔助向量D,它的每個分量D表示當前所找到的從始點v到每個終點vi的最短路徑的長度。如D[3]=2表示從始點v到終點3的路徑相對最小長度為2。這里強調相對就是說在演算法過程中D的值是在不斷逼近最終結果但在過程中不一定就等於最短路徑長度。它的初始狀態為:若從v到vi有弧,則D為弧上的權值;否則置D為∞。顯然,長度為 D[j]=Min{D | vi∈V} 的路徑就是從v出發的長度最短的一條最短路徑。此路徑為(v,vj)。 那麼,下一條長度次短的最短路徑是哪一條呢?假設該次短路徑的終點是vk,則可想而知,這條路徑或者是(v,vk),或者是(v,vj,vk)。它的長度或者是從v到vk的弧上的權值,或者是D[j]和從vj到vk的弧上的權值之和。 一般情況下,假設S為已求得最短路徑的終點的集合,則可證明:下一條最短路徑(設其終點為X)或者是弧(v,x),或者是中間只經過S中的頂點而最後到達頂點X的路徑。因此,下一條長度次短的最短路徑的長度必是D[j]=Min{D | vi∈V-S} 其中,D或者是弧(v,vi)上的權值,或者是D[k](vk∈S)和弧(vk,vi)上的權值之和。 迪傑斯特拉演算法描述如下: 1)arcs表示弧上的權值。若不存在,則置arcs為∞(在本程序中為MAXCOST)。S為已找到從v出發的最短路徑的終點的集合,初始狀態為空集。那麼,從v出發到圖上其餘各頂點vi可能達到的最短路徑長度的初值為D=arcs[Locate Vex(G,v),i] vi∈V 2)選擇vj,使得D[j]=Min{D | vi∈V-S} 3)修改從v出發到集合V-S上任一頂點vk可達的最短路徑長度。
按路徑長度遞增次序產生最短路徑演算法:
把V分成兩組:
(1)S:已求出最短路徑的頂點的集合
(2)V-S=T:尚未確定最短路徑的頂點集合
將T中頂點按最短路徑遞增的次序加入到S中,
保證:(1)從源點V0到S中各頂點的最短路徑長度都不大於
從V0到T中任何頂點的最短路徑長度
(2)每個頂點對應一個距離值
S中頂點:從V0到此頂點的最短路徑長度
T中頂點:從V0到此頂點的只包括S中頂點作中間
頂點的最短路徑長度
依據:可以證明V0到T中頂點Vk的最短路徑,或是從V0到Vk的
直接路徑的權值;或是從V0經S中頂點到Vk的路徑權值之和
(反證法可證)
求最短路徑步驟
… 初使時令 S={V0},T={其餘頂點},T中頂點對應的距離值
? 若存在<V0,Vi>,為<V0,Vi>弧上的權值
? 若不存在<V0,Vi>,為∝
… 從T中選取一個其距離值為最小的頂點W,加入S
… 對T中頂點的距離值進行修改:若加進W作中間頂點,從V0到Vi的
距離值比不加W的路徑要短,則修改此距離值
… 重復上述步驟,直到S中包含所有頂點,即S=V為止
9. ospf是開放式最短路徑優先路由方法,計算"最短路徑"有哪些演算法
Dijkstra演算法求單源、無負權的最短路。時效性較好.
Floyd-Warshall演算法求多源、無負權邊的最短路。用矩陣記錄圖。時效性較差.
Bellman-Ford演算法求單源最短路,可以判斷有無負權迴路(若有,則不存在最短路),
時效性較好.
SPFA是Bellman-Ford的隊列優化,時效性相對好.
參考資料:
https://ke..com/item/%E6%9C%80%E7%9F%AD%E8%B7%AF%E5%BE%84%E7%AE%97%E6%B3%95/20868554?fr=aladdin#2
10. OSPF路由演算法
OSPF用的是SPF演算法,大致上這樣,每個路由器已自己為根,計算出到達目的的最短路徑樹,根據cost計算鏈路開銷,進行選路