Концепция распределения ресурсов сети
В компьютерной сети каждый компьютер работает под управлением своей операционной системы. Взаимодействие между компьютерами сети происходит за счет передачи сообщений через коммуникационную систему. С помощью этих сообщений один компьютер обычно запрашивает доступ к локальным ресурсам [файлам, дискам, принтерам и т.п.] другого компьютера. Распределение локальных ресурсов каждого компьютера между всеми пользователями сети — основная цель создания компьютерной сети.
На тех компьютерах, ресурсы которых должны быть доступны всем пользователям сети, в состав операционной системы входят программные модули, которые постоянно будут находиться в режиме ожидания запросов, поступающих по сети от других компьютеров. Такие модули называются программными серверами [англ. Server — обслуживать], так как их главная задача обслуживать запросы на доступ к ресурсам своего компьютера. На компьютерах, пользователи которых хотят получать доступ к ресурсам других компьютеров, также к операционной системе добавляются программные модули, которые должны вырабатывать запросы к удаленным ресурсам и передавать их по сети на нужный компьютер. Такие модули обычно называют программными клиентами [англ. Client — клиент]. Таким образом, коммуникационная система осуществляет передачу сообщений с запросами и ответами от одного компьютера к другому, а основную работу по организации совместного использования ресурсов выполняют клиентские и серверные части операционных систем.
Рис. 1. Взаимодействие компьютеров в сети
Пара модулей «клиент — сервер» обеспечивает совместный доступ только к одному типу ресурсов, например к файлам. В этом случае говорят, что пользователь имеет дело с файловой службой [англ. Service]. Обычно сетевая операционная система поддерживает несколько видов сетевых служб для своих пользователей — файловую службу, службу печати, электронной почты и т.п. Описание набора услуг, который предоставляется конкретной службой называют сервисом. Сетевые службы всегда представляют собой распределенные программы. Распределенная программа — это программа, которая состоит из нескольких частей, причем каждая часть, как правило, выполняется на отдельном компьютере сети.
В сети могут выполняться и распределенные пользовательские программы — приложения. Распределенное приложение также состоит из нескольких частей, каждая из которых выполняет какую-то определенную законченную работу по решению прикладной задачи, например, сетевые базы данных. Распределенные приложения часто называются сетевыми приложениями. Следует подчеркнуть, что не всякое приложение, выполняемое в сети, является сетевым. Существует большое количество популярных приложений, которые не являются распределенными и целиком выполняются на одном компьютере сети.
Термины «клиент» и «сервер» используются не только для обозначения программных модулей, но и компьютеров, подключенных к сети. Если компьютер предоставляет свои ресурсы другим компьютерам сети, то он называется сервером, а если он их потребляет — клиентом. Иногда один и тот же компьютер может играть роль и сервера, и клиента.
В зависимости от концепции распределения ресурсов сети делятся на одноранговые сети и сети на основе сервера.
В одноранговой сети все компьютеры равноправны: нет иерархии среди компьютеров и нет выделенного [dedicated] сервера. Как правило, каждый компьютер функционирует и как клиент, и как сервер. Все пользователи самостоятельно решают, какие локальные ресурсы на своем компьютере сделать общедоступными по сети. Одноранговые сети называют также рабочими группами. Рабочая группа — это небольшой коллектив, поэтому в одноранговых сетях чаще всего не более 10 компьютеров.
Если к сети подключено более 10 пользователей, то одноранговая сеть, где компьютеры выступают в роли и клиентов, и серверов, может оказаться недостаточно производительной. Поэтому большинство сетей использует выделенные серверы. Выделенным сервером называется такой компьютер, который функционирует только как сервер [исключая функции клиента]. Они специально оптимизированы для быстрой обработки запросов от сетевых клиентов и для управления защитой файлов и каталогов. Сеть, в которой есть выделенный сервер, называется сетью на основе сервера.