Содержание:
Введение . . . . . . . . . . . 3
1. Прошлое поколение сетей. Принцип «клиент-сервер» . . 4
2. Технология P2P и принцип «клиент-клиент». . . . 6
3. Основные пиринговые сети.
3.1. Первые сети – Napster и Gnutella. . . . . 8
3.2 eDonkey2000 и OVERNET. . . . . . 11
3.3 FastTrack или KaZaA. . . . . . 12
3.4 DirectConnect. . . . . . . . . 13
3.5 Bit Torrent. . . . . . . . . 15
4. Заключение. . . . . . . . . . . 19
5. Список использованных источников. . . . . . 21
Введение.
По мере развития Интернета все больший интерес у пользователей вызывают технологии обмена файлами. Более доступная, чем раньше, Сеть и наличие широких каналов доступа позволяют значительно проще находить и закачивать нужные файлы. Не последнюю роль в этом процессе играют современные технологии и принципы построения сообществ, которые позволяют строить системы, весьма эффективные с точки зрения как организаторов, так и пользователей файлообменных сетей. Таким образом данная тема на сегодняшний день является актуальной, т.к. постоянно появляются новые сети, а старые либо прекращают работу, либо модифицируются и улучшаются. По некоторым данным, в настоящее время в Интернете более половины всего трафика приходится на трафик файлообменных пиринговых сетей, а размеры самых крупных из них перевалили за отметку в миллион одновременно работающих узлов, разделяющих петабайты (1048576 Гбайт) информации. Общее количество зарегистрированных участников таких файлообменных сетей во всем мире составляет порядка 100 млн.
В данной работе я рассмотрю отдельные принципы функционирования ресурсов этой тематики, принципы функционирования популярных пиринговых сетей, активно применяемых для обмена файлами, а также проблемы их использования.
1. Прошлое поколение сетей. Принцип «клиент-сервер».
Несмотря на то, что этот принцип всё реже и реже используется в файлообменных сетях, он является стандартным и самым распространённым в интернете, т.к. на нём построена основная служба – World Wide Web. Принцип «клиент-сервер» можно легко понять на примере системы «человек-организация». Допустим, у человека(клиент) есть какая-то просьба(запрос): он идет в организацию(сервер) или каким-либо иным образом устанавливает контакт с ней, обращается к определенным лицам со своей просьбой; учреждение ее выполняет или нет. Все действия осуществляются через центральное звено, которое может и должно удовлетворить то или иное требование. Так, например, происходит при просмотре интернет-страниц либо при загрузке какой-нибудь программы. Вполне возможно, что одно центральное звено, или организация, даст вам отказ и перенаправит к другому центральному звену (то есть организации), которое вашу просьбу выполнит.
В интернете центральное звено — сервер — сам по себе неактивен, то есть не обращается к компьютерам пользователей с просьбами, не осуществляет их поиск, а ждет, когда сами пользователи обратятся к нему с каким-нибудь запросом. Таким образом, в сети «клиент—сервер» роли жестко разграничены: клиент ставит задачи, сервер выполняет или отклоняет их. Сервер не может поставить задачу перед клиентом. Только клиент может инициировать соединение, а сервер лишь отвечает на запросы. Именно по такому принципу работают протоколы HTTP и FTP (соответственно НТТР- и FTP-серверы).
«Протокол FTP (File Transfer Protocol) определяет правила передачи файлов с одного компьютера на другой и даёт возможность абоненту обмениваться двоичными и текстовыми файлами с любым компьютером Сети. Установив связь с удаленным компьютером, пользователь может скопировать файлы и каталоги с удалённого компьютера на свой или наоборот. Для работы с FTP нужно иметь доступ на удалённую машину, т.е. знать входное имя и соответствующий пароль. Некоторые Ftp-клиенты поддерживают автоматическое перекодирование текстовых данных, сжатие и распаковку. Существует подвид протокола FTP – анонимный FTP. Здесь для идентификации можно ввести условное имя – anonymous , но при этом доступен будет лишь общий архив файлов сервера.»([3], стр. 78-9)
Файловая сеть FTP – пример централизованной сети, т.е. сети, в которой должен быть выделенный сервер, контролирующий скачивание, загрузку и хранение файлов. Такая сеть обладает рядом недостатков, из за которых она всё больше теряет популярность, а именно:
затруднён поиск нужных файлов;
скорость скачивания ограничена пропускной способностью сервера;
при выходе сервера из строя сеть прекращает работу;
роли жестко разграничены: клиент посылает запросы, сервер выполняет или отклоняет их.
Таким образом эти недостатки, а также разрастающееся в больших масштабах пиратство (нарушения авторских прав при распространении различного рода произведений без согласия их авторов или издателей) послужили предпосылками для создания файлообменных сетей нового поколения – пиринговых сетей.
2. Технология P2P и принцип «клиент-клиент».
Впервые термин peer-to-peer (P2P –англ. «равный к равному») был использован в 1984 г. компанией IBM при разработке сетевой архитектуры для динамической маршрутизации трафика через компьютерные сети с произвольной топологией (Advanced Peer to Peer Networking). В основе технологии лежит принцип децентрализации: все узлы в сети P2P равноправны, т.е. каждый узел может одновременно выступать как в роли клиента (получателя информации), так и в роли сервера (поставщика информации). «Это обеспечивает такие преимущества технологии P2P перед клиент-серверным подходом, как отказоустойчивость при потере связи с несколькими узлами сети, увеличение скорости получения данных за счет копирования одновременно из нескольких источников, возможность разделения ресурсов без “привязки” к конкретным IP-адресам, огромная мощность сети в целом и др.»[6]
Каждый из равноправных узлов взаимодействует напрямую лишь с некоторым подмножеством узлов сети. В случае необходимости передачи файлов между неконтактирующими напрямую узлами сети передача файлов осуществляется либо через узлы-посредники, либо по временно установленному прямому соединению (оно специально устанавливается на период передачи). В своей работе файлообменные сети используют свой собственный набор протоколов и ПО, который несовместим с протоколами FTP и HTTP и обладает важными усовершенствованиями и отличиями. Во-первых, каждый клиент такой сети, скачивая данные, позволяет подключаться к нему другим клиентам. Во-вторых, P2P-серверы (в отличие от HTTP и FTP) не хранят файлов для обмена, а их функции сводятся в основном к координации совместной работы пользователей в данной сети. Для этого они ведут своеобразную базу данных, в которой хранятся следующие сведения:
• какой IP-адрес имеет тот или иной пользователь сети;
• какие файлы размещены у какого клиента;
• какие фрагменты каких файлов где находятся;
• статистика того, кто сколько скачал себе и дал скачать другим.
Работа в типичной файлообменной сети строится следующим образом:
• Клиент запрашивает в сети требуемый файл (перед этим возможно проведя поиск нужного файла по данным, хранящимся на серверах).
• Если нужный файл имеется и найден, сервер отдает клиенту IP-адреса других клиентов, у которых данный файл был найден.
• Клиент, запросивший файл, устанавливает «прямое» соединение с клиентом или клиентами, у которых имеется нужный файл, и начинает его скачивать (если клиент не отключен в это время от сети или не пе регружен). При этом в большинстве P2P-сетей возможно скачивание одного файла сразу из нескольких источников.
• Клиенты информируют сервер обо всех клиентах, которые
к ним подключаются, и файлах, которые те запрашивают.
Сервер заносит в свою базу данных кто что скачал (даже если
скачаны файлы не целиком).
Сети, созданные на основе технологии Peer-to-Peer, также называются пиринговыми, одноранговыми или децентрализованными. И хотя они используются сейчас в основном для разделения файлов, существует еще много других областей, где данная технология тоже успешно применяется, — это телевидение и аудиотрансляции, параллельное программирование, распределенное кэширование ресурсов для разгрузки серверов, рассылка уведомлений и статей, поддержка системы доменных имен, индексирование распределенных ресурсов и их поиск, резервное копирование и создание устойчивых распределенных хранилищ данных, обмен сообщениями, создание систем, устойчивых к атакам типа “отказ в обслуживании”, распространение программных модулей.
3. Основные пиринговые сети.
3.1. Первые сети – Napster и Gnutella.
«Однажды, в конце 1998 г., студенту по кличке «Napster», которого звали Шон Фаннинг, пришла в голову мысль, как можно обойти сложившиеся в Интернете ограничения и создать на его основе систему, которая бы представляла собой всемирную базу данных файлов, предназначенных для обмена — что-то вроде глобальной «файловой биржи». Фаннинг бросил учебу в начале 1999 г., и уже в мае того же года служба была введена в эксплуатацию — она требовала наличия у пользователей специальной программы подназванием Napster, позволявшей бесплатно скачивать через интернет данные, предоставляемые другими пользователями. Сам Фаннинг обеспечивал функционирование центральной базы данных (на www.napster.com).»[1],стр14Далее популярность Napster разрастается семимильными шагами. В течение нескольких месяцев с момента начала работы она достигает колоссальных размеров: число активных пользователей увеличивается до миллиона, ежедневно через Napster проходят сотни тысяч файлов. Обмен большей их части осуществляется нелегально. Владельцы авторских прав (издательские фирмы, звукозаписывающие и другие компании) должным образом реагируют на сложившуюся ситуацию: через тринадцать месяцев с начала действия Napster было вынесено судебное постановление о запрете ее эксплуатации (июнь 2000 г.). На тот момент Napster имела уже почти 40 миллионов пользователей!
Причина, по которой к Napster все-таки смогли быть предъявлены обвинения, заключалась в ее технологических особенностях. Файлообменная сеть Napster требовала наличия центрального сервера, который контролировал и обеспечивал функционирование всей системы (см. рис. 1.1). А по авторскому законодательству, провайдеры и сетевые службы, даже если сами не занимаются нелицензионным распространением материалов, но контролируют и обеспечивают функционирование подобной деятельности, все равно подлежат привлечению к ответственности.
Gnutella.
Gnutella — была создана в 2000 г программистами фирмы Nullsoft как преемница Napster. Она функционирует до сих пор, хотя из-за серьезных недостатков алгоритма пользователи в настоящее время предпочитают сеть 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.
3.2 eDonkey2000 и OVERNET.
eDonkey2000 и OVERNET – родственные сети. eDonkey – одна из самых разветвленных пиринговых сетей во всем мире. Одновременно в ней работают в среднем 1,3 миллиона пользователей. Сеть eDonkey отличается от рассмотренных ранее тем, что является своеобразной полуцентрализованной сетью — для нее обязательно наличие как сервера, так и клиентов. Однако слово «сервер» здесь звучит слишком громко, так как любой пользователь, подключенный к интернету, может легко создать сервер сети eDonkey и распространять среди других информацию о том, где находится тот или иной файл. Существуют тысячи таких мини-серверов, взаимодействующих друг с другом; для входа в eDonkey достаточно найти хотя бы один сервер, у которого можно получить информацию о других. В сети содержится огромное количество перечней таких серверов, посмотреть часть из которых можно, зайдя по адресу http://www.edonkey2000.com. Другая важная особенность eDonkey заключается в том, что она наиболее часто используется для скачивания фильмов (видео-данных).Сеть eDonkey отличается от других существенным новшеством —использованием так называемых хэш-ссылок (hash links). Это ссылки на интернет-страницах, которые приводят в действие команду загрузки того или иного файла из сети eDonkey/Overnet. Благодаря им нет необходимости прибегать к командам поиска, которые иногда не работают. Основными клиентскими программа для работы в сети eDonkey/Overnet являются eDonkey и eMule.
3.3 FastTrack или KaZaA.
Самой большой и известной на сегодняшний день пиринговой сетью является FastTrack, хотя большинство пользователей интернета знает ее по связанному с ней слову KaZaA. Это наиболее распространенная программа для обмена файлами через интернет. Она работает с сетью FastTrack; также она может применяться в сети iMesh. У этих двух сетей, с которыми может работать KaZaA, во много раз больше пользователей, чем у всех остальных сетей вместе взятых — общее количество пользователей, одновременно под-ключенных к ним в любой момент времени, в среднем достигает пяти (!) миллионов. Однако количество не всегда означает качество, то есть почти не играет роли, миллион или пять миллионов людей охватывает сеть, поскольку и в той, и в другой сети вы, по-видимому, найдете все, что вам необходимо.
Сеть FastTrack (так же, как и iMesh) имеет следующие свойства:1)
• является децентрализованной, но использует суперузлы (здесь они называются super-peer), то есть компьютеры с высокоскоростным доступом в интернет, которые содержат временные списки доступных файлов;
• не допускает скачивание одного файла одновременно из нескольких источников и не обладает высокой степенью конфиденциальности — недостаточно хорошо обеспечивается защита информации о пользователях данной сети;
• с целью однозначной идентификации файла (независимо от его названия) система может использовать так называемые хэш-ссылки.
______________
1. М. В. Финков. Пиринговые сети eDonkey, BitTorrent, KaZaA, DirectConnect, стр. 50
3.4 DirectConnect.
Direct Connect — это частично централизованная файлообменная (P2P) сеть, в основе работы которой лежит особый протокол, разработанный фирмой NeoModus.
NeoModus была основана Джонатаном Хессом (Jonathan Hess) в ноябре 1990 года как компания, зарабатывавшая на adware-программе «Direct Connect». Первым сторонним клиентом стал «DClite», который никогда полностью не поддерживал протокол. Новая версия Direct Connect уже требовала простой ключ шифрования для инициализации подключения, этим он надеялся блокировать сторонние клиенты. Ключ был взломан и автор DClite выпустил новую версию своей программы, совместимой с новым программным обеспечением от NeoModus. Вскоре, код DClite был переписан, и программа была переименована в Open Direct Connect. Кроме всего прочего, её пользовательский интерфейс стал многодокументным (MDI), и появилась возможность использовать плагины для файлообменных протоколов (как в MLDonkey). У Open Direct Connect также не было полной поддержки протокола, но появился под Java. Немногим позже, начали появляться и другие клиенты: DCTC (Direct Connect Text Client), DC++ и др.
Сеть работает следующим образом. Клиенты подключаются к одному или нескольким серверам, т. н. хабам для поиска файлов, которые обычно не связаны между собой (некоторые типы хабов можно частично или полностью связать в сеть, используя специализированные скрипты или программу Hub-Link) и служат для поиска файлов и источников для их скачивания. В качестве хаба чаще всего используются PtokaX, Verlihub, YnHub, Aquila, DB Hub, RusHub. Для связи с другими хабами используются т.н. dchub-ссылки:
dchub://[ имя пользователя ]@[ IP или Домен хаба ]:[ порт хаба ]/[путь к файлу]/[имя файла]
После клика по такой ссылке клиент не только соединится с хабом, но также скачает файл-лист пользователя, указанного в ссылке, и выделит в нём файл путь и имя которого также указаны в ссылке.
Данный вид ссылки на файл может применяться, когда невозможно использовать magnet-ссылку так как содержимое файла может измениться либо файл ещё не создан.
Отличия от других P2P-систем:
1. Обусловленные структурой сети
Развитый многопользовательский чат
Сервер сети (хаб) может быть посвящён определённой теме (например музыке конкретного направления), что позволяет легко находить пользователей с требуемой тематикой файлов
Присутствие привилегированных пользователей — операторов, обладающих расширенным набором возможностей управления хабом, в частности, следящих за соблюдением пользователями правил чата и файлообмена
2. Просто зависящие от клиента
Возможность скачивать целые директории
Результаты поиска не только по названиям файлов, но и по директориям
Ограничения на минимальное количество расшаренного материала (по объёму)
Поддержка скриптов с потенциально безграничными возможностями как на клиентской стороне, так и на стороне хаба (верно не для всяких хабов и клиентов)
Авторы клиента DC++ разработали для решения специфичных проблем принципиально новый протокол, называнный Advanced Direct Connect (ADC), цель которого — повышение надёжности, эффективности и безопасности файлообменной сети. 2 декабря 2007 года вышла окончательная версия протокола ADC 1.0. Протокол продолжает развиваться и дополняться.
3.5 Bit Torrent.
BitT?rrent (букв. англ. «битовый поток») — пиринговый (P2P) сетевой протокол для кооперативного обмена файлами через Интернет.
Файлы передаются частями, каждый torrent-клиент, получая (скачивая) эти части, в то же время отдаёт (закачивает) их другим клиентам, что снижает нагрузку и зависимость от каждого клиента-источника и обеспечивает избыточность данных. Протокол был создан Брэмом Коэном, написавшим первый torrent-клиент «BitTorrent» на языке Python 4 апреля 2001 года. Запуск первой версии состоялся 2 июля 2001 года.
Файл метаданных
Для каждой раздачи создаётся файл метаданных с расширением .torrent, который содержит следующую информацию:
- URL трекера;
- Общую информацию о файлах (имя, длину и пр.) в данной раздаче;
- Контрольные суммы (точнее, хеш-суммы SHA1) сегментов раздаваемых файлов;
- Passkey пользователя, если он зарегистрирован на данном трекере. Длина ключа устанавливается трекером.
Необязательно:
- Хеш-суммы файлов целиком;
- Альтернативные источники, работающие не по протоколу BitTorrent. Наиболее распространена поддержка так называемых web–сидов (протокол HTTP), но допустимыми также являются ftp, ed2k, magnet URI.
Файл метаданных является словарём в bencode формате. Файлы метаданных могут распространяться через любые каналы связи: они (или ссылки на них) могут выкладываться на веб-серверах, размещаться на домашних страницах пользователей сети, рассылаться по электронной почте, публиковаться в блогах или новостных лентах RSS. Также есть возможность получить info часть публичного файла метаданных напрямую от других участников раздачи благодаря расширению протокола "Extension for Peers to Send Metadata Files". Это позволяет обойтись публикацией только магнет-ссылки. Получив каким-либо образом файл с метаданными, клиент может начинать скачивание.
Принцип работы протокола
Перед началом скачивания клиент подсоединяется к трекеру по адресу, указанному в торрент-файле, сообщает ему свой адрес и хеш-сумму торрент-файла, на что в ответ клиент получает адреса других клиентов, скачивающих или раздающих этот же файл. Далее клиент периодически информирует трекер о ходе процесса и получает обновлённый список адресов. Этот процесс называется объявлением (англ. announce).
Клиенты соединяются друг с другом и обмениваются сегментами файлов без непосредственного участия трекера, который лишь хранит информацию, полученную от подключенных к обмену клиентов, список самих клиентов и другую статистическую информацию. Для эффективной работы сети BitTorrent необходимо, чтобы как можно больше клиентов были способны принимать входящие соединения. Неправильная настройка NAT или брандмауэра могут этому помешать.
При соединении клиенты сразу обмениваются информацией об имеющихся у них сегментах. Клиент, желающий скачать сегмент (личер), посылает запрос и, если второй клиент готов отдавать, получает этот сегмент. После этого клиент проверяет контрольную сумму сегмента. Если она совпала с той, что записана в торрент-файле, то сегмент считается успешно скачанным, и клиент оповещает всех присоединённых пиров о наличии у него этого сегмента. Если же контрольные суммы различаются, то сегмент начинает скачиваться заново. Некоторые клиенты банят тех пиров, которые слишком часто отдают некорректные сегменты.
Таким образом, объём служебной информации (размер торрент-файла и размер сообщений со списком сегментов) напрямую зависит от количества, а значит, и размера сегментов. Поэтому при выборе сегмента необходимо соблюдать баланс: с одной стороны, при большом размере сегмента объём служебной информации будет меньше, но в случае ошибки проверки контрольной суммы придется скачивать ещё раз больше информации. С другой стороны, при малом размере ошибки не так критичны, так как необходимо заново скачать меньший объём, но зато размер торрент-файла и сообщений об имеющихся сегментах становится больше.
Когда скачивание почти завершено, клиент входит в особый режим, называемый end game. В этом режиме он запрашивает все оставшиеся сегменты у всех подключенных пиров, что позволяет избежать замедления или полного «зависания» почти завершенной закачки из-за нескольких медленных клиентов.
Спецификация протокола не определяет, когда именно клиент должен войти в режим end game, однако существует набор общепринятых практик. Некоторые клиенты входят в этот режим, когда не осталось незапрошенных блоков, другие — пока количество оставшихся блоков меньше количества передающихся и не больше 20. Существует негласное мнение, что лучше поддерживать количество ожидаемых блоков низким (1 или 2) для минимизации избыточности, и что при случайном запрашивании меньший шанс получить дубликаты одного и того же блока.
Недостатки и ограничения
Недоступность раздачи – если нет раздающих пользователей(сидов);
Отсутствие анонимности:
- пользователи незащищенных систем и клиентов с известными уязвимостями могут быть подвергнуты атаке.
- возможно узнать адреса пользователей, обменивающихся контрафактным контентом и подать на них в суд.
Проблема личеров – клиентов, которые раздают гораздо меньше, чем скачивают. Это ведёт к падению производительности.
Проблема читеров – пользователей, модифицирующих информацию о количестве скачанных\переданных данных.
Персонализация – протокол не поддерживает ников, чата, просмотра списка файлов пользователя.
4. Заключение
Современные пиринговые сети претерпели сложную эволюцию и стали во многих отношениях совершенными программными продуктами. Она гарантируют надёжную и высокоскоростную передачу больших объёмов данных. Они имеют распределённую структуру, и не могут быть уничтожены при повреждении нескольких узлов.
Технологии, опробованные в пиринговых сетях, применяются сейчас во многих программах из других областей:
- для скоростного распространения дистрибутивов опенсорсных программ (с открытым кодом);
- для распределённых сетей передачи данных таких как Skype и Joost.
Однако системы обмена данными часто используются в противоправной сфере: нарушаются закон об авторских правах, цензура и т.д. Можно сказать следующее: разработчики пиринговых сетей отлично понимали, для чего те будут использоваться, и позаботились об удобстве их использования, анонимности клиентов и неуязвимости системы в целом. Программы и системы обмена данными часто относят к «серой» зоне интернета — зоне, в которой нарушается законодательство, но доказать виновность причастных к нарушению лиц или сложно, или невозможно.
Программы и сети обмена данными находятся где-то на «окраине» интернета. Они не пользуются поддержкой крупных компаний, иногда им вообще никто не содействует; их создатели, как правило, хакеры, которым не по душе интернет-стандарты. Программы обмена данными не любят производители брандмауэров, маршрутизаторов и подобного оборудования, а также интернет-провайдеры (ISP) — «хакерские» сети отбирают у них значительную часть драгоценных ресурсов. Поэтому провайдеры пытаются всячески вытеснить и запретить системы обмена данными или ограничить их деятельность. Однако в ответ на это создатели систем обмена данными снова начинают искать противодействия, и часто добиваются отличных результатов.
Реализация и использование распределенных систем имеют не только плюсы, но и минусы, связанные с особенностями обеспечения безопасности. Получить контроль над столь разветвленной и большой структурой, какой является сеть P2P, или использовать пробелы в реализации протоколов для собственных нужд — желанная цель для хакеров. К тому же защитить распределенную структуру сложнее, чем централизованный сервер.
Столь огромное количество ресурсов, которое имеется в сетях P2P, тяжело шифровать/дешифровать, поэтому большая часть информации об IP-адресах и ресурсах участников хранится и пересылается в незашифрованном виде, что делает ее доступной для перехвата. При перехвате злоумышленник не только получает собственно информацию, но также узнает и об узлах, на которых она хранится, что тоже опасно.
Только в последнее время в клиентах большинства крупных сетей эта проблема стала решаться путем шифрования заголовков пакетов и идентификационной информации. Появляются клиенты с поддержкой технологии SSL, внедряются специальные средства защиты информации о местонахождении ресурсов и пр.
Серьезная проблема — распространение “червей” и подделка ID ресурсов с целью их фальсификации. Например, в клиенте Kazaa используется хеш-функция UUHash, которая позволяет быстро находить ID для больших файлов даже на слабых компьютерах, но при этом остается возможность для подделки файлов и записи испорченного файла, имеющего тот же ID.
В настоящее время выделенные серверы и узлы периодически обмениваются между собой верифицирующей информацией и при необходимости добавляют поддельные серверы/узлы в черный список блокировки доступа.
Также ведётся работа по созданию проектов, объединяющих сети и протоколы (например, JXTA – разработчик Билл Джой).
5. Список использованных источников.
1. М. В. Финков. Пиринговые сети eDonkey, BitTorrent, KaZaA, DirectConnect/ Пер. с чеш. / Рус.изд. под ред. Серия «Просто о сложном». — СПб.: Наука и Техника, 2006. — 272 с., ил.
2. Попов В. Практикум по интернет технологиям: уч. курс – СПб. Питер 2002, 480стр.,ил.
3. Кент П. Интернет. Пер. с англ.\ - М.: ООО «Изд-во Астрель», 2004.
4. Олифер В. Г. Компьютерные сети. Принципы, технологии, протоколы: Учебник для вузов. 3е изд. – СПб.: Питер, 2006. – 958с.
5.ComputerBild | Пиринговые сети. 10.08.2007
http://www.computerbild.ru/internet/4418/
6. Ю. Н. Гуркин, Ю. А. Семенов. «Файлообменные сети P2P», Журнал «Сети и Системы связи», №11’2006:
7. Д. Кальченко. Пиринговые сети. «КомпьютерПресс» 10.2007. http://www.compress.ru/Archive/CP/2005/10/39/
8. C. Поштык. «Современные телекоммуникации России»,–14/04/2010 http://www.telecomru.ru/article/?id=5770
9. Евгений Золотов. «Рожденные равными», Журнал "Домашний Компьютер" №3 от 1 марта 2003 года.
- http://www.homepc.ru/slydecision/24844/page2.html