Значит peer to peer. Что такое р2р видеонаблюдение

Значит peer to peer. Что такое р2р видеонаблюдение

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

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

«Этическая» сторона вопроса

Вообще, в последние годы активно «демонизируется» пиринговая сеть. Что это «опасно» с точки зрения получения вирусов и нелицензионного контента, говорят практически во всех СМИ.

Вот только журналисты отчего-то стыдливо умалчивают, что не менее 70% трафика от протокола Р2Р приходятся на абсолютно законопослушных пользователей и даже целые компании, которые просто разгружают свои серверы, вовлекая в обмен данными рядовые компьютеры. Простой пример: уже давно «Метелица», она же компания Blizzard, использует эти сети для обновления клиентов того же «Варкрафта» и прочих своих игр. Не стоит и упоминать, какое от игроков со всего мира там генерируется!

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

Наиболее распространенные программы

Наверняка каждый пользователь хотя бы слышал о некоторых утилитах, посредством которых и осуществляется файловый обмен. У всех на слуху µTorrent и eMule, Shareaza, KaZaA и и другие, которые постоянно упоминаются в связи с передачей той или иной информации в сети интернет. Впрочем, постараемся рассказать о них более упорядочено. Итак, что такое пиринговая сеть? Какова научная расшифровка этого понятия?

Определение

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

Именно для устранения такой «дискриминации» и была придумана пиринговая сеть, каждый компьютер в которой может не только принимать, но и передавать информацию, работая одновременно в качестве сервера и клиента. Чаще встречается аббревиатура P2P (peer-to-peer), что с английского можно перевести как «от равного к равному». Такие сети еще называют децентрализованными.

Основные принципы работы

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

Давайте приведем «наглядный» пример передачи небольшого файла в такой сети. Данные передаются небольшими кусками, которые называются пакетами. Каждый файл разбивается на множество таких пакетов, которые и скачиваются пользовательской машиной. Порядок их получения особого значения не имеет.

Отличия от стандартной сети

В случае же обычной сети есть сервер, а есть файл, который оттуда можно скачать. Скорость получения данных будет находиться в прямой зависимости как от пропускной способности сервера, так и от его загруженности в каждый конкретный момент. Проще говоря, при наличии огромного количества пользователей, каждый из которых что-то «тянет» с сервера, скорость отдачи может вообще упасть до нуля.

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

Преимущества пиринговой модели передачи данных

Куда совершеннее работает пиринговая сеть. Что это значит? Во-первых, вам не потребуется искать конкретный сервер, с которого идет передача требующегося файла. Достаточно на специальном сайте отыскать файл или магнет-ссылку, которые указывают на его существование. Скачать его можно будет при помощи специальной программы, о некоторых из которых мы уже говорили выше. И основное отличие будет в том, что скачивание может идти одновременно с сотен и тысяч однотипных источников.

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

Некоторые недостатки пиринговой модели

Мы неоднократно подчеркивали, что основной сферой использования такого рода сетей является обмен данными. Как ни странно, но в мире практически не встречается описанная нами выше пиринговая сеть. Что это означает? Дело в том, что классическая модель имеет не только многие достоинства, но и некоторые критические недостатки.

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

Чтобы стать полноправным и полноценным участником такой системы, понадобится инсталлировать на свой компьютер особую программу-клиент, которая будет отвечать за поиск свободных пиров с нужными данными. Заметим, что существует далеко не одна пиринговая сеть. Что это подразумевает?

Наиболее крупные и популярные сети для обмена файлами

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

Наиболее крупными, известными во всем мире, являются следующие Р2Р сети:

    ED2K. Передача данных осуществляется по протоколу MFTP. Клиент — известная программа eMule. Уже с 2005 года проект находится в состоянии «хронической смерти», но пока что сеть продолжает стабильно функционировать, пусть даже и скорость передачи данных быстрой никак не назвать.

    BitTorrent. Пожалуй, наиболее популярный сегмент пиринговой системы, отличающийся громадным количеством пользователей и высокой скоростью. Имеет огромное количество клиентов, к числу которых относится «эпический» uTorrent, BitComet, а также десятки иных.

    Direct Connect. Более специфический вариант, когда хабы, образованные некими группами людей, используются ограниченным (сравнительно) кругом пользователей. Чрезвычайно популярна эта модель в качестве локальной сети провайдера. Основной клиент - DC++.

    Gnutella. Вот это самая настоящая, чистая пиринговая система. Используется особый протокол передачи данных, который был создан компанией Nullsoft, разработчиком общеизвестного (хотя и умершего) «Винампа». Какие в этом случае используются клиенты пиринговых сетей? Известна программа Shareaza, LimeWire и прочие.

    FastTrack. Также характеризуется «чистой» моделью P2P, но в обмене файлами могут участвовать только те компьютеры, которые имеют их полную версию. Программы - KaZaA, mlDonkey.

