Я уже ранее рассказывал о принципе работы пиринговых сетей, построенных по принципу p2p (Point to Point, от точки к точке), где точка — это компьютер пользователя. Такие сети не используют общих серверов для хранения и раздачи файлов. В пиринговой сети все файлы находятся на компьютерах пользователей. Для таких сетей разрабатываются программы-клиенты, с помощью которых и происходит обмен информацией между пользователями. Так, если у вас установлен клиент ^Torrent, запрашиваемый файл к вам подается по частям с нескольких компьютеров сразу. Число этих нескольких компьютеров, дающих вам части закачиваемого файла, может достигать одновременно несколько сотен. Здесь действует принцип: с миру по нитке — голому рубашка. Одновременно, получая части файла, клиент ^Torrent может другим клиентам раздавать только что полученные части или части совершенно другого файла, находящиеся у него на раздаче. Если же у вас установлен клиент DC++, то файл отдается партнеру с вашего компьютера целиком. При этом соединение с компьютером партнера устанавливается через хаб — сервер.
Прежде чем конкретнее описать принцип работы файлообменной сети, следует уточнить, что такое хаб. Ведь в данных сетях именно хаб является узловой частью при поиске партнеров и обмене информацией между клиентскими программами.
Пользователям, знакомым с домашними или малыми локальными сетями, известно устройство, которое физически связывает сетевые карты компьютеров, входящих в состав данной сети. Это такая коробочка с разъемами, к которой с помощью так называемой "витой пары" подключены все компьютеры данной сети. И обмен информацией между компьютерами происходит именно через эту коробочку. Вот это и есть хаб или, по-другому, концентратор, в самом простом понимании.
Как в малой локальной сети, так и в нашем случае хаб коммутирует между собой компьютеры, подключенные к данному узлу. Конечно, это уже не маленькая коробочка с несколькими портами, и управляется сей коммутатор с помощью компьютера, но принцип работы остается таким же.
Итак, как же происходит поиск и обмен информацией в таких сетях? Давайте представим себе, что к хабу подключены три компьютера. Компьютеры A Что такое DC++ и ссылки magnet 205
и Bнаходятся в одном многоэтажном доме, только в разных квартирах на разных этажах, но подключенными к одному провайдеру, а компьютер Срасположен в другой стране. И программа-клиент DC++, установленный на компьютере А, захотел скачать файл F. На поисковый запрос, отосланный на хаб программой-клиентом компьютера А, программы-клиенты DC++, установленные на компьютерах Bи С, ответили, что искомый файл находится в раздаче компьютера B. И теперь начинается самое интересное. Узнав местонахождение искомого файла, программа-клиент, установленная на компьютере А, просит программу-клиент компьютера В: "Эй, я хочу файл F. Я открыл для тебя порт 655. Мой адрес 192.ХХХ.Х.Х". Клиент на машине Вустанавливает соединение с машиной А, используя переданную информацию, и начинает передачу запрошенного файла. Причем, вполне возможно, что путь от машины Вк машине Абудет выбран по наиболее короткому маршруту. Возможно, коммутация произойдет только с использованием коммутатора дома, в котором находятся два этих компьютера. В случае, если коммутация произойдет через хаб, он, вероятно, просто выдаст запрашиваемую информацию на все свои порты, но примет информацию только машина А, пославшая данный запрос.
Это общий принцип обмена данными в сети Direct Connect. Конечно, не все так просто. На каждом компьютере установлена операционная система с программой-брандмауэром, защищающей компьютер от вторжения извне. И такой защитник просьбу поделиться файлом может принять за атаку и закрыть порт. Но все эти неприятности легко устраняются индивидуальными настройками как программы-клиента, так и брандмауэра.
Структура сети Direct Connect
Как уже упоминалось ранее, сеть Direct Connect (Прямое соединение) — это децентрализованная сеть, состоящая из отдельных серверов-коммутаторов (хабов), к которым подключаются компьютеры пользователей для обмена файлами. Пользователи могут искать и скачивать файлы с компьютеров других пользователей, подключенных к выбранному хабу и в пределах одного этого узла. Хаб только помогает клиентской программе пользователя найти желаемый файл и установить соединение между этими двумя компьютерами. Но на своих жестких дисках раздаваемые файлы хаб не хранит. Прием и передача файлов происходят напрямую между клиентскими программами в режиме равноправных узлов (peer-to-peer).
Читать дальше
Конец ознакомительного отрывка
Купить книгу