Примеры реализации P2P

Ниже приведены несколько примеров реализации программ для подключения к сети P2P.


IRC

Простейшие P2P система сборки является IRC — основой P2P системы (сама IRC не построена как P2P). На специальном канале есть боты, рекомендующие файлы. Вы можете перейти на канал и сделать запросы, обычно в форме ! Find search_file или что-то подобное. Боты с файлом, соответствующим описанию, распечатывают свой список в канал или, что чаще, в приватной беседе с соискателем. Затем искатель запрашивает файл, записывая в канал или в прямом диалоге форму ! Имя_обота имя_файла или аналогичные. Запросы ставятся в очередь и отправляются с помощью DCC, когда приходит время. Некоторые боты также позволяют входить в них через DCC CHAT, аналогично FTP- серверам. Однако в конечном итоге файл отправляется DCC.

В DCC можно продолжить прерванную загрузку. P2P без этой возможности ушел в прошлое. Причем это касается не только P2P — HTTP- серверы без этой возможности встречаются все реже.

Очевидный недостаток в том, что скачать его намного проще, чем поделиться. Этот метод также не очень масштабируем — обычно на канале доступно всего около десятка или несколько десятков ботов. Тем не менее, каналы тематические, поэтому общие доступные ресурсы могут быть довольно большими. Эти каналы существуют как на обычных серверах IRC, так и на серверах, которые существуют специально для обмена файлами.

К преимуществам можно отнести автоматическое обеспечение хорошего чата (которым является сам IRC), распространение загрузчиков и тот факт, что многие серверы NAT (особенно серверы Linux) могут анализировать DCC и, таким образом, разрешать всем компьютерам в подсети получать соединения DCC.

Napster

Другая, но тоже очень простая система выбрала Napster . Вам нужно было установить специальное программное обеспечение на свой компьютер, подключенный к серверу, отправить ему список общих файлов (в данном случае только музыка, но более новые сети на базе Napster, такие как OpenNap, позволяют вам делиться другими типами файлов), а также пользовательский интерфейс P2P сети. Серверы Napster позволяли искать файлы. Пользователь на основе списка совпадающих файлов выбирал, что и от кого он хотел загрузить, а затем программа подключалась к компьютеру, предоставляющему доступ к файлу, и загружала его. Сайт стал настоящим хитом среди пользователей Интернета. Своей популярностью он обязан, среди прочего, иски артистов, чьи песни были в Napster до официальной премьеры (примером «утечки» стало появление в июне 2000 г. несанкционированной версии песни американской певицы Мадонны «Music», что потребовало ускорения ее выхода на рынок).

Первоначально Napster не мог повторно подключиться, если он был прерван, в результате чего многие файлы не были полностью загружены. Часто такие файлы передавались непреднамеренно, поэтому даже загрузка файла до конца могла быть разочарована позже. В новых версиях Napster и всех производных системах есть возможность пробуждения.

Napster требовался центральный сервер, но он был достаточно хорошо масштабируемым и позволял любому не только загружать файлы, но и делиться ими. Интеграция пользователей обеспечивалась встроенной в программу программой чата.

В 2001 году, после временного введения фильтров в поисковую систему по песням, в результате проигранных судебных исков, сайт прекратил свою работу, вернувшись в конце 2003 года в качестве легального платного сайта.

Аудиогалактика

Аудиогалактика инновационна не столько благодаря своей структуре, сколько пользовательскому интерфейсу. Сама программа P2P не имеет интерфейса. Все операции выполняются через веб-сайт, который позволяет выполнять поиск по названию или автору, после чего вы можете выбрать версию, желаемое качество (включая «самый популярный» вариант), другие песни того же автора, авторов, популярных у загрузчиков данной песни («если вам понравилась музыка A, возможно, вам также понравятся B, C и D »). Здесь также была обширная система дискуссионных форумов.

Сама программа P2P (так называемый сателлит) также была одной из лучших и наиболее автоматизированных. Пользователь выбирал песни только через Интернет, все остальное, включая выбор источника и переключение на другой, если загрузка была прервана, выполнялось без вмешательства пользователя.

Полная автоматизация, хорошая производительность и удобный интерфейс сделали Audiogalaxy одной из лучших P2P-систем. Однако одной из издержек было то, что специализация была очень высокой — многие решения, идеально подходящие для музыки, не работали с другими типами данных.

Столкнувшись с угрозой судебного разбирательства со стороны RIAA , в мае 2002 года он ужесточил систему фильтрации загружаемых песен (ранее легко обойти) и, наконец, заблокировал возможность обмена mp3 на сайте.

Гнутелла

Совершенно иную форму приняла система Gnutella . В Gnutella вообще нет центральных серверов. Чтобы подключиться к Gnutella, вам необходимо установить соответствующее программное обеспечение и найти любой хост, принадлежащий сети. Если на хосте нет вакансий, он перечисляет адреса следующих хостов, к которым он может попытаться подключиться. В конце концов вы найдете хост, который хочет подключиться. Программа ведет список всех узлов сети, с которыми она сталкивается в сети, что упрощает подключение в следующий раз.

