приблизительно равномерно между всеми обладателями данного файла. В сетях, где серверов нет, возрастает нагрузка на всех участников сети, однако она распределяется между всеми узлами. Типичный пример таких сетей - сеть Gnutella.
Подавляющее большинство сетей работает по смешанному принципу, то есть там есть и серверы, роль которых выполняют обычные пользователи. К таким сетям относятся популярные eDonkey2000 и Kazaa.
Краткая история развития сетей
Девять лет назад, в 1996 году, израильские программисты изобрели программу мгновенного обмена сообщениями ICQ (иначе такие программы называются IMS - Instant Messaging Systems), и сегодня вы вряд ли найдете пользователей Сети, которые о ней не слышали: номер «асыш» указывают наряду с e-mail, ее с успехом используют в офисах. Благодаря этой программе в крупных компаниях даже появилась новая должность - онлайн-консультант (к примеру, в интернет-магазинах).
Спустя три года после изобретения данной программы в сети появился сервис под названием Napster, который сделал обмен трЗ-файлами в Интернете таким же простым и удобным, как чат в ICQ. Когда же разгорелся спор между аудиоза-писывающими компаниями и Napster по поводу законности использования такого сервиса, интерес к р2р сильно возрос.
Стали появляться подобные Napster сети, где обмен данными не был ограничен лишь аудиофайлами, а этот сервис прикрыли. Количество сетей до сих пор растет как на дрожжах, однако принципы работы остаются теми же.
Принципы работы сетей: краткое описание технологий
Многие сети построены по принципу «клиент-сервер».
Связь между двумя клиентами сети происходит посредством сервера, в результате чего предъявляются значительные требования к его ресурсам. К тому же стабильность сети целиком зависит от центрального сервера: нет его - нет и !сети. Однако есть и плюсы: вся информация хранится на центральном сервере и ее достоверность и «свежесть» можно легко контролировать.
Но время не стоит на месте: локальные сети объединяют друг с другом и появляется уже что-то более глобальное, пример тому - Интернет. Наиболее значимым преимуществом данной топологии является масштабируемость, которую прекрасно продемонстрировала система DNS: за последние пятнадцать лет число обслуживаемых этим сервисом узлов возросло с нескольких тысяч до сотен миллионов, и хотя время от времени сбои все-таки происходят, носят они локальный и, как правило, временный характер. Так что система демонстрирует завидную надежность, особенно по сравнению с предыдущим примером, однако информация в такой сети не отличается абсолютной точностью - для ее обновления необходимо обновлять не только центральный сервер.
Возникает логичный вопрос: а если вообще убрать сервер и соединять клиентов напрямую? Это и попытались реализовать в технологии р2р.
Четкого определения, что же такое р2р, нет. Поэтому при-| ведем два наиболее распространенных. р2р (peer-to-peer) - это технология построения распределенной сети, где каждый; узел может одновременно выступать как в роли клиента (по-, лучателя информации), так и в роли сервера (поставщика информации). Как правило, сеть состоит из равноправных узлов, причем каждый из них взаимодействует лишь с некоторым подмножеством узлов сети, так как установление связи «каждый с каждым» невозможно из-за ограниченности ресурсов (как вычислительных, так и пропускных). При этом] передача информации между узлами, не связанными в данный момент непосредственно, может осуществляться как по своеобразной эстафете - от узла к узлу, - так и путем установ-j ления временной прямой связи. Все вопросы маршрутизацш: и авторизации сообщений, передаваемых по эстафете, лежат не на едином сервере, а на всех этих отдельных узлах. Такое определение также известно под названием Ригер2р.