專利名稱:一種自動兼容不同802.1x客戶端軟件的認(rèn)證方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種自動兼容不同802.1x客戶端軟件的認(rèn)證方法,具體涉及一種實現(xiàn)在根據(jù)IEEE802.1x,通過認(rèn)證者PAE為了更好的適應(yīng)不同的802.1x客戶端軟件,而對所發(fā)送EAPOL類型數(shù)據(jù)包的目的MAC(媒體訪問控制子層)進(jìn)行填充發(fā)送的方法。
背景技術(shù):
IEEE802.1x是基于端口的網(wǎng)絡(luò)訪問控制協(xié)議,IEEE 802.1x以IEEE 802 LAN的基礎(chǔ)結(jié)構(gòu)為基礎(chǔ),定義了一種對連接在網(wǎng)絡(luò)中某端口上設(shè)備(端口和設(shè)備的連接具有點到點連接的特征)進(jìn)行認(rèn)證和授權(quán)的方法。如果認(rèn)證和授權(quán)失敗,將禁止相應(yīng)設(shè)備通過該端口訪問網(wǎng)絡(luò)資源。
端口訪問實體(PAE)運行與認(rèn)證機制相關(guān)的算法和協(xié)議。共有兩種類型的PAE懇求者PAE和認(rèn)證者PAE。
在認(rèn)證交換中執(zhí)行懇求者角色的PAE被稱為懇求者PAE(Supplicant PAE)。懇求者PAE響應(yīng)來自認(rèn)證者PAE的請求,向認(rèn)證者PAE遞交認(rèn)證信息。
在認(rèn)證交換中執(zhí)行認(rèn)證者角色的PAE被稱為認(rèn)證者PAE(Authenticator PAE)。認(rèn)證者PAE負(fù)責(zé)與懇求者之間的通訊,負(fù)責(zé)將從懇求者接收到的信息遞交給適當(dāng)?shù)恼J(rèn)證服務(wù)器,認(rèn)證服務(wù)器檢查這些信息并確定授權(quán)狀態(tài)。
在實際的實現(xiàn)中,認(rèn)證者PAE一般在網(wǎng)絡(luò)交換設(shè)備和網(wǎng)絡(luò)接入設(shè)備上實現(xiàn),以實現(xiàn)對端用戶或者下一級級聯(lián)設(shè)備的認(rèn)證功能。
懇求者PAE在端用戶計算機以802.1x客戶端軟件的形式實現(xiàn),或者在網(wǎng)絡(luò)交換設(shè)備上需要進(jìn)行上聯(lián)認(rèn)證的端口上實現(xiàn)。
懇求者PAE和認(rèn)證者PAE之間發(fā)送的消息為EAPOL(局域網(wǎng)中的擴展認(rèn)證協(xié)議)類型的消息,以太網(wǎng)中的EAPOL幀格式如表1所示
表1從MAC幀的Length/Type域開始??梢酝ㄟ^MAC幀中的協(xié)議類型來區(qū)分EAPOL協(xié)議以及其它協(xié)議。分配給認(rèn)證者PAE使用的以太網(wǎng)類型值為0x888e。
在IEEE802.1 x標(biāo)準(zhǔn)中規(guī)定,認(rèn)證過程的發(fā)起既可以由懇求者PAE通過發(fā)送EAPOL-START消息來發(fā)起,也可以通過認(rèn)證者PAE主動向懇求者發(fā)送EAPOL-Req/Id消息來發(fā)起。
不論由那種類型的端口訪問實體來發(fā)起,都要面臨一個問題,在第一次發(fā)送時,可能并不知道對方的MAC地址,那么這種情況下,應(yīng)該如何填充EAPOL幀的目的MAC地址字段呢?在IEEE802.1 x協(xié)議中規(guī)定了填充目的MAC地址的規(guī)則。IEEE Std 802.1D1998版為認(rèn)證者PAE分配了一個組MAC地址,即EAP組地址01-80-C2-00-00-03。
如果懇求者PAE獨有的MAC地址對于認(rèn)證者PAE是已知的,而且反之亦然,則由PAE傳輸?shù)乃蠩APOL幀必須以目的PAE的LAN連接點的MAC地址作為目的MAC地址。
否則,當(dāng)懇求者PAE獨有的MAC地址對于認(rèn)證者PAE是未知的,而且反之亦然時,則由PAE傳輸?shù)乃蠩APOL幀攜帶EAP組地址作為目的MAC地址。所有EAPOL幀攜帶與源PAE的LAN(局域網(wǎng))連接點相關(guān)的獨有MAC地址作為源MAC地址。
但目前出現(xiàn)的客戶端軟件由不同的公司開發(fā)。有些客戶端軟件在接收EAPOL幀時,判斷是否為EAPOL幀時,并不是根據(jù)幀類型字段是否為0x888e來判斷的,而是根據(jù)目的MAC地址是否為EAP組地址來判斷。這樣,如果認(rèn)證者PAE嚴(yán)格按照IEEE802.1x協(xié)議規(guī)定的填充目的MAC地址的規(guī)則來實現(xiàn)時,則無法實現(xiàn)對端用戶計算機的認(rèn)證。
發(fā)明內(nèi)容
本發(fā)明的目的是在現(xiàn)有IEEE802.1x協(xié)議的基礎(chǔ)上,為了實現(xiàn)和未完全按照IEEE802.1x協(xié)議規(guī)定的目的MAC地址填充規(guī)則的客戶端軟件進(jìn)行成功對接,認(rèn)證者PAE在發(fā)送EAPOL幀時,所需要采取的方法。具體是一種自動兼容不同802.1x客戶端軟件的認(rèn)證方法。
本發(fā)明具體是這樣實現(xiàn)的一種自動兼容不同802.1x客戶端軟件的認(rèn)證方法,包括如下處理在認(rèn)證者端口訪問實體中增加一個目的媒體訪問控制子層地址的變量;在認(rèn)證者端口訪問實體收到局域網(wǎng)中的擴展認(rèn)證協(xié)議幀時,驗證為合法的局域網(wǎng)中的擴展認(rèn)證協(xié)議幀后,將該幀中的源媒體訪問控制子層地址填充到該變量;發(fā)送目的媒體訪問控制子層地址填充為組地址的局域網(wǎng)中的擴展認(rèn)證協(xié)議幀;判斷存放目的媒體訪問控制子層地址的變量是否為組地址如果變量的值不是組地址,將源媒體訪問控制子層地址填充到局域網(wǎng)中的擴展認(rèn)證協(xié)議幀中,再向客戶端發(fā)送一次;如果變量的值是組地址,發(fā)送給客戶端。
在狀態(tài)機處于初始狀態(tài)時,所述目的媒體訪問控制子層地址的變量被賦予組地址值。
所述發(fā)送目的媒體訪問控制子層地址填充為組地址的局域網(wǎng)中的擴展認(rèn)證協(xié)議幀完畢后,不需要釋放申請的內(nèi)存空間。
所述判斷及發(fā)送客戶端完畢后,釋放申請的內(nèi)存空間。
在IEEE802.1x協(xié)議基礎(chǔ)上,采用本發(fā)明能夠使得網(wǎng)絡(luò)設(shè)備在實際的組網(wǎng)應(yīng)用中更加靈活,增加網(wǎng)絡(luò)設(shè)備的適應(yīng)性和靈活性。降低對端用戶使用的客戶端軟件的要求,使得設(shè)備和用戶入網(wǎng)調(diào)試和運行都得到了簡化。
圖1是本發(fā)明所述認(rèn)證者PAE在發(fā)送EAPOL幀時的處理流程圖。
具體實施例方式
在本發(fā)明所述的方法中,如果客戶端軟件在檢測收到的MAC幀是否為EAPOL幀時,只根據(jù)目的MAC地址是否為EAP組地址進(jìn)行判斷。那么認(rèn)證者PAE在發(fā)送EAPOL幀時,就需要在目的MAC地址字段中填入EAP組地址。如果客戶端軟件是根據(jù)幀類型自動是否為0x888e進(jìn)行判斷,則認(rèn)證者PAE在發(fā)送幀時,應(yīng)該按照協(xié)議規(guī)定的規(guī)則填寫目的MAC地址。
這樣,為了保證設(shè)備能夠自動靈活的支持不同的客戶端軟件,則必須能夠同時發(fā)送兩個只有目的MAC地址不同的EAPOL報文。兩個報文的目的MAC地址分別填充EAP組地址和對端的MAC地址。對于不知道對端MAC地址的情況,則只發(fā)送一個報文即可。
以下結(jié)合附圖對本發(fā)明的具體實施,分為三步進(jìn)行說明一、增加一個變量在認(rèn)證者PAE中增加一個目的MAC地址的變量。該變量的缺省值為EAP組地址01-80-C2-00-00-03。在狀態(tài)機處于初始狀態(tài)時,該變量被賦予該組地址值。
二、收到EAPOL幀時增加的處理操作在認(rèn)證者PAE收到EAPOL幀時,驗證是合法的EAPOL幀后,會將該幀中的源MAC地址填充到該變量中。
三、發(fā)送EAPOL幀時的處理操作在認(rèn)證者PAE發(fā)送EAPOL幀時的操作,見圖1,具體描述如下1、需要發(fā)送EAPOL幀到懇求者PAE。
2、首先發(fā)送目的MAC地址填充為組地址的EAPOL幀。
在這一步驟中,為了下面的步驟提供便利,則在發(fā)送完畢后不需要釋放申請的內(nèi)存空間。
3、判斷存放目的MAC地址的變量是否為組地址,如果變量的值不是組地址,則表明曾經(jīng)接收了客戶端發(fā)來的EAPOL幀,表明已經(jīng)知道了對端的MAC地址,就需要再把該地址填充到EAPOL幀中,再發(fā)送一次。
4、如果變量的值是組地址,則表明已經(jīng)獲知對端的MAC地址,則將該MAC地址填充到EAPOL幀的目的MAC地址中,發(fā)送給客戶端,在此次發(fā)送完成后,要釋放申請的內(nèi)存空間,防止造成內(nèi)存泄漏。
雖然上述實施方式描述了本發(fā)明的方法,然而本領(lǐng)域的技術(shù)人員會理解,在不偏離本發(fā)明宗旨和范圍的前提下可以進(jìn)行各種形式和細(xì)節(jié)的修改和改進(jìn)。
權(quán)利要求
1.一種自動兼容不同802.1x客戶端軟件的認(rèn)證方法,其特征在于,包括如下處理在認(rèn)證者端口訪問實體中增加一個目的媒體訪問控制子層地址的變量;在認(rèn)證者端口訪問實體收到局域網(wǎng)中的擴展認(rèn)證協(xié)議幀時,驗證為合法的局域網(wǎng)中的擴展認(rèn)證協(xié)議幀后,將該幀中的源媒體訪問控制子層地址填充到該變量;發(fā)送目的媒體訪問控制子層地址填充為組地址的局域網(wǎng)中的擴展認(rèn)證協(xié)議幀;判斷存放目的媒體訪問控制子層地址的變量是否為組地址如果變量的值不是組地址,將源媒體訪問控制子層地址填充到局域網(wǎng)中的擴展認(rèn)證協(xié)議幀中,再向客戶端發(fā)送一次;如果變量的值是組地址,發(fā)送給客戶端。
2.如權(quán)利要求1所述一種自動兼容不同802.1x客戶端軟件的認(rèn)證方法,其特征在于在狀態(tài)機處于初始狀態(tài)時,所述目的媒體訪問控制子層地址的變量被賦予組地址值。
3.如權(quán)利要求1所述一種自動兼容不同802.1x客戶端軟件的認(rèn)證方法,其特征在于所述發(fā)送目的媒體訪問控制子層地址填充為組地址的局域網(wǎng)中的擴展認(rèn)證協(xié)議幀完畢后,不需要釋放申請的內(nèi)存空間。
4.如權(quán)利要求1所述一種自動兼容不同802.1x客戶端軟件的認(rèn)證方法,其特征在于所述判斷及發(fā)送客戶端完畢后,釋放申請的內(nèi)存空間。
全文摘要
本發(fā)明涉及一種自動兼容不同802.1x客戶端軟件的認(rèn)證方法,如果客戶端軟件在檢測收到的MAC幀是否為EAPOL幀時,只根據(jù)目的MAC地址是否為EAP組地址進(jìn)行判斷。那么認(rèn)證者PAE在發(fā)送EAPOL幀時,就需要在目的MAC地址字段中填入EAP組地址。如果客戶端軟件是根據(jù)幀類型自動是否為0x888e進(jìn)行判斷,則認(rèn)證者PAE在發(fā)送幀時,應(yīng)該按照協(xié)議規(guī)定的規(guī)則填寫目的MAC地址。在IEEE802.1x協(xié)議基礎(chǔ)上,采用本發(fā)明使得網(wǎng)絡(luò)設(shè)備在實際的組網(wǎng)應(yīng)用中更加靈活,增加網(wǎng)絡(luò)設(shè)備的適應(yīng)性和靈活性。降低對端用戶使用的客戶端軟件的要求,使得設(shè)備和用戶入網(wǎng)調(diào)試和運行都得到了簡化。
文檔編號H04L12/56GK1980235SQ20051013032
公開日2007年6月13日 申請日期2005年12月9日 優(yōu)先權(quán)日2005年12月9日
發(fā)明者王峰 申請人:中興通訊股份有限公司