Новости и событиях Hi-Tech.
Статьи, тесты и сравнения.
Конференция на форуме ЖЕЛЕЗА, FAQ.

Статьи -> Обзор

Породы серверов

Большинство журналов, посвященных компьютерной тематике, уделяют огромное внимание различным элементам компьютера, периферии. С помощью периодических изданий мы постоянно следим за развитием процессорной техники, падением цен на память, изменениями в периферийных устройств и др. Однако не стоит забывать, что мы живем во времена бурного развития клиент-серверных технологий! Какие же задачи приходится выполнять серверу? Какие запросы он обрабатывает? Ответы на подобный вопрос зависят от того, о каком классе сервера идет речь. Тип сервера определяет не только круг выполняемых ими задач, но также наборы его программного и аппаратного обеспечения. Об этом и многом другом и пойдет речь в данной статье.

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

• серверы разделения физических ресурсов;

• серверы разделения логических ресурсов;

• серверы, выполняющие служебные функции.

Бесспорно, данное разделения всего множества серверных решений условно. Однако следует заметить, что часто используемые в среднестатистическом предприятии серверы прекрасно укладываются в приведенную классификацию.

(В целом принцип разделения ресурсов дает возможность одному серверу выполнять работу, которая ранее осуществлялась несколькими независимыми устройствами. При этом возможно исполнение задач самого разного назначения.

Физическое разделение ресурсов предусматривает их распределение между различными аппаратными модулями. Такое разделение предусматривает даже возможность разделения одного сервера на несколько мини-систем, в каждой из которых функционирует своя копия операционной системы. Каждая такая система будет действовать как полноценный сервер со своей собственной памятью, выполняемыми процессами, своей подсистемой ввода/вывода и собственными сетевыми ресурсами.

Логическое разделение ресурсов предусматривает их распределение преимущественно с помощью ПО. Это более гибкий подход, поскольку рамки задействуемых ресурсов не ограничены физически, и такие ресурсы, как память и дисковые накопители, могут совместно использоваться разными задачами. Подобный подход позволяет весьма эффективно использовать доступные системные ресурсы в зависимости от необходимости текущего их распределения. — Прим. ред.).

1. Серверы разделения физических ресурсов

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

• управление очередями печати документов;

• отправка и получение факсимильных сообщений;

• составление статистических отчетов о состоянии того или иного физического ресурса;

• преобразование и конвертация документов из одного формата в другой.

Помимо перечисленных задач, данные устройства могут выполнять и дополнительные функции, которые свойственны таким серверным решениям, как, например, сервер приложений или веб-сервер. Благодаря встроенным серверам приложений сервер печати может преобразовывать документы из одного формата в другой «на лету». Функциональность веб-сервера позволяет выполнять настройку факс-серверов, используя простой интернет-браузер.

К более специализированным серверам разделения физических ресурсов можно отнести серверы компьютерной телефонии. Это огромный класс устройств, который позволяет управлять доступом пользователей к телефонным линиям компании (аналоговым и цифровым).

1.1. Сервер печати

Сервер печати (или принт-сервер, рис. 1, 2, 3) — это наиболее яркий представитель класса серверов разделения физических ресурсов.

Рис. 1.     Рис. 2.

Рис. 3.

Исторически сложилось так, что отдельный компьютер на предприятии, к которому подключен принтер, приходится выделять для решения задач печати, разделения совместного доступа к данному ресурсу, его настройки и управления. И это закономерно. Представьте себе, что в небольшом отделе (около 5 компьютеров), соединенных локальной вычислительной сетью, установлен принтер. Данный принтер подключен к одному из компьютеров, входящих в сеть. Печатая документы, переданные по сети с других компьютеров, данному компьютеру приходиться брать на себя выполнение определенного набора операций (преобразование документов, управление очередями печати др.). Выполнение данных операций задействует вычислительные ресурсы машины. Если число компьютеров в локальной вычислительной сети невелико (и невелико количество печатаемых документов), то нагрузка на такой компьютер, с подключенным к нему принтером, достаточно мала. Однако в случае возрастания количества передаваемых на принтер документов, все больше и больше вычислительных ресурсов компьютера расходуется на выполнение специфических задач по обслуживанию принтера. В один прекрасный момент окажется, что на компьютере, к которому подключен сетевой принтер, просто невозможно нормально работать. В этот момент на «сцене» и появляется принт-сервер. Он представляет собой отдельный блок (в случае внешних принт-серверов) или плату, вставляемую в один из свободных слотов компьютера или сетевого принтера (в случае встроенных принт-серверов). Каждый из этих функциональных элементов оснащен отдельными процессорами, которые берут на себя большую часть вычислительной нагрузки. (В роли принт-сервера может выступать и отдельный ПК, например, какая-нибудь морально устаревшая машинa с процессором семейства Intel 486 и т.п., особенно это актуально при использовании подключения общего принтера по LPT-порту. — Прим. ред.).

