報(bào)文的轉(zhuǎn)發(fā)處理方法及裝置制造方法
【專利摘要】本發(fā)明提供了一種報(bào)文的轉(zhuǎn)發(fā)處理方法及裝置,其中,該方法應(yīng)用于二層網(wǎng)絡(luò)設(shè)備,包括:接收來自源端的報(bào)文;判斷所述報(bào)文所屬的類型;在判定所述類型為指定類型時(shí),按照與所述指定類型對(duì)應(yīng)的處理流程對(duì)所述報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理。采用本發(fā)明提供的上述技術(shù)方案,解決了相關(guān)技術(shù)中,在進(jìn)行報(bào)文轉(zhuǎn)發(fā)時(shí),需要將組播IP地址轉(zhuǎn)換為MAC地址時(shí)存在地址沖突以及無法實(shí)現(xiàn)IGMPv3組播源地址的區(qū)分等技術(shù)問題,從而提高了組播功能的易用性和安全性。
【專利說明】報(bào)文的轉(zhuǎn)發(fā)處理方法及裝置
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種報(bào)文的轉(zhuǎn)發(fā)處理方法及裝置。
【背景技術(shù)】
[0002] 組播技術(shù)作為網(wǎng)絡(luò)電視(Internet Protocol TV,簡(jiǎn)稱為IPTV)業(yè)務(wù)的重要承載方 式,具有廣泛的應(yīng)用。目前在交換機(jī)、無源光網(wǎng)絡(luò)設(shè)備等二層網(wǎng)絡(luò)設(shè)備上,IPv4組播一般以 互聯(lián)網(wǎng)(Internet)組管理協(xié)議(Internet Group Management Protocol,簡(jiǎn)稱為 IGMP)協(xié)議 進(jìn)行分發(fā)控制,由于二層設(shè)備一般根據(jù)媒體接入控制(Media Access Control,簡(jiǎn)稱為MAC) 地址和虛擬局域網(wǎng)(Virtual Local Area Network,簡(jiǎn)稱為VLAN)進(jìn)行報(bào)文轉(zhuǎn)發(fā),因此需要 將組播的IP組地址轉(zhuǎn)化為二層MAC地址,進(jìn)行地址學(xué)習(xí)和轉(zhuǎn)發(fā)。但是由于組播IP組地址 是224. X. X. X和225. X. X. X,而組播MAC地址只有01:00:5e:x:x:X,MAC地址比IP地址少 了 lbit,因此在轉(zhuǎn)換時(shí),存在一個(gè)相同地址的沖突問題,例如224. 0. 0. 1和225. 0. 0. 1這兩 個(gè)IP組地址都會(huì)轉(zhuǎn)換為01:00:5e :00:00:01的組播MAC地址,因此在使用時(shí),如果這兩個(gè) 地址同時(shí)存在,就會(huì)產(chǎn)生數(shù)據(jù)轉(zhuǎn)發(fā)錯(cuò)誤。
[0003] 另外,IGMP v3協(xié)議增加了針對(duì)組播源地址的過濾模式,使主機(jī)在加入某組播組的 同時(shí),能夠明確要求接收或拒絕來自某特定組播源的組播信息。目前二層網(wǎng)絡(luò)設(shè)備一般根 據(jù)MAC地址和VLAN進(jìn)行報(bào)文轉(zhuǎn)發(fā),即基于目的組播MAC地址和VLAN進(jìn)行轉(zhuǎn)發(fā),也就是相當(dāng) 于只支持基于目的組播IP地址進(jìn)行轉(zhuǎn)發(fā),無法進(jìn)行源IP地址的區(qū)分,也就無法實(shí)現(xiàn)IGMPv3 功能。
[0004] 針對(duì)相關(guān)技術(shù)中的上述問題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0005] 針對(duì)相關(guān)技術(shù)中,在進(jìn)行報(bào)文轉(zhuǎn)發(fā)時(shí),需要將組播IP地址轉(zhuǎn)換為MAC地址時(shí)存在 地址沖突以及無法實(shí)現(xiàn)IGMPv3組播源地址的區(qū)分等技術(shù)問題,本發(fā)明提供了一種報(bào)文的 轉(zhuǎn)發(fā)處理方法及裝置,以至少解決上述問題。
[0006] 根據(jù)本發(fā)明的一個(gè)方面,提供了一種報(bào)文的轉(zhuǎn)發(fā)處理方法,應(yīng)用于二層網(wǎng)絡(luò)設(shè)備, 包括:接收來自源端的報(bào)文;判斷所述報(bào)文所屬的類型;在判定所述類型為指定類型時(shí),按 照與所述指定類型對(duì)應(yīng)的處理流程對(duì)所述報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理。
[0007] 優(yōu)選地,判斷所述報(bào)文所屬的類型,包括:判斷所述報(bào)文是否屬于以下之一所述指 定類型:組播數(shù)據(jù)報(bào)文、組播協(xié)議報(bào)文、非組播報(bào)文。
[0008] 優(yōu)選地,按照與所述指定類型對(duì)應(yīng)的處理流程對(duì)所述報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理,包括:在 所述指定類型為所述組播數(shù)據(jù)報(bào)文時(shí),獲取所述組播數(shù)據(jù)報(bào)文的指示信息,其中,該指示信 息與所述組播數(shù)據(jù)報(bào)文的目的轉(zhuǎn)發(fā)端口是對(duì)應(yīng)的;根據(jù)所述指示信息獲取所述目的轉(zhuǎn)發(fā)端 口;將所述組播數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)至所述目的轉(zhuǎn)發(fā)端口。
[0009] 優(yōu)選地,所述指示信息包括所述組播數(shù)據(jù)報(bào)文中的以下信息:源IP地址、目的IP 地址和虛擬局域網(wǎng)VLAN字段值。
[0010] 優(yōu)選地,根據(jù)所述指示信息獲取所述目的轉(zhuǎn)發(fā)端口之前,包括:在未獲取到所述指 示信息指示的目的轉(zhuǎn)發(fā)端口時(shí),對(duì)所述組播數(shù)據(jù)報(bào)文進(jìn)行丟棄或洪泛處理。
[0011] 優(yōu)選地,按照與所述指定類型對(duì)應(yīng)的處理流程對(duì)所述報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理,包括:在 所述指定類型為所述組播協(xié)議報(bào)文時(shí),對(duì)所述組播協(xié)議報(bào)文進(jìn)一步進(jìn)行分類;對(duì)所述組播 協(xié)議報(bào)文執(zhí)行與其所屬類別對(duì)應(yīng)的轉(zhuǎn)發(fā)處理。
[0012] 優(yōu)選地,按照與所述指定類型對(duì)應(yīng)的處理流程對(duì)所述報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理,包括:在 所述指定類型為所述非組播報(bào)文時(shí),利用所述非組播數(shù)據(jù)報(bào)文中的媒體接入控制MAC地址 對(duì)所述非組播數(shù)據(jù)報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理。
[0013] 根據(jù)本發(fā)明的另一個(gè)方面,提供了一種報(bào)文的轉(zhuǎn)發(fā)處理裝置,應(yīng)用于二層網(wǎng)絡(luò)設(shè) 備,包括:接收模塊,用于接收來自源端的報(bào)文;判斷模塊,用于判斷所述報(bào)文所屬的類型; 轉(zhuǎn)發(fā)模塊,用于在所述判斷模塊判定所述類型為指定類型時(shí),按照與所述指定類型對(duì)應(yīng)的 處理流程對(duì)所述報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理。
[0014] 優(yōu)選地,所述判斷模塊,用于判斷所述報(bào)文是否屬于以下之一所述指定類型:組播 數(shù)據(jù)報(bào)文、組播協(xié)議報(bào)文、非組播報(bào)文。
[0015] 優(yōu)選地,所述轉(zhuǎn)發(fā)模塊,包括:第一獲取單元,用于在所述指定類型為所述組播數(shù) 據(jù)報(bào)文時(shí),獲取所述組播數(shù)據(jù)報(bào)文的指示信息,其中,該指示信息與所述組播數(shù)據(jù)報(bào)文的目 的轉(zhuǎn)發(fā)端口是對(duì)應(yīng)的;第二獲取單元,用于根據(jù)所述指示信息獲取所述目的轉(zhuǎn)發(fā)端口;第 一轉(zhuǎn)發(fā)單元,用于將所述組播數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)至所述目的轉(zhuǎn)發(fā)端口。
[0016] 優(yōu)選地,所述轉(zhuǎn)發(fā)模塊,包括:分類單元,用于在所述指定類型為所述組播協(xié)議報(bào) 文時(shí),對(duì)所述組播協(xié)議報(bào)文進(jìn)一步進(jìn)行分類;第二轉(zhuǎn)發(fā)單元,用于對(duì)所述組播協(xié)議報(bào)文執(zhí)行 與其所屬類別對(duì)應(yīng)的轉(zhuǎn)發(fā)處理。
[0017] 優(yōu)選地,所述轉(zhuǎn)發(fā)模塊,包括:第三轉(zhuǎn)發(fā)單元,用于在所述指定類型為所述非組播 報(bào)文時(shí),利用所述非組播數(shù)據(jù)報(bào)文中的媒體接入控制MAC地址對(duì)所述非組播數(shù)據(jù)報(bào)文進(jìn)行 轉(zhuǎn)發(fā)處理。
[0018] 通過本發(fā)明,采用根據(jù)接收的報(bào)文的類型,按照與所述指定類型對(duì)應(yīng)的處理流程 對(duì)報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理的技術(shù)手段,解決了相關(guān)技術(shù)中,在進(jìn)行報(bào)文轉(zhuǎn)發(fā)時(shí),需要將組播IP 地址轉(zhuǎn)換為MAC地址時(shí)存在地址沖突以及無法實(shí)現(xiàn)IGMPV3組播源地址的區(qū)分等技術(shù)問題, 從而提高了組播功能的易用性和安全性。
【專利附圖】
【附圖說明】
[0019] 此處所說明的附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā) 明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
[0020] 圖1為根據(jù)本發(fā)明實(shí)施例的報(bào)文的轉(zhuǎn)發(fā)處理方法的流程圖;
[0021] 圖2為根據(jù)本發(fā)明實(shí)施例的報(bào)文的轉(zhuǎn)發(fā)處理裝置的結(jié)構(gòu)框圖;
[0022] 圖3為根據(jù)本發(fā)明實(shí)施例的報(bào)文的轉(zhuǎn)發(fā)處理裝置的另一結(jié)構(gòu)框圖;
[0023] 圖4為根據(jù)本發(fā)明優(yōu)選實(shí)施例的報(bào)文轉(zhuǎn)發(fā)裝置的實(shí)現(xiàn)原理示意圖;
[0024] 圖5為基于圖4所示裝置的報(bào)文轉(zhuǎn)發(fā)方法的流程圖。
【具體實(shí)施方式】
[0025] 下文中將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本發(fā)明。需要說明的是,在不沖突的 情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。
[0026] 本實(shí)施例中的轉(zhuǎn)發(fā)處理方法應(yīng)用于二層網(wǎng)絡(luò)設(shè)備,圖1為根據(jù)本發(fā)明實(shí)施例的報(bào) 文的轉(zhuǎn)發(fā)處理方法的流程圖。如圖1所示,該方法包括:
[0027] 步驟S102,接收來自源端的報(bào)文;
[0028] 步驟S104,判斷上述報(bào)文所屬的類型;
[0029] 步驟S106,在判定上述類型為指定類型時(shí),按照與該指定類型對(duì)應(yīng)的處理流程對(duì) 報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理。需要說明的是,在該步驟中,上述處理流程和上述指定類型可以預(yù)先設(shè) 置的,例如由上層配置等。
[0030] 通過上述各個(gè)處理步驟,由于按照與報(bào)文所屬的類型對(duì)應(yīng)的處理流程對(duì)報(bào)文進(jìn)行 轉(zhuǎn)發(fā)處理,不需要進(jìn)行IP至MAC地址的轉(zhuǎn)換,因此,從根本上避免了相關(guān)技術(shù)中由于需要將 IP地址轉(zhuǎn)換為MAC地址時(shí)產(chǎn)生的地址沖突以及無法實(shí)現(xiàn)源IP地址區(qū)分等問題,進(jìn)而解決 了 MAC地址轉(zhuǎn)發(fā)無法實(shí)現(xiàn)IGMPv3組播源地址過濾的問題,提高了組播功能的易用性和安全 性。
[0031] 上述報(bào)文所屬的類型可以是多種,此時(shí),步驟104可以表現(xiàn)為以下實(shí)現(xiàn)形式:判斷 上述報(bào)文是否屬于指定類型,其中,指定類型包括但不限于以下之一:組播數(shù)據(jù)報(bào)文、組播 協(xié)議報(bào)文、非組播報(bào)文。
[0032] 以下對(duì)上述三種指定類型的報(bào)文的轉(zhuǎn)發(fā)處理過程分別進(jìn)行描述:
[0033] (1)在指定類型為組播數(shù)據(jù)報(bào)文時(shí),獲取組播數(shù)據(jù)報(bào)文的指示信息,其中,該指示 信息與組播數(shù)據(jù)報(bào)文的目的轉(zhuǎn)發(fā)端口是對(duì)應(yīng)的根據(jù)所述指示信息獲取所述目的轉(zhuǎn)發(fā)端口; 將組播數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)至目的轉(zhuǎn)發(fā)端口。該處理過程可以表現(xiàn)為以下實(shí)現(xiàn)形式:
[0034] 根據(jù)組播數(shù)據(jù)報(bào)文的IP地址查找到該組播數(shù)據(jù)報(bào)文需要轉(zhuǎn)發(fā)的目的端口號(hào)(即 上述目的轉(zhuǎn)發(fā)端口的標(biāo)識(shí)),然后根據(jù)預(yù)設(shè)的配置規(guī)則對(duì)報(bào)文進(jìn)行VLAN、優(yōu)先級(jí)(priority, 簡(jiǎn)稱為PRI)等報(bào)文內(nèi)容的修改,然后轉(zhuǎn)發(fā)到目的端口(即目的轉(zhuǎn)發(fā)端口)。
[0035] 需要說明的是,在上述處理過程中,根據(jù)上述IP地址獲取組播報(bào)文的目的地址之 前,在未獲取到指示信息指示的目的轉(zhuǎn)發(fā)端口時(shí),對(duì)組播數(shù)據(jù)報(bào)文進(jìn)行丟棄或洪泛處理。
[0036] (2)在指定類型為組播協(xié)議報(bào)文時(shí),對(duì)組播協(xié)議報(bào)文進(jìn)一步進(jìn)行分類;對(duì)組播協(xié)議 報(bào)文執(zhí)行與其所屬類別對(duì)應(yīng)的轉(zhuǎn)發(fā)處理。
[0037] 如果是組播加入報(bào)文,則添加 IP地址表?xiàng)l目,如果是組播離開報(bào)文,則刪除IP地 址表?xiàng)l目,如果是其它組播報(bào)文,則根據(jù)配置進(jìn)行相應(yīng)處理。最后,根據(jù)配置決定處理后的 報(bào)文是轉(zhuǎn)發(fā)還是丟棄,以及是否進(jìn)行VLAN、PRI等報(bào)文內(nèi)容的修改。
[0038] (3)在指定類型為非組播報(bào)文時(shí),利用非組播數(shù)據(jù)報(bào)文中的MAC地址對(duì)非組播數(shù) 據(jù)報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理。該處理過程中,采用常規(guī)的二層網(wǎng)絡(luò)設(shè)備轉(zhuǎn)發(fā)報(bào)文的方式即可,由于 其可以在相關(guān)技術(shù)中查詢得知,此處不再贅述。
[0039] 在本實(shí)施例中還提供了一種報(bào)文的轉(zhuǎn)發(fā)處理裝置,該裝置應(yīng)用于二層網(wǎng)絡(luò)設(shè)備, 用于實(shí)現(xiàn)上述實(shí)施例及優(yōu)選實(shí)施方式,已經(jīng)進(jìn)行過說明的不再贅述,下面對(duì)該裝置中涉及 到的模塊進(jìn)行說明。如以下所使用的,術(shù)語"模塊"可以實(shí)現(xiàn)預(yù)定功能的軟件和/或硬件的 組合。盡管以下實(shí)施例所描述的裝置較佳地以軟件來實(shí)現(xiàn),但是硬件,或者軟件和硬件的組 合的實(shí)現(xiàn)也是可能并被構(gòu)想的。圖2為根據(jù)本發(fā)明實(shí)施例的報(bào)文的轉(zhuǎn)發(fā)處理裝置的結(jié)構(gòu)框 圖。如圖2所示,該裝置包括:
[0040] 接收模塊20,連接至判斷模塊22,用于接收來自源端的報(bào)文;
[0041] 判斷模塊22,連接至轉(zhuǎn)發(fā)模塊24,用于判斷報(bào)文所屬的類型;
[0042] 轉(zhuǎn)發(fā)模塊24,用于在判斷模塊22判定類型為指定類型時(shí),按照與該指定類型對(duì)應(yīng) 的處理流程對(duì)報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理。
[0043] 通過上述各個(gè)模塊實(shí)現(xiàn)的功能,同樣可以從根本上避免相關(guān)技術(shù)中由于需要將IP 地址轉(zhuǎn)換為MAC地址時(shí)產(chǎn)生的地址沖突以及無法實(shí)現(xiàn)源IP地址區(qū)分等問題,進(jìn)而解決MAC 地址轉(zhuǎn)發(fā)無法實(shí)現(xiàn)IGMPv3組播源地址過濾的問題,提高了組播功能的易用性和安全性。
[0044] 在本實(shí)施中,上述判斷模塊22,用于判斷組播報(bào)文是否屬于以下之一指定類型: 組播數(shù)據(jù)報(bào)文、組播協(xié)議報(bào)文、非組播報(bào)文。
[0045] 在本實(shí)施例的一個(gè)優(yōu)選實(shí)施方式中,如圖3所示,轉(zhuǎn)發(fā)模塊24可以包括但不限于: 第一獲取單元240,連接至第二獲取單元242,用于在指定類型為組播數(shù)據(jù)報(bào)文時(shí),獲取組 播數(shù)據(jù)報(bào)文的指示信息,其中,該指示信息與組播數(shù)據(jù)報(bào)文的目的轉(zhuǎn)發(fā)端口是對(duì)應(yīng)的;第二 獲取單元242,連接至第一轉(zhuǎn)發(fā)單元244,用于根據(jù)指示信息獲取目的轉(zhuǎn)發(fā)端口;第一轉(zhuǎn)發(fā) 單元244,用于將所述組播數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)至目的轉(zhuǎn)發(fā)端口。
[0046] 在本實(shí)施例的另一優(yōu)選實(shí)施方式中,如圖3所示,轉(zhuǎn)發(fā)模塊24,包括:分類單元 246,連接至第二轉(zhuǎn)發(fā)單元248,用于在指定類型為組播協(xié)議報(bào)文時(shí),對(duì)組播協(xié)議報(bào)文進(jìn)一步 進(jìn)行分類;第二轉(zhuǎn)發(fā)單元248,用于對(duì)組播協(xié)議報(bào)文執(zhí)行與其所屬類別對(duì)應(yīng)的轉(zhuǎn)發(fā)處理。
[0047] 在本實(shí)施例的又一優(yōu)選實(shí)施方式中,轉(zhuǎn)發(fā)模塊24,包括但不限于以下單元:第三 轉(zhuǎn)發(fā)單元30,用于在指定類型為非組播報(bào)文時(shí),利用非組播數(shù)據(jù)報(bào)文中的MAC地址對(duì)非組 播數(shù)據(jù)報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理。
[0048] 正如上面所述,本實(shí)施例中涉及到的上述各個(gè)模塊既可以通過軟件來實(shí)現(xiàn),也可 以通過相應(yīng)地硬件來實(shí)現(xiàn)。例如,上述各個(gè)模塊均可以處在處理器中,例如:上述各個(gè)模塊 均處于一個(gè)處理器中:一種處理器,包括:上述接收模塊20、上述判斷模塊22和轉(zhuǎn)發(fā)模塊 24 ;或者上述各個(gè)模塊分別處于一個(gè)對(duì)應(yīng)的處理器中:上述接收模塊20,位于第一處理器 中,上述判斷模塊22位于第二處理器中,上述轉(zhuǎn)發(fā)模塊24位于第三處理器中,或者,上述三 個(gè)模塊中的其中兩個(gè)模塊位于一個(gè)處理器中,剩余的另一個(gè)模塊位于另外一個(gè)處理器中。
[0049] 為了更好地理解上述實(shí)施例,以下結(jié)合上述實(shí)施例的優(yōu)選實(shí)施例詳細(xì)說明。
[0050] 實(shí)施例1
[0051] 本實(shí)施例提供一種基于IP地址進(jìn)行學(xué)習(xí)和轉(zhuǎn)發(fā),實(shí)現(xiàn)IPv4組播轉(zhuǎn)發(fā)的方案,以解 決組播IP地址轉(zhuǎn)換為MAC地址時(shí)存在沖突地址的問題,并實(shí)現(xiàn)IGMPv3組播源地址過濾的 功能。
[0052] 為實(shí)現(xiàn)上述目的,本實(shí)施例采用了如下的技術(shù)方案:
[0053] 如圖4所示,本實(shí)施例提供的報(bào)文轉(zhuǎn)發(fā)裝置包括但不限于以下模塊:其中,實(shí)線是 報(bào)文走向,虛線是裝置內(nèi)部配置走向。
[0054] 判斷模塊40,用于判斷報(bào)文的類型,選擇對(duì)應(yīng)的報(bào)文處理流程。
[0055] 判斷模塊40對(duì)報(bào)文進(jìn)行判斷(可以根據(jù)對(duì)接收到的報(bào)文進(jìn)行解析后的報(bào)文內(nèi)容 進(jìn)行判斷),如果是組播協(xié)議報(bào)文,則發(fā)送到組播協(xié)議處理模塊46進(jìn)行轉(zhuǎn)發(fā)處理;如果是組 播數(shù)據(jù)報(bào)文,則發(fā)送到IP地址表模塊42進(jìn)行轉(zhuǎn)發(fā)處理,如果不是組播報(bào)文,S卩非組播報(bào)文, 則發(fā)送到MAC地址表模塊44進(jìn)行二層轉(zhuǎn)發(fā)處理。
[0056] IP地址表模塊42,用于IP地址學(xué)習(xí)和根據(jù)IP地址對(duì)組播數(shù)據(jù)報(bào)文進(jìn)行轉(zhuǎn)發(fā)。即 IP地址表模塊42在接收組播數(shù)據(jù)報(bào)文后,根據(jù)IP地址查找到該組播數(shù)據(jù)報(bào)文需要轉(zhuǎn)發(fā)的 目的端口號(hào),然后發(fā)送給修改模塊48。
[0057] 其中,該IP地址表模塊42的地址條目由組播協(xié)議處理模塊46配置。IP地址表 模塊42模塊只會(huì)收到從判斷模塊40發(fā)送過來的組播數(shù)據(jù)報(bào)文,收到報(bào)文后,提取報(bào)文的 VLAN、目的IP地址(destination IP,簡(jiǎn)稱為DIP)和源IP地址(source IP,簡(jiǎn)稱為SIP),查 找地址表中的條目,如果有匹配的條目,得到條目中的目的端口號(hào),并發(fā)送到修改模塊48, 如果沒有匹配的條目,則根據(jù)配置對(duì)報(bào)文進(jìn)行丟棄或者洪泛。
[0058] MAC地址表模塊44,用于非組播報(bào)文的地址學(xué)習(xí)和報(bào)文轉(zhuǎn)發(fā)。該MAC地址表模塊 44是普通二層網(wǎng)絡(luò)設(shè)備的轉(zhuǎn)發(fā)模塊,可以采用相關(guān)技術(shù)中常規(guī)的二層轉(zhuǎn)發(fā)方式,此處不再 贅述。
[0059] 組播協(xié)議處理模塊46,用于根據(jù)組播協(xié)議包的具體內(nèi)容,對(duì)IP地址表進(jìn)行配置管 理,并對(duì)組播協(xié)議報(bào)文進(jìn)行VLAN、PRI等報(bào)文內(nèi)容的修改
[0060] 其中,該組播協(xié)議處理模塊46,只會(huì)接收由判斷模塊40發(fā)送過來的組播協(xié)議報(bào) 文,收到報(bào)文后會(huì)對(duì)報(bào)文進(jìn)行進(jìn)一步解析,判斷報(bào)文類型,獲取相關(guān)信息。如果組播協(xié)議報(bào) 文符合上層配置的組播模式,則對(duì)IP地址表模塊42進(jìn)行相應(yīng)的添加、刪除配置。之后根據(jù) 上層配置決定組播協(xié)議報(bào)文是繼續(xù)轉(zhuǎn)發(fā)或者是丟棄,如果轉(zhuǎn)發(fā),則根據(jù)上層配置對(duì)報(bào)文進(jìn) 行修改后轉(zhuǎn)發(fā)或者不修改直接轉(zhuǎn)發(fā)。
[0061] 在組播協(xié)議處理模塊46對(duì)接收到的組播協(xié)議報(bào)文進(jìn)行進(jìn)一步判斷的過程中:如 果是組播加入報(bào)文,則添加 IP地址表?xiàng)l目,如果是組播離開報(bào)文,則刪除IP地址表?xiàng)l目,如 果是其它組播報(bào)文,則根據(jù)配置進(jìn)行相應(yīng)處理。并根據(jù)配置決定處理后的報(bào)文是轉(zhuǎn)發(fā)還是 丟棄,以及是否進(jìn)行VLAN、PRI等報(bào)文內(nèi)容的修改。其中,IP地址表?xiàng)l目包括但不限于以下 信息:
[0062] DIP :表示該條目的目的IP ;
[0063] SIP :表示該條目的源IP ;
[0064] VLAN :表示該條目的VLAN ;
[0065] mode :表示該條目的IGMPv3模式,包括include和exclude模式;
[0066] state :表示該條目的狀態(tài),包括是否有效,是否老化等;
[0067] portlist :表示該條目的有效目的端口號(hào)。
[0068] 需要說明的是,對(duì)于其它組播協(xié)議報(bào)文的處理方式,以及對(duì)報(bào)文進(jìn)行修改等規(guī)則 均由上層進(jìn)行配置,配置來源于用戶配置。
[0069] 修改模塊48,用于對(duì)組播數(shù)據(jù)報(bào)文進(jìn)行VLAN、PRI等報(bào)文內(nèi)容的修改。該修改模 塊48只接收來自IP地址表模塊42發(fā)送過來的組播數(shù)據(jù)報(bào)文,并根據(jù)上層配置,對(duì)報(bào)文進(jìn) 行修改,然后根據(jù)在IP地址表模塊42中得到的目的端口號(hào),對(duì)報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
[0070] 圖5為基于圖4所示裝置的報(bào)文轉(zhuǎn)發(fā)方法的流程圖。如圖5所示,該方法包括:
[0071] 步驟S502,裝置接收入向報(bào)文后,首先送到判斷模塊40,對(duì)報(bào)文中的MAC地址和是 否含有IGMP頭進(jìn)行判斷,并記錄該報(bào)文來源于裝置的哪個(gè)端口。
[0072] 如果MAC是組播MAC且含有IGMP頭,則判斷為組播協(xié)議報(bào)文,并發(fā)送到組播協(xié)議 處理模塊46中處理,轉(zhuǎn)到步驟S504。
[0073] 如果MAC是組播MAC且不含有IGMP頭,則判斷為組播數(shù)據(jù)報(bào)文,并發(fā)送到IP地址 表模塊42中處理,轉(zhuǎn)到步驟S514。
[0074] 如果MAC不是組播MAC,則判斷為非IPv4組播MAC,送到MAC地址表模塊44處理, 轉(zhuǎn)到步驟S518。
[0075] 步驟S504,組播協(xié)議處理模塊46接收來源于判斷模塊40的組播協(xié)議報(bào)文后,解析 報(bào)文的IGMP頭中的報(bào)文類型字段。
[0076] 步驟S504,如果報(bào)文是組播加入包,則轉(zhuǎn)到步驟S506。
[0077] 步驟S504,如果報(bào)文是組播離開包,則轉(zhuǎn)到步驟S508。
[0078] 步驟S504,如果報(bào)文是組播查詢包或者其它協(xié)議包,則轉(zhuǎn)到步驟S510。
[0079] 步驟S506,如果報(bào)文相關(guān)信息和步驟S502中記錄的源端口號(hào)等符合上層配置的 組播模式,則配置添加地址條目到IP地址表模塊42,之后轉(zhuǎn)到步驟S510。
[0080] 步驟S506,地址條目中包括但不限于6個(gè)參數(shù):DIP、SIP、VLAN、mode、state、 portlist,其中DIP和SIP來源于報(bào)文中的對(duì)應(yīng)字段,VLAN、mode、state來源于上層配置的 組播模式及參數(shù),portlist來源于步驟S502中記錄的源端口號(hào)。
[0081] 步驟S508,如果報(bào)文相關(guān)信息和步驟S502中記錄的源端口號(hào)等符合上層配置的 組播模式,則配置刪除地址條目到IP地址表模塊42,之后轉(zhuǎn)到步驟S510。
[0082] 步驟S508,地址條目中包括但不限于6個(gè)參數(shù):DIP、SIP、VLAN、mode、state、 portlist,其中DIP和SIP來源于報(bào)文中的對(duì)應(yīng)字段,VLAN、mode、state來源于上層配置的 組播模式及參數(shù),portlist來源于步驟S502中記錄的源端口號(hào)。
[0083] 步驟S510,判斷組播協(xié)議報(bào)文是繼續(xù)轉(zhuǎn)發(fā)還是丟棄,判斷的依據(jù)來源于上層配置 的組播模式和參數(shù),如果轉(zhuǎn)發(fā)則轉(zhuǎn)到步驟S512,如果丟棄則報(bào)文丟棄,流程結(jié)束。
[0084] 步驟S512,根據(jù)上層配置對(duì)需要進(jìn)行修改的報(bào)文進(jìn)行VLAN、PRI等字段的修改,修 改后轉(zhuǎn)發(fā);對(duì)不需要進(jìn)行修改的報(bào)文直接轉(zhuǎn)發(fā)。之后流程結(jié)束。
[0085] 步驟S514, IP地址表模塊42接收來源于判斷模塊40的組播數(shù)據(jù)報(bào)文后,對(duì)報(bào)文 進(jìn)行解析,獲取報(bào)文中的VLAN、DIP、SIP等字段,然后查找地址表中的條目。
[0086] 步驟S514,如果查找地址表找到了匹配的條目,則獲得該條目中的portlist參 數(shù),然后將報(bào)文發(fā)送到修改模塊48,轉(zhuǎn)到步驟S516。
[0087] 步驟S514,如果查找地址表沒有找到匹配的條目,則判定為未知組播報(bào)文,走未知 組播報(bào)文的洪泛流程,洪泛流程不是本專利申請(qǐng)的范圍,可以簡(jiǎn)單的認(rèn)為未知組播報(bào)文即 被丟棄,流程結(jié)束。
[0088] 步驟S516,修改模塊48接收來源于IP地址表模塊42的已知組播數(shù)據(jù)報(bào)文,根據(jù) 上層配置對(duì)需要進(jìn)行修改的報(bào)文進(jìn)行VLAN、PRI等字段的修改,之后轉(zhuǎn)發(fā)到步驟S514中查 到的目的端口;對(duì)不需要進(jìn)行修改的報(bào)文直接轉(zhuǎn)發(fā)到步驟S514中查到的目的端口。之后流 程結(jié)束。
[0089] 步驟S518, MAC地址表模塊44接收來源于判斷模塊40的非組播報(bào)文,之后進(jìn)行常 規(guī)的二層轉(zhuǎn)發(fā),常規(guī)的二層轉(zhuǎn)發(fā)邏輯不是本專利的聲明范圍,此處略過。
[0090] 需要說明的是,以上所涉及的上層配置均指由用戶層面進(jìn)行的業(yè)務(wù)配置。
[0091] 考慮到用戶側(cè)組播源等特殊應(yīng)用,因此組播協(xié)議報(bào)文和數(shù)據(jù)報(bào)文不應(yīng)該區(qū)分上下 行,因此本裝置上下行是對(duì)稱的。當(dāng)然實(shí)際應(yīng)用中也可以只在上行方向或者下行方向單獨(dú) 使用本實(shí)施例中的方案。
[0092] 本實(shí)施例實(shí)現(xiàn)了以下有益效果:使用了根據(jù)IP地址進(jìn)行組播報(bào)文轉(zhuǎn)發(fā)的方法,避 免了從IP地址到MAC地址的轉(zhuǎn)換,從而解決了轉(zhuǎn)換時(shí)的地址沖突問題,并進(jìn)而解決了 MAC 地址轉(zhuǎn)發(fā)無法實(shí)現(xiàn)IGMPv3組播源地址過濾的問題,提高了組播功能的易用性和安全性。 [0093] 在另外一個(gè)實(shí)施例中,還提供了一種軟件,該軟件用于執(zhí)行上述實(shí)施例及優(yōu)選實(shí) 施方式中描述的技術(shù)方案。
[0094] 在另外一個(gè)實(shí)施例中,還提供了一種存儲(chǔ)介質(zhì),該存儲(chǔ)介質(zhì)中存儲(chǔ)有上述軟件,該 存儲(chǔ)介質(zhì)包括但不限于:光盤、軟盤、硬盤、可擦寫存儲(chǔ)器等。
[〇〇95] 顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用 的計(jì)算裝置來實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成 的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來實(shí)現(xiàn),從而,可以將它們存儲(chǔ) 在存儲(chǔ)裝置中由計(jì)算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示 出或描述的步驟,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或 步驟制作成單個(gè)集成電路模塊來實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。 [〇〇96] 以上僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人 員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、 等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1. 一種報(bào)文的轉(zhuǎn)發(fā)處理方法,應(yīng)用于二層網(wǎng)絡(luò)設(shè)備,其特征在于,包括: 接收來自源端的報(bào)文; 判斷所述報(bào)文所屬的類型; 在判定所述類型為指定類型時(shí),按照與所述指定類型對(duì)應(yīng)的處理流程對(duì)所述報(bào)文進(jìn)行 轉(zhuǎn)發(fā)處理。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,判斷所述報(bào)文所屬的類型,包括: 判斷所述報(bào)文是否屬于以下之一所述指定類型:組播數(shù)據(jù)報(bào)文、組播協(xié)議報(bào)文、非組播 報(bào)文。
3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,按照與所述指定類型對(duì)應(yīng)的處理流程對(duì) 所述報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理,包括: 在所述指定類型為所述組播數(shù)據(jù)報(bào)文時(shí),獲取所述組播數(shù)據(jù)報(bào)文的指示信息,其中,該 指示信息與所述組播數(shù)據(jù)報(bào)文的目的轉(zhuǎn)發(fā)端口是對(duì)應(yīng)的; 根據(jù)所述指示信息獲取所述目的轉(zhuǎn)發(fā)端口; 將所述組播數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)至所述目的轉(zhuǎn)發(fā)端口。
4. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述指示信息包括所述組播數(shù)據(jù)報(bào)文中 的以下信息:源IP地址、目的IP地址和虛擬局域網(wǎng)VLAN字段值。
5. 根據(jù)權(quán)利要求3所述的方法,其特征在于,根據(jù)所述指示信息獲取所述目的轉(zhuǎn)發(fā)端 口之前,包括: 在未獲取到所述指示信息指示的目的轉(zhuǎn)發(fā)端口時(shí),對(duì)所述組播數(shù)據(jù)報(bào)文進(jìn)行丟棄或洪 泛處理。
6. 根據(jù)權(quán)利要求2所述的方法,其特征在于,按照與所述指定類型對(duì)應(yīng)的處理流程對(duì) 所述報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理,包括: 在所述指定類型為所述組播協(xié)議報(bào)文時(shí),對(duì)所述組播協(xié)議報(bào)文進(jìn)一步進(jìn)行分類; 對(duì)所述組播協(xié)議報(bào)文執(zhí)行與其所屬類別對(duì)應(yīng)的轉(zhuǎn)發(fā)處理。
7. 根據(jù)權(quán)利要求2所述的方法,其特征在于,按照與所述指定類型對(duì)應(yīng)的處理流程對(duì) 所述報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理,包括: 在所述指定類型為所述非組播報(bào)文時(shí),利用所述非組播數(shù)據(jù)報(bào)文中的媒體接入控制 MAC地址對(duì)所述非組播數(shù)據(jù)報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理。
8. -種報(bào)文的轉(zhuǎn)發(fā)處理裝置,應(yīng)用于二層網(wǎng)絡(luò)設(shè)備,其特征在于,包括: 接收模塊,用于接收來自源端的報(bào)文; 判斷模塊,用于判斷所述報(bào)文所屬的類型; 轉(zhuǎn)發(fā)模塊,用于在所述判斷模塊判定所述類型為指定類型時(shí),按照與所述指定類型對(duì) 應(yīng)的處理流程對(duì)所述報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理。
9. 根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述判斷模塊,用于判斷所述報(bào)文是否屬 于以下之一所述指定類型:組播數(shù)據(jù)報(bào)文、組播協(xié)議報(bào)文、非組播報(bào)文。
10. 根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述轉(zhuǎn)發(fā)模塊,包括: 第一獲取單元,用于在所述指定類型為所述組播數(shù)據(jù)報(bào)文時(shí),獲取所述組播數(shù)據(jù)報(bào)文 的指示信息,其中,該指示信息與所述組播數(shù)據(jù)報(bào)文的目的轉(zhuǎn)發(fā)端口是對(duì)應(yīng)的; 第二獲取單元,用于根據(jù)所述指示信息獲取所述目的轉(zhuǎn)發(fā)端口; 第一轉(zhuǎn)發(fā)單元,用于將所述組播數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)至所述目的轉(zhuǎn)發(fā)端口。
11. 根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述轉(zhuǎn)發(fā)模塊,包括: 分類單元,用于在所述指定類型為所述組播協(xié)議報(bào)文時(shí),對(duì)所述組播協(xié)議報(bào)文進(jìn)一步 進(jìn)行分類; 第二轉(zhuǎn)發(fā)單元,用于對(duì)所述組播協(xié)議報(bào)文執(zhí)行與其所屬類別對(duì)應(yīng)的轉(zhuǎn)發(fā)處理。
12. 根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述轉(zhuǎn)發(fā)模塊,包括: 第三轉(zhuǎn)發(fā)單元,用于在所述指定類型為所述非組播報(bào)文時(shí),利用所述非組播數(shù)據(jù)報(bào)文 中的媒體接入控制MAC地址對(duì)所述非組播數(shù)據(jù)報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理。
【文檔編號(hào)】H04L12/761GK104113484SQ201310139007
【公開日】2014年10月22日 申請(qǐng)日期:2013年4月19日 優(yōu)先權(quán)日:2013年4月19日
【發(fā)明者】陳鵬 申請(qǐng)人:中興通訊股份有限公司