Каковы основные преимущества всех этих сервисов? Все просто — никакая настройка пиринговой сети совершенно не требуется. Ставите программу, переходите по «магнитной» ссылке и... вуаля, файл начал качаться!

Основные правила обмена файлами

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

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

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

Что желательно делать при обмене?

Очень желательно, скачав какой-то файл, раздать с него же равный объем информации. Как правило, если пользователь только скачивает, но ничего не раздает, системой могут быть введены «штрафные санкции», предусматривающие полное исключение возможности получения новых файлов. Может использоваться даже блокировка по IP или МАС-адресу. В частности, этим отличается пиринговая сеть "Билайн".

    Ни в коем случае не удаляйте файл, только-только завершив его скачивание. Если есть такая возможность, как можно дольше сохраняйте его на своем жестком диске.

    Нельзя также перемещать или переименовывать полученные файлы, так как в этом случае другие пользователи также не смогут получить к ним доступ.

    Ни в коем случае не занижайте искусственно скорость исходящего канала. Разумеется, такая передача в какой-то степени нагружает ваш жесткий диск и саму систему, однако не стоит так отмахиваться от нужд других людей.

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

Правообладателям: мы вовсе не советуем распространять пиратский софт или что-то подобное. Всегда можно только поприветствовать, если пользователь участвует в обмене дистрибутивами того же «Линукса», так как это значительно разгружает серверы компаний, которые и без того зачастую живут на одни пожертвования и работают исключительно на добровольческой основе!

О защите авторских прав

Мы уже отмечали, что пиринговые сети в последние годы ассоциируются исключительно с пиратством. И чаще всего такое отношение довольно-таки оправдано, так как пользователи массово скачивают не то... Вот только в большинстве случаев пиратскому контенту есть вполне адекватная и бесплатная замена. Всегда помните об этом!

Peer-to-peer (P2P) технологии, несомненно, являются одной из наиболее популярных тем на сегодняшний день. Популярность, достигнутая с помощью таких систем как Napster,Gnutella,Edonkey,Emule,Kazaa и список таких программ можно продолжать и продолжать,подтверждает потенциал peer-to- peer систем. В этом обзоре мы раскажем о технологии Р2Р в целом, о системах (или правильней говоря) программах обретших популярность посредством этой технологии. Ведь если хорошенько ко всему этому присмотреться,можно понять что технология Р2Р может послужить введением для всех новых сторонников, разработчиков, и просто любителей, желающих заняться разработкой P2P приложений.

Что такое P2P ?

На сегодняшний день, наиболее распространенной моделью является Client/Server.

В Client/Server архитектуре, клиенты опрашивают сервер, и сервер возвращает необходимые данные и производит нужные операции над ними. На сегодняшний день существуют разные сервера в Inet: Web сервера, Mail сервера, FTP и т.д. Архитектура Client/Server - это пример централизованной архитектуры, где вся сеть зависит от центральных узлов, называемых серверами, предназначенных для обеспечения необходимых сервисов. Без серверов такая архитектура не имеет никакого смысла. Независимо от наличия в сети клиентов, сеть будет существовать исключительно при условии существования серверов.
Подобно архитектуре Client/Server, P2P также распределенная модель, но существует очень важная отличительная черта. В архитектуре P2P не существует понятия клиента или сервера. Каждый объект в сети, назовем его peer (англ. равный, такой же), имеет тот же статус, это означает, что этот объект может выполнять как функции клиента (отсылать запросы) так и сервера (получать ответы).

