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

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

Наиболее известный тип серверов – веб-сервер (web-server), который должен предоставлять веб-страницы для компьютеров (клиентов), их запрашивающих. В этом случае, на компьютере должна быть установлена «программа-клиент», которая называется веб-браузер, например, Windows Edge, Google Chrome или Яндекс Браузер (Opera, Firefox, U-browser и т.д.).

Когда интернет-пользователь вводит URL в адресной строке, то его браузер разделяет URL на три части:

  • Протокол передачи гипертекста: http(s)://
  • Имя сервера: www.servername.com
  • Имя нужного файла: text.htm

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

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

Есть также промежуточный вариант – т.н. сеть «Экстранет». Это закрытая часть сети Интранет, часть которой или даже она вся, может быть доступна, кроме сотрудников ещё и внешним пользователям, которые имеют право в неё входить.

Что делает сервер в компьютерной сети

В качестве сервера, в принципе, может работать любой компьютер, на котором установлено соответствующее программное обеспечение. Точно так же можно сказать, что любой человек может прыгать с шестом на 6 метров, или выигрывать Уимблдонский турнир. Для этого нужна только соответствующая физическая подготовка и умения. Точно так же, несмотря на то, что каждый компьютер может работать как сервер в принципе, однако, не каждый компьютер может работать как сервер ХОРОШО. То есть, полностью и своевременно выполнять возложенные на него задачи.

Поэтому, когда говорят о сервере, то подразумевается компьютер не любой, а мощный, с достаточным набором функций, часто с многоядерными процессорами, с большим объёмом оперативной памяти и вместительным жёстким диском. Как правило, сервер также должен обладать сетевым интерфейсом (часто не одним) с высокой пропускной способностью (throughput), чтобы доставлять данные по локальной сети, а также от интерфейса в/из Интернет, с высокой скоростью и малыми задержками.

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

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

Наиболее употребительные типы серверов в локальной сети

Есть серверы, которые выполняют только одну задачу, например сервер печати (print server) или сервер базы данных (database server). Однако, многие аппаратные серверы могут обеспечивать работу сразу нескольких специализированных программных серверов.

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

  • Веб-сервер (web-server): отображает веб-страницы и запускает приложения в веб-браузерах. Таких как Internet Explorer (Windows Edge), Chrome, Firefox, Opera, Safari и др. Веб-серверы используются также и для других задач, например для загрузки и сохранения файлов в облачном хранилище или в службе резервного хранения данных;
  • Почтовый сервер (Email server): почтовые сервера посылают и принимают сообщения электронной почты. Если на компьютере пользователя установлен почтовый клиент (email client), то он будет подключается к почтовым серверам по протоколам IMAP или POP для загрузки сообщений на компьютер, а для посылки сообщений будет использовать протокол SMTP.
  • FTP-сервер: серверы FTP передают файлы при помощи протокола передачи файлов FTP (File Transfer Protocol). К таким серверам можно получать удалённый доступ через Интернет при помощи программы FTP-клиента, который подключается к общему файловому хранилищу на сервере, либо при помощи встроенных в сервер функций FTP, либо при помощи отдельной программы FTP-сервера.
  • Сервер идентификации (Identity Server): обрабатывает вводимую пользователем информацию «логин-пароль», а также выполняет функции безопасности для вошедших в систему (авторизованных) пользователей.
  • Сервер печати (Print Server): управляет очередью документов на печать от различный компьютеров в сети предприятия, извещает клиента, пославшего документ на печать о ходе выполнения этой работы, и выдаёт сообщения об ошибках, например о застревании бумаги или окончании тонера.

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

Есть также серверы для специфических целей, с которым пользователи не общаются непосредственно. Это, например, могут быть серверы доменных имён DNS (Domain Name Server), или прокси-серверы (proxy server).

Типы серверных архитектур

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

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

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

Кластеры серверов

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

Ферма веб-серверов (web server farm) – это ряд веб-серверов, объединённых в сеть, каждый из которых имеет доступ к содержимому (контенту) того или иного сайта. Это собрание серверов концептуально работает как кластер, но это часто оспаривается особо принципиальными экспертами.

Домашние серверы

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

Медиа-серверы позволяют просматривать контент из NAS на цифровом телевизоре или других развлекательных устройствах, вне зависимости от того, находятся ли эти данные в NAS, в Интернет, или на локальном пользовательском компьютере.

Локальная сеть (домашняя или корпоративная) может быть настроена так, что она может принимать запросы из внешних сетей. При этом, сервер внутри локальной сети можно настроить так, чтобы он работал как медиа-сервер большого провайдера, такого как Facebook или Google. При этом, доступ к ресурсам такого медиа-сервера может получить внешний пользователь Интернет (с паролем или без). Однако, не все домашние компьютеры и, в особенности, их сетевые карты подходят для таких подключений, через которые могут проходить огромные потоки трафика. Сетевой интерфейс, оперативная память и другие системные ресурсы влияют на то, какое количество трафика может медиа-сервер обрабатывать.

Большинство домашних операционных систем также содержат некоторые функции серверов.

Постоянная работа сервера

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

Кроме того, случается, что серверы отключаются непреднамеренно, например, вследствие DDoS-атак. При остановках (плановых или неплановых) сервер в ответ на запрос может возвращать код состояния (ошибки) HTTP.

HTTP Error 404

Виртуальный сервер

Серверы также могут создаваться и работать в виде виртуальных машин VM (Virtual Machine). Это даёт возможность избавиться от физического присутствия серверов в организации. Вместо этого, сервер может располагаться в дата-центре облачного провайдера с эксклюзивным доступом к его ресурсам только авторизованных пользователей (например, сотрудников предприятия).

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

Прокси сервер представляет дополнительный уровень защиты между пользователем и посещаемым им сайтом. Подключение к прокси серверу скрывает IP-адрес пользователя от других серверов, которые видят только IP-адрес прокси-сервера. Такие серверы можно найти в Интернете в больших количествах, введя запрос «free proxy» в поисковике. Этим можно воспользоваться, если пользователь хочет сохранить приватность своих действий в Интернете, например, скрыть историю посещения сайтов от банков, торговых компаний и других организаций, которые могут следить за тем, чем пользователь занимается в сети.

DNS-сервер

DNS-сервер хранит таблицы публичных IP-адресов. Когда пользователь вводит в адресной строке браузера наименование сайта в явном виде (URL), то сервер доменных имён DNS (Domain Name Server) переводит их в IP-адрес, понятный компьютеру. После этого происходит подключение к веб-серверу. DNS-серверы в сети расположены во многих местах. Если нужного IP-адреса в ближайшем к пользователю серверу DNS не оказалось, он запрашивает соседний. Если адреса нет и там, то запрашивается следующий DNS-сервер, до тех пор, пока нужный IP-адрес не будет найден.

DHCP-сервер

DHCP-сервер отвечает за назначение IP-адресов компьютерам пользователей с использованием протокола динамической конфигурации хостов DHCP (Dynamic Host Configuration Protocol). В большинстве сетей Wi-Fi этим занимается сам роутер, но в больших корпоративных сетях для этой цели может быть выделен отдельный физический сервер.

* * *

Заключение

Таким образом, мы видим, что сервер – это основной элемент любой информационной системы, будь то небольшая домашняя сеть из 3-4 компьютеров и общего принтера, или корпоративная сеть большого предприятия, где компьютеров и других устройств – тысячи.

Чем бы мы не занимались в сети, мы неизбежно взаимодействуем с тем или иным сервером, того или иного типа, или назначения.

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

Таких примеров можно привести очень много.