1Sep
Ko se vaš torrent ponudnik pridruži rojstvu, da bi lahko delil in zbral datoteke, kako natančno ve, kje so vsi njegovi vrstniki? Beri naprej, ko se potegnemo znotraj mehanizmov, ki so pod protokolom BitTorrent.
Današnje vprašanje &S sejo odgovora prihaja uporaba SuperUserja, ki je razdeljena na Stack Exchange, skupinsko spletno stran Q & A.
Vprašalnik
SuperUser bralec Steve V. je imel zelo specifično vprašanje o sistemu Distributed Hash Table( DHT) v BitTorrent protokolu:
Prebral sem ta SuperUserjev odgovor in ta članek v Wikipediji, vendar sta oba preveč tehnična zamezaviti mojo glavo.
Razumem idejo sledilca: stranke se povezujejo s centralnim strežnikom, ki vzdržuje seznam vrstnikov v rojstvu.
Razumem tudi idejo o izmenjavi vrstnikov: stranke že v rojstvu pošiljajo celoten seznam svojih vrstnikov drug drugemu.Če odkrijemo nove vrstnike, jih dodamo na seznam.
Moje vprašanje je, kako deluje DHT?To je , kako se lahko nova stranka vključi v roj brez sledilca ali znanja vsaj enega člana rojstva, s katerim se izmenjujejo vrstniki?
( Opomba: preprosta pojasnila so najboljša.)
Njegovo vprašanje je za posledico resnično podroben odgovor o različnih funkcijah sistema BitTorrent;zdaj si jo oglejmo.
Odzivnik
SuperUser, sodelavec Allquixot, ponuja poglobljeno razlago:
Kako se lahko nova stranka vključi v roj brez sledilca ali znanja vsaj enega člana rojstva, s katerim se izmenjujejo vrstniki?
Ne morete.*
* ( Razen če vozlišče v lokalnem omrežju že zgodi vozlišče v DHT-ju. V tem primeru bi lahko uporabili mehanizem za oddajanje, na primer Avahi, da bi "odkrili" ta kolega, in bootstrap od njih. Ampak, kako se je oni bootstrap sebe? Končno, boste zadeti situacijo, kjer se morate povezati z javnim internetom. In javni internet je samo enicast-samo, ne multicast, zato ste zaljubljeniz uporabo vnaprej določenih seznamov vrstnikov.)
Reference
Bittorrent DHT se izvaja prek protokola, znanega kot Kademlia, kar je poseben primer teoretičnega koncepta porazdeljene razpršilne tabele.
razstava
S protokolom Kademlia se ob prijavi v omrežje nadaljujete s postopkom zagona, ki absolutno zahteva, da vnaprej poznate , naslov IP in vrata vsaj enega vozlišča, ki že sodelujejo v omrežju DHT.Sledilnik, s katerim se povezujete, na primer, je lahko sam DHT vozlišče. Ko ste povezani z eno DHT vozlišče, nadaljujte s prenosom podatkov iz DHT-ja, ki vam priskrbijo informacije o povezljivosti za več vozlišč in nato navigirate po strukturi »graf«, da pridobite povezave do več vozlišč, ki lahko zagotovijo obapovezljivost z drugimi vozlišči in podatki o koristni obremenitvi( kosi prenosa).
Mislim, da je vaše dejansko vprašanje v krepkem tisku - to, kako se pridružiti omrežju Kademlia DHT, ne da bi poznali drugih članov - temelji na napačni predpostavki.
Preprost odgovor na vaše vprašanje je krepko, pa ne .Če ne poznate nobene informacije o celo enem gostitelju, ki bi lahko vseboval metapodatke DHT, ste zaljubljeni - ne morete niti začeti. Mislim, prepričan si, da lahko poskusite s silo poskusiti odkriti IP na javnem internetu z odprtim pristaniščem, ki se zgodi, da odda informacije o DHT-u. Toda bolj verjetno je, da je vaš BT-odjemalec težko kodiran za nekatere specifične statične IP ali DNS, ki se razrešijo na stabilno DHT vozlišče, ki pravkar zagotavlja metapodatke DHT.
V bistvu je DHT le kot decentraliziran kot mehanizem za povezovanje in ker je mehanizem za povezovanje precej krhk( ni mogoče, da se "odda" preko celotnega interneta!), Zato morate unicast na posamezno predhodno dodeljeni gostiteljdobite DHT podatke), Kademlia DHT ni res decentraliziran. Ne v najstrožjem smislu besede.
Predstavljajte si ta scenarij: Nekdo, ki želi, da se P2P ustavi, ugasne in pripravi napad na vse pogosto uporabljajo stabilne DHT vozlišča, ki se uporabljajo za zaganjanje. Ko napadajo napad, jih vzpenjajo na vse vozlišča vse naenkrat. Wham ;vsaka zagonska vozlišče DHT je vse v enem padajočem pragu. Kaj pa zdaj? Zaščitili ste se s povezavo z centraliziranimi sledilci , da prenesete tradicionalne sezname vrstnikov iz teh. No, če tudi napadajo sledilce, potem ste res, res potok. Z drugimi besedami, Kademlia in celotno omrežje BT omejujeta omejitev interneta samega, saj obstaja končna( in razmeroma majhna) število računalnikov, ki bi jih morali uspešno napadati ali sprejeti brez povezave, da bi preprečili> 90% uporabnikov se povezuje z omrežjem.
Ko so vsi "pseudo-centralizirani" zagonske vozlišča izginili, notranja vozlišča DHT, ki se ne zaganjajo, ker nihče na zunanji strani DHT ne pozna notranjih vozlišč , so neuporabni;ne morejo prinesti novih vozlišč v DHT.Torej, ker se vsako notranjo vozlišče s časom odklopi iz DHT-ja, bodisi zaradi ljudi, ki zaprejo svoje računalnike, pri ponovnem zagonu za posodobitve itd., Bi omrežje propadlo.
Seveda bi lahko kdo poiskal popravljenega BitTorrent odjemalca z novim seznamom vnaprej določenih stabilnih DHT vozlišč ali naslovov DNS in glasno oglaševal v skupnost P2P, da bi namesto tega uporabil ta novi seznam. Toda to bi postalo "udarec-a-mol" situacija, ko bi agresor( vozlišče-eater) postopoma sam prenesel te sezname in usmeril na pogumne nove vozlišča za zagon, nato pa jih prevzel tudi brez povezave.
Ne samo, da smo se naučili odgovora na prvotno vprašanje, ampak smo se tudi malo naučili o naravi sistema BitTorrent in njegovih ranljivosti.
Ali želite dodati nekaj pojasnila? Zvok v komentarjih.Želite prebrati več odgovorov od drugih uporabniških članov stack Exchange? Oglejte si celotno temo za razpravo tukaj.