欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種面向廣域網(wǎng)絡的對等通信與文件傳輸方法

文檔序號:7668997閱讀:154來源:國知局
專利名稱:一種面向廣域網(wǎng)絡的對等通信與文件傳輸方法
技術(shù)領域
本發(fā)明涉及網(wǎng)絡通信與文件傳輸方法,特別涉及一種面向廣域網(wǎng)絡的對等通信與文件 傳輸方法。
背景技術(shù)
當前,P2P (Peer-to-Peer,對等網(wǎng)絡)技術(shù)因其實現(xiàn)了"非中心化",且具有可以提高網(wǎng) 絡用戶的網(wǎng)絡利用率等優(yōu)勢,使得以此為技術(shù)基礎的即時通信軟件的發(fā)展方興未艾。但是 由于廣域網(wǎng)絡具有網(wǎng)絡拓撲結(jié)構(gòu)復雜的特點,對等通信的應用會受到制約。特別是由于IP 地址匱乏或因用戶自身的應用需要,出現(xiàn)了通過NAT/NAPT (網(wǎng)絡地址轉(zhuǎn)換/網(wǎng)絡地址端口 轉(zhuǎn)換)協(xié)議使用網(wǎng)關構(gòu)建私有局域網(wǎng)絡,并將該私有局域網(wǎng)絡整體接入廣域網(wǎng),使局域網(wǎng) 中的每一個用戶都相當于直接連入廣域網(wǎng)的網(wǎng)絡結(jié)構(gòu)。而此時公網(wǎng)用戶向私有內(nèi)網(wǎng)用戶發(fā) 起通信或不能私有內(nèi)網(wǎng)間用戶發(fā)起通信兩種模式會因無法通過TCP (傳輸控制協(xié)議)協(xié)議 建立連接而不能完成對等通信和文件傳輸,本發(fā)明正是為解決此問題而提出的。

