Образ мышления большинства россиян таков, что даже если они в состоянии заплатить и купить легальную копию программы, они будут упорно искать лазить по хакерским сайтам для недобросовестного приобретения данного программного продукта.
Но отойти от этого способа поиска халявы лично меня побудило посещения одного такого ресурса, где в окошке с кнопочкой «download crack» была просьба, которая в вольном переводе звучит следующим образом: «если крак, который вы сейчас закачиваете, работает как надо – напишите нам об этом».
Последнее время большое распространение получили так называемые пиринговые сети, то есть сети, основанные на технологии P2P (peer-to-peer). Взлом shareware софта – отнюдь не единственное предназначение таких сетей: что делать обычному рядовому российскому сетянину, которому хочется слушать музыку, а денег нет на платные mp3 архивы? Проблема усугубляется взаимоотношениями некоторых провайдеров, из-за чего – delit.net, один из самых популярных бесплатных mp3-архивов, стал недоступен.
Последнее время все большее число гигантов ИТ-мира стали обращать внимание на эту технологию. Например – компания Sun, объявившая о том, что в новый протокол Jxta («Джакста») будет добавлена поддержка карманных компьютеров и мобильных телефонов, что позволит мобильным устройствам получать доступ к данным и обмениваться информацией в P2P-сетях.
7 лет назад, в 1996 г., израильские программисты изобрели программу межпользовательского онлайнового общения ICQ, а уже сегодня не встретишь ни дного пользователя сети, который не слышал бы о ней; номер «Аськи» стали указывать наряду с e-mail.
Спустя три года после изобретения этой программы в сети появился сервис под названием Napster, который сделал обмен «mp3-шками» в Internet настолько же простым и удобным, как чат в ICQ.
Когда же разгорелся спор между аудиозаписывающими компаниями и Napster по поводу законности такого сервиса, интерес к P2P сильно возрос. Стали появляться подобные ей сети, где обмен данными не был ограничен лишь аудиофайлами.
Большинство компьютерных сетей построены по принципу «клиент-сервер».
Связь между двумя клиентами сети происходит посредством сервера, что предъявляет значительные требования к его ресурсам. К тому же стабильность сети целиком зависит от центрального сервера: нет его – нет и сети. Но есть и положительные моменты: вся информация хранится на центральном сервере и ее достоверность и «свежесть» можно легко контролировать.
Но время не стоит на месте: локальные сети объединяют друг с другом и происходит уже что-то более глобальное, пример тому – Интернет. Наиболее значимым преимуществом данной топологии является масштабируемость, которую прекрасно продемонстрировал DNS: за последние пятнадцать лет число обслуживаемых этим сервисом узлов возросло с нескольких тысяч до сотен миллионов, и хотя сбои время от времени случаются, носят они локальный и, как правило, временный характер. Так что система демонстрирует завидную надежность, особенно по сравнению с предыдущим примером, но информация в такой сети не отличается абсолютной точностью – для ее обновления необходимо обновлять не только центральный сервер.
Возникает логичный вопрос: а если вообще убрать сервер и соединять клиентов напрямую? Это и попытались реализовать в технологии «P2P».
Четкого определения, что же такое P2P, нет. Поэтому приведу два наиболее распространенных. P2P (peer-to-peer) – это технология построения распределенной сети, где каждый узел может одновременно выступать как в роли клиента (получателя информации), так и в роли сервера (поставщика информации). Как правило, сеть состоит из равноправных узлов, причем каждый из них взаимодействует лишь с некоторым подмножеством узлов сети, так как установление связи «каждый с каждым» невозможно из-за ограниченности ресурсов (как вычислительных, так и пропускных). При этом передача информации между узлами, не связанными в данный момент непосредственно, может осуществляться как по своеобразной эстафете – от узла к узлу, так и путем установления временной прямой связи. Все вопросы маршрутизации и авторизации сообщений, передаваемых по эстафете, лежат не на едином сервере, а на всех этих отдельных узлах. Такое определение также известно под названием Pure P2P.
Второе определение носит более общий характер: P2P – это класс приложений, совместно использующих распределенные ресурсы (дисковое пространство и файлы, вычислительные ресурсы, пропускную способность и т. д.) К этому определению и относятся пиринговые сети.
Сфера применения данной технологии довольно обширна, но на данный момент успешны только четыре направления:
В этой статье мы остановимся только на файло-обменных, иначе говоря, пиринговых сетях.
Для работы в таких сетях требуются программы-клиенты – на официальном сайте представлены примеры, но этим не ограничивается.
Суть в том, что название сети – это не обязательно название программы, которая требуется для работы в ней; скорее – это стандарт передачи данных, поэтому существуют клиенты, которые могут работать в нескольких сетях.
Все «файлообменники» можно разделить на две большие категории:
Представителей первой категории не так много, да и первая сеть, появившаяся на мировой арене была не такой, так что начнем со второй.
Официальный сайт: http://www.napster.com/.
Доступно для обмена: mp3.
Принцип работы: через центральный сервер.
Положение на данный момент: Сеть бездействует.
Как и любой первопроходец в мире высоких технологий, Napster был далек от совершенства. Обмен был ограничен только mp3, отсутствовала докачка. Но как «пионер», он заслуживает внимания.
Механизм работы прост до безобразия:
Как видим, сервер присутствует здесь в трех этапах, тогда как принцип P2P работает только на этапе закачки файла. По сути, именно завязка на центральный сервер и сгубила данную сеть.
Программа-клиент на главном сервере отсутствует, вместо нее гордая надпись «under construction», так что привожу ссылку, кому интересно: самая первая программа от Шона Фена.
Официальный сайт: http://www.kazaa.com/.
Доступно для обмена: mp3, avi, mpg, asf, jpeg, gif, bmp, doc, rar, zip, exe и еще множество форматов.
Принцип работы: через центральный сервер.
Положение на данный момент: Сеть процветает и является самой большой из ныне действующих.
Неофициальное название сети – «коза рогатая».
Принцип работы примерно такой же, что и у предыдущей, с той лишь разницей, что база данных хранится не на сервере, а у конкретного пользователя на диске, а также стал значительно мощнее механизм закачки.
Количество подключенных в сети никогда (по крайней мере, при мне) не опускалось ниже 500,000. Поэтому найти в ней можно все, что душе угодно.
Достоинств у нее множество:
Есть и недостатки:
Официальный сайт: http://www.edonkey2000.com/.
Доступно для обмена: все, что угодно.
Принцип работы: через центральные сервера.
Положение на данный момент: Сеть работает.
Название данной сети, а точнее ее программы-клиента лично мне режет ухо. В повседневности «Осликом» принято называть небезызвестный браузер от не менее небезызвестной корпорации.
Я не случайно написал, что принцип работы данной сети основан не на «центральном сервере», а на «центральных серверах». Итак, разбор полетов: «Осел» сделан несколько по другому – полное отсутствие центрального сервера – все построено чуть ли не на ежеминутно появляющихся серверах. Свежий список серверов всегда можно найти здесь.
Сервера выполняют роль «телефонной книги», а сама закачка производится «P2P». Интересной особенностью данной сети является тот факт, что как только пользователь начал качать какой-то файл – он сам становится «местом, где этот файл можно скачать». Причем, даже если файл переименован, он все равно будет опознан по своеобразному индексу.
Кстати, существует русская страничка ослика – http://edonkey2000.boom.ru/, правда местами недоделанная, но все же описывающая последовательность действий при работе с данной программой. Там же есть клиенты, причем не только для «детищ Билла», но и для Linux и Mac OS.
У меня есть пара знакомых, которые от этого «осла» в полном восторге; по их словам в данной сети они «находили много чего такого, про что ни в какой «козе рогатой» (Kazaa) даже и не слыхивали».
Официальный сайт: http://www.imesh.com/.
Доступно для обмена: mp3, avi, mpg, asf, jpeg, gif, bmp, rar, zip, exe и еще несколько.
Принцип работы: через центральный сервер.
Положение на данный момент: Сеть работает.
Эта сеть появилась через пару месяцев после «выхода в эфир» Napster'a. Впоследствии, ее популярность затмили такие монстры, как Kazaa, Morpheus. На данный момент производит впечатление слабо развитой, но неплохой сети. Народу в ней не больше 50000. Ищет и качает хуже.
Но сама программа-клиент довольно стабильная и не требует высокочастного «железа». На слабых машинах (<Pentium 100) и при низких скоростях (<28 kbit/s) работает лучше, чем Morpheus. К плюсам можно отнести: закачку сразу у нескольких человек, докачка, умение оценивать качество доступа к файлу. На каждый тип файлов в результатах поиска выдает свой отчет (например, для Audio: битрейт, размер и т. д.).
Далее перейдем ко второй категории сетей. Итак, встречайте:
У них есть огромно достоинство перед всеми предыдущими, так как их вообще невозможно закрыть, даже если очень захотеть. Вот Napster, например, прикрыли очень просто – сервак из розетки выдернули и баста.
Кроме достоинств есть и свои недостатки. Если вы работаете в Интернете по dial-up'у, то при работе с такими сетями существует две рекомендации:
Если подытожить все вышесказанное, то это звучит коротко: тормоза. Причем очень большие.
Дело в том, что каждый клиент данной сети при работе пропускает через свое железо очень много информации, которая не имеет лично к вам никакого отношения – это поисковые запросы других пользователей. Поэтому, работа в данных сетях с сохранением нервов возможна только по выделенной линии. Хотя возможности такие сети открывают безграничные.
Официальный сайт: gnutella.wego.com.
Доступно для обмена: mp3, avi, asf, mpg, jpeg, gif, bmp и все остальные.
Принцип работы: без центрального сервера.
Положение на данный момент: Сеть работает.
Это пример того, как работает чистая P2P сеть.
История ее появления очень забавная: эту сеть началa создавать America-on-Line с корыстными целями. Собрали одних из лучших сетевых программистов, которые придумали непобедимое чудо сетевых технологий. Но, так получилось, что AOL объединился со звукозаписывающей компанией и понял, какую собаку он себе подложил. Сеть попытались закрыть, но она оказалась непобедимой, плюс, непосредственно создатели сопротивлялись. От AOL они ушли, и стали строить эту сеть сами. Вот так AOL навредил самому себе. Gnutella построена по собственной особой технологии без центральных узлов gPulp. Узлами здесь служат сами пользователи, а саму программу вывести из строя невозможно. Поэтому, даже если самих программистов «раскулачат», сеть закрыть никто не сможет.
Возможности сети реально безграничны. Обмениваться можно любым форматом, есть множество удобных функций.
Начнем с плюсов:
В минусах только то, что для работы с ней нужен очень мощный компьютер. Как было сказано выше, это связано с тем, что каждый подключенный – есть узел обрабатывающий и пропускающий поисковые запросы. Вы можете даже наблюдать за этим сами, там есть такая опция. Количество связанных с вами хостов зависит тоже от мощности компьютера и от сети. Максимум у меня получалось подключиться к 20 хостам, что обеспечивало мне доступ примерно к 3 Терабайтам (3000 GB) данных.
Механизм работы:
Некоторые клиенты Gnutella работают в соответствии с приведенным алгоритмом, а некоторые нет. Связано это с тем, что Gnutella – это, прежде всего, протокол взаимодействия узлов (такой же, как HTTP, например), и в нем не определены некоторые из аспектов этого взаимодействия.
Итак, если вы счастливый обладатель (или имеющий доступ) выделенной сети, то вам будет значительно приятнее обратиться к чисто пиринговым сетям, таким, как Gnutella. А если вы среднестатистический российский «диалапщик», то пробуйте и ищите, «на вкус и цвет товарища нет»: кому-то больше по душе «коза» придется, а кому-то и «осел».
Как и у любой молодой технологии, у P2P есть, помимо технических, и свои социальные проблемы. Многие исследователи отмечают весьма неприятную ситуацию, сложившуюся в Gnutella: около 70% пользователей не добавляют вообще никаких файлов в обменный фонд, а около 50% всех найденных ресурсов предоставлены 1% (одним процентом!) пользователей. Психология «общества массового потребления» постепенно превращает сеть равноправных узлов в клиент-серверную, со всеми вытекающими последствиями (падение производительности и надежности).
Существует и проблема так называемого паразитического подключения: в сети появляются сервера, предоставляющие свои пользователям возможности по поиску контента без установки программы-клиента. Таким образом, получая информацию и генерируя громадный трафик, такие сервера не предоставляют сообществу ничего взамен. Впрочем, последние версии ряда программ уже способны с этим справляться – они распознают запросы «паразитов» и либо их игнорируют, либо предлагают установить таки клиентскую часть.
Другая проблема P2P сетей связана с тем, что обмен информацией осуществляется между «незнакомыми» узлами (отсутствует опыт по обмену в прошлом), что порождает вполне объяснимые сомнения в качестве и достоверности предоставляемого контента.
Но, тем не менее, технология P2P лишний раз доказывает, что история имеет тенденцию повторяться. Подзабытые во времена эйфории по поводу клиент-серверных технологий, одно-ранговые модели возвращаются, превращаясь в популярные и, самое главное, востребованные решения.