Як скачати з Інтернету (для новачків)/BitTorrent або комфортне скачування

Матеріал з Вікіпідручника

Отже, для ідеального способу комфортного завантаження великих файлів з мережі потрібно:

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

А для власників сайтів важливо мінімізувати навантаження на сервер та максимально зменшити місце яке використовується для зберігання цієї інформації.

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

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

За рахунок чого це досягається? Уявіть собі, що є сайт, на якому багато інформації, призначеної для завантаження. Вранці з цього сайту одночасно скачують 50 користувачів. Швидкість завантаження у всіх хороша і така кількість не дуже навантажує сервер сайту. Але в обід кількість збільшується до 150 користувачів. Вихідна інтернет-лінія каналу уже перевантажена. Швидкість скачування для кожного користувача різко зменшується. Але ввечері кількість скачуючих збільшується до 300 людей. Сервер сайту не витримує такого навантаження і зникає з мережі. Цифри звичайно гіпотетичні, але вони відображають те, що можливості сервера з інформацією не безмежні, а вихідний канал, по якому він може роздавати інформацію всім бажаючим теж має свою межу, тому часто наступає момент коли завантаження з таких сайтів стає неможливим або дуже незручним. Тобто чим більша кількість людей, які завантажують інформацію напряму з сайту, тим більше проблем.

Тепер спробуємо зрозуміти технологію за якою працює протокол BitTorrent.

Як зробити файл доступним для скачування через Бітторрент[ред.]

Це досягається кількома кроками: (Рис. 1)

Рис.1 Завантаження з торрент-трекера
Рис.1 Завантаження з торрент-трекера

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

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

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

Давайте уточнимо значення нових термінів, про які ми тільки що дізналися:

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

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

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

Як скачати з торрента[ред.]

Власник цього файлу рекомендує його своєму другові, який вирішує його завантажити. (Рис. 2)

Рис. 2 Завантаження через торрент
Рис. 2 Завантаження через торрент

1. Він заходить на торрент-трекер

2. Скачує звідти маленький торрент-файл собі на комп'ютер. Відкриває його в своєму торрент-клієнті.

3. Після цього, торрент-клієнт звертається до торрент-трекера,

4. Який передає йому інформацію про комп'ютери, на яких даний файл вже є завантажений.

5. Отримавши координати цих комп'ютерів (поки що, такий тільки один, комп'ютер людини, яка зробила цей файл доступним для завантаження), торрент-клієнт з'єднується з ними.

6. Починається пряме завантаження файлу з одного локального комп'ютера на інший.

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

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

Тепер з'являється третій користувач, який теж хоче завантажити цей файл. З сайту (торрент-трекеру), на якому він знайшов інформацію про цей файл, скачує торрент-файл, відкриває його в своєму торрент-клієнті, який звертається до торрент-трекера за інформацією про комп'ютери в Інтернеті, які зараз мають цей файл і можуть його роздавати. Відповідно торрент-клієнт виявляє 2 таких комп'ютери і починає з них завантажувати інформацію. Але тепер цей третій користувач має можливість скачувати з швидкістю більшою ніж другий користувач, це досягається за рахунок того, що тепер завантаження йде одночасно з 2 точок. Відповідно швидкість в 2 рази більша. Таке багатопотокове завантаження файлів по технології BitTorrent можливе тому, що торрент-клієнти ділять файл на маленькі шматки, які передаються в будь-якому порядку будуючи до кінця завантаження цілий файл.

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

На наступний день в мережі уже 20 користувачів, частина з яких уже завантажила файл, а частина продовжує. (Рис. 3)

Бітторрент. Рій
Бітторрент. Рій

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

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

Тепер уточнимо значення інших термінів, пов'язаних з технологією BitTorrent:

Роздача (seeding) — поширення файлу в мережі.

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

Лічер (leech) — пір, який на даний момент завантажує файл (не має ще всіх його частинок). Інколи цей термін використовується в негативному значення як, користувач який скачує набагато більше ніж віддає.

Рейтинг (share ratio) — це відношення кількості відданої інформації до скачаної. Наприклад, якщо ви віддали 100 мегабайт, а скачали 1 гігабайт, то ваш рейтинг буде — 0,1. Інколи це важливий показник, бо деякі торрент-трекери вимагають щоб ваш рейтинг не падав нижче певного рівня.

Рій (swarm) — це сукупність всіх комп'ютерів, які беруть участь в роздачі.

Сід або сідер (seeder) — Користувач, який має повністю закачаний файл (вірніше, всі його частинки).

Сегмент (part) — одна з частинок на які ділиться файл для наступної їх оптимальної передачі по мережі.