Основний принцип роботи протоколу BitTorrent - це роздача файлу, який повністю контролюється трекером (адреса якого знаходиться в torrent-файлі), а користувач, який качає собі файл (він називається лічером) сам починає роздавати, як тільки викачує першу придатну для цього частину файлу. Кооперативна поведінка користувачів закладена в самій архітектурі протоколу, а егоїстична неможливо в принципі.
Принцип роботи
Архітектура BitTorrent передбачає наявність єдиного власника у файла, що викладається в інтернеті. Цей власник безпосередньо зацікавлений в його розповсюдженні. Саме первинний власник файлу генерує torrent-файл. Клієнт, в свою чергу, завантажує файл (на HTTP, FTP або просто роздає якимось чином) з розширенням torrent, де міститься інформація про адресу власника в глобальній мережі, ім'я та розмірі потрібного файлу, а також його хеш.
Це все необхідно для відстеження ходу процесу, контролю над ним і ліквідації можливості завантаження користувачами неповного або порожнього файлу. Далі потрібен торрент-файл, який відкривається клієнтом BitTorrent, BitComet, uTorrent, Shareaza, Azureus, BitTornado або будь-яким іншим torrent-клієнтом і при наявності ресурсів починається завантаження кінцевого файлу.
Користувачі-"егоїсти"
Запорукою успіху будь-якої пірингової мережі є правило, що вимагає від користувачів не тільки завантаження файлів, але і надання їх іншим користувачам. Тим часом, в силу різних причин (в основному, пов'язаних з оплатою каналів), вельми часто користувачі вважають за краще якомога швидше завантажити файл і відключитися, незважаючи на те, що в правила етикету записане прохання поділитися з іншими користувачами. Це знижує кількість доступних джерел для інших, через що страждають стабільність і якість мережі.
У BitTorrent передбачений особливий метод боротьби з «егоїстами» (англ. Leechers, лічерами, «п'явками»), який передбачає рейтинг користувачів, де самі «щедрі» отримують пріоритет на чужих серверах, а ті, хто «ділитися» не бажають, при завантаженні популярного файлу йдуть в кінець черги. Якщо в Kazaa без проблем можна було вплинути на свій рейтинг, то в BitTorrent це поки неможливо.
Неповні файли
Участь в системі обміну tracker-сервера дало програмістам BitTorrent можливість впровадити алгоритм, який запобігає появі неповних файлів. Оскільки tracker зберігає інформацію про сегменти, успішно завантажені на кожну машину, то завантаження файлу новими клієнтами примусово почнеться з найбільш рідкісного сегмента.
Якщо клієнт BitTorrent завантажує великий файл, розбитий на 200 частин, то це зовсім не означає, що процес почнеться з сегмента № 01 і закінчиться сегментом № 200. Клієнт завжди отримує сегмент, що займає останнє місце за поширеністю, що в ідеалі після 200 підключень до центрального сервера дасть можливість викласти в пірингову мережу файл цілком.
Клієнти мережі Bittorrent
На даний момент в інтернеті існує безліч клієнтів, що підтримують пірингову мережу Bittorrent. кожен з них має свої плюси, але так само і безліч своїх мінусів.
Найпопулярніші клієнти мережі Bittorrent:
- BitComet - на даний момент найкращий клієнт мережі Bittorrent. Має безліч функцій, налаштувань, вбудований пошук по сайтам-трекерам, вбудований браузер;
- uTorrent - аналогічний своєму попередникові BitComet, але більш легкий у функціях і настройках і вимагає набагато менше ресурсів комп'ютера;
- Azureus - дуже хороший Bittorent клієнт побудований на основі Java. Має досить великий вибір налаштувань та параметрів.
Джерело: http://torrent10.ru/.