К основным функциям принт-сервера можно отнести следующие.

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

Управление принтером — многие принт-серверы имеют встроенный интерфейс для удаленного управления ими. Используя функции данного программного интерфейса, можно управлять заданиями принтера из пользовательского приложения (такими, как пауза, остановка печати документов и др.) или применять готовые механизмы работы с документами.

Разграничение прав доступа к принтеру — в том случае, если администраторы не имеют базового набора средств для управления правами доступа к принтеру, эти функции можно переложить на принт-сервер. Это один из возможных механизмов для настройки параметров доступа отдельных пользователей к данному ресурсу.

Дополнительная обработка — часто в некоторых системах требуется производить конвертацию документов из одного формата в другой. Примером может служить конвертация PostScript-документов в формат для печати на принтере определенной модели.

Производителей принт-серверов можно разбить на две большие группы: производители собственно принтеров и компании, не имеющие к производству принтеров никакого отношения. Создавая принт-серверы, первые обычно «затачивают» их под определенную модель или линейку принтеров. К этой группе можно отнести компании HP, Xerox, NetGear и др. Из второй группы производителей следует назвать следующие имена: D-Link, LanTech, Genius и др.

1.2. Факс-сервер

Еще один представитель класса серверных систем для разделения ресурсов — это факс-сервер. Факс-сервер ( рис. 4) представляет собой отдельную плату (факсимильную плату, рис. 5), которая вставляется в компьютер и управляет процессом передачи и приема факсов. (Опять же, в роли такого сервера может выступать маломощный ПК с дешевым факс-модемом или отдельное устройство ( рис. 6) — прим. ред.)

Рис. 4.

Рис. 5.     Рис. 6.

История факсимильного аппарата началась в далеком 1843 году, когда изобретатель и естествоиспытатель Александр Бэйн запатентовал устройство, передающее и принимающее изображения посредством телеграфа. Это изобретение он назвал «записывающий телеграф». Однако до массового внедрения факсов должно было пройти более века, пока в 1966 году EIA (Ассоциация электронных отраслей промышленности) не объявила о появлении нового отраслевого стандарта факсимильных аппаратов. С тех пор началось бурное развитие данной отрасли.

Постепенно сложность и функциональность факсимильных аппаратов увеличилась. Теперь факсимильный аппарат — это не просто «записывающий телеграф», это сложная система, которая может отправлять факсы одновременно разным абонентам, принимать факсимильные сообщения, и многое другое. Все эти функции можно реализовать посредством факс-сервера.

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

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

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

Выполнять централизованную рассылку сообщений по списку номеров факсов. Данная функция дает возможность производить централизованную рассылку факсимильных сообщений (например, пресс-релизов компании) по спискуили заранее подготовленных номеров, или тех, которые извлекаются из базы данных (БД) «на лету».

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

Выполнять интеграцию с почтовыми серверами. В настоящий момент флагманские продукты компаний-производителей поддерживают интеграцию практически со всеми наиболее распространенными почтовыми серверами. Среди продуктов, с которыми возможна интеграция, стоит выделить MS Exchange, cc:Mail, Lotus Notes, Novell GroupWise, MS Mail и многие другие. Благодаря интеграции с почтовыми серверами достигается такая функциональность, как перенаправление факсимильного сообщения на адрес электронной почты, отправка факса с электронного ящика, настройка удобного времени для отправки факсимильного сообщения и многое другое.

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

В настоящий момент имеется огромное количество производителей факс серверов. Традиционно сильные позиции занимает на этом рынке компания GammaLink. От нее стараются не отставать такие производители, как Novavox, Brooktrout и многие другие.