И хотя все peers имеют одинаковый статус, это не значит, что они должны иметь одинаковые физические возможности. P2P сеть может состоять из peers с разными возможностями, начиная от мобильных устройств и заканчивая mainframes. Некоторые мобильные peer могут и не поддерживать всех функциональных возможностей серверов, в силу ограничения их ресурсов (слабый процессор/небольшой объем памяти), однако сеть никак не ограничивает их.

Обе сетевые модели имеют свои преимущества и недостатки. Визуально вы можете видеть, что рост Client/Server системы (которая тем больше чем клиентов в нее добавлено) приводит к росту нагрузок на сервер. C каждым новым клиентом центральный узел слабеет. Таким образом, сеть может становиться перегруженной.

P2P сеть работает по другому сценарию. Каждый объект в сети (peer), является активным в сети, peer предоставляет некоторые ресурсы в сети, такие как пространство для хранения данных и дополнительные такты CPU. Чем больше peer в сети, тем больше производительность самой сети. Следовательно, по мере того как растет сеть, она становится мощнее.

Дополнительные отличия

Также P2P отличается от Client/Server модели тем, что P2P система считается рабочей, если в ней есть хотя бы один активный peer. Система будет считаться неактивной, если ни один peer не активен.

Недостатки технологии P2P

Однако существуют и недостатки у P2P систем. Во-первых, управление такой сетью намного сложнее, чем управление Client/Server системами, где администрирования требует только центральный узел - Server. Таким образом, нужно затратить намного больше усилий на поддержку security, backup, и т.п.

Во-вторых, P2P протокол намного более "разговорчивый" - peer может присоединиться к сети или выйти из нее в любой момент, и это может отрицательно сказаться на производительности.

Например:

Как правило, сеть состоит из равноправных узлов, причем каждый из них взаимодействует лишь с некоторым подмножеством узлов сети, так как установление связи "каждый с каждым" невозможно из-за ограниченности ресурсов (как вычислительных, так и пропускных). При этом передача информации между узлами, не связанными в данный момент непосредственно, может осуществляется как по своеобразной эстафете - от узла к узлу, так и путем установления временной прямой связи. Все вопросы маршрутизации и авторизации сообщений, передаваемых по эстафете, лежат не на едином сервере, а на всех этих отдельных узлах. Такое определение также известно под названием Pure P2P. Надеюсь все накопившиееся вопросы о том, что такое технология Peer-to-peer (P2P) исчерпаны. Теперь мы представялем вашему вниманию 5 лучших программ используемых пресловутую технологию Peer-to-peer (P2P).

Немного истории

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

Говоря о "первой сети обмена", я, конечно, не имел в виду, что до этого люди не обменивались файлами по сети. Любой мог послать и получить файл по почте или выложить его на ftp. Но, тем не менее, никогда ранее Сеть не потрясала такая "волна" обмена данными между пользователями - эта волна поставила под сомнение сами основы современного шоу-бизнеса.

Что же было прорывом в новой технологии?

Наверное создание гигантской распределенной базы данных, содержащей информацию "что есть у кого". Файлы классифицировались по категориям, так что можно было производить более осмысленный поиск. Так что система понимала - даже файлы с разными именами могут быть одним и тем же файлом. При этом система сама видит, у кого и сколько закачано, и подключается только к тем пользователям, что располагают частями, которых недостает вам.

Сам процесс получил название peer to peer (P2P), то есть соединение двух пользователей без использования сервера. Конечно, не так уж и "без сервера" - на самом деле серверы используются в этой схеме трижды.

Первый раз - для получения каталогов удаленных пользователей. При подключении к серверу вы отдаете ему список файлов, которые были определены вами как "общие", а взамен получаете: а) список других доступных (выделенных) серверов; б) список пользователей, которые могут выполнять роль серверов.

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

Некоторые серверы могут ограничивать количество слабых клиентов или вообще запрещать их подключение. Например в системе Overnet, ID больше не зависит от свойств клиента - вместо этого клиенты явно делятся на открытых и тех, что "за файерволом".

Что осталось от Napster"а?

Первое, что бросается в глаза, когда заходишь на www.napster.com,- это сама инсталляция нового Napster"a, которая напоминает теперь инсталляцию порно-консоли или другого трояна. Я, как бы, понимаю, что загрузка exe ничем не лучше - но все равно как-то странно все это выглядит. Следующий за инсталляцией смешной момент - сообщение о том, что Napster работает только в США. А для американов - просьба зарегистрироваться и ввести имя и пароль (как видно, в Америке идет перепись медиа-"пиратов"). Короче - не ходите туда, делать там нечего.

