TDSCDMA網(wǎng)絡(luò)測試儀IP數(shù)據(jù)采集卡的研制教案資料_第1頁
TDSCDMA網(wǎng)絡(luò)測試儀IP數(shù)據(jù)采集卡的研制教案資料_第2頁
TDSCDMA網(wǎng)絡(luò)測試儀IP數(shù)據(jù)采集卡的研制教案資料_第3頁
TDSCDMA網(wǎng)絡(luò)測試儀IP數(shù)據(jù)采集卡的研制教案資料_第4頁
TDSCDMA網(wǎng)絡(luò)測試儀IP數(shù)據(jù)采集卡的研制教案資料_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、Good is good, but better carries it.精益求精,善益求善。TDSCDMA網(wǎng)絡(luò)測試儀IP數(shù)據(jù)采集卡的研制-第18卷第4期重慶郵電學(xué)院學(xué)報(bào)(自然科學(xué)版)Vol.18No.42006年8月JournalofChongqingUniversityofPostsandTelecommunications(NaturalScience)Aug.2006文章編號(hào):1004-5694(2006)04-0448-03TD-SCDMA網(wǎng)絡(luò)測試儀IP數(shù)據(jù)采集卡的研制劉偉,張治中(重慶郵電大學(xué)通信網(wǎng)與測試技術(shù)重點(diǎn)實(shí)驗(yàn)室,重慶400065)*摘要:為順應(yīng)3G網(wǎng)絡(luò)IP化的趨勢,根據(jù)TD-

2、SCDMA網(wǎng)絡(luò)協(xié)議中IP數(shù)據(jù)包傳輸相關(guān)描述,研制了TD-SCDMA網(wǎng)絡(luò)測試儀IP數(shù)據(jù)采集卡,利用網(wǎng)卡加WinPcap驅(qū)動(dòng)的方法實(shí)現(xiàn)IP數(shù)據(jù)包采集,為上層協(xié)議分析提供有效消息。在Realtek8139網(wǎng)卡上的測試表明,該設(shè)計(jì)能可靠地完成IP數(shù)據(jù)包的采集,完全可以應(yīng)用于當(dāng)前TD-SCDMA網(wǎng)絡(luò)測試。關(guān)鍵詞:TD-SCDMA;測試儀;數(shù)據(jù)采集卡;PCI總線;WinPcap中圖分類號(hào):TN915.06文獻(xiàn)標(biāo)識(shí)碼:A0引言它和分組域一起實(shí)現(xiàn)實(shí)時(shí)和非實(shí)時(shí)的多媒體業(yè)務(wù),并可以實(shí)現(xiàn)與電路域的互操作5。近年來TD-SCDMA一直是通信行業(yè)關(guān)注的一個(gè)焦點(diǎn),回顧TD-SCDMA的研發(fā)與產(chǎn)業(yè)化進(jìn)展、技術(shù)試驗(yàn)、政府引導(dǎo)

3、等,明顯看出我國對(duì)TD-SCDMAIP數(shù)據(jù)采集在TD-SCDMA網(wǎng)絡(luò)測試儀中是非常重要的一部分。本文描述的是純IP數(shù)據(jù)包的采集實(shí)現(xiàn)(非IPoverATM部分)。的關(guān)注達(dá)到了一個(gè)新的高度。為了進(jìn)一步支持TD-SCDMA產(chǎn)業(yè)化進(jìn)展,國家對(duì)當(dāng)前TD-SCDMA產(chǎn)1IP數(shù)據(jù)采集卡的硬件實(shí)現(xiàn)業(yè)發(fā)展的各個(gè)環(huán)節(jié)給予了支持1。針對(duì)我國正大力開發(fā)TD-SCDMA第三代移動(dòng)通信(3G)系統(tǒng)、即將大規(guī)模組建3G網(wǎng)絡(luò),卻沒有所必需的實(shí)驗(yàn)研發(fā)、建網(wǎng)和運(yùn)行測試設(shè)備的現(xiàn)狀,在國際上傳統(tǒng)通信測試儀表廠商只推出了基于CDMA2000和WCDMA2種標(biāo)準(zhǔn)的測試儀表的情況下,研制出具有自主知識(shí)產(chǎn)權(quán)的TD-SCDMA移動(dòng)通信網(wǎng)絡(luò)測試