發(fā)明內(nèi)容
本發(fā)明的技術(shù)解決問題克服現(xiàn)有技術(shù)的不足,提供一種面向廣域網(wǎng)絡的對等通信與 文件傳輸方法,該方法是對現(xiàn)有對等網(wǎng)絡通信與文件傳輸方法的補充,其實現(xiàn)了在廣域網(wǎng) 中網(wǎng)絡結(jié)構(gòu)復雜多樣條件下,公網(wǎng)用戶與內(nèi)網(wǎng)用戶、不同內(nèi)網(wǎng)用戶建立連接并進行對等通 信與文件傳輸。該方法具有較好的自適應性和傳輸可靠性。
本發(fā)明的技術(shù)解決方案 一種面向廣域網(wǎng)絡的對等通信與文件傳輸方法,其特點在于 實現(xiàn)如下
(1) 對用戶網(wǎng)絡位置進行判斷,根據(jù)進行網(wǎng)絡通信的發(fā)起方與接收方的網(wǎng)絡位置判斷 通信方式,可能的情況為同一內(nèi)網(wǎng)用戶間通信、公網(wǎng)上用戶間通信、內(nèi)網(wǎng)用戶向公網(wǎng)用 戶發(fā)起通信、公網(wǎng)用戶向內(nèi)網(wǎng)用戶發(fā)起通信、不同內(nèi)網(wǎng)用戶間通信;
(2) 若通信方式屬于同一內(nèi)網(wǎng)用戶間通信、公網(wǎng)上用戶間通信、內(nèi)網(wǎng)用戶向公網(wǎng)用戶 發(fā)起通信,則采用TCP (傳輸控制協(xié)議)協(xié)議"三次握手"機制建立連接;若通信方式屬于 公網(wǎng)用戶向內(nèi)網(wǎng)用戶發(fā)起通信、不同內(nèi)網(wǎng)用戶間通信則采用獨創(chuàng)的基于UDP (用戶數(shù)據(jù)報 協(xié)議)協(xié)議的NAT/NAPT(網(wǎng)絡地址轉(zhuǎn)換協(xié)議/網(wǎng)絡地址端口轉(zhuǎn)換協(xié)議)穿透技術(shù)建立連接;
(
3) 連接成功后進行通信或文件傳輸。
所述步驟(1)中對用戶網(wǎng)絡位置進行判斷的方法為
(a) 使用TCP/IP協(xié)議向通信接收端發(fā)送一個連接請求報文,并設置一個超時閾值;
(b) 若在超時閾值未到前接收方收到請求報文并回饋確認報文,則說明二者可能為同 一內(nèi)網(wǎng)用戶間通信、或公網(wǎng)上用戶間通信、或內(nèi)網(wǎng)用戶向公網(wǎng)用戶發(fā)起通信;
(c) 若在第一次超時閾值到達后沒有接收方回饋確認報文,則啟動》3次超時重連操
作;
(d) 若重連仍未成功則啟用UDP (用戶數(shù)據(jù)報協(xié)議)協(xié)議向通信接收端發(fā)送連接請求 報文,同樣設置一個超時閾值;
(e) 若在超時閾值未到前接收方收到請求報文并回饋確認報文,則說明通信是公網(wǎng)用 戶向內(nèi)網(wǎng)用戶發(fā)起通信或兩個不同內(nèi)網(wǎng)間用戶間發(fā)起通信;
(f) 若在第一次超時閾值到達后仍沒有接收方回饋確認報文,則啟動》3次超時重連
操作;
(g) 若重連仍未成功說明當前網(wǎng)絡狀態(tài)出現(xiàn)問題,通信雙方連接失敗,此時給出網(wǎng)絡 狀態(tài)異常報告。
本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點在于
(1) 本發(fā)明首先提出了一種進行用戶網(wǎng)絡位置快速判定的方法,該方法通過利用現(xiàn)有 的TCP (傳輸控制協(xié)議)協(xié)議和UDP (用戶數(shù)據(jù)報協(xié)議)協(xié)議進行判別。首先使用可靠的 TCP (傳輸控制協(xié)議)發(fā)送連接請求,若連接建立成功,則可判定進行通信的用戶為兩個公 網(wǎng)用戶間、內(nèi)網(wǎng)用戶向公網(wǎng)用戶、同以內(nèi)網(wǎng)用戶間進行通信;若連接失敗則啟用UDP (用 戶數(shù)據(jù)報協(xié)議)協(xié)議發(fā)送連接請求,若連接建立成功,則可判定進行通信的用戶為外網(wǎng)向 內(nèi)網(wǎng)用戶、不同內(nèi)網(wǎng)間的兩個用戶進行通信;若連接失敗,則可判定當前網(wǎng)絡狀態(tài)異常。 此方法充分考慮了廣域網(wǎng)中網(wǎng)絡結(jié)構(gòu)復雜多變的特點,使用TCP和UDP兩種基本通信協(xié)議 進行連接判別,實現(xiàn)了各種網(wǎng)絡拓撲結(jié)構(gòu)下連接建立的自適應性。
(2) 本發(fā)明考慮到了各種可能的網(wǎng)絡通信方式,對于同一內(nèi)網(wǎng)用戶間通信、公網(wǎng)上用 戶間通信、內(nèi)網(wǎng)用戶向公網(wǎng)用戶發(fā)起通信三種方式,選擇TCP (傳輸控制協(xié)議)協(xié)議進行 通信與文件傳輸,對于公網(wǎng)用戶向內(nèi)網(wǎng)用戶發(fā)起通信、不同內(nèi)網(wǎng)用戶間通信則采用獨創(chuàng)的 基于UDP (用戶數(shù)據(jù)報協(xié)議)協(xié)議的NAT/NAPT (網(wǎng)絡地址轉(zhuǎn)換協(xié)議/網(wǎng)絡地址端口轉(zhuǎn)換協(xié) 議)穿透技術(shù),進行通信與文件傳輸,保證了較高的傳輸效率和穩(wěn)定性。
(3) 本發(fā)明提出了一種自動啟用服務器中轉(zhuǎn)報文的形式進行通信與文件傳輸?shù)姆椒ǎ?保證在特殊網(wǎng)絡條件下或用戶需要進行保留所有通信記錄等需求下能夠靈活高效可靠的進 行通信。
(4) 本發(fā)明獨創(chuàng)了基于多線程技術(shù)的可實現(xiàn)多用戶多文件的文件傳輸機制,結(jié)合上述 建立連接的方式進行文件傳輸,保證了文件傳輸方式的靈活性、可靠性和穩(wěn)定性。


