專利名稱:一種單接入端口下多用戶的認證方法與系統的制作方法
技術領域:
本發明涉及網絡通信技術領域,尤其涉及一種在接入層交換機單端口下支持多用 戶的認證實現方法及系統。
背景技術:
802. lx協議起源于802. 11協議,后者是IEEE的無線局域網協議,制訂802. lx協 議的初衷是為了解決無線局域網用戶的接入認證問題。IEEE 802LAN協議定義的局域網并 不提供接入認證,只要用戶能接入局域網控制設備(如LANSwitch),就可以訪問局域網中 的設備或資源。這在早期企業網有線LAN應用環境下并不存在明顯的安全隱患。隨著移動辦公及駐地網運營等應用的大規模發展,服務提供者需要對用戶的接入 進行控制和配置。尤其是WLAN的應用和LAN接入在電信網上大規模開展,有必要對端口加 以控制以實現用戶級的接入控制,802. lx就是IEEELAN/WAN委員會為了解決基于端口的網 絡接入控制(Port-Based NetworkAccess Control)而定義的一個標準,該標準目前已經在 無線局域網和以太網中被廣泛應用。“基于端口的網絡接入控制”是指在局域網接入設備的端口這一級對所接入的用 戶設備進行認證和控制。連接在端口上的用戶設備如果能通過認證,就可以訪問局域網中 的資源;如果不能通過認證,則無法訪問局域網中的資源。在實際應用中802. lx下又衍生出了 Auto Vlan與Guest Vlan。Auto VLAN特性可以使RADIUS服務器根據用戶信息和用戶接入設備信息來動態 改變接入端口所屬的VLAN。當802. lx用戶在服務器上通過認證時,RADIUS服務器會把授 權信息傳送給設備端。當交換機接收到下發的AutoVLAN信息后,當前Access端口離開用 戶配置的VLAN并加入Auto VLAN中。Auto VLAN并不改變端口的配置,也不影響端口的配置。但是,Auto VLAN的優先 級高于用戶配置的VLAN,即通過認證后起作用的VLAN是Auto VLAN,用戶配置的VLAN在用 戶下線后生效。Guest VLAN特性用來允許未認證用戶訪問某些特定資源。用戶認證端口在通過802. lx認證之前屬于一個缺省VLAN(即GuestVLAN),用戶訪 問該VLAN內的資源不需要認證,但此時不能夠訪問其他網絡資源;認證成功后,端口離開 Guest VLAN,用戶可以訪問其他的網絡資源。用戶在Guest VLAN中可以獲取802. lx客戶端軟件,升級客戶端,或執行其他一些 應用升級程序(例如防病毒軟件、操作系統補丁程序等)。如果因為沒有專用的認證客戶端 或者客戶端版本過低等原因,導致在一定的時間內端口上無客戶端認證成功,接入設備會 把該端口加入到Guest VLAN。開啟802. lx特性并正確配置Guest VLAN后,當設備從某一端口發送觸發認證報 文(EAP-Request/Identity)超過設定的最大次數而沒有收到客戶端的任何回應報文時, 與Auto VLAN類似,該端口將被加入到Guest VLAN內。此時Guest VLAN中端口下的用戶
3發起認證,如果認證失敗,該端口將會仍然處在Guest VLAN內;如果認證成功,分為以下兩 種情況1.認證服務器下發一個Auto VLAN,這時端口離開Guest VLAN,加入下發的Auto VLAN中。用戶下線后,端口會被重新劃分到所配置的GuestVlan內。2.認證服務器不下發VLAN,這時端口離開Guest VLAN,加入配置的VLAN中。用戶 下線后,端口會被重新劃分到所配置的Guest VLAN內。Auto VLAN與Guest VLAN技術實質上都是使用戶在認證前后處于不同的VLAN中, 以達到安全以及允許未認證用戶訪問某些特定資源的目的。但是,目前市場上交換機推出 的基于802. lx的Auto VLAN與Guest VLAN的認證方式都是基于端口的,在該種認證方式 下,如果該端口被認證通過,則該端口下的所有數據均會被劃分到認證后VLAN中,如果該 端口沒有認證通過,則該端口下的所有數據均會被劃分到端口所在VLAN (未認證VLAN)中。 但是,如果一個接入端口下接多個用戶,則不能分別對每個用戶實現劃分未認證VLAN與認 證后VLAN,從而不能實現Auto VLAN及Guest VLAN功能,不能很好的滿足一些特定的實際 應用需求。
發明內容
本發明是針對現有技術中存在的上述問題而做出的,其目的是提供一種基于MAC 地址的802. lx認證的動態VLAN功能。該方法可以對同一端口下接的多個用戶分別根據認 證狀態劃分到未認證VLAN與認證后VLAN。本發明通過以下方案實現上述目的一種單接入端口下多用戶的認證方法,包括以下步驟從用戶設備接收報文,進行緩存,根據端口的VLAN屬性設置確定報文的VLAN ID ;根據報文的源MAC地址對已有表項進行查找,如果查找到對應的表項,則根據該 表項所指定的VLAN修改報文的VLAN ID為認證后VLAN,反之,不進行操作;根據報文的特征,判斷該報文是否為協議報文,如果該報文為協議報文,送到CPU 進行處理或觸發認證,否則把該報文在指定VLAN內進行轉發處理。CPU進行處理或觸發認證時,如果被認證通過,則MAC地址對應的所有數據均會被 劃分到認證后VLAN中,如果沒有認證通過,則MAC地址對應的所有數據均會被劃分到端口 所在的未認證VLAN中。根據觸發認證方式的不同,所述報文包括EAP0L報文或者觸發自動認證的報文, 當用戶自己安裝802. lx客戶端并進行認證時,協議報文為EAP0L報文,當用戶不安裝 802. lx客戶端,而發出第一個報文時,可將該報文當做協議報文,收到該報文后,由CPU根 據報文的源MAC地址自動發起認證。當發起認證后,CPU與認證服務器交互認證成功后,CPU根據該MAC地址與認證后 的VLAN ID,自動添加MAC對應的VLAN表項。并同時提供一種可實現單接入端口下多用戶的認證方法的系統,其特征在于包 括用戶側接收發送處理模塊從用戶設備接收報文,進行緩存,并根據端口的VLAN 屬性設置確定報文的VLAN ID ;并將端口所在VLAN與認證后VLAN中的報文轉發給用戶設
MAC VLAN模塊根據報文的源MAC地址對已有表項進行查找,如果找到,根據該 MAC地址對應的VLAN ID設置修改報文的VLAN ID,如果查找不到,則保留報文原有的VLAN ;協議處理模塊對報文進行協議分析;中央處理器CPU 根據協議分析結果進行觸發認證過程或轉發動作,認證通過后, 向MAC VLAN模塊下發該MAC對應的VLAN表項;網絡側接收發送處理模塊從MAC VLAN模塊接收報文,將報文轉發給外部認證設 備,并將來自外部認證設備的報文轉發給MAC VLAN模塊。作為一種實現方式,所述MAC VLAN模塊采用支持MAC VLAN特性的芯片,如BCM 5650x。作為另一種實現方式,,所述MAC VLAN模塊采用規則處理模塊可以修改VID的芯 片,如Marvell 98DX107,通過調整其規則處理模塊來實現其功能。本發明提供了一種基于MAC地址的根據認證狀態而劃分VLAN的方法及系統,針對 每一個源MAC地址所對應的用戶,可根據其不同的認證狀態而使其處于不同的VLAN中,該 用戶沒有認證通過時,包括沒有進行認證、認證失敗、或認證成功后又下線,該MAC地址發 出的數據流量被劃分入未認證VLAN,其可以與未認證VLAN中的其它設備通信;如果通過認 證,該MAC地址發出的數據流量被劃分入認證后VLAN,其可以與認證后VLAN中的其它設備 通信,實現了一個接入端口下接多個用戶時實現Auto VLAN及Guest VLAN功能,能很好的 滿足一些特定的實際應用需求。
下面根據實施例和附圖對本發明作進一步詳細說明。圖1是本發明實施例所述方法的報文處理流程框圖;圖2是實現本發明所述方法的系統組成結構具體實施例方式圖1、圖2給了本發明所述方法的報文處理流程框圖及實現本發明所述方法的系 統組成結構圖。以下結合其系統說明本方法的實現過程該認證系統組成包括用戶側接收發送處理模塊202、MAC VLAN模塊203、協議處 理模塊204、中央處理器CPU205、網絡側接收發送處理模塊206。用戶側接收發送處理模塊202的功能是從用戶設備201接收報文,進行緩存,并 根據端口的VLAN屬性設置確定報文的VLAN ID,并將端口所在VLAN與認證后VLAN中的報 文轉發給用戶設備。MAC VLAN模塊203的功能是根據報文的MAC地址對已有表項進行查找,如果找 到,根據該MAC地址對應的VLAN ID設置修改報文的VLAN ID,如果查找不到,則保留報文原 有的VLAN。協議處理模塊204的功能是對報文進行協議分析,根據分析結果進行送中央處 理器CPU205或轉發動作。該模塊的主要作用是觸發認證過程。認證通過后,中央處理器 CPU205向MAC VLAN模塊203下發該MAC對應的VLAN表項。
網絡側接收發送處理模塊206的功能是從MAC VLAN模塊203接收報文,將報文 轉發給外部認證設備,并將來自外部認證設備的報文轉發給MACVLAN模塊203。其具體認證過程如下首先,在步驟S101,用戶側接收處理模塊202接收到來自用戶設備的報文并進行
緩存;在步驟S102,它根據端口所在的VLAN屬性(未認證VLAN)確定報文的VLAN ID, 然后把報文交送給MAC VLAN模塊203 ;在接收到報文之后,在步驟S103,MAC VLAN模塊203根據報文的源MAC地址,查找 MAC對應的VLAN表項;在步驟S104中,如果查找到對應的表項,則在步驟S105中根據該表項所指定的 VLAN修改報文的VLAN ID (認證后VLAN),反之,不進行操作;接下來,報文被送到協議處理模塊204,在步驟S106中,協議處理模塊204判斷該 報文是否為協議報文,如果該報文為協議報文,執行步驟S108,被送到中央處理器CPU205 進行處理或觸發認證,否則執行步驟S107,協議處理模塊204把該報文發送至網絡側接收 發送處理模塊206在指定VLAN內進行轉發處理。另外在上述步驟S108中,根據觸發認證方式的不同,協議報文包括了 EAP0L報 文或者觸發自動認證的報文;當用戶自己安裝802. lx客戶端并進行認證時,協議報文為 EAP0L報文,當用戶不安裝802. lx客戶端,而發出第一個報文時,可將該報文當做協議報 文,收到該報文后,由中央處理器CPU205根據報文的源MAC地址自動發起認證。在上述步 驟S108中,當發起認證后,中央處理器CPU205與認證服務器交互認證成功后,CPU根據該 MAC地址與認證后的VLAN ID,自動添加MAC對應的VLAN表項。系統中涉及到的MAC VLAN模塊203,在實際實現時可根據交換芯片的特點采用兩 種方式實現。對于支持MAC VLAN特性的芯片,如BCM 5650x,可以直接使用芯片的MAC VLAN 功能實現。對于不支持MAC VLAN特性而其規則處理模塊可以修改VID的芯片,如Marvell 98DX107,可以使用其規則處理模塊,匹配報文的MAC地址,動作為設置VLAN ID,來實現該 功能。應該注意,雖然以上是參考具體實施方式
對本發明進行說明的,但這并不意味是 對本發明的限制,本發明的保護范圍是由所附權利要求而不是具體實施方式
來限定的。
權利要求
一種單接入端口下多用戶的認證方法,其特征在于包括以下步驟從用戶設備接收報文,進行緩存,根據端口的VLAN屬性設置確定報文的VLAN ID;根據報文的源MAC地址對已有表項進行查找,如果查找到對應的表項,則根據該表項所指定的VLAN修改報文的VLAN ID為認證后VLAN ID,反之,不進行操作;根據報文的特征,判斷該報文是否為協議報文,如果該報文為協議報文,送到CPU進行處理或觸發認證,否則把該報文在指定VLAN內進行轉發處理。
2.根據權利要求1所述的單接入端口下多用戶的認證方法,其特征在于CPU進行處理 或觸發認證時,如果被認證通過,則MAC地址對應的所有數據均會被劃分到認證后VLAN中, 如果沒有認證通過,則MAC地址對應的所有數據均會被劃分到端口所在的未認證VLAN中。
3.根據權利要求1所述的單接入端口下多用戶的認證方法,其特征在于根據觸發 認證方式的不同,所述報文包括EAP0L報文或者觸發自動認證的報文,當用戶自己安裝 802. lx客戶端并進行認證時,協議報文為EAP0L報文,當用戶不安裝802. lx客戶端,而發出 第一個報文時,可將該報文當做協議報文,收到該報文后,由CPU根據報文的源MAC地址自 動發起認證。
4.根據權利要求1所述的單接入端口下多用戶的認證方法,其特征在于當發起認證 后,CPU與認證服務器交互認證成功后,CPU根據該MAC地址與認證后的VLAN ID,自動添加 MAC對應的VLAN表項。
5.一種可實現單接入端口下多用戶的認證方法的系統,其特征在于包括用戶側接收發送處理模塊從用戶設備接收報文,進行緩存,并根據端口的VLAN屬性 設置確定報文的VLAN ID ;并將端口所在VLAN與認證后VLAN中的報文轉發給用戶設備;MAC VLAN模塊根據報文的源MAC地址對已有表項進行查找,如果找到,根據該MAC地 址對應的VLAN ID設置修改報文的VLAN ID,如果查找不到,則保留報文原有的VLAN ;協議處理模塊對報文進行協議分析;中央處理器CPU:根據協議分析結果進行觸發認證過程或轉發動作,認證通過后,向 MAC VLAN模塊下發該MAC對應的VLAN表項;網絡側接收發送處理模塊從MAC VLAN模塊接收報文,將報文轉發給外部認證設備, 并將來自外部認證設備的報文轉發給MAC VLAN模塊。
6.根據權利要求5所述的可實現單接入端口下多用戶的認證方法的系統,其特征在 于所述MAC VLAN模塊采用支持MAC VLAN特性的芯片,如BCM5650x。
7.根據權利要求5所述的可實現單接入端口下多用戶的認證方法的系統,其特征在 于所述MAC VLAN模塊采用規則處理模塊可以修改VID的芯片,如Marvell 98DX107,通過 調整其規則處理模塊來實現其功能。
全文摘要
本發明公開了一種單接入端口下多用戶的認證方法及系統,基于MAC地址并根據認證狀態而劃分VLAN,即針對每一個源MAC地址所對應的用戶,可根據其不同的認證狀態而使其處于不同的VLAN中,該用戶沒有認證通過時,包括沒有進行認證、認證失敗、或認證成功后又下線,該MAC地址發出的數據流量被劃分入未認證VLAN,其可以與未認證VLAN中的其它設備通信;如果通過認證,該MAC地址發出的數據流量被劃分入認證后VLAN,其可以與認證后VLAN中的其它設備通信,實現了一個接入端口下接多個用戶時實現Auto VLAN及Guest VLAN功能,能很好的滿足一些特定的實際應用需求。
文檔編號H04L29/08GK101860551SQ20101020964
公開日2010年10月13日 申請日期2010年6月25日 優先權日2010年6月25日
發明者董昕 申請人:神州數碼網絡(北京)有限公司;上海神州數碼有限公司