送隊列每次發(fā)送流量數據包的時刻,所述發(fā)送 時間戳數據包的間隔為所述網卡中每個發(fā)送隊列發(fā)送相鄰的兩個時間戳數據包之間發(fā)送 流量數據包的次數包括: 計算所述CPU的時鐘頻率除以所述網卡發(fā)送數據包的速率所得的第三商,獲取所述第 三商的整數部分作為發(fā)送所述網卡中每個發(fā)送隊列每次發(fā)送時間戳數據包所需的第一時 間; 計算所述第一個數,所述網卡中發(fā)送隊列的個數與所述第一時間的乘積作為所述網卡 中所有發(fā)送隊列發(fā)送時間戳數據包所需的時間; 計算所述CPU的時鐘頻率與所述網卡中所有發(fā)送隊列發(fā)送時間戳數據包所需的時間 的差作為所述網卡中所有發(fā)送隊列發(fā)送流量數據包所需的時間; 計算所述第二個數與所述網卡中發(fā)送隊列的個數的乘積作為所述網卡中所有發(fā)送隊 列發(fā)送流量數據包的次數; 計算所述網卡中所有發(fā)送隊列發(fā)送數據包所需的時間除以所述網卡中所有發(fā)送隊列 發(fā)送流量數據包的次數所得的第四商,獲取所述第四商的整數部分作為所述網卡中每個發(fā) 送隊列每次發(fā)送流量數據包所需的第二時間; 計算所述第二個數除以所述第一個數所得的第五商,獲得大于所述第五商的最小的整 數作為所述網卡中每個發(fā)送隊列發(fā)送時間戳數據包的間隔; 計算m-1除以所述時間戳數據包的間隔所得的第六商,獲得所述第六商的整數部分, 計算所述第六商的整數部分與所述第一時間的乘積作為第三時間,所述第三時間為所述網 卡中每個發(fā)送隊列發(fā)送m-1次流量數據包的過程中,發(fā)送時間戳數據包所需的時間; 計算所述預設的初始時間,m-1個所述第二時間,以及所述第三時間的和作為所述網卡 中每個發(fā)送隊列發(fā)送第m次流量數據包的時刻; 其中,I <m<第二個數。5. 根據權利要求4所述的方法,其特征在于,所述方法還包括: 獲取所述第三商的小數部分作為第一誤差; 獲取所述第四商的小數部分作為第二誤差; 計算所述網卡中每個發(fā)送隊列發(fā)送第m次流量數據包前的累計誤差,所述累計誤差為 第三誤差和第四誤差的和,所述第三誤差為m-1個所述第一誤差的和,所述第四誤差為所 述第六商的整數部分與所述第二誤差的積; 當所述累計誤差小于單位時間時,所述網卡中每個發(fā)送隊列發(fā)送第m次流量數據包的 時刻為所述預設的初始時間,m-1個所述第二時間,以及所述第三時間的和,所述單位時間 為1個所述CPU的時鐘周期; 當所述累計誤差不小于所述單位時間時,所述網卡中每個發(fā)送隊列發(fā)送第m次流量數 據包的時刻為所述預設的初始時間,m-1個所述第二時間,所述第三時間,以及1個所述單 位時間的和。6. -種時延測試的裝置,其特征在于,所述裝置包括: 獲取單元,用于獲取網卡發(fā)送數據包的速率,所述網卡中發(fā)送隊列的個數,預設的初始 時刻,CPU的時鐘頻率,預設比例以及突發(fā)包個數,所述預設比例為所述網卡中每個發(fā)送隊 列發(fā)送時間戳數據包的個數占該發(fā)送隊列突發(fā)數據包次數的比例,所述時間戳數據包用于 進行時延測試,所述突發(fā)包個數為所述網卡中每個發(fā)送隊列每次發(fā)送流量數據包的個數, 所述流量數據包用于滿足所述網卡發(fā)送數據包的速率; 第一獲得單元,用于根據所述網卡發(fā)送數據包的速率,所述網卡中發(fā)送隊列的個數,所 述預設比例以及所述突發(fā)包個數獲得所述網卡中每個發(fā)送隊列發(fā)送所述時間戳數據包的 個數作為第一個數; 第二獲得單元,用于根據所述網卡發(fā)送數據包的速率,所述網卡中發(fā)送隊列的個數,所 述突發(fā)包個數以及所述第一個數獲得所述網卡中每個發(fā)送隊列發(fā)送流量數據包的實際次 數作為第二個數; 第三獲得單元,用于根據所述CPU的時鐘頻率,所述網卡中發(fā)送隊列的個數,所述預設 的初始時刻,所述第一個數和所述第二個數獲得所述網卡中每個發(fā)送隊列發(fā)送時間戳數據 包的間隔以及該發(fā)送隊列每次發(fā)送流量數據包的時刻,所述發(fā)送時間戳數據包的間隔為所 述網卡中每個發(fā)送隊列發(fā)送相鄰的兩個時間戳數據包之間發(fā)送流量數據包的次數; 發(fā)送單元,用于根據所述網卡中每個發(fā)送隊列發(fā)送時間戳數據包的間隔以及該發(fā)送隊 列每次發(fā)送流量數據包的時刻向待測設備發(fā)送流量數據包和時間戳數據包,記錄所述網卡 每個發(fā)送隊列發(fā)送每個時間戳數據包的時刻作為該時間戳數據包的第一時刻; 接收單元,用于接收所述待測設備轉發(fā)的每個時間戳數據包,記錄接收每個時間戳數 據包的時刻作為該時間戳數據包的第二時刻; 測試單元,用于根據每個時間戳數據包的第一時刻和第二時刻測試時延。7. 根據權利要求6所述的裝置,其特征在于,所述第一獲得單元包括: 第一計算子單元,用于計算所述網卡發(fā)送數據包的速率除以所述網卡中發(fā)送隊列的個 數所得的第一商,獲取所述第一商的整數部分作為所述網卡中每個發(fā)送隊列發(fā)送數據包的 速率; 第二計算子單元,用于計算所述網卡中每個發(fā)送隊列發(fā)送數據包的速率除以所述突發(fā) 包個數所得的第二商,獲取所述第二商的整數部分作為所述網卡中每個發(fā)送隊列發(fā)送流量 數據包的理論次數; 第三計算子單元,用于計算所述網卡中每個發(fā)送隊列發(fā)送流量數據包的理論次數與所 述預設比例的乘積獲得第一值; 第四計算子單元,用于計算所述網卡中每個發(fā)送隊列發(fā)送數據包的速率減去所述第一 值所得的第一差值,計算所述第一差值除以所述突發(fā)包個數所得的余數作為第二值; 判斷子單元,用于判斷所述網卡發(fā)送數據包的速率除以所述網卡中發(fā)送隊列的個數是 否有余數; 第五計算子單元,用于當所述網卡發(fā)送數據包的速率除以所述網卡中發(fā)送隊列的個數 沒有余數時,所述網卡中每個發(fā)送隊列的第一個數為所述第一值和所述第二值的和; 第六計算子單元,用于當所述網卡發(fā)送數據包的速率除以所述網卡中發(fā)送隊列的個數 的余數為i時,所述網卡中排列在第1至第i的發(fā)送隊列的第一個數為所述第一值和所述 第二值的和加1;所述網卡中排列在第i+1至第j的發(fā)送隊列的第一個數為所述第一值和 所述第二值的和; 其中,O < i < j的整數,j為所述網卡中發(fā)送隊列的個數。8. 根據權利要求6所述的裝置,其特征在于,所述第二獲得單元包括: 第七計算子單元,用于計算所述網卡發(fā)送數據包的速率除以所述網卡中發(fā)送隊列的個 數所得的第一商,獲取所述第一商的整數部分作為所述網卡中每個發(fā)送隊列發(fā)送數據包的 速率; 第八計算子單元,用于計算所述網卡中每個發(fā)送隊列發(fā)送數據包的速率減去所述第一 個數所得的第二差值; 第九計算子單元,用于計算所述第二差值除以所述突發(fā)包個數的商獲得所述網卡中每 個發(fā)送隊列發(fā)送流量數據包的實際次數作為第二個數。9. 根據權利要求6所述的裝置,其特征在于,所述第三獲得單元包括: 第十計算子單元,用于計算所述CPU的時鐘頻率除以所述網卡發(fā)送數據包的速率所得 的第三商,獲取所述第三商的整數部分作為發(fā)送所述網卡中每個發(fā)送隊列每次發(fā)送時間戳 數據包所需的第一時間; 第十一計算子單元,用于計算所述第一個數,所述網卡中發(fā)送隊列的個數與所述第一 時間的乘積作為所述網卡中所有發(fā)送隊列發(fā)送時間戳數據包所需的時間; 第十二計算子單元,用于計算所述CPU的時鐘頻率與所述網卡中所有發(fā)送隊列發(fā)送時 間戳數據包所需的時間的差作為所述網卡中所有發(fā)送隊列發(fā)送流量數據包所需的時間; 第十三計算子單元,用于計算所述第二個數與所述網卡中發(fā)送隊列的個數的乘積作為 所述網卡中所有發(fā)送隊列發(fā)送流量數據包的次數; 第十四計算子單元,用于計算所述網卡中所有發(fā)送隊列發(fā)送數據包所需的時間除以所 述網卡中所有發(fā)送隊列發(fā)送流量數據包的次數所得的第四商,獲取所述第四商的整數部分 作為所述網卡中每個發(fā)送隊列每次發(fā)送流量數據包所需的第二時間; 第十五計算子單元,用于計算所述第二個數除以所述第一個數所得的第五商,獲得大 于所述第五商的最小的整數作為所述網卡中每個發(fā)送隊列發(fā)送時間戳數據包的間隔; 第十六計算子單元,用于計算m-1除以所述時間戳數據包的間隔所得的第六商,獲得 所述第六商的整數部分,計算所述第六商的整數部分與所述第一時間的乘積作為第三時 間,所述第三時間為所述網卡中每個發(fā)送隊列發(fā)送m-1次流量數據包的過程中,發(fā)送時間 戳數據包所需的時間; 第十七計算子單元,用于計算所述預設的初始時間,m-1個所述第二時間,以及所述第 三時間的和作為所述網卡中每個發(fā)送隊列發(fā)送第m次流量數據包的時刻; 其中,I <m<第二個數。10.根據權利要求9所述的裝置,其特征在于,所述第三獲得單元還包括: 第一獲取子單元,用于獲取所述第三商的小數部分作為第一誤差; 第二獲取子單元,用于獲取所述第四商的小數部分作為第二誤差; 第十八計算子單元,用于計算所述網卡中每個發(fā)送隊列發(fā)送第m次流量數據包前的累 計誤差,所述累計誤差為第三誤差和第四誤差的和,所述第三誤差為m-1個所述第一誤差 的和,所述第四誤差為所述第六商的整數部分與所述第二誤差的積; 第十九計算子單元,用于當所述累計誤差小于單位時間時,所述網卡中每個發(fā)送隊列 發(fā)送第m次流量數據包的時刻為所述預設的初始時間,m-1個所述第二時間,以及所述第三 時間的和,所述單位時間為1個所述CPU的時鐘周期; 第二十計算子單元,用于當所述累計誤差不小于所述單位時間時,所述網卡中每個發(fā) 送隊列發(fā)送第m次流量數據包的時刻為所述預設的初始時間,m-1個所述第二時間,所述第 三時間,以及1個所述單位時間的和。
【專利摘要】本發(fā)明提供了一種時延測試的方法及裝置,根據網卡發(fā)送數據包的速率,網卡中發(fā)送隊列的個數,預設比例以及突發(fā)包個數獲得網卡中每個發(fā)送隊列發(fā)送所述時間戳數據包的個數作為第一個數;根據網卡發(fā)送數據包的速率,網卡中發(fā)送隊列的個數,突發(fā)包個數以及第一個數獲得網卡中每個發(fā)送隊列發(fā)送流量數據包的次數作為第二個數;根據CPU的時鐘頻率,網卡中發(fā)送隊列的個數,預設的初始時刻,第一個數和所述第二個數獲得網卡中每個發(fā)送隊列發(fā)送時間戳數據包的間隔以及該發(fā)送隊列每次發(fā)送流量數據包的時刻,發(fā)送流量數據包和時間戳數據包,測試時延?;谲浖崿F發(fā)送數據包,解決了現有技術中采用FPGA硬件發(fā)送數據包設備成本高的問題,易于修改和功能擴展。
【IPC分類】H04L12/26
【公開號】CN105141479
【申請?zhí)枴緾N201510604243
【發(fā)明人】楊梟
【申請人】東軟集團股份有限公司
【公開日】2015年12月9日
【申請日】2015年9月21日