4、儀,完善TD-SCDMA產(chǎn)業(yè)鏈,形成系列產(chǎn)品并推向市場,必將產(chǎn)生巨大的社會(huì)效益和經(jīng)濟(jì)效益。該測試儀主要測試的接口包括Iub,Iur,IuCS,IuPS,Nc,Nb,C/D/E/G/Gr/MSCS-SCP,Gn/Gp,Gi等2-4,主要實(shí)現(xiàn)協(xié)議分析(解碼)、呼叫跟蹤、業(yè)務(wù)統(tǒng)計(jì)及分析、網(wǎng)絡(luò)異常分析、網(wǎng)絡(luò)分析和優(yōu)化、協(xié)議仿真等功能,采用工控機(jī)結(jié)構(gòu),多鏈路、多通道的硬件由多個(gè)基于PCI總線的數(shù)據(jù)采集卡(規(guī)程板)組成。IP數(shù)據(jù)采集卡是其中的一個(gè)PCI數(shù)據(jù)采集卡。TD-SCDMA網(wǎng)絡(luò)從R99演進(jìn)到R4版本,逐步改進(jìn)。TD-SCDMA的下一步發(fā)展趨勢是向R5版本演進(jìn),R5版本是全I(xiàn)P化的版本,Iu,Iur和

5、Iub接口增加了基于IP的可選傳輸方式,使得無線接入網(wǎng)實(shí)現(xiàn)了IP化;在核心網(wǎng)方面,最大的變化是在R4的基礎(chǔ)上增加了IP多媒體子系統(tǒng)(即IMS系統(tǒng)),從3GPP和TCP/IP相關(guān)協(xié)議2-5可以看出,TD-SCDMA網(wǎng)絡(luò)中的IP數(shù)據(jù)與通常的IP網(wǎng)絡(luò)中的數(shù)據(jù)規(guī)范相同而且更簡單,完全可以直接通過網(wǎng)卡捕獲完成數(shù)據(jù)采集,我們需要做的只是取出網(wǎng)絡(luò)中的數(shù)據(jù)供上層分析軟件作信令分析。IP數(shù)據(jù)采集卡的工作流程大致為:由TD-SCDMA網(wǎng)絡(luò)的相應(yīng)接口傳輸過來的以太網(wǎng)幀到達(dá)網(wǎng)卡網(wǎng)卡內(nèi)的單片程序接收幀的目的MAC地址,根據(jù)計(jì)算機(jī)上的網(wǎng)卡驅(qū)動(dòng)程序設(shè)置的接收模式判斷該不該接收,認(rèn)為該接收后就產(chǎn)生中斷信號(hào)通知CPUCPU得到

6、中斷信號(hào)產(chǎn)生中斷,操作系統(tǒng)根據(jù)網(wǎng)卡的驅(qū)動(dòng)程序設(shè)置的網(wǎng)卡中斷程序地址調(diào)用驅(qū)動(dòng)程序接收數(shù)據(jù)放入堆棧應(yīng)用程序?qū)?shù)據(jù)進(jìn)行處理。我們選擇了RealtekRTL8139C芯片的10M/100M自適應(yīng)網(wǎng)卡來處理以太網(wǎng)幀,該網(wǎng)卡遵循PCI2.2總線規(guī)范,支持IEEE802.3u100Base-T和IEEE802.3x全雙工流控制,它內(nèi)建了符合MII規(guī)格的收發(fā)器(Tranceiver),可以使用DMA直接使用位于內(nèi)存的緩沖區(qū)來保存網(wǎng)絡(luò)上接收的數(shù)據(jù)包。為完成對(duì)數(shù)據(jù)包的捕獲,需要對(duì)網(wǎng)卡的工作模式進(jìn)行設(shè)置。*收稿日期:2005-09-07修訂日期:2006-06-03基金項(xiàng)目:國家高技術(shù)研究發(fā)展計(jì)劃(863重大專項(xiàng))

7、(2005AA123780);科技部中小企業(yè)創(chuàng)新基金(05c26215111405);科技部中小企業(yè)創(chuàng)新基金(No.05C26215111405);重慶市科委科技攻關(guān)項(xiàng)目(CSTC,2005AC2040)和重慶市經(jīng)委指導(dǎo)性計(jì)劃項(xiàng)目(No.05-1GX-DZ180)。作者簡介:劉偉(1978-),男,重慶人,碩士研究生,研究方向?yàn)橥ㄐ啪W(wǎng)測試,E-mail:L_30;張治中,教授,主要研究方向?yàn)橥ㄐ啪W(wǎng)測試,光交換和寬帶信息網(wǎng)絡(luò)技術(shù)等。aaaaaa第4期劉偉,等:TD-SCDMA網(wǎng)絡(luò)測試儀IP數(shù)據(jù)采集卡的研制44922.1IP數(shù)據(jù)采集卡的軟件調(diào)試混雜模式-1。代碼如下(去掉錯(cuò)誤檢測等代碼,下同):p

