BitTorrent — пиринговый (P2P) сетевой протокол для кооперативного обмена файлами через Интернет. 1
Принцип работы:
- Перед началом скачивания клиент подсоединяется к трекеру по адресу, указанному в торрент-файле. 1
- Сообщает ему свой адрес и хеш-сумму торрент-файла, на что в ответ клиент получает адреса других клиентов, скачивающих или раздающих этот же файл. 1
- Далее клиент периодически информирует трекер о ходе процесса и получает обновлённый список адресов. 1
- Клиенты соединяются друг с другом и обмениваются сегментами файлов без непосредственного участия трекера, который лишь хранит информацию, полученную от подключённых к обмену клиентов, список самих клиентов и другую статистическую информацию. 1
- При соединении клиенты сразу обмениваются информацией об имеющихся у них сегментах. 1
- Клиент, желающий скачать сегмент (личер), посылает запрос и, если второй клиент готов отдавать, получает этот сегмент. 1
- После этого клиент проверяет контрольную сумму сегмента. 1 Если она совпала с той, что записана в торрент-файле, то сегмент считается успешно скачанным, и клиент оповещает всех присоединённых пиров о наличии у него этого сегмента. 1 Если же контрольные суммы различаются, то сегмент начинает скачиваться заново. 1
Такой подход позволяет разгрузить серверы и повысить скорость загрузки, так как данные передаются одновременно от множества источников. 4