亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

以太網(wǎng)鏈路聚合方法

文檔序號:7612963閱讀:436來源:國知局
專利名稱:以太網(wǎng)鏈路聚合方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)通信領(lǐng)域,特別涉及通信鏈路的聚合技術(shù)。
背景技術(shù)
當(dāng)前,無論在企業(yè)網(wǎng)、校園網(wǎng)還是在廣域網(wǎng)如Internet上,業(yè)務(wù)量的發(fā)展都超出了過去最樂觀的估計,網(wǎng)絡(luò)用戶突飛猛漲,應(yīng)用業(yè)務(wù)層出不窮。使得當(dāng)前網(wǎng)絡(luò)設(shè)施等資源無法滿足急劇增長的用戶需求。尤其是網(wǎng)絡(luò)核心部分,其數(shù)據(jù)流量和計算強度之大,使得單一設(shè)備無法承擔(dān)。于是,如何在完成同樣功能的多個網(wǎng)絡(luò)設(shè)備之間實現(xiàn)合理的業(yè)務(wù)量分配和協(xié)同作業(yè),增加網(wǎng)絡(luò)容量,同時能保持各個設(shè)備均衡運行,就成了關(guān)鍵技術(shù)之一。負(fù)載均衡機制也因此應(yīng)運而生。
負(fù)載均衡機制是在現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu)之上,提供了一種廉價有效的方法擴展服務(wù)器帶寬和增加吞吐量,加強網(wǎng)絡(luò)數(shù)據(jù)處理能力,提高網(wǎng)絡(luò)的靈活性和可用性。它主要完成以下任務(wù)解決網(wǎng)絡(luò)擁塞問題,服務(wù)就近提供,實現(xiàn)地理位置無關(guān)性;為用戶提供更好的訪問質(zhì)量;提高服務(wù)器響應(yīng)速度;提高服務(wù)器及其他資源的利用效率;避免了網(wǎng)絡(luò)關(guān)鍵部位出現(xiàn)單點失效。根據(jù)負(fù)載均衡機制所在網(wǎng)絡(luò)層次可以有鏈路聚合(Trunk)、網(wǎng)絡(luò)交換和服務(wù)器集群三種技術(shù)。其中,鏈路聚合技術(shù)是既廉價方便,有簡單有效的負(fù)載均衡技術(shù)之一。
實際應(yīng)用中,為了支持與日俱增的高帶寬應(yīng)用,越來越多的網(wǎng)絡(luò)終端使用更加快速的鏈路連入網(wǎng)絡(luò)。而網(wǎng)絡(luò)中的業(yè)務(wù)量分布是不平衡的,核心高、邊緣低,關(guān)鍵部門高、一般部門低。伴隨計算機處理能力的大幅度提高,人們對多工作組局域網(wǎng)的處理能力有了更高的要求。當(dāng)企業(yè)內(nèi)部對高帶寬應(yīng)用需求不斷增大時(例如Web訪問、文檔傳輸及內(nèi)部網(wǎng)連接),局域網(wǎng)核心部位的數(shù)據(jù)接口將產(chǎn)生瓶頸問題,瓶頸延長了客戶應(yīng)用請求的響應(yīng)時間。并且由于局域網(wǎng)具有分散特性,這決定了網(wǎng)絡(luò)核心部位與其他部位一樣缺少保護(hù)措施。
通常,解決瓶頸問題采用的對策是提高服務(wù)器鏈路的容量,使其超出目前的需求。例如可以由快速以太網(wǎng)升級到千兆以太網(wǎng)。對于大型企業(yè)來說,采用升級技術(shù)是一種長遠(yuǎn)的、有前景的解決方案。然而對于許多企業(yè),當(dāng)需求還沒有大到非得花費大量的金錢和時間進(jìn)行升級時,使用升級技術(shù)就顯得大材小用了。在這種情況下,鏈路聚合技術(shù)為消除傳輸鏈路上的瓶頸與不安全因素提供了成本低廉的解決方案,鏈路聚合技術(shù),將多個線路的傳輸容量融合成一個單一的邏輯連接。當(dāng)原有的線路滿足不了需求,采用多線路的鏈路聚合,既能大大增加網(wǎng)絡(luò)容量,又可以避免昂貴的單一線路升級。
鏈路聚合是一種基于IEEE 802.3ad標(biāo)準(zhǔn)的提高了可靠性和性能的第二層冗余特性。這種功能允許把多條物理鏈路合成一條邏輯鏈路。鏈路聚合具有以下優(yōu)點將多條低速鏈路捆綁成一條邏輯鏈路,提供更高的速率,更寬的帶寬;增加鏈路的可靠性,避免單根鏈路的失效而引起的網(wǎng)絡(luò)不可用;提供負(fù)載均衡的機制,能夠在聚合鏈路上分擔(dān)網(wǎng)絡(luò)流量。根據(jù)標(biāo)準(zhǔn),實現(xiàn)鏈路聚合有以下要求防止數(shù)據(jù)包的多份復(fù)制和錯序,無論處在鏈路的穩(wěn)定運作還是在鏈路的配置中;鏈路改變時,能夠快速的重配置。
目前,鏈路聚合一般采用純軟件或軟硬件結(jié)合的方法實現(xiàn)。采用的算法有以下幾種循環(huán)檢測算法,采用輪詢的方法把流量均勻發(fā)布給各個端口,但其不足之處是在接收端可能出現(xiàn)少量數(shù)據(jù)包時序的混亂;自適應(yīng)算法,最大可能把流量均勻分配給各個端口,其計算量相對來說較大;靜態(tài)算法,能保證每個數(shù)據(jù)包能夠正確到達(dá)指定的端口,但缺乏靈活性而且速度相對來說較慢。
堆疊是在以太網(wǎng)交換機(Switch,簡稱“SW”)上擴展端口時使用的一項技術(shù),是一種非標(biāo)準(zhǔn)化技術(shù)。堆疊就是將一組交換機連接起來,將它們作為一個對象來管理。堆疊技術(shù)的最大優(yōu)點就是簡化了網(wǎng)絡(luò)結(jié)構(gòu),簡化了本地管理。進(jìn)行設(shè)備堆疊主要有兩種模式菊花鏈模式和星型模式,其中菊花鏈模式又分單工和雙工兩種。
所謂菊花鏈,顧名思義,就是將交換機一個個地串接起來,每臺交換機都只與自己相鄰的交換機進(jìn)行連接。圖1(a)、(b)分別示出了菊花鏈模式下單工和雙工堆疊方式。單工方式下,每個交換機出一個千兆以太網(wǎng)(GigabyteEthernet,簡稱“GE”)口作為堆疊口,上行設(shè)備的發(fā)送電路(Tx)連接到下行設(shè)備的接收電路(Rx)。雙工方式下,中間的交換機出兩個GE口作為堆疊端口分別連接上下行設(shè)備,邊緣設(shè)備可以提供一個GE上行口。在中間的堆疊交換機上,為了讓需要堆疊處理的幀到達(dá)每個堆疊設(shè)備,則需要對幀向上下行兩個方向都進(jìn)行發(fā)送。
星型堆疊技術(shù),需要提供一個獨立的或者集成的高速交換中心,即堆疊中心,所有的堆疊主機通過高速堆疊端口上行到統(tǒng)一的堆疊中心,堆疊中心一般是一個基于專用集成電路(Application Specified Integrated Circuit,簡稱“ASIC”)的硬件交換單元,其交換容量限制了堆疊設(shè)備個數(shù)。圖1(c)示出了4個交換機的星型堆疊方式。星型堆疊技術(shù)是一種高級堆疊技術(shù),克服了菊花鏈?zhǔn)蕉询B模式多層次轉(zhuǎn)發(fā)時的高時延影響,但需要開發(fā)專用的堆疊中心模塊,成本較高。
堆疊聚合即幾個交換機組成堆疊設(shè)備后,各個交換機上的端口能夠象一個交換機設(shè)備上的端口一樣任意組合進(jìn)行鏈路聚合。圖2為堆疊的兩個交換機進(jìn)行端口聚合的示意圖。通過交換機SW1的27號端口和交換機SW2的26號端口的互連,使得交換機SW1和交換機SW2組成一個堆疊設(shè)備。其中交換機SW1的26號端口和交換機SW2的27號端口聚合為Trunk0鏈路;交換機SW1的1號端口和交換機SW2的1號、2號端口聚合為Trunk1鏈路。
堆疊聚合使得鏈路聚合的容量更大,負(fù)載更均衡,配置更靈活。
在實際應(yīng)用中,上述方案存在以下問題現(xiàn)有的鏈路聚合方法實現(xiàn)復(fù)雜度高,成本昂貴,資源利用率低,配置不夠靈活,處理速度慢,且不能方便的實現(xiàn)堆疊聚合。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種以太網(wǎng)鏈路聚合方法,使得能夠在較低的實現(xiàn)復(fù)雜度下實現(xiàn)鏈路聚合,并可以靈活配置。
為實現(xiàn)上述目的,本發(fā)明提供了一種以太網(wǎng)鏈路聚合方法,包含以下步驟,設(shè)置端口屬性表、聚合組表和聚合映射表,其中,所述端口屬性表用于描述端口的屬性,所述聚合組表用于設(shè)定聚合組所包含的端口,所述設(shè)置聚合映射表用于進(jìn)行聚合映射,將所述聚合組的網(wǎng)絡(luò)流量均衡分配到其所包含的端口上;根據(jù)所述端口屬性表、所述聚合組表和所述聚合映射表轉(zhuǎn)發(fā)報文。
其中,所述端口屬性表所描述的端口屬性包含端口聚合標(biāo)志,用于指示該端口是否屬于聚合組;聚合組號,用于在所述端口聚合標(biāo)志有效的情況下指示該端口所屬聚合組。
所述轉(zhuǎn)發(fā)報文的步驟中,對于單播報文轉(zhuǎn)發(fā)包含以下子步驟A根據(jù)所述報文配置轉(zhuǎn)發(fā)表,配置時判斷所述報文的轉(zhuǎn)發(fā)目的是聚合組還是端口,如果是聚合組則將表項中的轉(zhuǎn)發(fā)目的配置為相應(yīng)的聚合號并置端口聚合標(biāo)志有效,如果是端口則將表項中的轉(zhuǎn)發(fā)目的配置為相應(yīng)端口號;B根據(jù)所述報文的輸入端口號查找端口屬性表,得到該輸入端口的端口屬性,其中包含端口聚合標(biāo)志和聚合組號;C查找所述轉(zhuǎn)發(fā)表得到該報文的轉(zhuǎn)發(fā)目的,判斷該轉(zhuǎn)發(fā)目的是否為聚合組,如果是則進(jìn)入步驟D,否則進(jìn)入步驟E;D判斷是否所述輸入端口對應(yīng)的所述端口聚合標(biāo)志有效且所述輸入端口對應(yīng)的聚合組號與所述轉(zhuǎn)發(fā)目的對應(yīng)的聚合組號相同,如果是則進(jìn)行源端口抑制處理并丟棄該報文,否則根據(jù)所述聚合映射表進(jìn)行聚合映射得到有效端口并轉(zhuǎn)發(fā);E按照所述轉(zhuǎn)發(fā)目的對應(yīng)的所述端口號,在對應(yīng)端口轉(zhuǎn)發(fā)該報文。
所述步驟D中的所述聚合映射包含以下子步驟,通過哈希運算由所述報文信息得到所述映射號;根據(jù)所述映射號查找所述聚合映射表,得到端口掩碼;根據(jù)所述轉(zhuǎn)發(fā)目的查表得到所述目的端口列表;將所述端口掩碼和所述目的端口列表進(jìn)行與操作得到有效的標(biāo)志位所對應(yīng)的端口號,即映射得到的所述有效端口。
對于多播或廣播報文轉(zhuǎn)發(fā),先得到多播或廣播目的端口列表,如果目的端口包含聚合組,則該目的端口應(yīng)該包括該聚合組中的所有端口,再進(jìn)行聚合映射得到所有有效端口,并轉(zhuǎn)發(fā)。
當(dāng)所述聚合為堆疊聚合時,跨堆疊設(shè)備包含普通端口和堆疊端口,通過堆疊端口完成堆疊通信,包含以下設(shè)置步驟,設(shè)置虛擬聚合映射表,由所述映射號索引,對應(yīng)每個所述映射號存在相應(yīng)的端口掩碼,所述端口掩碼包含所有跨堆疊設(shè)備的所述普通端口的標(biāo)志,用于指示對應(yīng)端口在該映射號下是否有效,使得在任一映射號下同一聚合組所包含的所述普通端口有且只有一個普通端口有效,而未聚合的所述普通端口在任一映射號下均有效;
根據(jù)所述虛擬聚合映射表中與每個跨堆疊設(shè)備的所述普通端口的配置,同樣地配置該跨堆疊設(shè)備的所述聚合映射表中所述普通端口;配置每個跨堆疊設(shè)備的所述聚合映射表中所述堆疊端口,使得在任一映射號下,有且只有一個所述堆疊端口有效。
當(dāng)所述聚合為堆疊聚合時,對于單播報文轉(zhuǎn)發(fā),包含以下步驟,F(xiàn)判斷該報文的轉(zhuǎn)發(fā)目的是否為跨堆疊聚合組,如果是,進(jìn)入步驟G,否則,直接從該端口轉(zhuǎn)發(fā);G通過所述哈希映射得到所述映射號,并查找所述聚合映射表,判斷所述普通端口是否有效,如果是,則從該有效普通端口轉(zhuǎn)發(fā),否則從有效堆疊端口轉(zhuǎn)發(fā)。
當(dāng)所述聚合為堆疊聚合時,對于多播或廣播報文轉(zhuǎn)發(fā),包含以下步驟,H判斷該報文的轉(zhuǎn)發(fā)目的是否包含所述跨堆疊聚合組,如果是,進(jìn)入步驟I,否則,直接在所有包含的所述普通端口轉(zhuǎn)發(fā);I通過所述哈希映射得到所述映射號,并查找所述聚合映射表,如果均存在有效的所述普通端口和有效的所述堆疊端口,則在該普通端口和該堆疊端口都轉(zhuǎn)發(fā),否則僅在該堆疊端口轉(zhuǎn)發(fā)。
所述聚合組表由所述聚合組號索引,對應(yīng)每個所述聚合組號存在相應(yīng)的目的端口列表,所述目的端口列表對應(yīng)于每個所述端口的都包含一個標(biāo)志,用于指示對應(yīng)端口是否屬于該聚合組。
所述聚合映射表由映射號索引,對應(yīng)每個所述映射號存在相應(yīng)的端口掩碼,所述端口掩碼對應(yīng)于每個所述端口都包含一個標(biāo)志,用于指示對應(yīng)端口在該映射號下是否有效。
所述映射號由報文信息通過哈希映射得到,所述映射號的總數(shù)目根據(jù)負(fù)載均衡程度要求設(shè)定,所述哈希映射算法滿足相同的報文信息映射得到相同的映射號。
所述聚合映射表按照以下規(guī)則配置屬于同一聚合組的所述端口在任一所述映射號下有且只有一個所述端口置為有效,不屬于任何所述聚合組的所述端口在任何所述映射號下都置為有效,屬于同一聚合組的所述端口在所有所述映射號下被置為有效的次數(shù)相互均衡。
所述哈希映射算法通過將所述報文的媒體訪問控制源地址、媒體訪問控制目的地址、網(wǎng)際協(xié)議源地址和網(wǎng)際協(xié)議目的地址相加取余而得到所述映射號。
當(dāng)所述聚合為堆疊聚合時,所述端口屬性表所描述的端口屬性還包含端口堆疊標(biāo)志,用于指示該端口是否為堆疊端口。
通過比較可以發(fā)現(xiàn),本發(fā)明的技術(shù)方案與現(xiàn)有技術(shù)的主要區(qū)別在于,本發(fā)明將相關(guān)數(shù)據(jù)配置在端口屬性表、Trunk組表、Trunk映射表中,并基于這三個表的信息進(jìn)行報文轉(zhuǎn)發(fā),從而實現(xiàn)鏈路聚合;還通過HASH方法實現(xiàn)負(fù)載均衡;并在此基礎(chǔ)上通過堆疊端口的特殊配置實現(xiàn)堆疊聚合。
這種技術(shù)方案上的區(qū)別,帶來了較為明顯的有益效果,即因為只要在幾個表中簡單地設(shè)定鏈路聚合的相關(guān)參數(shù)并輔以相應(yīng)的報文轉(zhuǎn)發(fā)流程就可以實現(xiàn)鏈路聚合,所以實現(xiàn)復(fù)雜較低,并只要修改相應(yīng)的參數(shù)就可以改鏈路聚合的形式,因此可以根據(jù)需要靈活配置。
本發(fā)明按照負(fù)載均衡標(biāo)準(zhǔn)設(shè)計了各表結(jié)構(gòu)、配置規(guī)則和報文轉(zhuǎn)發(fā)流程,實現(xiàn)了負(fù)載均衡機制,提高了系統(tǒng)容錯能力。
各表配置簡單方便,加快了鏈路聚合后的系統(tǒng)處理速度。
采用特殊的配置即可實現(xiàn)堆疊聚合,提高了資源利用率和配置靈活性。


圖1是以太網(wǎng)交換機的多種堆疊模式示意圖;圖2是堆疊設(shè)備進(jìn)行鏈路聚合示意圖;圖3是根據(jù)本發(fā)明的一個實施例的單播報文轉(zhuǎn)發(fā)流程圖;圖4是根據(jù)本發(fā)明的一個實施例的聚合映射流程圖。
具體實施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明作進(jìn)一步地詳細(xì)描述。
本發(fā)明采用端口屬性表、聚合組表和聚合映射表實現(xiàn)對鏈路、聚合組以及它們之間的映射關(guān)系的管理和配置;并根據(jù)鏈路聚合標(biāo)準(zhǔn),設(shè)計各個表的配置方法、聚合轉(zhuǎn)發(fā)規(guī)則和處理流程,實現(xiàn)負(fù)載均衡機制,在聚合鏈路上均衡分配網(wǎng)絡(luò)流量;同時,在此基礎(chǔ)上簡單地實現(xiàn)了堆疊鏈路聚合。
在本發(fā)明的一個實施例中,鏈路聚合稱為Trunking,聚合組成為Trunk組。由于鏈路對應(yīng)于交換機的端口,因此一個端口(Port)對應(yīng)于一條鏈路。
在本發(fā)明的一個實施例中,給每條鏈路設(shè)置端口屬性表,包含聚合標(biāo)志(Trunked)和聚合組號(TrunkID),其中聚合標(biāo)志指示本端口是否被聚合,如果是,則本端口被聚合在相應(yīng)聚合組號的聚合組中。
在本發(fā)明的一個實施例中,設(shè)置聚合組表,該表以聚合組號(TrunkID)索引,對應(yīng)每個TrunkID的表行稱為目的端口列表(Port List),端口列單上對應(yīng)每個端口為一位,用于該位指示相應(yīng)端口是否在相應(yīng)聚合組內(nèi)。比如,由16個Trunk組和28個端口的聚合組表結(jié)構(gòu)如表一所示。表-的行號位TrunkID 0-15,列號為端口號0-27。端口的類型可以不同,比如0-23號為FE口,24-27號為GE口。可見表中每格只需用一位存儲,比如用′1′表示該端口在該聚合組內(nèi),否則為′0′。如表一所示,Trunk組0所對應(yīng)的第一行中分別對應(yīng)端口4、5、7的值置為′1′,則表示Trunk組0包括端口4、5、6,同樣地,易見Trunk組14包括端口24,Trunk組15端口25、26、27。
表一

在本發(fā)明的一個實施例中,為了能夠快速均衡地分配網(wǎng)絡(luò)流量到每個Trunk組所包含的各個端口上,采用哈希(Hash)映射的方法,將網(wǎng)絡(luò)中的數(shù)據(jù)均衡的映射到Trunk組內(nèi)的各個端口上。配合哈希映射的方法,設(shè)置Trunk映射表。該表由哈希號(HashIDX)索引,每個HashIDX對應(yīng)一行,每行由與所有端口對應(yīng)的位組成,該位用于指示在該HashIDX的情況下,該端口是否用于分擔(dān)所在Trunk組的網(wǎng)絡(luò)流量,因此稱為端口掩碼(Port Mask)。為了符合鏈路聚合標(biāo)準(zhǔn),需要滿足在同一個Trunk組內(nèi)數(shù)據(jù)報文不會被多個端口轉(zhuǎn)發(fā),因此在配置Trunk映射表時,必須滿足每個HashIDX所對應(yīng)的行里,屬于同一個Trunk組的端口中,有且只有一個端口有效。比如,對應(yīng)與表一所給的實施例,由16個HashIDX組成的Trunk映射表如表二所示。表二的行號為Hash映射后所有可能的HashIDX 0-15,對應(yīng)每一行各Trunk組所包含的端口中有且只有一個被置為′1′,這樣就實現(xiàn)了所有情況下,同一Trunk組的報文只在一個端口轉(zhuǎn)發(fā)。另外,從表二可見,同一Trunk組所包含的端口在所有可能的HashIDX中被均勻地置為′1′,表二中Trunk組1包含端口0、1、2、3,在HashIDX為0-15的16種可能中,每個端口都有4中可能被置為′1′,由此實現(xiàn)同一Trunk組的網(wǎng)絡(luò)流量在其所包含的所有端口上均衡分配。由于Trunk組0包含端口數(shù)目為3個,不能被HashIDX數(shù)16所整除,因此導(dǎo)致流量分配不能完全平均,但差距只有總流量的1/16。如果采用更多的HashIDX,則流量分配的最大可能差距還能再降低。對于只包含一個端口的Trunk組或者不被Trunk的端口,在所有HashIDX的情況下都被置′1′。
表二

上述哈希映射方法,可以由報文信息經(jīng)過哈希運算后而得到規(guī)定范圍內(nèi)的HashIDX。在本發(fā)明的一個實施例中,結(jié)合端口選擇策略,采用對報文的地址的哈希運算實現(xiàn)哈希映射。比如,根據(jù)源地址和目的地址中的媒體介入控制層(Media Access Control,簡稱“MAC”)和網(wǎng)際協(xié)議(Internet Protocol,簡稱“IP)地址,進(jìn)行求和取余運算得到HashIDX。這樣可以保證同一鏈路上的報文,即源的地址相同的報文,所對應(yīng)的HashIDX相同,于是經(jīng)過上述Trunk映射表后將被映射到同一個端口上轉(zhuǎn)發(fā)。
為了更詳細(xì)地說明上述Trunk映射方法在鏈路聚合時的負(fù)載均衡機制工作原理,下面給出本發(fā)明的一個實施例的報文轉(zhuǎn)發(fā)過程。比如對于表一、表二所描述的情況,當(dāng)一個轉(zhuǎn)發(fā)到Trunk組1的數(shù)據(jù)流到達(dá)交換機時,交換機首先根據(jù)設(shè)定的哈希映射方法,將該數(shù)據(jù)流上的報文信息進(jìn)行哈希運算得到HashIDX,比如為2;于是查找Trunk映射表,得到上述表二的第三行;再根據(jù)Trunk組表得到該Trunk組所包含的端口,即表一的第二行,分別為端口0、1、2、3;將Trunk組表的表行與Trunk映射表的表行進(jìn)行與運算,即得到該報文轉(zhuǎn)發(fā)的端口號,表二第三行的前4格只有端口2對應(yīng)為1,因此該報文將在端口2上轉(zhuǎn)發(fā)。
由此可見,上述Trunk映射方法可以實現(xiàn)以下要求首先,由于每個Trunk組所包含的端口在各個HashIDX下均勻分配,因此通過哈希映射,每個Trunk組的網(wǎng)絡(luò)流量將由端口均衡分擔(dān);其次,每個Trunk組在每一HashIDX下有且只有一個端口有效,保證了所有報文都能找到端口轉(zhuǎn)發(fā),且不會在不同端口重復(fù)轉(zhuǎn)發(fā);再次,由于哈希映射所采用的哈希運算方法能夠保證同一數(shù)據(jù)流的報文在哈希運算以后得到相同的HashIDX,則必在同一端口轉(zhuǎn)發(fā),保證了同一數(shù)據(jù)流的數(shù)據(jù)包不會亂序。
在本發(fā)明的一個實施例中,針對單播報文、多播報文和廣播報文分別給出相應(yīng)的轉(zhuǎn)發(fā)流程。
圖3示出了根據(jù)本發(fā)明的一個實施例的單播報文轉(zhuǎn)發(fā)流程。首先進(jìn)入步驟301,配置交換機的轉(zhuǎn)發(fā)表,如果該報文的轉(zhuǎn)發(fā)目的為Trunk組則配置為相應(yīng)的TrunkID,同時置Trunked標(biāo)志有效;如果為端口,則配置為相應(yīng)端口號。
接著進(jìn)入步驟302,根據(jù)該報文的輸入端口號查找端口屬性表,得到該輸入端口的Trunked標(biāo)志、TrunkID和推疊(Stacked)等屬性。
接著進(jìn)入步驟303,查找轉(zhuǎn)發(fā)表得到該報文的轉(zhuǎn)發(fā)目的,并判斷轉(zhuǎn)發(fā)目的的Trunked標(biāo)志是否有效,如果是,則轉(zhuǎn)發(fā)目的為Trunk組進(jìn)入步驟305,否則轉(zhuǎn)發(fā)目的為端口,進(jìn)入步驟304。
在步驟304中,直接根據(jù)轉(zhuǎn)發(fā)目的的端口號指示進(jìn)行轉(zhuǎn)發(fā)。
在步驟305中,根據(jù)在步驟302中得到的輸入端口的屬性,判斷輸入端口是否屬于Trunk組,如果是則需要輸入TrunkID和轉(zhuǎn)發(fā)目的TrunkID是否相等,如果相等則進(jìn)入步驟306進(jìn)行源端口抑制處理,否則進(jìn)入步驟307進(jìn)行Trunk映射得到轉(zhuǎn)發(fā)目的端口號,并轉(zhuǎn)發(fā)。
其中源端口抑制處理是指將輸入端口和轉(zhuǎn)發(fā)端口相同的報文丟棄,以避免報文環(huán)回發(fā)送。在本發(fā)明另一實施例中,對于二層單播的報文進(jìn)行源端口抑制,而對于三層單播的報文則上報處理器進(jìn)行相關(guān)的處理。
在本發(fā)明的一個實施例中,步驟307中所述Trunk映射包含以下子步驟首先通過哈希運算得到HashIDX,接著查找Trunk映射表,同時根據(jù)轉(zhuǎn)發(fā)目的TrunkID查找Trunk組表,將得到的Trunk映射表表行(Port Mask)和Trunk組表表行(Port List)進(jìn)行與(And)操作得到唯一的轉(zhuǎn)發(fā)目的端口號,于是在此端口上轉(zhuǎn)發(fā)該報文。Trunk映射流程如圖4所示。
在本發(fā)明的一個實施例中,對于多播報文的轉(zhuǎn)發(fā),如果多播目的包括Trunk組,則多播轉(zhuǎn)發(fā)目的端口列表應(yīng)該包括該Trunk所有物理端口。此后,進(jìn)行Trunk映射,將得到的Trunk映射表行(Port Mask)和多播目的端口列表(Port List)進(jìn)行與(And)操作。對于二層多播需要進(jìn)行源端口抑制操作,即從上述輸出結(jié)果中刪除輸入端口或輸入Trunk組包含的所有端口,得到最終的輸出端口列表;對于三層多播,則無須進(jìn)行源端口抑制。所述多播報文包含第二層多播、第三層多播和第三層子網(wǎng)廣播等方式。
在本發(fā)明的一個實施例中,由于第二層的未知單播和第二層的廣播均需要在虛擬局域網(wǎng)內(nèi)(Virtual Local Area Network,簡稱”VLAN“)進(jìn)行廣播,因此相應(yīng)的需要有廣播報文的轉(zhuǎn)發(fā)處理流程。廣播轉(zhuǎn)發(fā)要求在配置VLAN表時,將Trunk組所包含的所有端口均列為廣播轉(zhuǎn)發(fā)端口。此后,使用VLAN端口列表和Trunk映射表行進(jìn)行與操作,最后進(jìn)行源端口抑制操作。
在本發(fā)明的一個實施例中,采用上述Trunk映射機制實現(xiàn)堆疊聚合。相對于堆疊的每個交換機,都包含有兩類端口,一類與相互堆疊的其他交換機相連的端口,用于實現(xiàn)堆疊交換機的相互通信,稱為堆疊端口;另一類則為普通端口,可以進(jìn)行聚合。比如圖2所示交換機SW1和交換機SW2通過一條堆疊鏈路進(jìn)行堆疊,其中交換機SW1的27號端口為堆疊端口,而交換機SW2的26號端口為堆疊端口。在由堆疊交換機組成的整體中,將所有普通端口看成可聚合的端口,在進(jìn)行Trunk組表和Trunk映射表配置時將所有可聚合端口進(jìn)行統(tǒng)一配置,之后在每個交換機中將其他交換機的端口用本交換機的堆疊端口代替。這樣,即可實現(xiàn)當(dāng)報文需要從其他交換機端口轉(zhuǎn)發(fā)時,本交換機將該報文從堆疊端口轉(zhuǎn)發(fā),由其他交換機繼續(xù)轉(zhuǎn)發(fā),直到由相應(yīng)的交換機的端口轉(zhuǎn)發(fā)出去。
比如,圖2中將交換機SW1的26號端口和交換機SW2的27號端口聚合成Trunk組0,將交換機SW1的1號端口和交換機SW2的1號、2號端口聚合成Trunk組1。因此在配置交換機SW1的Trunk組表時,本來Trunk組0應(yīng)包含SW1的26號端口和SW2的27號端口,由于SW2的27號端口的數(shù)據(jù)流需要先由SW1通過其27號堆疊端口轉(zhuǎn)發(fā)給SW2,再由SW2從其27號端口轉(zhuǎn)發(fā),所以SW1的Trunk組表中,Trunk組0包含其26號端口和27號堆疊端口。同樣的,Trunk組1應(yīng)包含其1號端口和27號堆疊端口。而在SW2的Trunk組表中,Trunk組0應(yīng)包含其27號端口和26號堆疊端口,Trunk組1應(yīng)包含其1號、2號端口和26號堆疊端口。
從上述Trunk組表的配置中可以看到,此時堆疊端口可能屬于多個Trunk組,如SW1中的27號端口和SW2中的26號端口都既是Trunk組0的成員又是Trunk組1的成員。這是跨堆疊設(shè)備Trunk組表配置的特殊之處。
對于Trunk映射表,同樣地需要先將跨堆疊設(shè)備看成一個整體進(jìn)行配置,然后在每個交換機的Trunk映射表中,所有普通端口按照原先規(guī)則進(jìn)行配置,而同一交換機的所有堆疊端口則需要滿足在任一HashIDX下有且只有一個堆疊端口有效,這樣就實現(xiàn)了在任一HashIDX的情況下,如果某一Trunk組所對應(yīng)的端口在跨堆疊的其他交換機上,就能找到唯一的一個堆疊端口進(jìn)行轉(zhuǎn)發(fā),直到相應(yīng)交換機收到該報文并轉(zhuǎn)發(fā)。可見,同一Trunk組所包含的所有端口均能均衡分擔(dān)網(wǎng)絡(luò)流量,而且交換機的堆疊端口也能均衡分擔(dān)堆疊所需流量。
比如,對于圖2中所示交換機SW1與交換機SW2的堆疊聚合,首先將跨堆疊設(shè)備看成一個整體按照前述規(guī)則進(jìn)行配置得到虛擬Trunk映射表,如表三所示??梢?,對于Trunk組0所包含的SW1的端口26和SW2的端口27實現(xiàn)了均衡分配網(wǎng)絡(luò)流量,對于Trunk組1所包含的SW1的端口1和SW2的端口1、2也實現(xiàn)了均衡分配網(wǎng)絡(luò)流量。
表三


根據(jù)上述虛擬Trunk映射表,可以根據(jù)以下規(guī)則得到每個交換機的Trunk映射表首先將虛擬Trunk映射表中屬于各個交換機的端口的配置完全相同地配置到每個交換機各自的Trunk映射表中;然后每個交換機各自的所有堆疊端口進(jìn)行前述的配置,即所有堆疊端口進(jìn)行均衡分配,在任一HashIDX下有且只有一個堆疊端口有效,在此例中由于交換機SW1和SW2都只有一個堆疊端口,因此在所有HashIDX下該堆疊端口都有效;對于其他沒有聚合的端口,則按原規(guī)則配置,即所有HashIDX下都有效。最后配置得到的交換機SW1和交換機SW2所對應(yīng)的Trunk映射表分別如表四和表五所示。
表四


表五

在本發(fā)明的一個實施例中,對于堆疊聚合的情況,報文轉(zhuǎn)發(fā)流程與非堆疊情況基本一致,但跨堆疊的交換機中的轉(zhuǎn)發(fā)表需要同步,即同一數(shù)據(jù)流的轉(zhuǎn)發(fā)目的在不同跨堆疊交換機上均相同,由于跨堆疊的不同交換機所采用的哈希算法相同,這樣就能保證同一數(shù)據(jù)流在跨堆疊聚合Trunk所包含的各個端口上均衡分配流量。另外,由于每個交換機在進(jìn)行報文轉(zhuǎn)發(fā)時,如果對應(yīng)端口在本交換機上,則直接轉(zhuǎn)發(fā),否則通過此時所對應(yīng)的堆疊端口轉(zhuǎn)發(fā)到跨堆疊的其他交換機上。
下面給出根據(jù)本發(fā)明的一個實施例的堆疊聚合報文轉(zhuǎn)發(fā)的具體流程。對于單播報文轉(zhuǎn)發(fā),當(dāng)目的地址為跨堆疊Trunk組時,通過哈希映射得到HashIDX,并查找Trunk映射表,如果有本地端口有效,則從本地端口轉(zhuǎn)發(fā);否則必有唯一的一個堆疊端口有效,于是從該有效的堆疊端口轉(zhuǎn)發(fā)。對于多播或廣播報文轉(zhuǎn)發(fā),當(dāng)目的地址包含跨堆疊Trunk組時,經(jīng)Trunk映射后,如果存在一本地端口有效,則在有效的本地端口和有效的堆疊端口同時轉(zhuǎn)發(fā),否則只在該有效的堆疊端口轉(zhuǎn)發(fā)。這樣該報文經(jīng)過堆疊端口轉(zhuǎn)發(fā)到跨堆疊的其他交換機之后,將會采用同樣的方法同時在有效的本地端口和堆疊端口轉(zhuǎn)發(fā),既可以保證該多播或廣播報文在該Trunk組包含的所有端口上轉(zhuǎn)發(fā),也能防止報文在堆疊鏈路上環(huán)回轉(zhuǎn)發(fā),這是因為網(wǎng)絡(luò)超時丟棄機制和源端口抑制機制將會阻止報文在堆疊鏈路上循環(huán)轉(zhuǎn)發(fā)。
為了進(jìn)一步說明堆疊聚合情況下報文轉(zhuǎn)發(fā)的具體過程,下面給出詳細(xì)描述的報文轉(zhuǎn)發(fā)動態(tài)過程。
比如在圖2所示的堆疊聚合情況下,假設(shè)一個單播報文在交換機SW1被處理時,轉(zhuǎn)發(fā)目的為Trunk組1,如果經(jīng)哈希映射得到HashIDX為0,則查找表四得到本地端口1和堆疊端口27都有效,根據(jù)前述流程,只在本地端口1轉(zhuǎn)發(fā);如果經(jīng)哈希映射得到HashIDX為1,查表得到只有堆疊端口27有效,則在堆疊端口27轉(zhuǎn)發(fā),到達(dá)交換機SW2,由于前述跨堆疊設(shè)備的轉(zhuǎn)發(fā)表同步機制,將保證交換機SW2收到該報文后經(jīng)哈希映射得到HashIDX必同樣為1,則查表得到本地端口1和堆疊端口26都有效,根據(jù)前述流程,只在本地端口1轉(zhuǎn)發(fā);同理,如果SW1中得到HashIDX為2時,經(jīng)堆疊轉(zhuǎn)發(fā)到SW2,得到相同的HashIDX,查表應(yīng)該在SW2的端口2輸出??梢?,單播報文能按照跨堆疊交換機作為一個整體進(jìn)行流量均衡分配。
在圖2所示的堆疊聚合情況下,假設(shè)一個多播報文在交換機SW1中的多播轉(zhuǎn)發(fā)目的包含端口0和Trunk組1,如果經(jīng)哈希映射得到HashIDX為0,則查表后應(yīng)該在端口0、本地端口1和堆疊端口27都轉(zhuǎn)發(fā),而經(jīng)過堆疊端口27轉(zhuǎn)發(fā)到交換機SW2的一份報文將會由SW2繼續(xù)處理,根據(jù)前述流程和相同的HashIDX,該報文將在查表后將只在堆疊端口26發(fā)送,此時由于源端口抑制,交換機SW2將該報文丟棄,避免了循環(huán)轉(zhuǎn)發(fā)。如果一開始在SW1經(jīng)哈希映射得到HashIDX為1,則該報文經(jīng)過SW1和SW2處理后最終將在SW1的端口0和SW2端口1轉(zhuǎn)發(fā)。如果一開始在SW1經(jīng)哈希映射得到HashIDX為2,則最終在SW1的端口0和SW2的端口2轉(zhuǎn)發(fā)。可見,多播轉(zhuǎn)發(fā)目的包含Trunk組,則最終只在該Trunk組所包含的一個端口上均衡的轉(zhuǎn)發(fā)出一份報文。
熟悉本領(lǐng)域的技術(shù)人員可以理解,所述Trunk組表和Trunk映射表也可以通過其他編碼方式實現(xiàn),所述哈希運算可以通過其他算法實現(xiàn),所述堆疊設(shè)備的結(jié)構(gòu)、連接方式可以根據(jù)要求設(shè)計,完成發(fā)明目的,而不影響本發(fā)明的實質(zhì)和范圍。
雖然通過參照本發(fā)明的某些優(yōu)選實施例,已經(jīng)對本發(fā)明進(jìn)行了圖示和描述,但本領(lǐng)域的普通技術(shù)人員應(yīng)該明白,可以在形式上和細(xì)節(jié)上對其作各種各樣的改變,而不偏離所附權(quán)利要求書所限定的本發(fā)明的精神和范圍。
權(quán)利要求
1.一種以太網(wǎng)鏈路聚合方法,其特征在于,包含以下步驟,設(shè)置端口屬性表、聚合組表和聚合映射表,其中,所述端口屬性表用于描述端口的屬性,所述聚合組表用于設(shè)定聚合組所包含的端口,所述設(shè)置聚合映射表用于進(jìn)行聚合映射,將所述聚合組的網(wǎng)絡(luò)流量均衡分配到其所包含的端口上;根據(jù)所述端口屬性表、所述聚合組表和所述聚合映射表轉(zhuǎn)發(fā)報文。
2.根據(jù)權(quán)利要求1所述的以太網(wǎng)鏈路聚合方法,其特征在于,所述端口屬性表所描述的端口屬性包含端口聚合標(biāo)志,用于指示該端口是否屬于聚合組;聚合組號,用于在所述端口聚合標(biāo)志有效的情況下指示該端口所屬聚合組。
3.根據(jù)權(quán)利要求2所述的以太網(wǎng)鏈路聚合方法,其特征在于,所述轉(zhuǎn)發(fā)報文的步驟中,對于單播報文轉(zhuǎn)發(fā)包含以下子步驟A根據(jù)所述報文配置轉(zhuǎn)發(fā)表,配置時判斷所述報文的轉(zhuǎn)發(fā)目的是聚合組還是端口,如果是聚合組則將表項中的轉(zhuǎn)發(fā)目的配置為相應(yīng)的聚合號并置端口聚合標(biāo)志有效,如果是端口則將表項中的轉(zhuǎn)發(fā)目的配置為相應(yīng)端口號;B根據(jù)所述報文的輸入端口號查找端口屬性表,得到該輸入端口的端口屬性,其中包含端口聚合標(biāo)志和聚合組號;C查找所述轉(zhuǎn)發(fā)表得到該報文的轉(zhuǎn)發(fā)目的,判斷該轉(zhuǎn)發(fā)目的是否為聚合組,如果是則進(jìn)入步驟D,否則進(jìn)入步驟E;D判斷是否所述輸入端口對應(yīng)的所述端口聚合標(biāo)志有效且所述輸入端口對應(yīng)的聚合組號與所述轉(zhuǎn)發(fā)目的對應(yīng)的聚合組號相同,如果是則進(jìn)行源端口抑制處理并丟棄該報文,否則根據(jù)所述聚合映射表進(jìn)行聚合映射得到有效端口并轉(zhuǎn)發(fā);E按照所述轉(zhuǎn)發(fā)目的對應(yīng)的所述端口號,在對應(yīng)端口轉(zhuǎn)發(fā)該報文。
4.根據(jù)權(quán)利要求3所述的以太網(wǎng)鏈路聚合方法,其特征在于,所述步驟D中的所述聚合映射包含以下子步驟,通過哈希運算由所述報文信息得到所述映射號;根據(jù)所述映射號查找所述聚合映射表,得到端口掩碼;根據(jù)所述轉(zhuǎn)發(fā)目的查表得到所述目的端口列表;將所述端口掩碼和所述目的端口列表進(jìn)行與操作得到有效的標(biāo)志位所對應(yīng)的端口號,即映射得到的所述有效端口。
5.根據(jù)權(quán)利要求3所述的以太網(wǎng)鏈路聚合方法,其特征在于,對于多播或廣播報文轉(zhuǎn)發(fā),先得到多播或廣播目的端口列表,如果目的端口包含聚合組,則該目的端口應(yīng)該包括該聚合組中的所有端口,再進(jìn)行聚合映射得到所有有效端口,并轉(zhuǎn)發(fā)。
6.根據(jù)權(quán)利要求2所述的以太網(wǎng)鏈路聚合方法,其特征在于,當(dāng)所述聚合為堆疊聚合時,跨堆疊設(shè)備包含普通端口和堆疊端口,通過堆疊端口完成堆疊通信,包含以下設(shè)置步驟,設(shè)置虛擬聚合映射表,由所述映射號索引,對應(yīng)每個所述映射號存在相應(yīng)的端口掩碼,所述端口掩碼包含所有跨堆疊設(shè)備的所述普通端口的標(biāo)志,用于指示對應(yīng)端口在該映射號下是否有效,使得在任一映射號下同一聚合組所包含的所述普通端口有且只有一個普通端口有效,而未聚合的所述普通端口在任一映射號下均有效;根據(jù)所述虛擬聚合映射表中與每個跨堆疊設(shè)備的所述普通端口的配置,同樣地配置該跨堆疊設(shè)備的所述聚合映射表中所述普通端口;配置每個跨堆疊設(shè)備的所述聚合映射表中所述堆疊端口,使得在任一映射號下,有且只有一個所述堆疊端口有效。
7.根據(jù)權(quán)利要求6所述的以太網(wǎng)鏈路聚合方法,其特征在于,當(dāng)所述聚合為堆疊聚合時,對于單播報文轉(zhuǎn)發(fā),包含以下步驟,F(xiàn)判斷該報文的轉(zhuǎn)發(fā)目的是否為跨堆疊聚合組,如果是,進(jìn)入步驟G,否則,直接從該端口轉(zhuǎn)發(fā);G通過所述哈希映射得到所述映射號,并查找所述聚合映射表,判斷所述普通端口是否有效,如果是,則從該有效普通端口轉(zhuǎn)發(fā),否則從有效堆疊端口轉(zhuǎn)發(fā)。
8.根據(jù)權(quán)利要求7所述的以太網(wǎng)鏈路聚合方法,其特征在于,當(dāng)所述聚合為堆疊聚合時,對于多播或廣播報文轉(zhuǎn)發(fā),包含以下步驟,H判斷該報文的轉(zhuǎn)發(fā)目的是否包含所述跨堆疊聚合組,如果是,進(jìn)入步驟I,否則,直接在所有包含的所述普通端口轉(zhuǎn)發(fā);I通過所述哈希映射得到所述映射號,并查找所述聚合映射表,如果均存在有效的所述普通端口和有效的所述堆疊端口,則在該普通端口和該堆疊端口都轉(zhuǎn)發(fā),否則僅在該堆疊端口轉(zhuǎn)發(fā)。
9.根據(jù)權(quán)利要求1所述的以太網(wǎng)鏈路聚合方法,其特征在于,所述聚合組表由所述聚合組號索引,對應(yīng)每個所述聚合組號存在相應(yīng)的目的端口列表,所述目的端口列表對應(yīng)于每個所述端口的都包含一個標(biāo)志,用于指示對應(yīng)端口是否屬于該聚合組。
10.根據(jù)權(quán)利要求1所述的以太網(wǎng)鏈路聚合方法,其特征在于,所述聚合映射表由映射號索引,對應(yīng)每個所述映射號存在相應(yīng)的端口掩碼,所述端口掩碼對應(yīng)于每個所述端口都包含一個標(biāo)志,用于指示對應(yīng)端口在該映射號下是否有效。
11.根據(jù)權(quán)利要求10所述的以太網(wǎng)鏈路聚合方法,其特征在于,所述映射號由報文信息通過哈希映射得到,所述映射號的總數(shù)目根據(jù)負(fù)載均衡程度要求設(shè)定,所述哈希映射算法滿足相同的報文信息映射得到相同的映射號。
12.根據(jù)權(quán)利要求11所述的以太網(wǎng)鏈路聚合方法,其特征在于,所述聚合映射表按照以下規(guī)則配置屬于同一聚合組的所述端口在任一所述映射號下有且只有一個所述端口置為有效,不屬于任何所述聚合組的所述端口在任何所述映射號下都置為有效,屬于同一聚合組的所述端口在所有所述映射號下被置為有效的次數(shù)相互均衡。
13.根據(jù)權(quán)利要求12所述的以太網(wǎng)鏈路聚合方法,其特征在于,所述哈希映射算法通過將所述報文的媒體訪問控制源地址、媒體訪問控制目的地址、網(wǎng)際協(xié)議源地址和網(wǎng)際協(xié)議目的地址相加取余而得到所述映射號。
14.根據(jù)權(quán)利要求9所述的以太網(wǎng)鏈路聚合方法,其特征在于,當(dāng)所述聚合為堆疊聚合時,所述端口屬性表所描述的端口屬性還包含端口堆疊標(biāo)志,用于指示該端口是否為堆疊端口。
全文摘要
本發(fā)明涉及數(shù)據(jù)通信領(lǐng)域,公開了一種以太網(wǎng)鏈路聚合方法,使得能夠在較低的實現(xiàn)復(fù)雜度下實現(xiàn)鏈路聚合,并可以靈活配置。本發(fā)明中,將相關(guān)數(shù)據(jù)配置在端口屬性表、Trunk組表、Trunk映射表中,并基于這三個表的信息進(jìn)行報文轉(zhuǎn)發(fā),從而實現(xiàn)鏈路聚合;還通過HASH方法實現(xiàn)負(fù)載均衡;并在此基礎(chǔ)上通過堆疊端口的特殊配置實現(xiàn)堆疊聚合。
文檔編號H04L12/56GK1809021SQ20051002337
公開日2006年7月26日 申請日期2005年1月17日 優(yōu)先權(quán)日2005年1月17日
發(fā)明者范嘉旗, 梅柳波 申請人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1