Каждый поиск отправляется на хосты, к которым вы хотите подключиться напрямую. Но они их пересылают. Возможные результаты отправляются напрямую инициатору, а сама передача происходит без посредников.

Гнутелла очень плохо чешется. Поскольку каждый хост получает все запросы, они быстро занимают всю ссылку. Ограничивая количество переходов, выполняемых поиском, до максимума, одновременно снижая нагрузку, он также делает невозможным найти множество доступных ресурсов. Было предложено множество различных методов для улучшения результатов Gnutella — таких как дифференциация роли хостов в соответствии с их пропускной способностью, кэширование результатов поиска или автоматические модификации топологии, которые улучшили бы определенные свойства сети. Это позволило значительно улучшить масштабируемость в новых сетях этого типа, таких как EDonkey или FastTrack (которые использует Kazaa ).

FastTrack

FastTrack имеет репутацию хорошей и быстрой сети, позволяющей обмениваться файлами различных типов. Вы можете обмениваться файлами всех типов, такими как: музыка, фильмы, игры и т. Д. Она опережает многих своих конкурентов благодаря используемым механизмам, но основным недостатком программы является локальное хранение информации о соотношении загрузки и загрузки. Поэтому их очень легко подделать. Есть много дополнений, которые позволяют нам изменять наше соотношение. Множество альтернативных клиентов для подключения к этой сети. Нам не нужно использовать оригинальный клиент, которым является Kazaa Media Desktop , продвигаемый Sharman Networks. Альтернативы включают Kazaa Lite, K-Lite, Mammoth, Grokster, iMesh.

Сеть FastTrack — это «самоорганизующаяся распределительная сеть». Это многоуровневая сеть, благодаря которой компьютеры с большей мощностью становятся «суперузлами». Любой пользователь сети FastTrack, если он соответствует критериям мощности ЦП, пропускной способности Интернета и т.д., Может стать «Суперузлом». Управление сетью FastTrack на 100% автоматическое — назначение и отмена статуса суперузла происходит динамически.

Freenet

Freenet выбрала метод, который наименее эффективен, но обеспечивает максимальную конфиденциальность. Все соединения зашифрованы. Поиска здесь нет, а для загрузки файла необходимо знать его идентификатор в системе (идентификатор содержит результат хеш-функции для предотвращения подделки).

После загрузки файла запрос отправляется на соседние хосты. Если он у них есть, они отправляют копию отправителю, в противном случае они продолжают спрашивать. Если файл наконец-то найден, копия проходит через хост на хосте, и любой может или не может его кэшировать (этот выбор делается случайным образом). По умолчанию даже владелец хоста не знает, что кэшировано.

Такая сеть обеспечивает большую конфиденциальность, но за счет функциональности — отсутствие параметров поиска фактически препятствует более широкому использованию Freenet.

Прямое подключение

Direct Connect, вместо крупных специализированных серверов, основан на небольших серверах (так называемых концентраторах), которые предоставляют только простой чат и посредников при передаче результатов поиска. Сам хаб не имеет индекса.

Самым важным в Direct Connect была не сама технология передачи файлов, а технология, обеспечивающая соблюдение правил.

Для входа в хаб вам необходимо предоставить минимальное количество ресурсов, относящихся к теме хаба. Иногда это всего 500 мегабайт, иногда 100 гигабайт, типовые значения в диапазоне 2-10 гигабайт. Вы также должны предоставить соответствующее минимальное количество слотов, то есть лимит пользователей, которые могут загружать одновременно, обычно это 1 или 3 для соединений ISDN / SDI, и соответствовать всем другим необходимым условиям, которые устанавливаются администратором хаба (например, тематические хабы). Операторы хаба обеспечивают соблюдение правил, поэтому вы избегаете пользователей, которые используют только других, не делясь ничем взамен. Невыполнение этого требования может привести к кик-ауту ( выбрасыванию , пинку ), бану на определенный период или бессрочному бану.

Direct Connect поддерживает два режима:

