Особенности сети Bit Torrent
От
аналогичных P2P-протоколов BitTorrent отличается тем, что не имеет
системы поиска: для каждого распространяемого файла создаётся файл с
расширением torrent, который содержит информацию о распространяемом
файле. Данный torrent-файл может распространяться через любые каналы
связи например, списки torrent-файлов могут выкладываться на
специализированных веб-серверах, размещаться на домашних страницах
пользователей сети, рассылаться по электронной почте, публиковаться в
блогах или новостных лентах RSS. Сам torrent-файл содержит
метаинформацию (к примеру, хэш-сумму, адрес трекера, и так далее) о
распределяемых данных. Данные распределяются при помощи собственного
коммуникационного протокола на базе TCP/IP.
Основной принцип
работы протокола: раздача файла полностью контролируется трэкером (адрес
которого находится в torrent-файле), поэтому пользователь, качающий
себе файл (он называется личер) сам начинает раздавать, как только
скачивает первую пригодную для этого часть. Кооперативное поведение
пользователей заложено в самой архитектуре протокола, а эгоистичное
невозможно в принципе.
Принцип работы Bit Torrent
Архитектура
BitTorrent предусматривает наличие у файла, выкладываемого в сеть,
единственного владельца, который и заинтересован в его распространении.
Именно первоначальный обладатель файла генерирует torrent-файл. Клиент, в
свою очередь, загружает файл (на HTTP, FTP или просто раздаёт каким
либо образом) с расширением torrent, где содержится информация об адресе
владельца в интернете, имени и размере нужного файла, а также его хеш.
Это всё необходимо для отслеживания хода процесса, контроля над ним и
ликвидации возможности загрузки пользователями неполного или пустого
файла. Далее нужный торрент-файл открывается клиентом BitTorrent,
BitComet, uTorrent, Shareaza, Azureus, BitTornado или любым другим
torrent-клиентом и при наличии ресурсов начинается загрузка конечного
файла.
Пользователи-"эгоисты"
Залогом успеха
любой пиринговой сети является правило, требующее от пользователей не
только загрузки файлов, но и предоставление их другим. Между тем, в силу
разных причин (в основном, связанных с оплатой каналов), весьма часто
пользователи предпочитают как можно быстрее загрузить файл и
отключиться, несмотря на то, что в правила этикета записана просьба
поделиться с другими пользовательми. Это снижает количество доступных
источников для других, из-за чего страдают стабильность и качество сети.
В Bit Torrent предусмотрен особый метод борьбы с
«эгоистами» (англ. leechers, личерами, «пиявками»), который предполагает
рейтинг пользователей, где самые «щедрые» получают приоритет на чужих
серверах, а те, кто «делиться» не желают, при загрузке популярного файла
уходят в конец очереди. Если в Kazaa без труда можно было повлиять на
свой рейтинг, то в BitTorrent это пока невозможно.
Неполные файлы
Участие в системе обмена tracker-сервера дало программистам Bit Torrent
возможность внедрить алгоритм, предотвращающий появление неполных
файлов. Поскольку tracker хранит информацию о сегментах, успешно
загруженных на каждую машину, то загрузка файла новыми клиентами
принудительно начнётся с наиболее редкого сегмента. Если клиент
BitTorrent загружает крупный файл, разбитый на 200 частей, то это совсем
не означает, что процесс начнётся с сегмента № 01 и закончится
сегментом № 200. Клиент всегда получает сегмент, занимающий последнее
место по распространённости, что в идеале после 200 подключений к
центральному серверу даст возможность выложить в пиринговую сеть файл
целиком. Видео обзор
|