2. Серверы разделения логических ресурсов

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

К серверам, выполняющим внутренние задачи на предприятии, в первую очередь, стоит отнести почтовые серверы, которые позволяют организовать обмен информацией внутри предприятия, согласовать работу отдельных сотрудников и их групп etc. К серверам, автоматизирующим BackOffice предприятия, также можно отнести файловые серверы и серверы баз данных.

Другой класс серверов предназначен для автоматизации работы FrontOffice предприятия (тех механизмов, целью которой является общение и взаимодействие с внешними клиентами). К таковым можно отнести веб-серверы и серверы приложений. Эти программно-аппаратные комплексы обрабатывают запросы клиентов или потенциальных клиентов, которые обращаются к сайту компании. Сервер анализирует подобные запросы и предоставляет клиенту необходимую информацию в нужном формате. Серверы приложений и веб-серверы могут также обращаться за необходимой информацией к файловым серверам компании и базам данных.

2.1. Почтовый сервер

В настоящий момент сложно представить себе человека, который бы никогда не слышал об электронной почте. Электронная почта часто используется в качестве основного или альтернативного канала для связи между организациями или отдельными персонами. На чем же основан этот канал связи? Для функционирования электронной почты используется целый набор программного обеспечения, который применяется для передачи сообщений по сети, управления их очередями, отправкой и получением. В центре всего этого набора ПО находится почтовый сервер ( рис. 7).

Рис. 7.

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

Для обмена сообщениями было разработано несколько протоколов, каждый из которых имеет свои преимущества и недостатки. В настоящий момент активно используются такие протоколы, как SMTP (Simple Mail Transfer Protocol), POP3 (Post Office Protocol ver. 3), RPOP (Remote Post Office Protocol), IMAP4 (Internet Message Access Protocol) и другие.

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

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

Интеллектуальная маршрутизация. Почтовый сервер может устанавливать несколько соединений с другим сервером. Резервные соединения используются для того, чтобы можно было переслать почтовое сообщение на другой почтовый сервер в случае разрыва основного соединения.

Автоматическая обработка электронных сообщений. При необходимости почтовый сервер может быть настроен таким образом, что он будет выполнять определенные действия с сообщением, удовлетворяющим заданным критериям. Например, при получении сообщения с определенного пользователем адреса сервер может сгенерировать ответное сообщение (которое проинформирует отправителя о том, что получатель в данный момент отсутствует на рабочем месте), а также переместить полученное сообщение в определенную папку на сетевом или локальном ресурсе.

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

Аутентификация пользователей. Каждый пользователь, имеющий доступ к ящику на почтовом сервере, идентифицируется. Для этого служат распространенные механизмы доступа (логин и пароль), которые прозрачны и просты в использовании.

Обеспечение безопасности. При обмене электронными сообщениями первый вопрос, возникающий у пользователей, — это вопрос безопасности пересылки сообщений. Почтовый сервер может задействовать встроенные механизмы для шифровки сообщений с открытым ключом (по алгоритму RSA) или организовать доступ по безопасному каналу передачи данных, используя протокол SSL (Secure Socket Layer) для передачи данных.

В настоящий момент на рынке почтовых серверов имеется достаточно широкий набор программных решений. Среди них стоит выделить наиболее распространенные Microsoft Exchange и Lotus Notes. Кроме этих бесспорных лидеров, используются другие программные решения — это Lotus cc:Mail, Microsoft Mail, Digital AltaVista Mail, Ipswich IMail и многие другие.


Файловый сервер

Файловый сервер ( файл-сервер, рис. 1) можно рассматривать как логическое развитие файловой системы персональных компьютеров. Файловый сервер имеет в своем распоряжении определенный объем дискового пространства для хранения файлов, на нем имеются специальные механизмы для организации и управления доступом пользователей, быстрого восстановления данных и т.д.

Также он имеет разнообразные средства для управления доступом к информации, хранящейся на диске, обслуживания пользовательских запросов и др. Отдельные файл-серверы могут взаимодействовать друг с другом и объединяться в большие файловые системы для хранения терабайтных объемов информации.

Рис. 1. Файл-сервер

