Автор работы: Пользователь скрыл имя, 03 Января 2014 в 18:13, доклад
Всі ми якимось чином ділимося інформацією з оточуючими нас людьми. У випадку, коли ми ділимося файлами за допомогою програм типу eMule, eDonkey, KaZaA їм подібних, такого роду обмін пов'язаний з роботою величезної машини, принципи роботи якої, її витоки і ідеї, на яких вона побудована, ми часто уявляємо собі досить слабо. Необхідність мати доступ до величезної кількості інформації, що лежить на інших комп'ютерах, спочатку породила локальні мережі. Це допомогло на деякий час, але об'єднати таким чином велику кількість комп'ютерів виявилося неможливо. Можливість же доступу до файлів, можливо наявних у інших користувачів, виглядала досить непогано.
ВСТУП
Історія
Перше покоління Р2Р мереж
Друге покоління Р2Р мереж
Третє покоління Р2Р мереж
Анонімні peer-to-peer мереж
Класифікація Р2Р мереж
Мережі та протоколи
Програми для роботи з піринговими мережами, торинти.
ВИСНОВОК
Кад мережа не використовується, щоб фактично передати файли через Р2Р мережі. Замість цього, коли починається передача файлів, підключення клієнтів відбуваються безпосередньо один з одним (використовуючи стандартні IP-мережі).
Як і у всіх децентралізованих мережах, Kad не вимагає офіційних або загальних серверів. Як така, вона не може бути відключена із закриттям набору ключових вузлів. Однак, оскільки постійні вузли зв'язуються один з одним, вона може приділяти більше навантаження на окремі машини в порівнянні з централізованою мережею.
Єдина річ, яка потрібна для з'єднання з цією мережею - IP і порт будь-якого клієнта, вже підключеного до мережі. Це називається Boot Strap (самоналаштування).
Як тільки відбувається з'єднання з мережею, клієнт запитує інших клієнтів, щоб визначити, чи може він вільно з ними з'єднатися. Цей процес схожий на визначення HighID / LowID на серверах.
Якщо ви можете вільно з'єднуватися, вам дається ID (високий, HighID) і отримуєте статус open в Кад мережі. Якщо ви не можете з'єднуватися вільно, ви отримуєте статус firewalled (відповідно LowID).
Пошук
В мережі Kad неважливо що Ви шукаєте. Будь-який файл, джерело завантаження чи інший користувач.
У ній немає серверів, що відстежують активність клієнтів.. По суті, кожен клієнт – маленький сервер, що працює в мережі Kademlia як сервер для ключових слів або джерел. Хеш клієнта визначають ключові слова або джерела.
Таким чином, мета будь-якого запиту – знайти відповідних цим запитом клієнтів. Потім обчислюється відстань до кінцевого клієнта шляхом опитування інших клієнтів про найкоротший маршрут до нього. Kad мережа підтримує пошук файлів як по імені так і за розміром, розширенню, бітрейту, і т. д.
BitTorrent
BitTorrent (букв. англ. «Бітовий потік») - пірінговий (P2P) мережевий протокол Коена для кооперативного обміну файлами через Інтернет. Файли передаються частинами, кожен torrent-клієнт, отримуючи (закачуючи) ці частини, в цей же час віддає (підкачує) їх іншим клієнтам, що знижує навантаження і залежність від кожного клієнта-джерела і забезпечує надмірність даних. Перший torrent-клієнт «BitTorrent» був створений програмістом Бремом Коеном на мові Python 4 квітня 2001, запуск першої версії відбувся 2 липня 2001 року. Існує безліч інших програм-клієнтів для обміну файлами по протоколу BitTorrent.
Рис.2
Принцип роботи протоколу
Перед початком скачування клієнт під'єднується до трекера, повідомляє йому свою адресу та хеш-суму запитуваної файлу, на що у відповідь клієнт отримує адреси інших клієнтів, що викачують або роздають цей же файл. Далі клієнт періодично інформує трекер про хід процесу і отримує оновлений список адрес. Клієнти з'єднуються один з одним і обмінюються сегментами файлів без безпосередньої участі трекера, який лише регулярно оновлює інформацію про підключилися до обміну клієнтів та іншу статистичну інформацію. Для ефективної роботи мережі BitTorrent необхідно, щоб якомога більше клієнтів були здатні приймати вхідні з'єднання. Неправильне налаштування NAT або файрвола можуть цьому перешкодити. При з'єднанні клієнти відразу обмінюються інформацією про наявні у них сегментах. Таким чином, піри з хорошими швидкостями віддачі заохочують один одного за принципом «ти - мені, я - тобі».
Загальні особливості
В якості об'єкта роздачі можуть виступати декілька файлів (наприклад, вміст каталогу).
Протоколи і порти
Клієнти з'єднуються з трекером по протоколу TCP. Вхідний порт трекера: 6969.
Клієнти з'єднуються один з одним, використовуючи протокол TCP. Вхідні порти клієнтів: 6881-6889. Номери портів не фіксовані в специфікації протоколу і можуть змінюватися при необхідності. Більш того, в даний момент більшість трекерів використовують звичайний HTTP порт 80, а для клієнтів рекомендується вибрати випадковий вхідний порт.
DHT-мережа в BitTorrent-
Файл метаданих
Для кожного поширюваного файлу створюється файл метаданих з розширенням. Torrent, який містить наступну інформацію:
• URL трекера;
• Загальну інформацію про закачуване файлі (ім'я, довжину тощо);
• Контрольні суми (точніше, хеш-суми SHA1) сегментів закачуваного файлу.
Файли метаданих можуть розповсюджуватися через будь-які канали зв'язку: вони (або посилання на них) можуть викладатися на веб-серверах, розміщуватися на домашніх сторінках користувачів мережі, розсилатися по електронній пошті, публікуватися в блогах або новинних стрічках RSS. Клієнт починає скачування, отримавши будь-яким чином файл з метаданими, у якому є посилання на трекер.
Робота без трекера
У нових версіях протоколу були розроблені бестрекерні(англ. trackerless) системи, які вирішують деякі з попередніх проблем. Відмова трекера в таких системах не призводить до автоматичного відмови всієї мережі.Починаючи з версії 4.2.0 офіційного клієнта, в ньому реалізована функція бестрекерної роботи, що базується на протоколі Kademlia. У таких системах трекер доступний децентрально, на клієнтах, у формі розподіленої хеш-таблиці.
Програми клієнти
- Aria2 (англ.) - підтримує HTTP, FTP, BitTorrent; файли Metalink 3.0
- Azureus - написаний на мові
Java, тому є кросплатформним.
- BitTyrant - модифікований варіант клієнта Azureus 2.5
- BitTornado - багатоплатформовий клієнт, написаний на мові Python
- Deluge - багатоплатформовий клієнт, написаний на мові Python; використовує GTK
- FoxTorrent - розширення для браузера Mozilla Firefox, що реалізує функції клієнта BitTorrent
- LeechCraft - багатоплатформовий клієнт, існує плагін для підтримки BitTorrent
- MlDonkey - багатоплатформовий клієнт
- Браузер Opera повністю
підтримує закачування
- TorrentFlux - написаний на PHP,
працює на віддаленому Web-
Gnutella
Повністю децентралізована
Механізм роботи
MP2P
MP2P або MANOLITO - децентралізована
P2P-мережа для обміну музикою,
Подібно до мережі Gnutella, мережа MP2P не використовує сервери. Орієнтована тільки на поширення музичних файлів у форматах MP3 і Ogg. За твердженнямрозробників, в мережі распростряняется більше 10 мільйонів музичних композицій.
Протокол також містить
алгоритми прискорення
Мережа з'явилася в
червні 2001 року в Іспанії. Мережа Manolito
є розробкою єдиного автора - Пабло
Сото. Спочатку у мережі був тільки
один клієнт - Blubster.Оригінальний клієнт
версії 1.2.3 ставав популярними незважаючи
на відсутність паралельної
IV. Програми для роботи з піринговими мережами, торинти
uTorrent швидко здобув популярність серед користувачів торрент завдяки сучасному інтерфейсу, мінімальному навантаженні на системні ресурси і численним функцій.
Програма по праву є
одним із самих надійних торрент-клієнтів
на ринку, оскільки не викликає проблем
з установкою і не впливає на продуктивність
системи. Поки µtorrent завантажує десятки
файлів, користувач може працювати на
комп'ютері без обмежень.
Інтерфейс простий у використанні і включає
кілька розділів: список торрентів і подробиці
про завантаження, що інформація про бенкетах,
швидкість завантаження і віддачі, блоки
і частини файлів, а також графік швидкостей
в реальному часі. Для систематизації завантажень
в програмі передбачений ряд ярликів для
кожного торрента. Крім того, за допомогою
вбудованого фільтра можна окремо переглядати
завантажені, активні, неактивні або компоненти
для завантаження. Більш того, завдяки
наявності веб-інтерфейсу, з µtorrent можна
працювати на будь-якому комп'ютері, підключеному
до Інтернету. Для цього необхідно відкрити
доступ до інтерфейсу програми, встановленої
на комп'ютері, з якого здійснюється завантаження
файлів.
Пошук нових торентів можна виконувати
безпосередньо з µtorrent, не відкриваючи
браузера. Програма знаходить файли, індексуючи
найвідоміші трекери. Для цього необхідно
ввести назву торрента в рядку пошуку
в правому верхньому куті інтерфейсу. Крім
того, в µtorrent вбудована завантаження по
RSS: програма транслює оновлення з вказаних
сайтів. Ця функція дозволяє бути в курсі
всіх новинок.
При першому запуску µtorrent
перевіряє параметри підключення і правильність
настройки портів. У меню параметрів користувачеві
надається можливість всебічної конфігурації,
в тому числі, настройка черги, розклади
і параметри завантажень.Єдина потенційна
складність полягає у визначенні місця
розташування завантажених файлів, оскільки
в µtorrent необхідно вказати два окремі шляхи
для нових торрентів і вже завершених
завантажень.
В цілому рекомендують µtorrent. Програма
не тільки не надає великого навантаження
на системні ресурси, а й передбачає цілий
набір функцій і параметрів, метою якого
є забезпечити максимальну зручність
користувача. За своєю функціональністю
перевершує стандартний µtorrent Bittorent, а
також Azureus, який сильно знижує швидкість
інтернету.
eMule
eMule - вільний файлообмінний
клієнт для Microsoft Windows. Був розроблений
як заміна власницькому
Проект хоститься на SourceForge.net. У 2007 році eMule переміг у номінації "Best New Project" (правда на той час проект давно вже новим не був).
На основі eMule розроблений ряд модифікацій - так званих «модів»; крім того, є його крос-платформенне відгалуження еMule. Оскільки eMule поставляється з відкритими початковими кодами, знаходиться немало бажаючих нечесно використовувати p2p мережу (тобто не «ділитися» файлами, а лише «отримувати» їх), в якій працює цей клієнт. Для цього сьогодні розроблено чимало «нечесних» клієнтів, що працюють в цій же мережі.
Ідентифікація файлів
Кожному файлу відповідає
свій хеш. Хеш - це комбінація цифр і
букв для однозначної ідентифікації
файлу. Хеш не залежить від імені
файлу, тільки від його вмісту. Це дозволяє
знаходити джерела файлу
Ідентифікація інших клієнтів
Аналогічно файлів кожен користувач мережі отримує постійний унікальний користувальницький хеш. Процес ідентифікації користувачів захищений від зловмисників за допомогою технології відкритих / закритих ключів
Завантаження
Важливо розуміти, що викачування даних в eMule не залежить від вибору мережі, від нього залежить тільки спосіб пошуку файлів і знаходження користувачів-джерел.Как тільки джерело знайдений, ваш клієнт зв'язується з ним, після чого джерело ставить вас у чергу. Після досягнення початку черги ви починаєте завантажувати дані.