高性能路由器中集成IS-IS協議路由穩定性研究
1 引言 集成IS-IS( Intermediate System to Intermediate System)協議 [1] 是一種域內路由協議,通過與自治系統(AS)內其它路由器交互已知的路由信息,學習到整個自治系統的 網絡 拓撲結構;并通過自治系統邊界的路由器注入的其它自治系統的路由信息,得到整個Internet的路由信息。IS-IS [2] 所使用的協議數據包有以下幾種:點到點HELLO包;廣播網HELLO包;鏈路狀態協議數據包(LSP);完全序列號協議數據包(CSNP);部分序列號協議數據包(PSNP)。HELLO包用于發現、建立和維護鄰居關系,LSP、CSNP、PSNP則主要用于鏈路狀態信息的交換、更新和擴散。 路由軟件的穩定性主要與處理器對協議報文及時處理負載和路由抖動因素相關,如果處理器對路由信息處理的負載很高,那么將意味著網絡穩定性不夠,在網絡有突發流量時就可能出現問題。路由抖動則是由于網絡的不穩定而不斷地進行路徑的更替,不僅會產生過多的鏈路狀態包,還增加了SPF 計算 的數量。本文對集成IS-IS的路由穩定性進行了深入研究,并提出優化改進方案。 2 集成IS-IS協議鏈路狀態數據包處理 2.1 抑制不穩定鏈路LSP的產生 當IS產生一個新LSP后,就要向外進行擴散,刷新原有的鏈路狀態通告,這樣就會在網絡中引起一序列的數據包收發過程以及路由的重新計算。如果這種新LSP的產生過于頻繁,無疑會增加整個網絡的傳輸和處理負擔。當IS某個端口處于不穩定狀態,端口UP/DOWN頻繁時,就會出現這個問題。一個較簡單方法是設定本地LSP最小產生間隔(如30秒),也就是一個LSP產生之后,下一個LSP的產生要等待此間隔超時。如果在此間隔內本地IS狀態已經出現了變化,應產生新LSP通告,那么就設置變化標志,等到間隔超時,再由此標志觸發新LSP的產生。若在此期間有多次狀態變化,則在間隔超時后,IS要對各端口和其它路由信息進行檢查,最終的狀態結果會包含在新產生的LSP中。 2.2 最大LSP序列號的高效處理 LSP序列號表示了IS產生本地LSP的先后次序,同時也是比較LSP新舊的重要參數。序列號為4個字節,協議要求IS產生LSP序號從1開始,順序遞增,直至最大值。當序列號取最大值時,本地IS需要強制復位,重啟后序列號又從1開始。為了保證網絡中原有最大序列號LSP能被所有IS從數據庫中超時清除,本地IS重啟后要延遲足夠的時間。如果LSP保持時間為1200秒,再加上60秒的零生命期,那么本地IS至少要等待1260秒才能重新啟動。 對于序列號復位可以采用另一種更為有效的處理方法:當序列號取最大值后,由本地IS主動進行老化處理,也就是產生一個新LSP,其序列號為最大值,并且剩余生存期置為0,向所有接口網絡中擴散。網絡中其它IS收到此LSP后,按照協議規定,清除數據庫中帶有最大序列號LSP,只保留該LSP的一個摘要,同時啟動零生命期。零生命期超時后,LSP被徹底刪除。這樣本地IS只需等待零生命期超時稍長的時間,就可以重新起用序列號1來產生新的LSP。與前一種方式相比,此種方法等待時間明顯縮短,并且路由軟件還不需復位重啟。 3 集成IS-IS協議鏈路狀態數據包交互研究 只要某些IS具有相似的鏈路狀態數據庫,而又與DIS有所不同,就會發生LSP重復廣播現象。當DIS A廣播CSNP時,多個非DIS路由器都發現自己與DIS間鏈路狀態數據庫的差異,同時發出LSP更新對方或本地的鏈路狀態數據庫,形成不必要的重復廣播,這種情況在新啟動路由器被選舉成DIS時更明顯。 為避免或減少這種重復發生,一種可行處理方法是采用隨機延遲策略。在收到DIS的CSNP包后,非DIS若需響應則應隨機等待一段時間再發送 LSP。在此時間段內,如果有IS廣播了 LSP,其它非DIS接收判別后就不必再作相同的廣播,從而有效地減少了數據包重復發送。 隨機等待的時間越長,多個IS同時響應的概率越小,產生重復發送的可能性就越小,但平均響應時間會加長。為便于分析,令隨機等待時間 ,其中k取0到n的一個隨機整數值(均勻分布), 為一個時間常數。P表示不產生重復發送的概率,T表示平均響應延時。若處于相同(或近似)狀態的IS有m個,則P、 T可分別計算如下: 設P為IS在某一特定時刻產生響應的概率,由于IS在任一時刻(0, ,2 ,n )響應是概率分布,所以 p=1/(n+1)。 0時刻有且只有一個IS首次響應的概率: ; 時刻有且只有一個IS首次響應的概率: ; (n-1) 時刻有且只有一個IS首次響應的概率: ; n 時刻有且只有一個IS首次響應的概率: 任一時刻有且只有一個IS首次響應(不產生重復發送)的概率: 根據上式得出概率P的曲線如圖1所示。 圖1 不產生包重復發送概率圖 在0時刻沒有一個IS響應的概率 ,至 時刻沒有一個IS響應的概率 ,至 (n-1) 時刻沒有一個IS響應的概率 ,至n 時刻沒有一個IS響應的概率P n =0; 0時刻有IS響應的概率為1- P 0 , 時刻有IS首次響應的概率為P 0 - P 1 , (n-1) 時刻有IS首次響應的概率為P n-2 - P n-1 ,n 時刻有IS首次響應的概率為P n-1 。 IS平均響應延遲:
本文引用地址:http://www.j9360.com/article/202307.htm根據上式可畫出平均響應延時T的曲線(縱坐標單位為 )如圖2所示。 圖2 平均響應延時圖 當處于相同狀態IS個數m(m>1)一定時,IS允許等待時間越長,避免數據包重復廣播概率越大;當IS允許等待的最長時間一定時,m越大,避免數據包重復廣播概率越小。隨著n取值的增大,不出現重復廣播的概率增大,但增大的程度會逐漸趨緩。當n大到一定程度后,對于避免重復廣播已不會有太大的改善,如圖1所示,當n取值為m的2倍時,P都達到0.8左右,n值再增大,P變化不明顯。當m數一定時,n越大,平均響應延遲越大;n取值一定時,m越大,平均響應延遲越大。當n取值較大時,平均響應延遲T與n近似成線性關系,隨著n的增加,T將線性增長。 通過以上 計算 分析我們知道,采用隨機延時等待策略可以有效地減少或避免LAN上重復廣播的出現,但這并不意味著允許最大等待時間越長越好。當 值較大時,對減少重復廣播已無多大改善,相應延遲卻仍按比例增加,響應延遲增加會影響鏈路狀態包在 網絡 中的同步和擴散,影響協議性能。因此最大允許等待時間不宜過大,小于CSNP發送周期(10秒),這樣可以保證在下一個CSNP到來之前完成本次同步過程。 4 集成IS-IS協議LSP重傳問題 在點到點鏈路上,IS發出LSP包后,對方要根據收到LSP更新其數據庫,同時返回PSNP作為確認,發送方接收到確認后,才把LSP在此鏈路上的發送標志SRM清除,否則此LSP會被再次發送,直至收到對方的確認。這里存在兩種可能:其一是在未收到確認前,LSP的重復發送過于頻繁,其二是若對方出現故障無法應答,則在鄰接關系解除之前,LSP可能要多次傳送。在協議信息流已使網絡處于擁塞的時期,主要擁塞原因之一是反復重傳LSP。通過指數退避算法動態調整LSP的重傳速率,可以減輕網絡的負載,使網絡盡早恢復正常。在對方發生故障情況下,也能減少重傳。R(i)表示第i 次LSP重傳時的RxmtInterval值。使用如下算法計算:
其中k、R min 和 R max 是常量。
4.1 基于未確認的LSP數量檢測算法 如果路由器發生控制信息擁塞時,其鄰居并不能顯式知道。但能夠從路由器未被確認的LSP的數量隱式檢測出來。如果這個值超過一定的“最高閾值”,則LSP發送到該路由器的速率應當使用指數退避算法逐步降低,但不能低于最小速率。如果未確認的LSP的數量降到“最低閾值”,則LSP發送到該路由器的速率應當使用指數退避算法逐步提高,但不能高于最高速率。算法對于每個鄰居獨立運用,適用于發送到鄰居的IS-IS單播的LSP分組。整個算法描述如下: U(t)=t時刻到鄰居的未確認LSP數量;H =最高閾值(未確認LSP數量);L =最低閾值(未確認LSP數量);G(t)=t時刻連續發送LSP到鄰居的時隙; F=時隙增長(擁塞情況下)或者降低(擁塞之后)的系數; T=時隙改變的最短間隔; G min =時隙最小值;G max =時隙最大值。下述方程式表明了時間T后時隙的改變:
4.2 重傳時間間隔設置對網絡的影響 網絡處于LSP擁塞狀態下,協議分組傳輸會受到影響。如果傳輸延遲超過了設置的重傳時間間隔,有可能造成鄰居失效或LSP分組的重傳,實驗模擬當網絡發生LSP擁塞時,重傳時間間隔參數不同的設置值情況下,網絡的某一接口在3分鐘內收發的協議分組總數,實驗數據見表1。 表1 實驗數據表 次數 重傳間隔(秒) 接收協議分組數量 1 1 552 2 4 144 3 8 75 4 16 46 5 32 31 從表1中接口協議分組收發數量可以看出,網絡發生LSP擁塞時,適當延長重傳時間間隔參數的值,可以降低網絡中傳輸協議分組的數量,使網絡盡快擺脫LSP擁塞狀態,恢復正常。
5 結論 本文以高性能路由器集成IS-IS協議的研究為基礎,對集成IS-IS協議的路由穩定性進行了研究并對針對相關問題提出了改進方案。本文通過對協議包處理流程的優化有效地減少了不穩定鏈路上LSP的產生,高效地處理了最大LSP順序號的問題,通過理論分析得出了LSP交互的優化方案,利用基于未確認的LSP檢測機制研究了減少LSP重傳的問題。
參考 文獻
[1]D. Oran.OSI IS-IS Intra-domain Routing Protocol[S],Request for Comments:1142,1990
[2]R. Callon.Use of OSI IS-IS for Routing in TCP/IP and Dual Environments[S],Request for Comments:1195,1990
[3]Jeff Doyle著,葛建立,吳建章譯.Routing TCP/IP Volume 1[M].人民郵電出版社,2002
評論