一種組播數(shù)據(jù)報文轉(zhuǎn)發(fā)方法及設(shè)備的制作方法
【專利摘要】本發(fā)明公開了一種組播數(shù)據(jù)報文轉(zhuǎn)發(fā)方法及設(shè)備,應(yīng)用于采用大二層網(wǎng)絡(luò)技術(shù)的數(shù)據(jù)中心,該大二層網(wǎng)絡(luò)包含有核心層設(shè)備和接入層設(shè)備的大二層網(wǎng)絡(luò),核心層設(shè)備作為網(wǎng)關(guān)設(shè)備選舉出唯一DR。該方法中,大二層網(wǎng)絡(luò)中的設(shè)備根據(jù)組加入報文生成組播轉(zhuǎn)發(fā)表項時,對于組播源在數(shù)據(jù)中心內(nèi)的組播組,將本設(shè)備朝向所有網(wǎng)關(guān)的路由器端口以及接收組加入報文的成員端口配置為相應(yīng)組播轉(zhuǎn)發(fā)表項的出端口,對于組播源不在數(shù)據(jù)中心內(nèi)的組播組,將本設(shè)備朝向DR的路由器端口以及接收組加入報文的成員端口配置為相應(yīng)組播轉(zhuǎn)發(fā)表項的出端口;大二層網(wǎng)絡(luò)中的設(shè)備根據(jù)組播轉(zhuǎn)發(fā)表項轉(zhuǎn)發(fā)接收到的組播數(shù)據(jù)報文。采用本發(fā)明可實現(xiàn)基于大二層網(wǎng)絡(luò)的組播數(shù)據(jù)報文轉(zhuǎn)發(fā)。
【專利說明】一種組播數(shù)據(jù)報文轉(zhuǎn)發(fā)方法及設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域的組播技術(shù),尤其涉及一種組播數(shù)據(jù)報文轉(zhuǎn)發(fā)方法及設(shè)備?!颈尘凹夹g(shù)】
[0002]服務(wù)器虛擬化技術(shù)的出現(xiàn)可以在一臺物理的服務(wù)器上虛擬出幾十個甚至上百個虛擬機(Virtual Machine,VM),服務(wù)器虛擬化大大提升了服務(wù)器的利用率。同時為了提升服務(wù)器的HA (High Availability,高可用性),需要VM具備大范圍遷移的能力。為解決VM大范圍遷移的問題,網(wǎng)絡(luò)需要提供配套的大二層組網(wǎng)技術(shù),于是業(yè)界出現(xiàn)了 Trill(Transparent Interconnection of Lots ofLinks,多鏈路透明互聯(lián))、SPB (ShortestPath Bridging,最短路徑橋)等技術(shù),并由不同標(biāo)準(zhǔn)組織進行標(biāo)準(zhǔn)化。例如Trill是由IETF (Internet Engineering TaskForce,互聯(lián)網(wǎng)工程任務(wù)組)制定的標(biāo)準(zhǔn),SPB是由IEEE(Institute of Electricaland Electronics Engineers,美國電氣和電子工程師協(xié)會)制定的標(biāo)準(zhǔn)。
[0003]基于Trill、SPB等技術(shù)構(gòu)建的大二層網(wǎng)絡(luò)中的組播技術(shù)本質(zhì)上是一種隧道技術(shù),即,對用戶報文進行隧道地址封裝后在隧道地址空間進行轉(zhuǎn)發(fā)。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實施例提供一種組播數(shù)據(jù)報文轉(zhuǎn)發(fā)方法及設(shè)備,用以使大二層網(wǎng)絡(luò)設(shè)備轉(zhuǎn)發(fā)組播數(shù)據(jù)報文。
[0005]本發(fā)明實施例提供的組播數(shù)據(jù)報文轉(zhuǎn)發(fā)方法,應(yīng)用于采用大二層網(wǎng)絡(luò)技術(shù)的數(shù)據(jù)中心,該大二層網(wǎng)絡(luò)包含有核心層設(shè)備和接入層設(shè)備,作為網(wǎng)關(guān)的核心層設(shè)備選舉出唯一的DR,該方法包括:
[0006]接入層設(shè)備接收到組加入報文后,解析出所請求加入的組播組和所屬的VLAN,根據(jù)解析出的組播組和VLAN查詢相應(yīng)組播轉(zhuǎn)發(fā)表項,并在未查詢到相應(yīng)組播轉(zhuǎn)發(fā)表項時生成相應(yīng)組播轉(zhuǎn)發(fā)表項;對所述組加入報文進行大二層網(wǎng)絡(luò)協(xié)議封裝,從本設(shè)備朝向DR的路由器端口轉(zhuǎn)發(fā)封裝后的組加入報文;
[0007]接入層設(shè)備接收到大二層網(wǎng)絡(luò)協(xié)議封裝的組加入報文后進行解封裝,解析出所請求加入的組播組和所屬的VLAN,根據(jù)解析出的組播組和VLAN查詢相應(yīng)組播轉(zhuǎn)發(fā)表項,并在未查詢到相應(yīng)組播轉(zhuǎn)發(fā)表項時生成相應(yīng)組播轉(zhuǎn)發(fā)表項;從本設(shè)備朝向DR的路由器端口轉(zhuǎn)發(fā)所述大二層網(wǎng)絡(luò)協(xié)議封裝的組加入報文;
[0008]接入層設(shè)備接收到組播數(shù)據(jù)報文后,根據(jù)該組播數(shù)據(jù)報文所屬的組播組和VLAN查詢相應(yīng)組播轉(zhuǎn)發(fā)表項,根據(jù)查詢到的組播轉(zhuǎn)發(fā)表項轉(zhuǎn)發(fā)組播數(shù)據(jù)報文;
[0009]其中,接入層設(shè)備生成相應(yīng)組播轉(zhuǎn)發(fā)表項時,若所請求加入的組播組和所屬的VLAN所對應(yīng)的組播源在數(shù)據(jù)中心內(nèi),則將本設(shè)備朝向所有網(wǎng)關(guān)的路由器端口以及接收組加入報文的成員端口配置為組播轉(zhuǎn)發(fā)表項的出端口,若所請求加入的組播組和所屬VLAN對應(yīng)的組播源不在數(shù)據(jù)中心內(nèi),則將本設(shè)備朝向DR的路由器端口以及接收組加入報文的成員端口配置為組播轉(zhuǎn)發(fā)表項的出端口;其中,本設(shè)備朝向DR的路由器端口和朝向所有網(wǎng)關(guān)的路由器端口是根據(jù)以DR為根的組播樹計算得到的。
[0010]本發(fā)明另一實施例提供的組播數(shù)據(jù)報文轉(zhuǎn)發(fā)方法,應(yīng)用于采用大二層網(wǎng)絡(luò)技術(shù)的數(shù)據(jù)中心,該大二層網(wǎng)絡(luò)包含有核心層設(shè)備和接入層設(shè)備,該方法包括:
[0011]作為網(wǎng)關(guān)的核心層設(shè)備選舉出唯一的指定路由器DR ;
[0012]核心層設(shè)備接收到大二層網(wǎng)絡(luò)協(xié)議封裝的組加入報文后進行解封裝,解析出所請求加入的組播組和所屬VLAN,根據(jù)解析出的組播組和VLAN查詢相應(yīng)組播轉(zhuǎn)發(fā)表項,并在未查找到相應(yīng)組播轉(zhuǎn)發(fā)表項時生成相應(yīng)組播轉(zhuǎn)發(fā)表項;并在本設(shè)備被選舉為DR的情況下,根據(jù)所請求加入的組播組向大二層網(wǎng)絡(luò)外部發(fā)送組加入報文,在本設(shè)備未被選舉為DR的情況下,從本設(shè)備朝向DR的路由器端口轉(zhuǎn)發(fā)所述大二層網(wǎng)絡(luò)協(xié)議封裝的組加入報文;
[0013]核心層設(shè)備接收到組播數(shù)據(jù)報文后查詢相應(yīng)組播轉(zhuǎn)發(fā)表項,并根據(jù)查詢到的組播轉(zhuǎn)發(fā)表項轉(zhuǎn)發(fā)組播數(shù)據(jù)報文;
[0014]其中,核心層設(shè)備生成相應(yīng)組播轉(zhuǎn)發(fā)表項時,若所請求加入的組播組及其所屬的VLAN所對應(yīng)的組播源在數(shù)據(jù)中心內(nèi),則將本設(shè)備朝向所有網(wǎng)關(guān)的路由器端口以及接收所述組加入報文的成員端口配置為組播轉(zhuǎn)發(fā)表項的出端口,若所請求加入的組播組和所屬VLAN對應(yīng)的組播源不在數(shù)據(jù)中心內(nèi),則將本設(shè)備朝向DR的路由器端口以及接收所述組加入報文的成員端口配置為組播轉(zhuǎn)發(fā)表項的出端口 ;其中,本設(shè)備朝向DR的路由器端口和朝向所有網(wǎng)關(guān)的路由器端口是根據(jù)以DR為根的組播樹計算得到的。
[0015]本發(fā)明實施例提供的一種大二層網(wǎng)絡(luò)中的接入層設(shè)備,應(yīng)用于采用大二層網(wǎng)絡(luò)技術(shù)的數(shù)據(jù)中心,該大二層網(wǎng)絡(luò)包含有核心層設(shè)備和接入層設(shè)備,作為網(wǎng)關(guān)的核心層設(shè)備選舉出唯一的DR,所述接入層設(shè)備包括:
[0016]拓撲計算模塊,用于根據(jù)以DR為根的組播樹,為組播源在數(shù)據(jù)中心內(nèi)的組播組,計算本設(shè)備朝向DR的路由器端口和朝向所有網(wǎng)關(guān)的路由器端口,為組播源不在數(shù)據(jù)中心內(nèi)的組播組,計算本設(shè)備朝向DR的路由器端口 ;
[0017]組播協(xié)議處理模塊,用于在接收到組加入報文后,解析出所請求加入的組播組和所屬的VLAN,根據(jù)解析出的組播組和VLAN查詢相應(yīng)組播轉(zhuǎn)發(fā)表項,并在未查詢到相應(yīng)組播轉(zhuǎn)發(fā)表項時指示組播轉(zhuǎn)發(fā)表處理模塊生成相應(yīng)組播轉(zhuǎn)發(fā)表項;對所述組加入報文進行大二層網(wǎng)絡(luò)協(xié)議封裝,從本設(shè)備朝向DR的路由器端口轉(zhuǎn)發(fā)封裝后的組加入報文;以及
[0018]在接收到大二層網(wǎng)絡(luò)協(xié)議封裝的組加入報文后進行解封裝,解析出所請求加入的組播組和所屬的VLAN,根據(jù)解析出的組播組和VLAN查詢相應(yīng)組播轉(zhuǎn)發(fā)表項,并在未查詢到相應(yīng)組播轉(zhuǎn)發(fā)表項時指示組播轉(zhuǎn)發(fā)表處理模塊生成相應(yīng)組播轉(zhuǎn)發(fā)表項;從本設(shè)備朝向DR的路由器端口轉(zhuǎn)發(fā)所述大二層網(wǎng)絡(luò)協(xié)議封裝的組加入報文;
[0019]組播轉(zhuǎn)發(fā)表處理模塊,用于生成組播轉(zhuǎn)發(fā)表項,其中,若所請求加入的組播組和所屬VLAN所對應(yīng)的組播源在數(shù)據(jù)中心內(nèi),則將本設(shè)備朝向所有網(wǎng)關(guān)的路由器端口以及接收組加入報文的成員端口配置為組播轉(zhuǎn)發(fā)表項的出端口,若所請求加入的組播組和所屬VLAN所對應(yīng)的組播源不在數(shù)據(jù)中心內(nèi),則將本設(shè)備朝向DR的路由器端口以及接收組加入報文的成員端口配置為組播轉(zhuǎn)發(fā)表項的出端口;
[0020]組播轉(zhuǎn)發(fā)模塊,用于在接收到組播數(shù)據(jù)報文后,根據(jù)該組播數(shù)據(jù)報文所屬的組播組和VLAN查詢相應(yīng)組播轉(zhuǎn)發(fā)表項,并根據(jù)查詢到的組播轉(zhuǎn)發(fā)表項轉(zhuǎn)發(fā)組播數(shù)據(jù)報文。[0021]本發(fā)明實施例提供的一種大二層網(wǎng)絡(luò)中的核心層設(shè)備,應(yīng)用于采用大二層網(wǎng)絡(luò)技術(shù)的數(shù)據(jù)中心,該大二層網(wǎng)絡(luò)包含有核心層設(shè)備和接入層設(shè)備,所述核心層設(shè)備包括:
[0022]拓撲計算模塊,用于根據(jù)以指定路由器DR為根的組播樹,為組播源在數(shù)據(jù)中心內(nèi)的組播組,計算本設(shè)備朝向DR的路由器端口和朝向所有網(wǎng)關(guān)的路由器端口,為組播源不在數(shù)據(jù)中心內(nèi)的組播組,計算本設(shè)備朝向DR的路由器端口 ;
[0023]組播協(xié)議處理模塊,用于選舉唯一的DR ;以及,在接收到大二層網(wǎng)絡(luò)協(xié)議封裝的組加入報文后進行解封裝,解析出所請求加入的組播組和所屬虛擬局域網(wǎng)VLAN,根據(jù)解析出的組播組和VLAN查詢相應(yīng)組播轉(zhuǎn)發(fā)表項,并在未查找到相應(yīng)組播轉(zhuǎn)發(fā)表項時指示組播轉(zhuǎn)發(fā)表處理模塊生成相應(yīng)組播轉(zhuǎn)發(fā)表項;并在本設(shè)備被選舉為DR的情況下,根據(jù)所請求加入的組播組向大二層網(wǎng)絡(luò)外部發(fā)送組加入報文,在本設(shè)備未被選舉為DR的情況下,從本設(shè)備朝向DR的路由器端口轉(zhuǎn)發(fā)所述大二層網(wǎng)絡(luò)協(xié)議封裝的組加入報文;
[0024]組播轉(zhuǎn)發(fā)表處理模塊,用于生成相應(yīng)組播轉(zhuǎn)發(fā)表項,其中,若所請求加入的組播組和所屬VLAN所對應(yīng)的組播源在數(shù)據(jù)中心內(nèi),則將本設(shè)備朝向所有網(wǎng)關(guān)的路由器端口以及接收所述組加入報文的成員端口配置為組播轉(zhuǎn)發(fā)表項的出端口,若所請求加入的組播組和所屬VLAN所對應(yīng)的組播源不在數(shù)據(jù)中心內(nèi),則將本設(shè)備朝向DR的路由器端口以及接收所述組加入報文的成員端口配置為組播轉(zhuǎn)發(fā)表項的出端口;
[0025]組播轉(zhuǎn)發(fā)模塊,用于在接收到組播數(shù)據(jù)報文后查詢相應(yīng)組播轉(zhuǎn)發(fā)表項,并根據(jù)查詢到的組播轉(zhuǎn)發(fā)表項轉(zhuǎn)發(fā)組播數(shù)據(jù)報文。
[0026]本發(fā)明的上述實施例中,由于大二層網(wǎng)絡(luò)設(shè)備在生成組播轉(zhuǎn)發(fā)表項時,根據(jù)相應(yīng)組播組的組播源是否在數(shù)據(jù)中心內(nèi)而進行不同的處理,即,對于組播源在數(shù)據(jù)中心內(nèi)的組播組,則將本設(shè)備朝向所有網(wǎng)關(guān)的路由器端口以及組加入報文的接收端口配置為該組播對應(yīng)的組播轉(zhuǎn)發(fā)表項的出端口,對于組播源不在大數(shù)據(jù)中心內(nèi)的組播組,將本設(shè)備朝向DR的路由器端口以及組加入報文的接收端口配置為該組播組對應(yīng)的組播轉(zhuǎn)發(fā)表項的出端口,從而針對組播源在數(shù)據(jù)中心內(nèi)的組播組,將其組播流量引入到各個作為網(wǎng)關(guān)的核心層設(shè)備上,進而使大二層網(wǎng)絡(luò)外的組播接收客戶端也可以接收到該組播流量,實現(xiàn)了基于大二層網(wǎng)絡(luò)的組播數(shù)據(jù)報文的轉(zhuǎn)發(fā),而且,組播數(shù)據(jù)報文在大二層網(wǎng)絡(luò)內(nèi)轉(zhuǎn)發(fā)時,無需進行大二層網(wǎng)絡(luò)協(xié)議封裝。
【專利附圖】
【附圖說明】
[0027]圖1為本發(fā)明實施例中的Trill組網(wǎng)架構(gòu)示意圖之一;
[0028]圖2為圖1中的RBridge上的“組播組與路由器端口對應(yīng)關(guān)系表”不意圖;
[0029]圖3為圖中的RBridge上的組播轉(zhuǎn)發(fā)表項的示意圖;
[0030]圖4為圖1中的查詢器所使用的Tr i 11組播裁剪樹示意圖;
[0031]圖5A、圖5B和圖5C為根據(jù)圖3所示的組播轉(zhuǎn)發(fā)表項所形成的組播流量轉(zhuǎn)發(fā)路徑示意圖;
[0032]圖6為圖1中原DR發(fā)生故障并完成異常處理后,RBridge上的“組播組與路由器端口對應(yīng)關(guān)系表”不意圖;
[0033]圖7為根據(jù)圖6所示的“組播組與路由器端口對應(yīng)關(guān)系表”刷新后的組播轉(zhuǎn)發(fā)表項示意圖;[0034]圖8為本發(fā)明實施例中的Trill組網(wǎng)架構(gòu)示意圖之二 ;
[0035]圖9為圖8中的RBridge上的“組播組與路由器端口對應(yīng)關(guān)系表”示意圖;
[0036]圖10為圖8中的RBridge上的組播轉(zhuǎn)發(fā)表項的示意圖;
[0037]圖11為本發(fā)明實施例提供的大二層網(wǎng)絡(luò)中接入層設(shè)備的結(jié)構(gòu)示意圖;
[0038]圖12為本發(fā)明實施例提供的大二層網(wǎng)絡(luò)中核心層設(shè)備的結(jié)構(gòu)示意圖。
【具體實施方式】
[0039]本發(fā)明實施例提供的組播轉(zhuǎn)發(fā)技術(shù)中,在大二層網(wǎng)絡(luò)的控制平面,各設(shè)備按照組播協(xié)議處理流程處理控制報文,如用以聲明加入組播組的IGMP報告報文、用以聲明離開組播組的IGMP離開組報文,但控制報文在大二層網(wǎng)絡(luò)內(nèi)的轉(zhuǎn)發(fā)仍使用大二層網(wǎng)絡(luò)控制協(xié)議(如Trill)生成的無環(huán)拓撲;大二層網(wǎng)絡(luò)的數(shù)據(jù)轉(zhuǎn)發(fā)平面,不對組播數(shù)據(jù)報文進行大二層協(xié)議封裝,而是根據(jù)組播轉(zhuǎn)發(fā)表項轉(zhuǎn)發(fā)組播數(shù)據(jù)報文。由于數(shù)據(jù)轉(zhuǎn)發(fā)平面對組播數(shù)據(jù)報文不進行大二層網(wǎng)絡(luò)協(xié)議封裝,對于組播數(shù)據(jù)報文不存在大二層網(wǎng)絡(luò)協(xié)議封裝/解封裝和L3組播同時處理的問題。通常,組播組由組播地址和所屬VLAN進行區(qū)分和標(biāo)識。
[0040]下面以數(shù)據(jù)中心內(nèi)的Trill技術(shù)為例,對本發(fā)明實施例所提供的組播數(shù)據(jù)報文轉(zhuǎn)發(fā)技術(shù)方案進行詳細描述,相關(guān)原理同樣適用于其他的大二層組網(wǎng)技術(shù),如Vxlan(virtualExtended VLAN,虛擬擴展VLAN(Virtual Local Area Network,虛擬局域網(wǎng)),IETF 的 draft(草案))、SPB技術(shù)等。
[0041]采用Trill技術(shù)構(gòu)建的數(shù)據(jù)中心大二層網(wǎng)絡(luò),通常分為核心層、接入層。通常,運行Trill協(xié)議的設(shè)備稱為RBridge (即Routing Bridge,具有路由轉(zhuǎn)發(fā)特性的網(wǎng)橋設(shè)備,也稱為路由橋),RBridge構(gòu)成Trill域(即Trill網(wǎng)絡(luò))。RBridge通過運行鏈路狀態(tài)協(xié)議認知Trill域的拓撲,并使用最短路徑樹算法生成從該RBridge到達Trill網(wǎng)絡(luò)內(nèi)的其它各個RBridge的路由轉(zhuǎn)發(fā)表(稱之為Trill路由表)。
[0042]本發(fā)明實施例中,部署Trill域時,在Trill域中的所有RBridge上運行IGSP(IGMP snooping, IGMP窺探,簡稱IGSP)協(xié)議,此外,作為網(wǎng)關(guān)的核心層RBridge,其上還要運行IGMP (Internet Group Management Protocol,互聯(lián)網(wǎng)組管理協(xié)議)協(xié)議和PIM(Protocol Independent Multicast,協(xié)議無關(guān)組播)協(xié)議。核心層RBridge上還要配置以下信息:各組播組的組播源位置信息,即各組播源位于數(shù)據(jù)中心內(nèi)還是位于數(shù)據(jù)中心外。
[0043]核心層RBridge根據(jù)PIM協(xié)議選舉一個DR (Designated Router,指定路由器,),根據(jù)IGMP協(xié)議選舉出IGMP查詢器。本申請將已有DR和IGMP查詢器選舉過程合并于此,不再贅述。
[0044]Trill域中的各Rbridge上還配置有用于通告拓撲信息的控制協(xié)議。核心層RBridge需要將自己的nickname、自身上配置的VLAN信息以及VLAN內(nèi)的組播組信息,自身是否被配置為網(wǎng)關(guān)的信息,以及組播源位置信息在Trill域內(nèi)通告。此外,被選舉為DR的核心層RBridge還要在通告的信息中聲明自己被選舉為DR。以Trill域內(nèi)的各RBridge運行 L2ISIS (Intermediate system tointermediate system,中間系統(tǒng)到中間系統(tǒng))協(xié)議為例,核心層RBridge可通過向Trill域擴散L2ISIS的LSA (鏈路狀態(tài)通知)進行信息通告。當(dāng)然,Trill域內(nèi)的各核心層RBridge也可通過其它控制協(xié)議在Trill域內(nèi)通過上述信息。
[0045]各RBridge根據(jù)通告的信息生成以DR為根、到各RBridge的Trill組播樹,一棵Trill組播樹不會產(chǎn)生環(huán)路。本申請將已有生成Trill組播樹的方式合并于此,不再贅述。
[0046]各RBridge根據(jù)以DR為根的Trill組播樹,計算本RBridge朝向核心層Rbridge一側(cè)的路由器端口(Router Port),其中,對于組播源在數(shù)據(jù)中心內(nèi)的組播組,需要計算朝向DR的路由器端口和朝向所有網(wǎng)關(guān)的路由器端口,對于組播源不在數(shù)據(jù)中心內(nèi)的組播組,可只計算朝向DR的路由器端口。計算Rbridge上“朝向DR的路由器端口 ”的算法為:從DR沿著Trill組播樹向該Rbridge走,到達該Rbridge的端口就是該Rbridge上朝向DR的路由器端口,同理,Rbridge上“朝向所有網(wǎng)關(guān)的路由器端口”也依照此方法計算,這些路由器端口可以全部重疊成一個或者是分開的多個。計算出的路由器端口可采用“組播組與路由器端口對應(yīng)關(guān)系表”的數(shù)據(jù)結(jié)構(gòu)進行存儲,“組播組與路由器端口對應(yīng)關(guān)系表”將作為RBridge生成組播轉(zhuǎn)發(fā)表的依據(jù)。
[0047]在組播加入過程中,Rbridge接收到本設(shè)備所連接的客戶端發(fā)送的IGMP報告報文(該IGMP報告報文沒有Trill封裝)后,對該報文進行Trill封裝,從“朝向DR的路由器端口”轉(zhuǎn)發(fā)該Trill封裝IGMP報告報文,從接收到的IGMP報告報文中解析出所請求加入的組播組,并進行如下處理:
[0048]1.如果不存在該組播組所對應(yīng)的組播轉(zhuǎn)發(fā)表項,則創(chuàng)建組播轉(zhuǎn)發(fā)表項,將IGMP報告報文的接收端口作為成員端口添加到出端口列表中,啟動其老化定時器,并根據(jù)該組播組的組播源位置,在該出端口列表中添加路由器端口 ;其中,如果該組播組的組播源在數(shù)據(jù)中心內(nèi),則將該組播組對應(yīng)的“朝向所有網(wǎng)關(guān)的路由器端口 ”添加到該出端口列表中,如果該組播組的組播源不在數(shù)據(jù)中心內(nèi),則將該組播組對應(yīng)的“朝向DR的路由器端口”添加到該出端口列表中;
[0049]i1.如果已存在該組播組所對應(yīng)的轉(zhuǎn)發(fā)表項,但其出端口列表中不包含該IGMP報告報文的接收端口,則將該IGMP報告報文的接收端口作為成員端口添加到出端口列表中,并啟動其老化定時器;
[0050]ii1.如果已存在該組播組所對應(yīng)的轉(zhuǎn)發(fā)表項,且其出端口列表中已包含該IGMP報告報文的接收端口,則重置其老化定時器。
[0051]在組播加入過程中,Rbridge接收到Trill封裝的IGMP報告報文后,對接收到的報文解Trill封裝,從解封裝得到的IGMP報告報文中解析出所請求加入的組播組,根據(jù)該組播組查詢相應(yīng)組播轉(zhuǎn)發(fā)表項,并根據(jù)查詢結(jié)果按照前述方式進行處理。另外,如果本設(shè)備不是DR,則還要從本設(shè)備朝向DR的路由器端口轉(zhuǎn)發(fā)該Trill封裝的IGMP報告報文;如果本設(shè)備是DR,則還要向數(shù)據(jù)中心外的RP (匯合點)發(fā)送關(guān)于該組播組的PIM加入報文,以觸發(fā)建立數(shù)據(jù)中心外的該組播組的組播源到該DR的組播轉(zhuǎn)發(fā)路徑。
[0052]在組播數(shù)據(jù)轉(zhuǎn)發(fā)過程中,Trill域內(nèi)的各Rbridge根據(jù)組播數(shù)據(jù)報文所屬的組播組,查詢相應(yīng)組播轉(zhuǎn)發(fā)表項,根據(jù)查詢到的組播轉(zhuǎn)發(fā)表項轉(zhuǎn)發(fā)組播數(shù)據(jù)報文。特別的,如果Rbridge收到組播數(shù)據(jù)報文后,未查詢到相應(yīng)組播轉(zhuǎn)發(fā)表項,則需要上送CPU,由CPU生成相應(yīng)組播數(shù)據(jù)轉(zhuǎn)發(fā)表項。其中,在生成組播轉(zhuǎn)發(fā)表項時,如果組播數(shù)據(jù)報文所屬的組播組的組播源在數(shù)據(jù)中心內(nèi),則將該組播組對應(yīng)的“朝向所有網(wǎng)關(guān)的路由器端口 ”配置為該組播組的組播轉(zhuǎn)發(fā)表項的出端口 ;如果組播數(shù)據(jù)報文所屬的組播組的組播源不在數(shù)據(jù)中心內(nèi),則將該組播組對應(yīng)的“朝向DR的路由器端口 ”配置為該組播組的組播轉(zhuǎn)發(fā)表項的出端口。此外,DR接收到組播數(shù)據(jù)報文后,還負責(zé)發(fā)起組播源注冊過程。[0053]通過以上流程可以看出,當(dāng)數(shù)據(jù)中心內(nèi)的組播源發(fā)送組播數(shù)據(jù)報文時,由于該組播數(shù)據(jù)報文的組播源在數(shù)據(jù)中心內(nèi),因此相應(yīng)組播轉(zhuǎn)發(fā)表項中的出端口為本Rbridge上相應(yīng)組播組所對應(yīng)的朝向所有網(wǎng)關(guān)的路由器端口,從而將組播流量引入到各網(wǎng)關(guān)。這樣,雖然RP可能將該組播組的P頂加入報文反向發(fā)送到非DR的網(wǎng)關(guān)上,但是由于組播流量已經(jīng)引到了所有網(wǎng)關(guān),因此無論外部RP的PM加入報文反向發(fā)送到哪個網(wǎng)關(guān)上,該網(wǎng)關(guān)都可以將數(shù)據(jù)中心內(nèi)的組播源流量轉(zhuǎn)發(fā)給數(shù)據(jù)中心外的組播接收客戶端。另外,上述組播數(shù)據(jù)報文的轉(zhuǎn)發(fā)過程中,均無需進行Trill封裝,有效規(guī)避了芯片在一個pipeline中不能同時處理Trill和L3的缺陷,既能實現(xiàn)組播業(yè)務(wù),同時又無需借助L3代理板或額外的L3組播路由器,從而提升了 Trill網(wǎng)絡(luò)的可部署性。
[0054]為了更清楚地說明本發(fā)明實施例,下面以圖1所示的Trill組網(wǎng)架構(gòu)為例,說明本發(fā)明實施例提供的組播數(shù)據(jù)轉(zhuǎn)發(fā)技術(shù)的具體實現(xiàn)過程。
[0055]如圖1所示的Trill組網(wǎng)中,核心層有4個Rbridge (表示為spinel~4),接入層有6個Rbridge (表示為leaf I~6),各spine節(jié)點和各leaf節(jié)點之間全連接。
[0056]spinell均被配 置為網(wǎng)關(guān),各網(wǎng)關(guān)均配置有VLAN1,VLAN1內(nèi)配置有組播組G1、G2、G3。
[0057]Trill域中的所有Rbridge上均配置IGSP協(xié)議,spinef 4上還配置有PM協(xié)議和IGMP協(xié)議。spinell在VLANl內(nèi)選舉唯一的DR,并選舉唯一的IGMP查詢器,這里以spinel被選舉為DR,spine4被選舉為IGMP查詢器為例描述。
[0058]Ieafl上分別連接有組播組Gl的接收客戶端clientl、組播組G2的接收客戶端client2、組播組G3的接收客戶端client3,leaf5上連接有組播組G2的接收客戶端client4, leaf6上連接有組播組Gl的接收客戶端client5。clientl~5均屬于VLANl (表示為VI)。leaf2上連接有組播源(S1,G1,V1)。
[0059]為了方便描述,以下將Ieafl上連接spinel、spine2、spine3、spine4的端口分別命名為 leafl_Pl、lean_P2、lean_P3、leafl_P4,將 leaf2 上連接 spinel、spine2、spine3、spine4 的端口分別命名為 leaf2_P1、leaf2_P2、leaf2_P3、leaf2_P4,以此類推。將 spinel上連接 leafl> leaf2> leaf3> leaf4 的端口分別命名為 spinel_Pl、spinel_P2、spinel_P3、spinel_P4,將 spine2 上連接 leafl、leaf2、leaf3、leaf4 的端口分別命名為 spine2_Pl、spine2_P2、spine2_P3、spine2_P4,以此類推。將 Ieafl 上連接 clientl、client2、client3的端口分別命名為leafl_Pa、leafl_Pb、leafl_Pc,將leaf5上連接client4的端口命名為leaf5_Pa,將 leaf6 上連接 client5 的端口命名為 leaf6_Pa。
[0060]Trill域中的所有Rbridge上還配置有L2ISIS協(xié)議,借助L2ISIS協(xié)議的LSA同步機制,spinel^將其上配置的相關(guān)信息,以LSA形式在Trill域內(nèi)通告,以使Trill域內(nèi)的各Rbridge所維護的鏈路狀態(tài)數(shù)據(jù)庫保持同步。
[0061]在上述信息通告過程中,spinel~4將自己的nickname、是否作為DR、作為哪些VLAN的L3網(wǎng)關(guān),以及VLAN內(nèi)的組播組信息、組播源位置信息(包括組播源所在的VLAN和所屬的組播組,以及組播源是否在數(shù)據(jù)中心內(nèi)等信息)通過L2ISIS的LSA向Trill全網(wǎng)擴散。
[0062]各Rbridge根據(jù)接收到的LSA維護各自的鏈路狀態(tài)數(shù)據(jù)庫,并根據(jù)各自的鏈路狀態(tài)數(shù)據(jù)庫計算以DR的nickname為根的Trill組播樹;然后,根據(jù)該Trill組播樹,對于組播源在數(shù)據(jù)中心內(nèi)的組播組,計算本設(shè)備上朝向DR和朝向所有網(wǎng)關(guān)的路由器端口,對于組播源在數(shù)據(jù)中心外的組播組,計算本設(shè)備上朝向DR的路由器端口。由于針對VLANl所選舉出的DR是唯一的,因此在一個Rbridge上,根據(jù)該Trill組播樹所計算出的各組播組所對應(yīng)的“朝向DR的路由器端口 ”是相同的。
[0063]如圖2所示,以圖中所示的一棵以DR為根的Trill組播樹為例,與本實施例的組播數(shù)據(jù)轉(zhuǎn)發(fā)流程相關(guān)的Rbridge上的“組播組和路由器端口對應(yīng)關(guān)系表”可如下表所示,具體包括:
[0064]表1、spinel上的“組播組和路由器端口對應(yīng)關(guān)系表”
[0065]
【權(quán)利要求】
1.一種組播數(shù)據(jù)報文轉(zhuǎn)發(fā)方法,應(yīng)用于采用大二層網(wǎng)絡(luò)技術(shù)的數(shù)據(jù)中心,該大二層網(wǎng)絡(luò)包含有核心層設(shè)備和接入層設(shè)備,作為網(wǎng)關(guān)的核心層設(shè)備選舉出唯一的指定路由器DR,其特征在于,該方法包括: 接入層設(shè)備接收到組加入報文后,解析出所請求加入的組播組和所屬的虛擬局域網(wǎng)VLAN,根據(jù)解析出的組播組和VLAN查詢相應(yīng)組播轉(zhuǎn)發(fā)表項,并在未查詢到相應(yīng)組播轉(zhuǎn)發(fā)表項時生成相應(yīng)組播轉(zhuǎn)發(fā)表項;對所述組加入報文進行大二層網(wǎng)絡(luò)協(xié)議封裝,從本設(shè)備朝向DR的路由器端口轉(zhuǎn)發(fā)封裝后的組加入報文; 接入層設(shè)備接收到大二層網(wǎng)絡(luò)協(xié)議封裝的組加入報文后進行解封裝,解析出所請求加入的組播組和所屬的VLAN,根據(jù)解析出的組播組和VLAN查詢相應(yīng)組播轉(zhuǎn)發(fā)表項,并在未查詢到相應(yīng)組播轉(zhuǎn)發(fā)表項時生成相應(yīng)組播轉(zhuǎn)發(fā)表項;從本設(shè)備朝向DR的路由器端口轉(zhuǎn)發(fā)所述大二層網(wǎng)絡(luò)協(xié)議封裝的組加入報文; 接入層設(shè)備接收到組播數(shù)據(jù)報文后,根據(jù)該組播數(shù)據(jù)報文所屬的組播組和VLAN查詢相應(yīng)組播轉(zhuǎn)發(fā)表項,根據(jù)查詢到的組播轉(zhuǎn)發(fā)表項轉(zhuǎn)發(fā)組播數(shù)據(jù)報文; 其中,接入層設(shè)備生成相應(yīng)組播轉(zhuǎn)發(fā)表項時,若所請求加入的組播組和所屬的VLAN所對應(yīng)的組播源在數(shù)據(jù)中心內(nèi),則將本設(shè)備朝向所有網(wǎng)關(guān)的路由器端口以及接收組加入報文的成員端口配置為組播轉(zhuǎn)發(fā)表項的出端口,若所請求加入的組播組和所屬VLAN對應(yīng)的組播源不在數(shù)據(jù)中心內(nèi),則將本設(shè)備朝向DR的路由器端口以及接收組加入報文的成員端口配置為組播轉(zhuǎn)發(fā)表項的出端口 ;其中,本設(shè)備朝向DR的路由器端口和朝向所有網(wǎng)關(guān)的路由器端口是根據(jù)以DR為根的組播樹計算得到的。
2.如權(quán)利要求1所述的方法,其特征在于,接入層設(shè)備收到組播數(shù)據(jù)報文之后,若根據(jù)所述組播數(shù)據(jù)報文所屬的組播組和VLAN未查詢到相應(yīng)組播轉(zhuǎn)發(fā)表項,則還包括: 根據(jù)所述組播數(shù)據(jù)報文所屬的組播組和VLAN獲取路由器端口,根據(jù)獲取到的路由器端口轉(zhuǎn)發(fā)所述組播數(shù)據(jù)報文;其中,若所述組播數(shù)據(jù)報文所屬的組播組和VLAN所對應(yīng)的組播源在數(shù)據(jù)中心內(nèi),則獲取本設(shè)備朝向所有網(wǎng)關(guān)`的路由器端口,若所述組播數(shù)據(jù)報文所屬的組播組和VLAN所對應(yīng)的組播源不在數(shù)據(jù)中心內(nèi),則獲取本設(shè)備朝向DR的路由器端口 ; 生成相應(yīng)組播轉(zhuǎn)發(fā)表項,并將獲取到的路由器端口配置為該組播轉(zhuǎn)發(fā)表項的出端口。
3.如權(quán)利要求1所述的方法,其特征在于,該方法還包括: 接入層設(shè)備接收到大二層網(wǎng)絡(luò)協(xié)議封裝的通用組查詢報文后進行解封裝,解析出VLAN信息;其中,所述通用組查詢報文是被選舉為查詢器的核心層設(shè)備根據(jù)所選的VLAN裁剪樹轉(zhuǎn)發(fā)的; 所述接入層設(shè)備根據(jù)解析出的VLAN信息,將解封后的通用組查詢報文向相應(yīng)VLAN內(nèi)的成員端口轉(zhuǎn)發(fā)。
4.如權(quán)利要求1所述的方法,其特征在于,該方法還包括: 接入層設(shè)備接收到組離開報文后,對所述組離開報文進行大二層網(wǎng)絡(luò)協(xié)議封裝,并從本設(shè)備朝向DR的路由器端口轉(zhuǎn)發(fā)大二層網(wǎng)絡(luò)協(xié)議封裝后的組離開報文; 接入層設(shè)備接收到大二層網(wǎng)絡(luò)協(xié)議封裝的組離開報文后,從本設(shè)備朝向DR的路由器端口轉(zhuǎn)發(fā)所述大二層網(wǎng)絡(luò)協(xié)議封裝的組離開報文; 接入層設(shè)備接收到大二層網(wǎng)絡(luò)協(xié)議封裝的特定組查詢報文后進行解封裝,解析出所請求查詢的組播組及其所屬的VLAN,根據(jù)解析出的組播組和VLAN,將解封裝后的特定組查詢報文從相應(yīng)的成員端口轉(zhuǎn)發(fā),若未在設(shè)定長時間內(nèi)從接收組離開報文的成員端口接收到請求加入該組播組的組加入報文,則從所請求離開的組播組及其所屬VLAN對應(yīng)的組播轉(zhuǎn)發(fā)表項出端口列表中刪除接收組離開報文的成員端口 ;若被刪除的成員端口為組播轉(zhuǎn)發(fā)表項出端口列表中的最后一個成員端口,且相應(yīng)組播源不在數(shù)據(jù)中心內(nèi),則刪除該組播轉(zhuǎn)發(fā)表項,若被刪除的成員端口為組播轉(zhuǎn)發(fā)表項出端口列表中的最后一個成員端口,且相應(yīng)組播源在數(shù)據(jù)中心內(nèi),則保留該出端口列表中的路由器端口 ;其中,大二層網(wǎng)絡(luò)協(xié)議封裝的特定組查詢報文是被選舉為DR的核心層設(shè)備在接收到大二層網(wǎng)絡(luò)協(xié)議封裝的組離開報文后,從接收該報文的成員端口發(fā)送的。
5.如權(quán)利要求1所述的方法,其特征在于,該方法還包括: 當(dāng)接入層設(shè)備接收到大二層網(wǎng)絡(luò)中的其它設(shè)備通過控制協(xié)議發(fā)布的大二層網(wǎng)絡(luò)拓撲信息后,更新本地鏈路狀態(tài)數(shù)據(jù)庫,根據(jù)本地鏈路狀態(tài)數(shù)據(jù)庫計算以DR為根的組播樹;其中,被選舉為DR的網(wǎng)關(guān)設(shè)備發(fā)布的拓撲信息中包含自身被選舉為DR的信息、作為網(wǎng)關(guān)的VLAN信息,以及用于表明組播源是否在數(shù)據(jù)中心內(nèi)的組播源位置信息,其它網(wǎng)關(guān)設(shè)備發(fā)布的拓撲信息中包含作為網(wǎng)關(guān)的VLAN信息,以及用于表明組播源是否在數(shù)據(jù)中心內(nèi)的組播源位置信息; 所述接入層設(shè)備根據(jù)計算出的以DR為根的組播樹,為組播源在數(shù)據(jù)中心內(nèi)的組播組計算本設(shè)備朝向DR的路由器端口和朝向所有網(wǎng)關(guān)的路由器端口,為組播源不在數(shù)據(jù)中心內(nèi)的組播組計算本設(shè)備朝向DR的路由器端口。
6.如權(quán)利要求5所述的方法,其特征在于,接入層設(shè)備計算出路由器端口后,還包括: 針對組播源在數(shù)據(jù)中心內(nèi)的組播組,根據(jù)組播組和VLAN對應(yīng)的朝向所有網(wǎng)關(guān)的路由器端口,刷新該組播組和VLAN對應(yīng)的組播轉(zhuǎn)發(fā)表項中的路由器端口 ;針對組播源不在數(shù)據(jù)中心內(nèi)的組播組,根據(jù)組播組和VLAN對應(yīng)的朝向DR的路由器端口,刷新該組播組和VLAN對應(yīng)的組播轉(zhuǎn)發(fā)表 項中的路由器端口。
7.如權(quán)利要求1-6之一所述的方法,其特征在于,所述大二層網(wǎng)絡(luò)為多鏈路透明互聯(lián)Trill網(wǎng)絡(luò)、虛擬擴展VLAN網(wǎng)絡(luò)或最短路徑橋SPB網(wǎng)絡(luò)。
8.一種組播數(shù)據(jù)報文轉(zhuǎn)發(fā)方法,應(yīng)用于采用大二層網(wǎng)絡(luò)技術(shù)的數(shù)據(jù)中心,該大二層網(wǎng)絡(luò)包含有核心層設(shè)備和接入層設(shè)備,其特征在于,該方法包括: 作為網(wǎng)關(guān)的核心層設(shè)備選舉出唯一的指定路由器DR ; 核心層設(shè)備接收到大二層網(wǎng)絡(luò)協(xié)議封裝的組加入報文后進行解封裝,解析出所請求加入的組播組和所屬虛擬局域網(wǎng)VLAN,根據(jù)解析出的組播組和VLAN查詢相應(yīng)組播轉(zhuǎn)發(fā)表項,并在未查找到相應(yīng)組播轉(zhuǎn)發(fā)表項時生成相應(yīng)組播轉(zhuǎn)發(fā)表項;并在本設(shè)備被選舉為DR的情況下,根據(jù)所請求加入的組播組向大二層網(wǎng)絡(luò)外部發(fā)送組加入報文,在本設(shè)備未被選舉為DR的情況下,從本設(shè)備朝向DR的路由器端口轉(zhuǎn)發(fā)所述大二層網(wǎng)絡(luò)協(xié)議封裝的組加入報文; 核心層設(shè)備接收到組播數(shù)據(jù)報文后查詢相應(yīng)組播轉(zhuǎn)發(fā)表項,并根據(jù)查詢到的組播轉(zhuǎn)發(fā)表項轉(zhuǎn)發(fā)組播數(shù)據(jù)報文; 其中,核心層設(shè)備生成相應(yīng)組播轉(zhuǎn)發(fā)表項時,若所請求加入的組播組及其所屬的VLAN所對應(yīng)的組播源在數(shù)據(jù)中心內(nèi),則將本設(shè)備朝向所有網(wǎng)關(guān)的路由器端口以及接收所述組加入報文的成員端口配置為組播轉(zhuǎn)發(fā)表項的出端口,若所請求加入的組播組和所屬VLAN對應(yīng)的組播源不在數(shù)據(jù)中心內(nèi),則將本設(shè)備朝向DR的路由器端口以及接收所述組加入報文的成員端口配置為組播轉(zhuǎn)發(fā)表項的出端口 ;其中,本設(shè)備朝向DR的路由器端口和朝向所有網(wǎng)關(guān)的路由器端口是根據(jù)以DR為根的組播樹計算得到的。
9.如權(quán)利要求8所述的方法,其特征在于,核心層設(shè)備收到組播數(shù)據(jù)報文之后,若未查詢到相應(yīng)組播轉(zhuǎn)發(fā)表項,則還包括: 根據(jù)所述組播數(shù)據(jù)報文所屬的組播組和VLAN,獲取對應(yīng)的路由器端口,根據(jù)獲取到的路由器端口轉(zhuǎn)發(fā)所述組播數(shù)據(jù)報文;其中,若所述組播數(shù)據(jù)報文所屬的組播組和VLAN所對應(yīng)的組播源在數(shù)據(jù)中心內(nèi),則獲取該組播組和VLAN所對應(yīng)的朝向所有網(wǎng)關(guān)的路由器端口,若所述組播數(shù)據(jù)報文所屬的組播組和VLAN所對應(yīng)的組播源不在數(shù)據(jù)中心內(nèi),則獲取該組播組和VLAN所對應(yīng)的朝向DR的路由器端口 ; 生成相應(yīng)組播轉(zhuǎn)發(fā)表項,并將獲取到的路由器端口配置為該組播轉(zhuǎn)發(fā)表項的出端口。
10.如權(quán)利要求8所述的方法,其特征在于,還包括: 被選舉為查詢器的核心層設(shè)備按照設(shè)定周期,根據(jù)所選的VLAN裁剪樹,從該VLAN裁剪樹本設(shè)備上的出端口發(fā)送大二層網(wǎng)絡(luò)協(xié)議封裝的通用組查詢報文。
11.如權(quán)利要求8所述的方法,其特征在于,還包括: 未選舉為DR的核心層設(shè)備接收到大二層網(wǎng)絡(luò)協(xié)議封裝的組離開報文后,將該報文從本設(shè)備朝向DR的路由器端口轉(zhuǎn)發(fā);其中,所述大二層網(wǎng)絡(luò)協(xié)議封裝的組離開報文是接入層設(shè)備從其成員端口接收到組離開報文后向DR發(fā)送的; 選舉為DR的核心層設(shè)備接收到大二層網(wǎng)絡(luò)協(xié)議封裝的組離開報文后進行解封裝,從接收所述組離開報文的成員端口發(fā)送查詢所請求離開的組播組的特定組查詢報文,所述特定組查詢報文采用大二層網(wǎng)絡(luò)`協(xié)議封裝;其中,所述大二層網(wǎng)絡(luò)協(xié)議封裝的組離開報文是接入層設(shè)備從其成員端口接收到組離開報文后向DR發(fā)送的; 選舉為DR的核心層設(shè)備在發(fā)送特定組查詢報文后,若未在設(shè)定長時間內(nèi)從接收相應(yīng)組離開報文的成員端口接收到請求加入相應(yīng)組播組的組加入報文,則從所請求離開的組播組和所屬VLAN所對應(yīng)的組播轉(zhuǎn)發(fā)表項出端口列表中刪除接收組離開報文的成員端口 ;若被刪除的成員端口為組播轉(zhuǎn)發(fā)保險出端口列表中的最后一個成員端口,且相應(yīng)組播源不在數(shù)據(jù)中心內(nèi),則刪除該組播轉(zhuǎn)發(fā)表項,若被刪除的成員端口為組播轉(zhuǎn)發(fā)表項出端口列表中的最后一個成員端口,且相應(yīng)組播源在數(shù)據(jù)中心內(nèi),則保留該出端口列表中的路由器端口。
12.如權(quán)利要求8所述的方法,其特征在于,所述核心層設(shè)備接收到組播數(shù)據(jù)報文后查詢相應(yīng)組播轉(zhuǎn)發(fā)表項,并根據(jù)查詢到的組播轉(zhuǎn)發(fā)表項轉(zhuǎn)發(fā)組播數(shù)據(jù)報文,具體包括: 核心層設(shè)備在接收到組播數(shù)據(jù)報文后,根據(jù)所述組播數(shù)據(jù)報文所屬的組播組查詢相應(yīng)組播轉(zhuǎn)發(fā)表項,若根據(jù)所述組播數(shù)據(jù)報文所屬的組播組查詢到至少2個VLAN內(nèi)的組播轉(zhuǎn)發(fā)表項,則復(fù)制得到與所述至少2個VLAN相應(yīng)數(shù)量的組播數(shù)據(jù)報文,并根據(jù)查詢到的各VLAN內(nèi)的組播轉(zhuǎn)發(fā)表項,分別將復(fù)制得到的組播數(shù)據(jù)報文在相應(yīng)VLAN內(nèi)轉(zhuǎn)發(fā)。
13.如權(quán)利要求8所述的方法,其特征在于,該方法還包括: 核心層設(shè)備通過控制協(xié)議向所述大二層網(wǎng)絡(luò)發(fā)布拓撲信息,其中,選舉為DR的核心層設(shè)備發(fā)布的拓撲信息中包含自身被選舉為DR的指示信息、作為網(wǎng)關(guān)的VLAN信息,以及用于表明組播源是否在數(shù)據(jù)中心內(nèi)的組播源位置信息,其它核心層設(shè)備發(fā)布的拓撲信息中包含作為網(wǎng)關(guān)的VLAN信息,以及用于表明組播源是否在數(shù)據(jù)中心內(nèi)的組播源位置信息; 各核心層設(shè)備接收到的拓撲信息后,更新本地鏈路狀態(tài)數(shù)據(jù)庫,根據(jù)本地鏈路狀態(tài)數(shù)據(jù)庫計算以DR為根的組播樹,根據(jù)計算出的以DR為根的組播樹,為組播源在數(shù)據(jù)中心內(nèi)的組播組計算本設(shè)備朝向DR的路由器端口和朝向所有網(wǎng)關(guān)的路由器端口,為組播源不在數(shù)據(jù)中心內(nèi)的組播組計算本設(shè)備朝向DR的路由器端口。
14.如權(quán)利要求13所述的方法,其特征在于,所述核心層設(shè)備計算出路由器端口后,還包括: 針對組播源在數(shù)據(jù)中心內(nèi)的組播組,根據(jù)組播組和VLAN對應(yīng)的朝向所有網(wǎng)關(guān)的路由器端口,刷新該組播組和VLAN對應(yīng)的組播轉(zhuǎn)發(fā)表項中的路由器端口 ;針對組播源不在數(shù)據(jù)中心內(nèi)的組播組,根據(jù)組播組和VLAN對應(yīng)的朝向DR的路由器端口,刷新該組播組和VLAN對應(yīng)的組播轉(zhuǎn)發(fā)表項中的路由器端口。
15.如權(quán)利要求8-14之一所述的方法,其特征在于,所述大二層網(wǎng)絡(luò)為多鏈路透明互聯(lián)Trill網(wǎng)絡(luò)、虛擬擴展VLAN網(wǎng)絡(luò)或最短路徑橋SPB網(wǎng)絡(luò)。
16.一種大二層網(wǎng)絡(luò)中的接入層設(shè)備,應(yīng)用于采用大二層網(wǎng)絡(luò)技術(shù)的數(shù)據(jù)中心,該大二層網(wǎng)絡(luò)包含有核心層設(shè)備和接入層設(shè)備,作為網(wǎng)關(guān)的核心層設(shè)備選舉出唯一的指定路由器DR,其特征在于,所述接入層設(shè)備包括: 拓撲計算模塊,用于根據(jù)以DR為根的組播樹,為組播源在數(shù)據(jù)中心內(nèi)的組播組,計算本設(shè)備朝向DR的路由器端口和朝向所有網(wǎng)關(guān)的路由器端口,為組播源不在數(shù)據(jù)中心內(nèi)的組播組,計算本設(shè)備朝向DR的路由器端口 ; 組播協(xié)議處理模塊,用于在接收到組加入報文后,解析出所請求加入的組播組和所屬的虛擬局域網(wǎng)VLAN,根據(jù)解析出的組播組和VLAN查詢相應(yīng)組播轉(zhuǎn)發(fā)表項,并在未查詢到相應(yīng)組播轉(zhuǎn)發(fā)表項時指示組播轉(zhuǎn)發(fā)表處理模塊生成相應(yīng)組播轉(zhuǎn)發(fā)表項;對所述組加入報文進行大二層網(wǎng)絡(luò)協(xié)議封裝,從本設(shè)備朝向DR的路由器端口轉(zhuǎn)發(fā)封裝后的組加入報文;以及 在接收到大二層網(wǎng) 絡(luò)協(xié)議封裝的組加入報文后進行解封裝,解析出所請求加入的組播組和所屬的虛擬局域網(wǎng)VLAN,根據(jù)解析出的組播組和VLAN查詢相應(yīng)組播轉(zhuǎn)發(fā)表項,并在未查詢到相應(yīng)組播轉(zhuǎn)發(fā)表項時指示組播轉(zhuǎn)發(fā)表處理模塊生成相應(yīng)組播轉(zhuǎn)發(fā)表項;從本設(shè)備朝向DR的路由器端口轉(zhuǎn)發(fā)所述大二層網(wǎng)絡(luò)協(xié)議封裝的組加入報文; 組播轉(zhuǎn)發(fā)表處理模塊,用于生成組播轉(zhuǎn)發(fā)表項,其中,若所請求加入的組播組和所屬VLAN所對應(yīng)的組播源在數(shù)據(jù)中心內(nèi),則將本設(shè)備朝向所有網(wǎng)關(guān)的路由器端口以及接收組加入報文的成員端口配置為組播轉(zhuǎn)發(fā)表項的出端口,若所請求加入的組播組和所屬VLAN所對應(yīng)的組播源不在數(shù)據(jù)中心內(nèi),則將本設(shè)備朝向DR的路由器端口以及接收組加入報文的成員端口配置為組播轉(zhuǎn)發(fā)表項的出端口; 組播轉(zhuǎn)發(fā)模塊,用于在接收到組播數(shù)據(jù)報文后,根據(jù)該組播數(shù)據(jù)報文所屬的組播組和VLAN查詢相應(yīng)組播轉(zhuǎn)發(fā)表項,并根據(jù)查詢到的組播轉(zhuǎn)發(fā)表項轉(zhuǎn)發(fā)組播數(shù)據(jù)報文。
17.如權(quán)利要求16所述的接入層設(shè)備,其特征在于,所述組播轉(zhuǎn)發(fā)模塊還用于,在收到組播數(shù)據(jù)報文之后,若根據(jù)所述組播數(shù)據(jù)報文所屬的組播組和VLAN未查詢到相應(yīng)組播轉(zhuǎn)發(fā)表項,則根據(jù)所述組播數(shù)據(jù)報文所屬的組播組和VLAN獲取路由器端口,根據(jù)獲取到的路由器端口轉(zhuǎn)發(fā)所述組播數(shù)據(jù)報文,并指示所述組播轉(zhuǎn)發(fā)表處理模塊生成相應(yīng)組播轉(zhuǎn)發(fā)表項;其中,若所述組播數(shù)據(jù)報文所屬的組播組和VLAN所對應(yīng)的組播源在數(shù)據(jù)中心內(nèi),則獲取本設(shè)備朝向所有網(wǎng)關(guān)的路由器端口,若所述組播數(shù)據(jù)報文所屬的組播組和VLAN所對應(yīng)的組播源不在數(shù)據(jù)中心內(nèi),則獲取本設(shè)備朝向DR的路由器端口 ;所述組播轉(zhuǎn)發(fā)表處理模塊還用于,根據(jù)所述組播數(shù)據(jù)報文所屬的組播組和VLAN生成相應(yīng)組播轉(zhuǎn)發(fā)表項,并將所述組播轉(zhuǎn)發(fā)模塊獲取到的路由器端口配置為該組播轉(zhuǎn)發(fā)表項的出端口。
18.如權(quán)利要求16所述的接入層設(shè)備,其特征在于,所述組播協(xié)議處理模塊還用于,接收到大二層網(wǎng)絡(luò)協(xié)議封裝的通用組查詢報文后進行解封裝,解析出VLAN信息,根據(jù)解析出的VLAN信息,將解封后的通用組查詢報文向相應(yīng)VLAN內(nèi)的成員端口轉(zhuǎn)發(fā);其中,所述通用組查詢報文是被選舉為查詢器的核心層設(shè)備根據(jù)所選的VLAN裁剪樹轉(zhuǎn)發(fā)的。
19.如權(quán)利要求16所述的接入層設(shè)備,其特征在于,所述組播協(xié)議處理模塊還用于,在接收到組離開報文后,對所述組離開報文進行大二層網(wǎng)絡(luò)協(xié)議封裝,并從本設(shè)備朝向DR的路由器端口轉(zhuǎn)發(fā)大二層網(wǎng)絡(luò)協(xié)議封裝后的組離開報文;以及 在接收到大二層網(wǎng)絡(luò)協(xié)議封裝的組離開報文后,從本設(shè)備朝向DR的路由器端口轉(zhuǎn)發(fā)所述大二層網(wǎng)絡(luò)協(xié)議封裝的組離開報文;以及 在接收到大二層網(wǎng)絡(luò)協(xié)議封裝的特定組查詢報文后進行解封裝,解析出所請求查詢的組播組及其所屬的VLAN,根據(jù)解析出的組播組和VLAN,將解封裝后的特定組查詢報文從相應(yīng)的成員端口轉(zhuǎn)發(fā),若未在設(shè)定長時間內(nèi)從接收組離開報文的成員端口接收到請求加入該組播組的組加入報文,則指示所述組播轉(zhuǎn)發(fā)表處理模塊從所請求離開的組播組和所屬VLAN所對應(yīng)的組播轉(zhuǎn)發(fā)表項出端口列表中刪除接收組離開報文的成員端口 ;若被刪除的成員端口為組播轉(zhuǎn)發(fā)表項出端口列表中的最后一個成員端口,且相應(yīng)組播源不在數(shù)據(jù)中心內(nèi),則指示所述組播轉(zhuǎn)發(fā)表處理模塊刪除該組播轉(zhuǎn)發(fā)表項,若被刪除的成員端口為組播轉(zhuǎn)發(fā)表項出端口列表中的最后一個成員端口,且相應(yīng)組播源在數(shù)據(jù)中心內(nèi),則指示所述組播轉(zhuǎn)發(fā)表處理模塊保留該出端口列表中的路由器端口 ;其中,大二層網(wǎng)絡(luò)協(xié)議封裝的特定組查詢報文是被選舉為DR的核心層設(shè)備在接收到大二層網(wǎng)絡(luò)協(xié)議封裝的組離開報文后,從接收該報文的成員端口發(fā)送的,所述特定組查詢報文用于查詢所述所請求離開的組播組。
20.如權(quán)利要求16所述的接入層設(shè)備,其特征在于,所述拓撲計算模塊還用于,當(dāng)接收到大二層網(wǎng)絡(luò)中的其它設(shè)備 通過控制協(xié)議發(fā)布的大二層網(wǎng)絡(luò)拓撲信息后,更新本地鏈路狀態(tài)數(shù)據(jù)庫,根據(jù)本地鏈路狀態(tài)數(shù)據(jù)庫計算以DR為根的組播樹,根據(jù)計算出的以DR為根的組播樹,為組播源在數(shù)據(jù)中心內(nèi)的組播組計算本設(shè)備朝向DR的路由器端口和朝向所有網(wǎng)關(guān)的路由器端口,為組播源不在數(shù)據(jù)中心內(nèi)的組播組計算本設(shè)備朝向DR的路由器端口 ;其中,被選舉為DR的網(wǎng)關(guān)設(shè)備發(fā)布的拓撲信息中包含自身被選舉為DR的信息、作為網(wǎng)關(guān)的VLAN信息,以及用于表明組播源是否在數(shù)據(jù)中心內(nèi)的組播源位置信息,其它網(wǎng)關(guān)設(shè)備發(fā)布的拓撲信息中包含作為網(wǎng)關(guān)的VLAN信息,以及用于表明組播源是否在數(shù)據(jù)中心內(nèi)的組播源位置信息。
21.如權(quán)利要求20所述的接入層設(shè)備,其特征在于,所述組播轉(zhuǎn)發(fā)表處理模塊還用于,在所述拓撲計算模塊計算出路由器端口后,針對組播源在數(shù)據(jù)中心內(nèi)的組播組,根據(jù)組播組和VLAN對應(yīng)的朝向所有網(wǎng)關(guān)的路由器端口,刷新該組播組和VLAN對應(yīng)的組播轉(zhuǎn)發(fā)表項中的路由器端口 ;針對組播源不在數(shù)據(jù)中心內(nèi)的組播組,根據(jù)組播組和VLAN對應(yīng)的朝向DR的路由器端口,刷新該組播組和VLAN對應(yīng)的組播轉(zhuǎn)發(fā)表項中的路由器端口。
22.如權(quán)利要求16-21之一所述的接入層設(shè)備,其特征在于,所述接入層設(shè)備應(yīng)用于多鏈路透明互聯(lián)Trill網(wǎng)絡(luò)、虛擬擴展VLAN網(wǎng)絡(luò)或最短路徑橋SPB網(wǎng)絡(luò)。
23.—種大二層網(wǎng)絡(luò)中的核心層設(shè)備,應(yīng)用于采用大二層網(wǎng)絡(luò)技術(shù)的數(shù)據(jù)中心,該大二層網(wǎng)絡(luò)包含有核心層設(shè)備和接入層設(shè)備,其特征在于,所述核心層設(shè)備包括: 拓撲計算模塊,用于根據(jù)以指定路由器DR為根的組播樹,為組播源在數(shù)據(jù)中心內(nèi)的組播組,計算本設(shè)備朝向DR的路由器端口和朝向所有網(wǎng)關(guān)的路由器端口,為組播源不在數(shù)據(jù)中心內(nèi)的組播組,計算本設(shè)備朝向DR的路由器端口 ; 組播協(xié)議處理模塊,用于選舉唯一的DR;以及,在接收到大二層網(wǎng)絡(luò)協(xié)議封裝的組加入報文后進行解封裝,解析出所請求加入的組播組和所屬虛擬局域網(wǎng)VLAN,根據(jù)解析出的組播組和VLAN查詢相應(yīng)組播轉(zhuǎn)發(fā)表項,并在未查找到相應(yīng)組播轉(zhuǎn)發(fā)表項時指示組播轉(zhuǎn)發(fā)表處理模塊生成相應(yīng)組播轉(zhuǎn)發(fā)表項;并在本設(shè)備被選舉為DR的情況下,根據(jù)所請求加入的組播組向大二層網(wǎng)絡(luò)外部發(fā)送組加入報文,在本設(shè)備未被選舉為DR的情況下,從本設(shè)備朝向DR的路由器端口轉(zhuǎn)發(fā)所述大二層網(wǎng)絡(luò)協(xié)議封裝的組加入報文; 組播轉(zhuǎn)發(fā)表處理模塊,用于生成相應(yīng)組播轉(zhuǎn)發(fā)表項,其中,若所請求加入的組播組和所屬VLAN所對應(yīng)的組播源在數(shù)據(jù)中心內(nèi),則將本設(shè)備朝向所有網(wǎng)關(guān)的路由器端口以及接收所述組加入報文的成員端口配置為組播轉(zhuǎn)發(fā)表項的出端口,若所請求加入的組播組和所屬VLAN所對應(yīng)的組播源不在數(shù)據(jù)中心內(nèi),則將本設(shè)備朝向DR的路由器端口以及接收所述組加入報文的成員端口配置為組播轉(zhuǎn)發(fā)表項的出端口; 組播轉(zhuǎn)發(fā)模塊,用于在接收到組播數(shù)據(jù)報文后查詢相應(yīng)組播轉(zhuǎn)發(fā)表項,并根據(jù)查詢到的組播轉(zhuǎn)發(fā)表項轉(zhuǎn)發(fā)組播數(shù)據(jù)報文。
24.如權(quán)利要求23所述的核心層設(shè)備,其特征在于,所述組播轉(zhuǎn)發(fā)模塊還用于,在收到組播數(shù)據(jù)報文之后,若未查詢到相應(yīng)組播轉(zhuǎn)發(fā)表項,則根據(jù)所述組播數(shù)據(jù)報文所屬的組播組和VLAN,獲取對應(yīng)的路由器端口,根據(jù)獲取到的路由器端口轉(zhuǎn)發(fā)所述組播數(shù)據(jù)報文,并指示所述組播轉(zhuǎn)發(fā)表處理模塊生成相應(yīng)組播轉(zhuǎn)發(fā)表項;其中,若所述組播數(shù)據(jù)報文所屬的組播組和VLAN所對應(yīng)的組播源在數(shù)據(jù)中心內(nèi),則獲取該組播組和VLAN對應(yīng)的朝向所有網(wǎng)關(guān)的路由器端口,若所述組播`數(shù)據(jù)報文所屬的組播組和VLAN所對應(yīng)的組播源不在數(shù)據(jù)中心內(nèi),則獲取該組播組和VLAN對應(yīng)的朝向DR的路由器端口 ; 所述組播轉(zhuǎn)發(fā)表處理模塊還用于,根據(jù)所述組播數(shù)據(jù)報文所屬的組播組和VLAN生成相應(yīng)組播轉(zhuǎn)發(fā)表項,并將所述組播轉(zhuǎn)發(fā)模塊獲取到的路由器端口配置為該組播轉(zhuǎn)發(fā)表項的出端口。
25.如權(quán)利要求23所述的核心層設(shè)備,其特征在于,所述組播協(xié)議處理模塊還用于,在本設(shè)備被選舉為查詢器的情況下,按照設(shè)定周期,根據(jù)所選的VLAN裁剪樹,從該VLAN裁剪樹本設(shè)備上的出端口發(fā)送大二層網(wǎng)絡(luò)協(xié)議封裝的通用組查詢報文。
26.如權(quán)利要求23所述的核心層設(shè)備,其特征在于,所述組播協(xié)議處理模塊還用于,在本設(shè)備未被選舉為DR的情況下,在接收到大二層網(wǎng)絡(luò)協(xié)議封裝的組離開報文后,將該報文從本設(shè)備朝向DR的路由器端口轉(zhuǎn)發(fā);其中,所述大二層網(wǎng)絡(luò)協(xié)議封裝的組離開報文是接入層設(shè)備從其成員端口接收到組離開報文后向DR發(fā)送的;以及 在本設(shè)備被選舉為DR的情況下,在接收到大二層網(wǎng)絡(luò)協(xié)議封裝的組離開報文后進行解封裝,從接收所述組離開報文的成員端口發(fā)送查詢所請求離開的組播組的特定組查詢報文,所述特定組查詢報文采用大二層網(wǎng)絡(luò)協(xié)議封裝;其中,所述大二層網(wǎng)絡(luò)協(xié)議封裝的組離開報文是接入層設(shè)備從其成員端口接收到組離開報文后向DR發(fā)送的;以及在本設(shè)備被選舉為DR的情況下,在發(fā)送特定組查詢報文后,若未在設(shè)定長時間內(nèi)從接收相應(yīng)組離開報文的成員端口接收到請求加入相應(yīng)組播組的組加入報文,則指示所述組播轉(zhuǎn)發(fā)表處理模塊從所請求離開的組播組和所屬VLAN所對應(yīng)的組播轉(zhuǎn)發(fā)表項出端口列表中刪除接收組離開報文的成員端口;若被刪除的成員端口為組播轉(zhuǎn)發(fā)表項出端口列表中的最后一個成員端口,且相應(yīng)組播源不在數(shù)據(jù)中心內(nèi),則指示所述組播轉(zhuǎn)發(fā)表處理模塊刪除該組播轉(zhuǎn)發(fā)表項,若被刪除的成員端口為組播轉(zhuǎn)發(fā)表項出端口列表中的最后一個成員端口,且相應(yīng)組播源在數(shù)據(jù)中心內(nèi),則指示所述組播轉(zhuǎn)發(fā)表處理模塊保留該出端口列表中的路由器端口。
27.如權(quán)利要求23所述的核心層設(shè)備,其特征在于,所述組播轉(zhuǎn)發(fā)模塊具體用于,在接收到組播數(shù)據(jù)報文后,根據(jù)所述組播數(shù)據(jù)報文所屬的組播組查詢相應(yīng)組播轉(zhuǎn)發(fā)表項,若根據(jù)所述組播數(shù)據(jù)報文所屬的組播組查詢到至少2個VLAN內(nèi)的組播轉(zhuǎn)發(fā)表項,則復(fù)制得到與所述至少2個VLAN相應(yīng)數(shù)量的組播數(shù)據(jù)報文,并根據(jù)查詢到的各VLAN內(nèi)的組播轉(zhuǎn)發(fā)表項,分別將復(fù)制得到的組播數(shù)據(jù)報文在相應(yīng)VLAN內(nèi)轉(zhuǎn)發(fā)。
28.如權(quán)利要求23所述的核心層設(shè)備,其特征在于,所述拓撲計算模塊還用于,通過控制協(xié)議向所述大二層網(wǎng)絡(luò)發(fā)布拓撲信息,其中,在本設(shè)備被選舉為DR的情況下,所發(fā)布的拓撲信息中包含自身被選舉為DR的指示信息、作為網(wǎng)關(guān)的VLAN信息,以及用于表明組播源是否在數(shù)據(jù)中心內(nèi)的組播源位置信息,在本設(shè)備未被選舉為DR的情況下,所發(fā)布的拓撲信息中包含作為網(wǎng)關(guān)的VLAN信息,以及用于表明組播源是否在數(shù)據(jù)中心內(nèi)的組播源位置信息;以及 在接收到的拓撲信息后,更新本地鏈路狀態(tài)數(shù)據(jù)庫,根據(jù)本地鏈路狀態(tài)數(shù)據(jù)庫計算以DR為根的組播樹,根據(jù)計算出的以DR為根的組播樹,為組播源在數(shù)據(jù)中心內(nèi)的組播組計算本設(shè)備朝向DR的路由器端口和朝向所有網(wǎng)關(guān)的路由器端口,為組播源不在數(shù)據(jù)中心內(nèi)的組播組計算本設(shè)備朝向DR的路由器端口。
29.如權(quán)利要求28所述的核心層設(shè)備,其特征在于,所述拓撲計算模塊還用于,在計算出路由器端口后, 指示所述組播轉(zhuǎn)發(fā)表處理模塊刷新組播轉(zhuǎn)發(fā)表; 所述組播轉(zhuǎn)發(fā)表處理模塊還用于,根據(jù)所述拓撲計算模塊的指示,針對組播源在數(shù)據(jù)中心內(nèi)的組播組,根據(jù)組播組和VLAN對應(yīng)的朝向所有網(wǎng)關(guān)的路由器端口,刷新該組播組和VLAN對應(yīng)的組播轉(zhuǎn)發(fā)表項中的路由器端口,針對組播源不在數(shù)據(jù)中心內(nèi)的組播組,根據(jù)組播組和VLAN對應(yīng)的朝向DR的路由器端口,刷新該組播組和VLAN對應(yīng)的組播轉(zhuǎn)發(fā)表項中的路由器端口。
30.如權(quán)利要求23-29之一所述的核心層設(shè)備,其特征在于,所述核心層設(shè)備應(yīng)用于多鏈路透明互聯(lián)Trill網(wǎng)絡(luò)、虛擬擴展VLAN網(wǎng)絡(luò)或最短路徑橋SPB網(wǎng)絡(luò)。
【文檔編號】H04L12/46GK103873373SQ201210539572
【公開日】2014年6月18日 申請日期:2012年12月11日 優(yōu)先權(quán)日:2012年12月11日
【發(fā)明者】宋玉兵, 楊小朋 申請人:杭州華三通信技術(shù)有限公司