Pro-vt, що таке торрент трекер

Принцип роботи протоколу

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

При з'єднанні клієнти відразу обмінюються інформацією про наявні у них сегментах. Клієнт, що бажає викачати сегмент, посилає запит і, якщо другий клієнт готовий віддавати, отримує цей сегмент. Після цього клієнт перевіряє контрольну суму сегменту і оповіщає всіх приєднаних бенкетів про наявність у нього цього сегменту.

Кожен клієнт має можливість тимчасово блокувати віддачу іншому клієнтові (англ. Choke). Це робиться для більш ефективного використання каналу віддачі. Крім того, при виборі - кого розблоковувати, перевага віддається бенкетам, які самі передали цьому клієнтові багато сегментів. Таким чином, бенкети з хорошими швидкостями віддачі заохочують один одного за принципом «ти - мені, я - тобі».

Відсутність черг на скачування.
Файли закачуються невеликими сегментами; чим менш доступний сегмент, тим частіше він передаватиметься. Таким чином, присутність в мережі «сідера» з повним файлом для завантаження необов'язково - система розподіляє сегменти між «бенкетами», щоб в подальшому вони могли обмінюватися відсутніми сегментами.
Клієнти (peers) обмінюються сегментами безпосередньо між собою, за принципом «ти - мені, я - тобі».
Завантажені сегменти стають негайно доступні іншим клієнтам.
Контролюється цілісність кожного сегмента.
Як об'єкт закачування можуть виступати декілька файлів (наприклад, вміст каталогу).

Клієнти з'єднуються з трекером по протоколу TCP. Вхідний порт трекера: 6969.

Клієнти з'єднуються один з одним, використовуючи протокол TCP. Вхідні порти клієнтів: 6881-6889.

Номери портів не фіксовані в специфікації протоколу і можуть змінюватися при необхідності. Більш того, в даний момент більшість трекерів використовують звичайний HTTP порт 80, а для клієнтів рекомендується вибрати випадковий вхідний порт.

DHT-мережу в BitTorrent-клієнтах використовує протокол UDP.

Крім того, протокол UDP використовується UDP-трекера (не підтримує всіма клієнтами і не є офіційною частиною протоколу) і для з'єднання клієнтів один з одним через UDP NAT Traversal (використовується тільки в клієнті BitComet і не є офіційною частиною протоколу).

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

Робота без трекера

У нових версіях протоколу були розроблені бестрекерной (англ. Trackerless) системи, які вирішують деякі з попередніх проблем. Відмова трекера в таких системах не приводить до автоматичного припинення всієї мережі.

Починаючи з версії 4.2.0 офіційного клієнта, в ньому реалізована функція бестрекерной роботи, що базується на протоколі Kademlia. У таких системах трекер доступний децентрально, на клієнтах, у формі розподіленої хеш-таблиці.

На даний момент ще не всі клієнти використовують сумісний один з одним протокол. Чи сумісні між собою BitComet, μTorrent, KTorrent і офіційний клієнт BitTorrent. Azureus також має режим бестрекерной роботи, але його реалізація відрізняється від офіційної, внаслідок чого він не може працювати через DHT з вищепереліченими клієнтами. [2] Однак, для Azureus існує підтримка стандартного DHT через плагін Mainline DHT. (Цю функцію потрібно відключати)

Super seeding (cупер-сид)

Супер-сид є зміною в поведінці сідерів і не може бути здійснений без порушення протоколу BitTorrent. Тим не менш, це не затверджується ні розробником протоколу, Бремом Коеном, ні в офіційному клієнті.

Супер-сид діє, коли є тільки один сидер. Фактично, він змушує користувачів ділитися викачаними даними. Клієнт, який віддав одному учасникові яку-небудь частину файлу, припиняє передачу даних до тих пір, поки не виявить в мережі другу копію цієї частини. Оскільки багато учасників не мають можливості або не бажають робити доступними для інших викачані дані, загальна швидкість віддачі падає. У звичайному ж режимі, на відміну від супер-сид, кожен завжди отримує запитану інформацію, якщо вона є, тому в ньому середня швидкість передачі даних вище.

Супер-сид ефективний при роздачах з великою кількістю качають. При невеликій групі людей (2-3 людини) їх клієнти в силу різних причин можуть відмовитися встановлювати зв'язок один з одним. В цьому випадку включений супер-сид змусить клієнтів чекати, поки дані стануть доступні. Коли число качають велике (10-20 чоловік), досить віддати кожну частину файлу лише один раз, тоді клієнти зможуть обмінятися нею між собою, і кожен з них отримає файл цілком.