1Sep

Kā Bittorrent klients sākotnēji atklāj savus vienaudžus?

click fraud protection

Kad jūsu torrenta klients pievienojas tam, lai dalītos un apkopotu failu gabalus, kā tieši tā zina, kur ir visi tā vienaudži? Lasiet tālāk, kad mēs pieturamies mehānismu iekšpusē, kas atrodas BitTorrent protokola apakšpusē.

šodienas jautājums &Atbildes sesija mums priecājas par SuperUser - Stack Exchange, kas ir kopienas un Q & A tīmekļa vietņu grupa.

Jautājums

SuperUser lasītājs Steve V. bija ļoti specifisks jautājums par Distributed Hash tabulu( DHT) sistēmu BitTorrent protokolā:

Esmu jau izlasījis šo SuperUser atbildi un šo Wikipedia rakstu, bet abi ir pārāk tehniski, lai es tiešāmaptiniet manu galvu apkārt.

Es saprotu ideju par tracker: klienti izveido savienojumu ar centrālo serveri, kas uztur riņķu sarakstus.

Es arī saprotu ideju par vienādranga apmaiņu: klienti, kuri jau ir pietecuši, izsūta pilnīgu savu vienaudžu sarakstu viena otrai. Ja tiek atklāti jauni vienaudži, tie tiek pievienoti sarakstam.

Mans jautājums ir, kā DHT darbojas? Tas ir, , kā jaunais klients var pievienoties zobenim bez izsekotāja vai vismaz viena zaru locekļa zināšanas, lai apmainītos ar vienaudžiem?

instagram viewer

( Piezīme: visvienkāršāki paskaidrojumi ir vislabāk.)

Viņa jautājums savukārt lika patiesi detalizētu atbildi par dažādajām BitTorrent sistēmas funkcijām;apskatīsim to tagad.

Atbilde

SuperUser atbildīgais Allquixotic piedāvā padziļinātu skaidrojumu:

Kā jaunais klients var pievienoties spraudele, neveicot izsekošanu, vai zināšanas vismaz vienam plēves dalībniekam, lai apmainītos ar vienaudžiem?

Jūs nevarat. Tas nav iespējams. *

* ( ja vien jūsu lokālā tīkla mezgls jau nav DHT mezgls, šajā gadījumā jūs varētu izmantot apraides mehānismu, piemēram, Avahi, lai atklātu šo peer, un no tiem sākat strap. Ar kā viņi bootstrap sevi? Galu galā, jūs hit situāciju, kad jums ir nepieciešams, lai izveidotu savienojumu ar publisko internetu. Un publiskais internets ir unicast-tikai, nevis multicast, tāpēc jūs esat iestrēdzisizmantojot iepriekš noteiktus vienaudžu sarakstus.)

Atsauces

Bittorrent DHT tiek īstenots, izmantojot protokolu, kas pazīstams kā Kademlia, kas ir īpašs gadījums ar Distributed hash tabulas teorētisko koncepciju.

ekspozīcija

Izmantojot Kademlia protokolu, kad pievienojat tīklam, jūs izmantojat startēšanas metodi, kas pilnīgi prasa, lai jūs jau zināt, iepriekš , IP adresi un portu, kurā ir vismaz viens mezgls, kas jau piedalās DHT tīklā.Piemēram, tracker, ar kuru izveidojat savienojumu, pats var būt DHT mezgls. Kad esat izveidojis savienojumu ar vienu DHT mezglu, pēc tam veicat DHT informācijas lejupielādi, kas nodrošina jums savienojamības informāciju vairākām mezglām, un pēc tam pārvietojieties, izmantojot šo "diagrammas" struktūru, lai iegūtu savienojumus ar vairāk un vairāk mezgliem, kuri var nodrošināt abussavienojamība ar citiem mezgliem un dati par kravnesību( lejupielādes gabali).

