1.7.1. Архитектура сети: одноранговая и клиент/сервер

1.7.1. Архитектура сети: одноранговая и клиент/сервер

Начнем с самого главного — архитектуры сети. Существуют две основные архитектуры сети: одноранговая (peer-to-peer) и клиент/сервер (client/ server), причем вторая практически вытеснила первую. В одноранговой сети все компьютеры равны — имеют один ранг. Любой компьютер может выступать как в роли сервера, то есть предоставлять свои ресурсы (файлы, принтеры) другому компьютеру, так и в роли клиента, другими словами — использовать предоставленные ему ресурсы. Одноранговые сети преимущественно распространены в домашних сетях или небольших офисах. В самом простом случае для организации такой сети нужно всего лишь пара компьютеров, снабженных сетевыми платами и коаксиальный кабель (нужна еще пара терминаторов (заглушек), но я обещал сильно не углубляться).

Когда сеть создана физически (компьютеры связаны с помощью коаксиального кабеля), нужно настроить сеть программно. Для этого необходимо, чтобы на компьютерах были установлены сетевые операционные системы (Linux, FreeBSD, Windows NT, Windows 98) или сетевые системы с поддержкой сетевых функций (Windows 95, Windows for Workgroups).

Компьютеры в одноранговой сети объединяются в рабочие группы. Каждая рабочая группа имеет свой идентификатор — имя рабочей группы. Если вы сейчас работаете в Windows 9x, узнать имя рабочей группы вы можете, запустив апплет Сеть с Панели управления (см. рис. 1.4).

Рис. 1.4. Идентификатор рабочей группы в ОС Windows 9x

Для примера допустим, что в вашей одноранговой сети три компьютера А, В, С. Первые два входят в рабочую группу WG1, а компьютер С — в рабочую группу WG2 (см. рис. 1.5).

Рис. 1.5. Схема одноранговой сети

Даже несмотря на то, что компьютеры входят в один сегмент сети (физически подключены к одному кабелю), компьютеры А и В не будут «видеть» компьютер С, а компьютер С не будет видеть компьютеры А и В. Если выполнить команду поиска компьютера в Windows 9x (Пуск?Поиск?Найти компьютер), компьютер «увидит» компьютеры А и В, но будет сообщено, что они находятся в другой рабочей группе — WG1. 

Единственное ограничение доступа, которое возможно в одноранговой сети, это использование пароля для доступа к какому-нибудь ресурсу. Для того, чтобы получить доступ к этому ресурсу, например, принтеру, нужнознать пароль. Это называется управлением доступом на уровне ресурсов. В сети клиент/сервер используется другой способ управления доступом — на уровне пользователей. В этом случае можно разрешить доступ к ресурсу только определенным пользователям. Например, ваш компьютер А через сеть могут использовать два пользователя: Иванов и Петров. К этому компьютеру подключен принтер, который можно использовать по сети. Но вы не хотите, чтобы кто угодно печатал на вашем принтере, и установили пароль для доступа к этому ресурсу. Если у вас одноранговая сеть, то любой, кто узнает этот пароль, сможет использовать ваш принтер. В случае с сетью клиент/сервер вы можете разрешить использовать ваш принтер только Иванову или только Петрову (можно и обоим).

Для получения доступа к ресурсу в сети клиент/сервер пользователь должен ввести свой уникальный идентификатор — имя пользователя (login — логин) и пароль (password). Логин пользователя является общедоступной информацией и это правильно: возможно, если кто-нибудь захочет отправить пользователю сообщение по электронной почте, то для этого ему достаточно знать его логин (естественно, и имя сервера электронной почты, который «знает» этого пользователя).

Использование логина и пароля для доступа к ресурсам называется аутентификацией пользователя (user authentication). Существуют и другие виды аутентификации, например, аутентификация источника данных или однорангового объекта, но сейчас мы рассматривать их не будем. В любом случае, аутентификация — это проверка подлинности.

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

В отличие от одноранговой сети, в сети клиент/сервер существует один или несколько главных компьютеров — серверов. Все остальные компьютеры сети называются клиентами или рабочими станциями (workstations). Как я уже писал выше, сервер — это специальный компьютер, который предоставляет определенные услуги другим компьютерам. Существуют различные виды серверов (в зависимости от предоставляемых ими услуг): серверы баз данных, файловые серверы, серверы печати (принт-серверы), почтовые серверы, Web-серверы и т.д.

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

Функции и программное обеспечение сервера Таблица 1.1

Функция Программное обеспечение Дистрибутив Глава
Авторизация удаленных пользователей (dialup) Пакет ррр Да 17
Автоматическое конфигурирование узлов сети dhcp Да 8
Доступ (совместный) к файлам NFS, FTPd (ProFTPD, wu-ftpd) Да 8, 13
Доступ к сети Microsoft Пакет samba Да 9
Кэширование передаваемой информации Пакет Squid Да 15
Маршрутизация route(d) Да 8, 14
Обмен сообщениями электронной почты Пакеты sendmail (или postfix/qmail) и imap Да (Да/Нет), Да 13
Подсчет передаваемого по сети трафика ядро Linux, IPChains Да 8, 14
Передача секретной информации modSSL Да (не во всех дистрибутивах) 12
Разрешение (резолвинг) имени компьютера в IP-адрес Пакет bind Да 10
Сетевая печать Lpd, Samba, CUPS Да 6, 9
Функции Web-сервера Пакет apache Да 12
Фильтрация пакетов IPChains (IPTables в новых версиях Linux) Да 14
Управление базой данных MySQL / PostgreSQL / InterBase Да / Да / Не во всех 16
IP-Маскарадинг IPChains Да 14

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

