一種流量轉發方法及設備的製作方法
2023-05-28 02:05:36
專利名稱:一種流量轉發方法及設備的製作方法
技術領域:
本發明涉及通信領域,尤其涉及一種流量轉發方法及設備。
背景技術:
堆疊技術將兩臺或者多臺分布式框式設備連接起來,形成一臺邏輯設備,參與堆疊的所有框式設備使用相同的配置文件。用戶可以像管理一臺單一設備一樣管理該邏輯設備。堆疊技術具有高可用性、高可擴展性以及管理簡單的優勢。根據堆疊成員設備的連接形式的不同,可以將堆疊分為鏈行堆疊和環形堆疊兩 種。從一臺堆疊成員設備進入的流量可能需要從另外一臺堆疊成員設備轉發出去。不同堆疊類型的堆疊系統報文的轉發機制可能不一樣。如圖I所示,為現有技術中鏈形堆疊系統的架構示意圖,其中,從設備I的入接口GE/1/0/10進入堆疊系統的流量,經過堆疊成員設備(簡稱設備)I、設備2和設備3後,從出接口 GE/3/0/10轉發出去。如圖2所示,為現有技術中環形堆疊系統的架構示意圖,其中,按照最短路徑優先原則,從設備I進入堆疊系統且目的設備為設備3的流量通過設備I和設備3之間的直連鏈路轉發;從設備I進入堆疊系統且目的設備為設備2的流量通過設備I和設備2之間的直連鏈路轉發。在現有環形堆疊系統中,當某堆疊設備發生重啟時,在堆疊系統重新穩定之前,通過該設備進行轉發的流量可能會被丟棄,以圖3所示的環形堆疊系統為例。按照最短路徑優先原則,從設備I的入接口 GE1/0/10進入堆疊系統,且目的設備為設備4的流量通過鏈路「設備1_>設備5->設備4」進行轉發。當設備5發生重啟時,在堆疊系統重新穩定之前,通過該鏈路轉發的流量將被丟棄。現有技術中並不存在解決上述問題的技術方案。
發明內容
本發明的目的在於提供一種流量轉發方法及設備,以減少環形堆疊系統中堆疊設備發生重啟時流量丟棄的發生,為此,本發明採用如下技術方案一種流量轉發方法,應用於環形堆疊系統,所述環形堆疊系統中各堆疊設備分別通過第一堆疊口和第二堆疊口與相鄰的其他堆疊設備相連,且各堆疊設備中存儲有所述環形堆疊系統的邏輯拓撲,該方法包括當所述堆疊設備獲知所述環形堆疊系統中其他堆疊設備發生重啟時,所述堆疊設備更新自身存儲的邏輯拓撲,以使所述環形堆疊系統中流量在未發生重啟的堆疊設備之間轉發;所述堆疊設備根據更新後的邏輯拓撲進行流量轉發。其中,所述堆疊設備更新自身存儲的邏輯拓撲,以使所述環形堆疊系統中流量在未發生重啟的堆疊設備之間轉發,具體為
所述堆疊設備將自身存儲的邏輯拓撲中發生重啟的堆疊設備的第一堆疊口或/和第二堆疊口對應的邏輯鏈路斷開。其中,所述環形堆疊系統中各堆疊設備更新後的邏輯拓撲相同。一種堆疊設備,應用於環形堆疊系統,所述環形堆疊系統中各堆疊設備分別通過第一堆疊口和第二堆疊口與相鄰的其他堆疊設備相連,該堆疊設備包括存儲模塊,用於存儲所述環形堆疊系統的邏輯拓撲;更新模塊,用於當所述堆疊設備獲知所述環形堆疊系統中其他堆疊設備發生重啟時,更新所述存儲模塊存儲的邏輯拓撲,以使所述環形堆疊系統中流量在未發生重啟的堆疊設備之間轉發;轉發模塊,用於根據更新後的邏輯拓撲進行流量轉發。其中,所述更新模塊具體用於,將所述存儲模塊中存儲的邏輯拓撲中發生重啟的堆疊設備的第一堆疊口或/和第二堆疊口對應的邏輯鏈路斷開。其中,所述環形堆疊系統中各堆疊設備更新後的邏輯拓撲相同。本發明具有如下有益效果當堆疊設備獲知環形堆疊系統中其他堆疊設備發生重啟時,堆疊設備更新自身存儲的邏輯拓撲,以使環形堆疊系統中目的設備為未發生重啟的堆疊設備的流量不經過發生重啟的堆疊設備進行轉發,而在未發生重啟的堆疊設備之間轉發,減少了在環形堆疊系統中堆疊設備發生重啟的情況下的流量丟失。
圖I為現有技術中一種鏈式堆疊系統的架構示意圖;圖2為現有技術中一種環式堆疊系統的架構示意圖;圖3為現有技術中一種環形堆疊系統的架構示意圖;圖4為本發明實施例提供的一種流量轉發方法的流程示意圖;圖5a為本發明實施例提供的一種更新後的邏輯拓撲示意圖;圖5b為本發明實施例提供的一種更新後的邏輯拓撲示意圖;圖5c為本發明實施例提供的一種更新後的邏輯拓撲示意圖;圖6為本發明實施例提供的一種堆疊設備的結構示意圖。
具體實施例方式針對現有技術存在的上述問題,本發明實施例提供了一種應用於環形堆疊系統中的流量轉發的技術方案。在該技術方案中,當堆疊設備獲知環形堆疊系統中其他堆疊設備發生重啟時,堆疊設備更新自身存儲的邏輯拓撲,以使環形堆疊系統中目的設備為未發生重啟的堆疊設備的流量不經過發生重啟的堆疊設備進行轉發,而在未發生重啟的堆疊設備之間轉發,減少了在環形堆疊系統中堆疊設備發生重啟的情況下流量丟棄的發生。下面將結合本發明的實施例中的附圖,對本發明的實施例中的技術方案進行清楚、完整的描述,顯然,下面所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有付出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明的實施例保護的範圍。、
如圖4所示,為本發明實施例提供的一種流量轉發方法的流程示意圖,在該實施例中,環形堆疊系統中各堆疊設備分別通過第一堆疊口和第二堆疊口與相鄰的其他堆疊設備相連,且各堆疊設備中存儲有環形堆疊系統的邏輯拓撲(各堆疊設備根據自身存儲的邏輯拓撲選擇流量轉發路徑,且同一系統中,各堆疊設備中存儲的邏輯拓撲一致),該方法可以包括以下步驟步驟401、當堆疊設備獲知所述環形堆疊系統中其他堆疊設備發生重啟時,該堆疊設備更新自身存儲的邏輯拓撲,以使環形堆疊系統中流量在未發生重啟的堆疊設備之間轉發。具體的,當環形堆疊系統中堆疊設備發生重啟時,環形堆疊系統的管理設備(如環形堆疊系統中的主堆疊設備)會向系統中各未發生重啟的堆疊設備發送通知消息,以使相應的堆疊設備獲知系統中有堆疊設備發生重啟。為了解決現有技術中因堆疊設備重啟而導致經過在發生重啟的堆疊設備轉發的 流量被丟棄的問題,在本發明實施例中,當堆疊設備獲知環形堆疊系統中其他堆疊設備發生重啟時,該堆疊設備更新自身存儲的邏輯拓撲,以保證系統內目的設備為未發生重啟的堆疊設備的流量不經過發生重啟的堆疊設備轉發,而在未發生重啟的堆疊設備之間轉發,從而減少流量被丟棄的發生。其中,在本發明實施例中,堆疊設備更新自身存儲的邏輯拓撲至少可以包括堆疊設備將自身存儲的邏輯拓撲中發生重啟的堆疊設備的第一堆疊口或/和第二堆疊口對應的邏輯鏈路斷開。以圖3為例,環形堆疊系統由堆疊設備(簡稱設備)I、設備2、設備3、設備4以及設備5堆疊而成。各設備左側堆疊口為第一堆疊口,右側堆疊口為第二堆疊口。當堆疊設備獲知系統中的設備5發生重啟時,為了減少流量被丟棄的發生,需要保證系統內轉發的流量不經過設備5進行轉發,因此,未發生重啟的堆疊設備(設備I、設備
2、設備3以及設備4)可以將自身存儲的邏輯拓撲中發生重啟的堆疊設備(設備5)的第一堆疊口對應的邏輯鏈路斷開(參見圖5a)、或將設備5的第二堆疊口對應的邏輯鏈路斷開(參見圖5b)、或將設備5的第一堆疊口對應的邏輯鏈路和第二堆疊口對應的邏輯鏈路均斷開(參見圖5c)。通過上述處理,環形堆疊系統的邏輯拓撲由環形拓撲變為鏈式拓撲,發生重啟的設備位於鏈式拓撲的一端,或未包含在鏈式拓撲中,因此,系統內目的設備為未發生重啟的堆疊設備的流量不需要通過該發生重啟的設備轉發,減少了系統內被丟棄的發生。需要注意的是,在本發明實施例提供的技術方案中,各堆疊設備更新自身存儲的邏輯拓撲的原則必須保持一致,即各設備需要按照統一的規則更新自身存儲的邏輯拓撲,以使各設備存儲的邏輯拓撲在更新後仍保持一致。以圖5b為例,設備I、設備2、設備3和設備4在更新自身存儲的邏輯拓撲時,應均選擇將設備5的第一堆疊口對應的邏輯鏈路斷開。步驟402、堆疊設備根據更新後的邏輯拓撲進行轉發。下面結合具體的應用場景對發明實施例提供的技術方案進行更加詳細的描述。在該實施例中,以圖3和圖5b所示的系統架構圖為例。參見圖3,流量從設備I的入接口 GE1/0/10進入堆疊系統,且需要通過設備4的出接口 GE4/0/10轉發出去,按照最短路徑優先原則,設備I將通過「設備1_>設備5->設備4」的路徑進行流量轉發。當設備5接收到重啟的命令時(如可以在設備5上通過命令行的方式手工重啟),將進行重啟。若在該情況下,仍然通過路徑「設備1_>設備5->設備4」進行流量轉發,經過設備5的流量將被丟棄。為了降低流量丟棄的發生,環形堆疊系統管理設備通知各未發生重啟的設備(設備I、設備2、設備3以及設備4),以使各未發生重啟的設備更新自身存儲的邏輯拓撲。各未發生重啟的設備獲知到設備5重啟後,將自身存儲的邏輯拓撲中設備5的第二堆疊口對應的邏輯鏈路斷開,形成如圖5b所示的邏輯拓撲。此時,當從設備I的入接口 GE1/0/10進入的流量需要通過設備4的出接口 GE4/0/10向外轉發時,將通過路徑「設備1->設備2->設備3->設備4」進行轉發,避免了流量丟棄。需要注意的是,在本發明實施例中,環形堆疊系統中各設備獲知其他設備發生重啟時,更新的是自身存儲的邏輯拓撲,而並不改變物理拓撲,即發生重啟的設備與未發生重啟的設備之間的物理鏈路仍然可用的(即物理連接是「UP」的),如圖5c中,設備I和設備5之間的物理連接仍然是UP的。其中,發生重啟的設備和未發生重啟的設備之間的物理鏈路允許拓撲管理報文通過,但不允許其他管理和協議報文通過。通過以上描述可以看出,在本發明實施例提供的技術方案中,當環形堆疊系統內設備發生重啟時,各未發生重啟的堆疊設備通過更新自身存儲的邏輯拓撲,使系統內轉發的流量不通過發生重啟的設備轉發,而在未發生重啟的設備之間轉發,減少了在環形堆疊系統中堆疊設備發生重啟的情況下的流量丟失。基於上述方法實施例相同的技術構思,本發明實施例還提供了一種堆疊設備,可以應用於上述方法流程。如圖6所示,為本發明實施例提供的一種堆疊設備的結構示意圖,該堆疊設備應用於環形堆疊系統,且分別通過第一堆疊口和第二堆疊口與相鄰的其他堆疊設備相連,該堆疊設備可以包括 存儲模塊61,用於存儲所述環形堆疊系統的邏輯拓撲;更新模塊62,用於當所述堆疊設備獲知所述環形堆疊系統中其他堆疊設備發生重啟時,更新所述存儲模塊61存儲的邏輯拓撲,以使所述環形堆疊系統中流量在未發生重啟的堆疊設備之間轉發;轉發模塊63,用於根據更新後的邏輯拓撲進行流量轉發。
在上述堆疊設備中,所述更新模塊62可以具體用於,將所述存儲模塊中存儲的邏輯拓撲中發生重啟的堆疊設備的第一堆疊口或/和第二堆疊口對應的邏輯鏈路斷開。其中,所述環形堆疊系統中各堆疊設備更新後的邏輯拓撲相同。本領域技術人員可以理解實施例中的裝置中的模塊可以按照實施例描述進行分布於實施例的裝置中,也可以進行相應變化位於不同於本實施例的一個或多個裝置中。上述實施例的模塊可以合併為一個模塊,也可以進一步拆分成多個子模塊。通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本發明可藉助軟體加必需的通用硬體平臺的方式來實現,當然也可以通過硬體,但很多情況下前者是更佳的實施方式。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟體產品的形式體現出來,該計算機軟體產品存儲在一個存儲介質中,包括若干指令用以使得一臺終端設備(可以是手機,個人計算機,伺服器,或者網絡設備等)執行本發明各個實施例所述的方法。
以上所述僅是本發明的優選實施方式,應當指出,對於本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視本發明的保護範圍。
權利要求
1.一種流量轉發方法,其特徵在於,應用於環形堆疊系統,所述環形堆疊系統中各堆疊設備分別通過第一堆疊口和第二堆疊口與相鄰的其他堆疊設備相連,且各堆疊設備中存儲有所述環形堆疊系統的邏輯拓撲,該方法包括 當所述堆疊設備獲知所述環形堆疊系統中其他堆疊設備發生重啟時,所述堆疊設備更新自身存儲的邏輯拓撲,以使所述環形堆疊系統中流量在未發生重啟的堆疊設備之間轉發; 所述堆疊設備根據更新後的邏輯拓撲進行流量轉發。
2.如權利要求I所述的方法,其特徵在於,所述堆疊設備更新自身存儲的邏輯拓撲,以使所述環形堆疊系統中流量在未發生重啟的堆疊設備之間轉發,具體為 所述堆疊設備將自身存儲的邏輯拓撲中發生重啟的堆疊設備的第一堆疊口或/和第二堆疊口對應的邏輯鏈路斷開。
3.如權利要求I或2所述的方法,其特徵在於,所述環形堆疊系統中各堆疊設備更新後的邏輯拓撲相同。
4.一種堆疊設備,其特徵在於,應用於環形堆疊系統,所述環形堆疊系統中各堆疊設備分別通過第一堆疊口和第二堆疊口與相鄰的其他堆疊設備相連,該堆疊設備包括 存儲模塊,用於存儲所述環形堆疊系統的邏輯拓撲; 更新模塊,用於當所述堆疊設備獲知所述環形堆疊系統中其他堆疊設備發生重啟時,更新所述存儲模塊存儲的邏輯拓撲,以使所述環形堆疊系統中流量在未發生重啟的堆疊設備之間轉發; 轉發模塊,用於根據更新後的邏輯拓撲進行流量轉發。
5.如權利要求4所述的堆疊設備,其特徵在於, 所述更新模塊具體用於,將所述存儲模塊中存儲的邏輯拓撲中發生重啟的堆疊設備的第一堆疊口或/和第二堆疊口對應的邏輯鏈路斷開。
6.如權利要求4或5所述的堆疊設備,其特徵在於,所述環形堆疊系統中各堆疊設備更新後的邏輯拓撲相同。
全文摘要
本發明公開了一種流量轉發方法及設備,應用於環形堆疊系統,所述環形堆疊系統中各堆疊設備分別通過第一堆疊口和第二堆疊口與相鄰的其他堆疊設備相連,且各堆疊設備中存儲有所述環形堆疊系統的邏輯拓撲,該方法包括當所述堆疊設備獲知所述環形堆疊系統中其他堆疊設備發生重啟時,所述堆疊設備更新自身存儲的邏輯拓撲,以使所述環形堆疊系統中流量在未發生重啟的堆疊設備之間轉發;所述堆疊設備根據更新後的邏輯拓撲進行流量轉發。在本發明中,減少了在環形堆疊系統中堆疊設備發生重啟的情況下流量丟棄的發生。
文檔編號H04L12/56GK102724109SQ201210161600
公開日2012年10月10日 申請日期2012年5月23日 優先權日2012年5月23日
發明者施學美 申請人:杭州華三通信技術有限公司