2012-06-12 20 views
17

Próbuję zrozumieć, jak działa łącze magnetyczne, ponieważ jak już przeczytałem, używają DHT i PEX, aby uzyskać rówieśników, ale jeśli jestem nowym węzłem w sieci, to jak znaleźć rówieśników z tylko hashem pliku ?! Czy nie zawsze wymaga linku do znanego hosta?W jaki sposób protokół PEX (łącza magnetyczne) znajduje pierwsze IP?

Dzięki

+0

Znacznik 'Pex' służy do testowania białego narzędzia Microsoft, a nie Peer Exchange. Zmieniono. – shamp00

+1

Jedna uwaga !: linki do magnesów (takie, jakie można znaleźć w pirackiej zatoce) mają zwykle wbudowane adresy URL trackerów. Korzystając z tego typu linków, możesz po prostu poprosić tracker o równorzędny – gsk

Odpowiedz

22

bittorrent DHT można bootstrapped na wiele sposobów. Potrzebuje tylko adresu IP i portu dowolnego dostępnego węzła DHT.

obecnych klientów zazwyczaj używają kilku następujących strategii:

  • bootstrap z pamięci podręcznej długotrwałymi węzłów z poprzedniej sesji
  • używać DNS A/AAAA mapowanie rekordu do znanego węzła (np router.bittorrent.com lub dht.transmissionbt.com) ze znanym porcie
  • użyć węzła embedded in a .torrent file
  • odzyskać DHT port from a bittorrent client nad bittorrent związku ustanowionego za pomocą innych środków, np konwencjonalny tracker.
  • multicast Neighbor Discovery poprzez LSD
  • przekroju gadać z IPv4 do DHTs IPv6 i vice versa (w razie potrzeby)

Inne sposoby, takie jak listy bootstrapowych konfigurowalne przez użytkownika, rekordy SRV DNS mapowania round-robin żyć węzły lub - powinno wszystko inne zawodzą - dodawanie IP swojego przyjaciela (s) Manua lly pracy.

Po dołączeniu węzła do sieci pierwsza strategia wspomniana powyżej zostanie uruchomiona i jest mało prawdopodobne, że będzie musiała ponownie uruchomić.

Podczas gdy większość implementacji polega na pojedynczym/kilku punktach wejścia do sieci dla wygody, sam protokół jest wystarczająco elastyczny, aby również zdecentralizować punkty wejścia.

Tylko dla podkreślenia: Dowolny węzeł w DHT może być użyty do połączenia z siecią. Dedykowane węzły ładowania początkowego są szczegółami implementacji, a nie częścią protokołu i w razie potrzeby można je zastąpić innymi mechanizmami wykrywania.

+1

ok, dostaję go, ale jeśli jesteś nowym węzłem i chcesz wejść do sieci, nie ma możliwości, że możesz to zrobić bez proszenia o peer , a zwykłym sposobem jest użycie do tego serwera, więc zawsze będziesz go potrzebować, lub utrudnisz dostęp do sieci –

+3

Tak, zwykle używamy serwera w tej chwili. Ale twój wniosek, że "zawsze tego potrzebujesz" jest niepoprawny. Możliwe są inne sposoby. Cały punkt mojej odpowiedzi brzmiał, że nie potrzebujesz "jednego centralnego serwera", tylko że jest to wygodny sposób robienia rzeczy. – the8472

+1

Tak, mam to, ale żeby działał za każdym razem, gdy serwer jest właściwym wyborem, w przeciwnym razie podany węzeł może być offline –