Торрент | torrent — это сетевой протокол для обмена файлами. Файлы разбиваются на небольшие части и в таком виде передаются по сети. Торрент-клиент | torrent-client закачивает эти части и затем собирает у себя файл воедино. В процессе скачивания кусочков клиент также отдаёт уже закачанные части, что позволяет передавать торренты с большой скоростью и без ожидания освобождения источника (раздающий называется «сидер», от англ. seed — сеять).
Датой появления технологии торрентов считается 4 апреля 2001 г., когда Брэмом Коэном был написан первый торрент-клиент. Выход первой версии состоялся 2 июля 2001 г.
Для того, чтобы скачать торрент-файл, клиент соединяется с торрент-трекером | torrent tracker, передаёт ему информацию о своём IP-адресе и хэш-сумму файла, который требуется скачать. Трекер отправляет клиенту IP-адреса других клиентов, также раздающих или качающих торрент. В процессе скачивания клиент регулярно общается с сервером, сообщая информацию о скачивании и получая обновлённый список IP-адресов.
Клиенты передают данные напрямую друг другу без участия торрент-трекера. Трекер только собирает данные о клиентах в процессе скачивания, подключённых клиентах и другую информацию. Для оптимальной работы торрент-протокола нужно, чтобы максимальное количество клиентов могло принимать и отдавать файлы. При некорректной настройке межсетевого экрана (брандмауэра) или трансляции адресов (NAT), скорость передачи может значительно уменьшиться или прекратиться совсем.
Когда клиенты подсоединяются друг к другу, они сразу же передают данные о кусочках раздаваемых файлов, имеющихся у них. Если у первого клиента есть недостающий сегмент, то второй клиент посылается запрос «скачать торрент». Первый клиент отдаёт запрашиваемую часть торрента, если есть такая возможность. После получения запрошенной части второй клиент проверяет контрольную сумму и ставит трекер в известность о том, что он также имеет эту часть, чтобы все остальные подключённые клиенты могли скачать его.
Клиент может приостановить отдачу частей файла другому клиенту, что делается для оптимизации раздачи. Приоритет отдаётся тому принимающему (принимающий, который ничего не отдаёт, называется «личер», от англ. leech — «присасываться, как пиявка», а тот, кто ведёт двусторонний обмен, называет «пир», от англ. peer — «равноправный партнёр»), кто сам отдал вам большее количество частей. Иными словами, чем больше отдал вам пир, тем больше вы отдаёте ему. Благодаря такой особенности более высокую скорость скачивания получают те торрент-клиенты, которые отдают с большей скоростью. Девиз торрент-протокола: «Скачал сам, дай скачать другому!»