8、cap_if_t*alldevs;pcap_if_t*d;正常情況下,網(wǎng)絡(luò)接口應(yīng)該只響應(yīng)這樣的2種數(shù)據(jù)幀:與自己硬件地址相匹配的數(shù)據(jù)幀和發(fā)向所有機(jī)器的廣播數(shù)據(jù)幀。而對(duì)于網(wǎng)卡來說一般有以下4種接收模式:廣播模式:該模式下的網(wǎng)卡能夠接收網(wǎng)絡(luò)中的廣播信息;組播模式:設(shè)置在該模式下的網(wǎng)卡能夠接收組播數(shù)據(jù);直接模式:在這種模式下,只有目的網(wǎng)卡才能接收該數(shù)據(jù);混雜模式:在這種模式下的網(wǎng)卡能夠接收一切通過它的數(shù)據(jù),而不管該數(shù)據(jù)是否是傳給它的。所以我們把網(wǎng)卡設(shè)置為混雜模式,它就能接收傳輸在網(wǎng)絡(luò)上的每一個(gè)信息包。2.2Winpcap以太網(wǎng)介質(zhì)接入控制(mediumaccesscontrol,MAC)子層及其以下

9、層協(xié)議由硬件實(shí)現(xiàn),邏輯鏈路控制(logicallinkcontrol,LLC)子層及其上層協(xié)議均由軟件實(shí)現(xiàn)。Windows操作系統(tǒng)下的網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序遵守網(wǎng)絡(luò)設(shè)備接口規(guī)范(networkdeviceinterfacespecification,NDIS),它在分層的網(wǎng)絡(luò)驅(qū)動(dòng)程序框架中規(guī)定了一個(gè)標(biāo)準(zhǔn)接口,從而使抽象低層次的硬件提供了高層次網(wǎng)絡(luò)上的網(wǎng)絡(luò)管理。我們采用的winpcap(windowspacketcapture)也是用的NDIS,將自己注冊(cè)為一個(gè)協(xié)議處理驅(qū)動(dòng)。Winpcap是windows平臺(tái)下一個(gè)免費(fèi)、公共的網(wǎng)絡(luò)訪問系統(tǒng)7。開發(fā)winpcap項(xiàng)目的目的在于為win32應(yīng)用程序提供訪問

10、網(wǎng)絡(luò)底層的能力。它提供了以下各項(xiàng)功能:捕獲原始數(shù)據(jù)報(bào),包括在共享網(wǎng)絡(luò)上各主機(jī)發(fā)送/接收的以及相互之間交換的數(shù)據(jù)報(bào);在數(shù)據(jù)報(bào)發(fā)往應(yīng)用程序之前,按照自定義的規(guī)則將某些特殊的數(shù)據(jù)報(bào)過濾掉;在網(wǎng)絡(luò)上發(fā)送原始的數(shù)據(jù)報(bào);收集網(wǎng)絡(luò)通信過程中的統(tǒng)計(jì)信息。Winpcap的主要功能是獨(dú)立于主機(jī)協(xié)議而發(fā)送和接收原始數(shù)據(jù)報(bào)。我們主要用到winpcap的捕獲功能,通過對(duì)winpcap驅(qū)動(dòng)和winsock的利用8,很多編程變得簡單,下面簡要介紹數(shù)據(jù)包的捕獲過程。charerrbufPCAP_ERRBUF_SIZE;pcap_findalldevs(&alldevs,errbuf);/獲得網(wǎng)絡(luò)設(shè)備指針for(d=allde

11、vs;d;d=d-next)d-name;/d-name就是我們需要的網(wǎng)卡名字字符串pcap_freealldevs(alldevs);/釋放alldev資源事實(shí)上,winpap也提供另外的高級(jí)信息。特別是pcap_findalldevs()函數(shù)返回的每個(gè)pcap_if結(jié)構(gòu)體都同樣包含一個(gè)pcap_addr結(jié)構(gòu)的列表,它包含:一個(gè)地址列表,一個(gè)掩碼列表,一個(gè)廣播地址列表和一個(gè)目的地址列表。在此不再詳述。2.2.2打開相應(yīng)網(wǎng)卡并設(shè)置為混雜模式打開網(wǎng)卡的功能是通過pcap_open_live()來實(shí)現(xiàn)的,下面是pcap_open_live的函數(shù)聲明:pcap_t*pcap_open_live(ch

12、ar*device,intsna-plen,intpromisc,intto_ms,char*ebuf)Device就是前面我們獲得的網(wǎng)卡的名字。它有3個(gè)參數(shù)snaplen,promisc,to_ms。snaplen用于指定所捕獲包的特定部分,這樣在某些場合就可以減少拷貝數(shù)據(jù)的數(shù)量從而提高包捕獲的效率。promisc指明網(wǎng)卡處于混雜模式,此時(shí)網(wǎng)卡可以捕獲到發(fā)往其它主機(jī)的數(shù)據(jù)包。我們正需要此功能。to_ms參數(shù)指定讀數(shù)據(jù)的超時(shí)控制,超時(shí)以ms計(jì)算。當(dāng)在超時(shí)時(shí)間內(nèi)網(wǎng)卡上沒有數(shù)據(jù)到來時(shí),對(duì)網(wǎng)卡的讀操作將返回。如果該參數(shù)為0那么意味著沒有超時(shí)控制,對(duì)網(wǎng)卡的讀操作在沒有數(shù)據(jù)到來時(shí)將永遠(yuǎn)堵塞。如果為-1那

