專利名稱:數據幀轉發方法
技術領域:
本發明涉及計算機網絡通信領域,具體涉及TCP/IP協議族的通信系統中數據幀的收發處理方法,更具體地說,涉及一種WLAN系統中AP代理EAPOL數據幀轉發方法。
背景技術:
在現有的WLAN系統中,用戶通常采用基于802.1x機制的EAP(Extensible Authentication Protocol)-MD5或EAP-SIM的方式接入網絡。在以上兩種方式的用戶接入流程中,客戶端與認證點之間以EAPOL(EAP Over LAN)報文的格式進行消息交互。協議分配給客戶端和認證點使用的組播MAC地址是01-80-C2-00-00-03。根據802.1x協議規定,如果認證點的MAC地址對客戶端是已知的,則客戶端傳輸所有的EAPOL幀攜帶認證點的MAC地址作為目的地址;反之亦然。如果認證點的MAC地址對客戶端是未知的,則客戶端傳輸所有的EAPOL包攜帶組播MAC地址作為目的MAC地址;反之亦然。
在實際認證過程中,可以采用兩種不同的認證系統結構一種是以AC(Access Controller)作為WLAN用戶接入認證點,一種是以AP(Access Point)作為WLAN用戶接入認證點。以AP作為WLAN用戶接入認證點的系統是一個只有接入層和核心層的二層網絡,而以AC作為WLAN用戶接入認證點的系統是一個包括接入層、匯聚層和核心層的三層網絡。比較而言,以AC作為WLAN用戶接入認證點的三層網絡更利于系統中業務的控制。
但在以AC作為WLAN用戶接入認證點的系統中,客戶端和認證點之間的數據幀必須經過AP進行轉發。由于客戶端向AC發起認證時,已經從網卡上獲取了與之連接的AP的MAC地址,這樣客戶端把AP當作認證點,向AP發送EAPOL包,并使用該AP的MAC地址作為目的MAC地址進行點對點的發送。當該EAPOL包到達AP后,就認為已經到達了數據幀的終結點,就不會再向AC轉發了,這樣就無法完成認證過程。
發明內容
本發明要解決的技術問題是,提供一種認證過程中的數據幀轉接方法,可以應用于以AC作為WLAN用戶接入認證點的系統中,克服在以AC作為WLAN用戶接入認證點的系統中由于EAPOL幀經過AP不能轉發給AC的缺點,順利完成整個認證過程,按照本發明提出的經過AP代理轉發EAPOL幀的方法,可以將EAPOL幀發送到AC進行認證,完成整個認證過程。
本發明上述技術問題這樣解決,構造一種AP代理EAPOL數據幀轉發方法,包括以下步驟客戶端向任何一個AP發送EAPOL幀時,將該AP的MAC地址作為目的MAC置于傳輸EAPOL幀中發送出去;系統中每一個AP對收到的數據幀進行檢測,如果目的地址不是本AP,則將該數據幀進行轉發;如果目的地址為本AP則判斷該數據幀的類型是否為EAPOL,如果是則該數據幀的目的地址改成EAPOL的組播MAC地址01-80-C2-00-00-03再發送出去;系統中的AC在接收到組播的EAPOL數據幀時,對客戶端身份進行驗證完后向客戶端發送EAPOL數據幀攜帶客戶端的MAC地址作為目的MAC地址。
在上述方法中,所述判斷數據幀的類型是否為EAPOL是通過檢測以太幀的協議類型是否為888E來實現的。
實施本發明提供的上述轉發方法,具有以下有益效果1)通過采取這種在AP上代理將點對點的EAPOL數據幀轉化為組播幀的方法,解決了EAPOL數據幀發給AP后不能轉發給AC認證的問題;2)AP代理轉發EAPOL數據幀的方法簡單,易于實現;3)對于從AC傳輸給客戶端的EAPOL數據幀,由于這時AC已經從發送過來的EAPOL幀中獲取了客戶端的MAC地址,EAPOL數據幀攜帶客戶端的MAC地址作為目的MAC地址發送,AP接收到后直接轉發給客戶端,不會影響EAPOL數據幀的傳輸。
圖1是本發明中以AC作為WLAN用戶接入認證點的認證系統結構示意圖。
圖2是按照本發明方法在客戶端和AC之間數據幀交互的流程示意圖。
圖3是利用本發明方法進行數據幀轉發過程中數據幀格式變化情況其中(a)是客戶端發給AP的EAPOL數據幀格式示意圖;(b)是AP發給AC的EAPOL數據格式示意圖;(c)是AC發給客戶端的EAPOL數據幀格式示意圖。
具體實施例方式
本發明以AC作為WLAN用戶接入認證點的認證系統結構,如圖1所示,其中WLAN用戶終端101安裝有802.11b無線網卡和EAP-MD5或EAP-SIM客戶端軟件;WLAN接入點(AP)102用于WLAN用戶的無線接入;WLAN業務用戶接入認證點和業務控制點(AC)103作為WLAN業務用戶接入認證點,完成對WLAN用戶的認證;RADIUS用戶認證服務器104用于完成基于EAP-MD5方式的用戶認證;該認證服務器也可以采用WLAN SIM認證服務器(AS),用于完成基于SIM卡的用戶認證。
客戶端與認證點之間以EAPOL報文的格式進行消息交互,認證點和認證服務器之間以EAP over RADIUS數據幀進行消息交互。客戶端和認證點AC發送的EAPOL幀都必須經過AP轉發。在整個WLAN用戶認證過程中,可以由客戶端首先發起認證請求,也可以由認證點向客戶端發起認證。此處假設客戶端的MAC地址為01-01-01-01-01-01,與之連接的AP的MAC地址為02-02-02-02-02-02,認證點AC的MAC地址為03-03-03-03-03-03。認證過程中客戶端、AP與AC之間的數據幀交互流程如圖2所示。圖3示出該實施例中傳輸數據幀格式,其中,假設客戶端的MAC地址為01-01-01-01-01-01,AP的MAC地址為02-02-02-02-02-02,AC的MAC的MAC地址為03-03-03-03-03-03。
具體流程如下1.在客戶端發起認證請求的過程中,由于網卡能夠掃描到可以與之通信的所有AP,并能獲取這些AP的MAC地址,當客戶選擇與某個AP(MAC地址為02-02-02-02-02-02)通信時,傳輸的EAPOL幀攜帶該AP的MAC地址作為目的MAC地址。數據幀格式如圖3(a)中客戶端發給AP的EAPOL數據幀。
2.只有MAC地址為02-02-02-02-02-02的AP才會接收到該EAPOL數據幀。AP對數據幀進行檢驗。如果發現數據幀的類型為EAPOL,即以太幀的協議類型為888E,則將該數據幀的目的地址改成EAPOL的組播MAC地址01-80-C2-00-00-03再轉發出去。數據幀格式如圖3(b)中AP發給AC的EAPOL數據幀。
3.AC接收到組播的EAPOL數據幀后開始對客戶端進行認證,向客戶端傳輸EAPOL幀,此時的EAPOL幀應該攜帶01-01-01-01-01-01作為目的MAC地址,攜帶03-03-03-03-03-03作為源MAC地址。數據幀格式如圖3(c)中AC發給客戶端的EAPOL數據幀。
4.AP接收到該數據幀就會將它直接轉發。數據幀格式如圖3(c)中AC發給客戶端的EAPOL數據幀AC的MAC地址。
權利要求
1.一種數據幀轉發方法,其特征在于,包括以下步驟客戶端向任何一個AP發送EAPOL幀時,將該AP的MAC地址作為目的MAC置于傳輸EAPOL幀中發送出去;系統中每一個AP對收到的數據幀進行檢測,如果目的地址不是本AP,則將該數據幀進行轉發;如果目的地址為本AP則判斷該數據幀的類型是否為EAPOL,如果是則該數據幀的目的地址改成EAPOL的組播MAC地址01-80-C2-00-00-03再發送出去;系統中的AC在接收到組播的EAPOL數據幀時,對客戶端身份進行驗證完后向客戶端發送EAPOL數據幀攜帶客戶端的MAC地址作為目的MAC地址。
2.根據權利要求1所述方法,其特征在于,所述判斷數據幀的類型是否為EAPOL是通過檢測以太幀的協議類型是否為888E來實現的。
全文摘要
一種數據幀轉發方法,客戶端向AP發送EAPOL幀時,將該APMAC地址作為目的MAC置于傳輸EAPOL幀中發送出去;系統中每一個AP對收到的數據幀進行檢測,如目的地址不是本AP,則轉發該數據幀;如目的地址為本AP則判斷數據幀類型是否為EAPOL,如是則該數據幀的目的地址改成EAPOL的組播MAC地址再發送出去;系統中的AC在接收到組播的EAPOL數據幀時,對客戶端身份進行驗證后向客戶端發送EAPOL數據幀攜帶客戶端的MAC地址作為目的MAC地址。由于在AP上代理將點對點的EAPOL數據幀轉化為組播幀,解決了EAPOL數據幀發給AP后不能轉發給AC認證的問題,實現簡單,且不影響EAPOL數據幀的傳輸。
文檔編號H04L12/28GK1505329SQ0215099
公開日2004年6月16日 申請日期2002年11月28日 優先權日2002年11月28日
發明者秦浩, 趙莉娟, 王東, 秦 浩 申請人:深圳市中興通訊股份有限公司