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

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Нет описания правки
Нет описания правки
Строка 5: Строка 5:
ВЕРНИТЕ ЛЕКЦИЮ !!
ВЕРНИТЕ ЛЕКЦИЮ !!


Серверное програмное обеспечении

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

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

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

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

== Аппаратное обеспечение ==
''Основная статья: '''Сервер (аппаратное обеспечение)'''''

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

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

·                   ''inetd'' (от [[Английский язык|англ.]] '''''i'''nter'''net''' super-server '''d'''aemon'' — [[Демон (программа)|демон]] сервисов IP) — стандартное средство UNIX-систем — программа, позволяющая писать серверы TCP/IP (и сетевых протоколов других семейств), работающие с клиентом через перенаправленные inetd потоки стандартного ввода и вывода (stdin и stdout).

·                   ''RPC'' (от [[Английский язык|англ.]] '''''R'''emote '''P'''rocedure '''C'''all'' — удалённый вызов процедур) — система интеграции серверов в виде [[Подпрограмма#.D0.92.D0.B8.D0.B4.D1.8B .D0.BF.D0.BE.D0.B4.D0.BF.D1.80.D0.BE.D0.B3.D1.80.D0.B0.D0.BC.D0.BC|процедур]], доступных для вызова удалённым пользователем через унифицированный интерфейс. Интерфейс, изобретённый Sun Microsystems для своей операционной системы (SunOS, Solaris; Unix-система), в настоящее время используется как в большинстве Unix-систем, так и в Windows.

·                   Прикладные клиент-серверные технологии Windows:

·                               (''D''-)''COM'' ([[Английский язык|англ.]] ''('''D'''istributed) '''C'''omponent '''O'''bject '''M'''odel'' — модель составных объектов) и др. — Позволяет одним программам выполнять операции над объектами данных, используя процедуры других программ. Изначально данная технология предназначена для их «внедрения и связывания объектов» (OLE [[Английский язык|англ.]] '''''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-сообщение о невозможности его доставки по причинам:

·                                                        Назначение недостижимо (Destination unreachable) — у пакета кончилось «''время жизни''» прежде чем ондостиг места назначения

·                                                        Хост недостижим (Host unreachable) — компьютер или следующий маршрутизатор выключен или несуществует

·                                                        Сеть недостижима (Network unreachable) — маршрутизатор не имеет маршрута в сеть назначения

·                                если пакет не может быть доставлен по причине перегрузки маршрутизатора (или сети) — отбросить пакетбез уведомлений

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

Из этих решений клиент-серверную модель использует только BGP (англ. '''''B'''order '''G'''ateway '''P'''rotocol'' —протокол пограничного шлюза), применяемый для глобальной маршрутизации. Локальные решения (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 QueryLanguage'' — язык структурированных запросов).

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

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

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

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

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

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

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

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

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

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

Версия от 10:19, 17 апреля 2017

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

здаров

ВЕРНИТЕ ЛЕКЦИЮ !!

Серверное програмное обеспечении

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

Роль сервера

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

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

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

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

Основная статья: Сервер (аппаратное обеспечение)

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

Универсальные серверы[править | править вики-текст]

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

·                   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 QueryLanguage — язык структурированных запросов).

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

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

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

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

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

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

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

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

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

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

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

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

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