BitTorrent
BitTorrent — пиринговый протокол, который позволяет очень быстро распространять объёмные файлы и каталоги среди участников. BitTorrent был создан американским программистом Брэмом Кохэном.
BitTorrent полностью соответствует современным p2p требованиям: многопоточная закачка, хешинг файла, разбивание файла на многочисленные куски, выдача на обмен еще недокачанного файла (его частей), 100% коррекция ошибок. Но главное, что привлекает пользователей в BitTorrent'e — это скорости. Битторент на сегодня считается самым быстрым протоколом файлообмена.
История и значение[править | править код]
По данным американской органицации CableLabs на протокол BitTorrent проходится 18% всего трафика Интернета. В 2004 году другая организация CacheLogic оценила долю BitTorrent-трафика вообще в 35%(разница связана с методикой оценки). Эти огромные цифры отчетливо демонстрируют, что Интернет успешно обходит копирайтные препоны и подпольный антикопирайт процветает в сети не смотря на репрессии.
Форпосты BitTorrent'а[править | править код]
Крупнейшими хранилищами торрентов интренета являются сайты Mininova и The Pirate Bay, последний также является крупнейшим BitTorrent трекером.
Терминология[править | править код]
- Основная статья терминология BitTorrent
- Личер (англ. leech — пиявка) — пир, не имеющий пока всех сегментов, то есть продолжающий скачивание. Термин часто употребляется и в негативном смысле, который он имеет в других файлообменных сетях: пользователь, который отдает гораздо меньше, чем скачивает.
- Пир (англ. peer — соучастник) — клиент, участвующий в раздаче. Иногда пирами называют только скачивающих участников.
- Сид, иногда сидер (англ. seeder — сеятель) — пир, имеющий все сегменты распространяемого файла, то есть либо начальный распространитель файла, либо уже скачавший весь файл.
- Трекер - сервер, помогающий клиентам находить друг друга.
Общие особенности[править | править код]
- Отсутствие очередей на скачивание.
- Файлы закачиваются небольшими сегментами; чем менее доступен сегмент, тем чаще он будет передаваться. Таким образом, присутствие в сети «сидера» с полным файлом для загрузки необязательно — система распределяет сегменты между «пирами», чтобы в последующем они могли обмениваться недостающими сегментами.
- Клиенты (peers) обмениваются сегментами непосредственно между собой, по принципу «ты — мне, я — тебе».
- Скачанные сегменты становятся немедленно доступны другим клиентам.
- Контролируется целостность каждого сегмента.
- В качестве объекта закачки могут выступать несколько файлов (например, содержимое каталога).
Протоколы и порты[править | править код]
Клиенты соединяются с трекером по протоколу TCP. Входящий порт трекера: 6969.
Клиенты соединяются друг с другом, используя протокол TCP. Входящие порты клиентов: 6881—6889.
Номера портов не фиксированы в спецификации протокола и могут изменяться при необходимости. Более того, в данный момент большинство трекеров используют обычный HTTP порт 80, а для клиентов рекомендуется выбрать случайный входящий порт.
DHT-сеть в BitTorrent-клиентах использует протокол UDP.
Кроме того, протокол UDP используется UDP-трекерами (не поддерживается всеми клиентами и не является официальной частью протокола) и для соединения клиентов друг с другом через UDP NAT Traversal (используется только в клиенте BitComet и не является официальной частью протокола).
Torrent файл[править | править код]
Для каждого распространяемого файла создаётся файл метаданных с расширением .torrent, который содержит следующую информацию:
- URL трекера;
- общую информацию о закачиваемом файле (имя, длину и пр.);
- контрольные суммы (точнее, хэш-суммы SHA1) сегментов закачиваемого файла.
Файлы метаданных могут распространяться через любые каналы связи: они (или ссылки на них) могут выкладываться на веб-серверах, размещаться на домашних страницах пользователей сети, рассылаться по электронной почте, публиковаться в блогах или новостных лентах RSS. Клиент начинает скачивание, получив каким-либо образом файл с метаданными, в котором есть ссылка на трекер.
Первоначально BitTorrent не имел собственной поисковой системы, но в мае 2005 года Брэм Коэн устранил этот недостаток.
Трекер[править | править код]
- Основная статья BitTorrent трекер
Трекер (англ. tracker; — специализированный сервер, работающий по протоколу HTTP. Трекер нужен для того, чтобы клиенты могли найти друг друга. Фактически, на трекере хранятся IP-адреса, входящие порты клиентов и хэш-суммы, уникальным образом идентифицирующие объекты, участвующие в закачках. По стандарту, имена файлов на трекере не хранятся, и узнать их по хэш-суммам нельзя. Однако на практике трекер часто помимо своей основной функции выполняет и функцию небольшого веб-сервера. Такой сервер хранит файлы метаданных и описания распространяемых файлов, предоставляет статистику закачек по разным файлам, показывает текущее количество подключенных пиров и пр.
Работа без трекера[править | править код]
В новых версиях протокола были разработаны бестрекерные (англ. trackerless) системы, которые решают некоторые из предыдущих проблем. Отказ трекера в таких системах не приводит к автоматическому отказу всей сети.
Начиная с версии 4.2.0 официального клиента, в нем реализована функция бестрекерной работы, базирующаяся на протоколе Kademlia. В таких системах трекер доступен децентрально, на клиентах, в форме распределенной хеш-таблицы.
На данный момент еще не все клиенты используют совместимый друг с другом протокол. Совместимы между собой BitComet, µTorrent, KTorrent и официальный клиент BitTorrent. Azureus также имеет режим бестрекерной работы, но его реализация отличается от официальной, вследствие чего он не может работать через DHT с вышеперечисленными клиентами.
Super seeding (cупер-сид)[править | править код]
Супер-сид — метод, реализованный в тех клиентах BitTorrent, авторы которых пытаются минимизировать объем данных до первого завершения загрузки пира. Метод был задуман Джоном Хофманом и впервые был осуществлен в клиенте «BitTornado» в середине 2003 г.
Супер-сид является изменением в поведении сидеров и не может быть осуществлен без нарушения протокола BitTorrent. Тем не менее, это не утверждается ни разработчиком протокола, Брэмом Коэном, ни в официальном клиенте.
Супер-сид действует, когда имеется только один сидер. Фактически, он заставляет пользователей делиться скачанными данными. Клиент, отдавший одному участнику какую-либо часть файла, прекращает передачу данных до тех пор, пока не обнаружит в сети вторую копию этой части. Поскольку многие участники не имеют возможности или не желают делать доступными для других скачанные данные, общая скорость отдачи падает. В обычном режиме же, в отличие от супер-сид, каждый всегда получает запрошенную информацию, если она имеется, поэтому в нем средняя скорость передачи данных выше.
Супер-сид эффективен при раздачах с большим количеством качающих. При небольшой группе людей (2—3 человека) их клиенты в силу разных причин могут отказаться устанавливать связь друг с другом. В этом случае включенный супер-сид заставит клиентов ждать, пока данные станут доступны. Когда число качающих велико (10—20 человек), достаточно отдать каждую часть файла только один раз, тогда клиенты смогут обменяться ею между собой, и каждый из них получит файл целиком.
Принцип работы протокола[править | править код]
Перед началом скачивания, клиент подсоединяется к трекеру, сообщает ему свой адрес и хэш-сумму запрашиваемого файла, на что в ответ, клиент получает адреса других клиентов, скачивающих или раздающих этот же файл. Далее клиент периодически информирует трекер о ходе процесса и получает обновленный список адресов.
Клиенты соединяются друг с другом и обмениваются сегментами файлов без непосредственного участия трекера. Для эффективной работы сети BitTorrent необходимо, чтобы как можно больше клиентов были способны принимать входящие соединения. Неправильная настройка NAT или файрвола могут этому помешать.
При соединении клиенты сразу обмениваются информацией об имеющихся у них сегментах. Клиент, желающий скачать сегмент, посылает запрос, и если второй клиент готов отдавать, получает этот сегмент. После этого клиент проверяет контрольную сумму сегмента и оповещает всех присоединенных пиров о наличии у него этого сегмента.
Каждый клиент имеет возможность временно блокировать отдачу другому клиенту (англ. choke). Это делается для более эффективного использования канала отдачи. Кроме того, при выборе — кого разблокировать, предпочтение отдается пирам, которые сами передали этому клиенту много сегментов. Таким образом, пиры с хорошими скоростями отдачи поощряют друг друга по принципу «ты — мне, я — тебе».
Программы-клиенты[править | править код]
Кроссплатформенные:
- Azureus — написан на языке Java, поэтому является кроссплатформенным;
- BitTornado — кроссплатформенный клиент, написанный на языке Python;
- FoxTorrent — расширение для браузера Mozilla Firefox, реализующее функции клиента BitTorrent;
- mlDonkey — кроссплатформенный клиент;
- Браузер Opera полностью поддерживает закачку торрентов, начиная с версии 9.0;
- TorrentFlux — написан на PHP, работает на удаленном Web-сервере как PHP-скрипт, позволяя не держать свой компьютер включенным постоянно, но при этом качать и раздавать торренты.
Для UNIX-подобных систем:
- BTPD — консольный клиент для Unix/GNU+Linux, написанный на C++; работает в режиме демона;
- CTorrent — консольный клиент для Unix/GNU+Linux, прекративший развитие в 2004 году;
- Deluge — клиент для GNU/Linux, написанный на языке Python; использует GTK;
- KTorrent — использует библиотеку Qt; работает в среде KDE;
- rTorrent — консольный клиент для UNIX/GNU+Linux, написанный на C++; использует библиотеки ncurses и libTorrent;
- Transmission — клиент для Mac OS X, FreeBSD, OpenBSD, NetBSD, GNU/Linux и BeOS, использующий GTK.
Для Windows и Windows NT:
- µTorrent;
- BitComet;
- FlashGet;
- GetRight.
- Shareaza — поддерживает работу с несколькими файлообменными сетями, в том числе и BitTorrent;
Для Mac OS:
См. также[править | править код]
Уголовное преследование в РФ[править | править код]
Хотя уголовное право в РФ не прецедентное, но поступают нехорошие "сигналы с мест" об уголовном преследовании пользователей BitTorrent см. Дело Абрамова.
Ссылки[править | править код]
- Официальная страница BitTorrent.
- Первоначальная спецификация протокола BitTorrent.
- Текущая спецификация протокола BitTorrent.
- Список провайдеров, запрещающих применение протокола BitTorrent
- How to cheat BitTorrent and why nobody does" David Hales + Simon Patarin
- Поиcк среди фальшивых торрентов, запущенных в Интернет разнообразными “антипиратскими” конторами. [1]
BitTorrent | |
---|---|
Понятия: | BitTorrent · Терминология BitTorrent · BitTorrent трекер · Торрент · BitTorrent DNA · BitTorrent, Inc. · Super-seeding |
Трекеры: | Demonoid · The Pirate Bay · Mininova · QuebecTorrent · Blackcats-games.net |
Русские: | Torrents.ru · Ru-Board BitTorrent-Tracker · FREE-TORRENTS.org (бывший Game-Torrent.Info) · Pirat.ca |
Поисковики: | TorrentSpy · Btjunkie · isoHunt · myBittorrent · Suprnova.org |
Люди: | Брэм Кохэн (Bram Cohen) · Ашвин Навин (Ashwin Navin) · Людвиг Стригеус (Ludvig Strigeus) |
Новости[править код]
- 28 декабря 2009 00:00:00, Италия. Блокировка торрентов в Италии стала законной
Блокировка торрентов в Италии стала законной.
Постановление Верховного cуда Италии гласит, что итальянских интернет-провайдеров можно обязать блокировать находящиеся за пределами страны трекеры, если те используются для распространения нелицензинных материалов.
Разместил WikitraditioBitTorrent, Материалы Антикопирайта, Борьба за копирайт - 21 декабря 2009 00:00:00, Калифорния. Суд США признал виновным в пиратстве владельца IsoHunt
Калифорнийский суд признал виновным в пиратстве владельца поисковика по торрент-трекерам IsoHunt Гари Фанга
Этот сайт позиционировал себя как поисковой ресурс, аналогичный Google, то есть как чистый поисковик, не содержащий никакого собственного контента.
Это не помешало правообладателям нападать на него в судах, что, в итоге, привело к окончательному закрытию сайта в 2013 году.
Разместил WikitraditioBitTorrent, Материалы Антикопирайта, Борьба за копирайт - 7 июня 2008 00:00:00, Россия. BitTorrent трекеры PeeRat и NNM-Club прогнулись под 1С
БитТоррент трекеры PeeRat и NNM-Club прогнулись под 1С, однако нашёлся вариант!Разместил WikitraditioМатериалы Антикопирайта, BitTorrent-трекеры
- 8 мая 2008 00:00:00, США. Американский суд оштрафовал поисковик TorrentSpy на 111 миллионов долларов
Американский суд оштрафовал поисковик TorrentSpy на 111 миллионов долларов, тем самым полностью их обанкротив. Резюме этой истории, наверно, таково: хорошие сайты должны хостится в хороших местах.Разместил WikitraditioBitTorrent, Материалы Антикопирайта, Борьба за копирайт, Поисковые системы Интернет
- 28 марта 2008 00:00:00, США. Американский провайдер Comcast обещает прекратить фильтрацию трафика BitTorrent
Американский провайдер Comcast обещает прекратить фильтрацию трафика BitTorrent. Ранее они вообще не признавались в фильтрации.Разместил WikitraditioBitTorrent, Материалы Антикопирайта, Сетевой нейтралитет, Comcast, Интернет-доступ в США
- 28 марта 2008 00:00:00, США. TorrentSpy окончательно закрылся
TorrentSpy окончательно закрылся. Владельцы говорят, что более не в силах вести бесконечные судебные тяжбы c MPAA.Разместил WikitraditioBitTorrent, Материалы Антикопирайта, Поисковые системы Интернет
- 19 февраля 2008 00:00:00, Интернет. Demonoid снова в строю!