Значительное подспорье при организации файл-серверов оказывают RAID-массивы ( Redundant Array of Independent Disks, подробнее о них см. статью В.Некрасова «На RAIDe», МК, №35 (258), 2003). RAID-массивы — это наборы из отдельных дисков (обычно стандарта SCSI), на которых хранятся большие объемы информации. Обычно они располагают целым комплексом средств для быстрого доступа к информации, предоставляют пользователю возможность мгновенной замены отдельных дисков массива без потери данных, хранимых на нем, обеспечивают дублирование данных и многое другое. За счет использования RAID-массивов файл-серверы превращаются в надежное средство хранения корпоративных файлов, организации доступа к ним и их восстановления в случае сбоя.

Давайте более детально рассмотрим основные функции файл-серверов.

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

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

Сбор статистики. Файл-серверы имеют набор средств для отслеживания статистики использования файлов. Благодаря этому можно проследить, к каким файлам и каталогам обращаются пользователи в первую очередь. На основе этой информации можно оптимизировать размещение файлов на диске (-ах) и путем резервного копирования информации дополнительно подстраховаться от сбоев системы.

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

Управление пользовательскими сессиями. Обрабатывая запросы, файл-серверу часто приходится пересылать файлы больших объемов (например, при хранении больших объемов графической информации в издательских системах). В этом случае на него ложиться огромная нагрузка, например, при передаче пользователю файла большого объема (допустим, размером в 700 Мб) в сети произошел сбой, что привело к разрыву соединения. После того как соединение будет восстановлено, файл-сервер должен продолжить передачу данных с того места, когда она прервалась.

Сервер БД

Если серверы приложений и веб-серверы можно назвать сердцем сети, то серверы баз данных ( рис. 2) с уверенностью можно именовать ее памятью. Базы данных (БД) в настоящий момент распространены повсеместно. Они используются для хранения информации о сотрудниках компании, выполняют роль хранилища информации о транзакциях между банками, применяются в качестве репозитариев контента веб-систем и многое другое. Такой огромный фронт работ, выполняемых данными системами, налагает дополнительные требования на базы данных. База данных должна быть мощной системой, способной обрабатывать огромное количество запросов в секунду, и в то же время обладать достаточной гибкостью для развертывания на любом предприятии (для малых предприятий это имеет большое значение). Она должна иметь достаточный уровень безопасности и в то же время легко настраиваться, устанавливаться и администрироваться. Все эти и многие другие факторы определяют облик современных программных решений для построения баз данных.

Рис. 2. Серверы баз данных

БД применяются во многих компаниях и предприятиях для хранения данных, их обработки и конвертации между форматами. Основные функции, выполняемые базами данных, можно разбить на шесть категорий.

Хранение разнородной информации. В базах данных может храниться информация различных типов. На данный момент уже стерты или стираются различия между базами данных и файловыми системами. БД может содержать программный код, текстовую, графическую и мультимедийную информацию. Например, благодаря таким нововведениям, как iFS (Internet File System) в Oracle, базу данных можно рассматривать в качестве сетевого диска, подключенного к системе, что полностью нивелирует различия между файловой системой и БД.

Обработка пользовательских запросов. Пользовательские запросы отсылаются со стороны клиента. В этом пользователю и разработчику помогает разработанный стандартизированный язык запросов ( SQL). Помимо SQL в качестве промежуточного слоя для обмена данными между распределенными системами (например, в схеме business-to-business) используется и язык XML, который позволяет применять типичные способы разметки данных или определять свои собственные.

Распределять нагрузку. Распределение нагрузки между клиентом и сервером БД имеет огромное значение. Если база данных обрабатывает огромное число транзакций в секунду и является узким местом системы, то вычисление отдельных значений и полей необходимо перенести на клиентскую часть системы. В противном случае, большую часть логики стоит оставить на сервере БД.

Поддержка Интернет. К поддержке Интернета, в первую очередь, необходимо отнести возможность встраивания виртуальной машины Java в базу данных. Это позволяет перенести часть вычислительных функций с клиентского компьютера на сервер, а также использовать всю мощь платформенно независимого языка.