активный (когда пользователя можно вызвать через определенный, обычно общедоступный IP-адрес с номером порта)
пассивный (обычно означает пользователя в сети за межсетевым экраном или маршрутизатором NAT без переадресации портов)
Сервер Socket5 (позволяет подключение через прокси-сервер, купить которые можно перейдя по ссылке https://proxy24.pro/#second-src-id)
Два пассивных пользователя не могут (по техническим причинам) взаимодействовать друг с другом, а результаты поиска правильно фильтруются, так что пассивные поисковики видят только активные результаты. Однако для подключения в активном режиме достаточно перенаправить любой порт.

eDonkey

Сеть eDonkey с точки зрения пользователя похожа на сеть FastTrack. Вы можете обмениваться файлами любого типа. Для использования сети требуется клиентская программа. В сети eDonkey много клиентов, наиболее известными из которых являются eDonkey2000 , eMule и клоны ( xMule , aMule ), MLDonkey .

Пользователь сети eDonkey подключается к одному из сетевых серверов. Серверы отвечают за индексирование и поиск файлов, принадлежащих клиентам. Серверы соединяются друг с другом, что позволяет вести поиск по всей сети с любого сервера. У каждого клиента есть очередь, в которой он может скачать файл. Позиция в очереди зависит от соотношения загрузки / загрузки ожидающего файла и приоритета запрошенного файла. Скачивание начинается после достижения первого места в очереди. Скачивание осуществляется блоками по 9,28 МБ. Можно загружать разные части файла с разных клиентов. Кроме того, каждая часть файла хешируется отдельно, что делает невозможным загрузку файла в поврежденном состоянии.

Преимущество сети eDonkey — безошибочная передача файлов и локальный пересчет коэффициентов загрузки, предотвращающие мошенничество. Обратной стороной является необходимость долгого ожидания в очередях, прежде чем начать загрузку менее популярных файлов.

12 сентября 2006 года MetaMachine заключила мировое соглашение с RIAA , согласно которому компания выплатила 30 миллионов долларов в качестве компенсации за ущерб для предотвращения возможных судебных исков о нарушении авторских прав . Мировое соглашение также предусматривало немедленное прекращение распространения программы eDonkey2000, а также принятие мер по предотвращению ее использования существующими пользователями приложения. Сайт тоже был удален, вместо него отображается только прощальное сообщение.

Даже в этом случае вы все равно можете использовать сеть eDonkey с другими клиентами, такими как eMule , aMule , Shareaza и MLDonkey .

BitTorrent
Основная статья: BitTorrent .
BitTorrent — протокол для обмена и распространения файлов через Интернет, целью которого является разгрузка соединений сервера обмена файлами.

Skype
Основная статья: Skype .
Skype — это программа для голосового, видео и текстового чата. Он использует протокол UDP.

Почтовый «P2P»

Эта концепция появилась недавно, она эквивалент F2F или, как вы иногда видите, F3F (обмен файлами между друзьями через дополнительный сервер хранения данных), имеет мало общего с классическим Peer2Peer — скорее всего, возникла из самой идеи обмена файлами по сети. Файлы можно отправить по электронной почте, но эта операция представляла собой трудоемкую и длительную последовательность сложных шагов — разделение файла на объемные части, принимаемые почтовым сервером, отправку их адресату по электронной почте с вложением и, возможно, проверку того, что все части дошли до адресата. Итак, было достаточно разработать приложение, которое выполняет такие действия автоматически. Основным «катализатором» идеи обмена файлами по электронной почте были бесплатные учетные записи электронной почты большой емкости, предлагаемые различными поставщиками, которые можно использовать в качестве электронных дисков для хранения или обмена данными. Так был создан Peer2Mail , а затем и E-Dek. В обеих программах перед совместным использованием вам необходимо настроить приемлемую для программы учетную запись электронной почты, затем загрузить файлы в созданное пространство и, в зависимости от программы, предоставить данные о почтовом ящике (адрес, логин, зашифрованный пароль — или, в случае E-Decek, — специальный файл, аналогичный в сети BitTorrent). Автор программы E-Dek пошел немного дальше — предоставив возможность управлять такими E-дисками (включая поиск) и создав экспериментальный почтовый протокол E-Swapp, который автоматизирует совместное использование списка файлов и передачу запросов между почтовыми ящиками .Преимущество «P2P почты» — доступность файла даже после выключения программы (фактически этот файл находится в почтовом ящике). Поиск по-прежнему проблематичен — пока поддерживается дискуссионными форумами.

Другие программы P2M: Durie, MailShare, MoorHunt, OpenP2M, Ygoow и Moorie .

Обмен файлами
Общие файлы — это в основном то, что нельзя найти на общедоступных веб-серверах. Часто передаются разные работы, не одобренные правообладателями, например:

Музыка
фильмы
книги в электронном виде
компьютерное программное обеспечение.
Однако многие из них — это песни, которые сложно передать по официальным каналам, например, аниме или песни менее известных музыкантов.

Многие файлы доступны с согласия владельцев авторских прав (например, музыкальное аниме-видео , различные фанфики, обои), для которых авторские права не защищены активно (например, многие ремиксы , старые программы), они не защищены авторским правом из-за промежуток времени ( классическая музыка , электронные версии старых книг) или P2P по причинам, не связанным с авторским правом (P2P может использоваться для обхода цензуры, ограничений на эротический контент и т. д.).

Использование P2P-сетей для загрузки контента, защищенного авторским правом, вызывает наибольшие споры, особенно среди авторов, звукозаписывающих компаний и кинокомпаний. Организации, представляющие производителей и авторов, принимают меры по борьбе с этим использованием одноранговых сетей.

Некоторые компании делают свои продукты доступными через P2P, например Red Hat .