1Sep

Kuidas kasutab Bittorrent klient esialgu oma eakaaslasi?

Kui teie torrent-klient ühineb jõuga failide jagamiseks ja kogumiseks, kuidas täpselt teada, kus kõik tema eakaaslased on? Loe edasi, kui me pistma ümber mehhanisme, mis on aluseks BitTorrent'i protokollile.

tänapäeva küsimus &Vastuste seanss tuleb meile viisakalt SuperUseriga - Q & A veebisaitide kogukonnapõhise grupi Stack Exchange jagunemisest.

Küsimus

SuperUser-lugeja Steve V.-le oli BitTorrent-i protokollis Distributed Hash tabeli( DHT) jaoks väga konkreetne küsimus:

Olen juba lugenud seda SuperUseri vastust ja seda Wikipedia artiklit, kuid mõlemad on minu jaoks liiga tehnilisedmurdke mu pea ümber.

Mõistan trajektoori ideed: kliendid ühendavad keskserveriga, mis hoiab emaettevõtjate nimekirja.

Mõistan ka vastastikuse vahetuse ideed: juba juba jõudnud kliendid saadavad teineteisele oma eakaaslaste täieliku nimekirja. Kui avastatakse uusi eakaaslasi, lisatakse need loendisse.

Minu küsimus on, kuidas DHT töötab? See tähendab, et -ga saab uus klient liituda jõega ilma jälgija või teadmisi vähemalt ühe risti liikme kohta, et vahetada oma eakaaslasi?

( Märkus: lihtsad selgitused on kõige paremad.)

Tema küsimus omakorda tõi kaasa tõeliselt üksikasjaliku vastuse BitTorrent süsteemi erinevate funktsioonide kohta;vaatame seda nüüd.

Vastused

SuperUseri toetajale Allquixotic pakub põhjalikku selgitust:

Kuidas saab uus klient liituda jõega ilma jälgija või teadmisi vähemalt ühe risti liikme kohta, et vahetada teismelisi?

Sa ei saa. See on võimatu. *

* ( Kui teie -i kohtvõrgu sõlm ei kuulu juba DHT-i sõlme, saate sel juhul kasutada sellist ringhäälingumehhanismi nagu Avahi, et seda võrku "avastada"ja nende alglaadimise kiirus. Aga kuidas käivitasid nad enda käivitamisel? Lõpuks jõuate olukorrani, kus peate ühendust avaliku Internetiga. Ja üldkasutatav Internet on ainulaadne, mitte multimeedium, nii et sa oled ummikuskasutades eelnevalt kindlaksmääratud eakaaslaste loendeid.)

viited

Bittorrent DHT rakendatakse protokolliga, mida nimetatakse Kademliaks, mis on jaotatud hashlaudade teoreetilise kontseptsiooni erijuhtum.

ekspositsioon

Protokolliga Kademlia, kui liitute võrku, käivitate käivitamisprotseduuri, mis kindlasti eeldab, et teate eelnevalt -d, IP-aadressi ja DHT-võrgu juba osaleva vähemalt ühe sõlme IP-aadressi ja porti. Näiteks tracker, mille abil saate ühenduse luua, võib olla ise DHT-sõlm. Kui olete ühendatud ühe DHT-sõlmega, siis jätkate DHT-i teabe allalaadimist, mis pakub teile rohkemate sõlmede jaoks ühenduvuse teavet, ja seejärel liikuge selle graafikarhitektuuriga, et saada ühendusi rohkemate võrkudega, kes saavad niiteiste võrkude ühenduvus ja koormate andmed( allalaadimise osad).

Ma arvan, et teie tegelik küsimus on rasvases kirjas - see, kuidas liituda Kademlia DHT-võrguga, ilma -d teadmata, on kõik teised liikmed - põhineb vale eeldusel.

Lihtne vastus teie küsimusele paksus kirjas on, ei ole sul .Kui te ei tea ühtegi üldist teavet isegi ühe hosti kohta, mis võib sisaldada DHT-i metaandmeid, on teil ummikus - te ei saa isegi alustada. Ma mõtlen kindlasti, võite jõuliselt jõudu proovida avaliku interneti IP-aadressi avada avatud DHT-i teabe edastamisega avatud porti. Kuid tõenäolisemalt on teie BT kliendil raske kodeeritud teatud konkreetsele staatilisele IP-le või DNS-ile, mis lahendab stabiilse DHT-sõlme, mis lihtsalt annab DHT-i metaandmeid.

Põhimõtteliselt on DHT ainult liitumismehhanismi puhul detsentraliseeritud ja kuna liitumismehhanism on üsna raputatud( pole võimalust "üle saata" kogu internetis), nii et teil peab olema unicast individuaalsele eelnevalt määratud serverilesaada DHT andmed), Kademlia DHT ei ole , on tõesti detsentraliseeritud. Mitte sõna kõige rangemas mõttes.

Kujutage ette, et see stsenaarium: keegi, kes soovib, et P2P lõpetaks, läheks välja ja valmistab rünnaku jaoks kasutama kõiki -ga tavaliselt kasutatavaid stabiilseid DHT-sõlme, mida kasutatakse alglaadimisel. Kui nad on oma rünnaku asetanud, juhivad nad -le kõiki kohe -sõlmede. Wham ;iga bootstrapping DHT sõlme on kõik ühe kukkumisega. Mis nüüd? Olete rihmaga ühenduses tsentraliseeritud jälgijatega , et alla laadida tavalistest eakaaslastest nimekirjad nendest. Noh, kui nad ründavad ka jälgijaid, siis olete tõesti tõesti up creek. Teisisõnu, Kademlia ja kogu BT võrk on piiratud interneti enda piirangutega, sest seal on piiratud arv( ja suhteliselt väike) arvuteid, mida peaksite ründama või võtma võrguühenduseta, et takistada & gt; 90% kasutajatest võrguga ühenduse loomiseks.

Kui pseudokontsentreeritud algkäivitussõlmed on kõik kadunud, ei ole DHT-i sisemised sõlmed, mis ei käivitata, sest keegi väljaspool DHT-i ei tunne interjööriõladest , on kasutu;nad ei saa tuua DHT-sse uusi sõlme. Niisiis, kuna iga interjöörisõlm katkestab aja jooksul DHT-i kas arvutite sulgemise tõttu, värskenduste taaskäivitamise jne eest, väheneb võrk.

Loomulikult võidakse seda teha, et keegi saaks parandatud BitTorrent-i kliendi uue eelnevalt kindlaksmääratud stabiilsete DHT-sõlmede või DNS-aadresside loendiga ja reklaamida P2P-i kogukonnale seda uut loendit kasutades. Kuid see muutuks olukorraks, kus agressor( node-eater) laadiks need loendid endid järk-järgult alla ja sihiks uusi järkjärgulisi käivitussõlme, seejärel võtaks need ka võrguühenduseta.

Mitte ainult ei õppinud vastust esialgsele küsimusele, vaid õppisime ka natuke BitTorrenti süsteemi ja selle haavatavuste olemust.

Kas teil on seletamiseks midagi lisada? Helistage kommentaarides. Kas soovite lugeda rohkem vastuseid teistelt tech-savvy Stack Exchange'i kasutajatelt? Tutvu täieliku arutelu teemaga siit.