Es domāju, ka jūsu faktiskais jautājums treknrakstā - tas, kā pievienoties Kademlia DHT tīklam, nezinot jebkuru citu lietotāju, ir balstīts uz kļūdainu pieņēmumu.

Vienkārša atbilde uz jūsu jautājumu treknrakstā ir, jums nav .Ja jūs nezināt par jebkuru informāciju par pat vienu saimniekdatoru, kas varētu saturēt DHT metadatus, jums ir iestrēdzis - jūs pat nevarat sākt darbu. Es domāju, protams, jūs varētu brutāli mēģināt atklāt IP publisko internetu ar atvērtu portu, kas notiek, lai pārraidītu DHT informāciju. Bet visticamāk, jūsu BT klients ir cietā koda ar kādu noteiktu statisku IP vai DNS, kas atgriežas stabilā DHT mezglā, kas tikai nodrošina DHT metadatus.

Būtībā DHT ir tikai decentralizēta kā pievienošanās mehānisms, un tāpēc, ka savienošanas mehānisms ir diezgan trausls( nav iespējams "pārraidīt" visā internetā), tāpēc jums ir nepieciešams unicast atsevišķam iepriekš piešķirtam uzņēmumamiegūt DHT datus), Kademlia DHT nav patiešām decentralizēta. Nav precīzākā vārda izpratnē.

Iedomājieties šo scenāriju: kāds, kurš vēlas P2P pārtraukt izdzēst, sagatavo uzbrukumu visiem parasti izmantotajiem stabilajiem DHT mezgliem, kurus izmanto sāknēšanas operācijai. Kad viņi ir uzlikuši uzbrukumu, visi mezgli to uzreiz uzliek . Wham ;katrs bootstrapping DHT mezgls ir uz leju visi vienā kritās. Ko tagad? Jūs esat iestrēdzis, pievienojot centralizētus izsekotājus , lai lejupielādētu tradicionālos vienaudžu sarakstus no tiem. Nu, ja tie uzbrūk arī trackers, tad jūs patiešām, patiešām ir up creek. Citiem vārdiem sakot, Kademlia un viss BT tīkls ir ierobežots ar paša interneta ierobežojumiem, jo ​​pastāv ierobežots( un salīdzinoši neliels) datoru skaits, kuru jums vajadzētu veiksmīgi uzbrukt vai veikt bezsaistē, lai novērstu & gt90lietotāju% no savienojuma ar tīklu.

Kad "pseido-centralizētie" bootstrapping mezgli ir pazuduši, DHT iekšējie mezgli, kuri nav bootstrapping, jo neviens no DHT ārpuses nezina par iekšējiem mezgliem , nav lietderīgi;viņi nevar dot jaunus mezglus DHT.Tātad, tā kā katrs iekšējais mezgls laika gaitā atvienojas no DHT vai nu tādēļ, ka cilvēki, kas slēdz datoru, pārslēdz uz atjauninājumiem utt, tīkls sabruktu.

Protams, lai to apietu, kāds varētu izvietot ielīmēto BitTorrent klientu ar jaunu iepriekš noteiktu stabilu DHT mezglu vai DNS adrešu sarakstu un skaļi reklamēt P2P kopienu, lai tā vietā izmantotu šo jauno sarakstu. Bet tas varētu kļūt par "dauzīt-molu" situāciju, kad agresors( mezglu eater) pakāpeniski lejupielādētu šos sarakstus paši un mērķētu uz drosmīgajiem jaunajiem sāknēšanas mezgliem, pēc tam tos arī darītu bezsaistē.

Mēs ne tikai iemācījāmies atbildi uz sākotnējo jautājumu, bet arī nedaudz uzzinājām par BitTorrent sistēmas būtību un tās neaizsargātību.

Vai kaut kas jāpievieno paskaidrojumam? Skatieties komentāros. Vēlaties lasīt citas atbildes no citiem tehnoloģiju savvy Stack Exchange lietotājiem?Šeit skatiet pilnu diskusiju pavedienu.