13、么對(duì)網(wǎng)卡的讀操作將立即返回,不管有沒有數(shù)據(jù)可讀。代碼如下:pcap_t*adhandle;charerrbufPCAP_ERRBUF_SIZE;adhandle=pcap_open_live(d-name,/網(wǎng)卡名稱65535,/捕獲包的大小2.2.1獲得網(wǎng)卡列表1,/混雜模式安裝了winpcap驅(qū)動(dòng)之后,其中的pcap.h提供了pcap_findalldevs()函數(shù)來實(shí)現(xiàn)獲得網(wǎng)卡列表(主要是獲得網(wǎng)卡的名稱),該API返回一個(gè)pcap_if結(jié)構(gòu)的鏈表,表的每項(xiàng)內(nèi)容含有全面的網(wǎng)卡信息:字段名字、含有名字的描述、有關(guān)驅(qū)動(dòng)器的易讀信息。它定義為*參數(shù)alldevsp是pcap_if_t結(jié)構(gòu)體的指針

14、,如果函數(shù)pcap_findalldevs函數(shù)執(zhí)行成功,將獲得一個(gè)可用網(wǎng)卡的列表,里面存儲(chǔ)的就是第一個(gè)元素的指針;Errbuf存儲(chǔ)錯(cuò)誤信息的字符串。返回值int:如果返回0則執(zhí)行成功,錯(cuò)誤返回1000,/讀超時(shí)為1秒errbuf);/errorbuffer2.2.3捕獲數(shù)據(jù)包并保存為文件pcap_dump()實(shí)現(xiàn)將數(shù)據(jù)包內(nèi)容依次寫入pcap_dump_open()指定的文件中,函數(shù)聲明如下:voidpcap_dump(u_char*user,conststructpcap_pk-*參數(shù)constu_char*sp即數(shù)據(jù)包內(nèi)容指針。代碼如下:dumpfile=pcap_dump_open(adh

15、andle,argv);/打開文件/*以下代碼循環(huán)捕獲數(shù)據(jù)并調(diào)用packet_handler函數(shù)把數(shù)據(jù)存儲(chǔ)到堆文件*/alldevsp,char*errbuf)intpcap_findalldevs(pcap_if_th,constu_char*sp)thdr450重慶郵電學(xué)院學(xué)報(bào)(自然科學(xué)版)第18卷pcap_loop(adhandle,0,packet_handler,(unsignedchar*)dumpfile);voidpacket_handler(u_char*dumpfile,conststruct有運(yùn)行穩(wěn)定高效、代碼簡單、同時(shí)方便改進(jìn)等特點(diǎn)。參考文獻(xiàn):pcap_pkthdr*h

16、eader,constu_char*pkt_data)pcap_dump(dumpfile,header,pkt_data);1王炎.TD-SCDMA系統(tǒng)測試情況分析EB/OL.2005-08-04.3設(shè)計(jì)結(jié)果2cn.3GPPTS23.002V5.12.0.Networkarch-i數(shù)據(jù)包保存下來之后就可以讀取出來供應(yīng)用軟件分析。為驗(yàn)證捕獲效果,我們通過接收另一個(gè)機(jī)器的已知數(shù)據(jù)IP包然后用該軟件抓包,再用pcap_tectureEB/OL.(2003-09-20)2006-05-30./ftp/Specs/2004-09/Rel-5/23_series/23002-5c0.zip.open_o

