Nat
如何連接到路由器後面的 P2P 客戶端?
抱歉,如果以前有人問過這個問題,但我認為我發現的任何人都沒有問同樣的問題。
我正在設計一個簡單的 P2P 協議,一個已知的伺服器向客戶端提供彼此的地址,然後他們進行通信。我想這與 BitTorrent、Skype 和其他 P2P 應用程序有一些相似之處。
我的問題是,如何在沒有手動埠轉發的情況下辨識和通信位於某些路由器或防火牆後面的使用 NAT 的主機(即 99% 的家庭使用者)?我知道這是可能的,因為 BitTorrent 和 Skype 工作得很好。
我是網路方面的新手,所以我非常感謝能夠呼籲這個社區的集體智慧。
您需要 nat 遍歷 (nat-t) 或 nat 打孔。這是部分解決方案,因為許多 nat 網關不允許這樣做。這意味著作為解決方案的一部分,您將需要具有公共 IP 的伺服器在受限 nat 客戶端之間傳遞流量。