Эпидемия Kazaa

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

Итак, самые лучшие на сегодня программы - это те, что работают в сети e-Donkey2000 и Overnet. К их числу относится собственно сам e-Donkey и его детеныш - Overnet (хотя как от ослика может произойти такая медуза?), а также масса клонов. а теперь, наша лучшая пятерка.

1.- Первую позицию поделили Overnet"ом и e-Donkey

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

Недостатки

Недостаток и eDonkey и Overnet: состав их инсталляции входит несколько рекламных программ, так что, если вы прозеваете этот момент и не отмените установку последних, то получите на свой винт пригоршню мусора.

2.- На второй позиции eMule и другие "ослоподобные"

В числе популярных ED-"присосок" - eMule и OneMX. Они похожи настолько, что создается даже странное ощущение, будто это вообще одна и та же программа. Что, в общем-то, так и есть: первая - Open Source, вторая - "типа бесплатная". Единственное отличие - в списке серверов по умолчанию. И если eMule, в конце концов, нашел "путь к счастью" , то OneMX вообще не смог выбраться наружу - поэтому мои познания о его работе весьма скромны. Далее речь пойдет, в основном, о eMule, получить который можно (и нужно) на www.emule-project.net . eMule поддерживает два типа сети - автоматический ED2K и Kademlia Bootstrap. Не пугайтесь, это не ругательство, а система распределенного хеша - DHT, Distributed Hash Table. Система работает так: все пользователи получают идентификаторы, и файлы получают идентификаторы, и части файлов получают идентификаторы. Сначала вы подключаетесь к паре-тройке "друзей" и как бы ненароком спрашиваете, "а как пройти в библиотеку". Поскольку ваши "кореша" уже в курсе и библиотеки и других заведений, они сбрасывают вам адреса новых серверов, где могут располагаться искомые файлы - и так далее, до победного конца. Сам процесс "раскрутки" называется Bootstrap, а система идентификации и поиска всего на свете по хеш-значениям - Kademlia.В чем тут фишка - так это в том, что eMule предлагает вам самостоятельно ввести адрес первого хоста с установленным eMule или другим Kademila-сервером, так что вы сможете от него уже передвигаться к следующим хостам - и постепенно подобраться к требующимся файлам. Можно сказать, что eMule работает и как eDonkey, запрашивая данные у серверов, и как Overnet, через Kademila,- то есть применяет оба способа поиска. Другой вопрос - откуда вы возьмете этот адрес? Вот именно. Другой "напряг" этой технологии - это то, что для "поднятия" Kademila нужно указать сервер с настоящим IP-адресом, а это не слишком распространенный сейчас метод подключения, и за NAT-фаерволом это работать не будет. Но, тем не менее,- спасибо за возможность. Приятная фича eMule - он хранит недокачанные файлы отдельно, так что вы не видите "мусора" в точке назначения (как, например, у WinMX). Поэтому точкой назначения можно указать вполне приличное место, например "Мои документы". Другая приятность - это возможность посмотреть комментарии к фалу. К сожалению, часто они бестолковы, но иногда содержат и важную информацию, например "это фильм на китайском языке" :-). Кроме прочего, eMule содержат встроенный клиент IRC для живого общения с удаленными "товарищами по несчастью" - короче, полный фарш с прикладом.

Недостатки

Чрезмерно грузит систему, и не очнь высокая скорость скачивания.

3.- На третьей позиции WinMX

Ставший весьма популярным в последнее время инструмент. Его главное отличие - полное отсутствие даже намека на рекламу и прочую "ерунду". Скачать эту примочку можно на www.winmx-download-winmx.com (сама закачка происходит с сайта Morpheus-Download, что наводит на размышления; однако другой информации на тему WinMX и Morpheus я не нашел - наверное, люди предпочитают шифроваться).

WinMX - сокращение от "Windows Media eXchange". Существует порт на Mac, для других систем портов не обнаружено.

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

Закладка Поиск посвящена понятно чему - тут все ясно: вводите слова и ищете. После того как будут найдены источники, можете отпиногвать их на предмет "интересности" - хотя вы никогда не угадаете, кто вам "сольет файло", так что дискриминация тут неуместна. Разумно щелкать Download по всей группе, а не только по одному источнику - ненужные опадут сами, как осенняя листва.

