2010-06-10 71 views
4

我剛剛使用uTorrent下載了一個新的linux發行版,並開始懷疑uTorrent(以及其他bittorrents)如何通過NAT路由器將文件發送給彼此?他們顯然使用追蹤器進行介紹,但他們如何將信息傳遞給彼此? 有沒有關於此的白皮書?我找不到一個:/
謝謝BitTorrents如何與海誓山盟聯繫?

回答

2

大部分時間,他們不。我有一個受限制的網絡,並且每次運行我的torrent程序時,都會警告我所需的一些端口/功能不適用於我。

如果一方具有受限制的網絡,另一方具有開放式網絡,受限制的客戶端將始終連接到打開的客戶端。如果您有兩個受限制的客戶端,他們將無法連接到對方。它的工作原理是,大多數(足夠的)洪流網絡上的人員都具有某種端口轉發或UPNP(通用即插即用)來促成此操作。

+3

對於大多數情況下,我會同意,事情是,有些路由器upnp,允許前端口,你也可以使用納孔打孔等。 但是對於一般的目的,你是對的。 – Ben 2010-07-06 20:40:36

0

Torrent客戶端工作的基礎是所謂的分佈式哈希表。他們從一組已知的根開始,並分支尋找其他連接的節點(即鄰居)。與他們建立聯繫,並將其保持在最高限度。由於客戶端正在啓動連接,因此所有的遠程服務器都需要將數據反饋回來,並且通過NAT獲得它就好了。這是網絡流量的工作原理。

+0

是的,但是客戶端如何建立到另一個NAT後面的連接?這對網絡來說很好,因爲每個網絡服務器只有一個公有IP。 – Ben 2010-06-10 22:25:09

+0

有各種技術,如通用即插即用,這有助於促進這種行爲。 – jer 2010-06-11 00:29:05

+1

DHT有補充或替代基於跟蹤器的對等發現。它不是NAT穿越解決方案,儘管NAT也可以影響它。 – 2010-06-14 14:13:21