??? 摘? 要:? 針對(duì)當(dāng)前高速網(wǎng)絡(luò)的發(fā)展情況,,給出了一種千兆以太網(wǎng)絡(luò)測(cè)試儀的實(shí)現(xiàn)方法,。測(cè)試儀系統(tǒng)具有光/電雙端口測(cè)試通道;采用高端FPGA生成高速網(wǎng)絡(luò)數(shù)據(jù)流量;模塊間采用標(biāo)準(zhǔn)接口,,實(shí)現(xiàn)RFC2544網(wǎng)絡(luò)測(cè)試基準(zhǔn)建議的測(cè)試項(xiàng);軟件采用實(shí)時(shí)微型操作系統(tǒng),。在千兆以太網(wǎng)交換機(jī)搭建的測(cè)試環(huán)境下進(jìn)行測(cè)試,系統(tǒng)工作正常,,具有較高的穩(wěn)定性,。?
??? 關(guān)鍵詞: 千兆以太網(wǎng);? 測(cè)試儀;? 高速流量
?
??? 隨著全球通信技術(shù)的迅猛發(fā)展,我國(guó)的通信技術(shù)也在以前所未有的速度向世界高端領(lǐng)域前進(jìn),??焖僖蕴W(wǎng)FE(Fast Ethernet)、千兆以太網(wǎng)GE(Giga-bit Ethernet)等高速網(wǎng)絡(luò)及其產(chǎn)品已從實(shí)驗(yàn)室研究進(jìn)入實(shí)際生活應(yīng)用中,,并隨著電信業(yè)的快速發(fā)展以及目前正在進(jìn)行的電信行業(yè)重組,,高速網(wǎng)絡(luò)產(chǎn)品將會(huì)越來越多。而高速網(wǎng)絡(luò)及其產(chǎn)品的快速發(fā)展需要相應(yīng)的網(wǎng)絡(luò)測(cè)試與維護(hù)產(chǎn)品的跟進(jìn)發(fā)展,,目前雖然已經(jīng)有幾種高速網(wǎng)絡(luò)測(cè)試儀產(chǎn)品,,但這些測(cè)試儀主要是由國(guó)外廠家所研制,一方面不能滿足國(guó)內(nèi)特定的測(cè)試需求,,另一方面不適合國(guó)人的使用習(xí)慣,,使用不方便,?;趪?guó)內(nèi)與國(guó)外通信網(wǎng)絡(luò)存在差別的具體情況,為滿足國(guó)內(nèi)通信網(wǎng)的高速發(fā)展,,有必要研發(fā)符合國(guó)內(nèi)具體情況的高性能高速網(wǎng)絡(luò)測(cè)試儀[1],。?
1 系統(tǒng)介紹?
??? 千兆以太網(wǎng)測(cè)試儀體積小,、重量輕,是一款適合攜帶的手持式小型測(cè)試儀,。其具有雙端口測(cè)試功能,,支持電口、光口SFP(小型可插拔)以太網(wǎng)數(shù)據(jù)的接入測(cè)試,;具有自協(xié)商功能,,支持協(xié)商10/100/1 000 M網(wǎng)絡(luò)數(shù)據(jù)與Pause幀流量控制;支持PHY環(huán)回與MAC環(huán)回測(cè)試,,支持RFC2544網(wǎng)絡(luò)基準(zhǔn)測(cè)試建議的吞吐量(Throughput),、時(shí)延(Latency)、丟包率(Frame Loss Rate)和背靠背幀(Burst Back to Back Frame)等指標(biāo)測(cè)試[2],;支持VLAN,、SNMP、IPX,、DNS等測(cè)試管理功能,;系統(tǒng)可以進(jìn)行大數(shù)據(jù)量的存儲(chǔ)處理,且具有高速網(wǎng)絡(luò)流量生成發(fā)送功能,。千兆以太網(wǎng)測(cè)試儀系統(tǒng)電路原理框圖如圖1所示,。?
?
?
??? 10/100/1 000 M數(shù)據(jù)通過電口進(jìn)來后,經(jīng)物理層進(jìn)行開銷處理與串并轉(zhuǎn)換后到MAC層,在MAC層經(jīng)流/自協(xié)商控制,、地址濾波,,符合要求的數(shù)據(jù)在Gigabit MAC控制下送到POS-PHY Level 3接口到FPGA,F(xiàn)PGA對(duì)數(shù)據(jù)進(jìn)行處理后送至ARM控制器進(jìn)行進(jìn)一步的處理與顯示報(bào)告,。?
??? 從SFP電口進(jìn)來的數(shù)據(jù)直接到MAC器件,,由SERDES進(jìn)行串并轉(zhuǎn)換,然后進(jìn)行8B/10B編解碼,,同樣在Gigabit MAC控制下送到POS-PHY Level 3接口,,其余處理與電口進(jìn)來的數(shù)據(jù)相同。?
??? 發(fā)送數(shù)據(jù)的流向與接收數(shù)據(jù)流向相反,,在ARM控制模塊的指示下,,F(xiàn)PGA生成相應(yīng)格式的網(wǎng)絡(luò)高速數(shù)據(jù)流量,經(jīng)MAC,、PHY層處理后送至電口或光口發(fā)送到被測(cè)網(wǎng)絡(luò)或設(shè)備,。?
??? 千兆以太網(wǎng)測(cè)試儀系統(tǒng)采用的器件要求具有較高的處理速率,以滿足千兆網(wǎng)絡(luò)的高速要求,。其中ARM處理器采用三星的S3C2440A處理器,,這是一款內(nèi)核為ARM90T、支持最高數(shù)據(jù)速率可達(dá)403 MHz的處理器,,它包含LCD接口,、SD卡接口,、多達(dá)3個(gè)的UART接口等[3],能很好地滿足小型手持式測(cè)試儀需求,。?
??? PHY層采用支持IEEE802.3協(xié)議,兼容10/100/1 000 M速率,,支持自協(xié)商,具有平行檢測(cè)能力的器件,。MAC層為支持電口,,可直接接SFP光口的器件,支持Ethernet 2.0、IEEE 802.3 LLC,、IEEE 802.3 SNAP/LLC編碼格式和VLAN幀,;具有可編程Pause流量控制,可編程自協(xié)商功能,;具有8個(gè)單播精確匹配地址過濾器,,1個(gè)基于64bit的Hash多播過濾器;具有一組統(tǒng)計(jì)計(jì)數(shù)寄存器,,可以統(tǒng)計(jì)各種情況下的收幀,、發(fā)幀以及不同錯(cuò)誤的錯(cuò)誤幀的發(fā)送接收情況。另外,,具有一個(gè)8位MCU接口,,可與ARM控制器連接,實(shí)現(xiàn)對(duì)MAC層的配置與控制,。?
??? 高速數(shù)據(jù)的生成與處理采用XILINX公司的大規(guī)??删幊唐骷﨔PGA,其寄存器速率最高可達(dá)550MHz,,滿足POS-PHY Level 3(60 MHz~104 MHz)的速率要求,。?
??? 千兆以太網(wǎng)測(cè)試儀系統(tǒng)各個(gè)模塊間采用標(biāo)準(zhǔn)接口:8位的GMII(PHY層與MAC層)、32位的POS-PHY Level 3(MAC層與FPGA高速數(shù)據(jù)流量生成與處理),、8位的MCU(MAC器件與ARM控制器),,其中FPGA模塊與ARM控制模塊通過雙FIFO進(jìn)行通信,1個(gè)用于下行數(shù)據(jù)傳輸,,一個(gè)用于上行數(shù)據(jù)傳輸,。?
??? 發(fā)送與處理數(shù)據(jù)必須支持不同協(xié)議的數(shù)據(jù)。發(fā)送數(shù)據(jù)時(shí),,ARM控制模塊告訴FPGA需要發(fā)送的數(shù)據(jù)格式,,包括UDP、TCP,、ICMP等數(shù)據(jù)類型以及流量模式為突發(fā)流還是均勻流等信息[4],,F(xiàn)PGA產(chǎn)生發(fā)送流量數(shù)據(jù)。接收數(shù)據(jù)時(shí),MAC層,、FPGA模塊根據(jù)ARM控制模塊的指示,對(duì)數(shù)據(jù)進(jìn)行過濾,、統(tǒng)計(jì)等處理后把結(jié)果報(bào)告給ARM控制模塊,,如需要也可將符合要求的數(shù)據(jù)送至ARM模塊進(jìn)行分析。?
2? 功能實(shí)現(xiàn)?
??? 千兆以太網(wǎng)測(cè)試儀系統(tǒng)需要實(shí)現(xiàn)的模塊按功能劃分,可以分為接收處理模塊,、數(shù)據(jù)生成發(fā)送模塊,、控制協(xié)調(diào)模塊及接口通信模塊。接收處理模塊主要是接收處理來自網(wǎng)絡(luò)中的數(shù)據(jù)流,。數(shù)據(jù)生成發(fā)送模塊主要是根據(jù)ARM控制模塊的指示生成高速數(shù)據(jù)流并發(fā)送,。控制協(xié)調(diào)模塊負(fù)責(zé)指示接收,、發(fā)送數(shù)據(jù)的類型模式以及協(xié)調(diào)各個(gè)模塊的工作,。接口通信模塊一方面需要處理不同模塊間的通信協(xié)議,另一方面需要把數(shù)據(jù)送至人機(jī)交互界面,。?
2.1 接收處理模塊?
??? 接收數(shù)據(jù)是從電/光口接收,,經(jīng)過PHY層、MAC層處理后到FPGA,。在FPGA中根據(jù)RFC2544網(wǎng)絡(luò)基準(zhǔn)測(cè)試建議的吞吐量,、時(shí)延、丟包率和背靠背幀等指標(biāo),,對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)處理,,然后送至ARM控制器模塊進(jìn)行進(jìn)一步的處理與報(bào)告顯示。電口,、光口接收數(shù)據(jù)流程框圖分別如圖2,、圖3所示。?
?
?
?
??? 接收數(shù)據(jù)端口為雙端口,,接收來自電口的數(shù)據(jù)以及來自SFP小型可插拔的光口數(shù)據(jù),。?
??? 電口支持符合IEEE802.3ab定義的1000 BASE-T接口。數(shù)據(jù)進(jìn)來后在PHY層器件中經(jīng)過AD轉(zhuǎn)換,,物理介質(zhì)接入(PAM)子層和物理編碼(PCS)子層處理,,由DMUX處理后,通過GMII接口到MAC層,,在MAC層中實(shí)現(xiàn)自協(xié)商,、流控制與設(shè)置的地址過濾后,通過POS-PHY接口的可編程FIFO到FPGA 模塊,。在FPGA模塊中主要根據(jù)RFC2544建議實(shí)現(xiàn)各種統(tǒng)計(jì)等處理,。?
??? 光口支持IEEE802.3定義的1000BASE-SX短波(多模),1000BASE-LX長(zhǎng)波(單模或多模)光纖信號(hào),。光口處理基本與電口處理相同,,由SFP進(jìn)來的信號(hào)直接傳到MAC器件的SERDES(Serial to Parallel & 8B/10B Decoder)模塊,在其中進(jìn)行串并轉(zhuǎn)換,、8B/10B解碼后,,由POS-PHY接口的可編程FIFO傳到FPGA模塊。?
??? 在FPGA模塊中處理統(tǒng)計(jì)接收到的數(shù)據(jù)時(shí),,需要快速查找數(shù)據(jù)以確定其是否與所統(tǒng)計(jì)處理數(shù)據(jù)類型匹配,。此處采用輸入為需查詢的數(shù)據(jù),輸出為數(shù)據(jù)地址和匹配標(biāo)志的CAM存儲(chǔ)器,,這樣可大大加快數(shù)據(jù)的查詢速率,。?
2.2 數(shù)據(jù)生成發(fā)送模塊?
??? 數(shù)據(jù)發(fā)送流程與接收流程相反,在FPGA模塊中需要生成各種類型,、各種模式的高速數(shù)據(jù)流量,。需要生成的數(shù)據(jù)流量包括UDP、TCP,、ICMP等,。需要支持的流量生成模型主要有均勻流和突發(fā)流,其差別主要是流量速率,、報(bào)文之間的時(shí)間間隔的不同,,前者是以恒定速率生成發(fā)送流量,后者以滿足一定分布的隨機(jī)數(shù)速率產(chǎn)生發(fā)送流量[4],。發(fā)送時(shí)需要根據(jù)ARM控制部分決定發(fā)送類型為單播,、多播、還是廣播,。數(shù)據(jù)生成流程如圖4所示,。?
?
?
2.3 控制協(xié)調(diào)模塊?
??? ARM控制模塊是協(xié)調(diào)測(cè)試儀系統(tǒng)各部分工作,并根據(jù)用戶設(shè)置生成接收處理與生成發(fā)送數(shù)據(jù)的配置信息,。?
??? ARM控制協(xié)調(diào)模塊對(duì)FPGA模塊的配置信息是通過FIFO實(shí)現(xiàn)的,。首先,ARM處理器將用戶輸入的控制字轉(zhuǎn)換處理成雙方約定的,、具有一定格式的數(shù)據(jù)類型,,然后放入FIFO;然后,,ARM向FPGA模塊發(fā)送一個(gè)指示信息,,F(xiàn)PGA在掃描到此指示信息后,按照約定的格式讀取FIFO,,提取配置信息,。在發(fā)送數(shù)據(jù)時(shí),,此配置信息為發(fā)送數(shù)據(jù)流量的配置信息,而在接收處理數(shù)據(jù)時(shí)為處理數(shù)據(jù)命令信息,。?
??? 對(duì)MAC層的控制包括配置地址過濾,、發(fā)送接收端口選擇等。ARM處理器將需要過濾的地址信息通過MAC器件的8位MCU接口配置到MAC層器件寄存器,,實(shí)現(xiàn)對(duì)單播,、多播、廣播的地址設(shè)置,。同樣,通過配置使能通道設(shè)計(jì)寄存器,,選擇數(shù)據(jù)接收發(fā)送通道為電口還是光口,。?
2.4 接口通信模塊?
??? 各個(gè)模塊間的通信盡可能采用業(yè)界標(biāo)準(zhǔn)接口,以便于系統(tǒng)升級(jí)維護(hù),。?
??? PHY層與MAC層接口采用8位的GMII接口,。GMII(Gigabit Media Independent Interface)可以滿足不同芯片供應(yīng)商對(duì)于MAC層和PHY層的互連互通。GMII采用8位接口數(shù)據(jù),,工作時(shí)鐘125 MHz,,傳輸速率可達(dá)1 000 Mb/s,同時(shí)兼容MII所規(guī)定的10/100 Mb/s工作方式,。?
??? MAC層與FPGA模塊采用32位的POS-PHY Level 3接口,。POS-PHY接口為成幀器、網(wǎng)絡(luò)處理器與相關(guān)器件間通常使用的接口,,由PMC-Sierra和Saturn開發(fā),,很多特性與Utopia接口相同,但POS-PHY能滿足不同長(zhǎng)度數(shù)據(jù)包的需要,,其中Level 3速率為2.488 Gb/s,。?
3 軟件設(shè)計(jì)?
??? 千兆以太網(wǎng)測(cè)試儀軟件采用Microsoft公司的Windows CE操作系統(tǒng),其界面友好,,支持中文,,支持多種網(wǎng)絡(luò)協(xié)議。軟件設(shè)計(jì)需要實(shí)現(xiàn)的模塊主要有4個(gè):?
??? (1)對(duì)MAC層,、FPGA等器件進(jìn)行配置,,數(shù)據(jù)提取,發(fā)送驅(qū)動(dòng)程序,;?
??? (2)在FPGA等模塊的數(shù)據(jù)處理基礎(chǔ)上,,進(jìn)一步對(duì)統(tǒng)計(jì)處理結(jié)果進(jìn)行處理;?
??? (3)指示生成發(fā)送,,接收過濾數(shù)據(jù)配置信息,;?
??? (4)界面顯示測(cè)試報(bào)告,。?
??? Windows CE操作系統(tǒng)軟件還需實(shí)現(xiàn)USB、串口等通信交互功能,。?
??? 對(duì)千兆以太網(wǎng)測(cè)試儀采用深圳東進(jìn)通訊技術(shù)有限公司研制的Keygoe1003型千兆以太網(wǎng)交換機(jī)進(jìn)行測(cè)試,。測(cè)試項(xiàng)包括接收數(shù)據(jù)分析測(cè)試、發(fā)送數(shù)據(jù)環(huán)回分析測(cè)試,、對(duì)測(cè)試結(jié)果進(jìn)行RFC2544建議的吞吐量,、時(shí)延、丟包率和背靠背幀等指標(biāo)分析,。經(jīng)過嚴(yán)格的功能和指標(biāo)測(cè)試,,本千兆以太網(wǎng)測(cè)試儀的各項(xiàng)指標(biāo)均達(dá)到高速網(wǎng)絡(luò)測(cè)試儀要求的標(biāo)準(zhǔn),可滿足電信行業(yè)廠商的需求,。?
參考文獻(xiàn)?
[1] 吳義寶,,沈文博,陸增援,,等. 2.5 G ATM IP寬帶測(cè)試接口的研制. 中國(guó)科學(xué)技術(shù)大學(xué)學(xué)報(bào),,2004,34(1).?
[2] RFC2544. Benchmarking methodology for network interconnect devices. 1999.?
[3] ELECTRONICS S. S3C2440A.pdf. Http://www.samsungsemi.com/.2004.?
[4] 盛立杰,,吳建平,,章淼,等. 高速網(wǎng)絡(luò)性能測(cè)試負(fù)載生成多流發(fā)送調(diào)度算法. 清華大學(xué)學(xué)報(bào)(自然科學(xué)版),,2004,,44(7).?