Безопасность. В БД часто хранится информация, являющаяся критичной для того или иного бизнеса. Ее стоимость определяет возможные затраты клиентов на приобретение высоконадежного и стойкого к атакам извне решения для построения БД. Высокий уровень безопасности системы играет в этом случае первостепенную роль, для этого в БД встроена поддержка протоколов SSL ( Secure Socket Layer) и RADIUS ( Remote Authentication Dial-In User Service).

Анализ данных. Реляционные базы данных — это системы, которые являются основой для другого класса аналитических решений. MS SQL Server, Oracle и подобные им имеют набор инструментов для построения и анализа OLAP ( оперативная аналитическая обработка данных) структур, их расширения, манипулирования иерархиями и измерениями.

Среди производителей баз данных стоит выделить два бесспорных лидера: компании Microsoft и Oracle со своими продуктами MS SQL Server и Oracle. Однопользовательская версия MS SQL Server носит название Microsoft Data Engine ( MSDE). Oracle представлена двумя однопользовательскими версиями, это Oracle Light и Personal Oracle. От лидеров индустрии стараются не отставать другие компании. На рынке баз данных также представлены продуты Sybase, Informix и IBM DB2.

Web-сервер

Веб-сервер ( рис. 3) — это устройство, на котором хранятся данные, сгруппированные в виде веб-страниц или других документов. Он имеет развитые механизмы для предоставления веб-страниц пользователям и обработки запросов, поступающих с клиентских компьютеров. Веб-сервер обрабатывает запросы клиентов к веб-сайту, выполняет CGI-, JSP-, ASP-, PHP- и другие приложения.

Рис. 3. Веб-сервер

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

Работа со статическими страницами — малая толика того, что может делать веб-сервер. Для работы с динамическими страницами поддерживается набор стандартов, согласно которым веб-серверы могут на лету выполнять отдельные приложения, следуя инструкциям скриптовых языков, посылать запросы в базы данных и обрабатывать данные, полученные от них, а также многое другое. Для динамической генерации страниц и их изменения в процессе работы пользователя применяются такие стандарты, как JSP, ASP, ASPX, PHP и другие. Набор средств для разработки серверных и клиентских интерфейсов этим не ограничивается. Программисты в соответствии с возникающими задачами могут использовать такие мощные языки программирования, как JavaScript, VBScript, Perl, Python и многие другие. Это позволяет предоставлять пользователю, отправляющему запросы к веб-серверу, информацию в необходимом виде, динамически преобразовывая ее в соответствии с потребностями.

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

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

Преобразование данных из одного формата в другой (например, XML в HTML или в PDF). Веб-сервер может выполнять преобразование данных из одного формата в другой в соответствии с потребностями пользователей. Например, данные, которые необходимо отобразить в Сети, хранятся в базе данных в формате XML. Во время обращения к ним пользователя веб-сервер извлекает их из БД, преобразовывает в необходимый формат (например, HTML) и пересылает на клиентский компьютер.

Реализация программных интерфейсов для взаимодействия с пользовательскими приложениями. Разработчики могут создавать клиентские или серверные программные приложения. В первом случае, главным образом, задействуются ресурсы клиентского компьютера, во втором — веб-сервера. Для создания серверных приложений существует набор программных интерфейсов (таких как Netscape Server API или Internet Server API), которые могут использовать разработчики в своих приложениях.

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

