[發明專利]一種P2P網絡中實現NAT穿越的方法和系統無效
| 申請號: | 200810241176.0 | 申請日: | 2008-12-26 |
| 公開(公告)號: | CN101442492A | 公開(公告)日: | 2009-05-27 |
| 發明(設計)人: | 馬晨光;楊平改;李軍;劉靖 | 申請(專利權)人: | 中國科學院計算技術研究所 |
| 主分類號: | H04L12/56 | 分類號: | H04L12/56;H04L29/08;H04L29/06;H04L29/12 |
| 代理公司: | 北京泛華偉業知識產權代理有限公司 | 代理人: | 王 勇 |
| 地址: | 100190北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 p2p 網絡 實現 nat 穿越 方法 系統 | ||
1.一種P2P網絡中實現NAT穿越的方法,包括:
步驟10)、用戶節點通過向NAT服務器發送包括用戶節點信息的數據報文在NAT服務器上注冊,每個用戶節點通過確定能與對方節點建立TCP連接而與對方節點進行TCP連接通信;
步驟20)、用戶節點與NAT服務器交互,通過比較交互數據包中的地址信息,確定該用戶節點的網絡類型為公網中節點或者內網中節點;
步驟30)、如果用戶節點為公網中節點,通過讓對方節點進行反連來實現NAT穿越;如果用戶節點為內網中節點,通過內網內廣播確定對方節點與本用戶節點不在同一內網,使用UDP進行打洞并模擬TCP方式來實現NAT穿越。
2.權利要求1的方法,其中,步驟10)還包括:
步驟110)、用戶節點發送包括該用戶節點ID的數據報文給NAT服務器;
步驟120)、NAT服務器記錄所收到的用戶節點ID,提取并保存所接收的數據報文中的用戶節點IP地址和UDP端口號以及用戶節點ID;
步驟130)、NAT服務器保存完成后,向用戶節點發送注冊成功的消息。
3.權利要求1的方法,其中,步驟20)還包括:
步驟210)、NAT服務器收到用戶節點發送的一個空報文后構造包括空報文中的源IP地址和UDP端口號的一個數據包,發送到用戶節點;
步驟220)、用戶節點收到NAT服務器返回的數據包后,比較其中的IP地址和本用戶節點的IP地址,若相等,則用戶節點為公網用戶,否則為內網用戶。
4.權利要求1的方法,其中,步驟30)中,通過讓對方節點進行反連的步驟包括:
步驟310)、用戶節點給NAT服務器發送請求反連的消息,讓NAT服務器轉告通信對方節點;
步驟320)、NAT服務器根據用戶節點ID查找到對方節點的IP地址和端口號,然后給其發送反連消息,告知對方要反連的IP地址和端口號;
步驟330)、對方節點收到請求消息后,向所述用戶節點發起TCP連接,進行數據傳輸。
5.權利要求1的方法,其中,步驟30)還包括:用戶節點在內網中發送廣播消息,查詢與自己身處同一內網的其他用戶節點,直接與其建立TCP連接。
6.權利要求1的方法,其中,步驟30)中,使用UDP打洞的步驟包括:
步驟310’)、用戶節點給NAT服務器發送打洞請求報文A,請求通信對方節點進行UDP打洞,報文A的內容包括用戶節點ID和通信對方的節點ID;
步驟320’)、NAT服務器收到報文A后,查找用戶節點ID和通信對方的節點ID對應的IP地址和端口號,并給雙方節點均發送打洞命令報文B,其中包含對方的IP地址和端口號;
步驟330’)、用戶節點和通信對方節點收到報文B后,發送ping消息給NAT服務器所指定的報文B中的對方IP地址和端口號;
步驟340’)、若其中一方收到另一方發來的ping消息后,將進行ping回復,收到ping回復消息的節點確認打洞成功。
7.權利要求6的方法,其中,使用UDP模擬TCP方式的步驟包括:
步驟350’)、使用UDP模擬TCP通信,在應用層實現基于UDP報文的超時與重傳機制、慢啟動機制、擁塞避免機制、快速重傳與快速恢復機制。
8.一種P2P網絡中實現NAT穿越的系統,包括:
終端、NAT服務器和索引服務器;
其中,所述終端用于向NAT服務器進行注冊,請求通信對方節點進行反連或者使用UDP進行打洞并模擬TCP方式實現NAT穿越;
所述NAT服務器用于保存所述終端的注冊信息,轉發終端的打洞請求;
所述索引服務器用于為所述終端提供可連接的peer的列表信息;
其中,所述終端包括:
TCP反向連接模塊,用于終端處于公網而對方終端處于內網時建立TCP連接;
UDP打洞模塊,利用UDP打洞技術,使得當兩個終端節點處于不同NAT內的情況下建立UDP連接;
內網發現模塊,用于處于同一內網的終端建立TCP直連;
傳輸模塊,用于UDP模擬TCP進行數據傳輸。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院計算技術研究所,未經中國科學院計算技術研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200810241176.0/1.html,轉載請聲明來源鉆瓜專利網。





