一種檢測(cè)網(wǎng)絡(luò)質(zhì)量的方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及TCP網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)臄?shù)據(jù)通信領(lǐng)域,尤其涉及一種檢測(cè)網(wǎng)絡(luò)質(zhì)量的方法和系統(tǒng)。
【背景技術(shù)】
[0002]當(dāng)服務(wù)器對(duì)外服務(wù)時(shí),雖然通過訪問日志可以得知請(qǐng)求響應(yīng)時(shí)間,但數(shù)據(jù)在網(wǎng)絡(luò)中的傳輸情況并不被應(yīng)用程序所感知,無法對(duì)客戶真正體驗(yàn)感做出合理準(zhǔn)確的客觀評(píng)估。
[0003]目前,對(duì)于TCP協(xié)議的網(wǎng)絡(luò),一般通過在客戶端檢測(cè)數(shù)據(jù)包之間的傳輸時(shí)間差測(cè)量網(wǎng)絡(luò)質(zhì)量指標(biāo),然后通過對(duì)這些網(wǎng)絡(luò)質(zhì)量指標(biāo)分析,實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)問題的分析、排錯(cuò)、改善網(wǎng)絡(luò)傳輸效果等,從而解決了服務(wù)器日志信息不全無法對(duì)客戶真正體驗(yàn)感做出合理準(zhǔn)確的客觀評(píng)估的問題。
[0004]但是,上述網(wǎng)絡(luò)質(zhì)量檢測(cè)均是在客戶端進(jìn)行的,必須通過探測(cè)取得客戶端數(shù)據(jù)才能得知服務(wù)端的服務(wù)質(zhì)量,導(dǎo)致服務(wù)端只能被動(dòng)等待客戶端探測(cè)結(jié)果才能得知服務(wù)質(zhì)量。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的在于提供一種檢測(cè)網(wǎng)絡(luò)質(zhì)量的方法和系統(tǒng),從而解決現(xiàn)有技術(shù)中存在的前述問題。
[0006]為了實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案如下:
[0007]一種檢測(cè)網(wǎng)絡(luò)質(zhì)量的方法,包括在服務(wù)端測(cè)量服務(wù)端首包時(shí)間的方法,包括如下步驟:客戶端與服務(wù)端建立連接后,客戶端向服務(wù)端發(fā)送數(shù)據(jù)包,服務(wù)端收到客戶端發(fā)送的第一序號(hào)的數(shù)據(jù)后,向客戶端發(fā)送準(zhǔn)備好的數(shù)據(jù)報(bào)文,服務(wù)端收到第一個(gè)準(zhǔn)備好的數(shù)據(jù)報(bào)文的有效確認(rèn)后,測(cè)量并輸出服務(wù)端首包時(shí)間,所述服務(wù)端首包時(shí)間為t5-t3,其中,t3為服務(wù)端收到客戶端發(fā)送的第一序號(hào)的數(shù)據(jù)的時(shí)間點(diǎn),t5為服務(wù)端收到第一個(gè)準(zhǔn)備好的數(shù)據(jù)報(bào)文的有效確認(rèn)的時(shí)間點(diǎn);所述有效確認(rèn)按照如下方法進(jìn)行判斷:
[0008]服務(wù)端向客戶端發(fā)送準(zhǔn)備好的數(shù)據(jù)報(bào)文,如果序號(hào)為N,數(shù)據(jù)有效載荷長(zhǎng)度為L(zhǎng),則期望序號(hào)為N+L;如果客戶端回復(fù)的ACK報(bào)文累計(jì)確認(rèn)序號(hào)大于等于N+L,則為有效確認(rèn),否則為無效確認(rèn)。
[0009]進(jìn)一步地,還包括在服務(wù)端測(cè)量服務(wù)端內(nèi)容下載時(shí)間的方法,包括如下步驟:客戶端與服務(wù)端建立連接后,客戶端向服務(wù)端發(fā)送數(shù)據(jù)包,服務(wù)端收到客戶端發(fā)送的第一序號(hào)的數(shù)據(jù)后,向客戶端發(fā)送準(zhǔn)備好的數(shù)據(jù)報(bào)文,服務(wù)端收到最后一個(gè)準(zhǔn)備好的數(shù)據(jù)報(bào)文的有效確認(rèn)后,測(cè)量并輸出服務(wù)端內(nèi)容下載時(shí)間,所述服務(wù)端內(nèi)容下載時(shí)間為t6-t5,其中,t5為服務(wù)端收到第一個(gè)準(zhǔn)備好的數(shù)據(jù)報(bào)文的有效確認(rèn)的時(shí)間點(diǎn),t6為服務(wù)端收到最后一個(gè)準(zhǔn)備好的數(shù)據(jù)報(bào)文的有效確認(rèn)的時(shí)間點(diǎn)。
[0010]進(jìn)一步地,還包括在客戶端測(cè)量客戶端首包時(shí)間的方法按照如下方法在客戶端測(cè)量:客戶端與服務(wù)端建立連接后,客戶端向服務(wù)端發(fā)送第一個(gè)含有有效載荷的數(shù)據(jù),收到服務(wù)端第一個(gè)有效載荷的數(shù)據(jù),且報(bào)文ACK累計(jì)確認(rèn)號(hào)大于等于客戶端向服務(wù)端發(fā)送的第一個(gè)含有有效載荷數(shù)據(jù)的期望序號(hào)后,測(cè)量并輸出客戶端首包時(shí)間T4-T3,其中,T3為客戶端向服務(wù)端發(fā)送第一個(gè)含有有效載荷數(shù)據(jù)報(bào)文的時(shí)間點(diǎn),T4為客戶端收到服務(wù)端第一個(gè)有效載荷數(shù)據(jù)報(bào)文,且報(bào)文ACK累計(jì)確認(rèn)序號(hào)大于等于客戶端向服務(wù)端發(fā)送的第一個(gè)含有有效載荷數(shù)據(jù)報(bào)文期望序號(hào)時(shí)的時(shí)間點(diǎn)。
[0011]進(jìn)一步地,還包括在服務(wù)端測(cè)量服務(wù)端服務(wù)器響應(yīng)時(shí)間的方法,包括如下步驟:客戶端與服務(wù)端建立連接后,客戶端向服務(wù)端發(fā)送數(shù)據(jù)包,服務(wù)端收到客戶端發(fā)送的第一序號(hào)的數(shù)據(jù),向客戶端發(fā)送準(zhǔn)備好的數(shù)據(jù)報(bào)文后,測(cè)量并輸出服務(wù)端服務(wù)器響應(yīng)時(shí)間為t4-t3,其中,t3為服務(wù)端收到客戶端發(fā)送的第一序號(hào)的數(shù)據(jù)的時(shí)間點(diǎn),t4為服務(wù)端向客戶端發(fā)送準(zhǔn)備好的數(shù)據(jù)報(bào)文的起始時(shí)間點(diǎn)。
[0012]進(jìn)一步地,還包括在服務(wù)端測(cè)量服務(wù)端建連時(shí)間的方法,包括如下步驟:客戶端向服務(wù)端發(fā)送第一序號(hào)的SYN請(qǐng)求,服務(wù)端收到SYN請(qǐng)求后,向客戶端發(fā)送SYN/ACK確認(rèn)并收到客戶端的有效累計(jì)確認(rèn)ACK后,測(cè)量并輸出服務(wù)端建連時(shí)間為t2-tl,其中,tl為客戶端向服務(wù)端發(fā)送第一序號(hào)的SYN請(qǐng)求的時(shí)間點(diǎn),t2為服務(wù)端向客戶端發(fā)送SYN/ACK確認(rèn)并收到客戶端的有效累計(jì)確認(rèn)ACK的時(shí)間點(diǎn)。
[0013]進(jìn)一步地,還包括在客戶端測(cè)量客戶端服務(wù)器響應(yīng)時(shí)間的方法,具體為,客戶端首包時(shí)間與客戶端建連時(shí)間之差。
[0014]進(jìn)一步地,還包括在客戶端測(cè)量客戶端建連時(shí)間的方法,包括如下步驟:客戶端向服務(wù)端發(fā)送第一序號(hào)的SYN請(qǐng)求,服務(wù)端收到SYN請(qǐng)求后,向客戶端發(fā)送SYN/ACK確認(rèn),客戶端收到服務(wù)端發(fā)送的SYN/ACK確認(rèn)后,測(cè)量并輸出客戶端建連時(shí)間T2-T1,其中,Tl為客戶端向服務(wù)端發(fā)送第一序號(hào)的SYN請(qǐng)求的時(shí)間點(diǎn),T2為客戶端收到服務(wù)端發(fā)送的SYN/ACK確認(rèn)的時(shí)間點(diǎn)。
[0015]進(jìn)一步地,還包括在客戶端測(cè)量客戶端內(nèi)容下載時(shí)間,包括如下步驟:客戶端與服務(wù)端建立連接后,客戶端向服務(wù)端發(fā)送數(shù)據(jù),服務(wù)端收到客戶端發(fā)送的數(shù)據(jù)后,向客戶端發(fā)送有效鄰接序號(hào)的有效數(shù)據(jù)流的含有TCP有效載荷數(shù)據(jù)報(bào)文,客戶端收到服務(wù)端發(fā)送的最后一個(gè)有效鄰接序號(hào)的有效數(shù)據(jù)流的含有TCP有效載荷數(shù)據(jù)報(bào)文后,測(cè)量并輸出客戶端內(nèi)容下載時(shí)間T5-T4,其中,T4為客戶端收到服務(wù)端的首包時(shí)間的時(shí)間點(diǎn),T5為客戶端收到服務(wù)端最后一個(gè)含有TCP有效載荷數(shù)據(jù)報(bào)文的時(shí)間點(diǎn)。
[0016]一種檢測(cè)網(wǎng)絡(luò)質(zhì)量的系統(tǒng),包括客戶端和服務(wù)端,所述客戶端包括SYN請(qǐng)求發(fā)送單元、SYN/ACK確認(rèn)接收單元、數(shù)據(jù)包發(fā)送單元、數(shù)據(jù)報(bào)文接收單元、數(shù)據(jù)報(bào)文確認(rèn)發(fā)送單元、客戶端服務(wù)器響應(yīng)時(shí)間計(jì)算單元、客戶端首包時(shí)間計(jì)算單元、客戶端建連時(shí)間計(jì)算單元和客戶端內(nèi)容下載時(shí)間計(jì)算單元,
[0017]其中,
[0018]客戶端服務(wù)器響應(yīng)時(shí)間計(jì)算單元用于計(jì)算客戶端服務(wù)器響應(yīng)時(shí)間,所述客戶端服務(wù)器響應(yīng)時(shí)間為客戶端首包時(shí)間與客戶端建連時(shí)間之差;
[0019]客戶端首包時(shí)間計(jì)算單元用于計(jì)算客戶端首包時(shí)間,所述客戶端首包時(shí)間為T4-T3,其中,T3為客戶端向服務(wù)端發(fā)送第一個(gè)含有有效載荷數(shù)據(jù)報(bào)文的時(shí)間點(diǎn),T4為客戶端收到服務(wù)端第一個(gè)有效載荷數(shù)據(jù)報(bào)文,且報(bào)文ACK累計(jì)確認(rèn)序號(hào)大于等于客戶端向服務(wù)端發(fā)送的第一個(gè)含有有效載荷數(shù)據(jù)報(bào)文期望序號(hào)時(shí)的時(shí)間點(diǎn);
[0020]客戶端建連時(shí)間計(jì)算單元用于計(jì)算客戶端建連時(shí)間,所述客戶端建連時(shí)間為T2-T1,其中,Tl為客戶端向服務(wù)端發(fā)送第一序號(hào)的SYN請(qǐng)求的時(shí)間點(diǎn),T2為客戶端收到服務(wù)端發(fā)送的SYN/ACK確認(rèn)的時(shí)間點(diǎn);
[0021]客戶端內(nèi)容下載時(shí)間計(jì)算單元用于計(jì)算客戶端內(nèi)容下載時(shí)間,客戶端內(nèi)容下載時(shí)間為T5-T4,其中,T4為客戶端收到服務(wù)端的首包時(shí)間的時(shí)間點(diǎn),T5為客戶端收到服務(wù)端最后一個(gè)含有TCP有效載荷數(shù)據(jù)報(bào)文的時(shí)間點(diǎn);
[0022]所述服務(wù)端包括SYN請(qǐng)求接收單元、SYN/ACK確認(rèn)發(fā)送單元、數(shù)據(jù)包接收單元、數(shù)據(jù)報(bào)文發(fā)送單元、數(shù)據(jù)報(bào)文確認(rèn)接收單元、服務(wù)端首包時(shí)間計(jì)算單元、服務(wù)端內(nèi)容下載時(shí)間計(jì)算單元、服務(wù)端服務(wù)器響應(yīng)時(shí)間計(jì)算單元和服務(wù)端建連時(shí)間計(jì)算單元,其中,
[0023]服務(wù)端首包時(shí)間計(jì)算單元用于計(jì)算服務(wù)端首包時(shí)間,所述服務(wù)端首包時(shí)間為t5-t3,其中,t3為服務(wù)端收到客戶端發(fā)送的第一序號(hào)的數(shù)據(jù)的時(shí)間點(diǎn),t5為服務(wù)端收到第一個(gè)準(zhǔn)備好的數(shù)據(jù)報(bào)文的有效確認(rèn)的時(shí)間點(diǎn);其中,有效確認(rèn)按照如下方法進(jìn)行判斷:月艮務(wù)端向客戶端發(fā)送準(zhǔn)備好的數(shù)據(jù)報(bào)文,如果序號(hào)為N,數(shù)據(jù)有效載荷長(zhǎng)度為L(zhǎng),則期望序號(hào)為N+L;如果客戶端回復(fù)的ACK報(bào)文累計(jì)確認(rèn)序號(hào)大于等于N+L,則為有效確認(rèn),否則為無效確認(rèn);
[0024]服務(wù)端內(nèi)容下載時(shí)間計(jì)算單元用于計(jì)算服務(wù)端內(nèi)容下載時(shí)間,所述服務(wù)端內(nèi)容下載時(shí)間為t6-t5,其中,t5為服務(wù)端收到第一個(gè)準(zhǔn)備好的數(shù)據(jù)報(bào)文的有效確認(rèn)的時(shí)間點(diǎn),t6為服務(wù)端收到最后一個(gè)準(zhǔn)備好的數(shù)據(jù)報(bào)文的有效確認(rèn)的時(shí)間點(diǎn);
[0025]服務(wù)端服務(wù)器響應(yīng)時(shí)間計(jì)算單元用于計(jì)算服務(wù)端服務(wù)器響應(yīng)時(shí)間,所述服務(wù)端服務(wù)器響應(yīng)時(shí)間為t4-t3,其中,t3為服務(wù)端收到客戶端發(fā)送的第一序號(hào)的數(shù)據(jù)的時(shí)間點(diǎn),t4為服務(wù)端向客戶端發(fā)送準(zhǔn)備好的數(shù)據(jù)報(bào)文的起始時(shí)間點(diǎn);
[0026]服務(wù)端建連時(shí)間計(jì)算單元用于計(jì)算服務(wù)端建連時(shí)間,所述服務(wù)端建連時(shí)間為t2-tl,其中,tl為客戶端向服務(wù)端發(fā)送第一序號(hào)的SYN請(qǐng)求的時(shí)間點(diǎn),t2為服務(wù)端向客戶端發(fā)送SYN/ACK確認(rèn)并收到客戶端的有效累計(jì)確認(rèn)ACK的時(shí)間點(diǎn)。
[0027]本發(fā)明的有益效果是:本發(fā)明實(shí)施例提供的檢測(cè)網(wǎng)絡(luò)質(zhì)量的方法和系統(tǒng),打破了傳統(tǒng)的在客戶端測(cè)量的觀念,通過在服務(wù)端確定各關(guān)鍵數(shù)據(jù)包的發(fā)送或接受時(shí)間點(diǎn),測(cè)量數(shù)據(jù)傳輸中的關(guān)鍵數(shù)據(jù)包的時(shí)間差,實(shí)現(xiàn)了通過探測(cè)服務(wù)端數(shù)據(jù)得知服務(wù)質(zhì)量,解決了傳統(tǒng)觀念中,只能在客戶端測(cè)量關(guān)鍵數(shù)據(jù)包的時(shí)間差,服務(wù)端只能被動(dòng)等待客戶端探測(cè)結(jié)果才能得知服務(wù)質(zhì)量的問題,進(jìn)而服