降低鏈路聚合端口報文丟失的方法及硬件控制單元的制作方法
【專利說明】
[0001] 本申請是申請號為"201010292572. 3"的分案申請,原申請的申請日為2010年9 月26日,發明名稱為"降低鏈路聚合端口報文丟失的方法及通信設備"。
技術領域
[0002] 本發明涉及鏈路聚合技術領域,特別涉及一種降低鏈路聚合端口報文丟失的方法 及硬件控制單元。
【背景技術】
[0003] 鏈路聚合是將多個物理以太網端口聚合在一起形成一個邏輯上的聚合組,使用 鏈路聚合服務的通信設備把同一聚合組內的多條物理鏈路視為一條邏輯鏈路。一個聚 合組中的端口有兩種狀態,即選中的(Selected)狀態和未選中的(Unselected)狀態, 其中,Selected狀態的端口為具有正常的報文轉發能力的端口,可以參與報文的轉發,而 Unselected狀態的端口則為不具有正常的報文轉發能力的端口,不能參與報文的轉發。
[0004] 使用鏈路聚合服務的通信設備可以采用流不相關和流相關兩種方式來轉發報文, 其中,流不相關方式為通過每個處于Selected狀態的端口輪流轉發報文;而流相關方式則 是根據報文的源媒體訪問控制(MC)、目的MAC、源因特網協議(IP)、目的IP以及四層端口 號來計算哈希(HASH)系數,將計算得到的HASH系數對聚合組中處于Selected狀態的端口 總數求余,再將求余后對應的端口作為實際轉發報文的端口。
[0005] 當聚合組中處于Selected狀態的端口鏈路出現故障時,該端口也就失去了報文 轉發能力,此時需要將該端口從聚合組中刪除。圖1為現有鏈路聚合端口的鏈路故障處理 方法,如圖1所示,該方法包括:
[0006] 步驟101 :當檢測出處于Selected狀態的端口的鏈路故障時,將該故障鏈路的端 口設置為去使能,使其停止報文發送。
[0007] 在本步驟中,端口的鏈路是否出現故障可通過輪詢端口的工作狀態或端口本身定 時上報其工作狀態來獲得,具體檢測過程不再贅述。
[0008] 需要說明的是,本步驟中雖然將故障鏈路的端口設置為去使能,但是由于該端口 還處于Selected狀態,因此,此時故障鏈路的端口還會接收報文。
[0009] 步驟102 :將故障鏈路的端口由Selected狀態修改為Unselected狀態。
[0010] 步驟103 :刪除聚合組中修改為Unselected狀態的端口。
[0011] 經過本步驟的操作后,故障鏈路的端口從聚合組中刪除了,也就停止了報文的接 收。
[0012] 至此,即完成了現有所采用的鏈路聚合端口的鏈路故障處理方法的整個工作流 程。基于上述故障處理方法,圖2給出了現有鏈路聚合中所采用的通信設備的結構,如圖2 所示,該通信設備包括:存儲單元21、檢測單元22、管理單元23、更新單元24、選擇單元25 以及轉發單元26。其中,
[0013] 所述存儲單元21,用于存儲聚合組中處于Selected狀態的端口。
[0014] 所述檢測單元22,用于檢測存儲單元21中存儲的每一個端口的鏈路的工作狀態, 當其中某個端口的鏈路故障時,將所述故障鏈路的端口設置為去使能,使該端口停止發送 報文,并將所述故障鏈路的端口的端口信息發送給管理單元23。
[0015] 所述管理單元23,用于根據接收到的故障鏈路的端口的端口信息,將所述故障鏈 路的端口修改為Unselected狀態,并將所述修改狀態后的端口信息發送給更新單元24。
[0016] 所述更新單元24,用于接收到修改狀態后的端口信息后,刪除所述存儲單元21中 存儲的修改為Unselected狀態的端口。
[0017] 所述選擇單元25,用于按照設定的轉發報文的方式從存儲單元21中選擇端口,并 將所述選擇出的端口信息發送給轉發單元26。
[0018] 所述轉發單元26,用于將輸入的報文從接收到的由所述選擇單元25發送的端口 轉發出去。
[0019] 至此,即得到了現有鏈路聚合中所采用的通信設備。
[0020] 通過上述分析可以看出,當端口的鏈路故障時該端口即失去了報文轉發能力,而 此時該端口還處于Selected狀態,也就還會接收報文,而這些報文并不能由失去報文轉發 能力的端口成功轉發出去,也就造成了報文的丟失。直到經過一定的時間處理,將端口從處 于Selected狀態的聚合組中刪除時,該故障鏈路的端口才不會再接收報文。因此,采用現 有鏈路聚合端口的鏈路故障處理方法和通信設備,當端口的鏈路故障時,由于需要一定時 間對失去報文轉發能力的端口從聚合組中刪除,因而會導致這段時間內選擇該故障鏈路的 端口進行轉發的報文的丟失。
【發明內容】
[0021] 有鑒于此,本發明提供了一種降低鏈路聚合端口報文丟失的方法,能夠有效減少 報文丟失的數量。
[0022] 本發明還提供了一種降低鏈路聚合端口報文丟失的通信設備,能夠有效減少報文 丟失的數量。
[0023] 為了達到上述目的,本發明提出的技術方案為:
[0024] -種降低鏈路聚合端口報文丟失的方法,該方法包括:
[0025] 為聚合組中每一個處于選中的Selected狀態的端口設置備份端口;
[0026] 當聚合組中某個處于Selected狀態的端口的鏈路故障時,將該故障鏈路的端口 設置為去使能,使之失去報文轉發能力,并將由該故障鏈路的端口接收的報文從其備份端 口轉發,直至故障鏈路的端口為未選中的Unselected狀態,
[0027] 其中,所述Selected狀態為具有正常的報文轉發能力,所述Unselected狀態為不 具有正常的報文轉發能力。
[0028] 所述將該故障鏈路的端口接收的報文從其備份端口轉發包括:將由該故障鏈路的 端口接收的報文的出端口修改為其備份端口,并將所述報文從所述修改后的備份端口進行 轉發。
[0029] 所述將由該故障鏈路的端口接收的報文從其備份端口轉發之后,該方法還包 括:將故障鏈路的端口由Selected狀態修改為Unselected狀態,并刪除聚合組中修改為 Unselected狀態的端口。
[0030] 所述刪除聚合組中修改為Unselected狀態的端口之后,該方法還包括:更新聚合 組中處于Selected狀態的端口及其對應的備份端口。
[0031] 所述為端口設置備份端口是按照輪轉法或權重法來實現的。
[0032] -種降低鏈路聚合端口報文丟失的通信設備,該通信設備包括存儲單元、檢測單 元、管理單元、更新單元、選擇單元以及轉發單元,該通信設備還包括判斷單元,其中,
[0033] 所述存儲單元,用于為聚合組中每一個處于選中的Selected狀態的端口存儲一 個備份〗而口;
[0034] 所述選擇單元,用于從所述存儲單元中選擇存儲的已選擇出的端口的備份端口, 并將所述選擇出的備份端口的端口信息發送給轉發單元;
[0035] 所述判斷單元,用于判斷所述選擇單元選擇的端口是否已被檢測單元設置為去使 能,當所述選擇的端口為去使能時,指示所述選擇單元從存儲單元中選擇去使能端口的備 份端口;
[0036] 所述轉發單元,用于將輸入的報文從所述選擇單元選擇出的備份端口轉發,直至 所述被設置為去使能的端口為未選中的Unselected狀態,
[0037] 其中,所述Selected狀態為具有正常的報文轉發能力,所述Unselected狀態為不 具有正常的報文轉發能力。
[0038] 所述轉發單元,通過將所述選擇單元選擇的被設置為去使能的端口接收的報文的 出端口修改為其備份端口,并將所述報文從所述修改后的備份端口進行轉發。
[0039] 所述存儲單元,通過輪轉法或權重法為處于Selected狀態的端口選擇備份端口 進行存儲。
[0040] 綜上所述,本發明所采用的降低鏈路聚合端口報文丟失的方法和通信設備,是通 過在通信設備中為聚合組中每一個處于Selected狀態的端口設置一個備份端口,從而使 得當某個端口的鏈路故障時,能夠及時將由該故障鏈路的端口接收的報文從備份端口進行 轉發,也就減少了端口的鏈路故障到故障鏈路的端口被刪除這段時間內由故障鏈路的端口 接收的報文的丟失,從而有效減少了報文丟失的數量。
【附圖說明】
[0041] 圖1為現有鏈路聚合端口的鏈路故障處理方法的工作流程圖;
[0042] 圖2為現有鏈路聚合中所采用的通信設備的結構示意圖;
[0043] 圖3為本發明鏈路聚合端口的鏈路故障處理方法實施例的工作流程圖;
[0044] 圖4為本發明鏈路聚合中的通信設備的結構示意圖。
【具體實施方式】
[0045] 為了解決現有技術中存在的問題,本發明所采用的降低鏈路聚合端口報文丟失的 方法和通信設備,是通過在通信設備中為聚合組中每一個處于Selected狀態的端口設置 一個備份端口,從而使得當某個端口的鏈路故障時,能夠及時將由該故障鏈路的端口接收 的報文的出端口修改為故障鏈路的端口的備份端口,并將所述報文從修改后的備份端口進 行轉發,也就減少了端口的鏈路故障到故障鏈路的端口被刪除這段時間內由故障鏈路的端 口接收的報文的丟失,從而有效減少了報文丟失的數量。
[0046] 基于上述介紹,本發明所述方案的具體實現包括:
[0047] 為聚合組中每一個處于Selected狀態的端口設置備份端口;當聚合組中某個處 于Selected狀態的端口的鏈路故障時,將該故障鏈路的端口設置為去使能,使之失去報文 轉發能力,并將由該故障鏈路的端口接收的報文從其備份端口轉發,直至故障鏈路的端口 為 Unselected 狀態。
[0048] 為使本發明的目的、技術方案和優點更加清楚,下面將結合附圖及具體實施例對 本發明作進一步地詳細描述。
[0049] 圖3為本發明鏈路聚合端口的鏈路故障處理方法實施例的工作流程圖。如圖3所 示,該流程包括:
[0050] 步驟301 :為聚合組中每一個處于Selected狀態的端口設置備份端口。
[0051 ] 在本步驟中,備份端口可以按照輪轉法和權重