本發(fā)明涉及網(wǎng)絡(luò)數(shù)據(jù)傳輸技術(shù)領(lǐng)域,特別是涉及一種組播控制方法及裝置。本發(fā)明還涉及一種組播系統(tǒng)。
背景技術(shù):
組播技術(shù)有效地解決了單點發(fā)送、多點接收的問題,實現(xiàn)了IP網(wǎng)絡(luò)中點到多點的高效數(shù)據(jù)傳送,相比于單播和廣播技術(shù),組播技術(shù)能夠提高網(wǎng)絡(luò)資源的利用率以及網(wǎng)絡(luò)的可擴(kuò)展性,還有助于節(jié)約網(wǎng)絡(luò)帶寬,降低網(wǎng)絡(luò)負(fù)載。
隨著網(wǎng)絡(luò)普及以及智能移動設(shè)備的廣泛應(yīng)用,能夠體現(xiàn)組播技術(shù)優(yōu)勢的應(yīng)用領(lǐng)域越來越多,如網(wǎng)絡(luò)多媒體等。但就目前技術(shù)階段,組播技術(shù)要實現(xiàn)大規(guī)模應(yīng)用,還有不少的難題亟待解決。其中,在傳統(tǒng)組播技術(shù)中,網(wǎng)絡(luò)設(shè)備是根據(jù)組播協(xié)議控制組播數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā),但現(xiàn)有組播協(xié)議應(yīng)用不廣泛,不同廠商設(shè)備支持的組播協(xié)議不一致,因此阻礙了組播技術(shù)的普遍應(yīng)用。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提供一種組播控制方法及裝置,使組播網(wǎng)絡(luò)中的路由器只需根據(jù)下發(fā)的組播轉(zhuǎn)發(fā)表進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),與傳統(tǒng)的組播實現(xiàn)方法相比避免了基于組播協(xié)議進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),可忽視設(shè)備之間的差異。本發(fā)明還提供一種組播系統(tǒng)。
為實現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
一種組播控制方法,包括:
生成組播網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)圖;
根據(jù)數(shù)據(jù)源主機(jī)、目的主機(jī)、組播業(yè)務(wù)類型以及所述拓?fù)浣Y(jié)構(gòu)圖構(gòu)建組播樹,并基于所述組播樹為組播網(wǎng)絡(luò)中的路由器分別生成組播轉(zhuǎn)發(fā)表;
將所述組播轉(zhuǎn)發(fā)表下發(fā)給所述組播網(wǎng)絡(luò)中對應(yīng)的路由器,控制所述路由器根據(jù)對應(yīng)的組播轉(zhuǎn)發(fā)表進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。
可選地,所述生成組播網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)圖包括:
命令組播網(wǎng)絡(luò)中的每一路由器向自身的所有活動接口發(fā)出第一報文,所述第一報文包含本路由器的標(biāo)識、網(wǎng)際協(xié)議地址以及發(fā)出該第一報文的接口的標(biāo)識;
接收每一所述路由器的相鄰路由器在接收到所述第一報文后發(fā)出的第二報文,所述第二報文包含所述第一報文,并包含所述相鄰路由器的標(biāo)識、網(wǎng)際協(xié)議地址以及接收所述第一報文的接口的標(biāo)識;
根據(jù)組播網(wǎng)絡(luò)中所有所述路由器返回的所述第二報文生成組播網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)圖。
可選地,還包括以定時方式更新生成所述組播網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)圖。
可選地,還包括管理所述組播網(wǎng)絡(luò)中的路由器,具體包括:
接收并記錄組播網(wǎng)絡(luò)中的路由器發(fā)送的、指示其接口狀態(tài)變化的第三報文,所述接口狀態(tài)變化包括所述接口接入路由器或者所述接口斷開連接路由器,所述第三報文的信息包括所述接口的標(biāo)識、接入路由器或者斷開路由器的標(biāo)識和網(wǎng)際協(xié)議地址;
按照所述第三報文的信息與接入的路由器建立連接,或者移除斷開的路由器。
可選地,還包括管理所述組播網(wǎng)絡(luò)中的主機(jī),具體包括:
接收并記錄組播網(wǎng)絡(luò)中的路由器發(fā)送的、指示有主機(jī)與所述路由器建立連接或者有主機(jī)與所述路由器斷開連接的第四報文,所述第四報文的信息包括與所述路由器建立連接的主機(jī)的標(biāo)識和網(wǎng)際協(xié)議地址,或者與所述路由器斷開連接的主機(jī)的標(biāo)識和網(wǎng)際協(xié)議地址;
按照所述第四報文的信息與接入的主機(jī)建立連接或者移除斷開的主機(jī)。
可選地,組播網(wǎng)絡(luò)中的路由器在接收到主機(jī)發(fā)送的組播報文后,將所述組播報文中記錄的目的主機(jī)的網(wǎng)際協(xié)議地址與組播轉(zhuǎn)發(fā)表中的信息進(jìn)行匹配,若匹配失敗,則停止轉(zhuǎn)發(fā)所述組播報文,并將所述組播報文返回;
所述控制所述路由器根據(jù)對應(yīng)的組播轉(zhuǎn)發(fā)表進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),包括:
根據(jù)返回的所述組播報文的信息確定組播樹的源主機(jī),并重新生成組播轉(zhuǎn)發(fā)表,下發(fā)給對應(yīng)的路由器。
可選地,所述控制所述路由器根據(jù)對應(yīng)的組播轉(zhuǎn)發(fā)表進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),還包括:當(dāng)檢測到所述路由器統(tǒng)計的組播轉(zhuǎn)發(fā)計數(shù)值在規(guī)定時間內(nèi)沒有發(fā)生變化時,控制刪除所述路由器中對應(yīng)的組播轉(zhuǎn)發(fā)表。
一種組播控制裝置,包括:
拓?fù)浣Y(jié)構(gòu)生成模塊,用于生成組播組網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)圖;
組播樹生成模塊,用于根據(jù)數(shù)據(jù)源主機(jī)、目的主機(jī)、組播業(yè)務(wù)類型以及所述拓?fù)浣Y(jié)構(gòu)圖構(gòu)建組播樹;
轉(zhuǎn)發(fā)表生成模塊,用于基于所述組播樹為組播網(wǎng)絡(luò)中的路由器分別生成組播轉(zhuǎn)發(fā)表;
轉(zhuǎn)發(fā)控制模塊,用于將所述組播轉(zhuǎn)發(fā)表下發(fā)給所述組播組網(wǎng)絡(luò)中對應(yīng)的路由器,控制所述路由器根據(jù)對應(yīng)的組播轉(zhuǎn)發(fā)表進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。
可選地,所述拓?fù)浣Y(jié)構(gòu)生成模塊還用于以定時方式更新生成所述組播網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)圖。
一種組播系統(tǒng),包括:
如上所述的組播控制裝置;
組播網(wǎng)絡(luò),所述組播網(wǎng)絡(luò)包括相互連接的路由器以及分別與所述路由器連接的主機(jī)。
由上述技術(shù)方案可以看出,本發(fā)明所提供的組播控制方法及裝置,方法包括:生成組播網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)圖;根據(jù)數(shù)據(jù)源主機(jī)、目的主機(jī)、組播業(yè)務(wù)類型以及所述拓?fù)浣Y(jié)構(gòu)圖構(gòu)建組播樹,并基于所述組播樹,為組播網(wǎng)絡(luò)中的路由器分別生成組播轉(zhuǎn)發(fā)表;將所述組播轉(zhuǎn)發(fā)表下發(fā)給所述組播網(wǎng)絡(luò)中對應(yīng)的路由器,控制所述路由器根據(jù)對應(yīng)的組播轉(zhuǎn)發(fā)表進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。
本發(fā)明組播控制方法及裝置,以及包含所述組播控制裝置的組播系統(tǒng),使組播網(wǎng)絡(luò)中的路由器只需根據(jù)下發(fā)的組播轉(zhuǎn)發(fā)表進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),與現(xiàn)有技術(shù)相比避免了基于組播協(xié)議進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),使得在進(jìn)行數(shù)據(jù)組播時可以忽視設(shè)備之間的差異,因此有助于組播技術(shù)得到更普遍和廣泛的應(yīng)用。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例提供的一種組播控制方法的流程圖;
圖2為本發(fā)明實施例提供的一種組播控制裝置的示意圖;
圖3為本發(fā)明實施例提供的一種組播控制裝置在組播網(wǎng)絡(luò)中的應(yīng)用示意圖。
具體實施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明中的技術(shù)方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
請參考圖1,為本發(fā)明實施例提供的一種組播控制方法的流程圖,本實施例組播控制方法包括:
S10:生成組播網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)圖;
S11:根據(jù)數(shù)據(jù)源主機(jī)、目的主機(jī)、組播業(yè)務(wù)類型以及所述拓?fù)浣Y(jié)構(gòu)圖構(gòu)建組播樹,并基于所述組播樹為組播網(wǎng)絡(luò)中的路由器分別生成組播轉(zhuǎn)發(fā)表;
S12:將所述組播轉(zhuǎn)發(fā)表下發(fā)給所述組播網(wǎng)絡(luò)中對應(yīng)的路由器,控制所述路由器根據(jù)對應(yīng)的組播轉(zhuǎn)發(fā)表進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。
可以看出,本實施例組播控制方法包括:生成組播網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)圖;根據(jù)數(shù)據(jù)源主機(jī)、目的主機(jī)、組播業(yè)務(wù)類型以及所述拓?fù)浣Y(jié)構(gòu)圖構(gòu)建組播樹,并基于所述組播樹,為組播網(wǎng)絡(luò)中的路由器分別生成組播轉(zhuǎn)發(fā)表;將所述組播轉(zhuǎn)發(fā)表下發(fā)給所述組播網(wǎng)絡(luò)中對應(yīng)的路由器,控制所述路由器根據(jù)對應(yīng)的組播轉(zhuǎn)發(fā)表進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。本發(fā)明組播控制方法,使組播網(wǎng)絡(luò)中的路由器只需根據(jù)下發(fā)的組播轉(zhuǎn)發(fā)表進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),與現(xiàn)有技術(shù)相比避免了基于組播協(xié)議進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),使得在進(jìn)行數(shù)據(jù)組播時可以忽視設(shè)備之間的差異,因此有助于組播技術(shù)得到更普遍和廣泛的應(yīng)用。
下面對本實施例組播控制方法進(jìn)行詳細(xì)說明。本實施例組播控制方法中,可設(shè)置組播控制裝置,以下各步驟的執(zhí)行主體為所述組播控制裝置。本實施例組播控制方法包括以下步驟:
S10:生成組播網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)圖。
首先,組播控制裝置與組播網(wǎng)絡(luò)中的各路由器建立連接,獲取組播網(wǎng)絡(luò)中各路由器及主機(jī)的信息,包括各設(shè)備的標(biāo)識和網(wǎng)際協(xié)議地址,具體的可通過openflow協(xié)議與各路由器建立連接。
生成組播網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)圖可通過以下方法實現(xiàn),具體包括以下步驟:
S100:命令組播網(wǎng)絡(luò)中的每一路由器向自身的所有活動接口發(fā)出第一報文,所述第一報文包含本路由器的標(biāo)識、網(wǎng)際協(xié)議地址以及發(fā)出該第一報文的接口的標(biāo)識。
所述第一報文為鏈路探測包,其中包含本路由器的標(biāo)識、網(wǎng)際協(xié)議地址以及發(fā)出接口的標(biāo)識等信息。
S101:接收每一所述路由器的相鄰路由器在接收到所述第一報文后發(fā)出的第二報文,所述第二報文包含所述第一報文,并包含所述相鄰路由器的標(biāo)識、網(wǎng)際協(xié)議地址以及接收所述第一報文的接口的標(biāo)識。
每一路由器的相鄰路由器在接收到第一報文后,將第一報文封裝成第二報文,將第二報文發(fā)給組播控制裝置,第二報文中同時包含了所述相鄰路由器的標(biāo)識、網(wǎng)際協(xié)議地址以及接收所述第一報文的接口的標(biāo)識,組播控制裝置根據(jù)第二報文可以獲知對應(yīng)的兩個路由器之間的連接關(guān)系。
S102:根據(jù)組播網(wǎng)絡(luò)中所有所述路由器返回的所述第二報文生成組播網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)圖。
根據(jù)網(wǎng)絡(luò)中所有路由器返回的第二報文,記錄各路由器之間的連接情況,則可生成整個組播網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)圖。
示例性的,組播控制裝置可通過openflow協(xié)議與組播網(wǎng)絡(luò)中所有路由器建立連接。當(dāng)網(wǎng)絡(luò)中所有路由器接入連接,并注冊完成后,命令組播網(wǎng)絡(luò)中的每一路由器發(fā)出LLDP協(xié)議鏈路探測包,其相鄰的路由器收到這個LLDP協(xié)議探測包后,會把它封裝形成第二數(shù)據(jù)包上傳,進(jìn)而根據(jù)網(wǎng)絡(luò)中所有路由器返回的第二數(shù)據(jù)包可以得到網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)圖。
本實施例方法,還包括管理所述組播網(wǎng)絡(luò)中的路由器,具體包括:接收并記錄組播網(wǎng)絡(luò)中的路由器發(fā)送的、指示其接口狀態(tài)變化的第三報文,所述接口狀態(tài)變化包括所述接口接入路由器或者所述接口斷開連接路由器,所述第三報文的信息包括所述接口的標(biāo)識、接入路由器或者斷開路由器的標(biāo)識和網(wǎng)際協(xié)議地址;按照所述第三報文的信息與接入的路由器建立連接,或者移除斷開的路由器。
本實施例方法可實現(xiàn)對組播網(wǎng)絡(luò)中連接的路由器的管理和維護(hù),當(dāng)有新的路由器接入到組播網(wǎng)絡(luò)中,或者組播網(wǎng)絡(luò)中有路由器斷開連接時,其相鄰路由器感應(yīng)到接口狀態(tài)發(fā)生變化,則該路由器發(fā)出指示其接口狀態(tài)變化的第三報文,第三報文的信息包括所述接口的標(biāo)識、接入路由器或者斷開路由器的標(biāo)識和網(wǎng)際協(xié)議地址,進(jìn)而根據(jù)第三報文的信息與接入的路由器建立連接,或者移除斷開的路由器。
本實施例中,還包括管理所述組播網(wǎng)絡(luò)中的主機(jī),具體包括:接收并記錄組播網(wǎng)絡(luò)中的路由器發(fā)送的、指示有主機(jī)與所述路由器建立連接或者有主機(jī)與所述路由器斷開連接的第四報文,所述第四報文的信息包括與所述路由器建立連接的主機(jī)的標(biāo)識和網(wǎng)際協(xié)議地址,或者與所述路由器斷開連接的主機(jī)的標(biāo)識和網(wǎng)際協(xié)議地址;按照所述第四報文的信息與接入的主機(jī)建立連接或者移除斷開的主機(jī)。
示例性的,在網(wǎng)絡(luò)中,當(dāng)有主機(jī)接入到某個組播組時,主機(jī)向與其連接的路由器發(fā)送IGMP協(xié)議報文,路由器識別到主機(jī)發(fā)來的IGMP報文,并把這個報文封裝返回給組播控制裝置。進(jìn)而可以根據(jù)返回的IGMP報文獲得接入組播組中主機(jī)的信息。
本實施例方法可實現(xiàn)對組播網(wǎng)絡(luò)中主機(jī)的管理和維護(hù),在網(wǎng)絡(luò)中,當(dāng)有主機(jī)接入某一組播組或者有主機(jī)退出某一組播組時,相應(yīng)的路由器發(fā)出指示有主機(jī)與該路由器建立連接或者有主機(jī)與該路由器斷開連接的第四報文,第四報文的信息包括相應(yīng)主機(jī)的標(biāo)識和網(wǎng)際協(xié)議地址,進(jìn)一步可根據(jù)第四報文的信息與接入的主機(jī)建立連接或者移除斷開的主機(jī)。
因此本實施例組播控制方法,具有對組播成員的管理和維護(hù)功能。
在組播網(wǎng)絡(luò)中,隨時有新的路由器接入組播網(wǎng)絡(luò),或者有路由器退出組播網(wǎng)絡(luò),為了實現(xiàn)對網(wǎng)絡(luò)拓?fù)涞膶崟r維護(hù),本實施例組播控制方法,還包括以定時方式更新所述組播網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)圖。以維護(hù)網(wǎng)絡(luò)拓?fù)涞膶崟r情況。
S11:根據(jù)數(shù)據(jù)源主機(jī)、目的主機(jī)、組播業(yè)務(wù)類型以及所述拓?fù)浣Y(jié)構(gòu)圖構(gòu)建組播樹,并基于所述組播樹,為組播網(wǎng)絡(luò)中的路由器分別生成組播轉(zhuǎn)發(fā)表。
組播樹的生成可以通過最短路徑樹算法或者最小生成樹生成算法來生成。最小生成樹生成算法包括克魯斯卡爾(kruskal)算法或普里姆(prim)算法。
所述組播轉(zhuǎn)發(fā)表是根據(jù)拓?fù)鋽?shù)據(jù)庫來確定的,在拓?fù)鋽?shù)據(jù)庫中,拓?fù)浣Y(jié)構(gòu)圖記錄有每個路由器的每一接口標(biāo)識及網(wǎng)際協(xié)議地址、目的路由接口及網(wǎng)際協(xié)議地址,組播源的網(wǎng)際協(xié)議地址等。
對于控制范圍內(nèi)的每個路由器,會生成對應(yīng)各自的組播轉(zhuǎn)發(fā)表,組播轉(zhuǎn)發(fā)表包含的信息內(nèi)容包括路由器的標(biāo)識、路由器所有接口的標(biāo)識,以及與接口相連的路由器的標(biāo)識、接口標(biāo)識及網(wǎng)際協(xié)議地址,與接口連接的主機(jī)、主機(jī)的網(wǎng)際協(xié)議地址。
S12:將所述組播轉(zhuǎn)發(fā)表下發(fā)給所述組播網(wǎng)絡(luò)中對應(yīng)的路由器,控制所述路由器根據(jù)對應(yīng)的組播轉(zhuǎn)發(fā)表進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。
具體的,當(dāng)組播網(wǎng)絡(luò)中的主機(jī)開始進(jìn)行組播業(yè)務(wù)時,路由器接收到主機(jī)發(fā)送的組播報文后,將所述組播報文中記錄的目的主機(jī)的網(wǎng)際協(xié)議地址與組播轉(zhuǎn)發(fā)表中的信息進(jìn)行匹配,即檢測組播報文中記錄的目的主機(jī)的網(wǎng)際協(xié)議地址與組播轉(zhuǎn)發(fā)表中的目的主機(jī)的網(wǎng)際協(xié)議地址是否一致,若一致,則匹配成功,路由器則根據(jù)組播轉(zhuǎn)發(fā)表中記錄的與該目的主機(jī)對應(yīng)連接的路由器接口,從該接口將組播報文發(fā)出;若不一致,則匹配失敗,則停止轉(zhuǎn)發(fā)所述組播報文,并將所述組播報文返回給組播控制裝置。然后組播控制裝置根據(jù)返回的所述組播報文的信息查詢出組播樹的數(shù)據(jù)源主機(jī),并重新生成組播轉(zhuǎn)發(fā)表,下發(fā)給對應(yīng)的路由器。
進(jìn)一步的,所述控制所述路由器根據(jù)對應(yīng)的組播轉(zhuǎn)發(fā)表進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),還包括:當(dāng)檢測到所述路由器統(tǒng)計的組播轉(zhuǎn)發(fā)計數(shù)值在規(guī)定時間內(nèi)沒有發(fā)生變化時,控制刪除所述路由器中對應(yīng)的組播轉(zhuǎn)發(fā)表。
在規(guī)定時間內(nèi),若路由器中統(tǒng)計的組播轉(zhuǎn)發(fā)計數(shù)值沒有變化,表明該組播轉(zhuǎn)發(fā)表沒有轉(zhuǎn)發(fā)成功,已達(dá)到規(guī)定時間則刪除。
本實施例組播控制方法,實現(xiàn)了對組播網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的維護(hù)和對組播網(wǎng)絡(luò)中路由器轉(zhuǎn)發(fā)數(shù)據(jù)的控制,通過生成組播網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),并根據(jù)組播網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)圖生成組播樹,基于組播樹生成組播轉(zhuǎn)發(fā)表下發(fā)給路由器。以控制路由器進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),路由器只需根據(jù)組播轉(zhuǎn)發(fā)表進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。與現(xiàn)有的組播實現(xiàn)方法相比,避免了根據(jù)組播協(xié)議進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),可屏蔽不同廠商設(shè)備支持的組播協(xié)議的差異;另外,路由器不需要維護(hù)網(wǎng)絡(luò)拓?fù)湫畔?,從而可大大減輕轉(zhuǎn)發(fā)面的開銷,并提高數(shù)據(jù)的轉(zhuǎn)發(fā)效率。
相應(yīng)的,本發(fā)明實施例還提供一種組播控制裝置,請參考圖2,所述裝置包括:
拓?fù)浣Y(jié)構(gòu)生成模塊20,用于生成組播組網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)圖;
組播樹生成模塊21,用于根據(jù)數(shù)據(jù)源主機(jī)、目的主機(jī)、組播業(yè)務(wù)類型以及所述拓?fù)浣Y(jié)構(gòu)圖構(gòu)建組播樹;
轉(zhuǎn)發(fā)表生成模塊22,用于基于所述組播樹為組播網(wǎng)絡(luò)中的路由器分別生成組播轉(zhuǎn)發(fā)表;
轉(zhuǎn)發(fā)控制模塊23,用于將所述組播轉(zhuǎn)發(fā)表下發(fā)給所述組播組網(wǎng)絡(luò)中對應(yīng)的路由器,控制所述路由器根據(jù)對應(yīng)的組播轉(zhuǎn)發(fā)表進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。
可以看出,本實施例提供的組播控制裝置,包括拓?fù)浣Y(jié)構(gòu)生成模塊、組播樹生成模塊、轉(zhuǎn)發(fā)表生成模塊和轉(zhuǎn)發(fā)控制模塊,其中,拓?fù)浣Y(jié)構(gòu)生成模塊,用于生成組播組網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)圖;組播樹生成模塊,用于根據(jù)數(shù)據(jù)源主機(jī)、目的主機(jī)、組播業(yè)務(wù)類型以及所述拓?fù)浣Y(jié)構(gòu)圖構(gòu)建組播樹;轉(zhuǎn)發(fā)表生成模塊,用于基于所述組播樹為組播網(wǎng)絡(luò)中的路由器分別生成組播轉(zhuǎn)發(fā)表;轉(zhuǎn)發(fā)控制模塊,用于將所述組播轉(zhuǎn)發(fā)表下發(fā)給所述組播組網(wǎng)絡(luò)中對應(yīng)的路由器,控制所述路由器根據(jù)對應(yīng)的組播轉(zhuǎn)發(fā)表進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。因此,本實施例組播控制裝置具有對組播網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的獲取及維護(hù),并向組播網(wǎng)絡(luò)中路由器下發(fā)控制信息,以控制其進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),路由器只需根據(jù)組播轉(zhuǎn)發(fā)表進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。與現(xiàn)有的組播實現(xiàn)方法相比,避免了根據(jù)組播協(xié)議進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),可屏蔽不同廠商設(shè)備支持的組播協(xié)議的差異;另外,路由器不需要維護(hù)網(wǎng)絡(luò)拓?fù)湫畔?,從而可大大減輕轉(zhuǎn)發(fā)面的開銷,并提高數(shù)據(jù)的轉(zhuǎn)發(fā)效率。
本實施例中,所述拓?fù)浣Y(jié)構(gòu)生成模塊20生成組播組網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)圖,具體包括以下過程:命令組播網(wǎng)絡(luò)中的每一路由器向自身的所有活動接口發(fā)出第一報文,第一報文包含本路由器的標(biāo)識、網(wǎng)際協(xié)議地址以及發(fā)出該第一報文的接口的標(biāo)識;接收每一路由器的相鄰路由器在接收到第一報文后發(fā)出的第二報文,第二報文包含第一報文,并包含相鄰路由器的標(biāo)識、網(wǎng)際協(xié)議地址以及接收第一報文的接口的標(biāo)識;根據(jù)組播網(wǎng)絡(luò)中所有路由器返回的第二報文生成組播網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)圖。
在具體應(yīng)用中,組播控制裝置與組播網(wǎng)絡(luò)中的所有路由器建立連接,可以通過openflow協(xié)議與路由器建立連接,參考圖3所示,圖3為本實施例組播控制裝置在組播網(wǎng)絡(luò)中的應(yīng)用示意圖。
組播網(wǎng)絡(luò)中的所有路由器與控制裝置建立連接完成注冊后,控制裝置命令組播網(wǎng)絡(luò)中的每一路由器向自身的所有活動接口發(fā)出第一報文,第一報文包含本路由器的標(biāo)識、網(wǎng)際協(xié)議地址以及發(fā)出該第一報文的接口的標(biāo)識,每一路由器的相鄰路由器在接收到第一報文后,將其封裝成第二報文,上傳給所述控制裝置;控制裝置根據(jù)組播網(wǎng)絡(luò)中所有路由器返回的第二報文,可以得到各路由器之間的連接情況,生成整個組播網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)圖。示例性的,控制裝置命令組播網(wǎng)絡(luò)中的每一路由器發(fā)出LLDP協(xié)議鏈路探測包,其相鄰的路由器收到這個LLDP協(xié)議探測包后,會把它封裝形成第二數(shù)據(jù)包上傳,進(jìn)而根據(jù)網(wǎng)絡(luò)中所有路由器返回的第二數(shù)據(jù)包可以得到網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)圖。
在組播網(wǎng)絡(luò)中,隨時有新的路由器接入組播網(wǎng)絡(luò),或者有路由器退出組播網(wǎng)絡(luò),為了實現(xiàn)對網(wǎng)絡(luò)拓?fù)涞膶崟r維護(hù),本實施例組播控制裝置,其網(wǎng)絡(luò)拓?fù)渖赡K20以定時方式更新生成組播網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)圖。以維護(hù)網(wǎng)絡(luò)拓?fù)涞膶崟r情況。
進(jìn)一步的,所述組播控制裝置還包括組播網(wǎng)絡(luò)管理模塊,用于接收并記錄組播網(wǎng)絡(luò)中的路由器發(fā)送的、指示其接口狀態(tài)變化的第三報文,所述接口狀態(tài)變化包括所述接口接入路由器或者所述接口斷開連接路由器,所述第三報文的信息包括所述接口的標(biāo)識、接入路由器或者斷開路由器的標(biāo)識和網(wǎng)際協(xié)議地址,并按照所述第三報文的信息與接入的路由器建立連接,或者移除斷開的路由器;
所述組播網(wǎng)絡(luò)管理模塊還用于接收并記錄組播網(wǎng)絡(luò)中的路由器發(fā)送的、指示有主機(jī)與所述路由器建立連接或者有主機(jī)與所述路由器斷開連接的第四報文,所述第四報文的信息包括與所述路由器建立連接的主機(jī)的標(biāo)識和網(wǎng)際協(xié)議地址,或者與所述路由器斷開連接的主機(jī)的標(biāo)識和網(wǎng)際協(xié)議地址,并按照所述第四報文的信息與接入的主機(jī)建立連接或者移除斷開的主機(jī)。
當(dāng)組播網(wǎng)絡(luò)中的主機(jī)開始進(jìn)行組播業(yè)務(wù)時,組播網(wǎng)絡(luò)中的路由器在接收到主機(jī)發(fā)送的組播報文后,將所述組播報文中記錄的目的主機(jī)的網(wǎng)際協(xié)議地址與組播轉(zhuǎn)發(fā)表中的信息進(jìn)行匹配,即檢測組播報文中記錄的目的主機(jī)的網(wǎng)際協(xié)議地址與組播轉(zhuǎn)發(fā)表中的目的主機(jī)的網(wǎng)際協(xié)議地址是否一致,若一致,則匹配成功,路由器則根據(jù)組播轉(zhuǎn)發(fā)表中記錄的與該目的主機(jī)對應(yīng)連接的路由器接口,從該接口將組播報文發(fā)出;若不一致,則匹配失敗,則停止轉(zhuǎn)發(fā)所述組播報文,并將所述組播報文返回給組播控制裝置。然后組播控制裝置根據(jù)返回的所述組播報文的信息查詢出組播樹的數(shù)據(jù)源主機(jī),并重新生成組播轉(zhuǎn)發(fā)表,下發(fā)給對應(yīng)的路由器。
進(jìn)一步的,所述轉(zhuǎn)發(fā)控制模塊23還用于當(dāng)檢測到所述路由器統(tǒng)計的組播轉(zhuǎn)發(fā)計數(shù)值在規(guī)定時間內(nèi)沒有發(fā)生變化時,控制刪除所述路由器中對應(yīng)的組播轉(zhuǎn)發(fā)表。
相應(yīng)的,本發(fā)明實施例還提供一種組播系統(tǒng),包括:
如上所述的組播控制裝置;
組播網(wǎng)絡(luò),所述組播網(wǎng)絡(luò)包括相互連接的路由器以及分別與所述路由器連接的主機(jī)。
本實施例組播系統(tǒng),通過其組播控制裝置實現(xiàn)對組播網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的獲取及維護(hù),并向組播網(wǎng)絡(luò)中路由器下發(fā)控制信息,以控制其進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),路由器只需根據(jù)組播轉(zhuǎn)發(fā)表進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。與現(xiàn)有的組播實現(xiàn)方法相比,避免了根據(jù)組播協(xié)議進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),可屏蔽不同廠商設(shè)備支持的組播協(xié)議的差異;另外,使路由器不需要維護(hù)網(wǎng)絡(luò)拓?fù)湫畔?,從而可大大減輕轉(zhuǎn)發(fā)面的開銷,并提高數(shù)據(jù)的轉(zhuǎn)發(fā)效率。
以上對本發(fā)明所提供的一種組播控制方法及裝置、組播系統(tǒng)進(jìn)行了詳細(xì)介紹。本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進(jìn)行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。