IGP ISIS的幾種快速收斂特性

2021-06-19 09:37:01 字數 1576 閱讀 4666

isis目前作為骨幹網唯一的路由協議,收斂速度是非常值得關注的。而普通的igp路由收斂方式為用hello報文檢測鏈路失效,週期性傳遞lsa的方式(在收到整個lsa的時候再向鄰居擴散)。所以在網路規模擴大的時候,lsdb隨之增大,spf的計算時間也會相當漫長。為了改進計算方法,我們設計了如下幾種改進方案。

i-spf(incremental 

spf)

i-spf是指增量路由計算,顧名思義它每次只對變化的一部分路由進行計算,而不是對全部路由重新計算。在iso-10589中定義使用dijkstra演算法進行路由計算。當網路拓撲中有乙個節點發生變化時,這種演算法需要重新計算網路中的所有節點,計算時間長,占用過多的cpu資源,影響整個網路的收斂速度。

i-spf改進了這個演算法,除了第一次計算時需要計算全部節點外,每次只計算影響的節點,而最後生成的最短路徑樹spt與原來的演算法所計算的結果相同,大大降低了cpu的佔用率,提高了網路收斂速度。

prc(partial 

route 

calculation)

部分路由計算prc的原理與i-spf相同,都是只計算變化的那一部分。但prc不需要計算節點路徑,而是根據i-spf算出來的spt來更新葉子(路由)。

在路由計算中,路由代表葉子,路由器則代表節點。如果i-spf計算後的spt改變,prc會只處理那個變化的節點上的所有葉子;如果經過i-spf計算後的spt並沒有變化,則prc只處理變化的葉子資訊。

比如乙個節點使能乙個is-is介面,則整個網路拓撲的spt是不變的,這時prc只更新這個節點的介面路由,從而節省cpu佔用率。

prc和i-spf配合使用可以將網路的收斂效能進一步提高,它是原始spf演算法的改進,所以已經代替了原有的演算法。

lsp快速擴散

為了加快整個網路的收斂速度,當is-is收到其它路由器發來的lsp時,如果此lsp比自己lsdb中的要新,按原來rfc協議的實現,則是用乙個定時器,定時將lsdb內的lsp擴散出去,所以lsdb的同步會比較緩慢。

lsp快速擴散特性改進了這種方式,配置此特性的路由器收到乙個或多個比較新的lsp時,在路由計算之前,先將小於指定數目的lsp擴散出去,加快lsdb的同步過程。這種方式在很大程度上可以提高整個網路的收斂速度。

智慧型定時器

改進了路由演算法後,如果觸發路由計算的間隔較長,同樣會影響網路的收斂速度。使用毫秒級定時器可以縮短這個間隔時間,但如果網路變化比較頻繁,又會造成過度占用cpu資源。spf智慧型定時器既可以對少量的外界突發事件進行快速響應,又可以避免過度的占用cpu。

通常情況下,乙個正常執行的is-is網路是穩定的,發生大量的網路變動的機率很小,is-is路由器不會頻繁的進行路由計算,所以第一次觸發的時間可以設定的非常短(毫秒級)。如果拓撲變化比較頻繁,智慧型定時器會隨著計算次數的增加,間隔時間也會逐漸延長,避免占用大量的cpu資源。

與spf智慧型定時器類似的還有lsp生成智慧型定時器。在is-is協議中,當lsp生成定時器到期時,系統會根據當前拓撲重新生成乙個自己的lsp。原有的實現機制是採用間隔時間定長的定時器,不能同時滿足快速收斂和低cpu佔用率的需要。為此將lsp生成定時器也設計成智慧型定時器,使其可以對於突發事件(如介面up/down)快速響應,加快網路的收斂速度。同時,當網路變化頻繁時,智慧型定時器的間隔時間會自動延長,避免過度占用cpu資源。

幾種快速的排序演算法

鴿巢排序,排序位元組串 寬位元組串最快的排序演算法,計數排序的變種 將計數緩衝區大小固定,少一次遍歷開銷 速度是stl中std sort的20多倍 更重要的是實現極其簡單!缺點是需要乙個size至少等於待排序陣列取值範圍的緩衝區,不適合int等大範圍資料。多一次遍歷的計數排序,排序位元組串的話速度約...

快速排序的幾種改進

快速排序,顧名思義,快速排序的速度是很快的,平均複雜度是nlogn。快速排序的思路 1.分治的思想,把陣列分成兩份,兩份分成4分,這樣分到足夠小,就能很好排序咯,然後把他們合起來,排序完成。2.該分治思想和合併排序思想一樣,但是處理上更搞一籌,他是把小的和大的分成兩份,這樣在最後合併的時候,就不會像...

快速排序演算法的幾種實現

序列範圍 l,u 選取第乙個元素為樞紐值,然後圍繞t劃分陣列 m a 1 for i a,b if x i 迴圈終止後有 此時交換x l 和x m 即可。void qsort1 int x,int l,int u swap x l x m qsort x,l,m 1 qsort x,m 1,u 可以...