随着通信技術的快(kuài)速發展,網絡資源需求的增長以及高(gāo)質量服務的訴求使的網絡測量尤爲重要,目前網絡測試儀大(dà)多爲國外(wài)産品且高(gāo)精度測試儀價格昂貴。基于現(xiàn)狀本方案設計(jì)了(le)一種基于FPGA實現(xiàn)的高(gāo)精度硬件測量解決方案,本方案通過主動測量的方式實現(xiàn),其爲針對(duì)網絡延時(shí)進行測量,實現(xiàn)結構如圖1所示。其分爲軟件與硬件實現(xiàn)部分,軟件部分用(yòng)于實現(xiàn)測試數據的下(xià)發以及測試結果顯示功能(néng)。硬件包括數據緩存、接收控制、發送控制功能(néng)。在此方案中爲了(le)保證軟硬件數據的交互,本方案提供了(le)軟件支撐層和(hé)DMA硬件支撐邏輯,同時(shí)爲了(le)确保測試的高(gāo)精度,測試報(bào)文(wén)的時(shí)間戳使用(yòng)硬件時(shí)間戳。

圖1 硬件測量解決方案結構圖
本方案中,通過軟件測試報(bào)文(wén)生成器生成測試報(bào)文(wén),通過軟件支撐層下(xià)發給硬件存儲,硬件可以支撐多個數據存儲,并可以根據需求設置每個報(bào)文(wén)的發送間隔。發送時(shí)軟件下(xià)發開(kāi)始發送信号,則硬件根據軟件配置的報(bào)文(wén)以及下(xià)發的次序,按時(shí)間發送間隔逐個進行發送。在發送時(shí)硬件記錄發送第一個報(bào)文(wén)的時(shí)間戳值以及發送的報(bào)文(wén)個數。待發送結束後軟件讀取相應的時(shí)間戳和(hé)報(bào)文(wén)個數值。
在報(bào)文(wén)返回時(shí),接收端記錄接收的報(bào)文(wén)的達到(dào)時(shí)間戳值,并将接收的報(bào)文(wén)發送給軟件。軟件的結果顯示模塊根據接收的報(bào)文(wén)時(shí)間戳以及接收的報(bào)文(wén)個數與發送時(shí)間戳及發送的個數進行比較,從(cóng)而可以分析出網絡的發送延時(shí)以及網絡的擁塞情況。

圖2 硬件測量實現(xiàn)圖
如圖2 展示了(le)硬件測量的實現(xiàn)的細節,本方案中硬件不僅支持測量報(bào)文(wén)的轉發,同時(shí)也(yě)支持普通報(bào)文(wén)的處理(lǐ)。測量報(bào)文(wén)和(hé)普通報(bào)文(wén)由解析模塊區(qū)分,當報(bào)文(wén)爲普通報(bào)文(wén)時(shí),則可以正常轉發輸出,當爲測試報(bào)文(wén)時(shí)則進行緩存。軟件下(xià)發每一個測量報(bào)文(wén)均攜帶一個MD信息,其中包含了(le)當前報(bào)文(wén)相比前一個報(bào)文(wén)的發送間隔。定時(shí)發送器根據發送信号開(kāi)始發送第一個報(bào)文(wén),待發送結束後判斷後續報(bào)文(wén)的發送間隔,根據間隔依次發送後續報(bào)文(wén)。發送過程中由定時(shí)發送器記錄發送報(bào)文(wén)的個數,以及第一個發送報(bào)文(wén)的時(shí)間戳值。發送的測量報(bào)文(wén)經網絡轉發後将返回給測量模塊。接收的測量報(bào)文(wén)會(huì)在接收控制器添加MD信息,即接收報(bào)文(wén)的硬件時(shí)間戳值。并将攜帶時(shí)間戳值得報(bào)文(wén)發送給軟件進行計(jì)算(suàn)處理(lǐ)。接收控制器會(huì)記錄接收的測試報(bào)文(wén)的數量。收發的測試報(bào)文(wén)計(jì)數以及時(shí)間戳供軟件進行分析網絡情況時(shí)讀取。
通過測試驗證本測量方案可以實現(xiàn)納秒級的測量精度,且可以實現(xiàn)延時(shí)的精度測試、網絡擁塞情況測試以及網絡傳輸延時(shí)變化測試。