Сетевой протокол (общие сведения) и программы клиенты BitTorrent.
BitTorrent «битовый поток» - пиринговый (P2P) сетевой протокол для кооперативного обмена файлами через Интернет.
![](http://img15.nnm.ru/5/8/4/2/0/3ab1575bdc1088761c44a5afe79_prev.jpg)
BitTorrent - механизм распространения фaйлов при котором более одного человека загружают файл одновременно. Они обмениваются небольшими частями файла/ов друг с другом, снимая таким образом нагрузку с центрального сервера. Основной особенностью сетей BitTorrent является высокая скорость скачивания фaйлов больших размеров (фильмы, CD и DVD образы дисков и т.д.).
Закачка обычным способом:
![](http://img15.nnm.ru/3/5/1/e/d/de646f03b37fb32037246a7ba1a.jpg)
Даже при большом количестве одновременно подключенных клиентов, нагрузка на центральный сервер остается достаточно малой, так так каждый новый загружающий предоставляет свой обратный канал для остальных. Чем больше пользователей станут скачивать один и тот же файл, тем лучше! Этим и достигаются такие хорошие скорости, ведь все ресурсы этих пользователей одновременно направлены на получение единственного файла и на выдачу (upload) этого файла.
Закачка с помощью BitTorrent:
![](http://img12.nnm.ru/d/e/9/f/3/ef53982f3aad1e7a97a146a2dbd.jpg)
Протокол был создан Брэмом Коэном, написавшим первый torrent-клиент «BitTorrent» на языке Python в апреле 2001 года. Запуск первой версии состоялся 2 июля 2001 года.
Некоторая принятая терминология:
Трекер - это сервер, связывающий пользователей.
Сид / Раздающий - пользователь с полным файлом, дающий upload.
Пир / Личер - пользователь с неполным файлом, качающий и дающий upload неполного файла.
Bittorrent полностью соответствует современным требованиям к p2p протоколам. Есть многопоточная закачка, хешинг файла, разбивание файла на многочисленные кусочки (chop), выдача на upload еще недокаченного файла (по кускам) и 100% коррекция ошибок.
Существует множество самых разнообразных программ клиентов для обмена файлами по протоколу BitTorrent
![](http://www.feedburner.com/fb/images/pub/feed-icon32x32.png)