Несколько непонятных сокращений вы встретите на закладке Transfers, а именно - AFS и AEQ. Это очень хорошие параметры. Первый значит Auto Find Sources и показывает период (в минутах), с каким будет выполняться попытка найти новые источники для ваших файлов. Таким образом, можно "загнать" поисковик, а можно, напротив, "попустить". Постоянно проверять новые источники нет смысла, они появляются не слишком часто - главное, никогда не устанавливайте этот параметр в Never.

Второй параметр расшифровывается как Auto EnQueue - то есть, когда вы находите файл и при этом вам предлагают стать в очередь, то в каком случае соглашаться? Для редких файлов этот параметр можно поставить в максимальное значение - 100.

AFS и AEQ по умолчанию можно настроить на закладке Configuration… почему-то Search, но не суть важно. В других клиентах таких настроек нет (или это я не нашел?).

Есть небольшой "загон" в настройках по умолчанию - вы настроены выбрасывать "inactive DL sources" каждые 10 минут. Это приводит к тому, что в один момент вы можете выбросить все источники - и закачка улетит из списка. Файл останется на месте, и вы, конечно, всегда можете "вернуть" закачку, нажав Load Incomplete - но сделать это сможете только руками… утром в понедельник, тогда как вы могли качать все выходные.

Недостатки

Многофункциональность и огромное количество настроек осложняет освоение программы рядовым пользователем.

4.- На четвертой позиции Shareaza или G2.

Shareaza (или, по-народному, Ш (З) араза) - это клиент, созданный авторами и фанатами сети Gnutella для собственных нужд:-). Shareaza поддерживает собственный протокол Gnutella2 (Mike"s Protocol, MP), протокол старой сети Gnutella 1, ED2K и BitTorrent. Поскольку MP и BitTorrent пока не получили особого распространения (хотя, все может измениться). Еще один клиент точно поддерживает G2 - mlDonkey, других обнаружить не удалось.Что хорошо - G2 имеет формальное описание, четкую систему требований и даже собственный стандарт, что может сделать эту сеть достаточно устойчивой для конкуренции с Overnet. Побочный эффект Shareaza - поскольку этот клиент обслуживает запросы сразу многих сетей, то исходящий (даже когда вы ничего и не закачиваете) трафик легко может "стартовать" до 25 Кб/с! Следите за этим, если вы выкачиваете под контролем. Ограничить скачивание можно в Config-Internet-Uploads (по умолчанию: 7 Кб/с для Core, 12 Кб/с для Partially Downloaded и по 2 Кб для каждого размера файлов, большого, среднего и малого - итого разрешенный исходящий трафик - 25 Кб/с).

5.- И наконец на пятой позиции Gnutella и BitTorrent

Самая распространенная и популярная сеть обмена (если не учитывать ED2k) называется Gnutella. Кстати, после появления Gnutella2 ее часто называют Gnutella 1 или "старая (legacy) Gnutella". В основе G1 лежит несколько другой механизм распространения запросов - но в принципе все без особых изменений. Основное отличие Gnutella - она не использует механизмы Kademlia, то есть поиск в этой сети осуществляется "вслепую", по случайным маршрутам. Лучшая критика G1 дана на сайте разработчиков Gnutella 2. - Там, например, упоминается, что в худшем случае один пользователь может "поставить на уши" 80% всей G1-сети.

Официальные программы для этой сети - BearShare (также поддерживает ED2K?), Gnucleus, Morpheus (версия: первоначально был на движке KaaZaa - FastTrack, но после "сессий" с судом Лос-Анджелеса перешел под знамена Gnutell"ы), Xolox Ultra, LimeWare, Phex. Некоторые из них написаны на Java, а некоторые даже под.NET. Каждый из этих клиентов превозносит себя как "самого": BearShare - "самый лучший", Gnucleus - "самый честный", ну и так далее.

Типичный современный клиент для сети Gnutella - LimeWire. Весь сайт LimeWare увешан надписями "быстрее, чем KaaZaa!" - хм, ну было бы чем гордиться. Главная отличительная особенность этого клиента - программа на Java. Со всеми вытекающими из этого последствиями: красиво и медленно.

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

Помимо того, в сети Gnutella я не нашел нужных мне файлов, так что знакомство с ней завершилось, так и не начавшись. Единственное, что порадовало, так это сайт www.gnutella.com (на движке Zope+Plone?) - хотя и там все закачки происходят через рекламный блок.

BitTorrent это технология распределенной закачки файлов, которая называется еще swarming,- то есть файл собирается в одно целое, подобно тому как пчелы собирают мед в улей. Собственно, сам BT - это серверная часть для загрузки вот таким вот образом.

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

Руководство к действию

Вы знаете, что вам нужно,- и готовы получить это любым путем. Дополнительное условие - у вас огромный канал и вы не платите за трафик. Ваши действия - можете установить параллельно три утилиты - WinMX, eMule и Shareaza - качать они будут, как показывает опыт, из разных источников. Конечно, вы будете несколько раз дублировать файлы, но ваши шансы получить их при жизни значительно возрастут. Не втрое, конечно (люди-то и серверы во всех сетях часто одни и те же) - но тем не менее.

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

Другие клиенты, например WinMX, тоже способны на многое (ставить не страшно, рекламных консолей там нет).

Если у вас реально нет проблем с трафиком, можете активно пользовать Overnet - но будьте готовы к тому, что вся сеть станет публиковать на вашем узле соответствующие вашему ID фрагменты. А это, скажу я вам, не шутка - по крайней мере, обязательно ставьте ограничители трафика!

А вот уж чего делать не советую - так это ставить "бесплатные" гнутелльные софтины (если, конечно, не хотите потом всю жизнь удалять с винта тараканов). Сама-то сетка Gnutella не виновата, а вот софт-пакеры удивляют своей наглостью и желанием получать прибыль от открытого кода. Ну во и все наверное, пишите,стучите, и верьте, что на наших сайтах у меня на "ПромоNews" , и "SuperQ" Вы всегда получите ответы на столь необходимые и важные вопросы. Наш девиз звучит примерно так: "Найди себя среди друзей!" Удачи:)

Давайте отвлечемся от запретов в различных странах, давайте не будем думать, что P2P - механизм обхода блокировок.

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

Что такое настоящий P2P ?

Давайте введем понятие - настоящий P2P .

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

Изменение функций - это ничто иное как предоставление тех функций которые не могут работать у некоторых узлов одноранговой сети из-за ограничений:
1) За NAT"ом
2) Мобильные устройства

