Терминология
Раздача (англ. seeding) — процесс распространения файла по протоколу BitTorrent.
Пир (англ. peer — соучастник) — клиент, участвующий в раздаче. Иногда пирами называют только скачивающих участников.
Сид (англ. seeder — сеятель) — пир, имеющий все сегменты распространяемого файла, то есть либо начальный распространитель файла, либо уже скачавший весь файл.
Личер (англ. lecher, leech – пиявка) – участник файлообменной сети не обладающий полным объемом раздаваемого материала, т.е. скачивающий его в данный момент. Вовремя скачивания личер отдает уже имеющиеся у него куски файла другим личерам. Как только личер закачает файл целиком, он становится сидером.
Личером также называют пользователя, который скачивает большие объёмы, но сам не отдаёт достаточного количества данных другим пользователям. Обычно это означает, что пользователь или искусственно уменьшает исходящий трафик, или недостаточно долго остаётся раздавать файл после скачивания.
Рой (англ. swarm) — совокупность всех пиров, участвующих в раздаче.
Доступность (англ. availability) (также distributed copies) — количество полных копий файла, доступных клиенту. Каждый сид добавляет 1.0 к этому числу, личеры увеличивают доступность в зависимости от количества скачанного, которого нет у других личеров. К примеру, если на раздаче есть один сид и два личера с 50%, и скачанные части равны между собой, то доступность равна 1.50.
Рейтинг (англ. share ratio) — отношение отданного к скачанному.
Announce Обращение клиента к трекеру. При каждом announce клиент передаёт на трекер информацию об объёмах им скачанного и отданного, a трекер передаёт клиенту список адресов других клиентов. Обращение клиента к трекеру происходит через определённые интервалы времени, которые определяются настройками клиента и трекера.
Announce URL Адрес трекера, к которому клиент делает announce. Во многих клиентах называется Tracker URL. Может включать [passkey].
БТ Клиент - программа, с помощью которой осуществляется файлообмен с другими участниками
Файл метаданных - торрент-файл
Bittorrent не имеет системы поиска: для каждого распространяемого файла создаётся файл метаданных с расширением torrent, который содержит следующую информацию:
* URL трекера
* общую информацию о закачиваемом файле (имя, длину и прочее)
* контрольные суммы (точнее, хэш-суммы SHA1) сегментов закачиваемого файла.
Файлы метаданных могут распространяться через любые каналы связи — например, эти файлы (или ссылки на них) могут выкладываться на веб-серверах, размещаться на домашних страницах пользователей сети, рассылаться по электронной почте, публиковаться в блогах или новостных лентах RSS.
Клиент начинает закачку, получив каким-либо образом файл с метаданными, в котором есть ссылка на трекер.
Трекер (англ. tracker) — специализированный сервер, работающий по протоколу HTTP. Трекер нужен для того, чтобы клиенты могли найти друг друга. Фактически, на трекере хранятся IP-адреса и входящие порты клиентов и хэш-суммы, уникальным образом идентифицирующие объекты, участвующие в закачках. По стандарту, имена файлов на трекере не хранятся, и узнать их по хэш-суммам нельзя. В практических реализациях, однако, трекер часто, помимо своей основной функции, выполняет и функцию небольшого веб-сервера. Такой сервер хранит файлы метаданных и описания распространяемых файлов, предоставляет статистику закачек по разным файлам, показывает текущее количество подключенных пиров и пр.
Супер сид (Super seeding)
Super seeding является особенностью некоторых клиентов BitTorrent, которые пытаются минимизировать объем данных до первого завершения загрузки пира. Эта особенность должна использоваться, когда есть только один сидер. Супер-сид заставляет пользователей делиться скачанным. Отдав одному участнику какую-либо часть файла, твой клиент ничего больше ему не даст, пока не увидит в сети вторую копию этой части. А поскольку многие делиться не любят (или в данный момент возможности нет), то общая скорость отдачи падает. Как только ты переключаешься в обычный режим, твой клиент начинает раздавать всем, кто чего попросит. Скорости возрастают. Супер-сид эффективен при раздачах с большим количеством качающих. Если качающих 2—3 человека, их клиенты в силу разных причин могут отказаться устанавливать связь друг с другом. Соответственно, нет обмена между ними и, как следствие, все сидят и ждут, когда твой клиент их осчастливит. Когда качающих много (10—20 человек), в идеале достаточно раздать до коэффициента 1. Тогда в сети окажутся все части файла, и пиры смогут ими обменяться.
Принцип работы по протоколу BitTorrent
Нагрузка на распространителя файла уменьшается благодаря тому, что клиенты начинают обмениваться данными сразу же, даже если файл не докачан ими до конца
Перед началом закачки, клиент подсоединяется к трекеру, сообщает ему свой адрес и хэш-сумму запрашиваемого файла, на что в ответ, клиент получает адреса других клиентов, скачивающих или раздающих этот же файл. Далее клиент периодически информирует трекер о своем прогрессе и получает обновленный список адресов.
Клиенты соединяются друг с другом и обмениваются сегментами файлов без непосредственного участия трекера. Для эффективной работы сети BitTorrent необходимо, чтобы как можно больше клиентов были способны принимать входящие соединения. Неправильная настройка NAT или файрвола могут этому помешать.
При соединении клиенты сразу обмениваются информацией об имеющихся у них сегментах. Клиент, желающий скачать сегмент, посылает запрос и, если второй клиент готов отдавать, получает этот сегмент. После этого клиент проверяет контрольную сумму сегмента и оповещает всех присоединенных пиров о наличии у него этого сегмента.
Каждый клиент имеет возможность временно блокировать отдачу другому клиенту (англ. choke). Это делается для более эффективного использования канала отдачи. Кроме того, при выборе кого разблокировать предпочтение отдается пирам, которые сами передали этому клиенту много сегментов. Таким образом, пиры с хорошими скоростями отдачи поощряют друг друга по принципу «ты — мне, я — тебе».Хэш (англ. Hash, произносится /hæʃ/) - число фиксированной длины, которое ставится в соответствие данным произвольной длины таким образом, чтобы вероятность появления различных данных с одинаковым хешем стремилась к нулю, а восстановить данные по их хешу было как можно труднее
Хэш (англ. Hash, произносится /hæʃ/) - число фиксированной длины, которое ставится в соответствие данным произвольной длины таким образом, чтобы вероятность появления различных данных с одинаковым хешем стремилась к нулю, а восстановить данные по их хешу было как можно труднее
Хеш-функция — функция, выполняющая одностороннее преобразование входных данных, называемое также хешированием
DHT — это протокол, позволяющий битторрент клиентам находить друг друга без использования трекера. Клиенты с поддержкой DHT образуют общую DHT сеть, и помогают друг другу найти участников одних и тех же раздач.
Поддержка DHT есть в клиентах Mainline, µTorrent, KTorrent, BitSpirit и BitComet. В Azureus есть собственная реализация DHT, то есть Azureus клиенты образуют свою собственную отдельную DHT сеть
Пасскей (англ. passkey) – уникальный код, назначаемый трекером для аккаунта пользователя, помогающий идентифицировать его на трекере (добавляется к URL анонса в самом *.torrent–файле). С помощью этого ключа можно вести файлообмен с разных компьютеров и разных IP адресов.
Никогда не передавайте скаченные под своим аккаунтом торрент–файлы другим лицам, т.к. подобный действия позволит качать им файлы за счет Вашего рейтинга.
Анонс (англ. anonce) – обращение клиента к трекеру. При каждом анонсе клиент передаёт на трекер информацию об объёмах им скачанного и отданного, a трекер передаёт клиенту список адресов других клиентов. Обращение клиента к трекеру происходит через определённые интервалы времени, которые определяются настройками клиента и трекера.
URL анонса (англ. – announce URL) – адрес трекера, к которому клиент делает анонс
Читер (англ. cheater, cheat– мошенник, мошенничать) – участник файлообмена, использующий нечестные приемы и методы для обмана системы подсчета рейтинга.
Античитер – система, направленная на выявление читера.