17、ffline()打開一個(gè)堆文件,用pcap_loop()來循環(huán)從文件中讀取數(shù)據(jù),并打印了其中每個(gè)包的內(nèi)容,證實(shí)了我們的設(shè)計(jì)。在文中我們采用的所有代碼在VC編譯環(huán)境下用C+語言實(shí)現(xiàn)9,可以打印出捕獲的數(shù)據(jù)包。至此,整個(gè)數(shù)據(jù)采集完成并得到驗(yàn)證。該方案通過初步實(shí)踐確認(rèn)在TD-SCDMA網(wǎng)絡(luò)建網(wǎng)初期數(shù)據(jù)量不太大的情況下完全能實(shí)現(xiàn)IP數(shù)據(jù)包的采集。如果在一個(gè)繁忙的網(wǎng)絡(luò)上進(jìn)行截獲則需要對(duì)應(yīng)用程序進(jìn)行必要的性能優(yōu)化以避免丟失數(shù)據(jù)包,可以采用多線程的方法來解決:程序中使用3個(gè)線程進(jìn)行操3453GPPTS25.401V5.9.0.UTRANoveralldescriptionEB/OL.(2003-09-20)

18、2006-05-30./ftp/Specs/2004-09/Re-l5/25_series/25401-590.zip.3GPPTS23.060V5.9.0.GeneralPacketRadioService(GPRS);Servicedescription;Stage2EB/OL.(2003-09-20)2006-05-30./ftp/Specs/2004-09/Re-l5/23_series/23060-590.zip.3GPPTS29.060V5.11.0.GeneralPacketRadioService(GPRS);GPRSTunnelling作:只進(jìn)行捕獲操作,它將驅(qū)動(dòng)程序獲得的數(shù)

19、據(jù)Protocol(GTP)acrosstheGnandGpinter-包添加到數(shù)據(jù)包隊(duì)列的頭部;只進(jìn)行過濾操作,faceEB/OL.(2003-09-20)2006-05-30.它檢查新到的隊(duì)尾的數(shù)據(jù)包,檢查其是否滿足過濾/ftp/Specs/2004-09/條件,如果不滿足則將其刪除出隊(duì)列;包處理操作。進(jìn)行數(shù)據(jù)6Re-l5/29_series/29060-5b0.zip.李小文,李貴勇,陳賢亮,等.TD-SCDMA第如果有要求更高的應(yīng)用,就不得不采用一些專用芯片如網(wǎng)絡(luò)處理器進(jìn)行處理,對(duì)此我們將進(jìn)一步三代移動(dòng)通信系統(tǒng)、信令及實(shí)現(xiàn)M.北京:人民郵電出版社,2003.完善設(shè)計(jì)。7TheWinPc

20、apTeam.TheWinPcapmanual4結(jié)束語andtutorialEB/OL.2006-05-30.http:/.在當(dāng)前3G尚未商用的前提下,我們通過多次模擬實(shí)驗(yàn)證明,利用該IP數(shù)據(jù)采集卡,通過100M網(wǎng)卡讀入由TD-SCDMA網(wǎng)絡(luò)的相應(yīng)接口傳輸過來的IP數(shù)據(jù)包,利用winpcap驅(qū)動(dòng)捕獲數(shù)據(jù)包并將其轉(zhuǎn)換成可以識(shí)別的數(shù)據(jù)供上層分析是能夠滿足TD-SCDMA網(wǎng)絡(luò)測試要求的。事實(shí)上,采用winpcap89ANTHONYJ.JimOhlund.MicrosoftWin-dows網(wǎng)絡(luò)編程M.2版.北京:清華大學(xué)出版社,2002.DAVIDJ.Kruglinski.VisualC+技術(shù)內(nèi)幕M.4版.北京:清華大學(xué)出版社,1999.(責(zé)任編輯:劉勇)驅(qū)動(dòng)方案對(duì)網(wǎng)卡的型號(hào)并無嚴(yán)格要求,該采集卡具Ondesignandimplementation

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論