Оба класса устройств либо не могут иметь прямой доступ к сети (NAT) или могут, но строго не рекомендовано - (Мобильные устройства) из-за повышенного энергопотребления при огромном количестве подключений.

Для устранения данной проблемы используются такие технологии как TCP Relay (тк большинство P2P систем используют UDP, с огромным количеством одновременных подключений можно выбрать себе узел который будет выполнять функции получения запросов из сети по UDP и пересылки их на конечное устройство по TCP через одно и тоже соединение) Хочу напомнить, что подобный механизм уже был очень давно реализован в Skype, до его покупки компанией MS эти функции работали, позднее - понятие «супер ноды» в Skype ушло и их заменяют сервера MS.

Очень важно не путать P2P и Mesh сети. P2P - это одноранговое взаимодействие на уровне 3 и выше по модели OSI, Mesh - на 3 и ниже соответственно.

Какие проблемы решает P2P сети и какие технологии уйдут при повсеместном внедрении P2P?

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

Но зачем нужно кэширование, если контент попавший в сеть оператора при повторном запросе скорее всего будет запрошен из сети оператора?
При этом не надо строить никакой новой инфраструктуры вообще.

CDN
Система доставки контента используется в основном для доставки «тяжелого» контента, музыки, видео, игровых образом (steam), что бы снизить нагрузку на основной сервер и снизить время отклика - в разные страны и/или регионы ставиться CDN сервера, которые выполняют функцию балансировки нагрузки.

Данные сервера нужно обслуживать, затрачивая человека-часы их надо настраивать и они не смогут динамически увеличить свою пропускную способность или допустим:
В Нижнем Новгороде всегда был популярен сервис Giwi.get который позволяет в он-лайне смотреть легальный контент, CDN сервер в регионе может одновременно предоставить возможность просмотра фильмов и сериалов только 100 000 пользователей. Но внезапно на сервисе появляется новый контент (сериал) по прогнозам которые были сделаны на основе исследований, данный сериал не должен был заинтересовать людей из данного региона.

