Торренты: краткая информация, терминология, преимущества

Терминология

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

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

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

Общие особенности:

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

Файл метаданных

Для каждого распространяемого файла создаётся файл метаданных с расширением .torrent, который содержит следующую информацию: URL трекера, общую информацию о закачиваемом файле (имя, длину и пр.), контрольные суммы (точнее, хэш-суммы SHA1) сегментов закачиваемого файла.

Добавить комментарий