亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于以太網(wǎng)板卡的802.1X客戶端的設(shè)計(jì)

        2018-07-27 01:30:44張奎袁海軍
        電子制作 2018年13期
        關(guān)鍵詞:以太網(wǎng)上位數(shù)據(jù)包

        張奎,袁海軍

        (中國(guó)電子科技集團(tuán)公司第四十一研究所,山東青島,266555)

        0 引言

        IEEE802.lX協(xié)議起源于802.11協(xié)議,802.11協(xié)議是無(wú)線網(wǎng)接入?yún)f(xié)議,是一個(gè)國(guó)際標(biāo)準(zhǔn)協(xié)議[1]。本文將闡述利用以太網(wǎng)板卡的現(xiàn)有功能,由測(cè)試設(shè)備模擬若干客戶端,測(cè)試被測(cè)設(shè)備是否能夠良好支持802.1X協(xié)議,通過統(tǒng)計(jì)分析會(huì)話的流量,測(cè)試被測(cè)試設(shè)備對(duì)網(wǎng)絡(luò)資源的控制能力。

        1 IEEE802.1X原理

        IEEE802.1X全稱為“基于端口的網(wǎng)絡(luò)接入控制協(xié)議”,在充分利用IEEE802局域網(wǎng)優(yōu)勢(shì)的基礎(chǔ)上,提供了一種對(duì)連接到局域網(wǎng)的用戶進(jìn)行認(rèn)證和授權(quán)的手段[1]。它在網(wǎng)絡(luò)設(shè)備的物理接入級(jí)對(duì)接入設(shè)備進(jìn)行認(rèn)證和控制,提供了一種既可用于有線網(wǎng)絡(luò),也可以用于無(wú)線網(wǎng)絡(luò)的用戶認(rèn)證和密鑰管理的框架,可以確保用戶只有在接入認(rèn)證通過以后才能連接到網(wǎng)絡(luò)。802.IX定義了IEEE802網(wǎng)絡(luò)設(shè)備是如何使用EAP(可擴(kuò)展認(rèn)證協(xié)議)來(lái)進(jìn)行網(wǎng)絡(luò)準(zhǔn)入認(rèn)證的。在802.IX中,采用EAP作為網(wǎng)絡(luò)接入身份認(rèn)證信息的交互機(jī)制,EAP消息一般會(huì)被封裝在EAPOL數(shù)據(jù)包中[1]。從中可以看到,EAP只是一種封裝格式,而不是一個(gè)具體的認(rèn)證協(xié)議,這種機(jī)制確保了客戶端設(shè)備和認(rèn)證端設(shè)備均可使用比較靈活的網(wǎng)絡(luò)接入模式來(lái)進(jìn)行接入認(rèn)證[2]。EAPOL作為一種報(bào)文封裝格式,主要用于在客戶端和網(wǎng)絡(luò)接入點(diǎn)之間傳送EAP協(xié)議數(shù)據(jù),部分交互的數(shù)據(jù)還將使用MD5等方式進(jìn)行加密處理[3]。EAP數(shù)據(jù)被作為二層以太網(wǎng)幀的負(fù)載進(jìn)行傳輸,這樣就可以方便的在以太網(wǎng)上傳輸EAP數(shù)據(jù)包。

        802.lX是一種根據(jù)客戶端設(shè)備的不同安全狀況而制定的網(wǎng)絡(luò)接入認(rèn)證的不同方法策略的集合。802.11X認(rèn)證體系結(jié)構(gòu)如圖1所示,它包括3個(gè)部分:認(rèn)證申請(qǐng)者、認(rèn)證者、認(rèn)證服務(wù)器。認(rèn)證申請(qǐng)者通常是位于局域網(wǎng)段一端的一個(gè)客戶端設(shè)備, 該客戶端設(shè)備需要支持EAPOL協(xié)議。認(rèn)證者是位于局域網(wǎng)另一端的一個(gè)設(shè)備,它對(duì)所連接的客戶端進(jìn)行認(rèn)證。認(rèn)證服務(wù)器是為認(rèn)證者提供認(rèn)證服務(wù)的實(shí)體,用于實(shí)現(xiàn)對(duì)客戶端進(jìn)行認(rèn)證、授權(quán)和計(jì)費(fèi)[4]。

        圖1 802.1X系統(tǒng)結(jié)構(gòu)

        2 系統(tǒng)方案設(shè)計(jì)

        測(cè)試系統(tǒng)采用上位機(jī)和下位機(jī)(板卡)協(xié)調(diào)工作的方式進(jìn)行測(cè)試,系統(tǒng)總體設(shè)計(jì)原理如圖2所示。其中,下位機(jī)硬件平臺(tái)采用FPGA+CPU的開發(fā)結(jié)構(gòu)。物理接口分為RJ45和SFP兩種接口,向測(cè)試設(shè)備提供電纜和光纖的連接方式;以太網(wǎng)接口模塊采用以太網(wǎng)物理層收發(fā)器,提供數(shù)據(jù)的發(fā)送和接收功能;FPGA創(chuàng)建數(shù)據(jù)發(fā)送和接收的通道,按照指定的發(fā)送模式傳輸數(shù)據(jù),并根據(jù)捕獲規(guī)則過濾數(shù)據(jù);數(shù)據(jù)緩存模塊存儲(chǔ)捕獲的數(shù)據(jù)和數(shù)據(jù)包的索引信息;CPU模塊執(zhí)行上位機(jī)下達(dá)的處理命令,調(diào)度管理FPGA,從而實(shí)現(xiàn)對(duì)外圍設(shè)備的控制,保證各部分的同步工作,同時(shí)也負(fù)責(zé)向上位機(jī)傳輸數(shù)據(jù)。上位機(jī)處理塊控制整個(gè)系統(tǒng)的運(yùn)行,它通過CPCI總線與板塊通信,提供人機(jī)交互的接口,根據(jù)人機(jī)交互的結(jié)果產(chǎn)生控制指令,并向處理器發(fā)送控制指令,控制測(cè)試的流程,處理測(cè)試產(chǎn)生的數(shù)據(jù),最終生成測(cè)試結(jié)果。

        圖2 系統(tǒng)總體設(shè)計(jì)原理圖

        在軟件設(shè)計(jì)方面,為了有效提高軟件開發(fā)的效率,提高代碼的可控制性、可維護(hù)性,降低不同功能之間的耦合性,按照功能對(duì)上位機(jī)軟件進(jìn)行了劃分,如圖3所示。主機(jī)軟件從上到下可以分為測(cè)試控制層,測(cè)試功能層,驅(qū)動(dòng)層。其中,測(cè)試控制層是主機(jī)軟件的控制中心,主要負(fù)責(zé)人機(jī)交互,各種資源的創(chuàng)建,線程的響應(yīng),數(shù)據(jù)的處理,文件的保存等。測(cè)試功能層負(fù)責(zé)執(zhí)行用戶的各種操作,啟動(dòng)和停止各種測(cè)試。驅(qū)動(dòng)層負(fù)責(zé)上位機(jī)與板級(jí)的通信,下達(dá)上位機(jī)的各種操作指令,上傳數(shù)據(jù)。

        圖3 上位機(jī)軟件功能框圖

        軟件的外部接口描述如圖4所示。用戶通過人機(jī)交互界面執(zhí)行各種測(cè)試操作,查看操作結(jié)果,保存測(cè)試用的參數(shù)以及測(cè)試的結(jié)果。系統(tǒng)接收用戶的指令,通過設(shè)備驅(qū)動(dòng)程序?qū)⑸蠈觽鬟f下來(lái)的信息傳遞給不同的測(cè)試模塊,這些數(shù)據(jù)將會(huì)被保存在指定的存儲(chǔ)位置,等待硬件讀取。底層接口負(fù)責(zé)從指定位置讀取數(shù)據(jù)或者向指定位置寫入數(shù)據(jù),實(shí)現(xiàn)向硬件傳達(dá)特定的操作指令,從而實(shí)現(xiàn)用戶指定的操作,最后,人機(jī)交互程序通過驅(qū)動(dòng)程序?qū)⒋砹瞬僮鹘Y(jié)果的特定的數(shù)據(jù)取走,對(duì)數(shù)據(jù)進(jìn)行分析,并給出測(cè)試的結(jié)果。

        圖4 軟件內(nèi)部接口

        軟件內(nèi)部接口描述如圖5所示。上層應(yīng)用程序與各測(cè)試模塊的軟件接口是通過一組接口函數(shù)來(lái)實(shí)現(xiàn)。接口函數(shù)的定義,是根據(jù)軟件的功能劃分來(lái)界定的。人機(jī)交互接口通過數(shù)據(jù)發(fā)送模塊產(chǎn)生測(cè)試數(shù)據(jù)流,并定制發(fā)送的模式。接收捕獲模塊定制捕獲數(shù)據(jù)的規(guī)則,過濾、存儲(chǔ)指定的數(shù)據(jù)流。數(shù)據(jù)統(tǒng)計(jì)模塊對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,記錄數(shù)據(jù)流的特征。同時(shí),在定義接口函數(shù)時(shí),為每個(gè)測(cè)試模塊定義了一組函數(shù)以實(shí)現(xiàn)對(duì)該測(cè)試模塊的控制。該接口函數(shù)是該模塊單獨(dú)使用的,因此,最后每組接口函數(shù)都將被打包成一個(gè)單獨(dú)的文件,以動(dòng)態(tài)鏈接庫(kù)的形式對(duì)外提供。主機(jī)程序只需要一個(gè)聲明了該動(dòng)態(tài)鏈接庫(kù)中的函數(shù)的頭文件和一個(gè)DLL文件,即可實(shí)現(xiàn)對(duì)相應(yīng)模塊的控制功能。驅(qū)動(dòng)程序是上位機(jī)與板級(jí)程序通訊的橋梁,負(fù)責(zé)對(duì)硬件的讀寫訪問,該程序?qū)⒆鳛橄到y(tǒng)的驅(qū)動(dòng)的一部分存在,為所有上層的控制程序服務(wù)。

        圖5 軟件內(nèi)部接口示意圖

        在該測(cè)試系統(tǒng)中,上位機(jī)操作系統(tǒng)采用了XP系統(tǒng),軟件采用VC++6.0開發(fā)工具進(jìn)行設(shè)計(jì),模擬客戶端的程序流程如圖6所示。在實(shí)現(xiàn)過程中,涉及的主要的數(shù)據(jù)結(jié)構(gòu)和函數(shù)接口如下所示:

        (1)保存數(shù)據(jù)包的參數(shù)信息的數(shù)據(jù)結(jié)構(gòu)。

        typedef struct

        { unsigned char u8Code; // EAP數(shù)據(jù)代碼.

        unsigned char u8Identifier; // 匹配請(qǐng)求和應(yīng)答操作.

        unsigned short u16Length; // 長(zhǎng)度,包括code、identifier,、length、data field.

        unsigned char u8Type; // 標(biāo)識(shí)請(qǐng)求和應(yīng)答的類型.

        unsigned char pu8TypeData[1024];

        // 請(qǐng)求和應(yīng)答的數(shù)據(jù).

        unsigned short u16TypeDataLen;

        // 請(qǐng)求和應(yīng)答的數(shù)據(jù)的長(zhǎng)度.

        signed char ps8FailReason[1024];

        // 描述失敗的原因.

        unsigned short u16FailReasonLen;

        圖6 模擬客戶端程序流程圖

        //描述失敗的原因的數(shù)據(jù)的長(zhǎng)度.

        }EAPOL_EAP_PACKET;

        typedef struct

        { unsigned char u8ProtocolVersion;

        unsigned char u8PacketType;

        unsigned short u16PacketBodyLength;

        EAPOL_EAP_PACKET eapPacket;

        }EAPOL_PDU_FORMAT;

        (2)產(chǎn)生各種交互報(bào)文的函數(shù)接口

        ·創(chuàng)建一個(gè)EAPOL_Start幀.

        signed int CreateFrm_EAPOL_Start();

        ·創(chuàng)建一個(gè)EAPOL_Logoあ幀.

        圖7 交互數(shù)據(jù)包截圖

        signed int CreateFrm_EAPOL_Logoあ();

        ·生成EAPOL_EAP_RESPONSE數(shù)據(jù)包.

        signed int CreateFrm_EAPOL_EapResponse( EAPOL_PDU_FORMAT& eapolPdu );

        ·檢查這是否是一個(gè)合法的EAPOL包,返回包的類型.

        signed int ChkFrm_IsValid-EapolPacket( unsigned char*pu8FrmData, unsigned short u16FrmLen, EAPOL_PDU_FORMAT& eapolPdu );

        在測(cè)試中,使用了一臺(tái)國(guó)產(chǎn)路由器作為測(cè)試的認(rèn)證者,使用其內(nèi)置的服務(wù)作為認(rèn)證服務(wù)器。上位機(jī)軟件捕獲測(cè)試系統(tǒng)與路由器之間的交互數(shù)據(jù),捕獲的數(shù)據(jù)包被保存為PCAP格式,使用wireshark軟件查看捕獲的數(shù)據(jù),如圖7所示。從圖中可以看到,該測(cè)試方案可以滿足802.1X接入認(rèn)證測(cè)試的要求。

        3 結(jié)語(yǔ)

        本設(shè)計(jì)針對(duì)802.1X接入認(rèn)證的測(cè)試需求,利用了以太網(wǎng)板卡現(xiàn)有的部分功能,設(shè)計(jì)了模擬802.1X客戶端的測(cè)試方案。本設(shè)計(jì)在對(duì)硬件進(jìn)行細(xì)微改動(dòng)的基礎(chǔ)上,能夠很好的滿足802.1X接入認(rèn)證測(cè)試的需求,同時(shí)也是對(duì)以太網(wǎng)板卡功能的很好的擴(kuò)充。

        猜你喜歡
        以太網(wǎng)上位數(shù)據(jù)包
        基于1500以太網(wǎng)養(yǎng)豬場(chǎng)的智能飼喂控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
        SmartSniff
        特斯拉 風(fēng)云之老阿姨上位
        車迷(2018年12期)2018-07-26 00:42:22
        談實(shí)時(shí)以太網(wǎng)EtherCAT技術(shù)在變電站自動(dòng)化中的應(yīng)用
        電子制作(2017年24期)2017-02-02 07:14:44
        “三扶”齊上位 決戰(zhàn)必打贏
        基于ZigBee和VC上位機(jī)的教室智能監(jiān)測(cè)管理系統(tǒng)
        一種90W高功率以太網(wǎng)供電系統(tǒng)的設(shè)計(jì)
        以新思路促推現(xiàn)代農(nóng)業(yè)上位
        淺談EPON與工業(yè)以太網(wǎng)在貴遵高速公路中的應(yīng)用
        基于Libpcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲器的設(shè)計(jì)與實(shí)現(xiàn)
        中文字幕乱码熟女人妻在线| 国产精品高潮无码毛片| 男性一插就想射是因为啥| 亚洲xxxx做受欧美| 国产va精品免费观看| 在线播放偷拍一区二区| 黄片视频免费在线播放观看 | 日本在线观看一区二区三| 日韩人妻少妇一区二区三区 | 精品日韩亚洲av无码| 好男人日本社区www| 在线观看av国产自拍| 日韩一区二区中文天堂| 亚洲日韩精品无码av海量| 国产成人一区二区三区在线观看 | 日韩啪啪精品一区二区亚洲av| 午夜国产精品一区二区三区| 狠狠躁夜夜躁人人爽超碰97香蕉| 精品无码一区在线观看| chinese国产在线视频| 国产av一区二区日夜精品剧情| 欧美老肥婆牲交videos| 久久婷婷香蕉热狠狠综合| 九九99久久精品在免费线97| 国产丝袜美腿中文字幕| 午夜男女很黄的视频| 亚洲一线二线三线写真 | 久久www免费人成精品| 国产精品久久国产精麻豆99网站 | 国产精品免费久久久免费| 国产一区二区在三区在线观看| 日本九州不卡久久精品一区 | 国产草逼视频免费观看| 免费1级做爰片1000部视频| 亚洲AV毛片无码成人区httP| 我也色自拍俺也色自拍| 欧美老熟妇乱xxxxx| 国产精品户露av在线户外直播| 亚洲高清一区二区三区在线观看| 亚洲精品视频中文字幕| 国产亚洲精品aaaa片小说|