Фэндом


Файл:NewBitTorrentLogo.png
Основные протоколы TCP/IP

Прикладной уровень 
HTTP, SMTP, FTP, DHCP, SSH, IRC, SNMP, DNS,
IMAP, NNTP, SIP, SMTP, TELNET, BitTorrent, rlogin
Транспортный уровень 
TCP, UDP, SCTP, DCCP, RUDP
Сетевой уровень 
IPv4, IPv6, ARP, ICMP, IGMP
Канальный уровень 
Ethernet, 802.11 WiFi, Token ring, FDDI, PPP,
SLIP, ATM, DTM, Frame Relay, SMDS
Физический уровень 
RS-232, EIA-422, RS-449, EIA-485

BitTorrent — децентрализованный P2P-протокол, предназначенный для обмена файлами через интернет. BitTorrent был создан программистом Брэмом Коуэном (англ. Bram Cohen).

Отличительные черты Править

Общие особенности Править

  • Отсутствие очередей на закачку.
  • Файлы закачиваются небольшими, случайным образом выбранными сегментами.
  • Клиенты (peers) обмениваются сегментами непосредственно между собой, по принципу «ты мне, я тебе».
  • Закачанные сегменты становятся немедленно доступны другим клиентам.
  • Контролируется целостность каждого сегмента.
  • В качестве объекта закачки могут выступать несколько файлов (например, содержимое каталога).

Терминология Править

Доступность англ. availability (также distributed copies) Количество полных копий файла, доступных клиенту. Каждый seed добавляет 1.0 к этому числу, поскольку они обаладают полной копией файла. ,те участники (peers) которые скачали только часть файла, увеличивают его доступность на столько, сколько ими уже скачанно. Однако, если несколько peer'ов скачали одинаковые части, то доступность от этого не увеличивается. К примеру, если у двух peer'ов скачано 50% и скачанные части равны между собой, и есть один seed, то доступность равна 1.50

Файл метаданных Править

Bittorrent не имеет системы поиска: для каждого распространяемого файла создаётся файл метаданных с расширением torrent, который содержит следующую информацию:

Файлы метаданных могут распространяться через любые каналы связи — например, эти файлы (или ссылки на них) могут выкладываться на веб-серверах, размещаться на домашних страницах пользователей сети, рассылаться по электронной почте, публиковаться в блогах или новостных лентах RSS.

Клиент начинает закачку, получив каким-либо образом файл с метаданными, в котором есть ссылка на трекер.

Трекер Править

Трекер (англ. tracker) — специализированный сервер, работающий по протоколу HTTP. Трекер нужен для того, чтобы клиенты из разных сетей могли найти друг друга. Фактически, на трекере хранятся IP-адреса клиентов и хэш-суммы, уникальным образом идентифицирующие объекты, участвующие в закачках. По стандарту, имена файлов на трекере не хранятся, и узнать их по хэш-суммам нельзя. В практических реализациях, однако, трекер часто, помимо своей основной функции, выполняет и функцию небольшого веб-сервера. Такой сервер предоставляет статистику закачек по разным файлам, хранит файлы метаданных, показывает текущее количество подключенных пиров и пр.

Работа без трекера Править

В новых версиях протокола были разработанны безтрекерные системы (trackerless), которые решают некоторые из предыдущих проблем. Отказ трекера в таких системах не приводит к автоматическому отказу всей сети.

Начиная с версии 4.2.0 официального клиента в нем реализована функция безтрекерной работы, базирующаяся на протоколе Kademlia. В таких системах трекер доступен децентрально, на клиентах, в форме распределенной хеш-таблицы (Distributed Hash Table).

На данный момент еще не все клиенты используют совсемтимый друг с другом протокол. Совместимы BitComet, µTorrent, KTorrent и официальный клиент.

Используемые порты (ТСР и UDP) Править

  • Порты 6881—6889 — входящие порты клиентов.
  • Порт 6969 — входящий порт трекера.

Номера портов не фиксированы в спецификации протокола и могут изменятся при необходимости.

Super seeding Править

Super seeding является особенностью некоторых клиентов BitTorrent, которые пытаются минимизировать объем данных до первого завершения загрузки пира. Эта было задумано Джоном Хофманом и сначала было осуществлено на клиенте BitTornado в середине 2003г. Эта особенность должна использоваться только когда есть только один сидер. Super seeding является изменением в поведении сидеров и не может быть осуществлен без нарушения протокола BitTorrent. Тем не менее, это не утверждается ни разработчиком протокола, Брэмом Коэном, ни на официальном клиенте.

Принцип работы протокола Править

Файл:Torrentcomp small.gif

Перед началом закачки клиент подсоединяется к трекеру и получает IP-адреса других клиентов, у которых есть нужный файл. После этого, клиенты подсоединяются друг к другу (используя протокол TCP или UDP), и обмениваются сегментами файлов и служебными данными без непосредственного участия трекера. Для эффективной работы сети BitTorrent необходимо, чтобы как можно больше клиентов были способны принимать входящие соединения. Неправильная настройка NAT или файрвола могут этому помешать.

Обмен сегментами ведется по принципу «ты мне, я тебе» симметрично в двух направлениях и в случайном порядке. Клиенты периодически сообщают друг другу об имеющихся у них сегментах. Обмен данными начинается, когда обе стороны в нем заинтересованы, то есть каждая из сторон имеет сегменты, которых нет у другой. Количество переданных сегментов подсчитывается, и, если одна из сторон обнаруживает, что передает в среднем больше, чем принимает, она блокирует (англ. choke) отдачу. Таким образом в протокол заложена защита от «личеров» (англ. leechers) — клиентов, которые только скачивают данные и не отдают ничего взамен.

При получении полного файла, клиент переходит в специальный режим работы, в котором он только отдает данные (англ. seed). Правила блокировки, описанные выше, в этом режиме не действуют.

Клиенты периодически информируют трекер об изменениях в состоянии закачек и обновляют списки IP-адресов.

Структура трафика Править

Как и в других P2P-протоколах, трафик протокола BitTorrent можно разделить на

  1. служебный трафик.
  2. закачиваемые/отсылаемые данные.

Программы-клиенты Править

Файл:Azureus screenshot.png

Интернет-браузер Opera поддерживает закачку торрентов непосредственно, для работы с другими браузерами нужен специальный клиент.

Некоторые популярные клиенты:

См также Править

Ссылки Править

Обнаружено использование расширения AdBlock.


Викия — это свободный ресурс, который существует и развивается за счёт рекламы. Для блокирующих рекламу пользователей мы предоставляем модифицированную версию сайта.

Викия не будет доступна для последующих модификаций. Если вы желаете продолжать работать со страницей, то, пожалуйста, отключите расширение для блокировки рекламы.

Также на Фэндоме

Случайная вики