Обработка платформенно независимого кода (Java и С#). На веб-сервере может быть развернута виртуальная машина ( VM). Обрабатывая платформенно-независимый код, VM отображает результат в браузере пользователя. Благодаря этому пользователь может работать с аплетами, встроенными в веб-страницы.

В настоящий момент на рынке имеется огромное количество веб-серверов. Они выполняют как стандартный набор функций, так и могут быть заточены для выполнения специфических задач (иметь расширенный набор механизмов для работы с Java, Macromedia Flash, Shockwave и др.). Windows IIS, Apache, TomCat, Jboss, JRun, JBird, BEA Weblogic, ColdFusion — вот неполный перечень продуктов, представленных на рынке программного обеспечения в настоящий момент. Некоторые из них могут выполнять не только роль веб-серверов, но также и серверов приложений, о которых пойдет речь в следующем разделе.



Еще о web-серверах

Итак, разберемся, какие же функции выполняют веб-серверы.

• Содержат JSP ( JavaServer Pages) и сервлеты (приложения, выполняемые на сервере и обрабатывающие запросы пользователей — прим. ред.). Данные механизмы используются для генерации HTTP или XML-кода для браузеров, благодаря чему содержимое веб-страницы легко может быть преобразовано из одного формата в другой.

• Содержат EJB ( Enterprise JavaBeans) — данные приложения могут выполнять огромный набор возложенных на них задач, однако особо стоит выделить работу с базами данных. EJB позволяет выполнять транзакции со всеми существующими в данный момент базами данных, тем самым упрощая взаимодействие приложений и обмен информацией.

• Содержат J2EE-приложения любой степени сложности. Написанные на языке Java, они начинают все больше использоваться для работы с данными, их преобразования и вторичной обработки.

• Веб-серверы используются для обмена сообщениями между приложениями. С помощью сервера приложений можно организовать обмен сообщениями внутри организации. Для решения задач подобного плана существует огромный набор приложений, среди которых Live Communication Server, ICQ Server и многие другие.

Среди серверов приложений необходимо выделить такие продукты, как IBM WebSphere Application Server и Tango Application Server. Стоит уточнить, что большинство веб-серверов используются в качестве серверов приложений.

Сервер приложений

Серверы приложений  — это огромный класс систем, который включает в свой состав и подкласс веб-серверов.

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

Чем является для пользователя сервер приложений? Это программное решение, которое используется для обработки запросов пользователей. (Обычно сервер приложений ( рис. 1) выполняет задачи удаленного пользователя и отправляет ему минимально загружающую канал связи итоговую информацию, т.н. «клиентские окна» и т.п. Вообще, идея использования серверов приложений изначально и родилась как возможность задействования мощных компьютеров для вычислений, причем отдельно от «слабых» клиентских машин (т.н. терминалов), отвечающих по большей части только за отображение конечной пользовательской информации. — Прим. ред.).

Рис. 1.

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

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

Серверы, выполняющие служебные функции

Работа серверов, рассмотренных нами в предыдущих разделах, постоянно на виду. Мы часто используем почтовый сервер для отправки и получения электронных сообщений, загружаем файлы с помощью файл-сервера, распечатываем документы через принт-сервер. Однако существует огромный класс систем, которые невидимы для простого пользователя, но без которых также немыслима нормальная работы в офисе. Этот класс систем выполняет служебные функции. К ним относится прокси-сервер, позволяющий настраивать доступ пользователей локальной сети в Интернет. Брандмауэр — мощное средство для обеспечения безопасности локальной сети. И наконец, FTP-сервер, который дает возможность выполнять загрузку и копирование файлов с сервера и на него.

Помимо уже упомянутых, существует еще огромное количество служебных серверов, выполняющих строго определенные служебные функции. Например, DNS-сервер (Domain Name System) управляет присвоением доменных имен, DHCP-сервер (Dynamic Host Configuration Protocol) используется для автоматического присвоения динамических IP-адресов отдельным компьютерам локальной сети, а NAT-сервер (Network Address Translator) — для трансляции IP-адресов из внутренних (локальной сети) во внешние.

Прокси-сервер

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

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

Что касается пользователей, то и для них прокси-сервер предоставляет дополнительные преимущества ( рис. 2). Благодаря ему большое количество веб-страниц кэшируется на дисках прокси-сервера, за счет чего достигается ускорение работы в Интернете. В том случае, если через прокси-сервер в Интернет выходит небольшое количество пользователей, то ускорение работы практически незаметно, однако стоит этой цифре возрасти, и скорость доступа к веб-страницам заметно возрастает. Помимо этого, прокси-сервер позволяет пользователям бороздить просторы Интернета, используя в качестве собственного IP-адреса адрес прокси-сервера. Такая подмена адресов очень удобна. В том случае, если какой-либо хакер захочет атаковать ваш компьютер, то вместо него он будет атаковать прокси-сервер, который, несомненно, имеет больше средств для защиты, чем отдельный компьютер локальной сети.

Рис. 2.

Давайте более детально рассмотрим функции, выполняемые прокси-сервером. Прокси-сервер позволяет следующее.

• Организовать доступ пользователей через одно соединение и осуществить кэширование информации — браузеры всех пользователей, которые загружают страницы из Интернета, сначала обращаются с запросом на прокси-сервер. Он просматривает содержимое кэш на наличие веб-страницы, которую запросил пользователь. В том случае, если такая страница в кэше имеется, прокси-сервер сравнивает ее содержимое с содержимым реальной страницы в Интернет. Для этого имеется набор алгоритмов, используя которые, сервер передает веб-страницу для сравнения не целиком. Если запрашиваемая веб-страница не находится в кэше, то прокси-сервер напрямую переправляет запрос на сервер, к которому обращался первоначально пользователь, загружает с него страницу и сохраняет ее в собственном кэше. Таким образом, при повторном обращении пользователя к данной странице будет загружена страница не из Интернета, а с прокси-сервера.

• Обходить запреты, установленные администратором. В том случае, если доступ на некоторые сайты заблокирован администраторами системы (блокировка обычно устанавливается на прокси-сервере), то можно постараться обойти запрет. Для этого необходимо установить отдельный прокси или получить доступ к одному из уже имеющихся и использовать его в качестве промежуточного слоя для доступа в Интернет.

• Организовать анонимный доступ в Интернет — как уже было сказано ранее, прокси-сервер подменяет реальный IP-адрес пользователя своим IP-адресом. Таким образом, бороздя просторы Интернета, в качестве обратного адреса вы будете оставлять не реальный адрес, а адрес прокси-сервера. Данный механизм очень часто используют хакеры. Они входят в Сеть не через один анонимный прокси-сервер, а через несколько (с первого выходят на второй, со второго на третий и т.д.). Отследить реальное местоположение такого пользователя, вышедшего в Сеть через несколько прокси-серверов, практически невозможно.

Брандмауэр

Постоянные эпидемии вирусов в сети, атаки хакеров Аль Каиды :-), воровство конфиденциальной информации — вот не полный перечень проблем, с которыми может столкнуться организация, использующая в своей работе Интернет. Для того чтобы уменьшить риски, связанные с использованием Всемирной Сети, в больших, средних, а иногда и малых организациях используются брандмауэры (или firewall). Брандмауэр ( рис. 3) — это сервер промежуточного уровня, который служит для обеспечения определенного уровня безопасности локальной сети, пользователи которой имеют доступ в Интернет. Суть работы данного программного решения состоит в фильтрации исходящих и входящих пакетов. Брандмауэр пропускает в локальную сеть только «разрешенные» пакеты и выпускает наружу также только те пакеты, которые удовлетворяют политике безопасности.