圖1為本發(fā)明的流程圖2為本發(fā)明判斷網(wǎng)絡位置的方法流程圖3為本發(fā)明中當為公網(wǎng)用戶向內(nèi)網(wǎng)用戶發(fā)起通信時基于UDP協(xié)議的NAT/NAPT穿 透方法的示意圖4為本發(fā)明中當為不同內(nèi)網(wǎng)用戶間基于UDP協(xié)議的穿透方法流程圖;
具體實施例方式
如圖l所示,本發(fā)明的方法實現(xiàn)如下-
步驟1-I,對用戶網(wǎng)絡位置進行判斷,具體的判斷方式如圖2所示;
步驟1-2,根據(jù)進行網(wǎng)絡通信的發(fā)起方與接收方的網(wǎng)絡位置判斷通信方式,可能的情況 為同一內(nèi)網(wǎng)用戶間通信、公網(wǎng)上用戶間通信、內(nèi)網(wǎng)用戶向公網(wǎng)用戶發(fā)起通信、公網(wǎng)用戶向 內(nèi)網(wǎng)用戶發(fā)起通信、不同內(nèi)網(wǎng)用戶間通信。
步驟l-3,若通信方式屬于同一內(nèi)網(wǎng)用戶間通信、公網(wǎng)上用戶間通信、內(nèi)網(wǎng)用戶向公網(wǎng)
用戶發(fā)起通信,則采用TCP (傳輸控制協(xié)議)協(xié)議"三次握手"機制建立連接;若通信方式
屬于公網(wǎng)用戶向內(nèi)網(wǎng)用戶發(fā)起通信、不同內(nèi)網(wǎng)用戶間通信則采用獨創(chuàng)的基于UDP (用戶數(shù) 據(jù)報協(xié)議)協(xié)議的NAT/NAPT (網(wǎng)絡地址轉(zhuǎn)換協(xié)議/網(wǎng)絡地址端口轉(zhuǎn)換協(xié)議)穿透方法建立 連接;
步驟1-4、建立連接;
步驟l-5,連接成功后進行通信或文件傳輸。 如圖2所示,網(wǎng)絡位置判斷方法實現(xiàn)如下
步驟2-l,使用TCP/IP協(xié)議向通信接收端發(fā)送一個連接請求報文,并設置一個超時閾值。
步驟2-2,若在超時閥值未到前接收方收到請求報文并回饋確認報文,則說明二者可能 均處于同一內(nèi)網(wǎng)、同一公網(wǎng)或內(nèi)網(wǎng)向外網(wǎng)用戶發(fā)起通信。
步驟2-3,若在第一次超時閾值到達后沒有接收方回饋確認報文,則啟動3次超時重連 操作。
步驟2-4,若重連仍未成功則啟用UDP (用戶數(shù)據(jù)報協(xié)議)協(xié)議向通信接收端發(fā)送連接 請求報文,同樣設置一個超時閾值
步驟2-5,若在超時閾值未到前接收方收到請求報文并回饋確認報文,則說明通信是公 網(wǎng)用戶向內(nèi)網(wǎng)用戶發(fā)起通信或兩個不同內(nèi)網(wǎng)間用戶在通信。
步驟2-6,若在第一次超時閾值到達后仍沒有接收方回饋確認報文,則啟動3次超時重
連操作
步驟2-7,若重連仍未成功說明當前網(wǎng)絡狀態(tài)出現(xiàn)問題,通信雙方連接失敗,此時給出
網(wǎng)絡狀態(tài)異常報告。
如圖3所示,若通信方式屬于公網(wǎng)用戶向內(nèi)網(wǎng)用戶發(fā)起通信,則基于UDP(用戶數(shù)據(jù) 報協(xié)議)協(xié)議的NAT/NAPT (網(wǎng)絡地址轉(zhuǎn)換協(xié)議/網(wǎng)絡地址端口轉(zhuǎn)換協(xié)議)穿透方法實現(xiàn)如 下假定A為公網(wǎng)用戶,B為內(nèi)網(wǎng)用戶
(a) 客戶端A登錄,通過服務器S驗證成功獲取自身信息與好友列表信息;
(b) 客戶端B登錄,通過服務器S驗證成功獲取自身信息與好友列表信息;
(c) 服務器S記錄客戶端B的NAPT (網(wǎng)絡地址端口轉(zhuǎn)換協(xié)議)后的IP地址與端口;
(d) 客戶端A想發(fā)送消息給客戶端B,向服務器S獲取客戶端B的在線IP地址;
(e) 客戶端A獲得客戶端B的IP地址后并發(fā)送UDP (用戶數(shù)據(jù)報協(xié)議)信息到客戶
端B;
(f) 客戶端A與客戶端B請求失敗,信息丟失,此時客戶端A報告服務器S要求服 務器對客戶端B進行通知;
(g) 服務器S接到此命令后,將客戶端A的IP地址發(fā)給客戶端B,要求他連接。
(h) 客戶端B收到服務器S的信息后發(fā)送請求到客戶端A。
(i) 此時客戶端A與客戶端B建立連接成功。
(j)客戶端A發(fā)送消息到客戶端B成功,以后的通信不再經(jīng)服務器S中轉(zhuǎn)。
如圖4所示,若通信為不同內(nèi)網(wǎng)用戶間,則基于UDP (用戶數(shù)據(jù)報協(xié)議)協(xié)議的 NAT/NAPT (網(wǎng)絡地址轉(zhuǎn)換協(xié)議/網(wǎng)絡地址端口轉(zhuǎn)換協(xié)議)穿透方法實現(xiàn)如下假定A、 B 為不同內(nèi)網(wǎng)中的用戶,
(a) 客戶端A登錄,通過服務器S驗證成功獲取自身信息與好友列表信息;
(b) 服務器S'記錄客戶端A的NAPT (網(wǎng)絡地址端口轉(zhuǎn)換協(xié)議)后的IP地址與端口;
(c) 客戶端B登錄,通過服務器S驗證成功獲取自身信息與好友列表信息;
(d) 服務器S記錄客戶端B的NAPT (網(wǎng)絡地址端口轉(zhuǎn)換協(xié)議)后的IP地址與端口;
(e) 客戶端A想發(fā)送消息給客戶端B,向服務器S'獲取客戶端B'的在線IP地址;
(f) 客戶端A獲得客戶端B的IP地址后并發(fā)送UDP (用戶數(shù)據(jù)報協(xié)議)報文到客戶
端B;
(g) 客戶端A與客戶端B請求失敗,信息丟失,此時客戶端A報告服務器S要求服 務器對客戶端B進行通知;
(h) 服務器S接到此命令后,將客戶端A的IP地址發(fā)給客戶端B,要求他連接;
(i) 客戶端B收到服務器S的信息后發(fā)送請求到客戶端A,并在session中保存A的 NAPT (網(wǎng)絡地址端口轉(zhuǎn)換協(xié)議);
(j)由于此時客戶端A的NAPT (網(wǎng)絡地址端口轉(zhuǎn)換協(xié)議)地址已經(jīng)存在客戶端B的 session,所以此時客戶端A與客戶端B建立連接成功;
(k)客戶端A發(fā)送消息到客戶端B成功,以后的通信不再經(jīng)服務器S中轉(zhuǎn)。
權(quán)利要求
1、一種面向廣域網(wǎng)絡的對等通信與文件傳輸方法,其特征在于(1)對用戶網(wǎng)絡位置進行判斷,根據(jù)進行網(wǎng)絡通信的發(fā)起方與接收方的網(wǎng)絡位置判斷通信方式,可能的情況為同一內(nèi)網(wǎng)用戶間通信、公網(wǎng)上用戶間通信、內(nèi)網(wǎng)用戶向公網(wǎng)用戶發(fā)起通信、公網(wǎng)用戶向內(nèi)網(wǎng)用戶發(fā)起通信、不同內(nèi)網(wǎng)用戶間通信5種方式;(2)若通信方式屬于同一內(nèi)網(wǎng)用戶間通信、或公網(wǎng)上用戶間通信、或內(nèi)網(wǎng)用戶向公網(wǎng)用戶發(fā)起通信,則采用傳輸控制協(xié)議TCP的“三次握手”機制建立連接;若通信方式屬于公網(wǎng)用戶向內(nèi)網(wǎng)用戶發(fā)起通信、或不同內(nèi)網(wǎng)用戶間通信則采用基于用戶數(shù)據(jù)報協(xié)議UDP的網(wǎng)絡地址轉(zhuǎn)換協(xié)議/網(wǎng)絡地址端口轉(zhuǎn)換協(xié)議NAT/NAPT穿透方法建立連接;(3)連接成功后進行通信或文件傳輸。
2、 根據(jù)權(quán)利要求l所述的面向廣域網(wǎng)絡的對等通信與文件傳輸方法,其特征在于所 述步驟(1)中對用戶網(wǎng)絡位置進行判斷的方法為(1) 使用TCP/IP協(xié)議向通信接收端發(fā)送一個連接請求報文,并設置一個超時閾值;(2) 若在超時閾值未到前接收方收到請求報文并回饋確認報文,則說明二者可能為同 一內(nèi)網(wǎng)用戶間通信、或公網(wǎng)上用戶間通信、或內(nèi)網(wǎng)用戶向公網(wǎng)用戶發(fā)起通信;(3) 若在第一次超時閾值到達后沒有接收方回饋確認報文,則啟動3次超時重連操作;(4) 若重連仍未成功則啟用UDP協(xié)議向通信接收端發(fā)送連接請求報文,同樣設置一 個超時閾值;(5) 若在超時閾值未到前接收方收到請求報文并回饋確認報文,則說明通信是公網(wǎng)用 戶向內(nèi)網(wǎng)用戶發(fā)起通信或不同內(nèi)網(wǎng)間用戶間發(fā)起通信;(6) 若在第一次超時閾值到達后仍沒有接收方回饋確認報文,則啟動3次超時重連操作;(7) 若重連仍未成功說明當前網(wǎng)絡狀態(tài)出現(xiàn)問題,通信雙方連接失敗,此時給出網(wǎng)絡 狀態(tài)異常報告。
3、 根據(jù)權(quán)利要求l所述的面向廣域網(wǎng)絡的對等通信與文件傳輸方法,其特征在于所 述步驟(2)中公網(wǎng)用戶向內(nèi)網(wǎng)用戶發(fā)起通信,則基于UDP協(xié)議的NAT/NAPT穿透方法實 現(xiàn)如下假定A為公網(wǎng)用戶,B為內(nèi)網(wǎng)用戶(1) 客戶端A登錄,通過服務器S驗證成功獲取自身信息與好友列表信息;(2) 客戶端B登錄,通過服務器S驗證成功獲取自身信息與好友列表信息;(3) 服務器S記錄客戶端B的網(wǎng)絡地址端口轉(zhuǎn)換協(xié)議NAPT后的IP地址與端口;(4) 客戶端A想發(fā)送消息給客戶端B,向服務器S獲取客戶端B的在線IP地址; (5) 客戶端A獲得客戶端B的IP地址后并發(fā)送UDP拫文到客戶端.B;(6) 客戶端A與客戶端B請求失敗,信息丟失,此時客戶端A報告服務器S要求服 務器對客戶端B進行通知;(7) 服務器S接到此命令后,將客戶端A的IP地址發(fā)給客戶端B,要求其連接。(8) 客戶端B收到服務器S的信息后發(fā)送請求到客戶端A。(9) 此時客戶端A與客戶端B建立連接成功。(10) 客戶端A發(fā)送消息到客戶端B成功,以后的通信不再經(jīng)服務器S中轉(zhuǎn)。
4、根據(jù)權(quán)利要求l所述的面向廣域網(wǎng)絡的對等通信與文件傳輸方法,其特征在于所 述步驟(2)中不同內(nèi)網(wǎng)用戶間通信,則基于UDP協(xié)議的NAT/NAPT穿透方法實現(xiàn)如下, 假定A、 B為不同內(nèi)網(wǎng)中的用戶-(1) 客戶端A登錄,通過服務器S驗證成功獲取自身信息與好友列表信息;(2) 服務器S記錄客戶端A的NAPT后的IP地址與端口;(3) 客戶端B登錄,通過服務器S驗證成功獲取自身信息與好友列表信息;(4) 服務器S記錄客戶端B的NAPT后的IP地址與端口;(5) 客戶端A想發(fā)送消息給客戶端B,向服務器S獲取客戶端B的在線IP地址;(6) 客戶端A獲得客戶端B的IP地址后并發(fā)送UDP信息到客戶端B;(7) 客戶端A與客戶端B請求失敗,信息丟失,此時客戶端A報告服務器S要求服 務器對客戶端B進行通知;(8) 服務器S接到此命令后,將客戶端A的IP地址發(fā)給客戶端B,要求他連接;(9) 客戶端B收到服務器S的信息后發(fā)送請求到客戶端A;(10) 由于此時客戶端A的NAPT已經(jīng)存在客戶端B的會話session,所以此時客戶端 A與客戶端B建立連接成功;(11) 客戶端A發(fā)送消息到客戶端B成功,以后的通信不再經(jīng)服務器S中轉(zhuǎn)。
全文摘要
一種面向廣域網(wǎng)絡的對等通信與文件傳輸方法(1)對用戶網(wǎng)絡位置進行判斷,根據(jù)進行網(wǎng)絡通信的發(fā)起方與接收方的網(wǎng)絡位置判斷通信方式,可能的情況為同一內(nèi)網(wǎng)用戶間通信、公網(wǎng)上用戶間通信、內(nèi)網(wǎng)用戶向公網(wǎng)用戶發(fā)起通信、公網(wǎng)用戶向內(nèi)網(wǎng)用戶發(fā)起通信、不同內(nèi)網(wǎng)用戶間通信;(2)若通信方式屬于同一內(nèi)網(wǎng)用戶間通信、公網(wǎng)上用戶間通信、內(nèi)網(wǎng)用戶向公網(wǎng)用戶發(fā)起通信,則采用TCP協(xié)議“三次握手”機制建立連接;若通信方式屬于公網(wǎng)用戶向內(nèi)網(wǎng)用戶發(fā)起通信、不同內(nèi)網(wǎng)用戶間通信則采用基于UDP協(xié)議的NAT/NAPT穿透方法建立連接;(3)連接成功后進行通信或文件傳輸。本發(fā)明實現(xiàn)了廣域網(wǎng)絡用戶的對等通信與文件傳輸,具有良好的自適應性和傳輸可靠性。
文檔編號H04L29/08GK101197850SQ20071030423
公開日2008年6月11日 申請日期2007年12月26日 優(yōu)先權(quán)日2007年12月26日
發(fā)明者吳高潔, 超 李, 璋 熊, 浩 盛, 奇 魏 申請人:北京航空航天大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
济宁市| 罗田县| 唐海县| 嘉鱼县| 东明县| 博野县| 台中市| 涞水县| 宁陕县| 南平市| 资源县| 辽中县| 贡山| 寿宁县| 明水县| 肇州县| 元谋县| 桦川县| 中阳县| 鄯善县| 沙湾县| 安多县| 兰坪| 泽库县| 勃利县| 武安市| 奈曼旗| 新巴尔虎左旗| 绍兴县| 天台县| 静乐县| 莲花县| 突泉县| 清涧县| 呼图壁县| 和硕县| 玛多县| 江华| 静海县| 延庆县| 罗平县|