Но почему, то он заинтересовал, и все решили его посмотреть - естественно CDN не справиться, в лучшем случае контент сможет обработать соседний CDN, но не факт что CDN соседний готов к такой нагрузке.

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

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

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

Провайдеры кстати тоже будут рады, даже сейчас провайдер предоставляет такие тарифы, что его аплинк не ровняется суммарному количеству всех пользователей.
Другими словами - если все пользователи начнут использовать на 100% свой тариф - аплинк у провайдера закончиться очень быстро.

Очевидно, что P2P решения дают возможность провайдеру сказать, что он предоставляет вам доступ к сети на скорости хоть 1 TB\c тк контент в сети очень редко бывает уникален, провайдер (который имеет пирсинг с соседями провайдерами из города) сможет с большой долей вероятности предоставить доступ к контенту на тарифной скорости.

Никаких лишних серверов в сети
Сейчас в сети провайдера обычно стоят такие сервера как: Google CDN (/Youtube), Yandex CDN/пиринг, DPI, + другие специфические сервера CDN/Кэширования которые используются в данном регионе.

Очевидно, что можно ликвидировать все CDN сервера и лишний пиринг (с сервисами, а не с провайдерами), DPI в такой ситуации тоже будет не нужен, тк в часы ЧНН не будет таких резких скачков нагрузку. Почему?

ЧНН - Забудьте эту аббревиатуру
ЧНН - Час наибольшей нагрузки, традиционно это утренние часы и вечерние часы, причем всегда заметны несколько пиков ЧНН в зависимости от рода занятости людей:

Пики вечернего ЧНН:
1) Возвращение школьников из школы
2) Возвращение студентов из вузов
3) Возвращение работников которые работают по графику 5/2

Данные пики вы сможете увидеть на любом оборудовании которое анализируют сетевую нагрузку на канал.

P2P Решает и эту проблему, тк велика вероятность, что контент который интересен школьникам может быть интересен как студентам так и работникам - соответственно он уже есть внутри сети провайдера - соответственно ЧНН на магистрали не будет.

Далёкое будущее

Мы отправляем свои аппараты на луну и на марс, уже давно есть интернет на МКС.

Очевидно, что в дальнейшем развитие технологий позволит осуществлять полёты в далёкий космос и длительное нахождение человека на других планетах.

Они тоже должны быть связаны в общую сеть, если мы рассматриваем классическую систему Клиент-Сервер, и сервера расположены на земле, а клиенты скажем на Марсе - Пинг убьет любе взаимодействие.

А если мы предполагаем, что на другой планете будет наша колония которая будет расти - то как и на земле они будут пользоваться интернетом, понятное что им нужны будут те же инструменты, что и нам:
1) Мессенджер
2) Соц-сети
И это минимально-необходимое количество сервисов которые позволяют обмениваться информацией.

Логично, что контент который будет генерироваться на Марсе будет интересен и популярен на марсе, а не на земле, как быть соц.-сетям?
Устанавливать свои сервера которые будут автономно работать и через некоторое время синхронизироваться с землёй?

P2P сети решать и эту проблему - на марсе у источника контента свои подписчики, на земле - свои, но соц.-сеть одна и та же, но если у Марсианского жителя будет подписчик с земли - нет проблем, при наличии канала контент прилетит и на другую планету.

Что важно отметить - не будет рассинхронизации, которая может случиться в традиционных сетях, не надо устанавливать никаких лишних серверов там и даже что-то настраивать. P2P система позаботиться сама о поддержке актуальности контента.

Разрыв каналов

Вернемся к нашему мысленному эксперименту - на марсе живут люди, на земле живут люди - все они обмениваются контентом, но в один прекрасный момент происходит катастрофа и связь между планетами пропадает.

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

P2P Сети при разрыве канала с легкостью переходят в автономный режим - в котором она будет существовать полностью автономно и без какого-либо взаимодействия.
А как только связь появиться - все службы автоматически синхронизируется.

Но марс - это далеко, даже на земле могут быть проблемы с разрывом канала связи.

