組播數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)方法和裝置的制造方法
【專利摘要】本發(fā)明提供一種組播數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)方法和裝置,該方法應(yīng)用在支持互聯(lián)網(wǎng)組管理協(xié)議窺探IGMP Snooping的交換機(jī)上,包括:當(dāng)接收到來自路由器的組播數(shù)據(jù)報(bào)文時(shí),判斷是否從預(yù)設(shè)的二層轉(zhuǎn)發(fā)表中匹配到組播數(shù)據(jù)報(bào)文的目的MAC地址;若匹配到,則從二層轉(zhuǎn)發(fā)表中獲取組播數(shù)據(jù)報(bào)文的目的MAC地址及組播VLAN所在表項(xiàng)的索引值;判斷是否從預(yù)設(shè)的三層轉(zhuǎn)發(fā)表中匹配到二層轉(zhuǎn)發(fā)表中組播數(shù)據(jù)報(bào)文的目的MAC地址所在表項(xiàng)的索引值;當(dāng)匹配到時(shí),基于從三層轉(zhuǎn)發(fā)表中匹配到的索引值對應(yīng)的表項(xiàng),轉(zhuǎn)發(fā)組播數(shù)據(jù)報(bào)文。應(yīng)用本發(fā)明實(shí)施例,將二層轉(zhuǎn)發(fā)和三層轉(zhuǎn)發(fā)結(jié)合轉(zhuǎn)發(fā)組播數(shù)據(jù)報(bào)文,節(jié)省了網(wǎng)絡(luò)帶寬,提高了數(shù)據(jù)傳輸效率,且減輕了路由器的負(fù)載壓力。
【專利說明】
組播數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)方法和裝置
技術(shù)領(lǐng)域
[0001] 本發(fā)明設(shè)及通信技術(shù)領(lǐng)域,尤其設(shè)及一種組播數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)方法和裝置。
【背景技術(shù)】
[0002] 組播是指在IPQnternet Protocol,網(wǎng)絡(luò)之間互連的協(xié)議)網(wǎng)絡(luò)中將數(shù)據(jù)W盡力 傳送的形式發(fā)送到某個(gè)確定的節(jié)點(diǎn)集合(即組播組),其基本思想是:源主機(jī)(即組播源) 只發(fā)送一份數(shù)據(jù),其目的地址為組播組地址;組播組中的所有接收者都可收到同樣的復(fù)制 數(shù)據(jù),并且只有組播組內(nèi)的主機(jī)可W接收該數(shù)據(jù),而其它主機(jī)則不能收到。
[0003] 相關(guān)技術(shù)中,當(dāng)任一個(gè)組播源向處于不同VLAN(Virtual Local Area化twork,虛 擬局域網(wǎng))中的多臺(tái)主機(jī)發(fā)送同一份數(shù)據(jù)時(shí),設(shè)置在組播源和所述多臺(tái)主機(jī)之間的路由器 在接收到數(shù)據(jù)后,需要將數(shù)據(jù)在每個(gè)VLAN內(nèi)均復(fù)制一份,再發(fā)送給下游交換機(jī),由交換機(jī) 將數(shù)據(jù)轉(zhuǎn)發(fā)給每個(gè)VLAN中的主機(jī)。在路由器向下游交換機(jī)發(fā)送數(shù)據(jù)的過程中,由于需要傳 輸多份相同的數(shù)據(jù),從而浪費(fèi)網(wǎng)絡(luò)帶寬,降低數(shù)據(jù)傳輸效率,又增加路由器的負(fù)載壓力。
【發(fā)明內(nèi)容】
[0004] 有鑒于此,本發(fā)明提供一種組播數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)方法和裝置,W減少網(wǎng)絡(luò)帶寬的 耗費(fèi),提高數(shù)據(jù)傳輸效率,減少路由器的負(fù)載壓力。 陽0化]具體地,本發(fā)明是通過如下技術(shù)方案實(shí)現(xiàn)的:
[0006] 根據(jù)本發(fā)明一方面,提供一種組播數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)方法,所述方法應(yīng)用在支持互 聯(lián)網(wǎng)組管理協(xié)議窺探IGMP Snooping的交換機(jī)上,所述方法包括:
[0007] 當(dāng)接收到來自路由器的組播數(shù)據(jù)報(bào)文時(shí),判斷是否從預(yù)設(shè)的二層轉(zhuǎn)發(fā)表中匹配到 所述組播數(shù)據(jù)報(bào)文的目的MC地址,所述二層轉(zhuǎn)發(fā)表包括不同的索引值、不同的組播MC地 址W及組播VLAN的對應(yīng)關(guān)系;
[0008] 若匹配到,則從所述二層轉(zhuǎn)發(fā)表中獲取所述組播數(shù)據(jù)報(bào)文的目的MC地址及組播 VLAN所在表項(xiàng)的索引值;
[0009] 判斷是否從預(yù)設(shè)的=層轉(zhuǎn)發(fā)表中匹配到所述二層轉(zhuǎn)發(fā)表中所述組播數(shù)據(jù)報(bào)文的 目的MC地址所在表項(xiàng)的索引值,所述S層轉(zhuǎn)發(fā)表包括不同的索引值、組播VLAN的子VLAN W及所述子VLAN中的目標(biāo)端口的對應(yīng)關(guān)系;
[0010] 當(dāng)匹配到時(shí),基于從所述=層轉(zhuǎn)發(fā)表中匹配到的索引值對應(yīng)的表項(xiàng),轉(zhuǎn)發(fā)所述組 播數(shù)據(jù)報(bào)文,所述索引值為所述二層轉(zhuǎn)發(fā)表中所述組播數(shù)據(jù)報(bào)文的目的MC地址所在表項(xiàng) 的索引值。
[0011] 根據(jù)本發(fā)明的另一個(gè)方面,提供一種組播數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)裝置,所述裝置應(yīng)用在 支持互聯(lián)網(wǎng)組管理協(xié)議窺探IGMP Snooping的交換機(jī)上,所述裝置包括:
[0012] 第一判斷單元,用于當(dāng)接收到來自路由器的組播數(shù)據(jù)報(bào)文時(shí),判斷是否從預(yù)設(shè)的 二層轉(zhuǎn)發(fā)表中匹配到所述組播數(shù)據(jù)報(bào)文的目的MC地址,所述二層轉(zhuǎn)發(fā)表包括不同的索引 值、不同的組播MAC地址W及組播VLAN的對應(yīng)關(guān)系;
[0013] 第一獲取單元,用于當(dāng)從預(yù)設(shè)的二層轉(zhuǎn)發(fā)表中匹配到所述組播數(shù)據(jù)報(bào)文的目的 MC地址時(shí),從所述二層轉(zhuǎn)發(fā)表中獲取所述組播數(shù)據(jù)報(bào)文的目的MC地址及組播VLAN所在 表項(xiàng)的索引值;
[0014] 第二判斷單元,用于判斷是否從預(yù)設(shè)的=層轉(zhuǎn)發(fā)表中匹配到所述二層轉(zhuǎn)發(fā)表中所 述組播數(shù)據(jù)報(bào)文的目的MC地址對應(yīng)的索引值,所述S層轉(zhuǎn)發(fā)表包括不同的索引值、組播 VLAN的子VLAN W及所述子VLAN中的目標(biāo)端口的對應(yīng)關(guān)系;
[0015] 轉(zhuǎn)發(fā)單元,用于當(dāng)從預(yù)設(shè)的=層轉(zhuǎn)發(fā)表中匹配到所述二層轉(zhuǎn)發(fā)表中所述組播數(shù)據(jù) 報(bào)文的目的MC地址對應(yīng)的索引值時(shí),基于所述S層轉(zhuǎn)發(fā)表中所述索引值對應(yīng)的表項(xiàng),轉(zhuǎn) 發(fā)所述組播數(shù)據(jù)報(bào)文。
[0016] 應(yīng)用本發(fā)明實(shí)施例,在支持互聯(lián)網(wǎng)組管理協(xié)議窺探IGMP Snooping的交換機(jī)中,將 二層轉(zhuǎn)發(fā)和=層轉(zhuǎn)發(fā)結(jié)合,W轉(zhuǎn)發(fā)組播數(shù)據(jù)報(bào)文,路由器只需把組播數(shù)據(jù)報(bào)文在組播VLAN 內(nèi)復(fù)制一份發(fā)送給交換機(jī),而不必為每個(gè)主機(jī)所屬的VLAN都復(fù)制一份,從而節(jié)省了網(wǎng)絡(luò)帶 寬,提高了數(shù)據(jù)傳輸效率,且減輕了路由器的負(fù)載壓力。
【附圖說明】
[0017] 圖1是本發(fā)明一示例性實(shí)施例示出的一種應(yīng)用場景示意圖;
[0018] 圖2是本發(fā)明一示例性實(shí)施例示出的一種組播數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)方法的流程示意 圖;
[0019] 圖3是本發(fā)明一示例性實(shí)施例示出的另一種組播數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)方法的流程示 意圖;
[0020] 圖4是本發(fā)明一示例性實(shí)施例示出的組播數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)裝置的一硬件結(jié)構(gòu)示 意圖;
[0021] 圖5是本發(fā)明一示例性實(shí)施例示出的一種組播數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)裝置的結(jié)構(gòu)框圖;
[0022] 圖6是本發(fā)明一示例性實(shí)施例示出的另一種組播數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)裝置的結(jié)構(gòu)框 圖。
【具體實(shí)施方式】
[0023] 運(yùn)里將詳細(xì)地對示例性實(shí)施例進(jìn)行說明,其示例表示在附圖中。下面的描述設(shè)及 附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。W下示例性實(shí)施例 中所描述的實(shí)施方式并不代表與本發(fā)明相一致的所有實(shí)施方式。相反,它們僅是與如所附 權(quán)利要求書中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。
[0024] 在本發(fā)明使用的術(shù)語是僅僅出于描述特定實(shí)施例的目的,而非旨在限制本發(fā)明。 在本發(fā)明和所附權(quán)利要求書中所使用的單數(shù)形式的"一種"、"所述"和"該"也旨在包括多 數(shù)形式,除非上下文清楚地表示其他含義。還應(yīng)當(dāng)理解,本文中使用的術(shù)語"和/或"是指 并包含一個(gè)或多個(gè)相關(guān)聯(lián)的列出項(xiàng)目的任何或所有可能組合。
[00巧]應(yīng)當(dāng)理解,盡管在本發(fā)明可能采用術(shù)語第一、第二、第=等來描述各種信息,但運(yùn) 些信息不應(yīng)限于運(yùn)些術(shù)語。運(yùn)些術(shù)語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離 本發(fā)明范圍的情況下,第一信息也可W被稱為第二信息,類似地,第二信息也可W被稱為第 一信息。取決于語境,如在此所使用的詞語"如果"可W被解釋成為"在……時(shí)"或"當(dāng)…… 時(shí)"或"響應(yīng)于確定"。
[00%] 圖1是本發(fā)明一示例性實(shí)施例示出的一種應(yīng)用場景示意圖。
[0027] 如圖1所示,包括組播源、路由器、交換機(jī)W及多個(gè)主機(jī),多個(gè)主機(jī)分別為主機(jī) A、主機(jī) B 和主機(jī) C,其中,交換機(jī)上運(yùn)行 IGMP Snoopingdnternet Group Management Protocol Snooping,互聯(lián)網(wǎng)組管理協(xié)議窺探)功能,可W基于IGMP協(xié)議進(jìn)行轉(zhuǎn)發(fā)表(二層 轉(zhuǎn)發(fā)表和=層轉(zhuǎn)發(fā)表)的學(xué)習(xí),基于轉(zhuǎn)發(fā)表對組播數(shù)據(jù)報(bào)文進(jìn)行轉(zhuǎn)發(fā)。具體地,技術(shù)人員可 W預(yù)先通過Web頁面或者命令行配置組播VLAN,W及配置屬于該組播VLAN的組播子VLAN, 組播子VLAN均為用戶VLAN,即一個(gè)組播子VLAN中可能包括一個(gè)或者多個(gè)主機(jī),比如,主機(jī) A在組播子VLAN 2,主機(jī)B在組播子VLAN 3 W及主機(jī)C在組播子VLAN 4,在本發(fā)明實(shí)施例 中,W-個(gè)組播子VLAN中包括一個(gè)主機(jī)為例,如圖中所示,將VLAN 10設(shè)置為組播VLAN,而 VLAN 2、VLAN 3和VLAN 4配置為VLAN 10的子VLAN,基于此,當(dāng)組播源向主機(jī)發(fā)送組播數(shù) 據(jù)報(bào)文時(shí),組播數(shù)據(jù)報(bào)文首先經(jīng)過路由器,路由器根據(jù)報(bào)文的特征信息將組播數(shù)據(jù)報(bào)文發(fā) 送給VLAN 10中的交換機(jī),交換機(jī)接收到組播數(shù)據(jù)報(bào)文后,會(huì)基于其中的二層轉(zhuǎn)發(fā)表和= 層轉(zhuǎn)發(fā)表向各個(gè)主機(jī)轉(zhuǎn)發(fā)組播數(shù)據(jù)報(bào)文。
[0028] 為了使本發(fā)明技術(shù)方案更加清楚易懂,下面將結(jié)合附圖和具體實(shí)施例對本發(fā)明進(jìn) 行詳細(xì)說明。
[0029] 圖2是本發(fā)明一示例性實(shí)施例示出的一種組播數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)方法的流程示意 圖。
[0030] 如圖2所示,一種組播數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)方法,該方法應(yīng)用在支持互聯(lián)網(wǎng)組管理協(xié) 議窺探IGMP Snooping的交換機(jī)上,該方法包括如下步驟:
[0031] 步驟210,接收來自路由器的組播數(shù)據(jù)報(bào)文。
[0032] 步驟220,判斷是否從預(yù)設(shè)的二層轉(zhuǎn)發(fā)表中匹配到組播數(shù)據(jù)報(bào)文的目的MC地址, 其中,二層轉(zhuǎn)發(fā)表包括不同的索引值、不同的組播MC地址W及組播VLAN的對應(yīng)關(guān)系。若 匹配到,執(zhí)行步驟230,反之,執(zhí)行步驟260。
[0033] 步驟230,從二層轉(zhuǎn)發(fā)表中獲取組播數(shù)據(jù)報(bào)文的目的MC地址及組播MC地址所在 表項(xiàng)的索引值。
[0034] 步驟240,判斷是否從預(yù)設(shè)的=層轉(zhuǎn)發(fā)表中匹配到二層轉(zhuǎn)發(fā)表中組播數(shù)據(jù)報(bào)文的 目的MC地址所在表項(xiàng)的索引值,其中,S層轉(zhuǎn)發(fā)表包括不同的索引值、組播VLAN的子VLAN W及子VLAN中的目標(biāo)端口的對應(yīng)關(guān)系。若匹配到,則執(zhí)行步驟250,反之,執(zhí)行步驟260。
[0035] 步驟250,基于從所述=層轉(zhuǎn)發(fā)表中匹配到的索引值對應(yīng)的表項(xiàng),轉(zhuǎn)發(fā)組播數(shù)據(jù)報(bào) 文,結(jié)束當(dāng)前流程。
[0036] 本步驟中所指的索引值為前面所述的二層轉(zhuǎn)發(fā)表中所述組播數(shù)據(jù)報(bào)文的目的MC 地址所在表項(xiàng)的索引值。
[0037] 根據(jù)本發(fā)明一可選實(shí)施例,在步驟250中,可W通過從=層轉(zhuǎn)發(fā)表中匹配到的索 引值對應(yīng)的表項(xiàng),確定該表項(xiàng)中目標(biāo)端口的總個(gè)數(shù),并復(fù)制組播數(shù)據(jù)報(bào)文,復(fù)制后的組播數(shù) 據(jù)報(bào)文的個(gè)數(shù)等于其目標(biāo)端口的總個(gè)數(shù),再向每個(gè)目標(biāo)端口發(fā)送一個(gè)組播數(shù)據(jù)報(bào)文,W通 過目標(biāo)端口將組播數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)至目標(biāo)主機(jī)。
[0038] 步驟260,向目的MC地址對應(yīng)的主機(jī)發(fā)送查詢報(bào)文,并接收主機(jī)返回的IGMP報(bào) 文,分析IGMP報(bào)文W建立相應(yīng)的=層轉(zhuǎn)發(fā)表和二層轉(zhuǎn)發(fā)表。結(jié)束當(dāng)前流程
[0039] 在步驟260中,由于交換機(jī)運(yùn)行IGMP Snooping功能,可W對接收到的IGMP分析 從而進(jìn)行轉(zhuǎn)發(fā)表表項(xiàng)學(xué)習(xí),進(jìn)而學(xué)習(xí)建立=層轉(zhuǎn)發(fā)表和二層轉(zhuǎn)發(fā)表。
[0040] 圖3是本發(fā)明一示例性實(shí)施例示出的另一種組播數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)方法的流程示 意圖。
[0041] 根據(jù)本發(fā)明一可選實(shí)施例,如圖3所示,步驟260可W包括如下步驟:
[0042] 步驟261,接收來自主機(jī)的IGMP報(bào)文。
[0043] 步驟262,通過分析IGMP報(bào)文,獲取主機(jī)所屬的VLAN,W及交換機(jī)中用于接收IGMP 報(bào)文的端口的標(biāo)志信息,標(biāo)志信息可W包括端口號(hào)。
[0044] 步驟263,將主機(jī)所屬的VLAN W及端口的標(biāo)志信息存入=層轉(zhuǎn)發(fā)表的表項(xiàng)中,其 中,=層轉(zhuǎn)發(fā)表的每個(gè)表項(xiàng)都包括索引值。
[0045] 在本步驟中,可W判斷=層轉(zhuǎn)發(fā)表中是否已包括組播VLAN的其他子VLAN,若是, 則在組播VLAN的其他子VLAN所在表項(xiàng)中存入主機(jī)所屬的VLAN W及端口的標(biāo)志信息,反 之,則將主機(jī)所屬的VLAN W及端口的標(biāo)志信息存入S層轉(zhuǎn)發(fā)表的任一空表項(xiàng)中。在此舉例 來說,若組播VLAN的子VLAN包括VLAN 2、VLAN 3和VLAN 4,假設(shè)發(fā)送IGMP報(bào)文的主機(jī)在 VLAN 2中,且交換機(jī)中接收該IGMP報(bào)文的端口為pod3,=層轉(zhuǎn)發(fā)表中已包括組播VLAN的 其他子VLAN,如表1所示:
[0046] 表 1
[0047]
[0048] 從表1中可W看出,在S層轉(zhuǎn)發(fā)表中包括一個(gè)與VLAN 2同屬于一個(gè)組播VLAN的 其他子VLAN(VLAN 3和VLAN 4),W及VLAN 3和VLAN 4對應(yīng)的目標(biāo)端口(IGMP報(bào)文的端 口)的標(biāo)志信息的表項(xiàng),因此,可W將VLAN2 W及其目標(biāo)端口(IGMP報(bào)文的端口)的標(biāo)志信 息添加到表項(xiàng)中,添加后的表項(xiàng)如表2所示:
[0049] 表 2 陽化0]
[0051] 步驟264,獲取S層轉(zhuǎn)發(fā)表中存儲(chǔ)主機(jī)所屬的VLAN W及交換機(jī)中接收IGMP報(bào)文的 端口的標(biāo)志信息對應(yīng)表項(xiàng)的索引值。 陽05引步驟265,將索引值、主機(jī)所屬的VLAN所屬的組播VLAN W及IGMP報(bào)文的組播MC 地址存入二層轉(zhuǎn)發(fā)表的表項(xiàng)中。
[0053] 下面對建立二層轉(zhuǎn)發(fā)表的過程進(jìn)行舉例說明,獲取表2所示表項(xiàng)的索引值"1",其 中,獲取主機(jī)所屬的VLAN 2的組播VLAN,即VLAN 10, W及獲取IGMP報(bào)文的組播MAC地址, 比如,OOl20E02434,將運(yùn)些信息存入二層轉(zhuǎn)發(fā)表的表項(xiàng),如表3所示:
[0054] 表 3 陽化引
[0056] 綜上,通過步驟261~步驟265建立二層轉(zhuǎn)發(fā)表和=層轉(zhuǎn)發(fā)表,基于二層轉(zhuǎn)發(fā)表和 =層轉(zhuǎn)發(fā)表,交換機(jī)在接收到組播數(shù)據(jù)報(bào)文時(shí),可W根據(jù)前述步驟210~步驟250對組播數(shù) 據(jù)報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
[0057] 應(yīng)用本發(fā)明實(shí)施例,在支持互聯(lián)網(wǎng)組管理協(xié)議窺探IGMP Snooping的交換機(jī)中,將 二層轉(zhuǎn)發(fā)和=層轉(zhuǎn)發(fā)結(jié)合,W轉(zhuǎn)發(fā)組播數(shù)據(jù)報(bào)文,路由器只需把組播數(shù)據(jù)報(bào)文在組播VLAN 內(nèi)復(fù)制一份發(fā)送給交換機(jī),而不必在每個(gè)主機(jī)所屬的VLAN內(nèi)都復(fù)制一份,從而節(jié)省了網(wǎng)絡(luò) 帶寬,提高了數(shù)據(jù)傳輸效率,且減輕了路由器的負(fù)載壓力。
[0058] 與前述組播數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)方法的實(shí)施例相對應(yīng),本發(fā)明還提供了組播數(shù)據(jù)報(bào)文 的轉(zhuǎn)發(fā)裝置的實(shí)施例。
[0059] 本發(fā)明組播數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)裝置400的實(shí)施例可W應(yīng)用交換機(jī)上。裝置實(shí)施例可 W通過軟件實(shí)現(xiàn),也可W通過硬件或者軟硬件結(jié)合的方式實(shí)現(xiàn)。W軟件實(shí)現(xiàn)為例,作為一個(gè) 邏輯意義上的裝置,是通過其所在交換機(jī)的處理器將非易失性存儲(chǔ)器中對應(yīng)的計(jì)算機(jī)程序 指令讀取到內(nèi)存中運(yùn)行形成的。從硬件層面而言,如圖4所示,為本發(fā)組播數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā) 裝置所在設(shè)備的一種硬件結(jié)構(gòu)圖,除了圖4所示的處理器、內(nèi)存、網(wǎng)絡(luò)接口、W及非易失性 存儲(chǔ)器之外,實(shí)施例中裝置所在的設(shè)備通常根據(jù)該設(shè)備的實(shí)際功能,還可W包括其他硬件, 對此不再寶述。
[0060] 圖5是本發(fā)明一示例性實(shí)施例示出的組播數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)裝置的結(jié)構(gòu)框圖。
[0061] 如圖5所示,一種組播數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)裝置400,應(yīng)用在支持互聯(lián)網(wǎng)組管理協(xié)議窺 探IGMP Snooping的交換機(jī)上,該裝置包括第一判斷單元401、第一獲取單元402、第二判斷 單元403化及轉(zhuǎn)發(fā)單元404。
[0062] 第一判斷單元401用于當(dāng)接收到來自路由器的組播數(shù)據(jù)報(bào)文時(shí),判斷是否從預(yù)設(shè) 的二層轉(zhuǎn)發(fā)表中匹配到組播數(shù)據(jù)報(bào)文的目的MC地址,其中,二層轉(zhuǎn)發(fā)表包括不同的索引 值、不同的組播MAC地址W及組播VLAN的對應(yīng)關(guān)系。
[0063] 第一獲取單元402用于當(dāng)從預(yù)設(shè)的二層轉(zhuǎn)發(fā)表中匹配到組播數(shù)據(jù)報(bào)文的目的MC 地址時(shí),從二層轉(zhuǎn)發(fā)表中獲取組播數(shù)據(jù)報(bào)文的目的MC地址及組播VLAN所在表項(xiàng)的索引 值。
[0064] 第二判斷單元403用于判斷是否從預(yù)設(shè)的=層轉(zhuǎn)發(fā)表中匹配到二層轉(zhuǎn)發(fā)表中組 播數(shù)據(jù)報(bào)文的目的MC地址對應(yīng)的索引值,其中,S層轉(zhuǎn)發(fā)表包括不同的索引值、組播VLAN 的子VLAN W及所述子VLAN中的目標(biāo)端口的對應(yīng)關(guān)系。
[0065] 轉(zhuǎn)發(fā)單元404用于當(dāng)從預(yù)設(shè)的=層轉(zhuǎn)發(fā)表中匹配到二層轉(zhuǎn)發(fā)表中組播數(shù)據(jù)報(bào)文 的目的MC地址對應(yīng)的索引值時(shí),基于S層轉(zhuǎn)發(fā)表中索引值對應(yīng)的表項(xiàng),轉(zhuǎn)發(fā)所述組播數(shù) 據(jù)報(bào)文。
[0066] 根據(jù)本發(fā)明一可選實(shí)施例,轉(zhuǎn)發(fā)單元404可W包括確定子單元、復(fù)制子單元W及 發(fā)送子單元。
[0067] 確定子單元用于通過=層轉(zhuǎn)發(fā)表中索引值對應(yīng)的表項(xiàng),確定該表項(xiàng)中的目標(biāo)端口 的總個(gè)數(shù)。
[0068] 復(fù)制子單元用于對組播數(shù)據(jù)報(bào)文進(jìn)行復(fù)制處理,復(fù)制處理后的組播數(shù)據(jù)報(bào)文的個(gè) 數(shù)等于表項(xiàng)中的目標(biāo)端口的總個(gè)數(shù)。
[0069] 發(fā)送子單元用于向每個(gè)目標(biāo)端口發(fā)送一個(gè)組播數(shù)據(jù)報(bào)文,W通過表項(xiàng)中的目標(biāo)端 口將組播數(shù)據(jù)報(bào)文發(fā)送至目標(biāo)主機(jī)。
[0070] 圖6是本發(fā)明一示例性實(shí)施例示出的另一種組播數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)裝置的結(jié)構(gòu)框 圖。
[0071] 如圖6所示,根據(jù)本發(fā)明的另一可選實(shí)施例,一種組播數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)裝置400還 可W包括接收單元405、第二獲取單元406 W及第一存儲(chǔ)單元407。
[0072] 接收單元405用于接收來自主機(jī)的IGMP報(bào)文,第二獲取單元406用于通過分析 IGMP報(bào)文,獲取主機(jī)所屬的VLAN,W及獲取交換機(jī)中用于接收IGMP報(bào)文的端口,第一存儲(chǔ) 單元407用于將主機(jī)所屬的VLAN W及端口的端口號(hào)標(biāo)志信息存入=層轉(zhuǎn)發(fā)表的表項(xiàng)中。
[0073] 根據(jù)本發(fā)明一可選實(shí)施例,第一存儲(chǔ)單元407還可W包括判斷子單元、第一存儲(chǔ) 子單元W及第二存儲(chǔ)子單元。其中,判斷子單元用于判斷=層轉(zhuǎn)發(fā)表是否包括組播VLAN的 其他子VLAN,第一存儲(chǔ)子單元用于當(dāng)判斷子單元確定=層轉(zhuǎn)發(fā)表是否包括組播VLAN的其 他子VLAN時(shí),在組播VLAN的其他子VLAN所在表項(xiàng)中存入主機(jī)所屬的VLAN W及端口的標(biāo) 志信息,而第二存儲(chǔ)子單元用于當(dāng)=層轉(zhuǎn)發(fā)表是否包括組播VLAN的其他子VLAN時(shí),將主機(jī) 所屬的VLAN W及端口的標(biāo)志信息存入=層轉(zhuǎn)發(fā)表的任一空表項(xiàng)中。
[0074] 根據(jù)本發(fā)明的另一可選實(shí)施例,通過上述實(shí)施例中各個(gè)單元建立的=層轉(zhuǎn)發(fā)表, 其每個(gè)表項(xiàng)可W包括相應(yīng)的索引值,基于上述實(shí)施例,種組播數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)裝置400還 可W包括第=獲取單元和第二存儲(chǔ)單元,其中,第=獲取單元用于獲取=層轉(zhuǎn)發(fā)表中存儲(chǔ) 主機(jī)所屬的VLAN W及交換機(jī)中接收IGMP報(bào)文的端口的表項(xiàng)的索引值,第二存儲(chǔ)單元用于 將索引值、主機(jī)所屬的VLAN所屬的組播VLAN W及IGMP報(bào)文的組播MC地址存入二層轉(zhuǎn)發(fā) 表的表項(xiàng)中。
[00巧]上述裝置中各個(gè)單元的功能和作用的實(shí)現(xiàn)過程具體詳見上述方法中對應(yīng)步驟的 實(shí)現(xiàn)過程,在此不再寶述。
[0076] 對于裝置實(shí)施例而言,由于其基本對應(yīng)于方法實(shí)施例,所W相關(guān)之處參見方法實(shí) 施例的部分說明即可。W上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件 說明的單元可W是或者也可W不是物理上分開的,作為單元顯示的部件可W是或者也可W 不是物理單元,即可W位于一個(gè)地方,或者也可W分布到多個(gè)網(wǎng)絡(luò)單元上??蒞根據(jù)實(shí)際的 需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本發(fā)明方案的目的。本領(lǐng)域普通技術(shù)人員在不付 出創(chuàng)造性勞動(dòng)的情況下,即可W理解并實(shí)施。
[0077] W上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用W限制本發(fā)明,凡在本發(fā)明的精 神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
【主權(quán)項(xiàng)】
1. 一種組播數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)方法,其特征在于,所述方法應(yīng)用在支持互聯(lián)網(wǎng)組管理協(xié) 議窺探IGMP Snooping的交換機(jī)上,所述方法包括: 當(dāng)接收到來自路由器的組播數(shù)據(jù)報(bào)文時(shí),判斷是否從預(yù)設(shè)的二層轉(zhuǎn)發(fā)表中匹配到所述 組播數(shù)據(jù)報(bào)文的目的MAC地址,所述二層轉(zhuǎn)發(fā)表包括不同的索引值、不同的組播MAC地址以 及組播VLAN的對應(yīng)關(guān)系; 若匹配到,則從所述二層轉(zhuǎn)發(fā)表中獲取所述組播數(shù)據(jù)報(bào)文的目的MAC地址及組播VLAN 所在表項(xiàng)的索引值; 判斷是否從預(yù)設(shè)的三層轉(zhuǎn)發(fā)表中匹配到所述二層轉(zhuǎn)發(fā)表中所述組播數(shù)據(jù)報(bào)文的目的 MAC地址所在表項(xiàng)的索引值,所述三層轉(zhuǎn)發(fā)表包括不同的索引值、組播VLAN的子VLAN以及 所述子VLAN中的目標(biāo)端口的對應(yīng)關(guān)系; 當(dāng)匹配到時(shí),基于從所述三層轉(zhuǎn)發(fā)表中匹配到的索引值對應(yīng)的表項(xiàng),轉(zhuǎn)發(fā)所述組播數(shù) 據(jù)報(bào)文,所述索引值為所述二層轉(zhuǎn)發(fā)表中所述組播數(shù)據(jù)報(bào)文的目的MAC地址所在表項(xiàng)的索 引值。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基于從所述三層轉(zhuǎn)發(fā)表中匹配到的 索引值對應(yīng)的表項(xiàng),轉(zhuǎn)發(fā)所述組播數(shù)據(jù)報(bào)文,包括: 通過從所述三層轉(zhuǎn)發(fā)表中匹配到的索引值對應(yīng)的表項(xiàng),確定該表項(xiàng)中目標(biāo)端口的總個(gè) 數(shù); 對所述組播數(shù)據(jù)報(bào)文進(jìn)行復(fù)制處理,復(fù)制處理后的組播數(shù)據(jù)報(bào)文的個(gè)數(shù)等于所述表項(xiàng) 中的目標(biāo)端口的總個(gè)數(shù); 向每個(gè)目標(biāo)端口發(fā)送一個(gè)組播數(shù)據(jù)報(bào)文,以通過所述表項(xiàng)中的目標(biāo)端口將組播數(shù)據(jù)報(bào) 文轉(zhuǎn)發(fā)至目標(biāo)主機(jī)。3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 接收來自主機(jī)的IGMP報(bào)文; 通過分析所述IGMP報(bào)文,獲取所述主機(jī)所屬的VLAN,以及獲取所述交換機(jī)中用于接收 所述IGMP報(bào)文的端口的標(biāo)志信息; 將所述主機(jī)所屬的VLAN以及所述端口的標(biāo)志信息存入所述三層轉(zhuǎn)發(fā)表的表項(xiàng)中。4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述將所述主機(jī)所屬的VLAN以及所述端 口的標(biāo)志信息存入所述三層轉(zhuǎn)發(fā)表的表項(xiàng)中,包括: 判斷所述三層轉(zhuǎn)發(fā)表是否包括所述組播VLAN的其他子VLAN ; 若是,則在所述組播VLAN的其他子VLAN所在表項(xiàng)中存入所述主機(jī)所屬的VLAN以及所 述端口的標(biāo)志信息; 若否,則將所述主機(jī)所屬的VLAN以及所述端口的標(biāo)志信息存入所述三層轉(zhuǎn)發(fā)表的任 一空表項(xiàng)中。5. 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述三層轉(zhuǎn)發(fā)表的每個(gè)表項(xiàng)還包括索引 值, 所述方法還包括: 獲取所述三層轉(zhuǎn)發(fā)表中存儲(chǔ)所述主機(jī)所屬的VLAN以及所述交換機(jī)中接收所述IGMP報(bào) 文的端口的標(biāo)志信息對應(yīng)表項(xiàng)的索引值; 將所述索引值、所述主機(jī)所屬的VLAN所屬的組播VLAN以及所述IGMP報(bào)文的組播MAC 地址存入所述二層轉(zhuǎn)發(fā)表的表項(xiàng)中。6. -種組播數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)裝置,其特征在于,所述裝置應(yīng)用在支持互聯(lián)網(wǎng)組管理協(xié) 議窺探IGMP Snooping的交換機(jī)上,所述裝置包括: 第一判斷單元,用于當(dāng)接收到來自路由器的組播數(shù)據(jù)報(bào)文時(shí),判斷是否從預(yù)設(shè)的二層 轉(zhuǎn)發(fā)表中匹配到所述組播數(shù)據(jù)報(bào)文的目的MAC地址,所述二層轉(zhuǎn)發(fā)表包括不同的索引值、 不同的組播MAC地址以及組播VLAN的對應(yīng)關(guān)系; 第一獲取單元,用于當(dāng)從預(yù)設(shè)的二層轉(zhuǎn)發(fā)表中匹配到所述組播數(shù)據(jù)報(bào)文的目的MAC地 址時(shí),從所述二層轉(zhuǎn)發(fā)表中獲取所述組播數(shù)據(jù)報(bào)文的目的MAC地址及組播VLAN所在表項(xiàng)的 索引值; 第二判斷單元,用于判斷是否從預(yù)設(shè)的三層轉(zhuǎn)發(fā)表中匹配到所述二層轉(zhuǎn)發(fā)表中所述組 播數(shù)據(jù)報(bào)文的目的MAC地址對應(yīng)的索引值,所述三層轉(zhuǎn)發(fā)表包括不同的索引值、組播VLAN 的子VLAN以及所述子VLAN中的目標(biāo)端口的對應(yīng)關(guān)系; 轉(zhuǎn)發(fā)單元,用于當(dāng)從預(yù)設(shè)的三層轉(zhuǎn)發(fā)表中匹配到所述二層轉(zhuǎn)發(fā)表中所述組播數(shù)據(jù)報(bào)文 的目的MAC地址對應(yīng)的索引值時(shí),基于所述三層轉(zhuǎn)發(fā)表中所述索引值對應(yīng)的表項(xiàng),轉(zhuǎn)發(fā)所 述組播數(shù)據(jù)報(bào)文。7. 根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述轉(zhuǎn)發(fā)單元包括: 確定子單元,用于通過所述三層轉(zhuǎn)發(fā)表中所述索引值對應(yīng)的表項(xiàng),確定該表項(xiàng)中的目 標(biāo)端口的總個(gè)數(shù); 復(fù)制子單元,用于對所述組播數(shù)據(jù)報(bào)文進(jìn)行復(fù)制處理,復(fù)制處理后的組播數(shù)據(jù)報(bào)文的 個(gè)數(shù)等于所述表項(xiàng)中的目標(biāo)端口的總個(gè)數(shù); 發(fā)送子單元,用于向每個(gè)目標(biāo)端口發(fā)送一個(gè)組播數(shù)據(jù)報(bào)文,以通過所述表項(xiàng)中的目標(biāo) 端口將組播數(shù)據(jù)報(bào)文發(fā)送至目標(biāo)主機(jī)。8. 根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 接收單元,用于接收來自主機(jī)的IGMP報(bào)文; 第二獲取單元,用于通過分析所述IGMP報(bào)文,獲取所述主機(jī)所屬的VLAN,以及獲取所 述交換機(jī)中用于接收所述IGMP報(bào)文的端口; 第一存儲(chǔ)單元,用于將所述主機(jī)所屬的VLAN以及所述端口的標(biāo)志信息存入所述三層 轉(zhuǎn)發(fā)表的表項(xiàng)中。9. 根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述第一存儲(chǔ)單元包括: 判斷子單元,用于判斷所述三層轉(zhuǎn)發(fā)表是否包括所述組播VLAN的其他子VLAN ; 第一存儲(chǔ)子單元,用于當(dāng)所述三層轉(zhuǎn)發(fā)表是否包括所述組播VLAN的其他子VLAN時(shí),在 所述組播VLAN的其他子VLAN所在表項(xiàng)中存入所述主機(jī)所屬的VLAN以及所述端口; 第二存儲(chǔ)子單元,用于當(dāng)所述三層轉(zhuǎn)發(fā)表是否包括所述組播VLAN的其他子VLAN時(shí),將 所述主機(jī)所屬的VLAN以及所述端口存入所述三層轉(zhuǎn)發(fā)表的任一空表項(xiàng)中。10. 根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述三層轉(zhuǎn)發(fā)表的每個(gè)表項(xiàng)還包括索引 值, 所述裝置還包括: 第三獲取單元,用于獲取所述三層轉(zhuǎn)發(fā)表中存儲(chǔ)所述主機(jī)所屬的VLAN以及所述交換 機(jī)中接收所述IGMP報(bào)文的端口的表項(xiàng)的索引值; 第二存儲(chǔ)單元,用于將所述索引值、所述主機(jī)所屬的VLAN所屬的組播VLAN以及所述 IGMP報(bào)文的組播MAC地址存入所述二層轉(zhuǎn)發(fā)表的表項(xiàng)中。
【文檔編號(hào)】H04L12/46GK105939276SQ201510716118
【公開日】2016年9月14日
【申請日】2015年10月29日
【發(fā)明人】劉曉賀
【申請人】杭州迪普科技有限公司