Рис. 3.

История брандмауэра началась тогда, когда рост количества компьютеров в локальной сети не позволял достичь определенного уровня безопасности. То есть ранее администраторам локальных сетей необходимо было устанавливать программное обеспечение, которое защищало компьютеры от хакерских атак и вирусов, практически на каждый компьютер. Однако при увеличении числа компьютеров стало невозможным поддерживать подобную модель обеспечения безопасности. Более того, стало невозможным устанавливать политики безопасности, поскольку от компьютеров локальной сети постоянно требовалось обмениваться служебной информацией для обеспечения определенного уровня безопасности. Таким образом, оказалось рациональнее установить один мощный сервер, на котором обеспечить наивысший из возможных уровней безопасности, а отдельные компьютеры сети оставить незащищенными. Этот сервер фильтрует все пакеты, которые через него проходят, тем самым обеспечивая наивысший уровень безопасности.

Брандмауэр позволяет следующее.

• Сосредоточить настройки безопасности в одном месте — благодаря тому, что от администратора требуется настроить только один компьютер (брандмауэр), а не все компьютеры локальной сети, экономятся материальные и человеческие ресурсы компании. Администратор настраивает уровень безопасности, разрешая доступ к определенным сайтам, открывая или закрывая отдельные порты и многое другое.

• Обеспечить высокий уровень конфиденциальности — в настоящий момент во многих организациях информация является капиталом. Гарантия ее конфиденциальности — одна из первостепенных проблем, которая стоит перед администраторами. Конфигурируя брандмауэр, можно разрешить или запретить использование определенных портов для отсылки электронной корреспонденции, организовать работу отдельных экономических программ, применяющих в своей работе нестандартные протоколы, запретить использование «доморощенных» прокси-серверов и многое другое.

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