Вспомните последние громкие проекты Google/Facebook с покрытием новых территорий интернетом.
Некоторые уголки нашей планеты всё еще не подключены к сети. Подключение может быть слишком дорогим или экономически не оправданным.

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

Выживаемость сети

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

Вспоминаем ситуацию с марсом, все устройства поступают на марс с земли, и в один прекрасный день сервер компании Uandex или LCQ ломается - перегорел контроллер RAID, или другая неисправность - и все марсиане опять же без MarsiGram или того хуже - не смогу обмениваться простыми сообщениями друг с другом. Новый сервер или его компоненты приедут с земли ох как не скоро.

При P2P решении - выход из строя одного участника сети никак не сказывается на работе сети.

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

Так, что будущее - это определенно P2P, как изменил мир P2P можно наблюдать уже сейчас:
Skype - небольшая компания не тратила деньги на сервера смогла вырасти до огромного гиганта
Bittorrent - OpenSource проекты могут передавать файлы не нагружая свои сервера

Это только два ярких представителя информационной революции. На подходе множество других программ которые изменят мир.

Одна из первых пиринговых сетей, создана в 2000 г. Она функционирует до сих пор, хотя из-за серьезных недостатков алгоритма пользователи в настоящее время предпочитают сеть Gnutella2 .

При подключении клиент получает от узла, с которым ему удалось соединиться, список из пяти активных узлов; им отсылается запрос на поиск ресурса по ключевому слову. Узлы ищут у себя соответствующие запросу ресурсы и, если не находят их, пересылают запрос активным узлам вверх по “дереву” (топология сети имеет структуру графа типа “дерево”), пока не найдется ресурс или не будет превышено максимальное число шагов. Такой поиск называется размножением запросов (query flooding).

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

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

Недостатки протокола Gnutella инициировали разработку принципиально новых алгоритмов поиска маршрутов и ресурсов и привели к созданию группы протоколов DHT (Distributed Hash Tables) - в частности, протокола Kademlia, который сейчас широко используется в наиболее крупных сетях.

Запросы в сети Gnutella пересылаются по TCP или UDP, копирование файлов осуществляется через протокол HTTP. В последнее время появились расширения для клиентских программ, позволяющие копировать файлы по UDP, делать XML-запросы метаинформации о файлах.

В 2003 г. был создан принципиально новый протокол Gnutella2 и первые поддерживающие его клиенты, которые были обратносовместимы с клиентами Gnutella. В соответствии с ним некоторые узлы становятся концентраторами, остальные же являются обычными узлами (leaves). Каждый обычный узел имеет соединение с одним-двумя концентраторами. А концентратор связан с сотнями обычных узлов и десятками других концентраторов. Каждый узел периодически пересылает концентратору список идентификаторов ключевых слов, по которым можно найти публикуемые данным узлом ресурсы. Идентификаторы сохраняются в общей таблице на концентраторе. Когда узел “хочет” найти ресурс, он посылает запрос по ключевому слову своему концентратору, последний либо находит ресурс в своей таблице и возвращает ID узла, обладающего ресурсом, либо возвращает список других концентраторов, которые узел вновь запрашивает по очереди случайным образом. Такой поиск называется поиском с помощью метода блужданий (random walk).

Примечательной особенностью сети Gnutella2 является возможность размножения информации о файле в сети без копирования самого файла, что очень полезно с точки зрения отслеживания вирусов. Для передаваемых пакетов в сети разработан собственный формат, похожий на XML, гибко реализующий возможность наращивания функциональности сети путем добавления дополнительной служебной информации. Запросы и списки ID ключевых слов пересылаются на концентраторы по UDP.

Вот перечень наиболее распространенных клиентских программ для Gnutella и Gnutella2: Shareaza, Kiwi, Alpha, Morpheus, Gnucleus, Adagio Pocket G2 (Windows Pocket PC), FileScope, iMesh, MLDonkey

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

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

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

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

Современные гибридные P2P сети используют сервер не для хранения информации, а для распределения работы сети и объединения клиентов. Большую известность получили такие пиринговые протоколы BitTorrent, eDonkey и Direct Connect.

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

Наиболее популярными BitTorrent клиентами выступают: Deluge, uTorrent, Vuze, Transmission, BitComet, Shareaza и ряд других. Для сетей Direct Connect предназначены клиенты: StrongDC++, FlylinkDC++, ApexDC++.


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