Новости из мира высоких технологий

Как это работает? | BitTorrent

BitTorrent — это сетевой протокол для обмена файлами через Интернет. Он был создан американским программистом Брэмом Коэном, который написал первый torrent-клиент «BitTorrent» на языке Python в апреле 2001 года. Файлы по такому протоколу передаются частями, а каждый torrent-клиент, получая эти части, в то же время отдаёт их другим клиентам. Как же работает протокол BitTorrent — об этом в сегодняшнем выпуске!

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

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

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

Количество переданных сегментов подсчитывается, и если одна из сторон обнаруживает, что передаёт в среднем больше, чем принимает, она блокирует на некоторое время отдачу другой стороне. Это делается для более эффективного использования канала отдачи. При выборе кого разблокировать, предпочтение отдаётся клиентам, которые передали много сегментов.

Порядок обмена выбирается таким образом, чтобы сначала клиенты обменивались наиболее редкими сегментами: таким образом повышается доступность файлов в раздаче. Сами сегменты делятся на блоки размером от 16 до 4000 килобайт. Одновременно могут запрашиваться блоки из разных сегментов.

Когда скачивание почти завершено, клиент входит в режим, именуемый end game. Он запрашивает все оставшиеся сегменты у всех раздающих клиентов, что позволяет избежать замедления почти завершенной закачки.

При получении полного файла клиент становится сидом, то есть переходит в специальный режим работы, в котором он только отдаёт данные. Далее сид периодически информирует трекер об изменениях в состоянии торрентов и обновляет списки IP-адресов.


Источник: Как это работает? | BitTorrent
Опубликовал:
Теги: Это интересно видео Интернет Программирование game ip Python Блок

Комментарии (0)

Сортировка: Рейтинг | Дата
Пока комментариев к статье нет, но вы можете стать первым.
Написать комментарий:
Напишите ответ :
Закон Исполнения Желаний: что необходимо, чтобы он работал
Закон Исполнения Желаний: что необходимо, чтобы он работал
12
Страничка добра и сплошного жизненного позитива! 00:18 01 фев 2021
7 профессий для ленивых: кем работать, если совсем не хочется?
7 профессий для ленивых: кем работать, если совсем не хочется?
11
Страничка добра и сплошного жизненного позитива! 13:50 13 янв 2021
Как правильно вязать арматуру. Советы и лайфхаки. Как правильно вязать арматуру. Советы и лайфхаки.
Реально работающий способ заинтересовать мужчину
Реально работающий способ заинтересовать мужчину
22
Живи правильно 15:04 03 окт 2020
Кем могли стать звезды эстрады и шоумены, если бы работали по специальности
Кем могли стать звезды эстрады и шоумены, если бы работали по специальности
17
Страничка добра и сплошного жизненного позитива! 02:50 03 дек 2020
8 видов косметических средств, которые не работают несмотря на обещания брендов
8 видов косметических средств, которые не работают несмотря на обещания брендов
5
Страничка добра и сплошного жизненного позитива! 04:50 09 дек 2020
Работодатели вообще в курсе, что мы работаем ради денег, а не ради работы?
Работодатели вообще в курсе, что мы работаем ради денег, а не ради работы?
2
Здесь только хорошие новости! 01:00 15 окт 2020
Как работает диета 80/20, помогающая сбросить до 6 кг в месяц
Как работает диета 80/20, помогающая сбросить до 6 кг в месяц
10
Страничка добра и сплошного жизненного позитива! 13:50 22 окт 2020
Как работает Закон Дарения?
Как работает Закон Дарения?
46
Человек познаёт мир 22:10 23 сен 2018
Знакомая работает в ЗАГСе небольшого городка, иногда рассказывает такое...
Знакомая работает в ЗАГСе небольшого городка, иногда рассказывает такое...
11
Страничка добра и сплошного жизненного позитива! 06:20 05 ноя 2019
Мужик работал на стройке. Подборка анекдотов
Мужик работал на стройке. Подборка анекдотов
2
Здесь только хорошие новости! 12:35 09 сен 2018
Можно ли работать проституткой с такой фигурой?
Можно ли работать проституткой с такой фигурой?
3
Живи правильно 11:08 12 ноя 2017
Воевать они не умели, они умели вешать
Воевать они не умели, они умели вешать
0
Настоящая история 09:00 Сегодня

Выберете причину обращения:

Выберите действие

Укажите ваш емейл:

Укажите емейл

Такого емейла у нас нет.

Проверьте ваш емейл:

Укажите емейл

Почему-то мы не можем найти ваши данные. Напишите, пожалуйста, в специальный раздел обратной связи: Не смогли найти емейл. Наш менеджер разберется в сложившейся ситуации.

Ваши данные удалены

Просим прощения за доставленные неудобства