專(zhuān)利名稱(chēng):一種組播組成員認(rèn)證方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及組播業(yè)務(wù)的成員管理技術(shù),特別是涉及一種組播組成員認(rèn)證方法和裝置。
背景技術(shù):
隨著信息技術(shù)的發(fā)展,越來(lái)越多的信息通過(guò)網(wǎng)絡(luò)進(jìn)行傳輸,為人們的生活、工作和學(xué)習(xí)帶來(lái)較大的便利。
網(wǎng)絡(luò)傳播數(shù)據(jù)的方式可以分為IP(Internet Protocol)單播、IP廣播和IP組播等類(lèi)型。其中,IP單播方式中,源IP主機(jī)發(fā)送單播IP報(bào)文,此報(bào)文的目的IP地址是IP網(wǎng)絡(luò)中的唯一的主機(jī)地址,也就是說(shuō),只有地址為該目的IP地址的目的IP主機(jī)才能接收該報(bào)文。IP廣播方式中,源IP主機(jī)發(fā)送廣播IP報(bào)文,此報(bào)文的目的IP地址是某一網(wǎng)段的子網(wǎng)廣播地址,也就是說(shuō),該子網(wǎng)內(nèi)的所有主機(jī)都可以接收該報(bào)文;更為特殊的情況是目的IP地址為全網(wǎng)廣播地址255.255.255.255,則任何主機(jī)都能接收該報(bào)文。IP組播方式中,源IP主機(jī)發(fā)送組播IP報(bào)文,此報(bào)文的目的IP地址是一個(gè)D類(lèi)地址,或稱(chēng)組地址,也就是說(shuō),只有加入到該組的主機(jī)才能接收該報(bào)文。
組播技術(shù)的應(yīng)用涉及數(shù)據(jù)的分發(fā)、視頻會(huì)議、IPTV(交互式網(wǎng)絡(luò)電視)等業(yè)務(wù),其應(yīng)用前景越來(lái)越廣。其中的IPTV業(yè)務(wù),是近年來(lái)的各大運(yùn)營(yíng)商力推且一直被看好的業(yè)務(wù)項(xiàng)目,發(fā)展更是聲勢(shì)日隆。使用組播技術(shù),可以使業(yè)務(wù)的流復(fù)制任務(wù)均勻地分?jǐn)偟窖赝镜母鱾€(gè)轉(zhuǎn)發(fā)設(shè)備上,從而降低業(yè)務(wù)源服務(wù)器的負(fù)擔(dān)及對(duì)其性能的要求。
隨著組播技術(shù)的運(yùn)用越來(lái)越廣泛,隨之而來(lái)的便是安全性的問(wèn)題。例如,如何避免一部分非法用戶(hù)加入組播組,獲取組播服務(wù)是需要考慮的問(wèn)題。
請(qǐng)參閱圖1,是一種組播系統(tǒng)的組網(wǎng)結(jié)構(gòu)圖。
基于該組網(wǎng)結(jié)構(gòu),下面結(jié)合具體的實(shí)例對(duì)現(xiàn)有技術(shù)中維持組播組成員關(guān)系的過(guò)程進(jìn)行說(shuō)明。
二層交換機(jī)300從端口port1接收到來(lái)自主機(jī)401的組地址為224.1.1.1的IGMP(Internet Group Management Protocol,因特網(wǎng)組管理協(xié)議)成員關(guān)系報(bào)告,從而生成MAC(Media Access Control,媒體接入控制)地址為01005e010101的MAC表項(xiàng),其對(duì)應(yīng)的端口集包含端口port1和連接組播路由器200的端口port3。
此后,組播源100通過(guò)組播路由器200轉(zhuǎn)發(fā)組地址為224.1.1.1的組播流;二層交換機(jī)300從端口port3接收到組地址為224.1.1.1的組播流之后,將組播流往端口port1轉(zhuǎn)發(fā),而不會(huì)往其它端口(例如端口port2)進(jìn)行轉(zhuǎn)發(fā)。
也就是說(shuō),現(xiàn)有技術(shù)中的二層交換機(jī)對(duì)組播流的控制普遍使用IGMP-SNOOPING協(xié)議,通過(guò)監(jiān)聽(tīng)來(lái)自用戶(hù)主機(jī)的IGMP成員關(guān)系報(bào)告,以生成對(duì)應(yīng)的組播MAC表項(xiàng),并在該MAC表項(xiàng)對(duì)應(yīng)的端口集合中包含對(duì)應(yīng)的端口,從而引導(dǎo)組播流往所述端口進(jìn)行轉(zhuǎn)發(fā)。
該現(xiàn)有技術(shù)采用IGMP-SNOOPING協(xié)議,通過(guò)二層組播轉(zhuǎn)發(fā)表可以實(shí)現(xiàn)對(duì)組播流進(jìn)行端口級(jí)的轉(zhuǎn)發(fā)控制,但是其無(wú)法判斷來(lái)自主機(jī)的IGMP成員關(guān)系報(bào)告的合法性,這是因?yàn)?,交換機(jī)300從端口收到IGMP成員關(guān)系報(bào)告報(bào)文時(shí)不會(huì)檢查其合法性,只根據(jù)其包含的組地址,將該端口放入組播MAC地址對(duì)應(yīng)的端口集合中,因此在安全性方面存在不足之處。
具體而言,假設(shè)組播源100同時(shí)在播放多個(gè)組的節(jié)目,運(yùn)營(yíng)商希望只有通過(guò)DHCP(Dynamic Host Configuration Protocol,動(dòng)態(tài)主機(jī)配置協(xié)議)服務(wù)器500獲得IP地址的用戶(hù)主機(jī)才允許進(jìn)行點(diǎn)播,此時(shí)僅僅憑借IGMP-SNOOPING協(xié)議本身無(wú)法滿(mǎn)足此種需求。這是因?yàn)槿绻鳈C(jī)402未通過(guò)DHCP服務(wù)器500獲得IP地址,而是自己隨便配置IP地址,其只需要發(fā)送IGMP成員關(guān)系報(bào)告,照樣可以進(jìn)行點(diǎn)播。
請(qǐng)參閱圖2,是另一種組播系統(tǒng)的組網(wǎng)結(jié)構(gòu)圖。
基于該組網(wǎng)結(jié)構(gòu),現(xiàn)有技術(shù)中,IP主機(jī)401、402和403與其直接相鄰的組播接入設(shè)備600之間采用IGMP協(xié)議來(lái)建立、維護(hù)組播組成員關(guān)系。成員主機(jī)通過(guò)發(fā)送IGMP成員關(guān)系報(bào)告報(bào)文來(lái)加入組播組;組播接入設(shè)備600根據(jù)收到的IGMP成員關(guān)系報(bào)告在相應(yīng)的接口上記錄組播組的信息,從而可決定將相應(yīng)的組播流往該接口轉(zhuǎn)發(fā)。
根據(jù)IGMP協(xié)議,當(dāng)主機(jī)希望加入或者離開(kāi)指定的組播組并且準(zhǔn)備接收或者拒絕接收該組播業(yè)務(wù)時(shí),會(huì)發(fā)送IGMP消息以通知本地組播路由器。目前有三個(gè)版本,通常設(shè)備支持V1、V2兩個(gè)版本。
也就是說(shuō),現(xiàn)有技術(shù)中,組播接入設(shè)備600通過(guò)IGMP協(xié)議了解各接口連接的網(wǎng)段上是否存在某個(gè)組播組的接收者,即組成員,但是不會(huì)檢查IGMP成員關(guān)系報(bào)告的合法性,任何用戶(hù)只要發(fā)送相應(yīng)的組播組成員關(guān)系報(bào)告報(bào)文都能加入到組播組中,享受組播服務(wù)。因此,該現(xiàn)有技術(shù)在安全性方面存在不足之處。
具體而言,如果運(yùn)營(yíng)商要求只有通過(guò)DHCP服務(wù)器500動(dòng)態(tài)獲得IP地址的用戶(hù)才可以加入組播組,顯然僅僅使用IGMP協(xié)議的該現(xiàn)有技術(shù)的方案無(wú)法滿(mǎn)足此種需求。例如,主機(jī)402沒(méi)有通過(guò)DHCP服務(wù)器500獲取合法的IP地址,而是配置靜態(tài)的IP地址,并且發(fā)送相應(yīng)的IGMP成員關(guān)系報(bào)告報(bào)文,點(diǎn)播組播節(jié)目也是可以成功的。
有鑒于此,需要提供一種新型的建立和維護(hù)組播組成員關(guān)系的機(jī)制。
發(fā)明內(nèi)容
本發(fā)明解決的技術(shù)問(wèn)題在于提供一種組播組成員認(rèn)證方法和裝置,可以解決組播接入的安全性控制問(wèn)題,使得只有特定的用戶(hù)主機(jī)才允許進(jìn)行點(diǎn)播。
為此,本發(fā)明解決技術(shù)問(wèn)題的技術(shù)方案是提供一種組播組成員認(rèn)證方法,包括步驟1)生成和維護(hù)允許加入組播組的主機(jī)的信息及其連接的端口的對(duì)應(yīng)關(guān)系;2)接收并解析來(lái)自主機(jī)的組播組加入請(qǐng)求;3)根據(jù)該組播組加入請(qǐng)求進(jìn)入的端口,判斷其中包含的主機(jī)信息是否存在于前述對(duì)應(yīng)關(guān)系中;如果是,則進(jìn)入步驟4);如果否,則進(jìn)入步驟5);4)將該主機(jī)添加至組播組;5)進(jìn)行失敗處理。
優(yōu)選地,所述步驟1)和步驟3)中的主機(jī)信息包括主機(jī)的IP地址、MAC地址及其所屬VLAN;所述步驟2)的解析包括獲取該請(qǐng)求的源IP地址、源MAC地址以及獲取發(fā)出請(qǐng)求的主機(jī)所屬VLAN。
優(yōu)選地,所述步驟2)和3)所述的組播組加入請(qǐng)求是主機(jī)發(fā)出的IGMP成員關(guān)系報(bào)告報(bào)文。
優(yōu)選地,所述步驟1)的生成對(duì)應(yīng)關(guān)系包括監(jiān)聽(tīng)主機(jī)通過(guò)DHCP獲得動(dòng)態(tài)IP地址的過(guò)程中的DHCP協(xié)議報(bào)文;對(duì)應(yīng)報(bào)文傳輸?shù)亩丝趤?lái)記錄該報(bào)文相關(guān)信息。
優(yōu)選地,所述DHCP協(xié)議報(bào)文是DHCP服務(wù)器發(fā)出的DHCPACK報(bào)文,報(bào)文相關(guān)的信息包括主機(jī)所屬VLAN、主機(jī)IP地址、主機(jī)MAC地址。
優(yōu)選地,所述DHCP協(xié)議報(bào)文是主機(jī)發(fā)出的DHCP REQUEST報(bào)文,報(bào)文相關(guān)的信息包括主機(jī)所屬VLAN、主機(jī)IP地址、主機(jī)MAC地址。
優(yōu)選地,所述步驟1)的生成對(duì)應(yīng)關(guān)系包括靜態(tài)配置允許加入組播組的主機(jī)連接的端口號(hào)、IP地址、MAC地址及其所屬VLAN。
優(yōu)選地,所述步驟4)中的添加過(guò)程包括將該端口放入對(duì)應(yīng)組播MAC表項(xiàng)的端口集合中或者將組播組注冊(cè)到該端口下;所述步驟5)中的失敗處理是丟棄該組播組加入請(qǐng)求。
本發(fā)明提供的另一種組播組成員認(rèn)證方法,包括步驟1)建立允許加入組播組的主機(jī)所具有的特征信息的表項(xiàng);2)判斷發(fā)出組播組加入請(qǐng)求的主機(jī)是否具備所述表項(xiàng)中的特征,如果具備,添加該主機(jī)至所述組播組;如果不具備,進(jìn)行失敗處理。
優(yōu)選地,所述特征信息包括允許加入組播組的主機(jī)的信息及其連接的端口的對(duì)應(yīng)關(guān)系;所述步驟2)的判斷包括根據(jù)該組播組加入請(qǐng)求進(jìn)入的端口,判斷該請(qǐng)求中包含的主機(jī)信息是否存在于前述對(duì)應(yīng)關(guān)系中。
優(yōu)選地,所述步驟2)的主機(jī)信息包括主機(jī)的IP地址、MAC地址及其所屬VLAN。
本發(fā)明還提供一種組播組成員認(rèn)證裝置,連接在組播源和至少一個(gè)主機(jī)之間,用于維護(hù)允許加入組播組的主機(jī)的信息和端口的對(duì)應(yīng)關(guān)系;接收并解析來(lái)自主機(jī)的組播組加入請(qǐng)求;當(dāng)該組播組加入請(qǐng)求中包含的主機(jī)信息存在于該請(qǐng)求進(jìn)入的端口下的前述對(duì)應(yīng)關(guān)系中時(shí)將該主機(jī)添加至組播組。
優(yōu)選地,所述組播組成員認(rèn)證裝置是支持IGMP-SNOOPING協(xié)議和DHCP-SNOOPING協(xié)議的二層交換機(jī);所述對(duì)應(yīng)關(guān)系中包括二層交換機(jī)通過(guò)監(jiān)聽(tīng)DHCP協(xié)議交互報(bào)文所記錄的端口及主機(jī)相關(guān)信息;所述組播組加入請(qǐng)求是IGMP成員關(guān)系報(bào)告報(bào)文。
優(yōu)選地,所述組播組成員認(rèn)證裝置是支持IGMP協(xié)議且開(kāi)啟DHCP Relay功能的組播接入設(shè)備;所述對(duì)應(yīng)關(guān)系中包括組播接入設(shè)備通過(guò)監(jiān)聽(tīng)DHCP協(xié)議交互報(bào)文所記錄的端口及主機(jī)相關(guān)信息;所述組播組加入請(qǐng)求是IGMP成員關(guān)系報(bào)告報(bào)文。
優(yōu)選地,所述組播組成員認(rèn)證裝置包括對(duì)應(yīng)關(guān)系維護(hù)單元,用于維護(hù)允許加入組播組的主機(jī)的信息和端口的對(duì)應(yīng)關(guān)系;組播組加入請(qǐng)求解析單元,用于解析來(lái)自主機(jī)的組播組加入請(qǐng)求;組播組成員添加單元,用于在該組播組加入請(qǐng)求中包含的主機(jī)信息存在于前述對(duì)應(yīng)關(guān)系中時(shí),用于在該組播組加入請(qǐng)求中包含的主機(jī)信息存在于前述對(duì)應(yīng)關(guān)系中時(shí)將該主機(jī)添加至組播組。
優(yōu)選地,當(dāng)該組播組成員認(rèn)證裝置是組播接入設(shè)備時(shí),該組播組成員添加單元將組播組注冊(cè)到該端口下。
優(yōu)選地,當(dāng)該組播組成員認(rèn)證裝置是二層交換機(jī)時(shí),該組播組成員添加單元將收到的IGMP成員關(guān)系報(bào)告的端口加入到該組播組對(duì)應(yīng)的組播MAC表項(xiàng)的端口集合中。
相對(duì)于現(xiàn)有技術(shù),本發(fā)明的有益效果是由于本發(fā)明對(duì)于允許加入組播組的主機(jī),生成其連接的端口和主機(jī)相關(guān)信息的對(duì)應(yīng)關(guān)系;因此在接收到來(lái)自主機(jī)的加入組播組的進(jìn)行點(diǎn)播的請(qǐng)求后,可以根據(jù)請(qǐng)求對(duì)應(yīng)的主機(jī)信息來(lái)查詢(xún)對(duì)應(yīng)關(guān)系,即可以獲悉該主機(jī)是否是合法用戶(hù)主機(jī),從而決定是否允許其加入,因此可以解決組播接入的安全問(wèn)題,可以更好的控制用戶(hù)的接入。
此外,本發(fā)明的優(yōu)選方案中,基于IGMP協(xié)議和DHCP協(xié)議來(lái)實(shí)現(xiàn),其并不涉及對(duì)現(xiàn)有的標(biāo)準(zhǔn)協(xié)議的改動(dòng),只是設(shè)備自身加強(qiáng)安全性的處理,因此實(shí)現(xiàn)簡(jiǎn)單且成本較低。
此外,本發(fā)明的優(yōu)選方案中,針對(duì)允許靜態(tài)配置的主機(jī),進(jìn)一步實(shí)現(xiàn)該對(duì)應(yīng)關(guān)系的靜態(tài)配置,因此實(shí)現(xiàn)更為便利,更具有靈活性。
圖1是一種組播系統(tǒng)的組網(wǎng)結(jié)構(gòu)圖;圖2是另一種組播系統(tǒng)的組網(wǎng)結(jié)構(gòu)圖;圖3是本發(fā)明的組播組成員認(rèn)證方法的一實(shí)施方式的流程圖;圖4是本發(fā)明的組播組成員認(rèn)證方法的另一實(shí)施方式的流程圖;圖5是本發(fā)明的包括組播組成員認(rèn)證裝置的組播系統(tǒng)的一實(shí)施方式的框圖;圖6是圖5所示的組播組成員認(rèn)證裝置的工作過(guò)程的流程圖;圖7是本發(fā)明的包括組播組成員認(rèn)證裝置的組播系統(tǒng)的另一實(shí)施方式的框圖。
具體實(shí)施例方式
請(qǐng)參閱圖3,是本發(fā)明的組播組成員認(rèn)證方法的一實(shí)施方式的流程圖。
該實(shí)施方式的網(wǎng)絡(luò)應(yīng)用環(huán)境可以參考圖1。其中,該二層交換機(jī)300同時(shí)支持IGMP-SNOOPING協(xié)議和DHCP-SNOOPING協(xié)議。
其中,IGMP-SNOOPING協(xié)議是一種在應(yīng)用在交換機(jī)上的二層組播協(xié)議。通過(guò)交換機(jī)監(jiān)聽(tīng)主機(jī)發(fā)出的IGMP協(xié)議報(bào)文和組播路由器發(fā)出的IGMP、PIM等組播路由協(xié)議報(bào)文,來(lái)建立特定組的組播MAC表項(xiàng),從而控制組播業(yè)務(wù)流在交換機(jī)內(nèi)的轉(zhuǎn)發(fā)。
DHCP SNOOPING協(xié)議是一種應(yīng)用在二層交換機(jī)上用以監(jiān)聽(tīng)DHCP報(bào)文功能的協(xié)議,通過(guò)監(jiān)聽(tīng)DHCP客戶(hù)端和服務(wù)器端的DHCP交互報(bào)文,以記錄相關(guān)信息。
本實(shí)施方式的成員認(rèn)證的基本過(guò)程包括步驟S310,二層交換機(jī)300通過(guò)DHCP-SNOOPING協(xié)議記錄某端口下分配出去的IP地址以及獲得該IP地址的主機(jī)的MAC地址和該主機(jī)所屬的VLAN(虛擬局域網(wǎng))信息。
所述的記錄過(guò)程具體可以是二層交換機(jī)300監(jiān)聽(tīng)來(lái)自DHCP服務(wù)器500的DHCP ACK報(bào)文,記錄該報(bào)文向主機(jī)轉(zhuǎn)發(fā)的出端口、主機(jī)所屬的VLAN,以及DHCP ACK報(bào)文的目的IP(也就是DHCP服務(wù)器分配給主機(jī)的IP地址)、DHCP ACK報(bào)文的目的MAC地址。
當(dāng)然,也可以通過(guò)監(jiān)聽(tīng)來(lái)自主機(jī)的DHCP REQUEST報(bào)文,記錄該報(bào)文中的相應(yīng)信息來(lái)實(shí)現(xiàn),此不贅述。
步驟S320,二層交換機(jī)300從某端口下接收來(lái)自某主機(jī)的IGMP成員關(guān)系報(bào)告。
本發(fā)明中,主要需要利用IGMP成員關(guān)系報(bào)告中所包含的下述信息主機(jī)的源IP地址、源MAC地址、所要加入的組播組地址。
步驟S330,二層交換機(jī)300判斷該主機(jī)的源IP地址和源MAC地址是否是其進(jìn)入交換機(jī)的端口下曾經(jīng)記錄的IP地址和MAC地址,以及是否曾記錄其所屬的VLAN信息;如果是,則進(jìn)入步驟S340;如果否,則進(jìn)入步驟S350。
步驟S340,進(jìn)行前述IGMP成員關(guān)系報(bào)告的正常處理。
步驟S350,進(jìn)行失敗處理,例如可以直接丟棄前述IGMP成員關(guān)系報(bào)告。
為了便于理解本實(shí)施方式,下面結(jié)合具體實(shí)例來(lái)描述。
二層交換機(jī)300使能DHCP-SNOOPING協(xié)議。當(dāng)下掛的用戶(hù)主機(jī)通過(guò)DHCP協(xié)議獲取IP地址時(shí),二層交換機(jī)300對(duì)DHCP的協(xié)議交互報(bào)文進(jìn)行監(jiān)聽(tīng),從而記錄如表1所示的端口信息關(guān)聯(lián)表。
表1
此表包含四個(gè)信息端口號(hào)、主機(jī)所屬VLAN、主機(jī)IP地址、主機(jī)MAC地址。當(dāng)某端口下的主機(jī)通過(guò)DHCP動(dòng)態(tài)獲得IP地址時(shí),相應(yīng)的該端口下的主機(jī)IP和主機(jī)MAC地址及該主機(jī)所屬的VLAN即可記錄下來(lái)。
例如圖1中,主機(jī)401通過(guò)DHCP服務(wù)器500申請(qǐng)動(dòng)態(tài)IP200.1.1.3,則二層交換機(jī)300可在表1中的端口port1下面,記錄其動(dòng)態(tài)獲得的IP地址200.1.1.3,以及該主機(jī)的MAC地址00-0A-EB-F0-EF-BE及該主機(jī)所屬的VLAN101。
二層交換機(jī)300在某端口收到IGMP成員關(guān)系報(bào)告,需要查看表1中的記錄,如果該端口下有IGMP成員關(guān)系報(bào)告的源IP地址和源MAC地址及該主機(jī)所屬的VLAN的記錄,則接受該IGMP成員關(guān)系報(bào)告,將該端口放入對(duì)應(yīng)組播MAC表項(xiàng)的端口集合中。
例如圖1中,主機(jī)401通過(guò)DHCP服務(wù)器500動(dòng)態(tài)獲得IP地址,則表1中必定會(huì)有對(duì)應(yīng)的表項(xiàng)port1、101、200.1.1.3、00-0A-EB-F0-EF-BE。當(dāng)交換機(jī)300從端口port1收到來(lái)自主機(jī)401的IGMP成員關(guān)系報(bào)告時(shí),則必定能找到該表項(xiàng),從而對(duì)IGMP成員關(guān)系報(bào)告進(jìn)行正常處理。
如果該IGMP成員關(guān)系報(bào)告的源IP地址或者源MAC地址或者主機(jī)所屬VLAN不在表1的端口所關(guān)聯(lián)的信息中,則直接丟棄,不予處理。
例如圖1中,主機(jī)402未通過(guò)DHCP服務(wù)器500動(dòng)態(tài)獲得IP地址,而是直接配置一個(gè)靜態(tài)的IP地址200.1.1.10。當(dāng)交換機(jī)300從端口port1收到主機(jī)402發(fā)送的IGMP成員關(guān)系報(bào)告進(jìn)行點(diǎn)播時(shí),查找表1發(fā)現(xiàn)端口port1的關(guān)聯(lián)信息中沒(méi)有此IP地址,則直接丟棄該IGMP成員關(guān)系報(bào)告。
又例如圖1中,假設(shè)主機(jī)402趁主機(jī)401未上網(wǎng),配置與主機(jī)401相同的IP地址,但是由于其發(fā)送的IGMP成員關(guān)系報(bào)告的源MAC地址與主機(jī)401不同,則同樣通不過(guò)檢查。
此外,本發(fā)明中的端口信息關(guān)聯(lián)表并不限于通過(guò)DHCP協(xié)議來(lái)實(shí)現(xiàn),也可以通過(guò)靜態(tài)配置的方式來(lái)生成和維護(hù)。也就是說(shuō),對(duì)于允許靜態(tài)配置的用戶(hù)主機(jī)來(lái)說(shuō),可以提供命令對(duì)表1進(jìn)行靜態(tài)配置,此不贅述。
請(qǐng)參閱圖4,是本發(fā)明的組播組成員認(rèn)證方法的另一實(shí)施方式的流程圖。
該實(shí)施方式的網(wǎng)絡(luò)應(yīng)用環(huán)境可以參考圖2。其中,組播接入設(shè)備600支持IGMP協(xié)議,且同時(shí)開(kāi)啟DHCP Relay功能。
通過(guò)DHCP Relay功能,用戶(hù)主機(jī)401、402和403可以不直接連接DHCP服務(wù)器500,而通過(guò)該組播接入設(shè)備600連接DHCP服務(wù)器500。主機(jī)401、402和403通過(guò)DHCP Relay和DHCP服務(wù)器500通信,動(dòng)態(tài)獲得合法的IP地址。從而,多個(gè)網(wǎng)絡(luò)上的用戶(hù)主機(jī)可以使用同一個(gè)DHCP服務(wù)器,既節(jié)省成本,又便于進(jìn)行集中管理。
本實(shí)施方式的成員認(rèn)證的基本過(guò)程包括步驟S410,組播接入設(shè)備600依靠DHCP Relay生成端口信息關(guān)聯(lián)表,該表記錄已分配到IP地址的合法用戶(hù)主機(jī)的IP地址及其MAC地址和主機(jī)所屬VLAN。
通過(guò)DHCP Relay記錄表項(xiàng)的過(guò)程具體可以是執(zhí)行DHCP Relay的組播接入設(shè)備600通過(guò)監(jiān)聽(tīng)DHCP服務(wù)器500的DHCP ACK報(bào)文,記錄該報(bào)文向主機(jī)轉(zhuǎn)發(fā)的出端口、主機(jī)所屬的VLAN,以及DHCP ACK報(bào)文的目的IP、DHCPACK報(bào)文的目的MAC地址。
當(dāng)然,也可以通過(guò)監(jiān)聽(tīng)來(lái)自主機(jī)的DHCP REQUEST報(bào)文,記錄該報(bào)文中的相應(yīng)信息來(lái)實(shí)現(xiàn),此不贅述。
步驟S420,組播接入設(shè)備600從某端口接收IGMP成員關(guān)系報(bào)告。
步驟S430,組播接入設(shè)備600判斷該主機(jī)的源IP地址和源MAC地址是否是該端口下曾經(jīng)記錄的IP地址和MAC地址,以及是否曾經(jīng)記錄主機(jī)所屬VLAN;如果是,則進(jìn)入步驟S440;如果否,則進(jìn)入步驟S450。
步驟S440,進(jìn)行前述IGMP成員關(guān)系報(bào)告的正常處理。
步驟S450,進(jìn)行失敗處理,例如可以直接丟棄前述IGMP成員關(guān)系報(bào)告。
為了便于理解本實(shí)施方式,下面結(jié)合具體實(shí)例來(lái)描述。
用戶(hù)主機(jī)在使用DHCP協(xié)議動(dòng)態(tài)獲得IP地址時(shí),組播接入設(shè)備600通過(guò)DHCP Relay記錄獲得動(dòng)態(tài)IP地址的用戶(hù)主機(jī)的MAC地址以及連接的端口號(hào)以及主機(jī)所屬的VLAN,形成表2所示的端口信息關(guān)聯(lián)表。
表2
例如圖2中,連接在端口port1下的主機(jī)401通過(guò)DHCP服務(wù)器500獲得IP地址10.10.10.2,其MAC地址為00-11-43-01-EA-16,主機(jī)所屬VLAN為201,則記錄如表2所示。
當(dāng)組播接入設(shè)備600從某端口收到來(lái)自主機(jī)的IGMP成員關(guān)系報(bào)告后,首先在表2中查看其源IP地址和源MAC地址是否記錄在該端口下,以及是否曾經(jīng)記錄主機(jī)所屬VLAN;如果是,則通過(guò)檢查,將組播組記錄在該端口下。
例如圖2中,主機(jī)401通過(guò)DHCP服務(wù)器500動(dòng)態(tài)獲得IP地址10.10.10.2,則組播接入設(shè)備600通過(guò)DHCP Relay將其IP地址和MAC地址記錄在表2中;當(dāng)組播接入設(shè)備600從端口port1下接收到來(lái)自主機(jī)401的IGMP成員關(guān)系報(bào)告,通過(guò)檢索表2發(fā)現(xiàn)端口port1下有其源IP地址和源MAC地址及主機(jī)所屬VLAN的記錄,于是通過(guò)檢查,將組播組記錄在該端口下。
如果組播接入設(shè)備600檢索發(fā)現(xiàn)源IP地址或者源MAC地址或者主機(jī)所屬VLAN在該端口下沒(méi)記錄,則直接丟棄不予處理。
例如圖2中,主機(jī)402未通過(guò)DHCP服務(wù)器500動(dòng)態(tài)獲得IP地址,而是配置一個(gè)靜態(tài)IP地址10.10.10.10,則組播接入設(shè)備600接收到主機(jī)402發(fā)出的IGMP成員關(guān)系報(bào)告,通過(guò)檢索表2,發(fā)現(xiàn)端口port1下沒(méi)有IP地址10.10.10.10的記錄,于是直接丟棄。
又例如,假如主機(jī)402趁主機(jī)401未上網(wǎng),配置與主機(jī)401相同的靜態(tài)IP地址,當(dāng)組播接入設(shè)備600從端口port1下收到來(lái)自主機(jī)402的IGMP成員關(guān)系報(bào)告,通過(guò)檢索表2發(fā)現(xiàn)端口port1下未記錄其源MAC地址的信息,則直接丟棄報(bào)文。
此外,本發(fā)明中的端口信息關(guān)聯(lián)表并不限于通過(guò)DHCP協(xié)議來(lái)實(shí)現(xiàn),也可以通過(guò)靜態(tài)配置的方式來(lái)生成和維護(hù)。也就是說(shuō),對(duì)于允許靜態(tài)配置的用戶(hù)主機(jī)來(lái)說(shuō),可以提供命令對(duì)表2進(jìn)行靜態(tài)配置。
需要說(shuō)明的是,還可以將圖3和圖4所示的實(shí)施方式結(jié)合起來(lái)實(shí)施,進(jìn)一步增強(qiáng)對(duì)組播接入的控制,此不贅述。
請(qǐng)參閱圖5,是本發(fā)明的包括組播組成員認(rèn)證裝置的組播系統(tǒng)的一個(gè)實(shí)施方式的框圖。
組播組成員認(rèn)證裝置900連接在組播源100和多個(gè)主機(jī)400之間,用于維護(hù)允許加入組播組的主機(jī)的信息和端口的對(duì)應(yīng)關(guān)系;解析來(lái)自主機(jī)的組播組加入請(qǐng)求;當(dāng)該組播組加入請(qǐng)求中包含的主機(jī)信息存在于前述對(duì)應(yīng)關(guān)系中時(shí)將該主機(jī)添加至組播組。
其中,該組播組成員認(rèn)證裝置900包括多個(gè)端口(未標(biāo)示),用于連接至多個(gè)主機(jī)400;對(duì)應(yīng)關(guān)系維護(hù)單元920,用于維護(hù)允許加入組播組的主機(jī)的信息和端口的對(duì)應(yīng)關(guān)系;組播組加入請(qǐng)求解析單元930,用于解析來(lái)自主機(jī)的組播組加入請(qǐng)求;組播組成員添加單元940,用于在該組播組加入請(qǐng)求中包含的主機(jī)信息存在于前述對(duì)應(yīng)關(guān)系中時(shí)將該主機(jī)添加至組播組。
該實(shí)施方式的組播組成員認(rèn)證裝置的工作過(guò)程請(qǐng)一并參閱圖6。
步驟S610,生成和維護(hù)允許加入組播組的主機(jī)的信息及其連接的端口的對(duì)應(yīng)關(guān)系;步驟S620,接收并解析來(lái)自主機(jī)的組播組加入請(qǐng)求;步驟S630,判斷該組播組加入請(qǐng)求中包含的主機(jī)信息是否存在于前述對(duì)應(yīng)關(guān)系中;如果是,則進(jìn)入步驟S640;如果否,則進(jìn)入步驟S650;步驟S640,將該主機(jī)添加至組播組;
步驟S650,進(jìn)行失敗處理。
請(qǐng)參閱圖7,是本發(fā)明的包括組播組成員認(rèn)證裝置的組播系統(tǒng)的另一個(gè)實(shí)施方式的框圖。
該實(shí)施方式與圖5所示的實(shí)施方式大致相同,不同之處在于,該實(shí)施方式中,組播組成員認(rèn)證裝置900還連接至DHCP服務(wù)器500。
其中,所述允許加入的主機(jī)是指通過(guò)DHCP服務(wù)器500獲得動(dòng)態(tài)IP地址的主機(jī)。所述組播組成員認(rèn)證裝置900在某主機(jī)通過(guò)DHCP服務(wù)器500獲得動(dòng)態(tài)IP地址時(shí),生成該主機(jī)連接的端口和該主機(jī)的IP地址、MAC地址和其所屬VLAN的信息。該實(shí)施方式使得只有通過(guò)DHCP服務(wù)器獲得IP地址的用戶(hù)主機(jī)才允許進(jìn)行點(diǎn)播。
綜上所述,本發(fā)明通過(guò)建立允許加入組播組的主機(jī)所具有的特征信息的表項(xiàng);并且判斷發(fā)出組播組加入請(qǐng)求的主機(jī)是否具備所述表項(xiàng)中的特征,如果具備,添加該主機(jī)至所述組播組;如果不具備,進(jìn)行失敗處理,可以解決組播接入的安全性控制問(wèn)題。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種組播組成員認(rèn)證方法,其特征在于,包括步驟1)生成和維護(hù)允許加入組播組的主機(jī)的信息及其連接的端口的對(duì)應(yīng)關(guān)系;2)接收并解析來(lái)自主機(jī)的組播組加入請(qǐng)求;3)根據(jù)該組播組加入請(qǐng)求進(jìn)入的端口,判斷其中包含的主機(jī)信息是否存在于前述對(duì)應(yīng)關(guān)系中;如果是,則進(jìn)入步驟4);如果否,則進(jìn)入步驟5);4)將該主機(jī)添加至組播組;5)進(jìn)行失敗處理。
2.根據(jù)權(quán)利要求1所述的組播組成員認(rèn)證方法,其特征在于,所述步驟1)和步驟3)中的主機(jī)信息包括主機(jī)的IP地址、MAC地址及其所屬VLAN;所述步驟2)的解析包括獲取該請(qǐng)求的源IP地址、源MAC地址以及獲取發(fā)出請(qǐng)求的主機(jī)所屬VLAN。
3.根據(jù)權(quán)利要求2所述的組播組成員認(rèn)證方法,其特征在于,所述步驟2)和3)所述的組播組加入請(qǐng)求是主機(jī)發(fā)出的IGMP成員關(guān)系報(bào)告報(bào)文。
4.根據(jù)權(quán)利要求1所述的組播組成員認(rèn)證方法,其特征在于,所述步驟1)的生成對(duì)應(yīng)關(guān)系包括監(jiān)聽(tīng)主機(jī)通過(guò)DHCP獲得動(dòng)態(tài)IP地址的過(guò)程中的DHCP協(xié)議報(bào)文;對(duì)應(yīng)報(bào)文傳輸?shù)亩丝趤?lái)記錄該報(bào)文相關(guān)信息。
5.根據(jù)權(quán)利要求4所述的組播組成員認(rèn)證方法,其特征在于,所述DHCP協(xié)議報(bào)文是DHCP服務(wù)器發(fā)出的DHCP ACK報(bào)文,報(bào)文相關(guān)的信息包括主機(jī)所屬VLAN、主機(jī)IP地址、主機(jī)MAC地址。
6.根據(jù)權(quán)利要求4所述的組播組成員認(rèn)證方法,其特征在于,所述DHCP協(xié)議報(bào)文是主機(jī)發(fā)出的DHCP REQUEST報(bào)文,報(bào)文相關(guān)的信息包括主機(jī)所屬VLAN、主機(jī)IP地址、主機(jī)MAC地址。
7.根據(jù)權(quán)利要求1所述的組播組成員認(rèn)證方法,其特征在于,所述步驟1)的生成對(duì)應(yīng)關(guān)系包括靜態(tài)配置允許加入組播組的主機(jī)連接的端口號(hào)、IP地址、MAC地址及其所屬VLAN。
8.根據(jù)權(quán)利要求1所述的組播組成員認(rèn)證方法,其特征在于,所述步驟4)中的添加過(guò)程包括將該端口放入對(duì)應(yīng)組播MAC表項(xiàng)的端口集合中或者將組播組注冊(cè)到該端口下;所述步驟5)中的失敗處理是丟棄該組播組加入請(qǐng)求。
9.一種組播組成員認(rèn)證方法,其特征在于,包括步驟1)建立允許加入組播組的主機(jī)所具有的特征信息的表項(xiàng);2)判斷發(fā)出組播組加入請(qǐng)求的主機(jī)是否具備所述表項(xiàng)中的特征,如果具備,添加該主機(jī)至所述組播組;如果不具備,進(jìn)行失敗處理。
10.如權(quán)利要求9所述的組播組成員認(rèn)證方法,其特征在于,所述特征信息包括允許加入組播組的主機(jī)的信息及其連接的端口的對(duì)應(yīng)關(guān)系;所述步驟2)的判斷包括根據(jù)該組播組加入請(qǐng)求進(jìn)入的端口,判斷該請(qǐng)求中包含的主機(jī)信息是否存在于前述對(duì)應(yīng)關(guān)系中。
11.如權(quán)利要求10所述的組播組成員認(rèn)證方法,其特征在于,所述步驟2)的主機(jī)信息包括主機(jī)的IP地址、MAC地址及其所屬VLAN。
12.一種組播組成員認(rèn)證裝置,其特征在于,連接在組播源和至少一個(gè)主機(jī)之間,用于維護(hù)允許加入組播組的主機(jī)的信息和端口的對(duì)應(yīng)關(guān)系;接收并解析來(lái)自主機(jī)的組播組加入請(qǐng)求;當(dāng)該組播組加入請(qǐng)求中包含的主機(jī)信息存在于該請(qǐng)求進(jìn)入的端口下的前述對(duì)應(yīng)關(guān)系中時(shí)將該主機(jī)添加至組播組。
13.根據(jù)權(quán)利要求12所述的組播組成員認(rèn)證裝置,其特征在于,所述組播組成員認(rèn)證裝置是支持IGMP-SNOOPING協(xié)議和DHCP-SNOOPING協(xié)議的二層交換機(jī);所述對(duì)應(yīng)關(guān)系中包括二層交換機(jī)通過(guò)監(jiān)聽(tīng)DHCP協(xié)議交互報(bào)文所記錄的端口及主機(jī)相關(guān)信息;所述組播組加入請(qǐng)求是IGMP成員關(guān)系報(bào)告報(bào)文。
14.根據(jù)權(quán)利要求12所述的組播組成員認(rèn)證裝置,其特征在于,所述組播組成員認(rèn)證裝置是支持IGMP協(xié)議且開(kāi)啟DHCP Relay功能的組播接入設(shè)備;所述對(duì)應(yīng)關(guān)系中包括組播接入設(shè)備通過(guò)監(jiān)聽(tīng)DHCP協(xié)議交互報(bào)文所記錄的端口及主機(jī)相關(guān)信息;所述組播組加入請(qǐng)求是IGMP成員關(guān)系報(bào)告報(bào)文。
15.根據(jù)權(quán)利要求12所述的組播組成員認(rèn)證裝置,其特征在于,包括對(duì)應(yīng)關(guān)系維護(hù)單元,用于維護(hù)允許加入組播組的主機(jī)的信息和端口的對(duì)應(yīng)關(guān)系;組播組加入請(qǐng)求解析單元,用于解析來(lái)自主機(jī)的組播組加入請(qǐng)求;組播組成員添加單元,用于在該組播組加入請(qǐng)求中包含的主機(jī)信息存在于前述對(duì)應(yīng)關(guān)系中時(shí),用于在該組播組加入請(qǐng)求中包含的主機(jī)信息存在于前述對(duì)應(yīng)關(guān)系中時(shí)將該主機(jī)添加至組播組。
16.根據(jù)權(quán)利要求15所述的組播組成員認(rèn)證裝置,其特征在于,當(dāng)該組播組成員認(rèn)證裝置是組播接入設(shè)備時(shí),該組播組成員添加單元將組播組注冊(cè)到該端口下。
17.根據(jù)權(quán)利要求15所述的組播組成員認(rèn)證裝置,其特征在于,當(dāng)該組播組成員認(rèn)證裝置是二層交換機(jī)時(shí),該組播組成員添加單元將收到的IGMP成員關(guān)系報(bào)告的端口加入到該組播組對(duì)應(yīng)的組播MAC表項(xiàng)的端口集合中。
全文摘要
本發(fā)明公開(kāi)一種組播組成員認(rèn)證方法,包括步驟生成和維護(hù)允許加入組播組的主機(jī)的信息及其連接的端口的對(duì)應(yīng)關(guān)系;接收并解析來(lái)自主機(jī)的組播組加入請(qǐng)求;根據(jù)該組播組加入請(qǐng)求進(jìn)入的端口,判斷其中包含的主機(jī)信息是否存在于前述對(duì)應(yīng)關(guān)系中;如果是,則將該主機(jī)添加至組播組;如果否,則進(jìn)行失敗處理。本發(fā)明還公開(kāi)一種組播組成員認(rèn)證裝置。本發(fā)明可以解決組播接入的安全性控制問(wèn)題。
文檔編號(hào)H04L29/06GK1801711SQ200610001529
公開(kāi)日2006年7月12日 申請(qǐng)日期2006年1月18日 優(yōu)先權(quán)日2006年1月18日
發(fā)明者周迪 申請(qǐng)人:杭州華為三康技術(shù)有限公司