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

組播控制方法和裝置與流程

文檔序號:12623501閱讀:175來源:國知局
本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種組播控制方法和裝置。
背景技術(shù)
::隨著數(shù)據(jù)中心的迅速發(fā)展,在數(shù)據(jù)中心網(wǎng)絡(luò)中部署組播業(yè)務(wù),不僅可以減少相同數(shù)據(jù)發(fā)送的數(shù)量,節(jié)省不必要的網(wǎng)絡(luò)流量,而且可以降低對發(fā)送端的帶寬需求,能更有效的利用帶寬資源。特別地,基于樹狀結(jié)構(gòu)數(shù)據(jù)中心網(wǎng)絡(luò)的特殊性,組播成員之間的組播樹可以由某一個(gè)核心層交換機(jī)來確定,而且在多個(gè)核心層交換機(jī)確定的多個(gè)組播樹之間可能無重疊鏈路,或者可能存在部分重疊鏈路。研究過程中發(fā)現(xiàn),正由于組播樹可能存在部分重疊鏈路,在組播源通過重疊鏈路中的交換機(jī)轉(zhuǎn)發(fā)數(shù)據(jù)時(shí),如果不考慮各個(gè)組播樹的鏈路信息而分別進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),則可能導(dǎo)致后續(xù)的某些交換機(jī)負(fù)載過大,而某些交換機(jī)負(fù)載過小的問題,從而影響了數(shù)據(jù)的轉(zhuǎn)發(fā)效率。針對相關(guān)技術(shù)中組播源通過多個(gè)組播樹轉(zhuǎn)發(fā)數(shù)據(jù)存在的交換機(jī)負(fù)載不均衡導(dǎo)致的轉(zhuǎn)發(fā)效率低的問題,目前尚未提出有效的解決方案。技術(shù)實(shí)現(xiàn)要素:本發(fā)明提供了一種組播控制方法和裝置,以至少解決相關(guān)技術(shù)中組播源通過多個(gè)組播樹轉(zhuǎn)發(fā)數(shù)據(jù)存在的交換機(jī)負(fù)載不均衡導(dǎo)致的轉(zhuǎn)發(fā)效率低的問題。根據(jù)本發(fā)明的一個(gè)方面,提供了一種組播控制方法,包括:檢測網(wǎng)絡(luò)拓?fù)浜玩溌沸畔?;根?jù)所述網(wǎng)絡(luò)拓?fù)渖啥鄠€(gè)組播樹;根據(jù)所述網(wǎng)絡(luò)拓?fù)浜退鲦溌沸畔?,分別計(jì)算所述多個(gè)組播樹中每個(gè)組播樹的權(quán)重,所述權(quán)重用于指示交換機(jī)輪詢選擇相應(yīng)組播樹傳輸數(shù)據(jù)的優(yōu)先級;下發(fā)所述每個(gè)組播樹的所述權(quán)重至相應(yīng)組播樹中的交換機(jī)。優(yōu)選地,在根據(jù)所述網(wǎng)絡(luò)拓?fù)浜退鲦溌沸畔?,分別計(jì)算所述多個(gè)組播樹中每個(gè)組播樹的所述權(quán)重之后,所述方法還包括:實(shí)時(shí)檢測鏈路信息;根據(jù)所述網(wǎng)絡(luò)拓?fù)浜蛯?shí)時(shí)檢測的鏈路信息,分別更新所述每個(gè)組播樹的所述權(quán)重;下發(fā)更新的所述權(quán)重至相應(yīng)組播樹中的所述交換機(jī)。優(yōu)選地,根據(jù)所述網(wǎng)絡(luò)拓?fù)浜蛯?shí)時(shí)檢測的鏈路信息,分別更新所述每個(gè)組播樹的所述權(quán)重包括:在通過實(shí)時(shí)檢測的鏈路信息判斷到鏈路故障的情況下,將故障的鏈路相應(yīng)的組播樹的所述權(quán)重置零。優(yōu)選地,根據(jù)所述網(wǎng)絡(luò)拓?fù)浜退鲦溌沸畔?,分別計(jì)算所述多個(gè)組播樹中每個(gè)組播樹的所述權(quán)重包括:根據(jù)所述鏈路信息和預(yù)設(shè)組播樹權(quán)重規(guī)則,分別計(jì)算所述每個(gè)組播樹的權(quán)重;根據(jù)所述網(wǎng)絡(luò)拓?fù)洌袛嗨龆鄠€(gè)組播樹是否存在重疊路徑;在判斷到存在重疊路徑的情況下,根據(jù)所述重疊路徑的多個(gè)組播樹的權(quán)重,計(jì)算重疊鏈路組播樹的權(quán)重,并將所述重疊鏈路組播樹的權(quán)重作為所述重疊路徑的多個(gè)組播樹的權(quán)重。優(yōu)選地,下發(fā)所述每個(gè)組播樹的所述權(quán)重至相應(yīng)組播樹中的所述交換機(jī)包括:下發(fā)select類型組表至相應(yīng)組播樹中的交換機(jī),其中,所述select類型組表中攜帶有相應(yīng)組播樹的出端口及相應(yīng)組播樹的所述權(quán)重。優(yōu)選地,在下發(fā)所述每個(gè)組播樹的所述權(quán)重至相應(yīng)組播樹中的所述交換機(jī)之后,所述方法還包括:所述交換機(jī)接收至少一個(gè)組播樹的所述權(quán)重;所述交換機(jī)根據(jù)所述權(quán)重輪詢選擇所述至少一個(gè)組播樹中的一個(gè)組播樹傳輸數(shù)據(jù)。根據(jù)本發(fā)明的另一個(gè)方面,還提供了一種組播控制裝置,包括:檢測模塊,用于檢測網(wǎng)絡(luò)拓?fù)浜玩溌沸畔?;生成模塊,用于根據(jù)所述網(wǎng)絡(luò)拓?fù)渖啥鄠€(gè)組播樹;計(jì)算模塊,用于根據(jù)所述網(wǎng)絡(luò)拓?fù)浜退鲦溌沸畔ⅲ謩e計(jì)算所述多個(gè)組播樹中每個(gè)組播樹的權(quán)重,所述權(quán)重用于指示交換機(jī)輪詢選擇相應(yīng)組播樹傳輸數(shù)據(jù)的優(yōu)先級;下發(fā)模塊,用于下發(fā)所述每個(gè)組播樹的所述權(quán)重至相應(yīng)組播樹中的交換機(jī)。優(yōu)選地,所述檢測模塊,還用于實(shí)時(shí)檢測鏈路信息;所述計(jì)算模塊,還用于根據(jù)所述網(wǎng)絡(luò)拓?fù)浜蛯?shí)時(shí)檢測的鏈路信息,分別更新所述每個(gè)組播樹的所述權(quán)重;所述下發(fā)模塊,還用于下發(fā)更新的所述權(quán)重至相應(yīng)組播樹中的所述交換機(jī)。優(yōu)選地,所述計(jì)算模塊,還用于在通過實(shí)時(shí)檢測的鏈路信息判斷到鏈路故障的情況下,將故障的鏈路相應(yīng)的組播樹的所述權(quán)重置零。優(yōu)選地,所述計(jì)算模塊包括:第一計(jì)算單元,用于根據(jù)所述鏈路信息和預(yù)設(shè)組播樹權(quán)重規(guī)則,分別計(jì)算所述每個(gè)組播樹的權(quán)重;判斷單元,用于根據(jù)所述網(wǎng)絡(luò)拓?fù)?,判斷所述多個(gè)組播樹是否存在重疊路徑;第二計(jì)算單元,用于在判斷到存在重疊路徑的情況下,根據(jù)所述重疊路徑的多個(gè)組播樹的權(quán)重,計(jì)算重疊鏈路組播樹的權(quán)重,并將所述重疊鏈路組播樹的權(quán)重作為所述重疊路徑的多個(gè)組播樹的權(quán)重。優(yōu)選地,所述下發(fā)模塊,還用于下發(fā)select類型組表至相應(yīng)組播樹中的交換機(jī),其中,所述select類型組表中攜帶有相應(yīng)組播樹的出端口及相應(yīng)組播樹的所述權(quán)重。通過本發(fā)明,采用檢測網(wǎng)絡(luò)拓?fù)浜玩溌沸畔?;根?jù)網(wǎng)絡(luò)拓?fù)渖啥鄠€(gè)組播樹;根據(jù)網(wǎng)絡(luò)拓?fù)浜玩溌沸畔?,分別計(jì)算多個(gè)組播樹中每個(gè)組播樹的權(quán)重,權(quán)重用于指示交換機(jī)輪詢選擇相應(yīng)組播樹傳輸數(shù)據(jù)的優(yōu)先級;下發(fā)每個(gè)組播樹的權(quán)重至相應(yīng)組播樹中的交換機(jī)的方式,解決了組播源通過多個(gè)組播樹轉(zhuǎn)發(fā)數(shù)據(jù)存在的交換機(jī)負(fù)載不均衡導(dǎo)致的轉(zhuǎn)發(fā)效率低的問題,提升了轉(zhuǎn)發(fā)效率。附圖說明此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:圖1是根據(jù)本發(fā)明實(shí)施例的組播控制方法的流程圖;圖2是根據(jù)本發(fā)明實(shí)施例的組播控制裝置的結(jié)構(gòu)框圖;圖3是根據(jù)本發(fā)明實(shí)施例的組播控制裝置的優(yōu)選結(jié)構(gòu)框圖;圖4是根據(jù)本發(fā)明優(yōu)選實(shí)施例一的數(shù)據(jù)中心網(wǎng)絡(luò)的結(jié)構(gòu)示意圖;圖5是根據(jù)本發(fā)明優(yōu)選實(shí)施例二的組播樹權(quán)重計(jì)算方法的流程圖;圖6是根據(jù)本發(fā)明優(yōu)選實(shí)施例三的組播方法的流程圖;圖7是根據(jù)本發(fā)明優(yōu)選實(shí)施例三的數(shù)據(jù)中心網(wǎng)絡(luò)的結(jié)構(gòu)及組播樹權(quán)重的示意圖;圖8是根據(jù)本發(fā)明優(yōu)選實(shí)施例三的權(quán)重輪詢選擇算法的偽代碼;圖9是根據(jù)本發(fā)明優(yōu)選實(shí)施例四的組播方法的流程圖;圖10是根據(jù)本發(fā)明優(yōu)選實(shí)施例四的數(shù)據(jù)中心網(wǎng)絡(luò)的結(jié)構(gòu)及組播樹權(quán)重的示意圖。具體實(shí)施方式下文中將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實(shí)施例及實(shí)施例中的特征可以相互組合。需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。在本實(shí)施例中提供了一種組播控制方法,圖1是根據(jù)本發(fā)明實(shí)施例的組播控制方法的流程圖,如圖1所示,該流程包括如下步驟:步驟S102,檢測網(wǎng)絡(luò)拓?fù)浜玩溌沸畔?;步驟S104,根據(jù)網(wǎng)絡(luò)拓?fù)渖啥鄠€(gè)組播樹;步驟S106,根據(jù)網(wǎng)絡(luò)拓?fù)浜玩溌沸畔?,分別計(jì)算多個(gè)組播樹中每個(gè)組播樹的權(quán)重,權(quán)重用于指示交換機(jī)輪詢選擇相應(yīng)組播樹傳輸數(shù)據(jù)的優(yōu)先級;步驟S108,下發(fā)每個(gè)組播樹的權(quán)重至相應(yīng)組播樹中的交換機(jī)。通過上述步驟,通過有網(wǎng)絡(luò)拓?fù)浜玩溌沸畔⒂?jì)算得到的組播樹的權(quán)重來指示交換機(jī)輪詢選擇相應(yīng)組播樹傳輸數(shù)據(jù)的優(yōu)先級,從而解決了組播源通過多個(gè)組播樹轉(zhuǎn)發(fā)數(shù)據(jù)存在的交換機(jī)負(fù)載不均衡導(dǎo)致的轉(zhuǎn)發(fā)效率低的問題,提升了轉(zhuǎn)發(fā)效率。優(yōu)選地,上述方法可以應(yīng)用在OpenFlow控制器上,下面將以O(shè)penFlow控制器為例進(jìn)行描述和說明。優(yōu)選地,在應(yīng)用本發(fā)明實(shí)施例的上述方法后,還可以根據(jù)實(shí)時(shí)檢測的鏈路信息,實(shí)時(shí)調(diào)整組播樹的權(quán)重,例如,在步驟S106之后,OpenFlow控制器還可以實(shí)時(shí)檢測鏈路信息;根據(jù)網(wǎng)絡(luò)拓?fù)浜蛯?shí)時(shí)檢測的鏈路信息,分別更新每個(gè)組播樹的權(quán)重;并下發(fā)更新的權(quán)重至相應(yīng)組播樹中的交換機(jī)。優(yōu)選地,在實(shí)時(shí)檢測鏈路信息時(shí),如果檢測到某一鏈路故障,則可以將故障的鏈路相應(yīng)的組播樹的權(quán)重置零;在組播樹的權(quán)重置零之后,下發(fā)置零后的權(quán)重至交換機(jī),交換機(jī)則可以不再通過該組播樹傳輸數(shù)據(jù)。實(shí)時(shí)檢測到鏈路的故障修復(fù)后,也可以通過重新下發(fā)組播樹的權(quán)重至交換機(jī),以使交換機(jī)可以繼續(xù)通過該組播樹和其他組播樹通過輪詢的方式組播數(shù)據(jù)。優(yōu)選地,在步驟S106中,如果某一組播樹與其他組播樹無重疊鏈路,則可以根據(jù)鏈路信息和預(yù)設(shè)組播樹權(quán)重規(guī)則,直接計(jì)算該組播樹的權(quán)重;然而,在根據(jù)網(wǎng)絡(luò)拓?fù)渑袛嗟蕉鄠€(gè)組播樹存在重疊路徑的情況下,這多個(gè)組播樹的權(quán)重則需要二次計(jì)算,例如:根據(jù)重疊路徑的多個(gè)組播樹的權(quán)重,計(jì)算重疊鏈路組播樹的權(quán)重,并將重疊鏈路組播樹的權(quán)重作為重疊路徑的多個(gè)組播樹的權(quán)重。這樣,存在重疊路徑的多個(gè)組播樹在重疊鏈路上具有相同的權(quán)重。優(yōu)選地,下發(fā)每個(gè)組播樹的權(quán)重至相應(yīng)組播樹中的交換機(jī)包括:下發(fā)OpenFlow協(xié)議中定義的select類型組表至相應(yīng)組播樹中的交換機(jī),其中,select類型組表中攜帶有相應(yīng)組播樹的出端口及相應(yīng)組播樹的權(quán)重。優(yōu)選地,在下發(fā)每個(gè)組播樹的權(quán)重至相應(yīng)組播樹中的交換機(jī)之后,交換機(jī)接收至少一個(gè)組播樹的權(quán)重;交換機(jī)根據(jù)權(quán)重輪詢選擇至少一個(gè)組播樹中的一個(gè)組播樹傳輸數(shù)據(jù)。優(yōu)選地,在交換機(jī)具有多個(gè)組播樹可供選擇的情況下,交換機(jī)可以選擇這多個(gè)組播樹中權(quán)重較高的幾個(gè)組播樹,并通過權(quán)重較高的幾個(gè)組播樹輪詢組播數(shù)據(jù)。通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到根據(jù)上述實(shí)施例的方法可借助軟件加必需的通用硬件平臺的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲在一個(gè)存儲介質(zhì)(如ROM/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機(jī),計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例的方法。在本實(shí)施例中還提供了一種組播控制裝置,該裝置用于實(shí)現(xiàn)上述實(shí)施例及優(yōu)選實(shí)施方式,已經(jīng)進(jìn)行過說明的不再贅述。如以下所使用的,術(shù)語“模塊”可以實(shí)現(xiàn)預(yù)定功能的軟件和/或硬件的組合。盡管以下實(shí)施例所描述的裝置較佳地以軟件來實(shí)現(xiàn),但是硬件,或者軟件和硬件的組合的實(shí)現(xiàn)也是可能并被構(gòu)想的。圖2是根據(jù)本發(fā)明實(shí)施例的組播控制裝置的結(jié)構(gòu)框圖,如圖2所示,該裝置包括:檢測模塊22、生成模塊24、計(jì)算模塊26和下發(fā)模塊28,其中,檢測模塊22,用于檢測網(wǎng)絡(luò)拓?fù)浜玩溌沸畔?;生成模塊24,耦合至檢測模塊22,用于根據(jù)網(wǎng)絡(luò)拓?fù)渖啥鄠€(gè)組播樹;計(jì)算模塊26,耦合至生成模塊24,用于根據(jù)網(wǎng)絡(luò)拓?fù)浜玩溌沸畔ⅲ謩e計(jì)算多個(gè)組播樹中每個(gè)組播樹的權(quán)重,權(quán)重用于指示交換機(jī)輪詢選擇相應(yīng)組播樹傳輸數(shù)據(jù)的優(yōu)先級;下發(fā)模塊28,耦合至計(jì)算模塊26,用于下發(fā)每個(gè)組播樹的權(quán)重至相應(yīng)組播樹中的交換機(jī)。通過上述模塊的相互作用,解決了組播源通過多個(gè)組播樹轉(zhuǎn)發(fā)數(shù)據(jù)存在的交換機(jī)負(fù)載不均衡導(dǎo)致的轉(zhuǎn)發(fā)效率低的問題,提升了轉(zhuǎn)發(fā)效率。優(yōu)選地,檢測模塊22,還用于實(shí)時(shí)檢測鏈路信息;計(jì)算模塊26,還用于根據(jù)網(wǎng)絡(luò)拓?fù)浜蛯?shí)時(shí)檢測的鏈路信息,分別更新每個(gè)組播樹的權(quán)重;下發(fā)模塊28,還用于下發(fā)更新的權(quán)重至相應(yīng)組播樹中的交換機(jī)。優(yōu)選地,計(jì)算模塊26,還用于在通過實(shí)時(shí)檢測的鏈路信息判斷到鏈路故障的情況下,將故障的鏈路相應(yīng)的組播樹的權(quán)重置零。圖3是根據(jù)本發(fā)明實(shí)施例的組播控制裝置的優(yōu)選結(jié)構(gòu)框圖,如圖3所示,優(yōu)選地,計(jì)算模塊26包括:第一計(jì)算單元262,用于根據(jù)鏈路信息和預(yù)設(shè)組播樹權(quán)重規(guī)則,分別計(jì)算每個(gè)組播樹的權(quán)重;判斷單元264,用于根據(jù)網(wǎng)絡(luò)拓?fù)?,判斷多個(gè)組播樹是否存在重疊路徑;第二計(jì)算單元266,用于在判斷到存在重疊路徑的情況下,根據(jù)重疊路徑的多個(gè)組播樹的權(quán)重,計(jì)算重疊鏈路組播樹的權(quán)重,并將重疊鏈路組播樹的權(quán)重作為重疊路徑的多個(gè)組播樹的權(quán)重。優(yōu)選地,下發(fā)模塊28,還用于下發(fā)select類型組表至相應(yīng)組播樹中的交換機(jī),其中,select類型組表中攜帶有相應(yīng)組播樹的出端口及相應(yīng)組播樹的權(quán)重。需要說明的是,上述各個(gè)模塊是可以通過軟件或硬件來實(shí)現(xiàn)的,對于后者,可以通過以下方式實(shí)現(xiàn),但不限于此:上述模塊均位于同一處理器中;或者,上述模塊分別位于多個(gè)處理器中。本發(fā)明的實(shí)施例還提供了一種軟件,該軟件用于執(zhí)行上述實(shí)施例及優(yōu)選實(shí)施方式中描述的技術(shù)方案。本發(fā)明的實(shí)施例還提供了一種存儲介質(zhì)。在本實(shí)施例中,上述存儲介質(zhì)可以被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:步驟S1,檢測網(wǎng)絡(luò)拓?fù)浜玩溌沸畔?;步驟S2,根據(jù)網(wǎng)絡(luò)拓?fù)渖啥鄠€(gè)組播樹;步驟S3,根據(jù)網(wǎng)絡(luò)拓?fù)浜玩溌沸畔?,分別計(jì)算多個(gè)組播樹中每個(gè)組播樹的權(quán)重, 權(quán)重用于指示交換機(jī)輪詢選擇相應(yīng)組播樹傳輸數(shù)據(jù)的優(yōu)先級。步驟S4,下發(fā)每個(gè)組播樹的權(quán)重至相應(yīng)組播樹中的交換機(jī)??蛇x地,在本實(shí)施例中,上述存儲介質(zhì)可以包括但不限于:U盤、只讀存儲器(ROM,Read-OnlyMemory)、隨機(jī)存取存儲器(RAM,RandomAccessMemory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。為了使本發(fā)明實(shí)施例的描述更加清楚,下面結(jié)合優(yōu)選實(shí)施例進(jìn)行描述和說明。本發(fā)明優(yōu)選實(shí)施例提供了一種軟件定義數(shù)據(jù)中心的可靠高效多組播樹輪詢機(jī)制,涉及一種利用OpenFlow組表(grouptable)在數(shù)據(jù)中心網(wǎng)絡(luò)中實(shí)現(xiàn)可靠高效多組播樹輪詢機(jī)制。在組播業(yè)務(wù)中,數(shù)據(jù)沿著一個(gè)組播樹從源端發(fā)送到多個(gè)接收方,組播樹的優(yōu)劣是影響組播業(yè)務(wù)的一個(gè)重要因素?,F(xiàn)有大量的組播樹生成算法,如最短路徑算法、最小生成樹算法和Steiner樹算法。習(xí)慣上,在組播成員間建立一個(gè)組播樹用于傳輸組播數(shù)據(jù),若從源端到接收方存在多條可行路徑或者多個(gè)可行組播樹情況下,將有機(jī)會利用多個(gè)冗余組播樹傳輸組播數(shù)據(jù)。如在點(diǎn)對點(diǎn)網(wǎng)絡(luò)傳輸過程中等價(jià)多路徑(Equal-CostMultipath,簡稱為ECMP)和加權(quán)多路徑(Weight-CostMultipath,簡稱為WCMP)協(xié)議充分利用冗余多路徑,組播業(yè)務(wù)要是也能這樣充分利用多路徑,實(shí)現(xiàn)在多組播樹的同時(shí)傳輸組播數(shù)據(jù),這樣就使得組播業(yè)務(wù)效率大大提高,而且充分利用了網(wǎng)絡(luò)的帶寬,實(shí)現(xiàn)組播業(yè)務(wù)的高效性。與此同時(shí),基于OpenFlow的軟件定義網(wǎng)絡(luò)(SoftwareDefinedNetwork,簡稱為SDN)技術(shù),增加了網(wǎng)絡(luò)管理的靈活性和可擴(kuò)展性。其核心思想是將網(wǎng)絡(luò)的控制平面和數(shù)據(jù)平面分離。OpenFlow控制器通過對OpenFlow交換機(jī)進(jìn)行寫入流表和組表等操作,完成對整個(gè)網(wǎng)絡(luò)的控制。特別在OpenFlowv1.1協(xié)議中增加了組表,給組播傳輸提供很大的方便。組播數(shù)據(jù)在匹配流表后,執(zhí)行流表指令后進(jìn)入組表,然后繼續(xù)執(zhí)行組表動作桶集(ActionBuckets)。組表的結(jié)構(gòu)包括組表id、組表類型、計(jì)數(shù)器、動作桶集。每個(gè)類型的組表執(zhí)行的動作也不一樣,all類型組表則執(zhí)行組表中所有動作桶;select類型組表則選擇一個(gè)動作桶執(zhí)行,其中選擇算法可以自由配置。在本發(fā)明優(yōu)選實(shí)施例中結(jié)合OpenFlow協(xié)議對組播控制進(jìn)行優(yōu)化,從而提高數(shù)據(jù)中心組播業(yè)務(wù)的可靠性和高效性。本發(fā)明優(yōu)選實(shí)施例提出的基于OpenFlow的多組播樹輪詢機(jī)制采用了下列的方案:OpenFlow控制器收集網(wǎng)絡(luò)拓?fù)浜玩溌沸畔?,為組播組成員生成多個(gè)組播樹。由控制器中的組播樹權(quán)重計(jì)算模塊為每個(gè)組播樹計(jì)算權(quán)重,權(quán)重則決定了該組播樹用于轉(zhuǎn)發(fā)組播數(shù)據(jù)的優(yōu)先級。根據(jù)各個(gè)組播樹的權(quán)重,由交換機(jī)上的權(quán)重輪詢選擇算法實(shí)現(xiàn)多組播樹輪詢傳輸組播數(shù)據(jù),提高傳輸效率。在上述方案中,通過控制器周期性的收集鏈路信息,不僅能動態(tài)調(diào)整組播樹權(quán)重,實(shí)現(xiàn)網(wǎng)絡(luò)的負(fù)載均衡,而且還能在某條鏈路出現(xiàn)故障時(shí)通過置零故障組播樹的權(quán)重,保障組播業(yè)務(wù)的可靠性。優(yōu)選地,在樹狀結(jié)構(gòu)的數(shù)據(jù)中心網(wǎng)絡(luò)中,當(dāng)選取一個(gè)核心層交換機(jī)作為組播樹路徑節(jié)點(diǎn)時(shí),就可以為組播成員生成組播樹。若路過一個(gè)核心層交換機(jī)的組播樹出現(xiàn)多個(gè)情況,隨機(jī)選取一個(gè)組播樹與此核心層交換機(jī)對應(yīng)。所以選取多個(gè)核心層交換機(jī),該組播組就可以有多個(gè)組播樹,這些組播樹之間無重疊鏈路或者部分重疊鏈路。樹狀結(jié)構(gòu)數(shù)據(jù)中心網(wǎng)絡(luò)的特點(diǎn)對多組播樹同時(shí)傳輸組播數(shù)據(jù)帶來很大的方便?;贠penFlow技術(shù),控制器收集網(wǎng)絡(luò)拓?fù)浜玩溌沸畔?,由多組播樹生成算法建立多個(gè)組播樹。優(yōu)選地,控制器在收集網(wǎng)絡(luò)鏈路信息建立多組播樹后,利用組播樹權(quán)重規(guī)則分別計(jì)算每個(gè)組播樹的權(quán)重,權(quán)重代表該組播樹被選用的優(yōu)先級,組播數(shù)據(jù)包根據(jù)此權(quán)重輪詢選擇多個(gè)組播樹進(jìn)行傳輸。在多組播樹重疊路徑處,重疊多組播樹權(quán)重需要二次計(jì)算。然后控制器將由組播樹權(quán)重配置的select類型組表(基于OpenFlowv1.1協(xié)議)下發(fā)給交換機(jī)。配置在交換機(jī)上的權(quán)重輪詢算法,將根據(jù)select類型組表中的權(quán)重位,從多個(gè)組播樹中輪詢選擇一個(gè)用于轉(zhuǎn)發(fā)組播數(shù)據(jù)的組播樹。組播樹的個(gè)數(shù)也必須得到限制,一般選取優(yōu)先級較高的幾個(gè)組播樹用來傳送數(shù)據(jù)。優(yōu)選地,由于數(shù)據(jù)中心網(wǎng)絡(luò)的流量的突變性和隨機(jī)性,基于OpenFlow技術(shù),OpenFlow控制器周期的收集網(wǎng)絡(luò)鏈路信息并進(jìn)行決策,能夠很好的實(shí)現(xiàn)流量工程。這里利用收集到的鏈路信息實(shí)時(shí)計(jì)算組播樹的權(quán)重,根據(jù)計(jì)算得到的組播樹權(quán)重動態(tài)的調(diào)整select類型組表中權(quán)重位。可以更好實(shí)現(xiàn)動態(tài)負(fù)載均衡和對組播業(yè)務(wù)的可觀可控性,保障數(shù)據(jù)的傳輸效率。優(yōu)選地,在出現(xiàn)故障鏈路,將其對應(yīng)組播樹的權(quán)重置零即可,只在剩余組播樹之間輪詢選擇,減少丟包,從而保證數(shù)據(jù)的可靠性。以下結(jié)合附圖對本發(fā)明的優(yōu)選實(shí)施例進(jìn)行描述和說明。其中需要說明的是,在下面的優(yōu)選實(shí)施例中,以基于OpenFlow環(huán)境下,機(jī)柜組(pointofdelivery,簡稱為pod)個(gè)數(shù)為4的簡單的胖樹(Fat-tree)數(shù)據(jù)中心網(wǎng)絡(luò)為例進(jìn)行說明。但是,在實(shí)際使用中,可能應(yīng)用于在pod個(gè)數(shù)更多的Fat-tree網(wǎng)絡(luò)中或者其他的數(shù)據(jù)中心網(wǎng)絡(luò)中,也可能應(yīng)用于其他的軟件定義網(wǎng)絡(luò)中,然而,這些不同的應(yīng)用場景均可適用于本發(fā)明的方法。優(yōu)選實(shí)施例一:圖4所示為本發(fā)明優(yōu)選實(shí)施例中在pod個(gè)數(shù)為4的Fat-tree數(shù)據(jù)中心網(wǎng)絡(luò)中,針對組播組成員建立多組播樹的算法。控制器獲取整個(gè)網(wǎng)絡(luò)拓?fù)湫畔?,結(jié)合Fat-tree網(wǎng)絡(luò)獨(dú)特的層次性,由控制器中的多組播樹生成模塊計(jì)算生成組播樹,包括如下步驟:步驟S401:根據(jù)網(wǎng)絡(luò)拓?fù)湫畔ⅲS機(jī)選取4個(gè)核心層交換機(jī);其中,圖4中淺虛線方框代表一個(gè)pod,有pod0…pod3,T1是邊緣層交換機(jī),A1,A2代表匯聚層交換機(jī),C1,C2,C3,C4代表核心層交換機(jī)。S表示源端,R1,R2,R3,R4,R5是接收方。在圖4中,選取的四個(gè)組播樹分別用短點(diǎn)劃線、雙點(diǎn)劃線、細(xì)線和粗線代表,此外,還需要說明的是,在pod0~pod3中匯聚層交換機(jī)和邊緣交換機(jī)之間的鏈路也屬于上述四個(gè)組播樹,例如,A1和T1之間的鏈路同時(shí)屬于C1所在的組播樹(點(diǎn)劃線表示的組播樹)和C2所在的組播樹(兩點(diǎn)劃線的組播樹);鑒于附圖中線條的限制,在圖4中并未區(qū)別并示出。步驟S402:確定源端到4個(gè)核心層交換機(jī)的唯一路徑,匯聚層交換機(jī)和邊緣層存在分支共享節(jié)點(diǎn)時(shí),進(jìn)行標(biāo)記,分別為T1和A1,A2;步驟S403:4個(gè)核心層交換機(jī)到組播成員的接收方的路徑唯一確定;優(yōu)選實(shí)施例二:圖5為在優(yōu)選實(shí)例一建立好多個(gè)組播樹后,組播樹的權(quán)重計(jì)算和組表的配置方法,是由控制器根據(jù)收集的鏈路狀態(tài)信息計(jì)算得到的,包括如下步驟:步驟S501:控制器收集的網(wǎng)絡(luò)鏈路信息,如每個(gè)鏈路的帶寬b,時(shí)延d,負(fù)載v;步驟S502:由控制中的組播樹權(quán)重計(jì)算模塊計(jì)算每個(gè)組播樹的權(quán)重,例如:權(quán)重W=Φ(b,d,v);其中,可以將組播樹中所有鏈路的最小帶寬作為權(quán)重;或者將組播樹的最小時(shí)延作為組播樹的權(quán)重;或者將平均帶寬和時(shí)延的代數(shù)和作為權(quán)重。針對不同的業(yè)務(wù)需求,權(quán)重的計(jì)算規(guī)則具有多樣性。權(quán)重Wi唯一代表了第i組播樹的優(yōu)先級。注意到多組播樹的特點(diǎn),所有的分支節(jié)點(diǎn)都處于源端同pod中。所以只需要在此pod中的邊緣層交換機(jī)和匯聚層交換機(jī)處配置選擇算法和下發(fā)組表就能實(shí)現(xiàn)多組播樹輪詢傳輸數(shù)據(jù)。把在源端直接相連的邊緣層交換機(jī)和同pod的匯聚層交換機(jī)出現(xiàn)的組播樹選擇,分別稱為一級選擇和二級選擇。二級選擇相比一級選擇簡單,二級匯聚層交換機(jī)每個(gè)輸出端口僅代表一個(gè)組播樹,而一級邊緣層交換機(jī)的輸出端口鏈路可能是多個(gè)組播樹重疊鏈路,它就會代表了多個(gè)組播樹。針對一級選擇多組播樹重疊鏈路時(shí),就需要單獨(dú)計(jì)算重疊鏈路組播樹權(quán)重來配置組表。步驟S503:在二級選擇的時(shí)候,匯聚層交換機(jī)每個(gè)輸出端口僅代表一個(gè)組播樹,此時(shí),每個(gè)組表的動作桶定義一個(gè)端口輸出,動作桶的權(quán)重位就是該組播樹的權(quán)重;步驟S504:存在一級選擇的時(shí)候,邊緣層交換機(jī)的輸出端口鏈路可能是多個(gè)組播樹的重疊鏈路,此時(shí)組表的動作桶輸出時(shí),也需要進(jìn)行權(quán)重輪詢選擇,此動作桶的權(quán)重(weight)就得根據(jù)經(jīng)過此鏈路的多個(gè)組播樹的權(quán)重進(jìn)行整合運(yùn)算 W=Ψ(W1,W2...Wn,b,d,v),常見的整合規(guī)則有取最大權(quán)重W=max(W1,W2...Wn)或者平均權(quán)重W=Avr(W1,W2...Wn)。優(yōu)選實(shí)施例三:圖6所示為在優(yōu)選實(shí)例一建立多個(gè)組播樹和實(shí)例二計(jì)算該多組播樹權(quán)重后,實(shí)現(xiàn)多組播樹高效性方法,包括如下步驟:步驟S601:由控制器的鏈路發(fā)現(xiàn)模塊收集網(wǎng)絡(luò)拓?fù)浜玩溌沸畔?,多組播樹生成模塊根據(jù)收集的拓?fù)湫畔⒑徒M播成員關(guān)系生成多個(gè)組播樹,再由組播樹權(quán)重計(jì)算模塊計(jì)算每個(gè)組播樹的權(quán)重。如圖7所示,短點(diǎn)劃線、雙點(diǎn)劃線、細(xì)線和粗線分別代表四個(gè)組播樹,A1的P3和P4分別表示A1的3端口和4端口,C1的P1、P2、P3、P4分別表示C1的1、2、3、4端口。此外,還需要說明的是,在pod0~pod3中匯聚層交換機(jī)和邊緣交換機(jī)之間的鏈路也屬于上述四個(gè)組播樹,例如,A1和T1之間的鏈路同時(shí)屬于C1所在的組播樹(點(diǎn)劃線表示的組播樹)和C2所在的組播樹(兩點(diǎn)劃線的組播樹);鑒于附圖中線條的限制,在圖7中并未區(qū)別并示出。其中,計(jì)算到每個(gè)組播樹的權(quán)重分別為W1=7,W2=9,W3=4,W4=1,特別的在多組播樹重疊鏈路處的權(quán)重為W12=9,W34=4:步驟S602:一級選擇,當(dāng)發(fā)送方S開始發(fā)送組播數(shù)據(jù)給其相連的邊緣交換機(jī)T1,組播數(shù)據(jù)到達(dá)邊緣交換機(jī),根據(jù)控制器下發(fā)的流表和組表進(jìn)行轉(zhuǎn)發(fā)。流表匹配組播數(shù)據(jù)包,將匹配的數(shù)據(jù)包轉(zhuǎn)入對應(yīng)select類型組表。由select類型組表權(quán)重輪詢選擇不同的動作桶進(jìn)行輸出(即代表不同的組播樹),此處的動作桶執(zhí)行的動作是端口輸出;其中,有組表id=1,組表項(xiàng)類型為select類型,動作桶bucket=output:3weight=4,bucket=output:4weight=9。由權(quán)重輪詢選擇算法循環(huán)執(zhí)行這兩個(gè)buckets,權(quán)重輪詢選擇算法如圖8所示。正常情況下,由選擇算法循環(huán)執(zhí)行3端口和4端口輸出。步驟S603:二級選擇,邊緣交換機(jī)的組播數(shù)據(jù)發(fā)送到匯聚層交換機(jī)A1和A2,流表匹配組播數(shù)據(jù)包,將匹配的數(shù)據(jù)包轉(zhuǎn)入對應(yīng)select類型組表;其中,A1,A2交換機(jī)下發(fā)的組表如下:A1:有組表id=1,組表項(xiàng)類型為select類型,動作桶bucket=output:3weight=9,bucket=output:4weight=7。同邊緣交換機(jī)一樣,循環(huán)執(zhí)行兩個(gè)buckets,輪詢選擇A1交換機(jī)的3端口和4端口轉(zhuǎn)發(fā),組播數(shù)據(jù)分別到達(dá)C1和C2交換機(jī)。A2:有組表id=1,組表項(xiàng)類型為select類型,動作桶bucket=output:3weight=1,bucket=output:4weight=4。同邊緣交換機(jī)一樣,循環(huán)執(zhí)行兩個(gè)buckets,輪詢選擇A2交換機(jī)的3端口和4端口轉(zhuǎn)發(fā),組播數(shù)據(jù)分別到達(dá)C3和C4交換機(jī)。步驟S604:從匯聚層交換機(jī)出來的數(shù)據(jù)有的到達(dá)核心層交換機(jī)有的直接轉(zhuǎn)發(fā)給同 pod的接收方。在核心層交換機(jī)加入流表和組表,流表將匹配的數(shù)據(jù)包轉(zhuǎn)入組表。此時(shí)所有核心層交換機(jī)組表類型均為all類型,動作桶bucket=output:1,bucket=output:2,bucket=output:3,bucket=output:4。此時(shí)組播數(shù)據(jù)分別從1,2,3,4端口轉(zhuǎn)發(fā);步驟S605:從核心層到接收方的路徑是唯一確定的。剩余組播樹中的交換機(jī),只需要執(zhí)行組表。組表id,組表類型為indirect類型,bucket=output:X。組播數(shù)據(jù)經(jīng)過不同組播樹發(fā)送到各個(gè)接收方,實(shí)現(xiàn)共傳,提高了傳輸?shù)男?。?yōu)選實(shí)施例四:在實(shí)現(xiàn)優(yōu)選實(shí)施例三的高效性后,還可以進(jìn)一步完善其組播業(yè)務(wù)的動態(tài)負(fù)載均衡和故障恢復(fù)。由于數(shù)據(jù)中心網(wǎng)絡(luò)中負(fù)載的隨機(jī)性,鏈路的狀況也隨之變化,對組播業(yè)務(wù)的具有一定影響,根據(jù)網(wǎng)絡(luò)的實(shí)時(shí)狀況,實(shí)現(xiàn)動態(tài)負(fù)載均衡,包括如下步驟:步驟S901:由控制器周期收集鏈路信息,實(shí)時(shí)根據(jù)組播樹的負(fù)載和延時(shí)等計(jì)算組播樹的權(quán)重;其中,如圖10所示,短點(diǎn)劃線、雙點(diǎn)劃線、細(xì)線和粗線分別代表已經(jīng)生成的四個(gè)組播樹。需要說明的是,在pod0~pod3中匯聚層交換機(jī)和邊緣交換機(jī)之間的鏈路也屬于上述四個(gè)組播樹,例如,A1和T1之間的鏈路同時(shí)屬于C1所在的組播樹(點(diǎn)劃線表示的組播樹)和C2所在的組播樹(兩點(diǎn)劃線的組播樹);鑒于附圖中線條的限制,在圖10中并未區(qū)別并示出。其中,計(jì)算到每個(gè)組播樹的權(quán)重分別為W1=10,W2=5,W3=4,W4=1,特別的在多組播樹重疊鏈路處的權(quán)重為W12=10,W34=4。步驟S902:根據(jù)重新計(jì)算的組播樹權(quán)重,對需要一級、二級選擇的邊緣層和匯聚層交換機(jī)的組表進(jìn)行重新配置并下發(fā);T1:有組表id=1,組表項(xiàng)類型為select類型,動作桶bucket=output:3weight=4,bucket=output:4weight=10;A1:有組表id=1,組表項(xiàng)類型為select類型,動作桶bucket=output:3weight=5,bucket=output:4weight=10;A2:有組表id=1,組表項(xiàng)類型為select類型,動作桶bucket=output:3weight=1,bucket=output:4weight=4;在步驟S902后的步驟與圖6所示的步驟S604~步驟S605相同,在此將不再贅述。其中,若鏈路出現(xiàn)故障,對出現(xiàn)故障的上級組播樹分支共享點(diǎn)出,修改組表,即將對應(yīng)的bucket的weight設(shè)置為零,這是動態(tài)負(fù)載均衡調(diào)整的特殊情況。在select類型組表中,若bucket的weight為零,則不執(zhí)行此bucket。從而可以避開故障端口組播樹,在剩下的良好端口繼續(xù)進(jìn)行權(quán)重輪詢轉(zhuǎn)發(fā)。綜上所述,本發(fā)明的上述實(shí)施例和優(yōu)選實(shí)施例,在數(shù)據(jù)中心環(huán)境中,利用OpenFlow技術(shù),建立多個(gè)組播樹同時(shí)用于組播業(yè)務(wù),并實(shí)時(shí)監(jiān)測網(wǎng)絡(luò)鏈路情況,動態(tài)調(diào)節(jié)鏈路負(fù)載,實(shí)現(xiàn)均衡負(fù)載,達(dá)到了組播業(yè)務(wù)可靠高效的目標(biāo)。本發(fā)明的上述實(shí)施例和優(yōu)選實(shí)施例充分利用了網(wǎng)絡(luò)的帶寬;利用多組播樹共傳提高了組播的傳輸效率;周期調(diào)整多組播樹的優(yōu)先級,實(shí)現(xiàn)了動態(tài)負(fù)載均衡;在出現(xiàn)故障時(shí),將故障組播樹優(yōu)先級置零,實(shí)現(xiàn)了組播業(yè)務(wù)的可靠性。顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計(jì)算裝置來實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來實(shí)現(xiàn),從而,可以將它們存儲在存儲裝置中由計(jì)算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。當(dāng)前第1頁1 2 3 當(dāng)前第1頁1 2 3 
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1