If-Koubou

Kako klijent Bittorrent u početku otkriva svoje vršnjake?

Kako klijent Bittorrent u početku otkriva svoje vršnjake? (Kako da)

Kada se vaša bujica klijenta pridruži rodu za dijeljenje i skupljanje datoteka, kako to točno zna gdje su svi njegovi vršnjaci? Čitajte dok mi se pokrećemo unutar mehanizama koji podcjenjuju BitTorrent protokol.

Današnja pitanja i odgovori nam se javljaju zahvaljujući SuperUseru - podjele Stack Exchange-a, zajednice-driven grupiranja Q & A web stranica.

Pitanje

SuperUser čitač Steve V. imao je vrlo specifično pitanje o Distributed Hash Table (DHT) sustavu unutar BitTorrent protokola:

Već sam pročitao ovaj odgovor SuperUser i ovaj članak u Wikipediji, ali oboje su previše tehnički za mene da stvarno omotati glavu oko sebe.

Razumijem ideju trackera: klijenti se povezuju s centralnim poslužiteljem koji održava popis vršnjaka u rodu.

Također razumijem ideju razmjene ravnopravnih partnera: klijenti već u rodu šalju cijeli popis svojih vršnjaka jedan drugome. Ako se otkriju novi partneri, oni se dodaju na popis.

Moje pitanje je, kako DHT radi? To je,kako se novi klijent može pridružiti rodu bez praćenja ili znanja barem jednog člana rojstva za razmjenu vršnjaka?

(Napomena: jednostavna objašnjenja su najbolja.)

Njegovo pitanje zauzvrat potaknulo je doista detaljan odgovor o različitim funkcijama BitTorrent sustava; Pogledajmo sada.

Odgovor

SuperUser suradnik Allquixotic nudi detaljno objašnjenje:

Kako se novi klijent može pridružiti roj bez tragača ili znanje barem jednog člana roda za razmjenu vršnjaka?

Ne možete. Nemoguće je.*

* (Osim ako čvor na vašem računalulokalna mreža događa se da već bude čvor u DHT-u. U ovom slučaju, možete koristiti mehanizam za emitiranje, kao što je Avahi, da "otkrije" ovaj peer, i iz njih stigne bootstrap. Ali kako jeoni bootstrap sebe? Na kraju ćete stati u situaciju u kojoj se morate povezati s javnim internetom. A javni internet je samo jednostran, a ne multicast, stoga ste zainteresirani za upotrebu unaprijed određenih popisa vršnjaka.)

Reference

Bittorrent DHT se provodi putem protokola poznatog pod imenom Kademlia, što je poseban slučaj teorijskog koncepta Distributed hash table.

Izlaganje

Kod protokola Kademlia, kada se pridružite mreži, prolazite kroz postupak pokretanja, što apsolutno zahtijeva da znate,unaprijed, IP adresu i priključak barem jednog čvora koji već sudjeluje u DHT mreži. Tragat koji se povezujete, na primjer, može biti sam DHT čvor. Kada budete povezani s jednim DHT čvorom, nastavite s preuzimanjem informacija iz DHT-a koji vam pruža informacije o povezanosti za više čvorova, a zatim kretanje strukturom grafikona kako bi se dobile veze za sve više čvorova koji mogu pružiti obje povezivost s drugim čvorovima i podatke o teretima (dijelovi preuzimanja).

Mislim da je vaše stvarno pitanje podebljano - kako da se pridružite Kademlia DHT mreži bez znanjabilo kojidrugi članovi - temelji se na lažnoj pretpostavci.

Jednostavan odgovor na vaše pitanje podebljan je,ne, Ako ne znate ni o kakvim informacijama o čak jednom hostu koji može sadržavati DHT metapodatke, zaglavljeni ste - čak ni ne možete započeti. Mislim, sigurno, mogli biste pokušati otkriti IP na javnom internetu s otvorenom lozom koja će se dogoditi za emitiranje DHT informacija. No, vjerojatnije je da je vaš BT klijent hardcodiran nekom određenom statičkom IP ili DNS-om koji rješava stabilni DHT čvor koji samo daje metapodatke DHT.

U osnovi, DHT je samo decentraliziran kao i mehanizam spajanja i zato što je mehanizam spajanja prilično krhki (nema načina da se "emitira" preko cijelog Interneta!komunicirati s usamljenim terminalimado pojedinog predefiniranog domaćina za dobivanje DHT podataka), Kademlia DHT nijestvarno decentralizirana. Ne u najstrožem smislu te riječi.

Zamislite ovaj scenarij: Netko tko želi da P2P prestane izaći i priprema napadsviobično korišteni stabilni DHT čvorovi koji se koriste za podizanje sustava. Nakon što su postavili svoj napad, oni to opskrbljujusvi čvorovi odjednom.bum; svaki pojedini DHT čvor koji se podigao je sve u jednom trenutku. Što sad? Zapeli ste se povezivanjemcentralizirano praćenje preuzeti tradicionalne popise vršnjaka od onih. Pa, ako napadnu i trackere, onda si stvarno,stvarno up u potok. Drugim riječima, Kademlia i cijela BT mreža ograničeni su ograničenjima samog Interneta, jer postoji konačan (i relativno mali) broj računala koje biste trebali uspješno napadati ili preuzimati izvan mreže kako biste spriječili> 90% korisnika od povezivanja s mrežom.

Nakon što su "pseudo centralizirani" čvorovi za pokretanje nestali, unutarnji čvorovi DHT-a, koji se ne pokreću jernitko na vanjskoj strani DHT ne zna o unutarnjim čvorovima, beskorisni; ne mogu donijeti nove čvorove u DHT. Dakle, budući da se svaki unutarnji čvor odreže od DHT-a tijekom vremena, bilo zbog ljudi koji ugasuju svoje računalo, ponovno podizanje sustava za ažuriranja itd., Mreža bi se srušila.

Naravno, da bi se to ostvarilo, netko bi mogao implementirati zakrpački BitTorrent klijent s novim popisom unaprijed određenih čvrsti DHT čvorova ili DNS adresa i glasno oglašavati zajednici P2P kako bi upotrijebili ovaj novi popis. Ali to bi postalo situacija u kojoj bi agresor (čvorni čarobnjak) progresivno preuzeo te popise i ciljala hrabre nove čvorove za pokretanje, a zatim ih odveze i izvan mreže.

Ne samo da smo naučili odgovor na izvorno pitanje, već smo i doznali malo o prirodi BitTorrent sustava i njegovih ranjivosti.

Imate li nešto za objašnjenje? Zvuči u komentarima. Želite li pročitati više odgovora od drugih tehnoloških korisnika Stack Exchangea? Pogledajte ovdje cijelu raspravu.