Для экономии средств, как правило, один сервер сочетает в себе функции нескольких серверов, например, почтовик может быть также и Web-сервером. Услуги, которые может предоставлять сервер, ограничиваются только его физическими возможностями — чем мощнее сервер, тем больше услуг и с большим качеством он может предоставлять, поэтому в качестве сервера выбирается довольно мощный компьютер. Хотя эта формула (чем мощнее, тем лучше) не всегда оправдана, например, если ваш сервер используется для предоставления доступа к Интернет небольшой сети, то в этом случае с поставленной задачей прекрасно справится старенький 486DX/66 — 32 Мб ОЗУ. Однако, если вы являетесь Интернет-провайдером, то есть предоставляете коммерческий доступ к сети Интернет, такой конфигурации будет явно недостаточно.

Хотя установке Linux посвящена вторая глава, в которой подробно расписаны все рекомендуемые конфигурации, уже сейчас отмечу, что в случае с Linux-сервером объем оперативной памяти более критичен, чем частота процессора. Поэтому, если у вас есть возможность установить больше оперативной памяти, установите — не пожалеете.

Примечание. Иногда увеличивать объем памяти нецелесообразно, потому что машина будет работать медленнее, чем до модернизации. Это может произойти, если вы используете некоторые старые чипсеты, которые не кэшируют объемы оперативной памяти более 64 Мб (или 128 Мб), а так как операционная система загружается в старшие адреса, освобождая младшие адреса для прикладных программ, общая производительность  системы будет снижена. Перед модернизацией рекомендую ознакомиться с документацией на материнскую плату.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

1.2 Понятие архитектуры клиент-сервер.

Из книги Руководство администратора баз данных Informix. автора Кустов Виктор

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


2.2.9.1 Взаимодействие клиент-сервер

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

2.2.9.1 Взаимодействие клиент-сервер Продукты INFORMIX построены на принципах архитектуры клиент/сервер. Это означает, что сервер INFORMIX-OnLine DS выполняется на одном компьютере, а клиентские приложения выполняются на других компьютерах, связанных с сервером сетью. При этом от


11.6.8.4. Пара клиент/сервер

Из книги Объектно-ориентированный анализ и проектирование с примерами приложений на С++ автора Буч Гради

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


Глава 10 Архитектура клиент-сервер: складской учет

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

Глава 10 Архитектура клиент-сервер: складской учет Создание большинства бизнес-приложений требует решения целого комплекса задач по хранению данных, обеспечению параллельного доступа к ним, их целостности и защиты. Для этой цели обычно используются готовые системы


11.6.8.4. Пара клиент/сервер

Из книги UNIX: взаимодействие процессов автора Стивенс Уильям Ричард

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


6.7. Пример программы клиент-сервер

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

6.7. Пример программы клиент-сервер Перепишем наш пример программы типа клиент-сервер из раздела 4.2 с использованием двух очередей сообщений. Одна из очередей предназначена для передачи сообщений от клиента серверу, а другая — в обратную сторону.Заголовочный файл svmsg.h


10.1.2 TCP и модель клиент/сервер

Из книги Технология XSLT автора Валиков Алексей Николаевич

10.1.2 TCP и модель клиент/сервер TCP естественным образом интегрируется в окружение клиент/сервер (см. рис. 10.1). Серверное приложение прослушивает (listen) поступающие запросы на соединение. Например, службы WWW, пересылки файлов или доступа с терминала прослушивают запросы,


XSLT в архитектуре клиент-сервер

Из книги Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ автора Борри Хелен

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


Клиент-сервер

Из книги UNIX: разработка сетевых приложений автора Стивенс Уильям Ричард

Клиент-сервер Средства локального доступа.* Локальная заглушка TCP/IP. Для многоуровневых серверных приложений и других клиентов доступ к локальному серверу на любой поддерживаемой платформе осуществляется через протокол TCP/IP: даже при отсутствии сетевой карты соединение


Характеристики СУБД клиент-сервер

Из книги автора

Характеристики СУБД клиент-сервер Масштабируемость Появление сравнительно недорогих компьютерных сетей между 1980-ми и 1990-ми годами вызвало увеличенный спрос на масштабируемые информационные системы с дружественным пользователю интерфейсом. Программное обеспечение


Проектирование систем клиент-сервер

Из книги автора

Проектирование систем клиент-сервер Факт, что системы клиент-сервер должны быть спроектированы для использования в сетях. Для новичков часто бывает потрясением открытие того, что "молниеносно выполняемая" задача, которая работала в приложении под Paradox или Access, занимает


Двухуровневая архитектура клиент-сервер

Из книги автора

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


Динамические приложения клиент-сервер

Из книги автора

Динамические приложения клиент-сервер Во время выполнения программы приложениям часто бывают нужны операторы SQL, которые создаются или изменяются приложениями или вводятся пользователями. Приложения обычно предоставляют пользователю списки выбора, извлекаемые из


12.2. Клиент IPv4, сервер IPv6

Из книги автора

12.2. Клиент IPv4, сервер IPv6 Общим свойством узла с двойным стеком является то, что серверы IPv6 могут выполнять обслуживание клиентов IPv4 и IPv6. Это достигается за счет преобразования адресов IPv4 к виду IPv6 (см. рис. А.6). Пример такого преобразования приведен на рис. 12.1. Рис. 12.1.


12.3. Клиент IPv6, сервер IPv4

Из книги автора

12.3. Клиент IPv6, сервер IPv4 Теперь мы поменяем протоколы, используемые клиентом и сервером в примере из предыдущего раздела. Сначала рассмотрим TCP-клиент IPv6, запущенный на узле с двойным стеком протоколов.1. Сервер IPv4 запускается на узле, поддерживающем только IPv4, и создает