Začátek
Jak funguje
Tvorba .torrentu
Obsah .torrentu
Komunikace s trackerem
Komunikace mezi klienty
Stahování dat
Provoz
Vylepšení
Zajímavosti
Situace v Čechách
Další p2p sítě
Software
Některé poznatky
Odkazy
Aplikace

Komunikace s trackerem

Tracker je služba na bázi http, která odpovídá na http get požadavky. Obvykle je dostupný na portu 6969. Zde je výčet parametrů, které jsou použity při komunikaci klienta s trackerem (klient -> tracker)

  • info_hash: 20 bytový SHA1 hash hodnoty info z .torrent souboru,
  • peer_id: řetězec obsahující unikátní ID klienta, který generuje klient na začátku komunikace,
  • port: číslo portu na kterém klient naslouchá; porty bittorentu jsou 6881 až 6889 (6999); klient si číslo vybírá z tohoto rozsahu,
  • uploaded: celkové množství uploadovaných dat,
  • downloaded: celkové množství downloadovaných dat,
  • left: počet bytů, které klient ještě musí stáhnout,
  • event:pokud je specifikován, musí mít hodnotu:
    • started: první požadavek na tracker musí obsahovat event = started,
    • stopped: musí být poslán trackeru, končí-li klient,
    • completed: musí být poslán trackeru je-li download kompletní.
  • ip (volitelné): skutečná IP adresa klienta. Používá se není-li IP adresa odkud přišel požadavek stejná s IP adresou klienta.
  • numwant (volitelné): počet dalších klientů (peerů), které chce klient od trackeru. Standardně 50.

Tracker s klientem komunikuje pomocí následujících parametrů (formát je text/plain):

  • failure reason: pokud se vyskytuje, odpověď nebude obsahovat žádné další parametry. Vrací normálně čitelný řetězec popisující, proč se požadavek nezdařil.
  • interval: doba čekání (v sekundách) mezi periodickými požadavky na tracker,
  • complete: počet seedů (tzn. klientů vlastnících kompletní soubor),
  • incomplete: počet peerů (tzn. klientů nevlastnících kompletní soubor),
  • peers: seznam klientů, každý náznam obsahuje
    • peer_id: viz výše ,
    • ip: ip adresa (IPv6 nebo IPv4) nebo DNS záznam (řetězec),
    • port: port na kterém naslouchá.
    seznam obvykle obsahuje 50 záznamů (viz parametr numwant)

Předchozí Další