# BitTorrent (protokoll)

Logoja e BitTorrent
**BitTorrent**  është një protokoll për shpërndarje të skedave (fajllave) peer-to-peer (P2P) i përdorur për distribuimin e sasive të mëdha të të dhënave (data). BitTorrent është një nga protokollet më të shpeshta për transferimin e fajllave të mëdha, dhe përbën rreth 35% të trafikut në të gjithë Internetin.

Protokolli fillon kur një provajder (personi që ofron fajllin) e krijon fajllin e tij (ose grupin e fajllave) si *seed* (në përkthim të drejtpërdrejt "farë") të parë, që lejon shfrytëzuesit e e tjerë, që quhen *peers*, të shkarkojnë të dhënat e tyre. Secili peer që shkarkon të dhëna gjithashtu i ngarkon ato tek peers të tjerë dhe shtyhet të vazhdojë të mundësojë të dhënat edhe pasi të ketë përfunduar shkarkimin, duke u bërë "seeder", pra duke ofruar "fara" të tjera. Për shkak të kësaj, BitTorrent është tejet efikas. Një farë nevojitet për të filluar shpërndarjen e fajllave mes shumë përdoruesve (peers). Numri më i madh i seederëve shton mundësinë e një lidhjeje të suksesshme. E ngjajshme me "Internet hosting, kjo ofron zbritje të madhe në shpenzimet e resurseve për harduer dhe bandwidth të distributorit origjinal. Ajo gjithashtu zvogëlon mundësinë e problemeve me sistemin dhe ul varësinë nga distributori origjinal.

Programeri Bram Cohen dizajnoi protokollin në Prill 2001 dhe e lëshoi implementimin e parë më 2 Korrik, 2001. Momentalisht mirëmbahet nga kompanie e Cohenit BitTorrent, Inc. Ekzistojnë shumë BitTorrent client për platforma të ndryshme kompjuterike.
Sipas isoHunt, sasia totale e materialit të shpërndarë është momentalisht mbi 1.1 petabytes.

## Funksionimi

Në këtë animacion, topat me ngjyra poshtë 7 klientëve paraqesin pjesë individuale të fajllit. Pasi pjesët fillestare t% transferohen nga *fara* (seed) (sistemi i madh poshtë), pjesët transferohen individualisht nga një klient në tjetrin.*Seederi* origjinal duhet thjeshtë të dërgojë një kopje dhe gjithë klientët e tjerë mund të marrin nga një.
Një BitTorrent klient është çdo program që implementon protokollin BitTorrent. Secili klient mund të përgatis, kërkojë, dhe transmetojë çdo lloj fajlli kompjuterik përmes një rrjeti, duke përdorur këtë protokoll. Një *peer* është çdo kompjuter që operon një program të tillë.

Për të shpërndarë një fajll ose grup të tyre, një peer së pari krijon një fajll të vogël që quhet "torrent" (p.sh. MyFile.torrent). Ky fajll përmban metadata rreth fajllave që do të shpërndahen dhe rreth trackerit, kompjuterit që koordinon distribuimin e fajllit. Peers-at që dëshirojnë të shkarkojnë fajllin së pari duhet të sigurojnë një torrent file për të, dhe pastaj të lidhen me trackerin e caktuar, që i tregon nga cilat peers të tjerë të shkarkojë pjesët e fajllit.

Megjithëse të dyja transferojnë fajlla përmes një rrjeti, një shkarkim BitTorrent dallon nga kërkesa klasike "fajll i plotë" (full-file) HTTP në disa mënyra fundamentale:

* BitTorrent krijon shumë kërkesa të vogla të të dhënave përmes TCP sockets të ndryshme, derisa shfletuesit e rrjetit (web-browsers) bëjnë një kërkesë të vetme "HTTP GET" përmes një TCP socket të vetme.
* BitTorrent shkarkon në mënyrë të rastësishme ose "rarest-first" (më e rralla në fillim) që siguron efikasitet më të lartë, derisa HTTP shkarkon në mënurë sekuencore.

Marrë së bashku, këto dallime lejojnë BitTorrent të arrijë shpenzime më të vogla pravajderit, kursim më të lartë, dhe rezistencë më të madhe ndaj abuzimit ose nfaj "Efektit Slashdot" se një HTTP server i zakonshëm. Sidoqoftë, kjo mbrojtje vjen nën një kusht: shkarkimet mund të marrin kohë të ngritën në shpejtësi maksimale sepse mund të marrë kohë derisa të lidhen mjaft peers, dhe gjithashtu merr kohë derisa një node merr të dhëna të mjaftueshme për t'u bërë ngarkues (uploader) efektiv. Për këtë arsye, një shkarkim tipik BitTorrent gradualisht do të ngritet në shpejtësi të lartë, dhe pastaj do të bie përsëri ngadalë kah fundi i shkarkimit. Kjo dallon nga një HTTP server , i cili, megjithëse më i prekshëm ndaj abuzimit apo mbingarkesës, arrin shpejtësinë maksimale mjaft shpejt dhe e ruan atë.

Në përgjithësi, metodat jo të ngjituar të shkarkimit nuk e kanë lejuar atë të përkrahë "progressive downloads" ose "streaming playback". Por komentet e bëra nga Bram Cohen në Janar 2007 sugjerojnë se shkarkimet "streaming" të torrentëve së shpjeti do të bëhen të mundura dhe streaming me përkrahje të marketingut duket të jetë rezultat i atyre komenteve.

## Shih gjithashtu

* BitTorrent (kthjellim)

## Referime