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

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

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