|
Санкт-Петербург +7(812) 380-74-27 | 998-12-89
|
|
Се́рверное програ́ммное обеспечение (се́рвер, англ. server от to serve — служить; множественное число се́рверы, в разговорном языке также употребляется сервера́) — в информационных технологиях — программный компонент вычислительной системы, выполняющий сервисные (обслуживающие) функции по запросу клиента, предоставляя ему доступ к определённым ресурсам или услугам. Понятия сервер и клиент и закреплённые за ними роли образуют программную концепцию «клиент-сервер». Для взаимодействия с клиентом (или клиентами, если поддерживается одновременная работа с несколькими клиентами) сервер выделяет необходимые ресурсы межпроцессного взаимодействия (разделяемая память, пайп, сокет и т. п.) и ожидает запросы на открытие соединения (или, собственно, запросы на предоставляемый сервис). В зависимости от типа такого ресурса, сервер может обслуживать процессы в пределах одной компьютерной системы или процессы на других машинах через каналы передачи данных (например, COM-порт) или сетевые соединения. Формат запросов клиента и ответов сервера определяется протоколом. Спецификации открытых протоколов описываются открытыми стандартами, например протоколы Интернета определяются в документах RFC. В зависимости от выполняемых задач одни сервера, при отсутствии запросов на обслуживание, могут простаивать в ожидании. Другие могут выполнять какую-то работу (например, работу по сбору информации), у таких серверов работа с клиентами может быть второстепенной задачей. Универсальные сервераУниверсальные сервера — особый вид серверной программы, не предоставляющий никаких услуг самостоятельно. Вместо этого универсальные сервера предоставляют серверам услуг упрощённый интерфейс к ресурсам межпроцессного взаимодействия и/или унифицированный доступ клиентов к различным услугам. Существуют несколько видов таких серверов:
Универсальные сервера часто используются для написания всевозможных информационных серверов — серверов, не нуждающихся в специфической работе с сетью и не имеющих никаких задач, кроме обслуживания клиентов. Например, в роли серверов для inetd могут выступать обычные консольные программы и скрипты. Большинство внутренних и сетевых специфических серверов Windows работают через универсальные сервера (RPC, (D-)COM). МаршрутизацияСтрого говоря, сервис маршрутизации не является сервисом в классическом смысле, а является базовой функцией поддержки сети операционной системой. Для TCP/IP маршрутизация является базовой функцией стека IP (кода поддержки TCP/IP). Маршрутизацию своих пакетов к месту назначения выполняет любая система в сети, маршрутизацию же чужих пакетов (форвардинг) выполняют только маршрутизаторы (также известные как роутеры или шлюзы). Задачи маршрутизатора при форвардинге пакета:
Динамическая маршрутизацияРешения динамической маршрутизации призваны собирать информацию о текущем состоянии сложной сети и поддерживать таблицу маршрутов через эту сеть, чтобы обеспечить доставку пакета по кратчайшему и самому эффективному маршруту. Из этих решений клиент-серверную модель использует только BGP (англ. Border Gateway Protocol — протокол пограничного шлюза), применяемый для глобальной маршрутизации. Локальные решения (RIP OSPF) используют в своей работе бродкастовые и мультикастовые рассылки. Сетевые службыСетевые службы обеспечивают функционирование сети; например, сервера DHCP и BOOTP обеспечивают стартовую инициализацию серверов и рабочих станций, DNS — трансляцию имён в адреса и наоборот. Сервера туннелирования (например, различные VPN-сервера) и прокси-сервера обеспечивают связь с сетью, недоступной роутингом. Сервера AAA и Radius обеспечивают в сети единую аутентификацию, авторизацию и ведение логов доступа. Информационные службыК информационным службам можно отнести как простейшие сервера, сообщающие информацию о хосте (time, daytime, motd) и пользователях (finger, ident), так и сервера для мониторинга, например SNMP. Большинство информационных служб работают через универсальные сервера. Особым видом информационных служб являются сервера синхронизации времени — NTP; кроме информировании клиента о точном времени NTP-сервер периодически опрашивает несколько других серверов на предмет коррекции собственного времени. Помимо времени, анализируется и корректируется скорость хода системных часов. Коррекция времени осуществляется ускорением или замедлением хода системных часов (в зависимости от направления коррекции), чтобы избежать проблем, возможных при простой перестановке времени. Файловые сервераОсновная статья: Файловый сервер
Файловые сервера представляют собой сервера для обеспечения доступа к файлам на диске сервера. Прежде всего это сервера передачи файлов по заказу, по протоколам FTP, TFTP, SFTP и HTTP. Протокол HTTP ориентирован на передачу текстовых файлов, но сервера могут отдавать в качестве запрошенных файлов и произвольные данные, например динамически созданные веб-страницы, картинки, музыку и т. п. Другие сервера позволяют монтировать дисковые разделы сервера в дисковое пространство клиента и полноценно работать с файлами на них. Это позволяют сервера протоколов NFS и SMB. Серверы NFS и SMB работают через интерфейс RPC. Недостатки файл-серверной системы:
Сервера доступа к даннымСервера доступа к данным обслуживают базу данных и отдают данные по запросам. Один из самых простых сервисов подобного типа — LDAP (англ. Lightweight Directory Access Protocol — облегчённый протокол доступа к спискам). Для доступа к серверам баз данных единого протокола не существует, однако все сервера баз данных объединяет использование единых правил формирования запросов — языка SQL (англ. Structured Query Language — язык структурированных запросов). Службы обмена сообщениямиСлужбы обмена сообщениями позволяют пользователю передавать и получать сообщения (обычно — текстовые). В первую очередь это сервера электронной почты, работающие по протоколу SMTP. SMTP-сервер принимает сообщение и доставляет его в локальный почтовый ящик пользователя или на другой SMTP-сервер (сервер назначения или промежуточный). На многопользовательских компьютерах пользователи работают с почтой прямо на терминале (или в веб-интерфейсе). Для работы с почтой на персональном компьютере почта забирается из почтового ящика через сервера, работающие по протоколам POP3 или IMAP. Для организации конференций существует сервера новостей, работающие по протоколу NNTP. Для обмена сообщениями в реальном времени существуют серверы чатов. Существует большое количество чат-протоколов, например, IRC, Jabber и ICQ. Сервера удалённого доступаСервера удалённого доступа, через соответствующую клиентскую программу, обеспечивают пользователя аналогом локального терминала (текстового или графического) для работы на удаленной системе. Для обеспечения доступа к командной строке служат сервера telnet, RSH и SSH. Графический интерфейс для Unix-систем — X Window System — имеет встроенный сервер удалённого доступа, так как с такой возможностью разрабатывался изначально. Иногда возможность удалённого доступа к интерфейсу Х-Window неправильно называют «X-Server» (этим термином в X-Window называется видеодрайвер). Стандартный сервер удалённого доступа к графическому интерфейсу Microsoft Windows называется терминальный сервер. Некоторую разновидность управления (точнее, мониторинга и конфигурирования) также предоставляет протокол SNMP. Компьютер или аппаратное устройство для этого должно иметь SNMP-сервер. Игровые сервераИгровые сервера служат для одновременной игры нескольких пользователей в единой игровой ситуации. Некоторые игры имеют сервер в основной поставке и позволяют запускать его в невыделенном режиме (то есть позволяют играть на машине, на которой запущен сервер). |