Традиційне завантаження просте. Ви звертаєтесь до сервера. Ви отримуєте файл. Сервер може уповільнити роботу, якщо надто багато людей запитають його. Одноранговий (P2P) обмін файлами повністю ламає цю модель. Він покладається на центральний вузол. Натомість він перетворює комп’ютер кожного учасника одночасно і на клієнт, і на сервер.
Термін «бенкет» (peer) звучить професійно. Насправді, це просто звичайний настільний або портативний комп’ютер. Як ваш. Програмне забезпечення замінює ваш веб-браузер як інструмент, який ви використовуєте для пошуку файлів. Ви просите не у корпоративного центру обробки даних. Ви просите інших людей.
Ось як працює цей процес.
Механіка роїння
Ви встановлюєте P2P-клієнт, наприклад, програму на базі Gnutella. Ви вводите ім’я файлу. Програмне забезпечення не просто шукає в одному місці. Воно розсилає запит решті комп’ютерів у мережі, які використовують той самий протокол.
Ці підключені машини утворюють сітку.
Коли програма знаходить бенкет, у якого на жорсткому диску справді є запитані дані, починається передача. Але на цьому річ не закінчується. Цей комп’ютер також стає джерелом для всіх інших, які шукають той самий файл. Ви одночасно отримуєте фрагменти даних із кількох джерел. Навантаження розподіляється. Це має бути ефективно.
Проблема вузького місця
Теоретично додавання більшої кількості користувачів робить мережу швидше. Насправді це часто створює хаос.
Головна проблема – пропускна спроможність. Швидкість вашої віддачі зазвичай набагато нижча за швидкість завантаження. Якщо ви завантажуєте великий файл, ваш комп’ютер зайнятий. Але якщо ви також працюєте як сервер для інших, ви віддаєте дані. Це може спричинити значні вузькі місця. Ваше з’єднання перевантажується. Передачі уповільнюються до повзучих темпів.
Потім є людський чинник.
Деякі користувачі завантажують все, що їм потрібно, а потім негайно вимикаються. Вони беруть дані. Вони йдуть. Вони нічого не пропонують назад мережі. Це називається лікування (leeching).
Коли користувачі займаються лікуванням, вони виснажують ресурси мережі, не вносячи внесок у пошук або розповсюдження.
Така поведінка обмежує кількість ефективних комп’ютерів, які можуть опитувати програмне забезпечення. Мережа скорочується. Ефективність падає. Інші користувачі страждають.
Чому це важливо для вас
Ви можете подумати, що P2P використовується тільки для фільмів та музики. Так. Але він також використовується для поширення великих оновлень програмного забезпечення, коду з відкритим вихідним кодом та архівних даних.
Розуміння того, як протокол працює, допомагає зрозуміти, чому деякі завантаження зависають. Це не завжди погане інтернет-з’єднання. Можливо, проблема у самих бенкетах.
Технологія покладається на довіру та взаємність. Якщо всі займаються лікуванням, система руйнується. Якщо всі діляться, вона процвітає. Це тендітний баланс.
Для більш глибокого занурення в конкретні протоколи ви можете переглянути, як працює Gnutella або як працює Kazaa. Ці старі мережі заклали основу для всього, починаючи від BitTorrent до сучасних рішень для децентралізованого зберігання. Основна ідея залишається тією ж. Ви є частиною інфраструктури. Ви завжди були нею.





























