專利名稱:網(wǎng)絡(luò)代理實(shí)現(xiàn)方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明實(shí)施例涉及計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其是一種網(wǎng)絡(luò)代理實(shí)現(xiàn)方法及裝置。
背景技術(shù):
隨著網(wǎng)絡(luò)的普及應(yīng)用,網(wǎng)絡(luò)攻擊、病毒文件傳播、垃圾郵件泛濫等網(wǎng)絡(luò)安全問(wèn)題日 益嚴(yán)重,防火墻、病毒網(wǎng)關(guān)、郵件網(wǎng)關(guān)等網(wǎng)關(guān)設(shè)備隨著運(yùn)營(yíng)商、企業(yè)用戶的迫切需要應(yīng)運(yùn)而 生。網(wǎng)關(guān)設(shè)備為了對(duì)數(shù)據(jù)流中的應(yīng)用數(shù)據(jù)進(jìn)行還原,首先需要對(duì)數(shù)據(jù)流中的應(yīng)用數(shù)據(jù)進(jìn)行 緩存,在應(yīng)用數(shù)據(jù)進(jìn)行緩存的過(guò)程中,代理網(wǎng)關(guān)既充當(dāng)客戶端又充當(dāng)服務(wù)端,分別與真實(shí)的 服務(wù)端和客戶端通信,截取應(yīng)用數(shù)據(jù)并將應(yīng)用數(shù)據(jù)進(jìn)行緩存,在該過(guò)程中,真實(shí)的客戶端與 服務(wù)端通常并不知道與其交互數(shù)據(jù)的對(duì)端的真實(shí)身份。在客戶端與服務(wù)端建立連接的過(guò)程 中,網(wǎng)關(guān)設(shè)備通常是在三次握手時(shí)開始進(jìn)行全代理,客戶端與網(wǎng)關(guān)設(shè)備的代理服務(wù)器建立 連接,網(wǎng)關(guān)設(shè)備的代理客戶端與服務(wù)器端建立連接。發(fā)明人在實(shí)施本發(fā)明的過(guò)程中發(fā)現(xiàn),現(xiàn)有技術(shù)中由于代理客戶端發(fā)起三次握手進(jìn) 行連接后才能獲知服務(wù)端是否處于工作狀態(tài),當(dāng)客戶端與服務(wù)端建立連接后若服務(wù)端處于 關(guān)閉狀態(tài),則會(huì)導(dǎo)致代理客戶端與服務(wù)端建立連接后又迅速斷開,從而影響了用戶體驗(yàn)。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例的目的在于提供一種網(wǎng)絡(luò)代理實(shí)現(xiàn)方法及裝置,使客戶端在獲取到 服務(wù)端的狀態(tài)信息后再建立代理連接,從而確保建立第二連接的可靠性,提高用戶體驗(yàn)。本發(fā)明實(shí)施例提供了一種網(wǎng)絡(luò)代理實(shí)現(xiàn)方法,包括建立客戶端與服務(wù)端之間的第一連接,使所述客戶端通過(guò)所述第一連接獲取所述 服務(wù)端的狀態(tài)信息;若所述服務(wù)端的狀態(tài)信息顯示所述服務(wù)端為開啟狀態(tài),則建立所述客戶端與所述 服務(wù)端之間的第二連接,使所述客戶端與所述服務(wù)端通過(guò)所述第二連接傳輸數(shù)據(jù)報(bào)文。本發(fā)明實(shí)施例還提供了一種網(wǎng)絡(luò)代理實(shí)現(xiàn)裝置,包括第一建立模塊,用于建立客戶端與服務(wù)端之間的第一連接,使所述客戶端通過(guò)所 述第一連接獲取所述服務(wù)端的狀態(tài)信息;第二建立模塊,用于當(dāng)所述服務(wù)端的狀態(tài)信息顯示所述服務(wù)端為開啟狀態(tài),則建 立所述客戶端與所述服務(wù)端之間的第二連接,使所述客戶端與所述服務(wù)端通過(guò)所述第二連 接傳輸數(shù)據(jù)報(bào)文。上述本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)代理實(shí)現(xiàn)方法及裝置,在建立客戶端與服務(wù)端的第 二連接之前通過(guò)建立第一連接獲知服務(wù)端的狀態(tài)信息,當(dāng)服務(wù)端的狀態(tài)信息為開啟時(shí)才建 立第二連接,從而確保建立第二連接的可靠性,提高了用戶體驗(yàn)。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可 以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明網(wǎng)絡(luò)代理實(shí)現(xiàn)方法一個(gè)實(shí)施例的流程示意圖;圖2為本發(fā)明網(wǎng)絡(luò)代理實(shí)現(xiàn)方法又一個(gè)實(shí)施例的流程示意圖;圖3為圖2所示實(shí)施例建立第一連接的信令流程圖;圖4為圖2所示實(shí)施例建立第二連接的信令流程圖;圖5為圖2所示實(shí)施例客戶端與服務(wù)端發(fā)送數(shù)據(jù)報(bào)文的信令流程圖;圖6為圖2所示實(shí)施例斷開第二連接的信令流程圖;圖7為本發(fā)明網(wǎng)絡(luò)代理實(shí)現(xiàn)裝置一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;圖8為本發(fā)明網(wǎng)絡(luò)代理實(shí)現(xiàn)裝置又一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;圖9為本發(fā)明實(shí)施例所適用系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。圖1為本發(fā)明網(wǎng)絡(luò)代理實(shí)現(xiàn)方法一個(gè)實(shí)施例的流程示意圖,如圖1所示,本實(shí)施例 包括以下步驟步驟101、通過(guò)代理適配器建立客戶端與服務(wù)端之間的第一連接,使客戶端通過(guò)第 一連接獲取服務(wù)端的狀態(tài)信息;步驟102、若服務(wù)端的狀態(tài)信息顯示所述服務(wù)端為開啟狀態(tài),則建立客戶端與服務(wù) 端之間的第二連接,使客戶端與服務(wù)端通過(guò)第二連接傳輸數(shù)據(jù)報(bào)文。本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)代理實(shí)現(xiàn)方法,在建立客戶端與服務(wù)端的第二連接之前 通過(guò)建立第一連接獲知服務(wù)端的狀態(tài)信息,當(dāng)服務(wù)端的狀態(tài)信息為開啟狀態(tài)時(shí)才建立第二 連接,從而確保建立第二連接的可靠性,提高了用戶體驗(yàn)。圖2為本發(fā)明網(wǎng)絡(luò)代理實(shí)現(xiàn)方法又一個(gè)實(shí)施例的流程示意圖,圖3為圖2所示實(shí) 施例建立第一連接的信令流程圖,圖4為圖2所示實(shí)施例建立第二連接的信令流程圖,圖5 為圖2所示實(shí)施例客戶端與服務(wù)端發(fā)送數(shù)據(jù)報(bào)文的信令流程圖,圖6為圖2所示實(shí)施例斷 開第二連接的信令流程圖。如圖2所示,本實(shí)施例包括以下步驟步驟201、通過(guò)代理適配器建立客戶端與服務(wù)端之間的第一連接,使客戶端通過(guò)第 一連接獲取服務(wù)端的狀態(tài)信息;步驟202、若服務(wù)端的狀態(tài)信息顯示為開啟狀態(tài),則建立客戶端與服務(wù)端之間的第 二連接,使客戶端與服務(wù)端通過(guò)第二連接傳輸數(shù)據(jù)報(bào)文;步驟203、若服務(wù)端的狀態(tài)信息顯示服務(wù)端為關(guān)閉狀態(tài),則斷開客戶端與服務(wù)端之 間的第一連接。步驟204、斷開客戶端與服務(wù)端的第二連接。
示例性的,在步驟201中,客戶端與服務(wù)端之間的第一連接可以通過(guò)TCP協(xié)議的三 次握手協(xié)議實(shí)現(xiàn),具體地,如圖3所示,第一連接的建立過(guò)程可以包括以下步驟步驟2011、網(wǎng)關(guān)代理實(shí)現(xiàn)裝置接收客戶端發(fā)送的第一建立請(qǐng)求消息(SYN),并將 該第一建立請(qǐng)求信息發(fā)送給服務(wù)端;步驟2012、網(wǎng)關(guān)代理實(shí)現(xiàn)裝置接收從服務(wù)端返回的第一建立確認(rèn)消息 (SYN-ACK),并將該第一建立確認(rèn)消息發(fā)送給客戶端;步驟2013、網(wǎng)關(guān)代理實(shí)現(xiàn)裝置接收客戶端返回的第一連接確認(rèn)消息(ACK),將該 第一連接確認(rèn)消息發(fā)送給所述服務(wù)端。在上述步驟2011 2013完成后,可通過(guò)網(wǎng)關(guān)代理實(shí)現(xiàn)裝置在服務(wù)端和客戶端之
間建立起第一連接。示例性的,在步驟202中,若客戶端獲取到服務(wù)端的狀態(tài)信息顯示服務(wù)端為開啟 狀態(tài),則通過(guò)網(wǎng)關(guān)代理實(shí)現(xiàn)裝置在客戶端與服務(wù)端之間建立第二連接,具體地,如圖4所 示,建立第二連接的過(guò)程可以包括通過(guò)傳輸控制協(xié)議(Transmission Control Protocol, 簡(jiǎn)稱TCP)的三次握手建立第三連接,以及通過(guò)TCP協(xié)議的三次握手建立第四連接,使得客 戶端與服務(wù)端通過(guò)第三連接與第四連接形成第二連接;具體步驟如下所示步驟2021、網(wǎng)關(guān)代理實(shí)現(xiàn)裝置的代理服務(wù)端接收代理適配器偽裝成客戶端發(fā)送的 第二建立請(qǐng)求消息(SYN);步驟2022、代理服務(wù)端根據(jù)第二建立請(qǐng)求消息向代理適配器發(fā)送第二建立確認(rèn)消 息(SYN-ACK);步驟2023、代理服務(wù)端接收從代理適配器根據(jù)所述第二建立確認(rèn)消息發(fā)送的第二 連接確認(rèn)消息(ACK);在上述步驟2021 2023的TCP協(xié)議的三次握手之后,可通過(guò)網(wǎng)關(guān)代理實(shí)現(xiàn)裝置 在代理服務(wù)端和代理適配器之間建立起第三連接。步驟2024、網(wǎng)關(guān)代理實(shí)現(xiàn)裝置的代理客戶端向代理適配器發(fā)送第三建立請(qǐng)求消息 (SYN);步驟2025、代理客戶端接收代理適配器根據(jù)第三建立請(qǐng)求消息發(fā)送的第三建立確 認(rèn)消息(SYN-ACK);步驟2026、代理客戶端根據(jù)第三建立確認(rèn)消息向代理適配器發(fā)送第三連接確認(rèn)消 息(ACK)。在上述步驟2024 2026的TCP的三次握手之后,可通過(guò)網(wǎng)關(guān)代理實(shí)現(xiàn)裝置在代 理服務(wù)端和代理適配器之間建立起第四連接。進(jìn)一步地,若客戶端獲取到服務(wù)端的狀態(tài)信息為開啟,具體地,如圖5所示,通過(guò) 網(wǎng)關(guān)代理實(shí)現(xiàn)裝置在客戶端與服務(wù)端之間通過(guò)第二連接傳輸數(shù)據(jù)報(bào)文可以包括如下步 驟步驟2021 ‘、網(wǎng)關(guān)代理實(shí)現(xiàn)裝置的代理服務(wù)端接收客戶端通過(guò)第三連接發(fā)送的數(shù) 據(jù)報(bào)文;步驟2022'、代理服務(wù)端在接收到數(shù)據(jù)報(bào)文后向客戶端返回第一確認(rèn)消息 (ACK);步驟2023'、網(wǎng)關(guān)代理實(shí)現(xiàn)裝置對(duì)數(shù)據(jù)報(bào)文進(jìn)行業(yè)務(wù)處理;
其中,對(duì)數(shù)據(jù)報(bào)文進(jìn)行業(yè)務(wù)處理可以包括對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行病毒掃描,或者,對(duì) 所述數(shù)據(jù)報(bào)文進(jìn)行過(guò)濾。步驟2024'、網(wǎng)關(guān)代理實(shí)現(xiàn)裝置的代理客戶端將處理后的數(shù)據(jù)報(bào)文通過(guò)第四連接 發(fā)送給服務(wù)端;步驟2025'、代理客戶端接收服務(wù)端在接收到數(shù)據(jù)報(bào)文后返回的第二確認(rèn)消息 (ACK)。示例性的,在步驟204中,如圖6所示,網(wǎng)關(guān)代理實(shí)現(xiàn)裝置斷開客戶端與服務(wù)端的 第二連接具體可以包括如下步驟步驟2041、網(wǎng)關(guān)代理實(shí)現(xiàn)裝置的代理服務(wù)端接收客戶端發(fā)送的第一結(jié)束請(qǐng)求消息 (FIN);步驟2042、代理服務(wù)端根據(jù)所接收的第一結(jié)束請(qǐng)求消息向客戶端返回第一結(jié)束確 認(rèn)消息(FIN-ACK);步驟2043、網(wǎng)關(guān)代理實(shí)現(xiàn)裝置的代理客戶端向服務(wù)端發(fā)送第二結(jié)束請(qǐng)求消息 (FIN);步驟2044、代理客戶端接收服務(wù)端根據(jù)第二結(jié)束請(qǐng)求消息返回的第二結(jié)束確認(rèn)消 息(FIN-ACK)。本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)代理實(shí)現(xiàn)方法,在建立客戶端與服務(wù)端的第二連接之前 通過(guò)建立第一連接獲知服務(wù)端的狀態(tài)信息,當(dāng)服務(wù)端的狀態(tài)信息為開啟時(shí)才建立第二連 接,從而確保建立第二連接的可靠性,并且第二連接的建立為數(shù)據(jù)報(bào)文的業(yè)務(wù)處理屏蔽了 網(wǎng)絡(luò)鏈路的復(fù)雜狀態(tài),提高了用戶體驗(yàn)。圖7為本發(fā)明網(wǎng)絡(luò)代理實(shí)現(xiàn)裝置一個(gè)實(shí)施例的結(jié)構(gòu)示意圖,如圖7所示,本實(shí)施例 包括第一建立模塊71和第二建立模塊72,其中第一建立模塊71,用于通過(guò)代理適配器建立客戶端與服務(wù)端之間的第一連接,使 所述客戶端通過(guò)所述第一連接獲取所述服務(wù)端的狀態(tài)信息;第二建立模塊72,用于當(dāng)所述服務(wù)端的狀態(tài)信息顯示服務(wù)端為開啟狀態(tài)時(shí),建立 所述客戶端與所述服務(wù)端之間的第二連接,使所述客戶端與所述服務(wù)端通過(guò)所述第二連接 傳輸數(shù)據(jù)報(bào)文。本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)代理實(shí)現(xiàn)裝置,在第二建立模塊72建立客戶端與服務(wù) 端的第二連接之前通過(guò)第一建立模塊71建立第一連接獲知服務(wù)端的狀態(tài)信息,當(dāng)服務(wù)端 的狀態(tài)信息為開啟時(shí)才建立第二連接,從而確保建立第二連接的可靠性,提高了用戶體驗(yàn)。圖8為本發(fā)明網(wǎng)絡(luò)代理實(shí)現(xiàn)裝置又一個(gè)實(shí)施例的結(jié)構(gòu)示意圖,如圖8所示,本實(shí)施 例包括第一建立模塊81、第二建立模塊82、斷開模塊83。其中,第一建立模塊81通過(guò)代理適配器建立客戶端與服務(wù)端之間的第一連接,使 所述客戶端通過(guò)所述第一連接獲取所述服務(wù)端的狀態(tài)信息;若所述服務(wù)端的狀態(tài)信息為開 啟,則第二建立模塊82建立所述客戶端與所述服務(wù)端之間的第二連接,使所述客戶端與所 述服務(wù)端通過(guò)所述第二連接傳輸數(shù)據(jù)報(bào)文;斷開模塊83用于斷開所述客戶端與所述服務(wù) 端的第二連接。進(jìn)一步地,第一建立模塊81進(jìn)一步還可以包括第一收發(fā)單元811、第二收發(fā)單 元812、第三收發(fā)單元813 ;其中,第一收發(fā)單元811接收客戶端發(fā)送的第一建立請(qǐng)求消息(SYN),并將所述第一建立請(qǐng)求信息發(fā)送給服務(wù)端;第二收發(fā)單元812接收從所述服務(wù)端返 回的第一建立確認(rèn)消息(SYN-ACK),并將所述第一建立確認(rèn)消息發(fā)送給所述客戶端;第三 收發(fā)單元813接收所述客戶端返回的第一連接確認(rèn)消息(ACK),將所述第一連接確認(rèn)消息 發(fā)送給所述服務(wù)端;上述過(guò)程即實(shí)現(xiàn)了建立客戶端與服務(wù)端之間的第一連接。進(jìn)一步地,第二建立模塊82還可以包括第一建立單元821和第二建立單元822 ; 其中,第一建立單元821通過(guò)三次握手建立代理適配器和代理服務(wù)端之間的第三連接,第 二建立單元822通過(guò)三次握手建立所述代理適配器和代理客戶端之間的第四連接,使得客 戶端與服務(wù)端通過(guò)第一建立單元821建立的第三連接與第二建立單元822建立的第四連接 形成第二連接。進(jìn)一步地,第一建立單元821建立第三連接的過(guò)程可以為第一建立單元821接收 代理適配器偽裝成所述客戶端發(fā)送的第二建立請(qǐng)求消息,根據(jù)所述第二建立請(qǐng)求消息向所 述代理適配器發(fā)送第二建立確認(rèn)消息,以及接收從所述客戶端根據(jù)所述第二建立確認(rèn)消息 發(fā)送的第二連接確認(rèn)消息;上述過(guò)程第一建立單元821即可實(shí)現(xiàn)網(wǎng)關(guān)代理實(shí)現(xiàn)裝置與代理 適配器的第三連接;第二建立單元822建立第四連接的過(guò)程可以為第二建立單元822向 所述代理適配器發(fā)送第三建立請(qǐng)求消息,接收所述代理適配器根據(jù)所述第三建立請(qǐng)求消息 發(fā)送的第三建立確認(rèn)消息,根據(jù)所述第三建立確認(rèn)消息向所述代理適配器發(fā)送第三連接確 認(rèn)消息;第二建立單元822即可實(shí)現(xiàn)網(wǎng)關(guān)代理實(shí)現(xiàn)裝置與代理適配器的第四連接。第二建立模塊82還可以包括數(shù)據(jù)接收單元823、業(yè)務(wù)處理單元824、數(shù)據(jù)發(fā)送單 元825 ;其中,數(shù)據(jù)接收單元823接收所述客戶端通過(guò)第一建立單元821建立的第三連接發(fā) 送的數(shù)據(jù)報(bào)文;業(yè)務(wù)處理單元824對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行業(yè)務(wù)處理;數(shù)據(jù)發(fā)送單元825將處 理后的所述數(shù)據(jù)報(bào)文通過(guò)第二建立單元822建立的第四連接發(fā)送給所述服務(wù)端。進(jìn)一步地,業(yè)務(wù)處理單元824可以包括掃描子單元8241,用于對(duì)所述數(shù)據(jù)報(bào)文進(jìn) 行病毒掃描;和/或,過(guò)濾子單元8242,用于對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行過(guò)濾。本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)代理實(shí)現(xiàn)裝置,在第二建立模塊82建立客戶端與服務(wù) 端的第二連接之前通過(guò)第一建立模塊81建立第一連接獲知服務(wù)端的狀態(tài)信息,當(dāng)服務(wù)端 的狀態(tài)信息顯示為開啟狀態(tài)時(shí)才建立第二連接,從而確保建立第二連接的可靠性,并且第 二連接的建立為數(shù)據(jù)報(bào)文的業(yè)務(wù)處理屏蔽了網(wǎng)絡(luò)鏈路的復(fù)雜狀態(tài),提高了用戶體驗(yàn)。圖9為本發(fā)明實(shí)施例所適用系統(tǒng)的結(jié)構(gòu)示意圖,如圖9所示,本實(shí)施例所適用的系 統(tǒng)包括客戶端91、服務(wù)端92、代理適配器93、代理客戶端94、代理服務(wù)端95 ;其中,代理適 配器93、代理客戶端94、代理服務(wù)端95形成本發(fā)明實(shí)施例中的網(wǎng)絡(luò)代理實(shí)現(xiàn)裝置。當(dāng)客戶端91需要向服務(wù)端92需要通過(guò)網(wǎng)絡(luò)代理實(shí)現(xiàn)裝置發(fā)送數(shù)據(jù)報(bào)文時(shí),客戶 端91需要通過(guò)三次握手與服務(wù)端建立連接,該三次握手實(shí)現(xiàn)過(guò)程具體為代理適配器93 在接收到客戶端91發(fā)送的第一建立連接請(qǐng)求消息(SYN)后將該第一建立連接請(qǐng)求消息 通過(guò)代理適配器93發(fā)送給服務(wù)端92,服務(wù)端92向代理適配器93發(fā)送第一建立確認(rèn)消息 (SYN-ACK),代理適配器93將該第一建立確認(rèn)消息發(fā)送給客戶端91,客戶端91在接收到該 第一建立確認(rèn)消息后,代理適配器93將該發(fā)送第一連接確認(rèn)消息(ACK)發(fā)送給服務(wù)端,從 而建立客戶端91與服務(wù)端92之間的第一連接。通過(guò)該第一連接,客戶端91可以獲取服務(wù) 端92的狀態(tài)信息,即客戶端91可以獲取到服務(wù)端92是處于開啟還是關(guān)閉的狀態(tài),進(jìn)一步 根據(jù)獲取到的狀態(tài)信息確定是否需要建立后續(xù)的第二連接。
當(dāng)客戶端91獲取到服務(wù)端92的狀態(tài)信息為開啟時(shí),代理適配器93偽裝成客戶 端通過(guò)虛擬網(wǎng)卡向代理服務(wù)端95發(fā)送第二建立請(qǐng)求消息(SYN),代理服務(wù)端95根據(jù)接 收到的第二建立請(qǐng)求消息(SYN)通過(guò)虛擬網(wǎng)卡向代理適配器93發(fā)送第二建立確認(rèn)消息 (SYN-ACK),通過(guò)TCP的三次握手之后,網(wǎng)關(guān)代理實(shí)現(xiàn)裝置即可在代理服務(wù)端95和代理適配 器93之間建立起第三連接;之后,代理客戶端94向代理適配器93發(fā)送第三建立請(qǐng)求消息 (SYN),代理客戶端94接收代理適配器93根據(jù)第三建立請(qǐng)求消息發(fā)送的第三建立確認(rèn)消息 (SYN-ACK),代理客戶端94根據(jù)第三建立確認(rèn)消息向代理適配器93發(fā)送第三連接確認(rèn)消息 (ACK),通過(guò)TCP的三次握手之后,網(wǎng)關(guān)代理實(shí)現(xiàn)裝置即可在代理客戶端94和代理適配器93 之間建立起第四連接,在第三連接和第四連接建立后,客戶端91與服務(wù)端92通過(guò)第三連接 與第四連接即可形成第二連接。當(dāng)?shù)诙B接建立后,客戶端91通過(guò)代理適配器93發(fā)送數(shù)據(jù)報(bào)文,代理適配器93 將該數(shù)據(jù)報(bào)文重定向至虛擬網(wǎng)卡,虛擬網(wǎng)卡將該數(shù)據(jù)報(bào)文發(fā)送給網(wǎng)絡(luò)代理實(shí)現(xiàn)裝置,網(wǎng)絡(luò) 代理實(shí)現(xiàn)裝置對(duì)數(shù)據(jù)報(bào)文進(jìn)行業(yè)務(wù)處理,具體可以為對(duì)數(shù)據(jù)報(bào)文進(jìn)行病毒掃描,或者,對(duì)數(shù) 據(jù)報(bào)文進(jìn)行過(guò)濾;網(wǎng)絡(luò)代理實(shí)現(xiàn)裝置將處理后的數(shù)據(jù)報(bào)文通過(guò)虛擬網(wǎng)卡發(fā)送給代理適配器 93后,代理適配器93將該數(shù)據(jù)報(bào)文進(jìn)行重定向后發(fā)送給服務(wù)端92。當(dāng)數(shù)據(jù)報(bào)文傳輸完畢后,還可以進(jìn)行斷開連接的操作,具體為客戶端91向代理服務(wù)端95發(fā)送第一結(jié)束請(qǐng)求消息(FIN);代理服務(wù)端95根據(jù)第 一結(jié)束請(qǐng)求消息向客戶端91返回第一結(jié)束確認(rèn)消息(FIN-ACK);代理客戶端94向服務(wù)端 92發(fā)送的第二結(jié)束請(qǐng)求消息(FIN);代理客戶端94接收服務(wù)端92根據(jù)第二結(jié)束請(qǐng)求消息 返回的第二結(jié)束確認(rèn)消息(FIN-ACK),結(jié)束本次數(shù)據(jù)報(bào)文的處理過(guò)程。在圖9所示本發(fā)明實(shí)施例所適用系統(tǒng)中,若網(wǎng)絡(luò)代理實(shí)現(xiàn)裝置具體為反病毒網(wǎng) 關(guān),則以超文本傳送協(xié)議(Hypertext transfer protocol,簡(jiǎn)稱HTTP)為例,則具體過(guò)程如 下反病毒網(wǎng)關(guān)收到目的地址為80端口的SYN報(bào)文,開始建立第一連接和第二連接,即建立 HTTP代理連接;將客戶端的數(shù)據(jù)報(bào)文重定向至網(wǎng)絡(luò)代理實(shí)現(xiàn)裝置,則網(wǎng)絡(luò)代理實(shí)現(xiàn)裝置提 取數(shù)據(jù)報(bào)文進(jìn)行病毒掃描。由于在互聯(lián)網(wǎng)絡(luò)上80端口承載的應(yīng)用層協(xié)議不一定是HTTP,例 如也可以為端對(duì)端(peer-to-peer,簡(jiǎn)稱P2P)協(xié)議,如果把P2P協(xié)議上送至網(wǎng)絡(luò)代理實(shí)現(xiàn) 裝置,則極大地消耗系統(tǒng)資源,此時(shí)若代理適配器檢測(cè)出從客戶端發(fā)送的SYN報(bào)文之后的 數(shù)據(jù)報(bào)文不是基于HTTP協(xié)議的報(bào)文,則直接通過(guò)代理適配器轉(zhuǎn)發(fā)至虛擬網(wǎng)卡,而不需要將 數(shù)據(jù)報(bào)文發(fā)送至網(wǎng)絡(luò)代理實(shí)現(xiàn)裝置進(jìn)行病毒掃描處理。若網(wǎng)絡(luò)代理實(shí)現(xiàn)裝置具體為郵件過(guò)濾網(wǎng)關(guān),則以簡(jiǎn)單郵件傳送協(xié)議(Simple mail transfer protocol,簡(jiǎn)稱SMTP)協(xié)議為例,則具體過(guò)程如下網(wǎng)絡(luò)代理實(shí)現(xiàn)裝置收到目的 地址為25端口的SYN報(bào)文,開始建立第一連接和第二連接,即建立SMTP代理連接;將客戶 端發(fā)送的郵件文件重定向至網(wǎng)絡(luò)代理實(shí)現(xiàn)裝置,獲取到郵件文件并進(jìn)行過(guò)濾。上述本發(fā)明實(shí)施例中,在客戶端與服務(wù)端建立連接的過(guò)程中,網(wǎng)關(guān)代理實(shí)現(xiàn)裝置 在第一次握手時(shí)建立第一連接,當(dāng)客戶端獲取到服務(wù)端的狀態(tài)信息后,根據(jù)狀態(tài)信息建立 第二連接,在該第二連接建立的過(guò)程中,客戶端與網(wǎng)關(guān)代理實(shí)現(xiàn)裝置的代理服務(wù)器建立第 三連接,網(wǎng)關(guān)代理實(shí)現(xiàn)裝置的代理客戶端與服務(wù)器端建立第四連接,為網(wǎng)絡(luò)代理實(shí)現(xiàn)裝置 對(duì)數(shù)據(jù)報(bào)文進(jìn)行業(yè)務(wù)處理屏蔽了網(wǎng)絡(luò)鏈路的復(fù)雜狀態(tài),提高了用戶體驗(yàn)。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成,前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí) 行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括R0M、RAM、磁碟或者光盤 等各種可以存儲(chǔ)程序代碼的介質(zhì)。 最后應(yīng)說(shuō)明的是以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡 管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然 可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替 換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精 神和范圍。
權(quán)利要求
1.一種網(wǎng)絡(luò)代理實(shí)現(xiàn)方法,其特征在于,包括通過(guò)代理適配器建立客戶端與服務(wù)端之間的第一連接,使所述客戶端通過(guò)所述第一連 接獲取所述服務(wù)端的狀態(tài)信息;若所述服務(wù)端的狀態(tài)信息顯示所述服務(wù)端為開啟狀態(tài),則建立所述客戶端與所述服務(wù) 端之間的第二連接,使所述客戶端與所述服務(wù)端通過(guò)所述第二連接傳輸數(shù)據(jù)報(bào)文。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述建立客戶端與服務(wù)端之間的第一連 接包括通過(guò)代理適配器接收客戶端發(fā)送的第一建立請(qǐng)求消息,并將所述第一建立請(qǐng)求信息發(fā) 送給服務(wù)端;接收從所述服務(wù)端返回的第一建立確認(rèn)消息,并將所述第一建立確認(rèn)消息發(fā)送給所述 客戶端;接收所述客戶端返回的第一連接確認(rèn)消息,將所述第一連接確認(rèn)消息發(fā)送給所述服務(wù)端。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述建立所述客戶端與所述服務(wù)端之間 的第二連接包括通過(guò)三次握手建立所述代理適配器和代理服務(wù)端之間的第三連接,以及通過(guò)三次握手 建立所述代理適配器和代理客戶端之間的第四連接,使得所述客戶端與所述服務(wù)端通過(guò)所 述第三連接與第四連接形成第二連接。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述使所述客戶端與所述服務(wù)端通過(guò)所 述第二連接傳輸數(shù)據(jù)報(bào)文包括接收所述客戶端通過(guò)所述第三連接發(fā)送的數(shù)據(jù)報(bào)文;對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行業(yè)務(wù)處理;將處理后的所述數(shù)據(jù)報(bào)文通過(guò)所述第四連接發(fā)送給所述服務(wù)端。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行業(yè)務(wù)處理包括對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行病毒掃描;或者,對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行過(guò)濾。
6.根據(jù)權(quán)利要求1 5任一所述的方法,其特征在于,還包括若所述服務(wù)端的狀態(tài)信息顯示所述服務(wù)端為關(guān)閉狀態(tài),則斷開所述客戶端與所述服務(wù) 端之間的第一連接。
7.—種網(wǎng)絡(luò)代理實(shí)現(xiàn)裝置,其特征在于,包括第一建立模塊,用于通過(guò)代理適配器建立客戶端與服務(wù)端之間的第一連接,使所述客 戶端通過(guò)所述第一連接獲取所述服務(wù)端的狀態(tài)信息;第二建立模塊,用于當(dāng)所述服務(wù)端的狀態(tài)信息顯示所述服務(wù)端為開啟狀態(tài),則建立所 述客戶端與所述服務(wù)端之間的第二連接,使所述客戶端與所述服務(wù)端通過(guò)所述第二連接傳 輸數(shù)據(jù)報(bào)文。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述第一建立模塊包括第一收發(fā)單元,用于接收客戶端發(fā)送的第一建立請(qǐng)求消息,并將所述第一建立請(qǐng)求信 息發(fā)送給服務(wù)端;第二收發(fā)單元,用于接收從所述服務(wù)端返回的第一建立確認(rèn)消息,并將所述第一建立確認(rèn)消息發(fā)送給所述客戶端;第三收發(fā)單元,用于接收所述客戶端返回的第一連接確認(rèn)消息,將所述第一連接確認(rèn) 消息發(fā)送給所述服務(wù)端。
9.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述第二建立模塊包括第一建立單元,用于通過(guò)三次握手建立代理適配器和代理服務(wù)端之間的第三連接; 第二建立單元,用于通過(guò)三次握手建立所述代理適配器和代理客戶端之間的第四連 接,使得所述客戶端與所述服務(wù)端通過(guò)所述第三連接與第四連接形成第二連接。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述第二建立模塊還包括 數(shù)據(jù)接收單元,用于接收所述客戶端通過(guò)所述第三連接發(fā)送的數(shù)據(jù)報(bào)文; 業(yè)務(wù)處理單元,用于對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行業(yè)務(wù)處理;數(shù)據(jù)發(fā)送單元,用于將處理后的所述數(shù)據(jù)報(bào)文通過(guò)所述第四連接發(fā)送給所述服務(wù)端。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述業(yè)務(wù)處理單元包括 掃描子單元,用于對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行病毒掃描;和/或,過(guò)濾子單元,用于對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行過(guò)濾。
全文摘要
本發(fā)明實(shí)施例涉及一種網(wǎng)絡(luò)代理實(shí)現(xiàn)方法及裝置,其中方法包括通過(guò)代理適配器建立客戶端與服務(wù)端之間的第一連接,使所述客戶端通過(guò)所述第一連接獲取所述服務(wù)端的狀態(tài)信息;若所述服務(wù)端的狀態(tài)信息顯示所述服務(wù)端為開啟狀態(tài),則建立所述客戶端與所述服務(wù)端之間的第二連接,使所述客戶端與所述服務(wù)端通過(guò)所述第二連接傳輸數(shù)據(jù)報(bào)文。本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)代理實(shí)現(xiàn)方法及裝置,在建立客戶端與服務(wù)端的第二連接之前通過(guò)建立第一連接獲知服務(wù)端的狀態(tài)信息,當(dāng)服務(wù)端的狀態(tài)信息為開啟時(shí)才建立第二連接,從而確保建立第二連接的可靠性,提高了用戶體驗(yàn)。
文檔編號(hào)H04L9/00GK101997673SQ20091016630
公開日2011年3月30日 申請(qǐng)日期2009年8月17日 優(yōu)先權(quán)日2009年8月17日
發(fā)明者李勇勇 申請(qǐng)人:成都市華為賽門鐵克科技有限公司