W jaki sposób przekierowanie portów pomaga torrentom?

29

Używam Transmisji do pobierania plików, ale mówi, że pewien port musi być otwarty. Jednak gdy ten port jest zamknięty, zauważyłem, że nadal mogę bez problemu pobierać pliki. Ale kiedy otworzyłem port za pośrednictwem routera, widzę znaczącą różnicę w szybkości pobierania. Znam podstawy „przekierowania portów” i to, że przekazuje ruch do określonego urządzenia na określonym porcie. Pomyślałem więc, że moje pobieranie nie będzie kontynuowane, ponieważ port został zamknięty, ale tak się nie stało. Więc moje pytanie brzmi:

  1. W jaki sposób przekierowanie portów pomaga w tej sytuacji?
  2. Dlaczego moje pobieranie przyspiesza po włączeniu przekierowania portów?
JohnnyQ
źródło
3
Ja też jestem zainteresowany twoim sprawozdaniem różnicy prędkości. Czy jesteś w stanie sprawdzić swoje wyniki bardziej naukowo?
Tu-Reinstate Monica-dor duh
Przekazywanie portów pozwala na inicjowanie, szybsze inicjowanie, a także pozwala innym użytkownikom na znalezienie ciebie, zamiast na konieczności szukania innych partnerów przez klienta. Nie jestem jednak pewien, czy wpływa to na szybkość pobierania.
ecube,
@tudor nie bardzo. Właśnie zauważyłem znaczącą różnicę w Freenasużywaniu Transmission.
JohnnyQ,
1
„znacząca różnica” - to prawdopodobnie znaczna poprawa .
MrWhite,

Odpowiedzi:

51

W skrócie: aby protokół BitTorrent (p2p) działał, co najmniej jeden peer musi mieć publicznie otwarty port (być aktywnym węzłem).

Możesz uruchomić Transmisję bez przekierowywania portów (pozostać pasywnym węzłem), a będziesz łączyć, pobierać i inicjować pliki bez problemów. Jednak Twój klient będzie mógł komunikować się tylko z aktywnymi węzłami.

Po włączeniu przekierowania portów (stając się aktywnym węzłem) zwiększasz liczbę peerów, z którymi możesz się komunikować (możesz następnie wymieniać dane z pasywnymi węzłami).

Wpływa to na ogólną szybkość przesyłania, ponieważ plik byłby pobierany jednocześnie z większej liczby węzłów.

Dokument Analiza BitTorrenta i jego zastosowanie do projektowania protokołu przesyłania strumieniowego opartego na P2P dla hybrydowego CDN zawiera wykresy porównujące prędkość transferu między „zaporą ogniową” i „otwartą” siecią peer (patrz strona 8):

wprowadź opis zdjęcia tutaj

techraf
źródło
Rozumiem to (co może być złe), że bez otwartego portu klient musi znaleźć i zainicjować wszystkie połączenia z innymi klientami. Od czasu do czasu szuka tylko nowych połączeń, czasem z długimi opóźnieniami między próbami, więc może być znacznie szybciej, jeśli inni klienci również znajdą cię za każdym razem, gdy będą szukać. To naprawdę tylko kolejny sposób na powiedzenie tego samego co ta odpowiedź.
Joe
19

Jeśli uPnP / NAT-PMP został wyłączony na twoim kliencie torrentu, routerze lub obu, połączenia przychodzące nie działałyby. Następnie musisz przekierować port do komputera w konfiguracji routera lub włączyć uPnP. Ponieważ mapowanie przekierowujące / uPnP jest dostępne dla połączeń przychodzących, może to umożliwić większej liczbie peerów, którzy wcześniej nie mogli się z tobą połączyć. Więc jeśli wyłączono przekazywanie i uPnP, to włączono jeden z nich, co może spowodować wzrost.

Poza tym, o ile mi wiadomo, nie ma dużych różnic między uPnP a ręcznym przekierowaniem portów pod względem prędkości. Być może w tym czasie wydarzyło się jakieś inne zdarzenie, np. Byłeś podłączony do większej liczby peerów, twój dostawca usług internetowych kształtuje ruch oparty na portach, zakłóca działanie innych programów itp., Ale zakładając, że tak nie jest, nie powinno być różnicy.

(Moja pierwotna odpowiedź nie była tak jasna, przepraszam. Mam nadzieję, że tak jest lepiej.)

BrianC
źródło
7
Każdy, kto dba o bezpieczeństwo, upewni się, że uPnP jest wyłączony. To okropny pomysł!
Matt H
@MattH Tak, nie zawracałem sobie tym głowy, ponieważ chciałem być zwięzły. Warto jednak podkreślić.
BrianC,
3

Jeśli masz włączone przekierowywanie portów, połączenia przychodzące mogą znaleźć twój węzeł torrent. W przeciwnym razie jedynymi wykonanymi połączeniami będą połączenia wychodzące.

Oczywiście możesz pobierać tylko przy użyciu połączeń wychodzących, ale będziesz mieć mniejszą pulę potencjalnych węzłów, z którymi można się połączyć (ponieważ nie można połączyć z innymi węzłami bez przekierowania portów). W rezultacie prawdopodobnie uzyskasz niższą ogólną prędkość pobierania, ponieważ będziesz mieć mniej aktywnych rówieśników. Będziesz również mniej prawdopodobne, aby dowiedzieć się o izolowanych pulach równorzędnych za pośrednictwem DHT.

Wpłynie to na ciebie jeszcze bardziej, jeśli masz ustawione i obowiązkowe szyfrowanie, ponieważ dodatkowo zmniejsza to potencjalną pulę rówieśników.

Jeśli twój router ma włączoną funkcję uPNP, większość klientów torrent skorzysta z tego, aby automatycznie skonfigurować przekierowanie portów. W przeciwnym razie konieczne będzie skonfigurowanie go ręcznie w konfiguracji routera - metoda wykonania tego zależy od routera, a zakres portów do przekazania zależy od konfiguracji klienta.

Steve Shipway
źródło
Właśnie to chciałem powiedzieć. Niektóre torrenty prawie nie działają przy zamkniętym porcie. Często widzę, że znaczna większość moich połączeń przychodzi. I tak się nie dzieje, chyba że port jest otwarty. Oprócz problemów związanych z bezpieczeństwem, jeśli masz stary router, korzystanie z funkcji uPNP może wypełnić tabelę w routerze i spowodować inne problemy.
Joe