Сервер (программное обеспечение): различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][отпатрулированная версия]
Содержимое удалено Содержимое добавлено
Содержимое страницы заменено на «лекция ушла гулять =D Категория:Сетевое программное обеспече…»
 
(не показано 37 промежуточных версий 25 участников)
Строка 1: Строка 1:
{{значения|Сервер}}
лекция ушла гулять =D
{{нет ссылок|дата=2022-12-24}}
[[Файл:Apache Software Foundation Logo (2016).svg|thumb|Логотип веб-сервера [[Apache HTTP Server|Apache]] ]]
'''Се́рверное програ́ммное обеспечение''' ('''се́рвер''', {{lang-en|server}} от {{lang-en2|to serve}} — служить; множественное число се́рверы, в разговорном языке также употребляется сервера́) — в [[Информационные технологии|информационных технологиях]] — программный компонент вычислительной системы, выполняющий сервисные (обслуживающие) функции по запросу [[Клиент (информатика)|клиента]], предоставляя ему доступ к определённым ресурсам или услугам.

== Роль сервера ==
Понятия ''сервер'' и ''клиент'' и закреплённые за ними роли образуют программную [[концепция|концепцию]] «''[[клиент-сервер]]''».

Для взаимодействия с клиентом (или клиентами, если поддерживается одновременная работа с несколькими клиентами) сервер выделяет необходимые ресурсы [[межпроцессное взаимодействие|межпроцессного взаимодействия]] ([[разделяемая память]], [[Именованный канал|пайп]], [[Сокет (программный интерфейс)|сокет]] и т. п.) и ожидает запросы на открытие соединения (или, собственно, запросы на предоставляемый сервис). В зависимости от типа такого ресурса, сервер может обслуживать процессы в пределах одной компьютерной системы или процессы на других машинах через каналы передачи данных (например, [[Последовательный порт|COM-порт]]) или сетевые соединения.

Формат запросов клиента и ответов сервера определяется [[протокол передачи данных|протоколом]]. Спецификации открытых протоколов описываются открытыми стандартами, например, протоколы Интернета определяются в документах [[RFC]].

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

== Аппаратное обеспечение ==
{{main|Сервер (аппаратное обеспечение)}}
У слова «сервер» есть и другое значение — компьютер, выполняющий серверные задачи, или компьютер (или иное аппаратное обеспечение), специализированный (по форм-фактору и/или ресурсам) для использования в качестве аппаратной базы для серверов услуг (иногда — услуг определённого направления), разделяя ресурсы компьютера с программами, запускаемыми пользователем. Такой режим работы называется «невыделенным», в отличие от «выделенного» ({{lang-en|dedicated}}), когда компьютер выполняет только сервисные функции. Строго говоря, на рабочей станции (для примера, под управлением Windows XP) и без того всегда работает несколько серверов — сервер удалённого доступа (терминальный сервер), сервер удалённого доступа к файловой системе и системе печати и прочие удалённые и внутренние серверы.

== Классификация стандартных серверов ==
Как правило, каждый сервер обслуживает один или несколько схожих протоколов. Серверы можно классифицировать по типу услуг, которые они предоставляют.<ref>Comer, Douglas E.; Stevens, David L. (1993). Vol III: Client-Server Programming and Applications. Internetworking with TCP/IP. Department of Computer Sciences, Purdue University, West Lafayette, IN 479: Prentice Hall. pp. 11d. ISBN 0-13-474222-2.</ref>

