Бітторрент - це

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

Існує безліч інших програм-клієнтів для обміну файлами по протоколу BitTorrent.

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

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

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

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

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

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

При отриманні повного файлу клієнт переходить в спеціальний режим роботи, в якому він тільки віддає дані (стає Сідом).

структура трафіку

Як і в інших протоколах передачі файлів, трафік протоколу BitTorrent можна розділити на службовий і власне завантажувані / відсилаються дані.

загальні особливості

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

Протоколи і порти

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

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

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

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

файл метаданих

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

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

Файли метаданих можуть поширюватися через будь-які канали зв'язку: вони (або посилання на них) можуть викладатися на веб-серверах. розміщуватися на домашніх сторінках користувачів мережі, розсилатися по електронній пошті. публікуватися в блогах або новинних стрічках

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

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

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

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

Термінологія

Лічер і його рій.

Програми-клієнти

Кросплатформені

  • μTorrent - клієнт BitTorrent для Windows і Mac OS X. відрізняється малим розміром і високою швидкістю роботи.
  • aria2 (англ.) - підтримує HTTP, FTP, BitTorrent; файли

Бітторрент - це

Використання протоколу BitTorrent на прикладі

  • Java, тому є кросплатформним. підтримує
  • Python
  • Python; використовує GTK
  • FoxTorrent - розширення для браузера Mozilla Firefox. реалізує функції клієнта BitTorrent
  • mlDonkey - багатоплатформовий клієнт
  • браузер
  • TorrentFlux (en) - написаний на Web-сервері як PHP-скрипт. дозволяючи не тримати свій комп'ютер включеним постійно, але при цьому качати і роздавати торренти
  • ABC - ще один Bittorrent Client, заснований на BitTornado

GNU / Linux, UNIX

  • μTorrent
  • FlashGet
  • Shareaza - підтримує роботу з декількома файлообмінними мережами, у тому числі і BitTorrent
  • Free Download Manager