專利名稱:網(wǎng)絡(luò)系統(tǒng)業(yè)務(wù)流的負(fù)荷分擔(dān)路徑優(yōu)化方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)技術(shù),特別涉及一種網(wǎng)絡(luò)系統(tǒng)業(yè)務(wù)流的負(fù)荷分擔(dān)路徑優(yōu)化方法和優(yōu)化裝置。
背景技術(shù):
隨著寬帶應(yīng)用的普及以及企業(yè)信息應(yīng)用需求的增長,網(wǎng)絡(luò)的整體速度不斷提高,大吞吐量數(shù)據(jù)交換和各種智能應(yīng)用的需要也日益增加。為了使數(shù)據(jù)交換設(shè)備滿足大型網(wǎng)絡(luò)對端口的數(shù)量要求,一般在較大型網(wǎng)絡(luò)中都采用將設(shè)備進(jìn)行堆疊的方式來解決。
目前網(wǎng)絡(luò)堆疊系統(tǒng)中UNIT(交換單元)的拓?fù)溥B接方式包括環(huán)形和鏈形。圖1為拓?fù)浣Y(jié)構(gòu)為環(huán)形連接的堆疊系統(tǒng)示意圖。圖1中以6臺UNIT為例,環(huán)形連接是將每個(gè)UNIT的″UP″端口和另外一臺UNIT的的″DOWN″端口依次相聯(lián)而組成一個(gè)環(huán)形。這種堆疊方式的一個(gè)特點(diǎn)是沒有邊緣設(shè)備,所有UNIT都處于相同的相對位置上。鏈形連接方式是每個(gè)非邊緣的UNIT的兩個(gè)端口連接方式和環(huán)形相同,但邊緣UNIT有一個(gè)“UP”端口或“DOWN”端口沒有和其他任何端口相連,所有UNIT組成一個(gè)不封閉的堆疊鏈路。為了防止廣播報(bào)文和未知單播報(bào)文在環(huán)形拓樸網(wǎng)絡(luò)中反復(fù)擴(kuò)散形成廣播風(fēng)暴,目前的環(huán)形拓樸堆疊產(chǎn)品在拓?fù)涫諗恐?,會阻塞環(huán)路中某個(gè)確定UNIT堆疊端口,并在被阻塞的堆疊口處禁止掉所有的業(yè)務(wù)流量。這樣業(yè)務(wù)流量僅僅在未被阻塞的堆疊端口上通過。
由于現(xiàn)有業(yè)務(wù)流的環(huán)形或鏈形轉(zhuǎn)發(fā)方式,實(shí)質(zhì)都是通過將堆疊系統(tǒng)中所有UNIT形成一個(gè)不封閉的堆疊鏈路進(jìn)行轉(zhuǎn)發(fā)。但在此過程中,都沒有考慮帶寬利用率的最大化和路程開銷,都不能盡可能地地利用現(xiàn)有的帶寬。尤其在現(xiàn)有的堆疊產(chǎn)品堆疊口帶寬比較小,又在不能使用全部堆疊口傳輸數(shù)據(jù)報(bào)文的情況下,鏈路擁塞的情況會更加明顯。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種網(wǎng)絡(luò)系統(tǒng)業(yè)務(wù)流的負(fù)荷分擔(dān)路徑優(yōu)化方法和優(yōu)化裝置,根據(jù)目的UNIT和源UNIT之間的位置關(guān)系的不同選擇報(bào)文傳遞路徑,以充分利用環(huán)形鏈路的帶寬,減少擁塞,提高服務(wù)質(zhì)量。
為達(dá)到上述目的,本發(fā)明提供的一種網(wǎng)絡(luò)系統(tǒng)業(yè)務(wù)流的負(fù)荷分擔(dān)路徑優(yōu)化方法,在網(wǎng)絡(luò)系統(tǒng)進(jìn)行拓?fù)浒l(fā)現(xiàn)和拓?fù)涫諗亢?,所述方法包括a源UNIT根據(jù)MODULE ID信息計(jì)算路程開銷并選擇最優(yōu)路徑,當(dāng)數(shù)據(jù)報(bào)文進(jìn)入網(wǎng)絡(luò)系統(tǒng)中時(shí),源UNIT根據(jù)計(jì)算結(jié)果發(fā)送報(bào)文;b非源UNIT根據(jù)計(jì)算結(jié)果確定阻塞或不阻塞報(bào)文。
所述報(bào)文類型包括單播報(bào)文、組播報(bào)文、廣播報(bào)文和未知單播報(bào)文。
所述MODULE ID信息可以是UNIT內(nèi)部和之間彼此識別的任何信息。
在步驟a中所述源UNIT分別計(jì)算從源UNIT的DOWN端口和UP端口分別到達(dá)目的UNIT的路程開銷,計(jì)算方法為源UNIT到目的UNIT的跳數(shù),并選擇開銷較小的路徑發(fā)送單播報(bào)文。
若從UP端口和DOWN端口傳遞報(bào)文的路程開銷相同,則源UNIT可從UP端口和/或DOWN端口發(fā)送單播報(bào)文;或令源MODULE ID為偶數(shù)的單播報(bào)文從DOWN(或者UP)堆疊端口傳遞至目的UNIT,同時(shí)令源MODULE ID為奇數(shù)的單播報(bào)文從UP(或者DOWN)堆疊端口傳遞至目的UNIT。
所述廣播報(bào)文、組播報(bào)文和未知單播報(bào)文的選路及阻塞策略為若N為奇數(shù),則從源UNIT的UP端口和DOWN端口分別傳遞N/2(取整)跳;若N為偶數(shù),則從源UNIT的UP端口傳遞為(N/2-1)跳,從DOWN端口傳遞為N/2跳;其中N為網(wǎng)絡(luò)系統(tǒng)中UNIT的數(shù)目。
相應(yīng)地,本發(fā)明提供的一種網(wǎng)絡(luò)業(yè)務(wù)流的負(fù)荷分擔(dān)路徑優(yōu)化裝置,所述網(wǎng)絡(luò)系統(tǒng)至少包括兩臺網(wǎng)絡(luò)設(shè)備,所述網(wǎng)絡(luò)設(shè)備之間利用所述裝置的UP和DOWN端口收發(fā)報(bào)文,其特征在于,所述裝置包括接收報(bào)文的報(bào)文接收單元;計(jì)算路程開銷的路程開銷計(jì)算單元;根據(jù)計(jì)算結(jié)果發(fā)送報(bào)文的報(bào)文發(fā)送單元;和根據(jù)計(jì)算結(jié)果對廣播報(bào)文進(jìn)行阻塞的處理單元。
所述報(bào)文的類型包括單播報(bào)文、組播報(bào)文、廣播報(bào)文和未知單播報(bào)文。
所述廣播報(bào)文、組播報(bào)文和未知單播報(bào)文的選路及阻塞策略為若N為奇數(shù),則從源UNIT的UP端口和DOWN端口分別傳遞N/2(取整)跳;若N為偶數(shù),則從源UNIT的UP端口傳遞為(N/2-1)跳,從DOWN端口傳遞為N/2跳;其中N為堆疊系統(tǒng)中UNIT的數(shù)目。
當(dāng)所述報(bào)文為單播報(bào)文時(shí),所述報(bào)文發(fā)送單元選擇路程開銷最短的路徑發(fā)送報(bào)文。
若從UP端口和DOWN端口傳遞報(bào)文的路程開銷相同,則源UNIT可從UP端口和/或DOWN端口將單播報(bào)文發(fā)送出去。
也可以令源MOD ID為偶數(shù)的單播報(bào)文從DOWN(或者UP)堆疊端口傳遞至目的UNIT,同時(shí)令源MOD ID為奇數(shù)的單播報(bào)文從UP(或者DOWN)堆疊端口傳遞至目的UNIT。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn)現(xiàn)有技術(shù)在堆疊單元的拓?fù)錁?gòu)造為環(huán)形的情況下未能充分利用堆疊環(huán)路的帶寬,通過堆疊口的數(shù)據(jù)流不能占用所有的堆疊口帶寬,UNIT之間的數(shù)據(jù)流實(shí)際上都是在一個(gè)由所有堆疊成員所組成的鏈狀數(shù)據(jù)鏈路上來回傳輸。而在采用本發(fā)明的環(huán)形拓?fù)湎碌臉I(yè)務(wù)流路徑優(yōu)化方法和優(yōu)化裝置后,對單播報(bào)文而言,根據(jù)堆疊系統(tǒng)中目的UNIT和源UNIT之間位置的不同,自動選擇最優(yōu)的一條路徑。對于同一個(gè)廣播報(bào)文(為了敘述方便,在本文中廣播報(bào)文是泛指,其范圍包括廣播報(bào)文、組播報(bào)文和未知單播報(bào)文),每個(gè)UNIT都能收到,且最多只收到一次,從而實(shí)現(xiàn)了對業(yè)務(wù)流的優(yōu)化,且優(yōu)化策略對單播報(bào)文,組播報(bào)文,廣播報(bào)文和未知單播報(bào)文都適用。本發(fā)明的業(yè)務(wù)流路徑優(yōu)化方法盡可能地利用了環(huán)形鏈路的帶寬,改善了網(wǎng)絡(luò)性能,提高了服務(wù)質(zhì)量。
圖1為拓?fù)浣Y(jié)構(gòu)為環(huán)形連接的堆疊系統(tǒng)示意圖;圖2為說明本發(fā)明方法的環(huán)形連接堆疊系統(tǒng)示意圖;圖3為本發(fā)明網(wǎng)絡(luò)系統(tǒng)業(yè)務(wù)流負(fù)荷分擔(dān)路徑優(yōu)化方法的流程圖;圖4為本發(fā)明網(wǎng)絡(luò)系統(tǒng)業(yè)務(wù)流負(fù)荷分擔(dān)路徑優(yōu)化裝置的方框圖。
具體實(shí)施例方式
下面結(jié)合附圖對本發(fā)明的具體實(shí)施方式
進(jìn)行詳細(xì)說明。圖示中的UNIT為網(wǎng)絡(luò)設(shè)備,例如交換機(jī),但不限于交換機(jī)。
本發(fā)明的網(wǎng)絡(luò)系統(tǒng)業(yè)務(wù)流的負(fù)荷分擔(dān)路徑優(yōu)化方法和優(yōu)化裝置根據(jù)目的UNIT和源UNIT之間的位置關(guān)系的不同選擇報(bào)文傳遞路徑,對單播報(bào)文,組播報(bào)文,廣播報(bào)文和未知單播報(bào)文都能夠?qū)崿F(xiàn)數(shù)據(jù)流量的負(fù)荷分擔(dān),并對廣播報(bào)文,組播報(bào)文和未知單播報(bào)文進(jìn)行阻塞抑制;對同一個(gè)廣播報(bào)文,組播報(bào)文或未知單播報(bào)文,所有UNIT都能夠收到該報(bào)文,且只收到一份;對單播報(bào)文、廣播報(bào)文、組播報(bào)文和未知單播報(bào)文的負(fù)荷分擔(dān)能夠做到無縫地融合到一起,以充分利用環(huán)形鏈路的帶寬。在以下對本發(fā)明的詳細(xì)描述中,為簡明起見,用廣播報(bào)文作為廣播報(bào)文、組播報(bào)文和未知單播報(bào)文的統(tǒng)稱加以敘述;即下文中出現(xiàn)的廣播報(bào)文應(yīng)理解為包括廣播報(bào)文、組播報(bào)文和未知單播報(bào)文,對廣播報(bào)文所做的處理同樣適用于組播報(bào)文和未知單播報(bào)文。
本發(fā)明的網(wǎng)絡(luò)系統(tǒng)業(yè)務(wù)流的負(fù)荷分擔(dān)路徑優(yōu)化方法和優(yōu)化裝置所闡述的業(yè)務(wù)流負(fù)荷分擔(dān)方案以上述內(nèi)容為基礎(chǔ),針對業(yè)務(wù)流進(jìn)行傳播路徑的優(yōu)化,以充分利用網(wǎng)絡(luò)帶寬資源。其中業(yè)務(wù)流除單播、廣播和組播報(bào)文之外,還可以從另外一個(gè)角度,分為二層、三層乃至更高層的報(bào)文??傊?,不管是二層、三層乃至更高層的報(bào)文,都可以在本發(fā)明業(yè)務(wù)流路徑優(yōu)化方法的基礎(chǔ)上,結(jié)合本發(fā)明的優(yōu)化裝置所提供的功能,進(jìn)行其他所有廣泛意義上的業(yè)務(wù)數(shù)據(jù)的路徑優(yōu)化。
為了更好地說明本發(fā)明,對拓?fù)浒l(fā)現(xiàn)的過程簡要介紹如下網(wǎng)絡(luò)通信系統(tǒng)可以由若干臺UNIT組成,只要彼此的線纜連接上,每一臺UNIT都會向其他UNIT發(fā)送Ad報(bào)文(拓?fù)浒l(fā)現(xiàn)報(bào)文),借助拓樸發(fā)現(xiàn)算法,各個(gè)UNIT都知道周圍有哪些UNIT,彼此建立鄰居(neighbor)關(guān)系,并通過比較各UNIT的信息,選舉出一臺優(yōu)先級最高的UNIT作為首領(lǐng)(MASTER)UNIT。例如,我們可以令二層交換機(jī)的MAC地址作為彼此比較的信息,并確定MAC地址最小的UNIT作為MASTER UNIT,其他UNIT則作為SLAVE UNIT。選擇了MASTER UNIT后,各SLAVE UNIT依據(jù)MASTER UNIT分配給自己的UNITID,來設(shè)置各個(gè)UNIT上所分配的module ID信息。其中Module ID信息可以是UNIT內(nèi)部交換單元彼此識別的任何信息,其組成元素只要是交換芯片能夠設(shè)別的信息。另外,module ID在本實(shí)現(xiàn)方案中應(yīng)是全局分配的,而且每一個(gè)UNIT都知道網(wǎng)絡(luò)系統(tǒng)內(nèi)其他UNIT所對應(yīng)的module ID信息。在拓?fù)浒l(fā)現(xiàn)算法收斂后,系統(tǒng)會將Module ID信息在整個(gè)Fabric范圍內(nèi)進(jìn)行同步。由于不同的module ID可以對應(yīng)不同的UNIT ID,而每一個(gè)進(jìn)入堆疊系統(tǒng)的報(bào)文,在堆疊口組成的鏈路上進(jìn)行傳輸時(shí),其報(bào)文頭部會帶上module ID信息,這樣一來,只要根據(jù)適當(dāng)?shù)乃惴?,對UNIT進(jìn)行設(shè)置,就可以讓去往不同目的地的報(bào)文,通過相應(yīng)堆疊口發(fā)往目的UNIT進(jìn)行轉(zhuǎn)發(fā)。
圖2為說明本發(fā)明業(yè)務(wù)流路徑優(yōu)化方法的環(huán)形連接的網(wǎng)絡(luò)系統(tǒng)示意圖。如圖2所示,為了易于說明,只顯示出了6個(gè)UNIT。該6個(gè)UNIT組成了一個(gè)環(huán)網(wǎng)結(jié)構(gòu),各個(gè)UNIT之間通過線纜相連,每個(gè)UNIT上和線纜相連的端口分別被定義成UP端口和DOWN端口。圖中的虛線表示系統(tǒng)中UNIT個(gè)數(shù)可以擴(kuò)展,其最大數(shù)目可根據(jù)系統(tǒng)的帶寬和設(shè)計(jì)要求定義。下面分別針對單播報(bào)文和廣播報(bào)文在堆疊系統(tǒng)中傳播的情況進(jìn)行描述。
本發(fā)明的業(yè)務(wù)流路徑優(yōu)化方法在UNIT為環(huán)網(wǎng)模式下利用組成UNIT的芯片單元內(nèi)的Unicast Table來確保單播報(bào)文按最優(yōu)路徑到達(dá)目的UNIT;利用Source MODID Block Table來確保環(huán)網(wǎng)系統(tǒng)中每一個(gè)UNIT都能接收到從源UNIT發(fā)出的廣播報(bào)文,而且對同一個(gè)報(bào)文而言,收且僅僅收到一次。在UnicastTable中每一個(gè)Dest MOD ID(目的module ID)對應(yīng)一個(gè)UC表的表項(xiàng),其中的UCBitmap字段中的內(nèi)容對應(yīng)于進(jìn)來的數(shù)據(jù)報(bào)文要前往的本UNIT內(nèi)部某個(gè)芯片單元相應(yīng)的物理端口。堆疊系統(tǒng)內(nèi)每一個(gè)Module ID在每一個(gè)Module內(nèi)部都有一個(gè)下面的表項(xiàng)和它相對應(yīng)(每一個(gè)UNIT可以由多個(gè)Module組成),如表1所示。
表1
例如UP堆疊口對應(yīng)芯片單元內(nèi)部的物理端口號為5,DOWN堆疊口對應(yīng)芯片單元內(nèi)部的物理端口號為7。而在Source MODID Block Table中每一個(gè)Source MOD ID(源module ID)對應(yīng)一個(gè)Source MODID Block表的表項(xiàng),其中的Bitmap字段中的內(nèi)容對應(yīng)于報(bào)文將要在本芯片單元內(nèi)的哪一個(gè)物理端口被阻塞。堆疊系統(tǒng)內(nèi)每一個(gè)Module ID在每一個(gè)Module內(nèi)部都有一個(gè)如下面表2所示的表項(xiàng)和它相對應(yīng)。
表2
假設(shè)UP堆疊口對應(yīng)芯片單元內(nèi)部的物理端口號為5,DOWN堆疊口對應(yīng)芯片內(nèi)部的物理端口號為7。例如從UNIT1發(fā)出的廣播報(bào)文,根據(jù)前面所描述的算法,該報(bào)文從DOWN端口出去,最遠(yuǎn)只能讓它到達(dá)UNIT4,于是UNIT4就要把它自己的DOWN端口所對應(yīng)的芯片單元內(nèi)部的物理端口7所對應(yīng)的表項(xiàng)設(shè)置為被阻塞的本地端口,而且是對屬于UNIT1的Module ID號碼,在UNIT4的Module中對應(yīng)該Module ID的表項(xiàng)進(jìn)行設(shè)置,這樣一來,從UNIT1的DOWN端口來的報(bào)文最遠(yuǎn)就只能到達(dá)UNIT4的本地端口,卻不能從UNIT4的DOWN端口往下擴(kuò)散。需要說明的是,該表對所有報(bào)文都能起作用。
考慮到單播報(bào)文和其他幾種報(bào)文的轉(zhuǎn)發(fā)方式不同,已知目的地址的單播報(bào)文首先在源UNIT根據(jù)Unicast Table獲取從哪一個(gè)堆疊端口前往目的UNIT的信息,而且在到達(dá)目的UNIT之后,會被交換單元的內(nèi)部芯片自動轉(zhuǎn)發(fā)到本地相應(yīng)的端口上去;而對于其他幾種報(bào)文,就采取阻塞的方式處理,這些報(bào)文從UNIT的UP堆疊口和DOWN堆疊端口同時(shí)往其他UNIT擴(kuò)散,而在某一個(gè)UNIT上被阻塞以防止形成廣播風(fēng)暴;至于在哪一個(gè)UNIT上被阻塞,其策略和單播報(bào)文的選路算法是一致的,這樣做的目的就是要做到既不影響單播包的的自由傳送,又不影響其它幾種報(bào)文對路徑選優(yōu)策略的適配(SourceMODID Block Table對所有報(bào)文都能夠起作用)。
下面分別針對單播報(bào)文和廣播報(bào)文進(jìn)行闡述本發(fā)明的業(yè)務(wù)流路徑優(yōu)化方法對單播報(bào)文的傳播確定了兩個(gè)規(guī)則,第一對于單播報(bào)文的選路首先選擇路程開銷最短的路徑;第二如果路程開銷相等,業(yè)務(wù)流量的走向可以有多種實(shí)現(xiàn)方式。這里先假定走DOWN端口。下面分別具體描述。
如圖2所示,假設(shè)環(huán)形網(wǎng)絡(luò)環(huán)境中有6個(gè)UNIT,有報(bào)文從UNIT1進(jìn)入網(wǎng)絡(luò)系統(tǒng),此時(shí)UNIT1即為源UNIT,其最終的目的端口位于UNIT2,有兩條路徑可供選擇從DOWN端口出發(fā),經(jīng)過UNIT6,UNIT5,UNIT4,UNIT3最終到達(dá)UNIT2,此路徑開銷為5跳;而從UP端口出發(fā)到達(dá)UNIT2,其路徑開銷只有1跳。UNIT1之所以能夠作出如此智能的判斷,是由于UNIT的module ID是全局配置的,每一個(gè)UNIT都知道Fabric內(nèi)其他UNIT所對應(yīng)的module ID信息以及其它UNIT的分布情況和位置關(guān)系,因此UNIT1計(jì)算報(bào)文到達(dá)目標(biāo)UNIT2的路徑開銷,發(fā)現(xiàn)從UP端口到達(dá)UNIT2的路徑開銷是最短的,所以該報(bào)文選擇從UNIT1的UP堆疊口到達(dá)UNIT2;同樣,如果最終的目的端口位于UNIT6,則會從UNIT1的DOWN堆疊口到達(dá)UNIT6;同理,如果最終的目的端口位于UNIT5,該報(bào)文仍然會從UNIT1的DOWN堆疊口出去,經(jīng)過UNIT6,最后到達(dá)UNIT5。
在圖2中,如果從UNIT1進(jìn)入環(huán)網(wǎng)的報(bào)文,其最終目的端口位于UNIT4所在的端口,那么由于不管從UP端口到達(dá)UNIT4,還是從DOWN端口到達(dá)UNIT4,其路程開銷都是3跳,此時(shí)報(bào)文會從UNIT1的DOWN端口出去,經(jīng)UNIT6,UNIT5而最終到達(dá)UNIT4。同理,如果是從UNIT6到UNIT3,或者是從UNIT4到UNIT1,業(yè)務(wù)流量都會選擇從源UNIT的DOWN端口出去而到達(dá)目的UNIT。
在路程開銷相等的情況下,即COST(①)=COST(②),業(yè)務(wù)流量的走向還可以有多種方案進(jìn)行實(shí)現(xiàn),例如(1)經(jīng)由UP端口前往目的UNIT。這種方案其實(shí)和前面所論述的方案原理上一致,但是數(shù)據(jù)流方向剛好相反;(2)讓源MOD ID為偶數(shù)的數(shù)據(jù)報(bào)文從DOWN(或者UP)堆疊端口傳遞至目的UNIT,同時(shí)讓源MOD ID為奇數(shù)的數(shù)據(jù)報(bào)文從UP(或者DOWN)堆疊端口傳遞至目的UNIT,換句話說,可以讓源設(shè)備同時(shí)往UP和DOWN堆疊端口發(fā)送,然后由源UNIT到目的UNIT之間的UNIT根據(jù)前述規(guī)則進(jìn)行有針對性的阻塞。
具體實(shí)現(xiàn)方法為在UNIT1發(fā)送源MODID為偶數(shù)的單播給UNIT4時(shí),可以從UP和DOWN兩個(gè)端口同時(shí)發(fā)出,這些報(bào)文的頭部當(dāng)然都帶有目的module ID屬于UNIT4的信息;通過設(shè)置Source MODID Block表中的Bitmap字段中的內(nèi)容,令從UP端口發(fā)出的報(bào)文被UNIT2所阻截,從而使得只有從DOWN端口發(fā)出的報(bào)文能夠到達(dá)UNIT4。同理,在UNIT1發(fā)送源MODID為奇數(shù)的單播或廣播報(bào)文給UNIT4時(shí),可以從UP和DOWN兩個(gè)端口同時(shí)發(fā)出,但只有從UP端口發(fā)出的報(bào)文能夠到達(dá)UNIT4,因?yàn)閺腄OWN端口發(fā)出的報(bào)文被UNIT6所阻截。
接下來闡述對廣播報(bào)文、組播報(bào)文和未知單播報(bào)文(下面統(tǒng)稱做廣播報(bào)文)的選路及阻塞策略。進(jìn)入環(huán)形堆疊系統(tǒng)中的廣播報(bào)文的選路,則是從當(dāng)前UNIT開始,同時(shí)從UP端口和DOWN端口向其他UNIT擴(kuò)散。
假設(shè)在環(huán)形鏈路中,從源UNIT到達(dá)目的UNIT之間有兩條不同的路徑,本發(fā)明業(yè)務(wù)流路徑優(yōu)化方法確保系統(tǒng)中其他UNIT既要收到廣播報(bào)文,同時(shí)對于相同的廣播報(bào)文只能收到一份,更重要的是,對廣播等報(bào)文的阻塞不能影響單播報(bào)文的正常轉(zhuǎn)發(fā),所以從UP端口和DOWN端口進(jìn)行擴(kuò)散的跳數(shù)應(yīng)該都是有限制的,以便適配前述對單播選路的算法,所以限制條件如下(假設(shè)堆疊系統(tǒng)中總共有N個(gè)UNIT,本實(shí)施例中N=6)如果N為奇數(shù),從當(dāng)前UNIT的UP和DOWN端口分別傳遞N/2(取整)跳;如果N為偶數(shù),從當(dāng)前UNIT的UP端口傳遞為(N/2-1)跳;從DOWN端口傳遞為N/2跳。
上述兩點(diǎn)保證了不會阻塞單播報(bào)文的最優(yōu)路徑選擇,它們和單播報(bào)文的最優(yōu)路徑選擇算法的要求相適配。同時(shí)也保證了對于同一個(gè)報(bào)文(廣播包、組播包和未知單播包),每個(gè)節(jié)點(diǎn)都能收到,且最多只收到一次。換句話說,任何一個(gè)進(jìn)入環(huán)形堆疊系統(tǒng)的廣播報(bào)文,都會通過堆疊端口到達(dá)其他所有的UNIT,但不會兩次到達(dá)同一個(gè)UNIT,其傳遞的跳數(shù)也最大不會超過N/2跳。
結(jié)合本實(shí)施例,如圖2所示,從UP口傳遞為2跳;從DOWN口傳遞為3跳。從UNIT1進(jìn)入堆疊的廣播報(bào)文,通過UNIT1的UP口和DOWN口同時(shí)向兩個(gè)方向發(fā)送,通過UP口到達(dá)UNIT2后,除了向用戶端口廣播外,還會繼續(xù)往UNIT3傳遞,但是不會向UNIT4進(jìn)行擴(kuò)散,因?yàn)閁NIT3的UP端口會阻塞廣播包(利用Source MODID Block Table),以防止同一份廣播報(bào)文被收到兩份;而通過DOWN端口發(fā)出的廣播報(bào)文,則會一次經(jīng)過UNIT6,UNIT5最終到達(dá)UNIT4,UNIT4只會向本地的用戶端口廣播該報(bào)文,但不會再向UNIT3擴(kuò)散,因?yàn)閁NIT4的DOWN端口會阻塞廣播包(利用SourceMODID Block Table),以防止同一份廣播報(bào)文被收到兩份。顯然,UNIT6,UNIT5的本地用戶端口也能收到廣播報(bào)文。實(shí)現(xiàn)算法如下廣播報(bào)文通過UNIT1的UP口和DOWN口同時(shí)向兩個(gè)方向發(fā)送,相應(yīng)的Source MODID Block表中的設(shè)置應(yīng)與之相符,即廣播報(bào)文從DOWN口出去走3跳,在UNIT4被阻塞;廣播報(bào)文從UP口出去走2跳,在UNIT3被阻塞。舉例說明,在圖2所示的由6個(gè)UNIT組成的堆疊系統(tǒng)中,從DOWN端口出去的廣播報(bào)文應(yīng)沿通路①應(yīng)到UNIT4為止,并覆蓋其本地的用戶端口;從UP端口出去的廣播報(bào)文則只能沿通路②的各個(gè)堆疊端口,擴(kuò)散到UNIT2和UNIT3上面的本地用戶端口,而不能擴(kuò)散到UNIT4上面的用戶端口。這樣,廣播報(bào)文在堆疊系統(tǒng)中的每個(gè)UNIT都能被接收到且只能被接收到一次,不會沿兩個(gè)方向循環(huán)傳遞,避免了廣播風(fēng)暴的發(fā)生。此外,假設(shè)單播報(bào)文從UNIT1發(fā)出要到達(dá)UNIT4,于是計(jì)算從UNIT1到UNIT4的路徑①和②的開銷,確定哪一個(gè)更優(yōu),如果COST(①)<COST(②),那么①更優(yōu)。本實(shí)施例中,假設(shè)總共6個(gè)UNIT,那么從UNIT1到UNIT4的開銷就是COST(①)=COST(②)=3,按照前述第二條規(guī)則,單播報(bào)文應(yīng)該設(shè)置為從通路①也就是UNIT1的DOWN端口出去就可以了。
本發(fā)明的業(yè)務(wù)流路徑優(yōu)化方法流程圖如圖3所示。本發(fā)明的業(yè)務(wù)流路徑優(yōu)化方法可以將對單播報(bào)文、廣播報(bào)文、組播報(bào)文和未知單播報(bào)文等業(yè)務(wù)流的路徑優(yōu)化有機(jī)地融合到一起,也就是說同一優(yōu)化方法既適用于單播報(bào)文同時(shí)也適用于廣播報(bào)文、組播報(bào)文等業(yè)務(wù)。在網(wǎng)絡(luò)系統(tǒng)進(jìn)行拓?fù)溆?jì)算并收斂后;源UNIT根據(jù)MODULE ID信息計(jì)算路程開銷并選擇最優(yōu)路徑,當(dāng)數(shù)據(jù)報(bào)文進(jìn)入網(wǎng)絡(luò)系統(tǒng)中時(shí),源UNIT根據(jù)計(jì)算結(jié)果發(fā)送報(bào)文(S101);非源UNIT根據(jù)計(jì)算結(jié)果確定阻塞或不阻塞報(bào)文(S102)。源UNIT首先計(jì)算路程開銷,然后根據(jù)路程開銷,并采用相關(guān)策略,將進(jìn)來的單播報(bào)文發(fā)送到目的UNIT。對于單播包,在路程開銷不同的情況下,源UNIT選擇路程開銷最短的路徑進(jìn)行傳播;對于廣播報(bào)文,源UNIT按照本發(fā)明的方法分別從UP和DOWN端口進(jìn)行傳播并保證每個(gè)UNIT都能夠僅接收到一次,避免了廣播風(fēng)暴的形成。在路程開銷相同的情況下,對于單播報(bào)文的轉(zhuǎn)發(fā)方式靈活多樣,既可以只從UP端口或DOWN端口轉(zhuǎn)發(fā),此時(shí),通過設(shè)置Source MODID Block表中的Bitmap字段中的內(nèi)容將另外一個(gè)轉(zhuǎn)發(fā)路徑阻塞,從而保證了只通過一條路徑傳播;也可以從UP端口和DOWN端口同時(shí)轉(zhuǎn)發(fā),同時(shí),通過對非源UNIT中Souremodule block表的設(shè)置,對源MOD ID為偶數(shù)的數(shù)據(jù)報(bào)文從DOWN(或者UP)堆疊端口到達(dá)目的UNIT,同時(shí)讓源MOD ID為奇數(shù)的數(shù)據(jù)報(bào)文從UP(或者DOWN)堆疊端口到達(dá)目的UNIT。
最優(yōu)路徑的選取也可以把UP堆疊端口作為選取依據(jù),同時(shí),在路程相同的情況下,也要指定業(yè)務(wù)流從UP(或者DOWN)堆疊端口到達(dá)目的UNIT。這種方法同樣可以實(shí)現(xiàn)在環(huán)形鏈路的情況下的業(yè)務(wù)流的負(fù)荷分擔(dān)方案。換句話說,只要滿足本文所述方案,具體實(shí)現(xiàn)可以多種多樣。本實(shí)施例所闡述的方案中,路程開銷是以跳數(shù)來計(jì)算的,實(shí)際應(yīng)用中,開銷的含義可以自定義。
圖4為本發(fā)明業(yè)務(wù)流路徑優(yōu)化裝置的方框圖。本發(fā)明提供的一種網(wǎng)絡(luò)系統(tǒng)業(yè)務(wù)流的負(fù)荷分擔(dān)路徑優(yōu)化裝置,網(wǎng)絡(luò)系統(tǒng)中至少包括兩臺以上網(wǎng)絡(luò)設(shè)備,所述網(wǎng)絡(luò)設(shè)備之間利用所述裝置的UP和DOWN端口收發(fā)報(bào)文,所述裝置包括網(wǎng)絡(luò)系統(tǒng)業(yè)務(wù)流的負(fù)荷分擔(dān)路徑優(yōu)化裝置包括接收報(bào)文的報(bào)文接收單元,其中包括接收報(bào)文的端口;計(jì)算路程開銷的路程開銷計(jì)算單元;根據(jù)計(jì)算結(jié)果發(fā)送報(bào)文的報(bào)文發(fā)送單元;和根據(jù)計(jì)算結(jié)果對廣播報(bào)文進(jìn)行阻塞的處理單元。其中路程開銷是針對單播報(bào)文而言,其計(jì)算并選路方法為第一對于單播報(bào)文的選路首先選擇路程開銷最短的路徑。第二如果路程開銷相等,業(yè)務(wù)流量的走向可以有多種實(shí)現(xiàn)方式,可以設(shè)定走DOWN端口,也可以設(shè)定走UP端口,還可以設(shè)定從UP和DOWN端口同時(shí)發(fā)出,但根據(jù)源Module ID是奇數(shù)還是偶數(shù),來決定不同的阻塞方式和路徑。
當(dāng)所述報(bào)文為廣播報(bào)文時(shí),所述報(bào)文發(fā)送單元按照下述方式分別從UP端口和DOWN端口發(fā)送報(bào)文若N為奇數(shù),從源UNIT的UP端口和DOWN端口分別傳遞N/2(取整)跳;若N為偶數(shù),從源UNIT的UP端口傳遞為(N/2-1)跳,從DOWN端口傳遞為N/2跳;其中N為堆疊系統(tǒng)中UNIT的數(shù)目。
雖然通過實(shí)施方式描繪了本發(fā)明,本領(lǐng)域普通技術(shù)人員知道,本發(fā)明有許多變形和變化而不脫離本發(fā)明的精神,且均落在本發(fā)明權(quán)利要求書的保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種網(wǎng)絡(luò)系統(tǒng)業(yè)務(wù)流的負(fù)荷分擔(dān)路徑優(yōu)化方法,在網(wǎng)絡(luò)系統(tǒng)進(jìn)行拓?fù)浒l(fā)現(xiàn)和拓?fù)涫諗亢?,所述方法包括a源UNIT根據(jù)MODULE ID信息計(jì)算路程開銷并選擇最優(yōu)路徑,當(dāng)數(shù)據(jù)報(bào)文進(jìn)入網(wǎng)絡(luò)系統(tǒng)中時(shí),源UNIT根據(jù)計(jì)算結(jié)果發(fā)送報(bào)文;b非源UNIT根據(jù)計(jì)算結(jié)果確定阻塞或不阻塞報(bào)文。
2.如權(quán)利要求1所述的方法,其特征在于所述報(bào)文類型包括單播報(bào)文、組播報(bào)文、廣播報(bào)文和未知單播報(bào)文。
3.如權(quán)利要求1所述的方法,其特征在于所述MODULE ID信息可以是UNIT內(nèi)部和之間彼此識別的任何信息。
4.如權(quán)利要求1所述的方法,其特征在于在步驟a中所述源UNIT分別計(jì)算從源UNIT的DOWN端口和UP端口分別到達(dá)目的UNIT的路程開銷,計(jì)算方法為源UNIT到目的UNIT的跳數(shù),并選擇開銷較小的路徑發(fā)送單播報(bào)文。
5.如權(quán)利要求4所述的方法,其特征在于若從UP端口和DOWN端口傳遞報(bào)文的路程開銷相同,則源UNIT可從UP端口和/或DOWN端口發(fā)送單播報(bào)文;或令源MODULE ID為偶數(shù)的單播報(bào)文從DOWN(或者UP)堆疊端口傳遞至目的UNIT,同時(shí)令源MODULE ID為奇數(shù)的單播報(bào)文從UP(或者DOWN)堆疊端口傳遞至目的UNIT。
6.如權(quán)利要求2所述的方法,其特征在于所述廣播報(bào)文、組播報(bào)文和未知單播報(bào)文的選路及阻塞策略為若N為奇數(shù),則從源UNIT的UP端口和DOWN端口分別傳遞N/2(取整)跳;若N為偶數(shù),則從源UNIT的UP端口傳遞為(N/2-1)跳,從DOWN端口傳遞為N/2跳;其中N為網(wǎng)絡(luò)系統(tǒng)中UNIT的數(shù)目。
7.一種網(wǎng)絡(luò)業(yè)務(wù)流的負(fù)荷分擔(dān)路徑優(yōu)化裝置,所述網(wǎng)絡(luò)系統(tǒng)至少包括兩臺網(wǎng)絡(luò)設(shè)備,所述網(wǎng)絡(luò)設(shè)備之間利用所述裝置的UP和DOWN端口收發(fā)報(bào)文,其特征在于,所述裝置包括接收報(bào)文的報(bào)文接收單元;計(jì)算路程開銷的路程開銷計(jì)算單元;根據(jù)計(jì)算結(jié)果發(fā)送報(bào)文的報(bào)文發(fā)送單元;和根據(jù)計(jì)算結(jié)果對廣播報(bào)文進(jìn)行阻塞的處理單元。
8.如權(quán)利要求7所述的裝置,其特征在于所述報(bào)文的類型包括單播報(bào)文、組播報(bào)文、廣播報(bào)文和未知單播報(bào)文。
9.如權(quán)利要求8所述的裝置,其特征在于所述廣播報(bào)文、組播報(bào)文和未知單播報(bào)文的選路及阻塞策略為若N為奇數(shù),則從源UNIT的UP端口和DOWN端口分別傳遞N/2(取整)跳;若N為偶數(shù),則從源UNIT的UP端口傳遞為(N/2-1)跳,從DOWN端口傳遞為N/2跳;其中N為堆疊系統(tǒng)中UNIT的數(shù)目。
10.如權(quán)利要求8所述的裝置,其特征在于當(dāng)所述報(bào)文為單播報(bào)文時(shí),所述報(bào)文發(fā)送單元選擇路程開銷最短的路徑發(fā)送報(bào)文。
11.如權(quán)利要求10所述的裝置,其特征在于若從UP端口和DOWN端口傳遞報(bào)文的路程開銷相同,則源UNIT可從UP端口和/或DOWN端口將單播報(bào)文發(fā)送出去。
12.如權(quán)利要求10所述的裝置,其特征在于也可以令源MOD ID為偶數(shù)的單播報(bào)文從DOWN(或者UP)堆疊端口傳遞至目的UNIT,同時(shí)令源MOD ID為奇數(shù)的單播報(bào)文從UP(或者DOWN)堆疊端口傳遞至目的UNIT。
全文摘要
本發(fā)明公開了一種網(wǎng)絡(luò)系統(tǒng)業(yè)務(wù)流的負(fù)荷分擔(dān)路徑優(yōu)化方法,網(wǎng)絡(luò)系統(tǒng)在進(jìn)行拓?fù)浒l(fā)現(xiàn)和拓?fù)涫諗亢螅龇椒òㄔ碪NIT計(jì)算路程開銷并選擇最優(yōu)路徑,若有報(bào)文進(jìn)入堆疊系統(tǒng)則源UNIT根據(jù)計(jì)算結(jié)果發(fā)送報(bào)文;非源UNIT根據(jù)計(jì)算結(jié)果決定阻塞或不阻塞報(bào)文。本發(fā)明還相應(yīng)公開了一種堆疊系統(tǒng)業(yè)務(wù)流的負(fù)荷分擔(dān)路徑優(yōu)化裝置,包括接收報(bào)文的報(bào)文接收單元;計(jì)算路程開銷的路程開銷計(jì)算單元;根據(jù)計(jì)算結(jié)果發(fā)送報(bào)文的報(bào)文發(fā)送單元,和根據(jù)計(jì)算結(jié)果對廣播報(bào)文進(jìn)行阻塞的處理單元。本發(fā)明根據(jù)目的UNIT和源UNIT之間的位置關(guān)系的不同,合理選擇報(bào)文傳遞路徑以充分利用環(huán)形鏈路的帶寬,減少擁塞,抑制廣播風(fēng)暴的發(fā)生,提高了服務(wù)質(zhì)量。
文檔編號H04L12/56GK1852266SQ20061008374
公開日2006年10月25日 申請日期2006年6月1日 優(yōu)先權(quán)日2006年6月1日
發(fā)明者劉彬, 楊小朋 申請人:杭州華為三康技術(shù)有限公司