=== Универсальные серверы ===
Универсальные серверы — особый вид серверной программы, не предоставляющий никаких услуг самостоятельно. Вместо этого универсальные серверы предоставляют серверам услуг упрощённый интерфейс к ресурсам межпроцессного взаимодействия и/или унифицированный доступ клиентов к различным услугам. Существуют несколько видов таких серверов:
* ''inetd'' (от {{lang-en|'''i'''nter'''net''' super-server '''d'''aemon}} — [[Демон (программа)|демон]] сервисов IP) — стандартное средство UNIX-систем — программа, позволяющая писать серверы TCP/IP (и сетевых протоколов других семейств), работающие с клиентом через перенаправленные inetd потоки стандартного ввода и вывода (stdin и stdout).
* ''RPC'' (от {{lang-en|'''R'''emote '''P'''rocedure '''C'''all}} — удалённый вызов процедур) — система интеграции серверов в виде [[Подпрограмма#Виды подпрограмм|процедур]], доступных для вызова удалённым пользователем через унифицированный интерфейс. Интерфейс, изобретённый Sun Microsystems для своей операционной системы (SunOS, Solaris; Unix-система), в настоящее время используется как в большинстве Unix-систем, так и в Windows.
* Прикладные клиент-серверные технологии Windows:
** (''D''-)''COM'' ({{lang-en|('''D'''istributed) '''C'''omponent '''O'''bject '''M'''odel}} — модель составных объектов) и др. — Позволяет одним программам выполнять операции над объектами данных, используя процедуры других программ. Изначально данная технология предназначена для их «внедрения и связывания объектов» (OLE {{lang-en|'''O'''bject '''L'''inking and '''E'''mbedding}}), но в общем позволяет писать широкий спектр различных прикладных серверов. COM работает только в пределах одного компьютера, DCOM доступна удалённо через RPC.
** ''Active-X'' — Расширение COM и DCOM для создания мультимедийных приложений.

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

Большинство внутренних и сетевых специфических серверов Windows работают через универсальные серверы (RPC, (D-)COM).

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

Для [[TCP/IP]] маршрутизация является базовой функцией ''стека IP'' (кода поддержки TCP/IP). Маршрутизацию своих пакетов к месту назначения выполняет любая система в сети, маршрутизацию же чужих пакетов (форвардинг) выполняют только [[маршрутизатор]]ы (также известные как роутеры или шлюзы). Задачи маршрутизатора при форвардинге пакета:
* принять пакет
* найти машину, на которую следует этот пакет, или следующий маршрутизатор по маршруту к ней (в таблице маршрутов)
* передать пакет или вернуть [[ICMP]]-сообщение о невозможности его доставки по причинам:
** назначение недостижимо ({{lang-en|Destination unreachable}}) — у пакета кончилось «''время жизни''» прежде чем он достиг места назначения
** хост недостижим ({{lang-en2|Host unreachable}}) — компьютер или следующий маршрутизатор выключен или не существует
** сеть недостижима ({{lang-en2|Network unreachable}}) — маршрутизатор не имеет маршрута в сеть назначения
* если пакет не может быть доставлен по причине перегрузки маршрутизатора (или сети) — отбросить пакет без уведомлений

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

Из этих решений клиент-серверную модель использует только [[Border Gateway Protocol|BGP]] ({{lang-en|'''B'''order '''G'''ateway '''P'''rotocol}} — протокол пограничного шлюза), применяемый для глобальной маршрутизации. Локальные решения ([[RIP2|RIP]] [[OSPF]]) используют в своей работе [[Broadcasting|бродкастовые]] и [[мультикаст]]овые рассылки.

=== Сетевые службы ===
Сетевые службы обеспечивают функционирование сети; например, серверы [[DHCP]] и [[BOOTP]] обеспечивают стартовую инициализацию [[сервер (аппаратное обеспечение)|серверов]] и рабочих станций, [[DNS]] — трансляцию имён в адреса и наоборот.

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

Серверы AAA и Radius обеспечивают в сети единую аутентификацию, авторизацию и ведение логов доступа.

=== Информационные службы ===
К информационным службам можно отнести как простейшие серверы, сообщающие информацию о хосте (time, daytime, motd) и пользователях (finger, [[ident]]), так и серверы для мониторинга, например [[SNMP]]. Большинство информационных служб работают через универсальные серверы.

Особым видом информационных служб являются серверы ''синхронизации времени'' — [[NTP]]. Кроме информирования клиента о точном времени NTP-сервер периодически опрашивает несколько других серверов на предмет коррекции собственного времени. Помимо времени, анализируется и корректируется скорость хода системных часов. Коррекция времени осуществляется ускорением или замедлением хода системных часов (в зависимости от направления коррекции), чтобы избежать проблем, возможных при простой перестановке времени.

=== Файловые серверы ===
{{main|Файловый сервер}}
Файловые серверы представляют собой серверы для обеспечения доступа к файлам на диске сервера.

Прежде всего это серверы передачи файлов по заказу, по протоколам [[FTP]], [[TFTP]], [[SFTP]] и [[HTTP]]. Протокол HTTP ориентирован на передачу текстовых файлов, но серверы могут отдавать в качестве запрошенных файлов и произвольные данные, например динамически созданные веб-страницы, картинки, музыку и т. п.

Другие серверы позволяют ''монтировать'' дисковые разделы сервера в дисковое пространство клиента и полноценно работать с файлами на них. Это позволяют серверы протоколов [[Network File System|NFS]] и [[SMB]]. Серверы NFS и SMB работают через интерфейс [[Remote Procedure Call|RPC]].

Недостатки файл-серверной системы:

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

=== Серверы доступа к данным ===
Серверы доступа к данным обслуживают базу данных и отдают данные по запросам. Один из самых простых сервисов подобного типа — [[LDAP]] ({{lang-en|Lightweight Directory Access Protocol}} — облегчённый протокол доступа к спискам).

Для доступа к [[сервер базы данных|серверам баз данных]] единого протокола не существует, однако ряд баз данных объединяет использование единых правил формирования запросов — языка [[SQL]] ({{lang-en|Structured Query Language}} — язык структурированных запросов). Наряду с ними есть и другие — [[NoSQL]] базы данных.

=== Медиасерверы ===
Медиасерверы предоставляют сети доступ к мультимедийным источникам, от аудио/видео по запросу (что приближает медиасерверы к файл-серверам) до стриминга аудио/видео в реальном времени.

==== VoIP / IP-телефония ====
Серверы [[IP-телефония|IP-телефонии]] (VoIP) — [[Софтсвитч|программные коммутаторы (софтсвитчи)]], [[IP-АТС]], [[Виртуальная АТС|виртуальные АТС]] и серверы [[Сервер многоточечной конференции|
ВКС]], а также специализированные серверы Интернет-сервисов (таких как [[Skype]]) обеспечивают пользователей возможностями голосовой и видео-связи в режиме реального времени посредством компьютерной сети.
Кроме собственно передачи потоковых медиа-данных (аудио и видео), сервер IP-телефонии подобно классической [[АТС]] реализует возможность регистрации оконечного терминала, маршрутизацию [[телефонный вызов|вызова]] и корректное установление соединения между пользователями, а также нередко и [[дополнительные виды обслуживания]].

В отдельных случаях, в зависимости от реализуемой технологии и административных настроек, VoIP-сервер может обеспечивать только управление — регистрацию пользователя в сети и коммутацию поступающих вызовов, без непосредственного участия в передаче медиа-данных между кклиентскими терминалами. В этом случае потоковые данные с полезной нагрузкой передаются напрямую между конечными пользователями ([[peer-to-peer]]) и / или некоторыми промежуточными устройствами, приложениями. Известно, что такой вариант прямой связи с управлением через сервер применяется в [[Skype]], [[Viber]], [[Telegram]] и [[WhatsApp]]. Также, подобный режим нередко применяется в корпоративных IP-АТС.

В качестве клиентских терминалов к VoIP-серверу могут выступать [[VoIP-телефон]]ы, [[видеотелефон]]ы, [[Софтфон|программные телефоны (софтфоны)]], а также обычные аналоговые [[телефонный аппарат|телефонные аппараты]] подключенные через [[VoIP-шлюз]].
Сервер IP-телефонии может работать как самостоятельное устройство для обеспечения связи между внутренними пользователями или быть подключенным к какой-либо сторонней [[телефонная сеть|сети]], в том числе к [[ТФОП|телефонной сети общего пользования]], через Интернет или через сеть [[Оператор связи|оператора телефонной связи]].

=== Службы обмена сообщениями ===
Службы обмена сообщениями позволяют пользователю передавать и получать сообщения (обычно — текстовые).

В первую очередь это серверы [[электронная почта|электронной почты]], работающие по протоколу [[SMTP]]. ''SMTP-сервер'' принимает сообщение и доставляет его в локальный почтовый ящик пользователя или на другой SMTP-сервер (сервер назначения или промежуточный). На многопользовательских компьютерах пользователи работают с почтой прямо на терминале (или в веб-интерфейсе). Для работы с почтой на персональном компьютере почта забирается из почтового ящика через серверы, работающие по протоколам [[POP3]] или [[IMAP]].

Для организации конференций существует серверы новостей, работающие по протоколу [[NNTP]].

Для обмена сообщениями в реальном времени существуют серверы [[Чат (программа)|чатов]]. Существует большое количество чат-протоколов, например, [[IRC]], [[Jabber]] и [[OSCAR]].

=== Серверы удалённого доступа ===
Серверы удалённого доступа, через соответствующую клиентскую программу, обеспечивают пользователя аналогом локального терминала (текстового или графического) для работы на удаленной системе.

Для обеспечения доступа к [[Командная строка|командной строке]] служат серверы [[telnet]], [[RSH]] и [[SSH]].

Графический интерфейс для Unix-систем — [[X Window System]] — имеет встроенный сервер удалённого доступа, так как с такой возможностью разрабатывался изначально. Иногда возможность удалённого доступа к интерфейсу Х-Window ''неправильно'' называют «X-Server» (этим термином в X-Window называется видеодрайвер).

Стандартный сервер удалённого доступа к графическому интерфейсу [[Microsoft Windows]] называется [[терминальный сервер]].

Некоторую разновидность управления (точнее, мониторинга и конфигурирования) также предоставляет протокол SNMP. Компьютер или аппаратное устройство для этого должно иметь SNMP-сервер.

=== Серверы приложений ===
Серверы предоставляющие сети прикладные сервисы (в том числе — вычислительные).

==== Игровые серверы ====
[[Игровые сервера|Игровые серверы]] служат для одновременной игры нескольких пользователей в единой игровой ситуации. Некоторые игры имеют сервер в основной поставке и позволяют запускать его в невыделенном режиме (то есть позволяют играть на машине, на которой запущен сервер).

=== Прочие серверы ===
[[Принт-сервер]]ы позволяют пользователям сети совместно использовать общий принтер.

Факс-сервер позволяет пользователям сети отправлять [[факс|факсимильные сообщения]].

== Серверные решения ==
Серверные решения — [[операционные системы]] и/или пакеты программ, оптимизированные под выполнение компьютером функций [[сервер (аппаратное обеспечение)|сервера]] и/или содержащие в своем составе комплект программ для реализации типичного набора сервисов.

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

Также необходимо выделить пакеты серверов и сопутствующих программ (например комплект [[веб-сервер]]/PHP/MySQL для быстрого развёртывания хостинга) для установки под Windows (для Unix свойственна модульная или «пакетная» установка каждого компонента, поэтому {{нет АИ 2|такие решения редки|6|02|2013}}, но они существуют. Наиболее известное — LAMP).

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

Серверные решения служат для упрощения организации базовой ИТ-инфраструктуры компаний, то есть для оперативного построения полноценной сети в компании, в том числе и «с нуля». Компоновка отдельных серверных приложений в решение подразумевает, что решение предназначено для выполнения большинства типичных задач; при этом значительно снижается сложность развёртывания и общая стоимость владения ИТ-инфраструктурой, построенной на таких решениях.

== Примечания ==
{{примечания}}


[[Категория:Сетевое программное обеспечение]]
[[Категория:Сетевое программное обеспечение]]

Текущая версия от 05:41, 7 января 2024

Логотип веб-сервера Apache

Се́рверное програ́ммное обеспечение (се́рвер, англ. server от to serve — служить; множественное число се́рверы, в разговорном языке также употребляется сервера́) — в информационных технологиях — программный компонент вычислительной системы, выполняющий сервисные (обслуживающие) функции по запросу клиента, предоставляя ему доступ к определённым ресурсам или услугам.

Роль сервера

[править | править код]

Понятия сервер и клиент и закреплённые за ними роли образуют программную концепцию «клиент-сервер».

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

Формат запросов клиента и ответов сервера определяется протоколом. Спецификации открытых протоколов описываются открытыми стандартами, например, протоколы Интернета определяются в документах RFC.

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

Аппаратное обеспечение

[править | править код]

У слова «сервер» есть и другое значение — компьютер, выполняющий серверные задачи, или компьютер (или иное аппаратное обеспечение), специализированный (по форм-фактору и/или ресурсам) для использования в качестве аппаратной базы для серверов услуг (иногда — услуг определённого направления), разделяя ресурсы компьютера с программами, запускаемыми пользователем. Такой режим работы называется «невыделенным», в отличие от «выделенного» (англ. dedicated), когда компьютер выполняет только сервисные функции. Строго говоря, на рабочей станции (для примера, под управлением Windows XP) и без того всегда работает несколько серверов — сервер удалённого доступа (терминальный сервер), сервер удалённого доступа к файловой системе и системе печати и прочие удалённые и внутренние серверы.

Классификация стандартных серверов

[править | править код]

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

Универсальные серверы

[править | править код]

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

  • inetd (от англ. internet super-server daemon — демон сервисов IP) — стандартное средство UNIX-систем — программа, позволяющая писать серверы TCP/IP (и сетевых протоколов других семейств), работающие с клиентом через перенаправленные inetd потоки стандартного ввода и вывода (stdin и stdout).
  • RPC (от англ. Remote Procedure Call — удалённый вызов процедур) — система интеграции серверов в виде процедур, доступных для вызова удалённым пользователем через унифицированный интерфейс. Интерфейс, изобретённый Sun Microsystems для своей операционной системы (SunOS, Solaris; Unix-система), в настоящее время используется как в большинстве Unix-систем, так и в Windows.
  • Прикладные клиент-серверные технологии Windows:
    • (D-)COM (англ. (Distributed) Component Object Model — модель составных объектов) и др. — Позволяет одним программам выполнять операции над объектами данных, используя процедуры других программ. Изначально данная технология предназначена для их «внедрения и связывания объектов» (OLE англ. Object Linking and Embedding), но в общем позволяет писать широкий спектр различных прикладных серверов. COM работает только в пределах одного компьютера, DCOM доступна удалённо через RPC.
    • Active-X — Расширение COM и DCOM для создания мультимедийных приложений.

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

Большинство внутренних и сетевых специфических серверов Windows работают через универсальные серверы (RPC, (D-)COM).

Маршрутизация

[править | править код]

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

Для TCP/IP маршрутизация является базовой функцией стека IP (кода поддержки TCP/IP). Маршрутизацию своих пакетов к месту назначения выполняет любая система в сети, маршрутизацию же чужих пакетов (форвардинг) выполняют только маршрутизаторы (также известные как роутеры или шлюзы). Задачи маршрутизатора при форвардинге пакета:

  • принять пакет
  • найти машину, на которую следует этот пакет, или следующий маршрутизатор по маршруту к ней (в таблице маршрутов)
  • передать пакет или вернуть ICMP-сообщение о невозможности его доставки по причинам:
    • назначение недостижимо (англ. Destination unreachable) — у пакета кончилось «время жизни» прежде чем он достиг места назначения
    • хост недостижим (Host unreachable) — компьютер или следующий маршрутизатор выключен или не существует
    • сеть недостижима (Network unreachable) — маршрутизатор не имеет маршрута в сеть назначения
  • если пакет не может быть доставлен по причине перегрузки маршрутизатора (или сети) — отбросить пакет без уведомлений

Динамическая маршрутизация

[править | править код]

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

Из этих решений клиент-серверную модель использует только 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 — язык структурированных запросов). Наряду с ними есть и другие — NoSQL базы данных.

Медиасерверы

[править | править код]

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

VoIP / IP-телефония

[править | править код]

Серверы IP-телефонии (VoIP) — программные коммутаторы (софтсвитчи), IP-АТС, виртуальные АТС и серверы ВКС, а также специализированные серверы Интернет-сервисов (таких как Skype) обеспечивают пользователей возможностями голосовой и видео-связи в режиме реального времени посредством компьютерной сети. Кроме собственно передачи потоковых медиа-данных (аудио и видео), сервер IP-телефонии подобно классической АТС реализует возможность регистрации оконечного терминала, маршрутизацию вызова и корректное установление соединения между пользователями, а также нередко и дополнительные виды обслуживания.

В отдельных случаях, в зависимости от реализуемой технологии и административных настроек, VoIP-сервер может обеспечивать только управление — регистрацию пользователя в сети и коммутацию поступающих вызовов, без непосредственного участия в передаче медиа-данных между кклиентскими терминалами. В этом случае потоковые данные с полезной нагрузкой передаются напрямую между конечными пользователями (peer-to-peer) и / или некоторыми промежуточными устройствами, приложениями. Известно, что такой вариант прямой связи с управлением через сервер применяется в Skype, Viber, Telegram и WhatsApp. Также, подобный режим нередко применяется в корпоративных IP-АТС.

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

Службы обмена сообщениями

[править | править код]

Службы обмена сообщениями позволяют пользователю передавать и получать сообщения (обычно — текстовые).

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

Для организации конференций существует серверы новостей, работающие по протоколу NNTP.

Для обмена сообщениями в реальном времени существуют серверы чатов. Существует большое количество чат-протоколов, например, IRC, Jabber и OSCAR.

Серверы удалённого доступа

[править | править код]

Серверы удалённого доступа, через соответствующую клиентскую программу, обеспечивают пользователя аналогом локального терминала (текстового или графического) для работы на удаленной системе.

Для обеспечения доступа к командной строке служат серверы telnet, RSH и SSH.

Графический интерфейс для Unix-систем — X Window System — имеет встроенный сервер удалённого доступа, так как с такой возможностью разрабатывался изначально. Иногда возможность удалённого доступа к интерфейсу Х-Window неправильно называют «X-Server» (этим термином в X-Window называется видеодрайвер).

Стандартный сервер удалённого доступа к графическому интерфейсу Microsoft Windows называется терминальный сервер.

Некоторую разновидность управления (точнее, мониторинга и конфигурирования) также предоставляет протокол SNMP. Компьютер или аппаратное устройство для этого должно иметь SNMP-сервер.

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

[править | править код]

Серверы предоставляющие сети прикладные сервисы (в том числе — вычислительные).

Игровые серверы

[править | править код]

Игровые серверы служат для одновременной игры нескольких пользователей в единой игровой ситуации. Некоторые игры имеют сервер в основной поставке и позволяют запускать его в невыделенном режиме (то есть позволяют играть на машине, на которой запущен сервер).

Прочие серверы

[править | править код]

Принт-серверы позволяют пользователям сети совместно использовать общий принтер.

Факс-сервер позволяет пользователям сети отправлять факсимильные сообщения.

Серверные решения

[править | править код]

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

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

Также необходимо выделить пакеты серверов и сопутствующих программ (например комплект веб-сервер/PHP/MySQL для быстрого развёртывания хостинга) для установки под Windows (для Unix свойственна модульная или «пакетная» установка каждого компонента, поэтому такие решения редки[источник не указан 4326 дней], но они существуют. Наиболее известное — LAMP).

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

Серверные решения служат для упрощения организации базовой ИТ-инфраструктуры компаний, то есть для оперативного построения полноценной сети в компании, в том числе и «с нуля». Компоновка отдельных серверных приложений в решение подразумевает, что решение предназначено для выполнения большинства типичных задач; при этом значительно снижается сложность развёртывания и общая стоимость владения ИТ-инфраструктурой, построенной на таких решениях.

Примечания

[править | править код]
  1. Comer, Douglas E.; Stevens, David L. (1993). Vol III: Client-Server Programming and Applications. Internetworking with TCP/IP. Department of Computer Sciences, Purdue University, West Lafayette, IN 479: Prentice Hall. pp. 11d. ISBN 0-13-474222-2.