p2p之Tcp穿透路由Nat

2021-05-22 04:41:44 字數 746 閱讀 6053

終於解決了關於基於tcp的p2p的內網穿透問題

其實本該在去年就解決這個問題的,**寫出來了,只是一直沒時間去驗證。

這幾天重寫了一下。

中國的網路基本是全是內網,通過路由的nat轉換;udp的p2p實現起來非常簡單。

只是udp太不穩定了,如果網路快的情況下丟包太嚴重。

所以一直想是否能通過tcp來代替udp,還好在國外的乙個論壇上看到了相關的解決方案

相對於udp來說,複雜一點,只多了2步而已,**上給出了全部步驟,但真正的建立並不需要完全按**的,

我的方法是

1建立2個伺服器,(for base tcp,for hole tcp)

2.開啟client,4個socket,(1 for base tcp socket  2 for hole socket 3,for listen 4 for connect to listen)

3,建立base連線,

4發起hole連線,client—server,

5.server通知client打洞hole,server通知client ip and port

6.client  listen 本地的hole埠

7 client請求connect to client ;

8.如果失敗client通知對方連線自己

server:

client 1

client2

P2P之NAT穿透問題

stun協議 rfc3489 詳見http www.ietf.org rfc rfc3489.txt 提出了4種nat型別的定義及其分類,並給出了如何檢測 在用的nat究竟屬於哪種分類的標準。但是,具體到p2p程式如何應用stun協議及其分類法穿越nat,則是仁者見仁 智者見智。因為stun協議並沒...

P2P之NAT穿透原理

p2p之nat穿透原理介紹 一次專案中,對於主動協議接入的裝置,客戶希望能夠裝置端直接推送碼流到客戶端以此減少中心 的負載。所以對p2p這塊方案做了了解,這裡做下整理。即對等計算機網路,是一種在對等者 peer 之間分配任務和工作負載的分布式應用架構 是對等計算模型在應用層形成的一種組網或網路形式。...

P2P之UDP穿透NAT原始碼分析

p2p之udp 穿透nat 原始碼分析 說明 有關這方面的介紹很多,請參考p2p 之udp 穿透nat 的原理與實現的講解。主要技術就是nat 網路位址轉換。要強調的一點是,當內網客戶端要連線公網伺服器時,會在nat 上建乙個session,並且分配乙個埠 十分重要 並且記錄相應的公網ip 位址和埠...