• Настройка политик. Используя только один компьютер для настройки безопасности целой сети, можно в сжатые сроки претворять в жизнь политики безопасности. Согласно этим политикам отдельные пользователи получают расширенные права для доступа к ресурсам, другие же максимально ограничиваются.

• Протоколирование и сбор статистики — брандмауэр ведет сбор статистики обращений. Просматривая собранные данные, администраторы могут выявлять начальные стадии хакерских атак (сканирование открытых портов, получение расширенного набора прав и др.).

FTP-сервер

Название FTP-сервера пошло от названия протокола, который используется для передачи данных от сервера к клиенту. File Transfer Protocol ( FTP) — это протокол, относящийся к уровню транспортных протоколов, служащий исключительно для передачи данных в сети. По специфике выполняемых функций FTP-сервер ( рис. 4) является файл-сервером, который получает от клиента запросы на определенные файлы, обрабатывает эти запросы и управляет передачей файлов на клиентский компьютер. На этом, пожалуй, и заканчивается схожесть этих серверов. Несмотря на то, что они выполняют похожие функции, внутри они устроены совершенно по-разному. Отличие FTP-сервера состоит в том, что для доступа к файлам, которые на нем хранятся, пользователю необходимо обязательно ввести логин и пароль. При этом он получит доступ только к тем файлам и каталогам, которые разрешены для данного пользователя. Такой подход к работе сервера объясняется платформой, на основе которой он функционирует. Для развертывания FTP-сервера используется Unix и другие unix-подобные системы.

Рис. 4.

Несмотря на всю строгость операционной системе Unix в отношении безопасности, необходимо заметить, что существует огромное количество так называемых анонимных FTP-серверов. Они появились во времена бурного развития сети, когда пользователям необходимо было копировать файлы из различных систем. Доступ на все FTP-сервера получить было нельзя, поэтому была достигнута договоренность об использовании анонимного доступа к FTP-серверам. Благодаря этому на большинстве серверов был создан аккаунт anonymous или guest, под которым в систему мог войти любой желающий. Для данного аккаунта используются наибольшие ограничения, однако это не мешает пользователям копировать файлы на клиентский компьютер. Таким образом, от пользователя, подключающегося к анонимному FTP-серверу, требуется вместо логина ввести слово anonymous или guest, и продублировать его в поле для ввода пароля.

Несмотря на то, что FTP-сервер выполняет функции, во многом аналогичные функциям файл-сервера, он все же относится к разряду служебных систем. В первую очередь, это объясняется сложностью его использования (что во многом обусловлено операционной системой, на которой он разворачивается). Во-вторых, в последнее время данный сервер все чаще используется для выполнения служебных функций. Он часто применяется не для загрузки файлов из сети, а для копирования отдельных файлов на сервер. Кто создавал и разворачивал на сервере свой собственный сайт, тот знает, что закачка отдельных веб-страниц и других файлов обычно происходит по протоколу FTP.

Среди недостатков FTP-сервера необходимо выделить следующий: он не поддерживает работы с мета-данными, как это могут делать современные файл-серверы. Что это означает для пользователя? FTP-серверы обычно содержат большие объемы информации, которая разбита на огромное количество файлов и директорий. Рядовому пользователю сложно разобраться со всем многообразием директорий и файлов, а, следовательно, практически невозможно найти тот файл, который его интересует. Позже администраторы FTP-серверов начали создавать текстовые файлы, содержащие общие описания файлов и директорий. Однако эти файлы необходимо было обновлять и пополнять информацией, и от этой затеи пришлось отказаться. Несмотря на то, что FTP-сервер — это очень надежная и безопасная система, она начинает отживать свое и уступать место более современным системам.

Вывод

Нами было рассмотрено большое количество всевозможных серверов, без которых невозможно наладить нормальную работу на предприятии. В некоторых типах серверов — особенно в малых фирмах с несколькими компьютерами — нет необходимости, однако в больших компаниях с сотнями тысячами компьютеров без них не обойтись.


Автор: Александр Волоха

5.06.2004 г.

На главную страницу


Перепечатка материалов запрещена. Copyright © 2007, Alifar.

Hosted by uCoz