專利名稱:基于802.1x協(xié)議的組播控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信網(wǎng)絡(luò)的組播控制方法,尤其是涉及基于802.1X協(xié)議的組播控制方法。
但是在目前廣泛使用IEEE 802.1X協(xié)議的局域網(wǎng)中,對于組播的控制只能基于端口完成,即通過將端口加入多播組的方式實現(xiàn)用戶加入多播組。當(dāng)用戶主機(jī)發(fā)起加入多播組的請求時,網(wǎng)絡(luò)交換設(shè)備根據(jù)情況將相應(yīng)用戶主機(jī)的MAC地址加入多播組,從而完成用戶多播組的加入。由于這種方法只能提供端口號和用戶主機(jī)的MAC地址,根本無法提供用戶信息,而沒有用戶信息導(dǎo)致無法進(jìn)行與用戶有關(guān)的控制。盡管IEEE802.1X協(xié)議是一種基于端口的網(wǎng)絡(luò)訪問控制協(xié)議,可以針對用戶進(jìn)行管理,一個端口可以容納多個用戶認(rèn)證,但是目前還無法利用上述特點控制用戶的組播加入,即控制用戶加入多播組,從而導(dǎo)致用戶組播加入的不可控性。
為達(dá)到上述目的,本發(fā)明提供的基于802.1X協(xié)議的組播控制方法,包括步驟1當(dāng)通過認(rèn)證的用戶發(fā)出加入多播組的報文時,截獲該報文;步驟2從截獲的報文中獲取用戶的端口和MAC地址;步驟3利用上述端口和MAC地址從已認(rèn)證的數(shù)據(jù)中查找對應(yīng)的用戶賬號信息;步驟4對用戶的賬號和組播IP地址進(jìn)行認(rèn)證,認(rèn)證通過后將該用戶添加到多播組,否則拒絕。
所述方法還包括采用802.1X認(rèn)證端的認(rèn)證服務(wù)器對用戶的賬號和組播IP地址進(jìn)行認(rèn)證。
在對用戶的賬號和組播IP地址進(jìn)行認(rèn)證時,通過檢查組播IP地址是否被授權(quán)接收該帳號用戶完成認(rèn)證。
如果802.1X協(xié)議基于端口認(rèn)證,掛接在該端口下的用戶申請加入多播組時,首先查詢該用戶的MAC地址是否存在,如果存在,則根據(jù)找到的該用戶的MAC地址和端口號查找用戶賬號。
如果802.1X協(xié)議基于MAC認(rèn)證,掛接在該端口下的用戶申請加入多播組時,直接根據(jù)用戶的MAC地址和端口號查找用戶賬號。
在上述方案中,用戶使用IGMP協(xié)議進(jìn)行多播組的加入。
由于本發(fā)明在通過802.1X協(xié)議認(rèn)證的用戶要求加入多播組時,首先攔截該加入多播組的報文,此時,并不直接將該用戶增加到多播組,而是將從截獲的報文中獲取該用戶的端口和MAC地址,再利用上述端口和MAC地址從已認(rèn)證的數(shù)據(jù)中查找對應(yīng)的用戶賬號信息,然后將該用戶的賬號和組播IP地址再次進(jìn)行認(rèn)證,認(rèn)證通過后才將該用戶添加到多播組,否則拒絕;這種方案能實現(xiàn)受控組播,對用戶組播加入進(jìn)行合法性認(rèn)證和計費;另外,這種方法不需要修改組播客戶端軟件和服務(wù)器軟件,只需在802.1X設(shè)備端和認(rèn)證端的認(rèn)證服務(wù)器上進(jìn)行簡單的設(shè)置即可實現(xiàn),有利于保護(hù)用戶已有投資和現(xiàn)有軟件的兼容。
首先參考
圖1。圖1所采用的IEEE 802.1X協(xié)議是一種基于端口的網(wǎng)絡(luò)訪問控制協(xié)議,用于在網(wǎng)絡(luò)設(shè)備的物理接入級對接入客戶端進(jìn)行認(rèn)證和控制。圖1中共有三個實體802.1X客戶端、802.1X設(shè)備端、認(rèn)證端。在802.1X設(shè)備端和認(rèn)證端的認(rèn)證服務(wù)器之間采用可擴(kuò)展的認(rèn)證協(xié)議(EAP)交換認(rèn)證信息。EAPoL是802.1X客戶端和802.1X設(shè)備端間的認(rèn)證協(xié)議。通常,在網(wǎng)絡(luò)的接入層設(shè)備需要實現(xiàn)802.1X的設(shè)備端部分;802.1X的客戶端安裝在用戶PC中;802.1X的認(rèn)證服務(wù)器系統(tǒng)一般駐留在運營商的AAA(計費、認(rèn)證和授權(quán))中心。在802.1X設(shè)備端內(nèi)部有受控端口(Controlled Port)和非受控端口(Uncontrolled Port)。非受控端口始終處于雙向連通狀態(tài),主要用來傳遞EAPoL協(xié)議幀,可保證隨時接收和發(fā)送EAPoL協(xié)議幀。受控端口只有在認(rèn)證通過的狀態(tài)下才打開,用于傳遞網(wǎng)絡(luò)資源和服務(wù)。受控端口可配置為雙向受控、單向受控兩種方式,以適應(yīng)不同的應(yīng)用環(huán)境。在上述體系結(jié)構(gòu)下,如果采用以太網(wǎng)交換機(jī)或?qū)拵Ы尤朐O(shè)備實現(xiàn)802.1X設(shè)備端,則連接在以太網(wǎng)交換機(jī)或?qū)拵Ы尤朐O(shè)備端口上客戶端的用戶設(shè)備如果能通過認(rèn)證,就可以訪問網(wǎng)絡(luò)內(nèi)的資源;如果不能通過認(rèn)證,則無法訪問網(wǎng)絡(luò)內(nèi)的資源。上述端口可以是物理端口,也可以是邏輯端口,例如,在以太網(wǎng)交換機(jī)的一個物理端口連接一臺客戶端計算機(jī)就是一種典型的應(yīng)用方式。
在圖1所示的體系中,目前在802.1X設(shè)備端和認(rèn)證服務(wù)器之間也可以運行的Radius(遠(yuǎn)程用戶撥號認(rèn)證)協(xié)議,因此,認(rèn)證服務(wù)器為Radius服務(wù)器(Radius Server),802.1X設(shè)備端可以看作Radius服務(wù)器的客戶端。
由上述可知,在圖1所示的體系中,如果以太網(wǎng)交換機(jī)將用戶通過802.1X客戶端發(fā)出的EAPoL-Start報文透傳到802.1X設(shè)備端后,會觸發(fā)802.1X協(xié)議對用戶的認(rèn)證。當(dāng)認(rèn)證端的認(rèn)證服務(wù)器對用戶的認(rèn)證通過后,802.1X設(shè)備端的受控端口即可打開,用于為用戶傳遞網(wǎng)絡(luò)資源和服務(wù),從而使用戶處于網(wǎng)絡(luò)在線階段。假設(shè)一在線用戶的主機(jī)想加入一個多播組,于是該用戶主機(jī)通過組播客戶端軟件發(fā)出一個IGMP(假設(shè)采用該協(xié)議,但實際中用戶加入多播組并局限于僅使用該協(xié)議)的加入消息給作為設(shè)備端的以太網(wǎng)交換機(jī),告訴以太網(wǎng)交換機(jī)自己想加入該多播組,進(jìn)而使以太網(wǎng)交換機(jī)開始轉(zhuǎn)發(fā)該多播組的數(shù)據(jù)給發(fā)出消息的用戶主機(jī)。
因此,只要當(dāng)用戶通過基于802.1X協(xié)議的認(rèn)證,即可完成802.1X協(xié)議對該用戶的網(wǎng)絡(luò)連接,在此基礎(chǔ)上,如果用戶要加入多播組,就可以從用戶基于上述連接的加入多播組的消息或報文中獲取用戶主機(jī)的MAC地址和端口號,這樣就可以利用所述MAC地址和端口號從用戶的認(rèn)證數(shù)據(jù)中獲取用戶的詳細(xì)信息,實現(xiàn)組播加入的控制,從而解決現(xiàn)有方法的組播加入的不可控問題。
本發(fā)明的原理參考圖2。圖2所示的以太網(wǎng)交換機(jī)用于連接圖1所示的客戶端,并且用于實現(xiàn)圖1所示的設(shè)備端,因此該以太網(wǎng)交換機(jī)將用于客戶端網(wǎng)絡(luò)連接通道的開關(guān)控制。由于連接在以太網(wǎng)交換機(jī)端口上的用戶未通過認(rèn)證時該端口不能使用,而通過認(rèn)證用戶認(rèn)證的端口可以自動動態(tài)配置并訪問網(wǎng)絡(luò)資源,這就給圖2所示的基于802.1X協(xié)議的以太網(wǎng)交換機(jī)為運營商帶來了可運營特征。圖2中,作為802.1X的設(shè)備端的以太網(wǎng)交換機(jī)采用Radius協(xié)議模塊與認(rèn)證端的Radius服務(wù)器傳遞認(rèn)證信息。802.1X認(rèn)證模塊用于從交換機(jī)的相應(yīng)端口接收用戶發(fā)出的基于802.1X的認(rèn)證信息,并將所述認(rèn)證信息通過Radius認(rèn)證模塊傳遞到認(rèn)證端的認(rèn)證服務(wù)器進(jìn)行認(rèn)證,該認(rèn)證信息中包括用戶的詳細(xì)信息,如用戶名、密碼等。如果認(rèn)證通過,則不但在已認(rèn)證的信息中包括該用戶的詳細(xì)信息,而且也會使802.1X認(rèn)證模塊開通連接該用戶的端口業(yè)務(wù)通道(相當(dāng)于接通圖2中的開關(guān)K1),這樣用戶就可以通過該端口業(yè)務(wù)通道訪問網(wǎng)絡(luò)資源,即該用戶已經(jīng)完成了基于802.1X的網(wǎng)絡(luò)連接。在上述802.1X連接的基礎(chǔ)上,如果用戶通過端口業(yè)務(wù)通道發(fā)出加入多播組的報文或消息,假設(shè)為基于IGMP協(xié)議的報文,則可以通過設(shè)置使以太網(wǎng)交換機(jī)中的組播控制模塊攔截該IGMP報文,獲取其中用戶的MAC地址和端口號,然后利用上述MAC地址和端口號從該用戶的802.1X連接中獲取用戶賬號信息(用戶名、密碼等),然后根據(jù)用戶信息和組播IP地址建立受控組播連接,即,使組播控制模塊根據(jù)控制的需要控制組播開關(guān)K2的打開或閉合??梢?,通過將組播與802.1X認(rèn)證通過的端口和用戶MAC地址結(jié)合起來,就可以實現(xiàn)用戶組播加入的可控性。具體到圖2,802.1X認(rèn)證模塊負(fù)責(zé)端口業(yè)務(wù)通道開關(guān)K1的控制,組播控制模塊負(fù)責(zé)端口業(yè)務(wù)通道的組播開關(guān)K2的控制。
圖4是本發(fā)明所述方法的實施例流程圖。圖4描述的基于802.1X認(rèn)證的受控組播認(rèn)證過程參考圖3,圖4所述的實施例假設(shè)用戶采用IGMP報文加入多播組,并且預(yù)先已設(shè)置好交換機(jī)中的組播控制模塊在用戶發(fā)出IGMP報文后首先獲取該報文。按照圖4,首先用戶在步驟1上網(wǎng)初始時通過EAPoL報文觸發(fā)802.1X設(shè)備端的802.1X協(xié)議認(rèn)證,即,EAPoL報文被透傳到作為802.1X設(shè)備端的以太網(wǎng)交換機(jī)的802.1X認(rèn)證模塊,然后802.1X認(rèn)證模塊在步驟2將用戶的認(rèn)證信息通過Radius模塊與認(rèn)證端的Radius服務(wù)器進(jìn)行認(rèn)證。認(rèn)證通過后,將認(rèn)證通過的用戶信息保存到以太網(wǎng)交換機(jī)中,如保存到802.1X認(rèn)證模塊中。上述兩個步驟主要用于完成用戶的認(rèn)證過程,使用戶處于網(wǎng)絡(luò)在線狀態(tài)。如果通過認(rèn)證的用戶在步驟3發(fā)出IGMP報文要求加入一多播組,則組播控制模塊在步驟4攔截用戶發(fā)出的加入多播組的IGMP報文,此時,組播控制模塊并不直接將該用戶增加到多播組,而是將從IGMP報文中截獲的該用戶的端口號、MAC地址發(fā)送給802.1X認(rèn)證模塊,802.1X認(rèn)證模塊利用上述端口和MAC地址在步驟5從已認(rèn)證的數(shù)據(jù)中查找對應(yīng)的用戶賬號信息,找到后將該用戶賬號信息反饋給組播控制模塊,然后組播控制模塊將該用戶的賬號和組播IP地址在步驟6再次通過Radius模塊送到認(rèn)證端的Radius服務(wù)器進(jìn)行認(rèn)證,也就是利用用戶的賬號和組播IP地址進(jìn)行認(rèn)證,通過檢查組播IP地址是否被授權(quán)接收該帳號用戶完成認(rèn)證,認(rèn)證通過后才在步驟7將該用戶添加到多播組,否則拒絕。在用戶加入多播組后,組播控制模塊維持該組播連接,直到用戶請求退出。
需要說明,由于目前的以太網(wǎng)交換機(jī)基于802.1X協(xié)議的認(rèn)證方式有基于端口和基于MAC地址兩種方式,因此要對這兩種方式區(qū)別對待。對于基于端口的認(rèn)證方式,在該認(rèn)證模式下,每個端口802.1X模塊只控制一個認(rèn)證用戶,所以只維持一個802.1X連接,但通過802.1X認(rèn)證后,該端口可以下掛多臺用戶的PC,因此掛接在端口下的用戶PC申請加入多播組時,采用替換MAC方式,即首先向802.1X模塊查詢該用戶的MAC地址是否存在,如果存在說明該用戶已通過認(rèn)證,則802.1X返回認(rèn)證用戶的MAC地址,組播控制模塊根據(jù)返回的MAC地址和端口號查找用戶賬號。
對于基于MAC地址的認(rèn)證方式,802.1X模塊對端口下掛的每臺PC都已認(rèn)證通過,且都有連接對應(yīng),因此掛接在該端口下的用戶申請加入多播組時,直接向802.1X模塊查詢該MAC地址,802.1X模塊返回該MAC地址后,再根據(jù)該MAC地址和端口號查找用戶賬號,所以每個用戶都能通過各自的MAC地址和端口號找到相應(yīng)的802.1X連接,即都可以獲取用戶賬號信息。
圖4所述的實施例采用Radius服務(wù)器管理用戶的信息,因此本實施例也采用Radius服務(wù)器對用戶的組播加入進(jìn)行控制,具體通過在Radius服務(wù)器中增加受控組播屬性項實現(xiàn),即在Radius服務(wù)器上配置用戶賬號,然后給該賬號增加增值組播服務(wù)項目。利用該屬性項可以為用戶增加一個或多個組播地址,當(dāng)Radius服務(wù)器接收到包括用戶帳號和組播IP地址的認(rèn)證請求時,若有受控組播屬性項目,則檢查組播IP地址是否被授權(quán),若已授權(quán)則返回成功,否則反饋認(rèn)證失敗。
因此可以通過將組播業(yè)務(wù)屬性項作為用戶的增值業(yè)務(wù)屬性,附屬在用戶帳戶上,首先增加用戶,然后再給該用戶開通組播頻道。這樣,通過本發(fā)明就可以為運營商提供組播增值服務(wù),將基本的802.1X上網(wǎng)認(rèn)證連接計費和增值的組播服務(wù)計費分開,便于不同服務(wù)提供商間的結(jié)算。
權(quán)利要求
1.一種基于802.1X協(xié)議的組播控制方法,包括步驟1當(dāng)通過認(rèn)證的用戶發(fā)出加入多播組的報文時,截獲該報文;步驟2從截獲的報文中獲取用戶的端口和MAC地址;步驟3利用上述端口和MAC地址從已認(rèn)證的數(shù)據(jù)中查找對應(yīng)的用戶賬號信息;步驟4對用戶的賬號和組播IP地址進(jìn)行認(rèn)證,認(rèn)證通過后將該用戶添加到多播組,否則拒絕。
2.根據(jù)權(quán)利要求1所述的基于802.1X協(xié)議的組播控制方法,其特征在于,所述方法還包括采用802.1X認(rèn)證端的認(rèn)證服務(wù)器對用戶的賬號和組播IP地址進(jìn)行認(rèn)證。
3.根據(jù)權(quán)利要求2所述的基于802.1X協(xié)議的組播控制方法,其特征在于,在對用戶的賬號和組播IP地址進(jìn)行認(rèn)證時,通過檢查組播IP地址是否被授權(quán)接收該帳號用戶完成認(rèn)證。
4.根據(jù)權(quán)利要求1所述的基于802.1X協(xié)議的組播控制方法,其特征在于,如果802.1X協(xié)議基于端口認(rèn)證,掛接在該端口下的用戶申請加入多播組時,首先查詢該用戶的MAC地址是否存在,如果存在,則根據(jù)找到的該用戶的MAC地址和端口號查找用戶賬號。如果802.1X協(xié)議基于MAC認(rèn)證,掛接在該端口下的用戶申請加入多播組時,直接根據(jù)用戶的MAC地址和端口號查找用戶賬號。
5.根據(jù)權(quán)利要求1、2、3或4所述的基于802.1X協(xié)議的組播控制方法,其特征在于,用戶使用IGMP協(xié)議進(jìn)行多播組的加入。
全文摘要
本發(fā)明公開了一種基于802.1X協(xié)議的組播控制方法,該方法在通過認(rèn)證的用戶發(fā)出加入多播組的報文時,截獲該報文,然后從截獲的報文中獲取用戶的端口和MAC地址,利用上述端口和MAC地址從已認(rèn)證的數(shù)據(jù)中查找對應(yīng)的用戶賬號信息,再對用戶的賬號和組播IP地址進(jìn)行認(rèn)證,認(rèn)證通過后將該用戶添加到多播組;上述方案能實現(xiàn)受控組播,對用戶組播加入進(jìn)行合法性認(rèn)證和計費,并且有利于保護(hù)用戶已有投資和現(xiàn)有軟件的兼容。
文檔編號H04L12/28GK1419363SQ0215461
公開日2003年5月21日 申請日期2002年11月26日 優(yōu)先權(quán)日2002年11月26日
發(fā)明者羅漢軍, 盧瑞昕 申請人:華為技術(shù)有限公司