本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò),特別涉及一種并發(fā)檢測(cè)多站點(diǎn)網(wǎng)絡(luò)延遲的方法。
背景技術(shù):
網(wǎng)絡(luò)性能的衡量和評(píng)估是網(wǎng)絡(luò)運(yùn)營(yíng)和維護(hù)中重要的組成部分,通過分析傳輸延遲可以了解多個(gè)網(wǎng)絡(luò)站點(diǎn)的基本特性,為網(wǎng)絡(luò)的控制和改進(jìn)提供幫助,當(dāng)傳輸延遲超過一定值時(shí),多站點(diǎn)的應(yīng)用性能就會(huì)大大降低?,F(xiàn)有技術(shù)中傳輸延遲測(cè)量包括以下兩種:發(fā)送特定的探針包來計(jì)算網(wǎng)絡(luò)的路徑和鏈路屬性,這往往會(huì)導(dǎo)致網(wǎng)絡(luò)的高負(fù)載,使網(wǎng)絡(luò)情況不真實(shí);分析記錄在交換機(jī)或者控制器中的報(bào)文數(shù)據(jù)得到傳輸延遲,這一般需要全局的時(shí)鐘校準(zhǔn),在多點(diǎn)網(wǎng)絡(luò)中受到網(wǎng)絡(luò)環(huán)境的影響而測(cè)量不精確。
技術(shù)實(shí)現(xiàn)要素:
為解決上述現(xiàn)有技術(shù)所存在的問題,本發(fā)明提出了一種并發(fā)檢測(cè)多站點(diǎn)網(wǎng)絡(luò)延遲的方法,包括:
接收來自多站點(diǎn)網(wǎng)絡(luò)中的路由器鏡像數(shù)據(jù)的報(bào)文;
計(jì)算網(wǎng)絡(luò)報(bào)文的延遲;
對(duì)數(shù)據(jù)結(jié)果的可視化展示。
優(yōu)選地,所述接收來自多站點(diǎn)網(wǎng)絡(luò)中的路由器鏡像數(shù)據(jù)的報(bào)文,進(jìn)一步包括:
測(cè)量數(shù)據(jù)經(jīng)過路由器進(jìn)行轉(zhuǎn)發(fā)后,發(fā)送到各個(gè)站點(diǎn),所述各個(gè)站點(diǎn)節(jié)點(diǎn)組成多站點(diǎn)網(wǎng)絡(luò),當(dāng)數(shù)據(jù)發(fā)送到接收站點(diǎn)后,接收站點(diǎn)的本地主機(jī)進(jìn)行轉(zhuǎn)換處理,將需要的測(cè)度以文本格式輸出到文件系統(tǒng);
優(yōu)選地,所述計(jì)算網(wǎng)絡(luò)報(bào)文的延遲,進(jìn)一步包括:對(duì)于無采樣的報(bào)文進(jìn)行返回時(shí)間測(cè)量,將分散在不同站點(diǎn)中的返回報(bào)文進(jìn)行整合;然后在整個(gè)系統(tǒng)中統(tǒng)一計(jì)算返回時(shí)間;
輸入數(shù)據(jù)報(bào)文的各種信息,比較源mac地址和目的mac大小,然后將大mac地址作為源mac地址,小mac地址作為目的mac地址。連接大mac地址對(duì)應(yīng)端口,連接小mac地址對(duì)應(yīng)端口組成的四元組作為主鍵,然后設(shè)置標(biāo)識(shí)位,如果本身就是大mac地址為源mac地址,小mac地址為目的mac地址,則設(shè)置報(bào)文的標(biāo)識(shí)位為1,如果需要進(jìn)行調(diào)整,則報(bào)文標(biāo)識(shí)位為2;
處理具有相同主鍵值的標(biāo)識(shí)位的集合,然后根據(jù)每一個(gè)主鍵,在計(jì)算返回時(shí)間的時(shí)候,使用兩個(gè)哈希數(shù)組分別存儲(chǔ)標(biāo)識(shí)1和標(biāo)識(shí)2的數(shù)據(jù),使用鏈表來解決哈希沖突;只選擇連續(xù)發(fā)送報(bào)文的兩頭報(bào)文用于計(jì)算,當(dāng)對(duì)同一個(gè)主鍵的所有標(biāo)識(shí)位計(jì)算完成后,用標(biāo)識(shí)1的哈希數(shù)組加上報(bào)文負(fù)載長(zhǎng)度作為主鍵求解標(biāo)識(shí)2的相應(yīng)位置是否有數(shù)據(jù),如果有數(shù)據(jù)記錄,則確定從標(biāo)識(shí)1的報(bào)文有一個(gè)標(biāo)識(shí)2反方向的報(bào)文回復(fù),即計(jì)算得到半個(gè)方向的返回時(shí)間ts,然后用同樣的方法反方向計(jì)算,然后得到另外半個(gè)方向的返回時(shí)間tr,將返回時(shí)間ts加上tr,得到這個(gè)報(bào)文中兩個(gè)mac地址通信之間的延遲時(shí)間。
本發(fā)明相比現(xiàn)有技術(shù),具有以下優(yōu)點(diǎn):
本發(fā)明提出了一種并發(fā)檢測(cè)多站點(diǎn)網(wǎng)絡(luò)延遲的方法,既不需要發(fā)送大量的探針包,也不需要進(jìn)行全局時(shí)鐘校準(zhǔn),簡(jiǎn)單有效地計(jì)算網(wǎng)絡(luò)傳輸延遲。
附圖說明
圖1是根據(jù)本發(fā)明實(shí)施例的并發(fā)檢測(cè)多站點(diǎn)網(wǎng)絡(luò)延遲的方法的流程圖。
具體實(shí)施方式
下文與圖示本發(fā)明原理的附圖一起提供對(duì)本發(fā)明一個(gè)或者多個(gè)實(shí)施例的詳細(xì)描述。結(jié)合這樣的實(shí)施例描述本發(fā)明,但是本發(fā)明不限于任何實(shí)施例。本發(fā)明的范圍僅由權(quán)利要求書限定,并且本發(fā)明涵蓋諸多替代、修改和等同物。在下文描述中闡述諸多具體細(xì)節(jié)以便提供對(duì)本發(fā)明的透徹理解。出于示例的目的而提供這些細(xì)節(jié),并且無這些具體細(xì)節(jié)中的一些或者所有細(xì)節(jié)也可以根據(jù)權(quán)利要求書實(shí)現(xiàn)本發(fā)明。
本發(fā)明的一方面提供了一種并發(fā)檢測(cè)多站點(diǎn)網(wǎng)絡(luò)延遲的方法。圖1是根據(jù)本發(fā)明實(shí)施例的并發(fā)檢測(cè)多站點(diǎn)網(wǎng)絡(luò)延遲的方法流程圖。
本發(fā)明建立網(wǎng)絡(luò)延遲檢測(cè)系統(tǒng)來并發(fā)檢測(cè)多站點(diǎn)網(wǎng)絡(luò)延遲,包括數(shù)據(jù)收集模塊,運(yùn)算模塊,輸出模塊。數(shù)據(jù)收集模塊接收數(shù)據(jù)報(bào)文,這些數(shù)據(jù)來自分布在多站點(diǎn)網(wǎng)絡(luò)中的路由器鏡像數(shù)據(jù);運(yùn)算模塊用于計(jì)算網(wǎng)絡(luò)報(bào)文的延遲,為多站點(diǎn)平臺(tái)提供網(wǎng)絡(luò)狀況參考數(shù)據(jù);輸出模塊負(fù)責(zé)對(duì)數(shù)據(jù)結(jié)果的可視化展示。
測(cè)量數(shù)據(jù)經(jīng)過路由器進(jìn)行轉(zhuǎn)發(fā)后,發(fā)送到各個(gè)站點(diǎn),各個(gè)站點(diǎn)節(jié)點(diǎn)組成多站點(diǎn)網(wǎng)絡(luò),當(dāng)數(shù)據(jù)發(fā)送到接收站點(diǎn)后,接收站點(diǎn)的本地主機(jī)進(jìn)行轉(zhuǎn)換處理,將需要的測(cè)度以文本格式輸出到文件系統(tǒng)。對(duì)于無采樣的報(bào)文進(jìn)行返回時(shí)間測(cè)量,將分散在不同站點(diǎn)中的返回報(bào)文進(jìn)行整合;然后在整個(gè)系統(tǒng)中統(tǒng)一計(jì)算返回時(shí)間。
具體地,本發(fā)明采用了一種重新定義報(bào)文方向的方法保證返回報(bào)文聚合在一起。輸入數(shù)據(jù)報(bào)文的各種信息,處理過程中,比較源mac地址和目的mac大小,然后將大mac地址作為源mac地址,小mac地址作為目的mac地址。連接大mac地址對(duì)應(yīng)端口,連接小mac地址對(duì)應(yīng)端口組成的四元組作為主鍵,然后設(shè)置標(biāo)識(shí)位,本身就是大mac地址為源mac地址,小mac地址為目的mac地址的報(bào)文設(shè)置標(biāo)識(shí)為1,對(duì)于需要進(jìn)行調(diào)整的報(bào)文,標(biāo)識(shí)為2。
處理具有相同主鍵值的標(biāo)識(shí)位的集合,然后根據(jù)每一個(gè)主鍵,在計(jì)算返回時(shí)間的時(shí)候,使用兩個(gè)哈希數(shù)組分別存儲(chǔ)標(biāo)識(shí)1和標(biāo)識(shí)2的數(shù)據(jù),使用鏈表來解決哈希沖突。
只選擇連續(xù)發(fā)送報(bào)文的兩頭報(bào)文用于計(jì)算,當(dāng)對(duì)同一個(gè)主鍵的所有標(biāo)識(shí)位計(jì)算完成后,用標(biāo)識(shí)1的哈希數(shù)組加上報(bào)文負(fù)載長(zhǎng)度作為主鍵求解標(biāo)識(shí)2的相應(yīng)位置是否有數(shù)據(jù),如果有數(shù)據(jù)記錄,則確定從標(biāo)識(shí)1的報(bào)文有一個(gè)標(biāo)識(shí)2反方向的報(bào)文回復(fù),即可計(jì)算得到半個(gè)方向的返回時(shí)間ts,然后用同樣的方法反方向計(jì)算,有可得到另外半個(gè)方向的返回時(shí)間tr,將返回時(shí)間ts加上tr可以得到這個(gè)報(bào)文中兩個(gè)mac地址通信之間的延遲時(shí)間。
所述運(yùn)算模塊還通過時(shí)鐘的同步性來計(jì)算多站點(diǎn)相鄰報(bào)文的傳輸延遲之差序列,然后計(jì)算第一個(gè)報(bào)文的傳輸延遲,最后得到所有報(bào)文的傳輸延遲。用tsi表示第i個(gè)報(bào)文從發(fā)送站點(diǎn)發(fā)往接收站點(diǎn)的開始時(shí)間,tri表示第i個(gè)報(bào)文在接收站點(diǎn)接收完畢的時(shí)間。
發(fā)送站點(diǎn)將第i個(gè)報(bào)文的發(fā)送時(shí)間tsi同報(bào)文一起傳給接收站點(diǎn)。如果接收站點(diǎn)和發(fā)送站點(diǎn)的時(shí)鐘是同步的,則直接計(jì)算出傳輸延遲di=tri-tsi。
如果時(shí)鐘不同步,并且時(shí)鐘周期相等。用tsi’表示如果發(fā)送站點(diǎn)得知報(bào)文i是何時(shí)到達(dá)接收站點(diǎn),在發(fā)送站點(diǎn)記錄的報(bào)文到達(dá)時(shí)間,用tri’表示如果接收站點(diǎn)得知報(bào)文i何時(shí)從發(fā)送站點(diǎn)出發(fā),在接收站點(diǎn)記錄的報(bào)文開始發(fā)送時(shí)間。則有:
di+1-di=tri+1-tsi+1’–(tri–tri’)。
如果接收站點(diǎn)和發(fā)送站點(diǎn)有相同的時(shí)鐘周期,即兩者之間只存在開始的時(shí)間差值,則從上式中得到數(shù)列{(d2-d1),(d3-d1),…,(dn-d1)},然后得到第一個(gè)報(bào)文的傳輸延遲,從中求出所有報(bào)文的傳輸延遲。
若時(shí)鐘不同步,時(shí)鐘周期不相等,則本發(fā)明將接收站點(diǎn)的時(shí)鐘作為參考時(shí)鐘,則di+1-di=tri+1-tri–(tsi+1’–tri’)/1-sw,其中sw為發(fā)送站點(diǎn)相對(duì)于接收站點(diǎn)的時(shí)鐘頻差。
當(dāng)多個(gè)報(bào)文在接收站點(diǎn)到達(dá)時(shí)間出現(xiàn)不按序情況時(shí),選擇亂序報(bào)文之后的第一個(gè)后繼報(bào)文作為參考,得到報(bào)文之間的傳輸延遲差,并將這個(gè)時(shí)間差也作為亂序報(bào)文之間的傳輸延遲差。
綜上所述,本發(fā)明提出了一種并發(fā)檢測(cè)多站點(diǎn)網(wǎng)絡(luò)延遲的方法,既不需要發(fā)送大量的探針包,也不需要進(jìn)行全局時(shí)鐘校準(zhǔn),簡(jiǎn)單有效地計(jì)算網(wǎng)絡(luò)傳輸延遲。
顯然,本領(lǐng)域的技術(shù)人員應(yīng)該理解,上述的本發(fā)明的各模塊或各步驟可以用通用的計(jì)算系統(tǒng)來實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算系統(tǒng)上,或者分布在多個(gè)計(jì)算系統(tǒng)所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算系統(tǒng)可執(zhí)行的程序代碼來實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)系統(tǒng)中由計(jì)算系統(tǒng)來執(zhí)行。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
應(yīng)當(dāng)理解的是,本發(fā)明的上述具體實(shí)施方式僅僅用于示例性說明或解釋本發(fā)明的原理,而不構(gòu)成對(duì)本發(fā)明的限制。因此,在不偏離本發(fā)明的精神和范圍的情況下所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。此外,本發(fā)明所附權(quán)利要求旨在涵蓋落入所附權(quán)利要求范圍和邊界、或者這種范圍和邊界的等同形式內(nèi)的全部變化和修改例。