一種抑制協(xié)議端口振蕩上報的裝置及方法
【技術領域】
[0001]本發(fā)明涉及IP傳輸設備中的路由協(xié)議振蕩領域,具體涉及一種抑制協(xié)議端口振蕩上報的裝置及方法。
【背景技術】
[0002]鏈路狀態(tài)路由協(xié)議是一種基于最短路徑優(yōu)先算法的協(xié)議。在鏈路狀態(tài)路由協(xié)議中,短時間內(nèi)頻繁鄰接振蕩(例如協(xié)議端口 UP/DOWN,使能/非使能,在使能狀態(tài)和非使能狀態(tài)中反復切換,即端口反復抖動導致的鄰接振蕩)會導致協(xié)議路由重新反復計算,進而產(chǎn)生路由振蕩。對于網(wǎng)絡拓撲比較復雜、且路由節(jié)點數(shù)量較多的現(xiàn)代網(wǎng)絡而言,每進行一次路由計算都會占用大量的系統(tǒng)資源,進而對系統(tǒng)造成很大沖擊:例如在路由器繁忙時進行路由計算會使得路由器的延遲增大,進而導致網(wǎng)絡傳輸質量下降。
[0003]為了能夠快速檢測鏈路可達性是否有效,人們一般通過硬件檢測手段或者路由協(xié)議本身的hello機制加快路由的收斂。硬件檢測手段包括端口狀態(tài)檢測和BFD (雙向轉發(fā)檢測機制等)檢測等,硬件檢測手段的路由收斂速度通常都比協(xié)議本身的hello機制(應答機制)快。
[0004]但是,通過硬件檢測手段加快路由收斂時,若網(wǎng)絡中某條鏈路不穩(wěn)定或者端口狀態(tài)不穩(wěn)定,則會導致大量BFD檢測或者端口狀態(tài)的消息上報給路由協(xié)議,進而觸發(fā)路由重計算,加劇路由振蕩,鏈路不夠穩(wěn)定。
[0005]為了保證鏈路的穩(wěn)定,需要抑制路由端口的振蕩上報,抑制協(xié)議端口振蕩上報時,一般采用配置端口對傳輸告警抑制時間或者采用懲罰時間機制。但是,采用配置端口對傳輸告警抑制時間和采用懲罰時間機制分別存在以下問題:
[0006](I)采用配置端口對傳輸告警抑制時間能夠避免因端口狀態(tài)頻繁變化而引起的震蕩,但是配置端口對傳輸告警抑制時間只能延緩端口振蕩的上報頻率,端口仍然會發(fā)生UP/DOffNo
[0007](2)采用懲罰時間機制能夠動態(tài)調整懲罰的間隔時間,但是在較長的間隔時間內(nèi)端口狀態(tài)穩(wěn)定為UP后,難以及時恢復鏈路信息,進而降低了路由的收斂速度,使得路由收斂較慢,路由流量的中斷時間較長,難以滿足人們的需求。
【發(fā)明內(nèi)容】
[0008]針對現(xiàn)有技術中存在的缺陷,本發(fā)明的目的在于提供一種抑制協(xié)議端口振蕩上報的裝置及方法。本發(fā)明能夠根據(jù)三層協(xié)議端口狀態(tài)的變化的不同做出最精簡的處理,不僅使得三層協(xié)議端口不易發(fā)生UP/D0WN,能夠抑制路由振蕩的產(chǎn)生,而且能夠減少路由計算的數(shù)量,降低路由的更新和切換次數(shù),提高網(wǎng)絡的穩(wěn)定性,提升CPU的處理效率,便于人們使用。
[0009]為達到以上目的,本發(fā)明提供一種抑制協(xié)議端口振蕩上報的裝置,包括設置在三層協(xié)議端口上的抑制狀態(tài)機、定時器和應答hello計數(shù)器;
[0010]所述抑制協(xié)議端口振蕩上報的裝置抑制協(xié)議端口振蕩上報時,在定時器上預設時間參數(shù),在hello計數(shù)器上預設hello協(xié)議報文接收個數(shù)N ;所述時間參數(shù)包括定時時間timer ;確定三層協(xié)議端口的狀態(tài):
[0011]若三層協(xié)議端口為使能UP狀態(tài),將抑制狀態(tài)機的狀態(tài)設置為UP狀態(tài),當三層協(xié)議端口收到二層物理端口上報的端口非使能DOWN事件時,三層協(xié)議端口響應處理,三層協(xié)議端口的狀態(tài)改變?yōu)镈OWN狀態(tài),將抑制狀態(tài)機的狀態(tài)設置為DOWN狀態(tài);
[0012]若三層協(xié)議端口為DOWN狀態(tài),當三層協(xié)議端口收到二層物理端口上報的端口 UP事件后,將三層協(xié)議端口的狀態(tài)保持為DOWN狀態(tài),開啟定時器,在timer時間內(nèi),判定二層物理端口未上報新的DOWN事件;在timer時間內(nèi),hello計數(shù)器判定連續(xù)接收到的對向端口發(fā)送的hello協(xié)議報文在N以上,將抑制狀態(tài)機的狀態(tài)設置為UP狀態(tài),將三層協(xié)議端口的狀態(tài)設置為UP狀態(tài);關閉定時器和hello計數(shù)器,清除二層物理端口上報的DOWN事件,恢復建立鄰居路由器之間的鄰接關系,重新計算路由數(shù)據(jù)。
[0013]本發(fā)明提供一種基于上述裝置的抑制協(xié)議端口振蕩上報的方法,包括以下步驟:
[0014]A、在定時器上預設時間參數(shù),在hello計數(shù)器上預設hello協(xié)議報文接收個數(shù)N ;所述時間參數(shù)包括timer ;確定三層協(xié)議端口的狀態(tài),若三層協(xié)議端口為UP狀態(tài),轉到步驟B,若三層協(xié)議端口為DOWN狀態(tài),轉到步驟C ;
[0015]B、將抑制狀態(tài)機的狀態(tài)設置為UP狀態(tài),當三層協(xié)議端口收到二層物理端口上報的端口 DOWN事件時,三層協(xié)議端口響應處理,三層協(xié)議端口的狀態(tài)改變?yōu)镈OWN狀態(tài),將抑制狀態(tài)機的狀態(tài)設置為DOWN狀態(tài),轉到步驟C ;
[0016]C、當三層協(xié)議端口收到二層物理端口上報的端口 UP事件后,將三層協(xié)議端口的狀態(tài)保持為DOWN狀態(tài),開啟定時器,在timer時間內(nèi),判定二層物理端口未上報新的DOWN事件;在timer時間內(nèi),hello計數(shù)器判定連續(xù)接收到的對向端口發(fā)送的hello協(xié)議報文在N以上,將抑制狀態(tài)機的狀態(tài)設置為UP狀態(tài),將三層協(xié)議端口的狀態(tài)設置為UP狀態(tài);關閉定時器和hello計數(shù)器,清除二層物理端口上報的DOWN事件,轉到步驟D ;
[0017]D、恢復建立鄰居路由器之間的鄰接關系,重新計算路由數(shù)據(jù),結束。
[0018]在上述方案的基礎上,步驟A中所述時間參數(shù)還包括應答時間hello time、開放式最短路徑優(yōu)先OSPF協(xié)議的默認值、中間系統(tǒng)到中間系統(tǒng)的路由選擇ISIS協(xié)議的默認值。
[0019]在上述方案的基礎上,所述timer根據(jù)hello time的倍數(shù)設置,所述OSPF協(xié)議的默認值設置為死亡時間dead time,所述ISIS協(xié)議的默認值設置為保持時間hold time,所述N設置為4。
[0020]在上述方案的基礎上,步驟B中若三層協(xié)議端口配合有雙向轉發(fā)檢測BFD機制,則按照原有的BFD處理方式響應處理二層物理端口上報的端口 DOWN事件。
[0021]在上述方案的基礎上,步驟C還包括以下步驟:當三層協(xié)議端口收到二層物理端口上報的端口 DOWN事件后,將三層協(xié)議端口的狀態(tài)保持為DOWN狀態(tài),重新執(zhí)行步驟C。
[0022]在上述方案的基礎上,步驟C中開啟定時器之后,還包括以下步驟:在timer時間內(nèi),判定物理端口已上報新的DOWN事件,關閉定時器和hello計數(shù)器,清除二層物理端口上報的DOWN事件,保持抑制狀態(tài)機的狀態(tài)為DOWN狀態(tài),重新執(zhí)行步驟C。
[0023]在上述方案的基礎上,步驟C中判定二層物理端口未上報新的DOWN事件之后,還包括以下步驟:在timer時間內(nèi),hello計數(shù)器判定連續(xù)接收到的對向端口發(fā)送的hello協(xié)議報文小于N,關閉定時器和hello計數(shù)器,清除二層物理端口上報的DOWN事件,保持抑制狀態(tài)機的狀態(tài)為DOWN狀態(tài);重新執(zhí)行步驟C。
[0024]與現(xiàn)有技術相比,本發(fā)明的優(yōu)點在于:
[0025]本發(fā)明在三層協(xié)議端口設置有抑制狀態(tài)機、定時器和hello計數(shù)器,抑制狀態(tài)機能夠抑制和控制三層協(xié)議端口的狀態(tài)變化,進而快速響應二層物理端口上報的端口 DOWN事件,不會影響B(tài)FD的處理效率。
[0026]定時器和hello計數(shù)器能夠在預設的定時時間內(nèi)確定是否有新的端口 DOWN事件發(fā)生、以及連續(xù)接收的hello協(xié)議報文的數(shù)量,進而快速改變?nèi)龑訁f(xié)議端口和抑制狀態(tài)機的狀態(tài)。
[0027]因此,本發(fā)明能夠根據(jù)三層協(xié)議端口狀態(tài)的變化的不同做出最精簡的處理,不僅使得三層協(xié)議端口不易發(fā)生UP/D0WN,能夠抑制路由振蕩的產(chǎn)生,適用于鏈路狀態(tài)協(xié)議,而且能夠減少路由計算的數(shù)量,降低路由的更新和切換次數(shù),提高網(wǎng)絡的穩(wěn)定性,提升CPU的處理效率,便于人們使用。
【附圖說明】
[0028]圖1為本發(fā)明實施例中抑制協(xié)議端口振蕩上報的方法的流程圖。
【具體實施方式】
[0029]以下結合附圖及實施例對本發(fā)明作進一步詳細說明。
[0030]本發(fā)明實施例中的抑制協(xié)議端口振蕩上報的裝置,包括設置在三層(網(wǎng)絡層)協(xié)議端口上的抑制狀態(tài)機、定時器和hello計數(shù)器(應答計數(shù)器)。
[0031]本發(fā)明實施例中的基于上述裝置的抑制協(xié)議端口振蕩上報的方法,包括以下步驟: