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

以太網(wǎng)設(shè)備堆疊方法及其系統(tǒng)的制作方法

文檔序號(hào):7612964閱讀:142來源:國(guó)知局
專利名稱:以太網(wǎng)設(shè)備堆疊方法及其系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信設(shè)備的組合技術(shù),特別涉及以太網(wǎng)設(shè)備堆疊技術(shù)。
背景技術(shù)
當(dāng)前,固定端口交換機(jī)(如24個(gè)10/100M端口或48個(gè)10/100M端口交換機(jī))由于其配置簡(jiǎn)單、成本低一直在網(wǎng)絡(luò)邊緣和企業(yè)中得到廣泛使用。但由于網(wǎng)絡(luò)流量及其分布正在發(fā)生著明顯的變化,過去客戶端到服務(wù)器的訪問(如瀏覽者到Internet的Web訪問)占網(wǎng)絡(luò)流量的主導(dǎo)地位,而今天的流量模型正在走向多元化,如語音和圖像的即時(shí)通信使得客戶端到客戶端的訪問劇增,邊緣交換機(jī)間的流量越來越大。當(dāng)網(wǎng)絡(luò)規(guī)模不斷提高時(shí),固定端口交換機(jī)的可擴(kuò)展性受到極大挑戰(zhàn)。設(shè)備堆疊技術(shù)則解決了這一問題。將幾個(gè)交換機(jī)通過專用的堆疊模塊相連可以成倍地提高網(wǎng)絡(luò)接入層的端口密度。有些廠家的交換機(jī)經(jīng)過堆疊后可以作為一個(gè)網(wǎng)元管理,這更簡(jiǎn)化了網(wǎng)絡(luò)結(jié)構(gòu)。
堆疊是在以太網(wǎng)交換機(jī)(Switch,簡(jiǎn)稱“SW”)上擴(kuò)展端口時(shí)使用的一項(xiàng)技術(shù),是一種非標(biāo)準(zhǔn)化技術(shù)。堆疊就是將一組交換機(jī)連接起來,將它們作為一個(gè)對(duì)象來管理。堆疊技術(shù)的最大優(yōu)點(diǎn)就是簡(jiǎn)化了網(wǎng)絡(luò)結(jié)構(gòu),簡(jiǎn)化了本地管理。目前流行的堆疊模式主要有兩種菊花鏈模式和星型模式。堆疊技術(shù)的最大優(yōu)點(diǎn)就是提供簡(jiǎn)化的本地管理,將一組交換機(jī)作為一個(gè)對(duì)象來管理。
所謂菊花鏈,顧名思義,就是將交換機(jī)一個(gè)個(gè)地串接起來,每臺(tái)交換機(jī)都只與自己相鄰的交換機(jī)進(jìn)行連接。菊花鏈模式使用堆疊電纜將幾臺(tái)交換機(jī)以環(huán)路的方式組建成一個(gè)堆疊組。菊花鏈模式又分單工和雙工兩種。
圖1(a)、(b)分別示出了菊花鏈模式下單工和雙工堆疊方式。單工方式下,每個(gè)交換機(jī)出一個(gè)千兆以太網(wǎng)(Gigabyte Ethernet,簡(jiǎn)稱“GE”)口作為堆疊口,上行設(shè)備的發(fā)送電路(Tx)連接到下行設(shè)備的接收電路(Rx)。雙工方式下,中間的交換機(jī)出兩個(gè)GE口作為堆疊端口分別連接上下行設(shè)備,邊緣設(shè)備可以提供一個(gè)GE上行口。在中間的堆疊交換機(jī)上,為了讓需要堆疊處理的幀到達(dá)每個(gè)堆疊設(shè)備,則需要將幀向上下行兩個(gè)方向都進(jìn)行發(fā)送。
星型堆疊技術(shù),需要提供一個(gè)獨(dú)立的或者集成的高速交換中心,即堆疊中心,所有的堆疊主機(jī)通過高速堆疊端口上行到統(tǒng)一的堆疊中心,堆疊中心一般是一個(gè)基于專用集成電路(Application Specified Integrated Circuit,簡(jiǎn)稱“ASIC”)的硬件交換單元,其交換容量限制了堆疊設(shè)備個(gè)數(shù)。
星型堆疊技術(shù)使所有的堆疊組成員交換機(jī)到達(dá)堆疊中心的級(jí)數(shù)縮小到一級(jí),任何兩個(gè)端節(jié)點(diǎn)之間的轉(zhuǎn)發(fā)需要且只需要經(jīng)過三次交換,轉(zhuǎn)發(fā)效率與一級(jí)級(jí)聯(lián)模式的邊緣節(jié)點(diǎn)通信結(jié)構(gòu)相同,因此,與菊花鏈?zhǔn)浇Y(jié)構(gòu)相比,它可以顯著地提高堆疊成員之間數(shù)據(jù)的轉(zhuǎn)發(fā)速率。同時(shí)提供統(tǒng)一的管理模式,一組交換機(jī)在網(wǎng)絡(luò)管理中,可以作為單一的節(jié)點(diǎn)出現(xiàn)。所以對(duì)于主控堆疊交換機(jī)軟硬件要求非常高,通常主交換機(jī)的背板一般在10~32G之間,一般的堆疊電纜帶寬都在2G~2.5G之間。星型堆疊模式克服了菊花鏈?zhǔn)蕉询B模式多層次轉(zhuǎn)發(fā)時(shí)的時(shí)延影響,但需要開發(fā)專用的堆疊中心模塊,成本較高。而且整個(gè)堆疊組的核心將集中在主交換機(jī)上,冗余性不夠,可靠性會(huì)有所不足。圖1(c)示出了4個(gè)交換機(jī)的星型堆疊方式。
負(fù)載均衡機(jī)制是在現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu)之上,提供了一種廉價(jià)有效的方法擴(kuò)展服務(wù)器帶寬和增加吞吐量,加強(qiáng)網(wǎng)絡(luò)數(shù)據(jù)處理能力,提高網(wǎng)絡(luò)的靈活性和可用性。它主要完成以下任務(wù)解決網(wǎng)絡(luò)擁塞問題,服務(wù)就近提供,實(shí)現(xiàn)地理位置無關(guān)性;為用戶提供更好的訪問質(zhì)量;提高服務(wù)器響應(yīng)速度;提高服務(wù)器及其他資源的利用效率;避免了網(wǎng)絡(luò)關(guān)鍵部位出現(xiàn)單點(diǎn)失效。根據(jù)負(fù)載均衡機(jī)制所在網(wǎng)絡(luò)層次可以有鏈路聚合(Trunk)、網(wǎng)絡(luò)交換和服務(wù)器集群三種技術(shù)。其中,鏈路聚合技術(shù)是既廉價(jià)方便,又簡(jiǎn)單有效的負(fù)載均衡技術(shù)之一。
鏈路聚合是一種基于IEEE 802.3ad標(biāo)準(zhǔn)的提高了可靠性和性能的第二層冗余特性。這種功能允許把多條物理鏈路合成一條邏輯鏈路。鏈路聚合具有以下優(yōu)點(diǎn)將多條低速鏈路捆綁成一條邏輯鏈路,提供更高的速率,更寬的帶寬;增加鏈路的可靠性,避免單根鏈路的失效而引起的網(wǎng)絡(luò)不可用;提供負(fù)載均衡的機(jī)制,能夠在聚合鏈路上分擔(dān)網(wǎng)絡(luò)流量。根據(jù)標(biāo)準(zhǔn),實(shí)現(xiàn)鏈路聚合有以下要求防止數(shù)據(jù)包的多份復(fù)制和錯(cuò)序,無論處在鏈路的穩(wěn)定運(yùn)作還是在鏈路的配置中;鏈路改變時(shí),能夠快速的重配置。
目前,鏈路聚合一般采用純軟件或軟硬件結(jié)合的方法實(shí)現(xiàn)。采用的算法有以下幾種循環(huán)檢測(cè)算法,采用輪詢的方法把流量均勻發(fā)布給各個(gè)端口,但其不足之處是在接收端可能出現(xiàn)少量數(shù)據(jù)包時(shí)序的混亂;自適應(yīng)算法,最大可能把流量均勻分配給各個(gè)端口,其計(jì)算量相對(duì)來說較大;靜態(tài)算法,能保證每個(gè)數(shù)據(jù)包能夠正確到達(dá)指定的端口,但缺乏靈活性而且速度相對(duì)來說較慢。
在實(shí)際應(yīng)用中,上述方案存在以下問題現(xiàn)有的菊花鏈堆疊模式,一般采用一個(gè)GE或兩個(gè)GE作為堆疊端口,堆疊鏈路只有一個(gè)GE的帶寬,當(dāng)需要通過堆疊鏈路的數(shù)據(jù)包較多時(shí),容易發(fā)生阻塞和丟包現(xiàn)象;若堆疊端口采用特殊設(shè)計(jì),加速到2G或2.5G,則設(shè)計(jì)難度加大,而且容易造成交換帶寬的浪費(fèi);現(xiàn)有星型堆疊模式則需要專門的高速交換中心,成本昂貴,冗余性不夠,可靠性不足。
造成這種情況的主要原因在于,現(xiàn)有的菊花鏈堆疊模式只能采用單個(gè)端口作為堆疊端口;而現(xiàn)有的星型堆疊模式必須采用高速交換中心。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種以太網(wǎng)設(shè)備堆疊方法及其系統(tǒng),使得能夠以可自由配置的較高帶寬連接多個(gè)參與堆疊的以太網(wǎng)設(shè)備,從而較簡(jiǎn)便地實(shí)現(xiàn)高效的設(shè)備堆疊。
為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種以太網(wǎng)設(shè)備堆疊方法,包含以下步驟采用鏈路聚合方法,將以太網(wǎng)設(shè)備的多個(gè)堆疊端口聚合為聚合組,作為堆疊鏈路;多個(gè)所述以太網(wǎng)設(shè)備之間通過所述堆疊鏈路相互連接以實(shí)現(xiàn)設(shè)備堆疊。
其中,所述鏈路聚合方法包含以下步驟,在所述以太網(wǎng)設(shè)備中設(shè)置端口屬性表、聚合組表和聚合映射表,其中,所述端口屬性表用于描述端口的屬性,所述聚合組表用于設(shè)定聚合組所包含的端口,所述設(shè)置聚合映射表用于進(jìn)行聚合映射,將所述聚合組的網(wǎng)絡(luò)流量均衡分配到其所包含的端口上;所述以太網(wǎng)設(shè)備根據(jù)所述端口屬性表、所述聚合組表和所述聚合映射表轉(zhuǎn)發(fā)報(bào)文。
所述轉(zhuǎn)發(fā)報(bào)文的步驟中,對(duì)于單播報(bào)文轉(zhuǎn)發(fā)包含以下子步驟,A根據(jù)所述報(bào)文配置轉(zhuǎn)發(fā)表,如果所述報(bào)文的轉(zhuǎn)發(fā)目的為聚合組,則配置為相應(yīng)的聚合號(hào),置聚合標(biāo)志有效,否則為端口,配置為相應(yīng)端口號(hào);B根據(jù)所述報(bào)文的輸入端口號(hào)查找端口屬性表,得到該輸入端口的所述端口屬性,包含所述聚合標(biāo)志、所述聚合組號(hào);C查找所述轉(zhuǎn)發(fā)表得到該報(bào)文的轉(zhuǎn)發(fā)目的,判斷所述轉(zhuǎn)發(fā)目的是否為聚合組,如果是,則根據(jù)聚合組號(hào)得到該聚合組包含的端口列表,并進(jìn)入步驟D,否則進(jìn)入步驟E;D判斷是否所述輸入端口對(duì)應(yīng)的所述聚合標(biāo)志有效且所述輸入端口對(duì)應(yīng)的聚合組號(hào)與所述轉(zhuǎn)發(fā)目的對(duì)應(yīng)的聚合組號(hào)相同,如果是則進(jìn)行源端口抑制處理并丟棄該報(bào)文,否則進(jìn)行聚合映射得到有效端口并轉(zhuǎn)發(fā);E按照所述轉(zhuǎn)發(fā)目的對(duì)應(yīng)的所述端口號(hào),在對(duì)應(yīng)端口轉(zhuǎn)發(fā)該報(bào)文。
對(duì)于多播或廣播報(bào)文轉(zhuǎn)發(fā),先得到多播或廣播目的端口列表,如果目的端口包含聚合組,則該目的端口應(yīng)該包括該聚合組中的所有端口,再進(jìn)行聚合映射得到所有有效端口,并轉(zhuǎn)發(fā)。
所述步驟E中的所述聚合映射包含以下子步驟,通過所述哈希運(yùn)算由所述報(bào)文信息得到所述映射號(hào);根據(jù)所述映射號(hào)查找所述聚合映射表,得到所述端口掩碼;根據(jù)所述轉(zhuǎn)發(fā)目的查表得到所述目的端口列表;將所述端口掩碼和所述目的端口列表進(jìn)行與操作得到有效的標(biāo)志位所對(duì)應(yīng)的端口號(hào),即映射得到的所述有效端口。
所述端口屬性表所描述的端口屬性包含端口聚合標(biāo)志,用于指示該端口是否屬于聚合組;聚合組號(hào),用于在所述端口聚合標(biāo)志有效的情況下指示該端口所屬聚合組。
所述聚合組表由所述聚合組號(hào)索引,對(duì)應(yīng)每個(gè)所述聚合組號(hào)存在相應(yīng)的端口列表,所述端口列表對(duì)應(yīng)于每個(gè)所述端口的都包含一個(gè)標(biāo)志,用于指示對(duì)應(yīng)端口是否屬于該聚合組。
所述聚合映射表由映射號(hào)索引,對(duì)應(yīng)每個(gè)所述映射號(hào)存在相應(yīng)的端口掩碼,所述端口掩碼對(duì)應(yīng)于每個(gè)所述端口都包含一個(gè)標(biāo)志,用于指示對(duì)應(yīng)端口在該映射號(hào)下是否有效。
所述映射號(hào)由報(bào)文信息通過哈希映射得到,所述映射號(hào)的總數(shù)目根據(jù)負(fù)載均衡程度要求設(shè)定,所述哈希映射算法滿足相同的報(bào)文信息映射得到相同的映射號(hào)。
按照以下規(guī)則配置所述聚合映射表屬于同一聚合組的所述端口在任一所述映射號(hào)下有且只有一個(gè)所述端口置為有效,不屬于任何所述聚合組的所述端口在任何所述映射號(hào)下都置為有效,屬于同一聚合組的所述端口在所有所述映射號(hào)下被置為有效的次數(shù)相互均衡。
所述哈希映射算法通過將所述報(bào)文的媒體訪問控制源地址、媒體訪問控制目的地址、網(wǎng)際協(xié)議源地址和網(wǎng)際協(xié)議目的地址相加取余而得到所述映射號(hào)。
本發(fā)明還提供了一種以太網(wǎng)設(shè)備堆疊系統(tǒng),包含多個(gè)以堆疊方式連接在一起的以太網(wǎng)設(shè)備,相互連接所述多個(gè)以太網(wǎng)設(shè)備的堆疊鏈路是由以太網(wǎng)設(shè)備的多個(gè)端口以鏈路聚合方法聚合而成的。
其中,所述以太網(wǎng)設(shè)備中包含端口屬性表、聚合組表和聚合映射表,其中,所述端口屬性表用于描述端口的屬性;所述設(shè)置聚合組表用于設(shè)定聚合組所包含的端口;所述設(shè)置聚合映射表用于進(jìn)行聚合映射,將所述聚合組的網(wǎng)絡(luò)流量均衡分配到其所包含的端口上;所述以太網(wǎng)設(shè)備還用于根據(jù)所述端口屬性表、所述聚合組表和所述聚合映射表轉(zhuǎn)發(fā)報(bào)文。
所述以太網(wǎng)設(shè)備是千兆以太網(wǎng)交換機(jī),相互間的堆疊方式是菊花鏈。
通過比較可以發(fā)現(xiàn),本發(fā)明的技術(shù)方案與現(xiàn)有技術(shù)的主要區(qū)別在于,采用鏈路聚合方法,將以太網(wǎng)設(shè)備的多個(gè)堆疊端口聚合為聚合組,作為堆疊鏈路連接參與堆疊的各以太網(wǎng)設(shè)備。該鏈路聚合方法通過端口屬性表、Trunk組表、Trunk映射表的配置以及基于這三個(gè)表的報(bào)文轉(zhuǎn)發(fā)流程實(shí)現(xiàn)鏈路聚合和負(fù)載均衡。
這種技術(shù)方案上的區(qū)別,帶來了較為明顯的有益效果,即因?yàn)閷⒍鄠€(gè)堆疊端口聚合成為一條堆疊鏈路,所以可以提高網(wǎng)絡(luò)容量和資源利用率,即使在需要通過堆疊鏈路的數(shù)據(jù)包較多時(shí)也不容易發(fā)生阻塞和丟包現(xiàn)象,不會(huì)在兩個(gè)以太網(wǎng)設(shè)備間因?yàn)橛卸鄺l鏈路而導(dǎo)致環(huán)路。
因?yàn)閰⑴c堆疊的以太網(wǎng)設(shè)備端口可以保持較小的標(biāo)準(zhǔn)速率,所以在不進(jìn)行堆疊時(shí)可以直接應(yīng)用到其它系統(tǒng),而不用擔(dān)心帶寬的浪費(fèi)。
因?yàn)槎询B端口的配置主要取決于端口屬性表、Trunk組表、Trunk映射表,所以可以通過對(duì)這三個(gè)表的配置改變堆疊端口和堆疊鏈路的帶寬,從而使得設(shè)備堆疊更加靈活方便,提高了堆疊設(shè)備的可操作性。
鏈路聚合的均衡機(jī)制提高了設(shè)備堆疊的可靠性。


圖1是以太網(wǎng)交換機(jī)的多種堆疊模式示意圖;圖2是根據(jù)本發(fā)明的一個(gè)實(shí)施例的鏈路聚合中的單播報(bào)文轉(zhuǎn)發(fā)流程圖;圖3是根據(jù)本發(fā)明的一個(gè)實(shí)施例的鏈路聚合中的聚合映射流程圖;圖4是根據(jù)本發(fā)明的一個(gè)實(shí)施例的鏈路聚合方法實(shí)現(xiàn)的設(shè)備堆疊示意圖;圖5是根據(jù)本發(fā)明的另一個(gè)實(shí)施例的鏈路聚合方法實(shí)現(xiàn)的設(shè)備堆疊示意圖。
具體實(shí)施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步地詳細(xì)描述。
本發(fā)明采用鏈路聚合的方法,將堆疊設(shè)備的多個(gè)堆疊端口進(jìn)行鏈路聚合和負(fù)載均衡,使得堆疊鏈路帶寬增大,而且可以根據(jù)實(shí)際需要調(diào)整。
本發(fā)明采用端口屬性表、聚合組表和聚合映射表實(shí)現(xiàn)對(duì)鏈路、聚合組以及它們之間的映射關(guān)系的管理和配置;并根據(jù)鏈路聚合標(biāo)準(zhǔn),設(shè)計(jì)各個(gè)表的配置方法、聚合轉(zhuǎn)發(fā)規(guī)則和處理流程,實(shí)現(xiàn)負(fù)載均衡機(jī)制,在聚合鏈路上均衡分配網(wǎng)絡(luò)流量;并將此鏈路聚合方法應(yīng)用于設(shè)備堆疊端口的聚合,用端口捆綁的方式實(shí)現(xiàn)高帶寬、配置靈活的設(shè)備堆疊。
在本發(fā)明的一個(gè)實(shí)施例中,設(shè)計(jì)帶有多個(gè)GE口的以太網(wǎng)交換設(shè)備,將這些GE口按照實(shí)際需求進(jìn)行鏈路聚合,實(shí)現(xiàn)高帶寬堆疊鏈路。由于GE口的設(shè)計(jì)并不復(fù)雜,因此簡(jiǎn)單地將GE口復(fù)制,即可實(shí)現(xiàn)多個(gè)GE口的以太網(wǎng)交換設(shè)備。熟悉本領(lǐng)域的技術(shù)人員可以理解,對(duì)于帶有2個(gè)或2個(gè)以上GE口的以太網(wǎng)交換設(shè)備,均可采用鏈路聚合的方法實(shí)現(xiàn)設(shè)備堆疊,完成發(fā)明目的,而不影響本發(fā)明的實(shí)質(zhì)和范圍。
由于兩個(gè)交換設(shè)備之間有多條鏈路連接時(shí)會(huì)形成環(huán)路,引起路由震蕩,因此本發(fā)明采用鏈路聚合的方法,使得堆疊端口在邏輯上相當(dāng)于一條鏈路,不會(huì)形成環(huán)路,從而實(shí)現(xiàn)了堆疊鏈路的擴(kuò)容。下面參照實(shí)施例詳細(xì)闡述應(yīng)用于堆疊端口的鏈路聚合方法。
在本發(fā)明的一個(gè)實(shí)施例中,鏈路聚合稱為Trunking,聚合組成為Trunk組。由于鏈路對(duì)應(yīng)于交換機(jī)的端口,因此一個(gè)端口(Port)對(duì)應(yīng)于一條鏈路。每個(gè)設(shè)備保留兩個(gè)專用聚合組,作為堆疊Trunk組。組網(wǎng)方式與圖1中菊花鏈模式相同,但堆疊端口在邏輯上都屬于堆疊Trunk組,堆疊Trunk組可以包含一到多個(gè)GE端口。
在本發(fā)明的一個(gè)實(shí)施例中,給每條鏈路設(shè)置端口屬性表,包含聚合標(biāo)志(Trunked)和聚合組號(hào)(TrunkID),其中聚合標(biāo)志指示本端口是否被聚合,如果是,則本端口被聚合在相應(yīng)聚合組號(hào)的聚合組中。
在本發(fā)明的一個(gè)實(shí)施例中,設(shè)置聚合組表,該表以聚合組號(hào)(TrunkID)索引,對(duì)應(yīng)每個(gè)TrunkID的表行稱為端口列表(Port List),端口列單上對(duì)應(yīng)每個(gè)端口為一位,用于該位指示相應(yīng)端口是否在相應(yīng)聚合組內(nèi)。比如,由16個(gè)Trunk組和28個(gè)端口的聚合組表結(jié)構(gòu)如表一所示。表一的行號(hào)為TrunkID0-15,列號(hào)為端口號(hào)0-27。端口的類型可以不同,比如0-23號(hào)為FE口,24-27號(hào)為GE口。可見表中每格只需用一位存儲(chǔ),比如用′1′表示該端口在該聚合組內(nèi),否則為′0′。如表一所示,Trunk組0所對(duì)應(yīng)的第一行中分別對(duì)應(yīng)端口4、5、7的值置為′1′,則表示Trunk組0包括端口4、5、6,同樣地,易見Trunk組14包括端口24,Trunk組15端口25、26、27。
表一

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


