本發(fā)明涉及測(cè)試領(lǐng)域,更具體地說,涉及一種測(cè)試網(wǎng)絡(luò)延時(shí)的方法和裝置。
背景技術(shù):
隨著網(wǎng)絡(luò)的發(fā)展,網(wǎng)絡(luò)傳輸速率越來越快,對(duì)網(wǎng)絡(luò)性能要求也越來越高。其中,網(wǎng)絡(luò)延時(shí)是評(píng)價(jià)網(wǎng)絡(luò)性能的基本指標(biāo),也是測(cè)試延時(shí)抖動(dòng)、網(wǎng)絡(luò)寬帶性能指標(biāo)的基礎(chǔ)。網(wǎng)絡(luò)延時(shí)測(cè)試在網(wǎng)絡(luò)性能檢測(cè)、網(wǎng)絡(luò)行為分析、網(wǎng)絡(luò)應(yīng)用設(shè)計(jì)等領(lǐng)域有著廣泛的應(yīng)用。
網(wǎng)絡(luò)延時(shí)測(cè)試是通過測(cè)試數(shù)據(jù)包從源端開始進(jìn)入網(wǎng)絡(luò)到它開始離開網(wǎng)絡(luò)進(jìn)入目的端之間的時(shí)間得出網(wǎng)絡(luò)延時(shí)結(jié)果。網(wǎng)絡(luò)延時(shí)測(cè)試通常是測(cè)試往返延時(shí),在現(xiàn)有技術(shù)中,測(cè)試以下三個(gè)部分:
報(bào)文從源端到目的端的傳輸時(shí)間;
目的端設(shè)備對(duì)數(shù)據(jù)包處理時(shí)間,即包處理時(shí)間;
目的端到源端的包傳輸時(shí)間。
其中,目的端設(shè)備對(duì)數(shù)據(jù)包處理的時(shí)間,是根據(jù)目的端的硬件條件決定,不能體現(xiàn)網(wǎng)絡(luò)的性能。
現(xiàn)有技術(shù)中采用icmp協(xié)議構(gòu)造數(shù)據(jù)包或udp協(xié)議構(gòu)造數(shù)據(jù)包作為測(cè)試數(shù)據(jù)包進(jìn)行測(cè)試,但是目的端或傳輸路徑中的一些節(jié)點(diǎn)會(huì)將icmp數(shù)據(jù)包過濾掉,導(dǎo)致不能進(jìn)行測(cè)試,即使可以進(jìn)行測(cè)試但是測(cè)試結(jié)果也會(huì)有不夠精確的問題。udp數(shù)據(jù)包雖然可以不被過濾,但測(cè)試結(jié)果通常也會(huì)存在較大誤差。隨著網(wǎng)絡(luò)速率的提升,網(wǎng)絡(luò)延時(shí)測(cè)試的精度要求越來越高,但是使用上述方法都不能精準(zhǔn)的測(cè)試出網(wǎng)絡(luò)延時(shí)。
因此,如何提高測(cè)試精度,準(zhǔn)確測(cè)試網(wǎng)絡(luò)延時(shí)是領(lǐng)域技術(shù)人員需要解決的問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種測(cè)試網(wǎng)絡(luò)延時(shí)的方法,以提高測(cè)試精度,準(zhǔn)確測(cè)試網(wǎng)絡(luò)延時(shí)。
為實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例提供了如下技術(shù)方案:
一種測(cè)試網(wǎng)絡(luò)延時(shí)的方法,包括:
將數(shù)據(jù)包a從源端發(fā)送至目的端,并確定所述源端發(fā)送所述數(shù)據(jù)包a的第一時(shí)間信息,以及所述目的端接收所述數(shù)據(jù)包a的第二時(shí)間信息;
將所述目的端構(gòu)造的數(shù)據(jù)包b發(fā)送至所述源端,并確定所述目的端發(fā)送所述數(shù)據(jù)包b的第三時(shí)間信息,以及所述源端接收所述數(shù)據(jù)包b的第四時(shí)間信息;
根據(jù)所述第一時(shí)間信息、所述第二時(shí)間信息、所述第三時(shí)間信息以及所述第四時(shí)間信息確定所述數(shù)據(jù)包a和所述數(shù)據(jù)包b的傳輸總時(shí)間,將所述傳輸總時(shí)間作為網(wǎng)絡(luò)延時(shí)時(shí)間。
優(yōu)選地,所述將數(shù)據(jù)包a從源端發(fā)送至目的端,并確定所述源端發(fā)送所述數(shù)據(jù)包a的第一時(shí)間信息,以及所述目的端接收所述數(shù)據(jù)包a的第二時(shí)間信息,包括:
將數(shù)據(jù)包a通過udp協(xié)議從源端發(fā)送至目的端,并確定所述源端發(fā)送所述數(shù)據(jù)包a的第一時(shí)間信息,以及所述目的端接收所述數(shù)據(jù)包a的第二時(shí)間信息。
優(yōu)選地,所述將所述目的端構(gòu)造的數(shù)據(jù)包b發(fā)送至所述源端,并確定所述目的端發(fā)送所述數(shù)據(jù)包b的第三時(shí)間信息,以及所述源端接收所述數(shù)據(jù)包b的第四時(shí)間信息,包括:
將所述目的端構(gòu)造的數(shù)據(jù)包b通過udp協(xié)議發(fā)送至所述源端,并確定所述目的端發(fā)送所述數(shù)據(jù)包b的第三時(shí)間信息,以及所述源端接收所述數(shù)據(jù)包b的第四時(shí)間信息。
優(yōu)選地,所述根據(jù)所述第一時(shí)間信息、所述第二時(shí)間信息、所述第三時(shí)間信息以及所述第四時(shí)間信息確定所述數(shù)據(jù)包a和所述數(shù)據(jù)包b的傳輸總時(shí)間,將所述傳輸總時(shí)間作為網(wǎng)絡(luò)延時(shí)時(shí)間,包括:
所述目的端將所述第二時(shí)間信息和第三時(shí)間信息發(fā)送至所述源端;
所述源端利用以下規(guī)則確定所述數(shù)據(jù)包a和所述數(shù)據(jù)包b的傳輸總時(shí)間:
rtt=(t2-t1)+(t4-t3);
其中,rtt為所述網(wǎng)絡(luò)延時(shí)時(shí)間,t1為所述第一時(shí)間信息,t2為所述第二時(shí)間信息,t3為所述第三時(shí)間信息,t4為所述第四時(shí)間信息;
將所述傳輸總時(shí)間作為網(wǎng)絡(luò)延時(shí)時(shí)間。
優(yōu)選地,所述目的端將所述第二時(shí)間信息和第三時(shí)間信息發(fā)送至源端,包括:
所述目的端將所述第二時(shí)間信息和第三時(shí)間信息通過tcp協(xié)議發(fā)送至所述源端。
優(yōu)選地,所述根據(jù)所述第一時(shí)間信息、所述第二時(shí)間信息、所述第三時(shí)間信息以及所述第四時(shí)間信息確定所述數(shù)據(jù)包a和所述數(shù)據(jù)包b的傳輸總時(shí)間,將所述傳輸總時(shí)間作為網(wǎng)絡(luò)延時(shí)時(shí)間,包括:
所述目的端計(jì)算所述第二時(shí)間信息與第三時(shí)間信息的差值,將所述差值發(fā)送至所述源端;
所述源端利用以下規(guī)則確定所述數(shù)據(jù)包a和所述數(shù)據(jù)包b的傳輸總時(shí)間:
rtt=(t4-t1)-(t3-t2);
其中,rtt為所述網(wǎng)絡(luò)延時(shí)時(shí)間,t1為所述第一時(shí)間信息,t2為所述第二時(shí)間信息,t3為所述第三時(shí)間信息,t4為所述第四時(shí)間信息,(t3-t2)為所述差值。
優(yōu)選地,所述目的端計(jì)算所述第二時(shí)間信息與第三時(shí)間信息的差值,將所述差值發(fā)送至源端,包括:
目的端計(jì)算所述第二時(shí)間信息與第三時(shí)間信息的差值,將所述差值通過tcp協(xié)議發(fā)送至源端。
優(yōu)選地,所述第一時(shí)間信息、第四時(shí)間信息在源端物理層記錄,所述第二時(shí)間信息、第三時(shí)間信息在目的端物理層記錄。
一種測(cè)試網(wǎng)絡(luò)延時(shí)的裝置,包括:
第一發(fā)送模塊,用于將數(shù)據(jù)包a從源端發(fā)送至目的端,并確定所述源端發(fā)送所述數(shù)據(jù)包a的第一時(shí)間信息,以及所述目的端接收所述數(shù)據(jù)包a的第二時(shí)間信息;
第二發(fā)送模塊,用于將所述目的端構(gòu)造的數(shù)據(jù)包b發(fā)送至所述源端,并確定所述目的端發(fā)送所述數(shù)據(jù)包b的第三時(shí)間信息,以及所述源端接收所述數(shù)據(jù)包b的第四時(shí)間信息;
計(jì)算模塊,用于根據(jù)所述第一時(shí)間信息、所述第二時(shí)間信息、所述第三時(shí)間信息以及所述第四時(shí)間信息確定所述數(shù)據(jù)包a和所述數(shù)據(jù)包b的傳輸總時(shí)間,將所述傳輸總時(shí)間作為網(wǎng)絡(luò)延時(shí)時(shí)間。
優(yōu)選地,所述第一時(shí)間信息、第四時(shí)間信息在源端物理層記錄,所述第二時(shí)間信息、第三時(shí)間信息在目的端物理層記錄。
本發(fā)明提供的一種測(cè)試網(wǎng)絡(luò)延時(shí)的方法,將數(shù)據(jù)包a從源端發(fā)送至目的端,并確定所述源端發(fā)送所述數(shù)據(jù)包a的第一時(shí)間信息,以及所述目的端接收所述數(shù)據(jù)包a的第二時(shí)間信息;將所述目的端構(gòu)造的數(shù)據(jù)包b發(fā)送至所述源端,并確定所述目的端發(fā)送所述數(shù)據(jù)包b的第三時(shí)間信息,以及所述源端接收所述數(shù)據(jù)包b的第四時(shí)間信息;根據(jù)所述第一時(shí)間信息、所述第二時(shí)間信息、所述第三時(shí)間信息以及所述第四時(shí)間信息確定所述數(shù)據(jù)包a和所述數(shù)據(jù)包b的傳輸總時(shí)間,將所述傳輸總時(shí)間作為網(wǎng)絡(luò)延時(shí)時(shí)間。
可見,在本方案中,通過對(duì)第一時(shí)間信息、第二時(shí)間信息、第三時(shí)間信息、第四時(shí)間信息的計(jì)算,可以只計(jì)算所述數(shù)據(jù)包a和所述數(shù)據(jù)包b的傳輸總時(shí)間,省略目的端設(shè)備對(duì)數(shù)據(jù)包的處理時(shí)間,也就是忽略了目的端硬件的影響,因此可以大大的提高網(wǎng)絡(luò)延時(shí)測(cè)試的精度。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例公開的一種測(cè)試網(wǎng)絡(luò)延時(shí)的方法流程圖;
圖2為本發(fā)明實(shí)施例公開的一種具體的測(cè)試網(wǎng)絡(luò)延時(shí)的方法流程圖;
圖3為本發(fā)明實(shí)施例公開的一種測(cè)試網(wǎng)絡(luò)延時(shí)的裝置結(jié)構(gòu)示意圖;
圖4為本發(fā)明實(shí)施例公開的一具體的第一發(fā)送模塊結(jié)構(gòu)示意圖;
圖5為本發(fā)明實(shí)施例公開的一具體的第二發(fā)送模塊示結(jié)構(gòu)意圖;
圖6為本發(fā)明實(shí)施例公開的一具體的計(jì)算模塊結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例公開了本發(fā)明提供的一種測(cè)試網(wǎng)絡(luò)延時(shí)的方法,以實(shí)現(xiàn)提高測(cè)試精度,準(zhǔn)確測(cè)試網(wǎng)絡(luò)延時(shí)。
參見圖1,本發(fā)明實(shí)施例提供的一種測(cè)試網(wǎng)絡(luò)延時(shí)的方法,包括:
s101,將數(shù)據(jù)包a從源端發(fā)送至目的端,并確定所述源端發(fā)送所述數(shù)據(jù)包a的第一時(shí)間信息,以及所述目的端接收所述數(shù)據(jù)包a的第二時(shí)間信息。
具體地,源端構(gòu)造數(shù)據(jù)包a作為測(cè)試數(shù)據(jù)包,并將數(shù)據(jù)包a通過一種網(wǎng)絡(luò)協(xié)議發(fā)送至目的端,同時(shí),源端記錄發(fā)送數(shù)據(jù)包a的第一時(shí)間信息,即記錄數(shù)據(jù)包a離開源端的時(shí)間戳。當(dāng)數(shù)據(jù)包a到達(dá)目的端時(shí),目的端記錄接收數(shù)據(jù)包a的第二時(shí)間信息,即記錄數(shù)據(jù)包a到達(dá)目的端的時(shí)間戳。
s102,將所述目的端構(gòu)造的數(shù)據(jù)包b發(fā)送至所述源端,并確定所述目的端發(fā)送所述數(shù)據(jù)包b的第三時(shí)間信息,以及所述源端接收所述數(shù)據(jù)包b的第四時(shí)間信息。
可以理解的是,目的端在收到數(shù)據(jù)包a后構(gòu)造新的數(shù)據(jù)包b,并將數(shù)據(jù)包b發(fā)送到源端。目的端記錄發(fā)送數(shù)據(jù)包b的第三時(shí)間信息,即記錄數(shù)據(jù)包b離開目的端的時(shí)間戳。當(dāng)源端收到數(shù)據(jù)包b時(shí),記錄源端接收數(shù)據(jù)包b的第四時(shí)間信息,即記錄數(shù)據(jù)包b到達(dá)源端的時(shí)間戳。
s103,根據(jù)所述第一時(shí)間信息、所述第二時(shí)間信息、所述第三時(shí)間信息以及所述第四時(shí)間信息確定所述數(shù)據(jù)包a和所述數(shù)據(jù)包b的傳輸總時(shí)間,將所述傳輸總時(shí)間作為網(wǎng)絡(luò)延時(shí)時(shí)間。
具體地,目的端將第二時(shí)間信息和第三時(shí)間信息,或第二時(shí)間信息與第三時(shí)間信息的差值發(fā)送至源端,源端利用四個(gè)時(shí)間信息計(jì)算出數(shù)據(jù)包a與數(shù)據(jù)包b的傳輸總時(shí)間,也就是說,此傳輸總時(shí)間中不包括目的端對(duì)數(shù)據(jù)包的處理時(shí)間。
因此,通過對(duì)第一時(shí)間信息、第二時(shí)間信息、第三時(shí)間信息、第四時(shí)間信息的計(jì)算,可以只計(jì)算所述數(shù)據(jù)包a和所述數(shù)據(jù)包b的傳輸總時(shí)間,省略目的端設(shè)備對(duì)數(shù)據(jù)包的處理時(shí)間,也就是避免了目的端硬件的影響,因此可以大大的提高網(wǎng)絡(luò)延時(shí)測(cè)試的精度。
本發(fā)明實(shí)施例公開了一種具體地網(wǎng)絡(luò)延時(shí)方法,區(qū)別于上一實(shí)施例,本實(shí)施例對(duì)上一實(shí)施例中的確定所述數(shù)據(jù)包a和所述數(shù)據(jù)包b的傳輸總時(shí)間做了具體的限定,其他步驟內(nèi)容與上一實(shí)施例大致相同,詳細(xì)內(nèi)容可以參見上一實(shí)施例相對(duì)應(yīng)的部分,此處不再贅述。具體的:
源端利用以下規(guī)則確定所述數(shù)據(jù)包a和所述數(shù)據(jù)包b的傳輸總時(shí)間:
rtt=(t2-t1)+(t4-t3);
其中,rtt為所述網(wǎng)絡(luò)延時(shí)時(shí)間,t1為所述第一時(shí)間信息,t2為所述第二時(shí)間信息,t3為所述第三時(shí)間信息,t4為所述第四時(shí)間信息;
將所述傳輸總時(shí)間作為網(wǎng)絡(luò)延時(shí)時(shí)間。
可以理解的,t2-t1為數(shù)據(jù)包a的傳輸時(shí)間,t4-t3為數(shù)據(jù)包b的傳輸時(shí)間。因此,傳輸總時(shí)間就是數(shù)據(jù)包a的傳輸時(shí)間與數(shù)據(jù)包b的傳輸時(shí)間之和。
需要說明的是,在rtt=(t2-t1)+(t4-t3)=(t4-t1)-(t3-t2)的公式中,t4與t1為源端記錄的時(shí)間信息,t3、t2為目的端記錄的時(shí)間信息,因此在目的端向源端發(fā)送時(shí)間信息之前,可以將t3與t2做差,將差值一個(gè)數(shù)據(jù)發(fā)送至源端,使用rtt=(t4-t1)-(t3-t2)計(jì)算延時(shí)時(shí)間。因此,源端向目的端只傳輸一個(gè)數(shù)據(jù)時(shí),可以降低傳輸后數(shù)據(jù)不準(zhǔn)確性的可能。
通過本實(shí)施例介紹的方法確定所述數(shù)據(jù)包a和所述數(shù)據(jù)包b的傳輸總時(shí)間即網(wǎng)絡(luò)延時(shí)時(shí)間,就是數(shù)據(jù)包a的傳輸時(shí)間與數(shù)據(jù)包b的傳輸時(shí)間之和??梢詫⒛康亩藢?duì)數(shù)據(jù)包處理的時(shí)間省略,因此避免了目的端硬件環(huán)境的影響,增加了網(wǎng)絡(luò)延時(shí)測(cè)試的精度。
本發(fā)明實(shí)施例公開了一種具體地網(wǎng)絡(luò)延時(shí)方法,相對(duì)于上一實(shí)施例,本實(shí)施例對(duì)技術(shù)方案做了進(jìn)一步的說明和優(yōu)化。參見圖2,本發(fā)明實(shí)施例提供的一種測(cè)試網(wǎng)絡(luò)延時(shí)的方法,包括:
s201,將數(shù)據(jù)包a通過udp協(xié)議從源端發(fā)送至目的端,并確定所述源端發(fā)送所述數(shù)據(jù)包a的第一時(shí)間信息,以及所述目的端接收所述數(shù)據(jù)包a的第二時(shí)間信息。
需要說明的是,用于測(cè)試的數(shù)據(jù)包a是通過udp協(xié)議構(gòu)造的數(shù)據(jù)包,并通過udp協(xié)議傳輸?shù)侥康亩恕R驗(yàn)閡dp協(xié)議是一個(gè)無狀態(tài)的傳輸協(xié)議,所以它在傳遞數(shù)據(jù)時(shí)非常快,因此用于傳輸測(cè)試包也就更快,測(cè)試延時(shí)更準(zhǔn)確。可以傳輸測(cè)試包的傳輸協(xié)議還有icmp,但是目的端或者傳輸路徑中的一些節(jié)點(diǎn)會(huì)過濾icmp數(shù)據(jù)包,因此使用udp協(xié)議也可以避免此問題。
s202,將所述目的端構(gòu)造的數(shù)據(jù)包b通過udp協(xié)議發(fā)送至所述源端,并確定所述目的端發(fā)送所述數(shù)據(jù)包b的第三時(shí)間信息,以及所述源端接收所述數(shù)據(jù)包b的第四時(shí)間信息。
可以理解的是,當(dāng)目的端向源端傳輸用于測(cè)試的數(shù)據(jù)包b也可以選擇udp協(xié)議進(jìn)行傳輸,滿足了數(shù)據(jù)包不被過濾以及傳輸速度快的條件。
s203,所述目的端將所述第二時(shí)間信息和第三時(shí)間信息通過tcp協(xié)議發(fā)送至所述源端。
具體地,所述目的端將第二時(shí)間信息和第三時(shí)間信息作為數(shù)據(jù)包,發(fā)送至源端。對(duì)于時(shí)間信息的傳輸要求是可靠的傳輸,保證到達(dá)源端的時(shí)間信息是準(zhǔn)確的。但是udp協(xié)議是面向無連接的協(xié)議,如果網(wǎng)絡(luò)質(zhì)量不好,就很容易丟包,數(shù)據(jù)容易丟失,因此不能保證傳輸?shù)皆炊说臅r(shí)間信息是準(zhǔn)確的。而傳輸協(xié)議中的tcp協(xié)議,具有面向可靠連接的機(jī)制,雖然傳輸速率較低但傳輸數(shù)據(jù)可靠。因此當(dāng)傳輸時(shí)間信息時(shí),不要求傳輸速度但要求傳輸?shù)臏?zhǔn)確性,選擇tcp協(xié)議作為傳輸協(xié)議,將包括第二時(shí)間信息和第三時(shí)間信息的數(shù)據(jù)包傳輸?shù)皆炊?,保證了源端接收到的時(shí)間信息為準(zhǔn)確的。
s204,根據(jù)所述第一時(shí)間信息、所述第二時(shí)間信息、所述第三時(shí)間信息以及所述第四時(shí)間信息確定所述數(shù)據(jù)包a和所述數(shù)據(jù)包b的傳輸總時(shí)間,將所述傳輸總時(shí)間作為網(wǎng)絡(luò)延時(shí)時(shí)間。
具體的,源端利用以下規(guī)則確定所述數(shù)據(jù)包a和所述數(shù)據(jù)包b的傳輸總時(shí)間:
rtt=(t2-t1)+(t4-t3);
其中,rtt為所述網(wǎng)絡(luò)延時(shí)時(shí)間,t1為所述第一時(shí)間信息,t2為所述第二時(shí)間信息,t3為所述第三時(shí)間信息,t4為所述第四時(shí)間信息;
將所述傳輸總時(shí)間作為網(wǎng)絡(luò)延時(shí)時(shí)間。
可以理解的,t2-t1為數(shù)據(jù)包a的傳輸時(shí)間,t4-t3為數(shù)據(jù)包b的傳輸時(shí)間。因此,傳輸總時(shí)間就是數(shù)據(jù)包a的傳輸時(shí)間與數(shù)據(jù)包b的傳輸時(shí)間之和。
需要說明的是,在rtt=(t2-t1)+(t4-t3)=(t4-t1)-(t3-t2)的公式中,t4與t1為源端記錄的時(shí)間信息,t3、t2為目的端記錄的時(shí)間信息,因此在目的端向源端發(fā)送時(shí)間信息之前,可以將t3與t2做差,將差值一個(gè)數(shù)據(jù)發(fā)送至源端,使用rtt=(t4-t1)-(t3-t2)計(jì)算延時(shí)時(shí)間。
因此,通過采用udp協(xié)議發(fā)送測(cè)試包可以提高測(cè)試包傳輸?shù)乃俾什⑶冶苊饬吮荒康亩艘约捌渌?jié)點(diǎn)過濾掉,同時(shí)采用tcp協(xié)議傳輸時(shí)間信息的數(shù)據(jù)包,可以保證時(shí)間信息的準(zhǔn)確,再通過對(duì)第一時(shí)間信息、第二時(shí)間信息、第三時(shí)間信息、第四時(shí)間信息的計(jì)算,可以只計(jì)算所述數(shù)據(jù)包a和所述數(shù)據(jù)包b的傳輸總時(shí)間,省略目的端設(shè)備對(duì)數(shù)據(jù)包的處理時(shí)間,也就是忽略了目的端硬件的影響,因此可以大大的提高網(wǎng)絡(luò)延時(shí)測(cè)試的精度。
本發(fā)明實(shí)施例公開了一種具體地網(wǎng)絡(luò)延時(shí)方法,區(qū)別于上一實(shí)施例,本實(shí)施例對(duì)上一實(shí)施例中的時(shí)間信息記錄位置做了具體的限定,其他步驟內(nèi)容與上一實(shí)施例大致相同詳細(xì)內(nèi)容可以參見上一實(shí)施例相對(duì)應(yīng)的部分,此處不再贅述。具體的:
將第一時(shí)間信息、第四時(shí)間信息記錄在源端的物理層記錄,第二時(shí)間信息、第三時(shí)間信息在目的端的物理層記錄。
具體的,當(dāng)數(shù)據(jù)包a離開源端網(wǎng)卡時(shí),記錄第一時(shí)間信息,當(dāng)數(shù)據(jù)包到達(dá)目的端網(wǎng)卡時(shí),記錄第二時(shí)間信息;當(dāng)數(shù)據(jù)包b離開目的端網(wǎng)卡時(shí),記錄第三時(shí)間信息,當(dāng)數(shù)據(jù)包b到達(dá)源端網(wǎng)卡時(shí),記錄第四時(shí)間信息。
本發(fā)明實(shí)施例中,由于時(shí)間信息的數(shù)據(jù)包與測(cè)試包是分開發(fā)送到源端的,可以不用在數(shù)據(jù)包構(gòu)造之前確定時(shí)間信息,因此可以將時(shí)間信息移到物理層記錄,更準(zhǔn)確的記錄數(shù)據(jù)包離開的時(shí)間。也就是說,如果時(shí)間信息是放到測(cè)試包中進(jìn)行傳輸?shù)?,比如將?shù)據(jù)包b離開目的端的第三時(shí)間信息放到數(shù)據(jù)包b中傳輸?shù)皆炊耍藭r(shí)第三時(shí)間信息就是數(shù)據(jù)包b構(gòu)造之前的時(shí)間,而不是真正的離開目的端的時(shí)間,這個(gè)時(shí)間距離真正發(fā)送數(shù)據(jù)包的時(shí)間還遠(yuǎn),會(huì)導(dǎo)致測(cè)量誤差,但是在物理層網(wǎng)卡位置記錄第三時(shí)間信息,就是數(shù)據(jù)包b離開目的端那一時(shí)刻的時(shí)間信息。
因此,將時(shí)間信息與測(cè)試數(shù)據(jù)包分開發(fā)送之后,可以將時(shí)間信息記錄到網(wǎng)卡,也就是說將時(shí)間信息記錄到離開目的端的位置,可以減少時(shí)間信息記錄的誤差。
下面對(duì)本發(fā)明實(shí)施例提供的一種網(wǎng)絡(luò)延時(shí)測(cè)試裝置進(jìn)行介紹,下文描述的一種網(wǎng)絡(luò)延時(shí)測(cè)試裝置與上文描述的一種網(wǎng)絡(luò)延時(shí)測(cè)試方法可以相互參照。
參見圖3,本發(fā)明實(shí)施例提供的一種網(wǎng)絡(luò)延時(shí)測(cè)試裝置,包括第一發(fā)送模塊301,第二發(fā)送模塊302,計(jì)算模塊303。
第一發(fā)送模塊301,用于將數(shù)據(jù)包a從源端發(fā)送至目的端,并確定所述源端發(fā)送所述數(shù)據(jù)包a的第一時(shí)間信息,以及所述目的端接收所述數(shù)據(jù)包a的第二時(shí)間信息。
第二發(fā)送模塊302,用于將所述目的端構(gòu)造的數(shù)據(jù)包b發(fā)送至所述源端,并確定所述目的端發(fā)送所述數(shù)據(jù)包b的第三時(shí)間信息,以及所述源端接收所述數(shù)據(jù)包b的第四時(shí)間信息。
計(jì)算模塊303,用于根據(jù)所述第一時(shí)間信息、所述第二時(shí)間信息、所述第三時(shí)間信息以及所述第四時(shí)間信息確定所述數(shù)據(jù)包a和所述數(shù)據(jù)包b的傳輸總時(shí)間,將所述傳輸總時(shí)間作為網(wǎng)絡(luò)延時(shí)時(shí)間。
因此,計(jì)算模塊303通過對(duì)第一發(fā)送模塊301確定的第一時(shí)間信息、第二時(shí)間信息,以及第二發(fā)送模塊302確定的第三時(shí)間信息、第四時(shí)間信息的計(jì)算,可以只計(jì)算所述數(shù)據(jù)包a和所述數(shù)據(jù)包b的傳輸總時(shí)間,省略目的端設(shè)備對(duì)數(shù)據(jù)包的處理時(shí)間,也就是避免了目的端硬件的影響,因此可以大大的提高網(wǎng)絡(luò)延時(shí)測(cè)試的精度。
參見圖4,上述實(shí)施例中的第一發(fā)送模塊301具體包括:
發(fā)送單元301a,用于源端通過udp協(xié)議構(gòu)造數(shù)據(jù)包a,并通過udp協(xié)議發(fā)送至目的端。
確定單元301b,用于在源端網(wǎng)卡確定數(shù)據(jù)包a離開源端的第一時(shí)間信息。
接收單元301c,用于在目的端網(wǎng)卡確定數(shù)據(jù)包a到達(dá)目的端的第二時(shí)間信息。
參見圖5,上述實(shí)施例中的第二發(fā)送模塊302具體包括:
第一發(fā)送單元302a,用于在目的端通過udp協(xié)議構(gòu)造數(shù)據(jù)包b,并通過udp協(xié)議發(fā)送到源端。
第一確定單元302b,用于在目的端確定數(shù)據(jù)包b離開目的端的第三時(shí)間。
第二確定單元302c,用于在目的端確定數(shù)據(jù)包b離開目的端第三時(shí)間信息與數(shù)據(jù)包b到達(dá)目的端的第二時(shí)間信息的差值。
接收單元302d:用于在源端網(wǎng)卡位置記錄數(shù)據(jù)包b到達(dá)源端的第四時(shí)間信息。
第二發(fā)送單元302e,用于在目的端通過tcp協(xié)議發(fā)送第三時(shí)間信息和第二時(shí)間信息,或第二確定單元302c確定的差值。
參見圖6,上述實(shí)施例中的計(jì)算模塊303具體包括:
第一計(jì)算單元303a,用于在源端接收到第二時(shí)間信息和第三時(shí)間信息時(shí),通過規(guī)則rtt=(t2-t1)+(t4-t3)計(jì)算數(shù)據(jù)包a和所述數(shù)據(jù)包b的傳輸總時(shí)間。
第二計(jì)算單元303b,用于在源端接收到數(shù)據(jù)包b離開目的端第三時(shí)間信息與數(shù)據(jù)包b到達(dá)目的端的第二時(shí)間信息的差值時(shí),通過規(guī)則rtt=(t4-t1)-(t3-t2)計(jì)算數(shù)據(jù)包a和所述數(shù)據(jù)包b的傳輸總時(shí)間。
根據(jù)上述一種具體地網(wǎng)絡(luò)延時(shí)測(cè)試裝置,可以具體地應(yīng)用到以下具體實(shí)施例中,具體的:
s301,第一發(fā)送模塊301的發(fā)送單元301a按照udp協(xié)議構(gòu)造測(cè)試數(shù)據(jù)包a,然后將數(shù)據(jù)包a發(fā)送給目的端。
s302,第一發(fā)送模塊301的確定單元301b在源端網(wǎng)卡確定數(shù)據(jù)包a離開源端網(wǎng)卡的第一時(shí)間信息,例如時(shí)間戳t1。并將時(shí)間戳t1存放到源端物理層的延時(shí)計(jì)算模塊303中。
s303,第一發(fā)送模塊301的接收單元301c在目的端網(wǎng)卡確定數(shù)據(jù)包a到達(dá)目的端的第二時(shí)間信息,例如時(shí)間戳t2。并將時(shí)間戳t2存放到目的端物理層的通信模塊中。
s304,目的端對(duì)數(shù)據(jù)包a進(jìn)行響應(yīng),第二發(fā)送模塊302的第一發(fā)送單元302a在目的端通過udp協(xié)議構(gòu)造數(shù)據(jù)包b,并通過udp協(xié)議發(fā)送到源端。
s305,第二發(fā)送模塊302的第一確定單元302b在目的端確定數(shù)據(jù)包b離開目的端的第三時(shí)間,例如時(shí)間戳t3,并將時(shí)間戳t3存放到目的端物理層的通信模塊中。
s306,第二發(fā)送模塊302的接收單元302d在源端網(wǎng)卡位置記錄數(shù)據(jù)包b到達(dá)源端的第四時(shí)間信息,例如時(shí)間戳t4,并將時(shí)間戳t4傳遞到源端物理層的延時(shí)計(jì)算模塊303。
s307,第二發(fā)送模塊302的第二發(fā)送單元302e在目的端通過tcp協(xié)議發(fā)送第三時(shí)間信息即時(shí)間戳t3和第二時(shí)間信息即時(shí)間戳t2。
s308,計(jì)算模塊303的第一計(jì)算單元303a在源端接收到第二時(shí)間信息和第三時(shí)間信息時(shí),通過規(guī)則rtt=(t2-t1)+(t4-t3)計(jì)算數(shù)據(jù)包a和所述數(shù)據(jù)包b的傳輸總時(shí)間。
因此,第一發(fā)送模塊301的第一發(fā)送單元301a通過采用udp協(xié)議發(fā)送測(cè)試包可以提高測(cè)試包傳輸?shù)乃俾什⑶冶苊饬吮荒康亩艘约捌渌?jié)點(diǎn)過濾掉,同時(shí)第二發(fā)送模塊302的第二發(fā)送單元302e采用tcp協(xié)議傳輸時(shí)間信息的數(shù)據(jù)包,可以保證時(shí)間信息的準(zhǔn)確,計(jì)算模塊303再通過對(duì)第一時(shí)間信息、第二時(shí)間信息、第三時(shí)間信息、第四時(shí)間信息的計(jì)算,可以只計(jì)算所述數(shù)據(jù)包a和所述數(shù)據(jù)包b的傳輸總時(shí)間,省略目的端設(shè)備對(duì)數(shù)據(jù)包的處理時(shí)間,也就是忽略了目的端硬件的影響,因此可以大大的提高網(wǎng)絡(luò)延時(shí)測(cè)試的精度。
本發(fā)明實(shí)施例公開了一種具體地網(wǎng)絡(luò)延時(shí)方法,區(qū)別于上一實(shí)施例,本實(shí)施例對(duì)上一實(shí)施例中第二發(fā)送模塊302的第一確定單元302b改為第二確定單元302c,其他步驟內(nèi)容與上一實(shí)施例大致相同,詳細(xì)內(nèi)容可以參見上一實(shí)施例相對(duì)應(yīng)的部分,此處不再贅述。具體的:
第二發(fā)送模塊302的第二確定單元302c在目的端確定數(shù)據(jù)包b離開目的端第三時(shí)間信息與數(shù)據(jù)包b到達(dá)目的端的第二時(shí)間信息的差值。相應(yīng)地,第二發(fā)送模塊302的第二發(fā)送單元302e在目的端通過tcp協(xié)議發(fā)送第二確定單元302c確定的差值,計(jì)算模塊303第二計(jì)算單元303b在源端接收到數(shù)據(jù)包b離開目的端第三時(shí)間信息與數(shù)據(jù)包b到達(dá)目的端的第二時(shí)間信息的差值時(shí),通過規(guī)則rtt=(t4-t1)-(t3-t2)計(jì)算數(shù)據(jù)包a和所述數(shù)據(jù)包b的傳輸總時(shí)間。
因此,發(fā)送第二確定單元302c確定的差值,就是只向源端發(fā)送一個(gè)數(shù)據(jù),更有效地提高了時(shí)間信息的準(zhǔn)確發(fā)送,以便提高傳輸總時(shí)間的準(zhǔn)確度即網(wǎng)絡(luò)延時(shí)測(cè)試的精度。
本說明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見即可。
對(duì)所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。