BitTorrent

Матеріал з Вікіпедії — вільної енциклопедії.

(Перенаправлено з Бітторент)
Перейти до: навігація, пошук
Логотип сервісу BitTorrent

«БітТо́ррент» (BitTorrent) — відкритий протокол обміну інформацією у мережах типу peer-to-peer. Автором проекту є Брам Коен (Bram Cohen), який створив першу версію у квітні 2001 разом із першим клієнтом з тією ж назвою.

Зміст

[ред.] Принципи роботи протоколу

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

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

Така ідея організації протоколу має переваги порівняно до протоколів peer-to-peer мереж першого покоління, де файл скачується з одного розповсюджувача чи з декількох розповсюджувачів по частинах.

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

Трекер (англ. tracker;) — спеціалізований сервер, якій працює по HTTP протоколу. Трекер використовується для того, щоб клієнти могли знайти один одного. На трекері зберігаються IP-адреси клієнтів, вхідні порти клієнтів та хеш-суми, які унікальним чином ідентифікують об'єкти, що беруть участь у cкачуваннях. За стандартом, імена файлів на трекері не зберігаються, та взнати їх по хеш-сумам не можна. Проте на практиці часто трекер окрім своєї основної функції виконує також функцію невеличкого веб-серверу. Такий сервер збреігає файли метаданих що містять значення хеш-функції, та разом з ними опис файлів що розповсюджується, кількість розповсюджувачів статистику завантажень та ін.

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

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

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

[ред.] Файл метаданих

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

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

[ред.] Робота без трекера

У нових версіях протоколу розроблено безтрекерні (англ. trackerless) механізми обміну інформацією. Таким чином працездатність всієї мережі не залежатиме від роботи трекера.

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

На даний момент не всі BitTorrent-клієнти використовують сумісні протоколи. Між собою сумісні BitComet, µTorrent, KTorrent та офіційний клієнт BitTorrent. Azureus також має режим безтрекерної роботи, але його реалізація відрізняється від офіційної, через що він не може працювати через DHT з наведеними вище клієнтами.

[ред.] Ресурси інтернету

Особисті інструменти