上述哈希映射方法,可以由報(bào)文信息經(jīng)過哈希運(yùn)算后而得到規(guī)定范圍內(nèi)的HashIDX。在本發(fā)明的一個(gè)實(shí)施例中,結(jié)合端口選擇策略,采用對(duì)報(bào)文的地址的哈希運(yùn)算實(shí)現(xiàn)哈希映射。比如,根據(jù)源地址和目的地址中的媒體訪問控制(Media Access Control,簡(jiǎn)稱“MAC”)和網(wǎng)際協(xié)議(Internet Protocol,簡(jiǎn)稱“IP)地址,進(jìn)行求和取余運(yùn)算得到HashIDX。這樣可以保證同一連接的報(bào)文流,即源和目的地址相同的報(bào)文,所對(duì)應(yīng)的HashIDX相同,于是經(jīng)過上述Trunk映射表后將被映射到同一個(gè)端口上轉(zhuǎn)發(fā)。
為了更詳細(xì)地說明上述Trunk映射方法在鏈路聚合時(shí)的負(fù)載均衡機(jī)制工作原理,下面給出本發(fā)明的一個(gè)實(shí)施例的報(bào)文轉(zhuǎn)發(fā)過程。比如對(duì)于表一、表二所描述的情況,當(dāng)一個(gè)轉(zhuǎn)發(fā)到Trunk組1的數(shù)據(jù)流到達(dá)交換機(jī)時(shí),交換機(jī)首先根據(jù)設(shè)定的哈希映射方法,將該數(shù)據(jù)流上的報(bào)文信息進(jìn)行哈希運(yùn)算得到HashIDX,比如為2;于是查找Trunk映射表,得到上述表二的第三行;再根據(jù)Trunk組表得到該Trunk組所包含的端口,即表一的第二行,分別為端口0、1、2、3;將Trunk組表的表行與Trunk映射表的表行進(jìn)行與運(yùn)算,即得到該報(bào)文轉(zhuǎn)發(fā)的端口號(hào),表二第三行的前4格只有端口2對(duì)應(yīng)為1,因此該報(bào)文將在端口2上轉(zhuǎn)發(fā)。
由此可見,上述Trunk映射方法可以實(shí)現(xiàn)以下要求首先,由于每個(gè)Trunk組所包含的端口在各個(gè)HashIDX下均勻分配,因此通過哈希映射,每個(gè)Trunk組的網(wǎng)絡(luò)流量將由端口均衡分擔(dān);其次,每個(gè)Trunk組在每一HashIDX下有且只有一個(gè)端口有效,保證了所有報(bào)文都能找到端口轉(zhuǎn)發(fā),且不會(huì)在不同端口重復(fù)轉(zhuǎn)發(fā);再次,由于哈希映射所采用的哈希運(yùn)算方法能夠保證同一數(shù)據(jù)流的報(bào)文在哈希運(yùn)算以后得到相同的HashIDX,則必在同一端口轉(zhuǎn)發(fā),保證了同一數(shù)據(jù)流的數(shù)據(jù)包不會(huì)亂序。
在本發(fā)明的一個(gè)實(shí)施例中,針對(duì)單播報(bào)文、多播報(bào)文和廣播報(bào)文分別給出相應(yīng)的轉(zhuǎn)發(fā)流程。
圖2示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的單播報(bào)文轉(zhuǎn)發(fā)流程。首先進(jìn)入步驟201,配置交換機(jī)的轉(zhuǎn)發(fā)表,如果該報(bào)文的轉(zhuǎn)發(fā)目的為Trunk組則配置為相應(yīng)的TrunkID,同時(shí)置Trunked標(biāo)志有效;如果為端口,則配置為相應(yīng)端口號(hào)。
接著進(jìn)入步驟202,根據(jù)該報(bào)文的輸入端口號(hào)查找端口屬性表,得到該輸入端口的Trunked標(biāo)志、TrunkID和堆疊(Stacked)等屬性。
接著進(jìn)入步驟203,查找轉(zhuǎn)發(fā)表得到該報(bào)文的轉(zhuǎn)發(fā)目的,并判斷轉(zhuǎn)發(fā)目的的Trunked標(biāo)志是否有效,如果是,則轉(zhuǎn)發(fā)目的為Trunk組進(jìn)入步驟205,否則轉(zhuǎn)發(fā)目的為端口,進(jìn)入步驟204。
在步驟204中,直接根據(jù)轉(zhuǎn)發(fā)目的的端口號(hào)指示進(jìn)行轉(zhuǎn)發(fā)。
在步驟205中,根據(jù)在步驟202中得到的輸入端口的屬性,判斷輸入端口是否屬于Trunk組,如果是則需要判斷輸入TrunkID和轉(zhuǎn)發(fā)目的TrunkID是否相等,如果相等則進(jìn)入步驟206進(jìn)行源端口抑制處理,否則進(jìn)入步驟207進(jìn)行Trunk映射得到轉(zhuǎn)發(fā)目的端口號(hào),并轉(zhuǎn)發(fā)。
其中源端口抑制處理是指將輸入端口和轉(zhuǎn)發(fā)端口相同的報(bào)文丟棄,以避免報(bào)文環(huán)回發(fā)送。在本發(fā)明另一實(shí)施例中,對(duì)于二層單播的報(bào)文進(jìn)行源端口抑制,而對(duì)于三層單播的報(bào)文則上報(bào)處理器進(jìn)行相關(guān)的處理。
在本發(fā)明的一個(gè)實(shí)施例中,步驟207中所述Trunk映射包含以下子步驟首先通過哈希運(yùn)算得到HashIDX,接著查找Trunk映射表,同時(shí)根據(jù)轉(zhuǎn)發(fā)目的TrunkID查找Trunk組表,將得到的Trunk映射表表行(Port Mask)和Trunk組表表行(Port List)進(jìn)行與(And)操作得到唯一的轉(zhuǎn)發(fā)目的端口號(hào),于是在此端口上轉(zhuǎn)發(fā)該報(bào)文。Trunk映射流程如圖3所示。
在本發(fā)明的一個(gè)實(shí)施例中,對(duì)于多播報(bào)文的轉(zhuǎn)發(fā),如果多播目的包括Trunk組,則多播轉(zhuǎn)發(fā)目的端口列表應(yīng)該包括該Trunk所有物理端口。此后,進(jìn)行Trunk映射,將得到的Trunk映射表行(Port Mask)和多播目的端口列表(Port List)進(jìn)行與(And)操作。對(duì)于二層多播需要進(jìn)行源端口抑制操作,即從上述輸出結(jié)果中刪除輸入端口或輸入Trunk組包含的所有端口,得到最終的輸出端口列表;對(duì)于三層多播,則無須進(jìn)行源端口抑制。所述多播報(bào)文包含第二層多播、第三層多播和第三層子網(wǎng)廣播等方式。
在本發(fā)明的一個(gè)實(shí)施例中,由于第二層的未知單播和第二層的廣播均需要在虛擬局域網(wǎng)內(nèi)(Virtual Local Area Network,簡(jiǎn)稱”VLAN“)進(jìn)行廣播,因此相應(yīng)的需要有廣播報(bào)文的轉(zhuǎn)發(fā)處理流程。廣播轉(zhuǎn)發(fā)要求在配置VLAN表時(shí),將Trunk組所包含的所有端口均列為廣播轉(zhuǎn)發(fā)端口。此后,使用VLAN端口列表和Trunk映射表行進(jìn)行與操作,最后進(jìn)行源端口抑制操作。
采用上述鏈路聚合方法,將多個(gè)堆疊端口進(jìn)行捆綁,使其在邏輯上屬于一個(gè)Trunk組,采用此多個(gè)鏈路聚合而成的Trunk組作為堆疊鏈路,可實(shí)現(xiàn)靈活調(diào)整網(wǎng)絡(luò)容量的設(shè)備堆疊。
在本發(fā)明的一個(gè)實(shí)施例中,采用菊花鏈模式,每個(gè)堆疊設(shè)備出多個(gè)GE口作為堆疊端口。對(duì)于單工方式,相連的每?jī)蓚€(gè)堆疊設(shè)備之間采用同向的一個(gè)Trunk組將多個(gè)GE口捆綁;對(duì)于雙工方式,中間相連的兩個(gè)堆疊設(shè)備之間采用不同方向的兩個(gè)Trunk組將多個(gè)GE口捆綁,分別向兩側(cè)傳送報(bào)文,而兩側(cè)的堆疊設(shè)備只需一個(gè)Trunk組。每個(gè)Trunk組可以包含一到多個(gè)GE口。圖4和圖5示出了根據(jù)本發(fā)明的兩個(gè)實(shí)施例的采用鏈路聚合方法實(shí)現(xiàn)設(shè)備堆疊示意圖。這兩個(gè)實(shí)施例都采用菊花鏈模式,其中圖4是是單工堆疊方式,圖5是雙工堆疊方式。
在本發(fā)明的一個(gè)實(shí)施例中,當(dāng)實(shí)際需求改變時(shí),比如堆疊設(shè)備業(yè)務(wù)需求發(fā)生變化,通過改變上述端口屬性表、Trunk組表、Trunk映射表等,改變堆疊端口的鏈路聚合方式,比如堆疊Trunk組所包含的GE口數(shù)目增加或減少,以調(diào)整聚合鏈路和網(wǎng)絡(luò)鏈路的帶寬。另外,通過改變Trunk映射表中不同端口在不同HashIDX下有效的次數(shù),以及哈希算法,可以控制同一Trunk組內(nèi)各個(gè)端口的負(fù)載流量分配,實(shí)現(xiàn)流量均衡。
在本發(fā)明的另一個(gè)實(shí)施例中,由于堆疊端口輸入輸出的報(bào)文與普通端口的報(bào)文有所不同,系統(tǒng)根據(jù)端口屬表中的堆疊(Stacked)標(biāo)志是否有效而進(jìn)行相應(yīng)操作。另外,對(duì)于單工堆疊和雙工堆疊采用不同的處理方式,單工堆疊只有一個(gè)堆疊Trunk組,Trunk組的收發(fā)方向接不同的設(shè)備,輸入和輸出相當(dāng)于兩個(gè)不同端口,因此該Trunk組無須進(jìn)行源端口抑制處理。
熟悉本領(lǐng)域的技術(shù)人員可以理解,所述Trunk組表和Trunk映射表也可以通過其他編碼方式實(shí)現(xiàn),所述哈希運(yùn)算可以通過其他算法實(shí)現(xiàn),所述堆疊設(shè)備的結(jié)構(gòu)、連接方式可以根據(jù)要求設(shè)計(jì),完成發(fā)明目的,而不影響本發(fā)明的實(shí)質(zhì)和范圍。
除了上述基于三個(gè)表的鏈路聚合方法,也可以用其它方法實(shí)現(xiàn)鏈路聚合,下面再舉一個(gè)例子。
假設(shè)設(shè)備只支持一個(gè)Trunk組,而且該Trunk組只用于堆疊鏈路。
建立如下端口選擇表,該表使用報(bào)文目的地址的最低2Bit作為行號(hào),源地址的最低3Bit作為列號(hào),進(jìn)行查表。表項(xiàng)內(nèi)容即為轉(zhuǎn)發(fā)目的端口,由軟件進(jìn)行配置,配置時(shí)要保證通過各個(gè)端口的數(shù)據(jù)流量盡量均衡。
如果兩個(gè)設(shè)備堆疊,并且堆疊鏈路包括0端口和1端口,則表項(xiàng)配置如下

