что такое программа сервер?
Архитектура Клиент Сервер — С одной стороны есть машины, поддерживающие стандартные протоколы, на которых поддерживается ряд программ, ожидающих запросов на соединение. С другой стороны есть машины, которые связываются с этими программами, чтобы воспользоваться их сервисами. Сервер — компьютерная программа, которая поддерживает разделенный доступ к общему ресурсу или сервису в сети. (Если ресурсом считать файлы, а севисом программы) . В сетевом сообществе Компьютерный Пользователь обращается к серверу и через него получает доступ к ресурсу, которым является База Данных. Для работы с базой данных Программа Сервер использует CGI-Скрипты
Похожие вопросы
Что такое сервер, как он работает и какие есть виды серверов — объясняем простыми словами
С серверами сталкиваются все, кто пользуется интернетом, поэтому знать о них полезно каждому. В этой статье разбираем основы.
Иллюстрация: Polina Vari для Skillbox Media
Роман Панов
Редактор и иллюстратор. Перепробовал пару десятков профессий — от тестировщика до модели, но нашёл себя в удалёнке. Учится в Skillbox и делится в своих текстах новыми знаниями.
Можно встретить выражения «сервер упал» или «сервер лежит». Это означает, что сервер перестал обрабатывать запросы. Чтобы узнать о серверах больше, прочитайте этот материал Skillbox Media. В нём рассказываем:
- что такое сервер;
- чем он отличается от обычного компьютера;
- как выглядит сервер;
- для чего он нужен;
- как работает сервер;
- где располагаются серверы.
Что такое сервер
Сервер — это устройство, которое хранит данные и даёт доступ к ним большому числу клиентов. Клиенты — пользователи, которые отправляют на сервер запросы и получают ответы.
Можно сказать, что сервер состоит из двух частей. Первая — мощный компьютер, который отвечает за хранение и обработку большого количества информации. Вторая — программное обеспечение, установленное на этот компьютер.
Программное обеспечение может быть разным. Оно зависит от того, какие задачи выполняет сервер. Подробнее о разновидностях мы поговорим ниже.
Чем сервер отличается от обычного компьютера
Компьютер предназначен для решения задач одного пользователя. Или нескольких пользователей — но по очереди. Поэтому его называют персональным компьютером — ПК.
Серверы — это служебные компьютеры, которые созданы для поддержки большого числа пользователей. Их название происходит от английского to serve, что значит «обслуживать» или «служить». Они способны одновременно запускать множество процессов, сервисов и приложений. У таких машин есть свои особенности.
Большая вычислительная мощность. Для серверов используют специальные комплектующие — например, серверные процессоры и особую оперативную память. Для хранения данных к серверу подключают сразу несколько накопителей, которые вмещают в себя терабайты информации. Все детали рассчитаны на беспрерывную работу и большую нагрузку.
Отказоустойчивость. Сервер должен работать без остановок и сбоёв. Поэтому все системы в нём обычно дублируются. Например, у него может быть две сетевые карты и пара блоков питания. Если одна деталь выйдет из строя, запасная её заменит.
Серверная операционная система. Операционная система — это набор программ, которые управляют всем оборудованием компьютера и служат основой для установки остального ПО. Серверная ОС отличается от пользовательской. На обычных компьютерах будет стоять, например, Windows, а на сервере — Windows Server. Для работы серверной операционной системы потребуется минимум 32 ГБ оперативной памяти.
Серверное программное обеспечение. Оно тоже отличается от ПО, которое устанавливают на обычные компьютеры. Серверное ПО отвечает за обработку запросов клиентов.
Как выглядит сервер
Есть три основные формы корпусов и, соответственно, три вида серверов: tower-сервер, rack-сервер и blade-сервер.
Tower-сервер — отдельный вертикальный шкаф. Он похож на башню, поэтому так и называется. Детали в его корпусе расположены далеко друг от друга, поэтому не сильно греются во время работы — можно использовать лёгкое охлаждение.
Несколько tower-серверов можно объединить в сеть. Однако такие серверы независимы друг от друга, поэтому для управления каждым требуется отдельный монитор, клавиатура и мышь.
Rack-сервер — самая распространённая форма корпуса сервера. Его часто называют стоечным сервером. Это автономный компьютер, все детали которого — платы, жёсткий диск, источник питания, вентилятор — помещены в корпус.
Rack-серверы устанавливают в специальные вертикальные шкафы с полками, которые называются стойками. Эти стойки поделены на отсеки, или юниты. В одной стойке может быть от 18 до 47 юнитов.
Rack-сервер может занимать от одного до четырёх юнитов. Чем больше его размер, тем больше внутренних компонентов можно установить и тем выше будет производительность. Но поскольку все детали в корпусе расположены близко друг к другу, такие серверы требуют сильного охлаждения.
Blade-сервер — небольшой корпус, в который устанавливают самые необходимые детали: системную плату с процессором, контроллер, оперативную память. Blade-серверы не работают по отдельности — из них собирают блейд-систему с общими внешними компонентами: жёсткими дисками, блоками питания, охлаждением.
Системы устанавливают в такие же стойки, как и rack-серверы. Обычно они занимают четыре, семь или десять юнитов в стойке. Blade-серверы позволяют сократить объём оборудования без потери производительности.
Для чего нужен сервер
Под сервером часто понимают программное обеспечение, установленное на компьютере — машине. На одной машине может быть установлено несколько программ — значит, один сервер может выполнять одновременно несколько функций.
Мы перечислим самые распространённые виды серверов и задачи, которые они выполняют.
Сервер идентификации. Он служит для контроля доступа пользователей — например, к информационным ресурсам, системам охраны или физическому входу на объект.
Сервер печати. Он позволяет нескольким пользователям совместно использовать один принтер. Сервер печати как программное обеспечение есть, например, в Windows. А компьютеры, отвечающие только за печать, почти не используют, потому что современные принтеры подключаются к сети напрямую.
Файловый сервер. Это сервер общего доступа к файлам. На нём можно закрыть просмотр файлов для каких-то пользователей или, наоборот, открыть и разрешить редактировать.
Веб-сервер. На нём размещают веб-сайты или программы. Пользователи могут получить доступ к ним через интернет.
FTP-сервер (file transfer protocol). Сервер для обмена файлами через локальную сеть или интернет.
Почтовый сервер. Если в компании установлен такой сервер, то все входящие и исходящие письма сначала приходят на него, а потом отправляются адресатам. Это нужно для бесперебойной доставки писем большому количеству пользователей.
Сервер баз данных. На таких серверах работает программное обеспечение для управления базой данных. База данных — организованный массив информации. База может содержать, например, список клиентов компании с информацией об их сделках. Все процессы с базами происходят на сервере, поэтому даже пользователи могут работать с ними даже на слабых компьютерах.
Сервер удалённого доступа. Такой сервер позволяет получить доступ к вашему рабочему компьютеру и сети из любого места через интернет.
Игровой сервер. Такие серверы нужны для работы многопользовательских онлайн-игр.
DNS-сервер. Он хранит адреса серверов и сайтов, которые на них размещены. По запросу браузера DNS-сервер автоматически «находит» нужный сайт.
Как работает сервер
Работа сервера состоит в том, чтобы принимать, хранить и передавать данные. Если ещё проще — получать от клиента запросы и отвечать на них. Разберёмся с этим на примере посещения сайта. Вот как выглядит процесс:
- Вы вводите в адресную строку браузера имя сайта. Например: skillbox.ru.
- Браузер отправляет запрос на DNS-сервер и получает IP-адрес веб-сервера, на котором хранится сайт. Например, сайту skillbox.ru соответствует IP-адрес 178.248.237.96
- Браузер отправляет запрос на этот сервер.
- Веб-сервер обрабатывает запрос — обращается к серверу базы данных, генерирует HTML-код и посылает его браузеру.
- Браузер преобразует код в страницу и показывает вам её.
Всё это происходит за доли секунды.
Где находятся серверы
Теоретически серверы могут стоять где угодно, даже в офисе. На практике их часто размещают в специальных центрах.
Сервер в офисе находится в быстром доступе — его можно легко обслуживать, настраивать, ремонтировать. Но размещать его дорого, потому что нужно соблюдать условия эксплуатации. Иначе он «ляжет» — сломается.
Вот какие условия нужны серверам:
- Стабильное электричество. А также источник бесперебойного питания с возможностью стабилизации напряжения и линейного выпрямления тока.
- Вентиляция и охлаждение. Серверы работают без перерывов, поэтому нужно следить за тем, чтобы они не перегревались.
- Безопасность оборудования. Ни у кого не должно быть случайного доступа к серверу, ведь на нём могут храниться корпоративные или персональные данные. Поэтому помещения, где стоят серверы, обычно охраняют.
- Стабильное соединение с интернетом. Серверы могут подключаться к сети одновременно через нескольких провайдеров. Даже если возникнут сложности с одним провайдером, сервер останется доступным.
Специальные центры называют дата-центрами или центрами (хранения и) обработки данных — ЦОД или ЦХОД. Компании, которые владеют дата-центрами, сдают в аренду свои серверы и сами обеспечивают необходимые условия эксплуатации. Также они могут предлагать в аренду место под сервер клиента.
Иногда используют комбинированный вариант размещения серверов. Сервер устанавливают в офисе компании, а в дата-центре делают его копию. Это самый дорогой вариант, но он максимально снижает риск отказа системы.
Главное о серверах
Сервер — устройство, которое хранит данные и даёт доступ к ним большому числу пользователей. Сервер включает мощный компьютер и программное обеспечение. Компьютер оснащён специальными комплектующими и деталями, рассчитанными на беспрерывную работу под большими нагрузками.
Серверы могут быть в разных корпусах: tower, rack и blade. Tower-серверы — отдельные машины, а rack- и blade-серверы размещают в стойках.
Задач, которые можно поручить серверам, очень много. Серверы обрабатывают запросы пользователей и могут, например, отправлять и принимать письма, обеспечивать доступ к сайтам и базам данных, идентифицировать пользователей.
Сервер может быть установлен в серверной комнате в офисе. Но в большинстве случаев серверы находятся в специальных помещениях, которые называют дата-центрами или центрами (хранения и) обработки данных — ЦОД или ЦХОД.
Другие материалы Skillbox Media, которые могут быть вам полезны
- Подборка: 6 бесплатных конструкторов сайтов для магазинов, визиток, лендингов
- SERP в «Яндексе» и Google: что это, из чего состоит и как формируется
- Что такое хостинг для сайта и как его выбрать
- Какие бывают SSL-сертификаты, зачем они сайтам и как их получить
- Разбор факторов ранжирования в «Яндексе» и Google: как они работают
Как работает сервер
Ответ на вопрос «как работает сервер», будет таким же, как и на вопрос «как работает компьютер», если говорить о процессах внутри аппаратного устройства. Поэтому, в данном случае, более правильным будет рассказать о том, что делает сервер, какие функции он выполняет в сети.
Сервер – это мощный компьютер, предназначенный для обработки запросов и доставки данных на другой компьютер, в т.ч. по сети (локальной сети или сеть Интернет).
Наиболее известный тип серверов – веб-сервер (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.
Виртуальный сервер
Серверы также могут создаваться и работать в виде виртуальных машин 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 компьютеров и общего принтера, или корпоративная сеть большого предприятия, где компьютеров и других устройств – тысячи.
Чем бы мы не занимались в сети, мы неизбежно взаимодействуем с тем или иным сервером, того или иного типа, или назначения.
Практически любой сервис или услугу в сети можно организовать при помощи архитектуры «клиент-сервер», что в подавляющем большинстве случаев и делается. Например, видеоконференцию между пользователями может обеспечивать сервер видеоконференций. Работу автомобильного навигатора поддерживает специальный сервер в составе геоинформационной системы.
Таких примеров можно привести очень много.
Вам может быть интересно:
Сервер
Сервер (от англ. server — обслуживающий) — сетевой компьютер, обрабатывающий запросы от других компьютеров в локальной или глобальной сети. Как правило, сервер выделен из всей группы компьютеров, подключенных к единой сети, работает автономно, без участия человека, за исключением первичной настройки. Также под этим термином подразумевается программное обеспечение, обрабатывающее пользовательские запросы.
Освойте профессию
«Cистемный администратор»
Устройство и функции сервера
Любой сервер представляет собой компьютер, обладающий собственным процессором, оперативной и долговременной памятью. В этом он не отличается от обычного пользовательского ПК. Ключевая разница между ними — в том, что архитектура сервера должна быть адаптирована к обработке пользовательских запросов и большого количества данных.
Системный администратор
Станьте универсальным специалистом по администрированию Linux с нуля
- обязательно иметь высокоскоростное сетевое подключение, чтобы принимать и передавать большой объем данных по локальной или глобальной сети;
- обладать большим объемом долговременной памяти (обычно это несколько жестких дисков) для хранения данных;
- работать под управлением специализированного программного обеспечения, в идеале — специальной операционной системы для серверов;
- быть многократно защищенным от аппаратных и программных сбоев, хакерских атак с помощью резервирования, специального антивирусного ПО.
Техническая (аппаратная) реализация сервера бывает разной. В зависимости от нее он может принадлежать к одному из следующих типов.
Выделенный. Особенность такого сервера заключается в том, что его используют исключительно в служебных целях, а не для решения обычных пользовательских задач. Именно его подразумевают в первую очередь под термином «сервер». Выделенные серверы можно увидеть в центрах обработки данных (ЦОД), серверных комнатах крупных компаний, образовательных и научных учреждений. Внешне они представляют собой плоские системные блоки, которые устанавливаются в специальные стойки, напоминающие шкафы. Это позволяет компактно разместить большое количество серверов, удобно организовать электропитание, охлаждение, защиту.
Выделенный в сети сервер работает под управлением специализированных операционных систем и другого ПО в автономном режиме. Участие человека предполагается только на этапе запуска/наладки, а также замены, ремонта или расширения оборудования. Устройство сервера включает специализированный процессор с большим (до 64) количеством ядер для параллельных вычислений, а также значительные объемы оперативной и долговременной памяти. К каждому такому компьютеру можно подключить клавиатуру и монитор, но обычно он просто подсоединяется к сети и настраивается через общую консоль.
Сисадмин — давно не человек, который настраивает компьютеры. Станьте сильным специалистом, который поддерживает инфраструктуру компании.
Невыделенный. Это сервер, созданный на базе обычного ПК путем расширения памяти за счет установки нескольких жестких дисков (RAID-массива), покупки постоянного IP-адреса у провайдера и настройки ПО на обработку пользовательских запросов, обеспечение безопасности и резервного копирования данных. При этом пользователь может подключить к нему клавиатуру, мышь, монитор и другие периферийные устройства, чтобы продолжать применять его как обычный ПК: например, для офисной работы, обработки изображений или видео и т.д. Такие серверы не предназначены для больших объемов информации из-за ограниченности ресурсов. Наиболее часто создаются невыделенные серверы для локальных сетей небольших организаций. В то же время функционально они практически не отличаются от выделенных серверов.
Одноплатный. Это микросервер, реализованный на одной плате со встроенным или подсоединяемым модулем памяти, собственным процессором и сетевым разъемом. Типичным примером может служить популярный одноплатный компьютер Raspberry Pi. Преимущество таких серверов заключается в их низком энергопотреблении и отсутствии шума. Из-за малой вычислительной мощности они используются для сбора информации с датчиков домашних систем безопасности, «умного дома».
Виртуальный. Это программная эмуляция физического (аппаратного). Виртуальная машина, которая обладает теми же функциями, что и аппаратный сервер. Например, позволяет работать с памятью и файлами, настраивать права доступа пользователей, устанавливать и использовать различное программное обеспечение, взаимодействовать с другими виртуальными или физическими серверами. На одной физической платформе бывает установлено несколько виртуальных серверов, при этом их можно полностью разграничить. Это позволяет рационально использовать имеющиеся в распоряжении реальные ресурсы аппаратной платформы, хотя и накладывает ограничения на производительность каждой виртуальной машины.
Для чего нужен сервер
Из-за разнообразия задач в рамках информационного обмена в локальных и глобальных сетях у серверов бывает специализация. Наиболее распространены следующие.
- Хостинг-сервер (веб-сервер) оснащен большим объемом памяти, предназначен для хранения файлов веб-сайтов, беспрерывной обработки пользовательских запросов, авторизации и аутентификации пользователей.
- DNS-сервер предназначен для хранения доменных имен, по которым пользователь находит нужный сайт.
- Почтовый сервер используют для получения, обработки, отправки электронных писем пользователей, а также их хранения на встроенных накопителях.
- Облачный сервер предоставляет пользователю часть своих ресурсов (например, для хранения файлов, разработки ПО) путем виртуализации (создания виртуальных машин).
- Файловый сервер — хранилище файлов (текстов, музыки, видеофильмов, ПО), откуда их может скачать пользователь.
- SQL-сервер предназначен для хранения баз данных, позволяет подключенным пользователям изменять, получать и передавать содержащиеся в нем сведения.
- Медиасервер предоставляет пользователям доступ к медиафайлам или обеспечивает их потоковую передачу в реальном времени.
- Прокси-сервер — промежуточный узел (как правило, в другом регионе или стране), через который пользователь может подключиться к интернет-ресурсу — например, чтобы сохранить анонимность или получить доступ к заблокированному контенту.
Существуют и другие узкоспециализированные серверы: для организации голосовой и видеотелефонии, проведения онлайн-игр, обеспечения работы мобильных приложений, управления персоналом на предприятии. Также бывают универсальные серверные устройства, которые не предоставляют услуг самостоятельно, но дают доступ к своим мощностям.
Как работает сервер
Любой серверный компьютер взаимодействует с программным обеспечением подключенных к нему ПК или иных устройств (камер, датчиков). Он принимает и обрабатывает исходящие от них сигналы и выдает ответ. В общем виде принцип работы сервера выглядит так:
- Пользователь подключает компьютер или другое устройство к локальной или глобальной сети (через проводное или беспроводное соединение). При этом его клиент получает свой адрес, по которому к нему может обращаться сервер.
- Далее сервер начинает «прослушивать» канал, при этом он может пассивно ожидать от пользователя (точнее, его устройства) запрос или самостоятельно отправлять клиенту инициирующий запрос.
- Пользователь с помощью компьютера, на котором установлен браузер или иная программа (клиент) для общения с сервером (это могут быть также игровые, мобильные приложения), вводит запрос — например, адрес сайта в поисковую строку браузера.
- Сервер принимает запрос, автоматически обрабатывает его в соответствии с предусмотренными в программе правилами и отправляет клиенту (пользовательской программе) ответ.
В зависимости от запроса пользователя, а также внутренних правил сервера его ответ будет отличаться. Наиболее распространенные варианты:
- выполнение запроса — в ответ на него сервер отображает веб-страницы, передает или загружает файлы, открывает доступ к сервисному приложению, игре;
- игнорирование запроса — сервер никак не реагирует на запрос, если он неверен или пользователь не имеет нужных прав доступа;
- сообщение об ошибке — при введении неверного запроса, а также технических сбоях сервер отображает код конкретной ошибки (например, 404 — отсутствие запрашиваемой страницы, файла).
Варианты реакции сервера на запросы ограничены лишь его настройками. Но обычно используется определенный стандартный набор закодированных ответов. Это сделано для международной унификации работы серверов, ведь часто машины, расположенные, например, в США, обслуживают пользователей из России, Европы, Китая.
Типы серверных архитектур
Классическая архитектура для построения локальной или глобальной (интернет) сети — «клиент — сервер». Она подразумевает четкое разделение входящих в сеть устройств на серверные и пользовательские (клиентские). Последние работают под управлением первых. В такой архитектуре сервер выполняет роль информационного центра, к которому обращаются пользователи. Он же устанавливает правила взаимодействия с пользовательскими устройствами. Клиент-серверную модель используют в работе веб-сайтов и служб связи.
Альтернатива этой модели — децентрализованная архитектура «peer-to-peer» (отсюда другое название — пиринговая). В ней взаимодействие происходит между равноценными устройствами, каждое из которых может играть роль как сервера, так и клиента. Благодаря этому в пиринговой сети нет информационных центров, а количество подключенных устройств потенциально безгранично. Эту модель используют в организации файлообменных сетей (торрентов), торговых интернет-площадок, платежных систем.
Реализация обмена данными между сервером и клиентом
Взаимодействие между сервером и клиентом (пользовательским ПК или иным подключенным устройством) идет на двух уровнях.
Физическом. Чтобы сервер и клиент могли взаимодействовать, между ними должен быть открыт физический канал для передачи информации. Для этого выполняют подключение посредством специальных интерфейсов: проводного Ethernet или беспроводных Wi-Fi, Bluetooth, WiBro. По этому каналу сервер и клиент обмениваются физическим носителем информации — электрическим или радиосигналом. Такое физическое соединение бывает:
- непосредственным — когда клиентский компьютер напрямую подключен к серверу (в небольших локальных сетях);
- опосредованным — когда устройство конечного пользователя подключается к серверу опосредованно через другие компьютеры (в масштабных локальных или глобальных сетях).
Логическом. На этом уровне осуществляется передача информации, то есть потока данных, закодированных в электрическом или радиосигнале. Обмен информацией между сервером и клиентом происходит посредством специальных наборов правил — сетевых протоколов. С момента активного развития сетевых технологий (примерно с 60-х годов прошлого века) их было разработано множество — часть из них используются и сегодня, например:
- HTTP (Hyper Text Transfer Protocol) — с его помощью гипертекст (то есть веб-страницы) передается между компьютерами, которые подключены к одной локальной или глобальной сети;
- FTP (File Transfer Protocol) — для обмена файлами (скачивания или загрузки) между пользовательским устройством и файловым сервером;
- POP3 (Post Office Protocol) — для организации стандартного обмена электронной почтой между пользовательским ПК с установленной на нем почтовой программой и POP-сервером;
- SMTP (Simple Mail Transfer Protocol) — дополнительный протокол задает правила, по которым осуществляется обмен почтовыми сообщениями: когда выдать ошибку, а когда удовлетворить запрос пользователя;
- TELNET — протокол, который обеспечивает удаленный доступ абонента к любому компьютеру, подключенному к той же сети. Служит для установки и запуска на нем программ, изменения режимов работы в соответствии с правами, которые предоставляет администратор;
- TCP (Transmission Control Protocol) — для пакетной передачи данных в интернете между двумя конечными устройствами (клиентским и серверным ПК);
- IP (Internet Protocol) — протокол межсетевой пакетной передачи данных позволяет объединять локальные сети в одну глобальную (интернет, дословно — «междусеть») и доставлять в ней информацию между любыми устройствами через произвольное число промежуточных узлов.
Протоколы передачи данных бывают разных подвидов. Они могут улучшать или изменять свойства «прародителей». Например, протокол HTTPS — версия HTTP с защитой (шифрованием) соединения для более безопасной передачи данных между интернет-сервером и клиентом. Помимо указанных выше протоколов общего пользования, существуют также узкоспециализированные, разработанные отдельными коммерческими, научными, государственными, военными учреждениями. Это, например, DTN (Delay-tolerant networking — устойчивая к разрывам сеть). Его используют американские оборонные ведомства и НАСА для связи со спутниками и другими космическими аппаратами.
Где используются серверы?
Серверы на ПК или в виде специализированных машин применяют в любой ситуации, где необходимо сетевое взаимодействие нескольких вычислительных устройств. Они нужны коммерческим и государственным организациям, профессиональным сообществам, группам любителей-энтузиастов, вычислительным центрам, научно-исследовательским и образовательным учреждениям. С их помощью происходят:
- поиск, обработка и хранение больших массивов информации;
- математические вычисления и научные исследования;
- общение и другие виды взаимодействия между пользователями (например, игры);
- создание различных видов медиаконтента: текстов, музыки, видеороликов, фильмов;
- разработка системного и прикладного программного обеспечения;
- административная деятельность — управление персоналом, распределение прав доступа;
- обеспечение безопасности охраняемого объекта за счет видеонаблюдения, работы датчиков дыма, движения;
- поддержка работоспособности информационной инфраструктуры организаций, учреждений, государств и межгосударственных объединений и многие другие задачи.
Серверы важны для работы локальных и глобальных сетей. Поэтому к ним предъявляют повышенные требования в плане работоспособности, надежности, безотказности. Серверные устройства, особенно в крупных организациях, действуют беспрерывно в режиме 24/7. Любое отключение нарушает работу сети, а это плохо и для репутации владельцев серверов, и для их клиентов.
Системный администратор
Станьте универсальным специалистом по администрированию Linux с нуля и разверните собственный кластер. Перед вами откроется широкая область для реализации и развития: от сисадмина до CTO