Torrent (format de fișier)

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Torent
Extensie .torrent
Tip MIME application/x-bittorrent
Standard BEP-0003

Torrent este extensia de fișiere a BitTorrent , un protocol peer-to-peer (P2P) care permite distribuirea și partajarea fișierelor pe internet . [1] [2] [3]

Funcție și caracteristici

Funcția acestui tip de fișier este de a partaja conținut personal. De fapt, fiecare utilizator își poate crea și publica propriul torrent . Răspândirea fișierelor .torrent a avut loc în paralel cu răspândirea în bandă largă ( ADSL ).

Din punct de vedere tehnic, .torrents sunt fișiere mici care, deschise cu programe speciale , conduc la descărcarea conținutului stocat pe computerul persoanelor care partajează fișierul. Acestea sunt fișiere binare, care conțin toate informațiile de referință ale fișierului de descărcat și partajat.

Codificarea utilizată pentru fișierele torrent se numește Bencode .

Codificare Bencode

Bencode este o codificare derivată din XML , deși sintaxa sa este complet diferită. De fapt, Bencode are scalabilitatea, includerea și extensibilitatea completă a unui document XML, dar permite salvarea caracterelor (și, prin urmare, a octeților în transmisie) pentru a codifica informațiile. [4]

Cele patru tipuri de bază ale codului Bencode sunt dicționarul , lista , numărul întreg și șirul . Spre deosebire de XML, tipul întreg este separat de tipul șirului. Un dicționar și o listă pot conține un număr infinit de elemente de orice natură, în timp ce numărul întreg și șirul nu pot conține alte elemente.

  • Codificare șir

Un șir XXXXX este codificat ca l: XXXXX , unde l este lungimea în caractere a șirului.

Exemple:

 foo => 3: foo
bar => 3: bar
spam => 4: spam
ouă => 4: ouă
Hello World => 10: Hello World
  • Codificarea întregului

Un număr întreg Y este codificat ca iYe.

Exemple:

 8 => i8e
765 => i765e
  • Dicționar coding

Un dicționar constă dintr-o serie de elemente identificate fiecare printr-un șir. Elementele nu au restricții de tip. Pot fi și dicționare. Un dicționar cu un element XYZ => ABC, care indică (ABC) codul B al elementului, este reprezentat de șirul d3: XYZ (ABC) e . Caracterul e este un terminator.

Exemple:

 {
 nume de fișier => fișierul meu.txt
 dimensiune => 76500
 atribute => {
                readonly => 1
                ascuns => 0
               }
}
echivalentă cu
d8: nume de fișier11: fișierul meu.txt4: sizei76500e10: atribute d8: readonlyi1e6: hiddeni0eee
  • Codarea listei

O listă începe cu caracterul l și se termină cu caracterul e . Elementele sunt aranjate în ordinea lor, fiecare în codul său respectiv.

Exemplu:

 {
 foo
 bar
 spam
 {
  salut => lume
  num => 5
 }
}
echivalentă cu
l3: foo3: bar4: spamd4: hello5: world3: numi5eee

Fișierul torrent

Fișierul torrent, așa cum s-a văzut deja, conține informațiile necesare pentru a identifica și descărca un fișier de pe Internet în deplină siguranță. Este un fișier text care conține codificarea Bencode a unui singur dicționar mare, care la rândul său conține datele (și sub formă de dicționare) care identifică torrentul.

Următoarele elemente fac parte din protocolul standard și includ cele mai recente extensii [5] : (cele cu caractere aldine sunt cerute de protocolul standard)

  • announce (șir): adresa URL a trackerului codificată ca șir ASCII
  • listă de anunțuri (listă): extensia protocolului la Multitracker. Dicționarul de anunțuri este încă necesar pentru compatibilitatea cu versiunile anterioare
  • data creației (întreg): data creației codificată ca marcaj de timp Unix
  • comentariu (șir): un comentariu la Torrent codificat ca un șir ASCII
  • creat de (șir): program care a generat Torrentul
  • info (dicționar): dicționar principal care descrie conținutul Torrentului.

Elementele sale pot varia dacă torrentul constă din unul sau mai multe fișiere

În cazul unui singur fișier:

  • lungime (întreg): dimensiunea fișierului în octeți
  • md5sum (șir): amprenta MD5 a fișierului pentru o mai bună identificare
  • nume (șir): numele fișierului în format ASCII (numele UTF-8 și Unicode cauzează probleme de codificare)

În cazul arhivării cu mai multe fișiere:

  • fișiere (listă): lista fișierelor conținute în Torrent
    • (dicționar): fiecare fișier este reprezentat de un dicționar cu următoarea structură:
      • lungime (întreg): dimensiunea fișierului în octeți
      • md5sum (șir): amprenta MD5 a fișierului pentru o mai bună identificare
      • cale (listă): listă de șiruri care vă permite să reconstruiți calea fișierului luând elementele ordinii lor
        • (șir): ultimul element reprezintă numele și extensia fișierului (exemplu: "Dir1", "Dir2", "File.ext" reprezintă Dir1 / Dir2 / File.ext)
      • lungimea piesei (întreg): lungimea în octeți a fiecărei părți în care este împărțit fișierul (fișierele)
      • piese (șir): șir care concatenează amprentele SHA1 ale fișierelor în format ASCII. Dacă șirul nu este multiplu de 20 în faza de creație, acesta se completează cu zerouri.

Notă

  1. ^ (EN) Extensie fișier TORRENT - Ce este un fișier torrent și cum îl deschid? , la fileinfo.com . Adus pe 14 iulie 2017 .
  2. ^ (EN) Extensia fișierului. Informații despre torrent pe pc.net. Adus pe 14 iulie 2017 .
  3. ^ Ce este un fișier TORRENT și cum deschideți unul? , în Lifewire . Adus pe 14 iulie 2017 .
  4. ^ Bencode - search.cpan.org , pe search.cpan.org . Adus pe 14 iulie 2017 .
  5. ^ (EN) Ian J. Taylor și Andrew Harrison, De la P2P și rețele la servicii pe web: comunități distribuite în evoluție - Ediția a doua , Springer, 2009, pp. 231-232. Adus pe 14 iulie 2017 .

Elemente conexe