對(duì)于單播轉(zhuǎn)發(fā),如果目的為堆疊鏈路,則使用報(bào)文的源和目的地址查表來選擇目的端口。
對(duì)于廣播和多播報(bào)文,如果目的端口包含堆疊鏈路,同樣可以使用報(bào)文的源和目的地址查表來選擇目的端口。
通過該方法能夠保證同一數(shù)據(jù)流在堆疊鏈路轉(zhuǎn)發(fā)時(shí)始終從同一個(gè)端口發(fā)送,保證數(shù)據(jù)包不亂序。
該方法中可以根據(jù)堆疊鏈路包含的端口數(shù)目擴(kuò)大或減小表項(xiàng)行列數(shù)目,使流量更加均衡。
雖然通過參照本發(fā)明的某些優(yōu)選實(shí)施例,已經(jīng)對(duì)本發(fā)明進(jìn)行了圖示和描述,但本領(lǐng)域的普通技術(shù)人員應(yīng)該明白,可以在形式上和細(xì)節(jié)上對(duì)其作各種各樣的改變,而不偏離所附權(quán)利要求書所限定的本發(fā)明的精神和范圍。
權(quán)利要求
1.一種以太網(wǎng)設(shè)備堆疊方法,其特征在于,包含以下步驟采用鏈路聚合方法,將以太網(wǎng)設(shè)備的多個(gè)堆疊端口聚合為聚合組,作為堆疊鏈路;多個(gè)所述以太網(wǎng)設(shè)備之間通過所述堆疊鏈路相互連接以實(shí)現(xiàn)設(shè)備堆疊。
2.根據(jù)權(quán)利要求1所述的以太網(wǎng)設(shè)備堆疊方法,其特征在于,所述鏈路聚合方法包含以下步驟,在所述以太網(wǎng)設(shè)備中設(shè)置端口屬性表、聚合組表和聚合映射表,其中,所述端口屬性表用于描述端口的屬性,所述聚合組表用于設(shè)定聚合組所包含的端口,所述設(shè)置聚合映射表用于進(jìn)行聚合映射,將所述聚合組的網(wǎng)絡(luò)流量均衡分配到其所包含的端口上;所述以太網(wǎng)設(shè)備根據(jù)所述端口屬性表、所述聚合組表和所述聚合映射表轉(zhuǎn)發(fā)報(bào)文。
3.根據(jù)權(quán)利要求2所述的以太網(wǎng)設(shè)備堆疊方法,其特征在于,所述轉(zhuǎn)發(fā)報(bào)文的步驟中,對(duì)于單播報(bào)文轉(zhuǎn)發(fā)包含以下子步驟,A根據(jù)所述報(bào)文配置轉(zhuǎn)發(fā)表,如果所述報(bào)文的轉(zhuǎn)發(fā)目的為聚合組,則配置為相應(yīng)的聚合號(hào),置聚合標(biāo)志有效,否則為端口,配置為相應(yīng)端口號(hào);B根據(jù)所述報(bào)文的輸入端口號(hào)查找端口屬性表,得到該輸入端口的所述端口屬性,包含所述聚合標(biāo)志、所述聚合組號(hào);C查找所述轉(zhuǎn)發(fā)表得到該報(bào)文的轉(zhuǎn)發(fā)目的,判斷所述轉(zhuǎn)發(fā)目的是否為聚合組,如果是,則根據(jù)聚合組號(hào)得到該聚合組包含的端口列表,并進(jìn)入步驟D,否則進(jìn)入步驟E;D判斷是否所述輸入端口對(duì)應(yīng)的所述聚合標(biāo)志有效且所述輸入端口對(duì)應(yīng)的聚合組號(hào)與所述轉(zhuǎn)發(fā)目的對(duì)應(yīng)的聚合組號(hào)相同,如果是則進(jìn)行源端口抑制處理并丟棄該報(bào)文,否則進(jìn)行聚合映射得到有效端口并轉(zhuǎn)發(fā);E按照所述轉(zhuǎn)發(fā)目的對(duì)應(yīng)的所述端口號(hào),在對(duì)應(yīng)端口轉(zhuǎn)發(fā)該報(bào)文。
4.根據(jù)權(quán)利要求3所述的以太網(wǎng)設(shè)備堆疊方法,其特征在于,對(duì)于多播或廣播報(bào)文轉(zhuǎn)發(fā),先得到多播或廣播目的端口列表,如果目的端口包含聚合組,則該目的端口應(yīng)該包括該聚合組中的所有端口,再進(jìn)行聚合映射得到所有有效端口,并轉(zhuǎn)發(fā)。
5.根據(jù)權(quán)利要求3或4所述的以太網(wǎng)設(shè)備堆疊方法,其特征在于,所述步驟E中的所述聚合映射包含以下子步驟,通過所述哈希運(yùn)算由所述報(bào)文信息得到所述映射號(hào);根據(jù)所述映射號(hào)查找所述聚合映射表,得到所述端口掩碼;根據(jù)所述轉(zhuǎn)發(fā)目的查表得到所述目的端口列表;將所述端口掩碼和所述目的端口列表進(jìn)行與操作得到有效的標(biāo)志位所對(duì)應(yīng)的端口號(hào),即映射得到的所述有效端口。
6.根據(jù)權(quán)利要求2所述的以太網(wǎng)設(shè)備堆疊方法,其特征在于,所述端口屬性表所描述的端口屬性包含端口聚合標(biāo)志,用于指示該端口是否屬于聚合組;聚合組號(hào),用于在所述端口聚合標(biāo)志有效的情況下指示該端口所屬聚合組。
7.根據(jù)權(quán)利要求2所述的以太網(wǎng)設(shè)備堆疊方法,其特征在于,所述聚合組表由所述聚合組號(hào)索引,對(duì)應(yīng)每個(gè)所述聚合組號(hào)存在相應(yīng)的端口列表,所述端口列表對(duì)應(yīng)于每個(gè)所述端口的都包含一個(gè)標(biāo)志,用于指示對(duì)應(yīng)端口是否屬于該聚合組。
8.根據(jù)權(quán)利要求2所述的以太網(wǎng)設(shè)備堆疊方法,其特征在于,所述聚合映射表由映射號(hào)索引,對(duì)應(yīng)每個(gè)所述映射號(hào)存在相應(yīng)的端口掩碼,所述端口掩碼對(duì)應(yīng)于每個(gè)所述端口都包含一個(gè)標(biāo)志,用于指示對(duì)應(yīng)端口在該映射號(hào)下是否有效。
9.根據(jù)權(quán)利要求2所述的以太網(wǎng)設(shè)備堆疊方法,其特征在于,所述映射號(hào)由報(bào)文信息通過哈希映射得到,所述映射號(hào)的總數(shù)目根據(jù)負(fù)載均衡程度要求設(shè)定,所述哈希映射算法滿足相同的報(bào)文信息映射得到相同的映射號(hào)。
10.根據(jù)權(quán)利要求8所述的以太網(wǎng)設(shè)備堆疊方法,其特征在于,按照以下規(guī)則配置所述聚合映射表屬于同一聚合組的所述端口在任一所述映射號(hào)下有且只有一個(gè)所述端口置為有效,不屬于任何所述聚合組的所述端口在任何所述映射號(hào)下都置為有效,屬于同一聚合組的所述端口在所有所述映射號(hào)下被置為有效的次數(shù)相互均衡。
11.根據(jù)權(quán)利要求9所述的以太網(wǎng)設(shè)備堆疊方法,其特征在于,所述哈希映射算法通過將所述報(bào)文的媒體訪問控制源地址、媒體訪問控制目的地址、網(wǎng)際協(xié)議源地址和網(wǎng)際協(xié)議目的地址相加取余而得到所述映射號(hào)。
12.一種以太網(wǎng)設(shè)備堆疊系統(tǒng),包含多個(gè)以堆疊方式連接在一起的以太網(wǎng)設(shè)備,其特征在于,相互連接所述多個(gè)以太網(wǎng)設(shè)備的堆疊鏈路是由以太網(wǎng)設(shè)備的多個(gè)端口以鏈路聚合方法聚合而成的。
13.根據(jù)權(quán)利要求12所述的以太網(wǎng)設(shè)備堆疊系統(tǒng),其特征在于,所述以太網(wǎng)設(shè)備中包含端口屬性表、聚合組表和聚合映射表,其中,所述端口屬性表用于描述端口的屬性;所述設(shè)置聚合組表用于設(shè)定聚合組所包含的端口;所述設(shè)置聚合映射表用于進(jìn)行聚合映射,將所述聚合組的網(wǎng)絡(luò)流量均衡分配到其所包含的端口上;所述以太網(wǎng)設(shè)備還用于根據(jù)所述端口屬性表、所述聚合組表和所述聚合映射表轉(zhuǎn)發(fā)報(bào)文。
14.根據(jù)權(quán)利要求12所述的以太網(wǎng)設(shè)備堆疊系統(tǒng),其特征在于,所述以太網(wǎng)設(shè)備是千兆以太網(wǎng)交換機(jī),相互間的堆疊方式是菊花鏈。
全文摘要
本發(fā)明涉及通信設(shè)備的組合技術(shù),公開了一種以太網(wǎng)設(shè)備堆疊方法及其系統(tǒng),使得能夠以可自由配置的較高帶寬連接多個(gè)參與堆疊的以太網(wǎng)設(shè)備,從而較簡(jiǎn)便地實(shí)現(xiàn)高效的設(shè)備堆疊。本發(fā)明中,采用鏈路聚合方法,將以太網(wǎng)設(shè)備的多個(gè)堆疊端口聚合為聚合組,作為堆疊鏈路連接參與堆疊的各以太網(wǎng)設(shè)備。該鏈路聚合方法通過端口屬性表、Trunk組表、Trunk映射表的配置以及基于這三個(gè)表的報(bào)文轉(zhuǎn)發(fā)流程實(shí)現(xiàn)鏈路聚合和負(fù)載均衡。
文檔編號(hào)H04L12/56GK1809022SQ20051002337
公開日2006年7月26日 申請(qǐng)日期2005年1月17日 優(yōu)先權(quán)日2005年1月17日
發(fā)明者范嘉旗 申請(qǐng)人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1