Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Мережі обміну даними peer-to-peer на прикладі протоколу BitTorrent

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

Протокол був створений Бремом Коеном, який написав перший torrent-клієнт «BitTorrent» на мові Python 4 квітня 2001. Запуск першої версії відбувся 2 липня 2001 року. Існує безліч інших програм-клієнтів для обміну файлами по протоколу BitTorrent. Роздача може містити як один файл, так і декілька, наприклад, вміст директорії.

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

-URL трекера;

-Загальну інформацію про файли (ім'я, довжину і ін.) в даній роздачі;

-Контрольні суми (точніше, хеш-суми SHA1) сегментів файлів, що роздаються;

-Passkey користувача, якщо він зареєстрований на даному трекері, довжина ключа встановлюється трекером;

- (Необов'язково) хеш-суми файлів цілком;

- (Необов'язково) Альтернативні джерела, що працюють не за протоколом BitTorrent, найбільш поширена підтримка так званих web-сідів (протокол HTTP), але допустимими також є ftp, ed2k, magnet URI.

Розмір сегмента регулюється при створенні торрента і, як правило, вибирається розмір, відповідний ступеню двійки. При виборі розміру необхідно дотримувати баланс, пов'язаний з механізмом роботи протоколу (див. нижче). Розмір сегмента найчастіше лежить в діапазоні від 128 кілобайт до 2-4 мегабайт, хоча на дуже великих роздачах (порядку сотні гігабайт) можуть використовуватися сегменти розміром 32-64 мегабайта.

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

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

Файл метаданих є словником в bencode форматі. Файли метаданих можуть поширюватися через будь-які канали зв'язку: вони (або посилання на них) можуть викладатися на веб-серверах, розміщуватися на домашніх сторінках користувачів мережі, розсилатися по електронній пошті, публікуватися в блогах або новинних стрічках RSS. Також є можливість отримати info частина публічного файлу метаданих безпосередньо від інших учасників роздачі завдяки розширенню протоколу "Extension for Peers to Send Metadata Files". Це дозволяє обійтися публікацією тільки Magnet-посилання. Отримавши-яким чином файл з метаданими, клієнт може починати скачування. Принцип роботи протоколу.

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

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

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

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

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

 


Читайте також:

  1. Абонентський стик ISDN мережі
  2. Автоматичний обмін даними.
  3. АДАПТАЦІЯ ОБМІНУ РЕЧОВИН ДО М'ЯЗОВОЇ ДІЯЛЬНОСТІ
  4. Американський стандартний код для обміну інформацією ASCII.
  5. Аналіз вузьких місць у мережі
  6. Багатокрокове прогнозування з перенавчанням нейромережі на кожному кроці прогнозу
  7. Базові топології мережі
  8. Бальна оцінка стану контактної мережі
  9. Бездротові мережі
  10. Буфер обміну — це тимчасове місце зберігання інформації, яку було скопійовано або переміщено з одного місця з метою використання в іншому.
  11. Вентиляція. Види вентиляції. Організація повітрообміну в приміщеннях, повітряний баланс, кратність повітрообміну
  12. Взаємодія контактної мережі і струмоприймача




Переглядів: 875

<== попередня сторінка | наступна сторінка ==>
Альтернативна реалізація із вільним вихідним кодом – сервер SAMBA | Протокол передачі гіпертексту HTTP

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.021 сек.