Клиент-серверная модель
Клиент-серверную модель лишь с очень большой натяжкой можно отнести к новым терминам в ИТ-индустрии. Однако многие пользователи до сих пор не могут четко понять, что же скрывается за этим понятием. Сегодня мы решили пролить немного света на этот популярный термин и объяснить, что такое клиент-серверная модель.
Клиент-сервер - это отношение, при котором одна программа (клиент) запрашивает сервис или ресурс у другой программы (сервера). В начале прошлого века термин «клиент-серверная модель» использовалась для того, чтобы отличить распределенные вычисления на персональных компьютерах от монолитной модели централизованных вычислений, используемой мэйнфреймами.
Сегодня компьютерные транзакции, в которых сервер выполняет запрос, сделанный клиентом, очень распространены, и клиент-серверная модель стала одной из центральных идей сетевых вычислений. Клиент устанавливает соединение с сервером через локальную сеть (LAN) или глобальную сеть (WAN), и как только сервер выполнил запрос клиента, соединение прекращается. Поскольку несколько клиентских программ совместно используют службы одной и той же серверной программы, специально для ожидания клиентских запросов может быть активирован особый сервер, называемый демоном (daemon).
До недавнего времени большая часть сетевого трафика передавалась между клиентами и серверами - схема трафика, известная как Север-Юг. Однако объем трафика Восток-Запад (то есть трафик сервер-сервер) все больше растет в результате виртуализации и тенденций в центрах обработки данных, таких как облачные вычисления и конвергентная инфраструктура. Это изменение отражается в том, как главные сотрудники службы безопасности (CSO) и сетевые администраторы переходят от централизованной модели безопасности, разработанной для защиты конфиденциальности, целостности и доступности (так называемая триада CIO) сетевых данных в пределах периметра, к распределенной модели безопасности, которая фокусируется больше на вопросах контроля доступа отдельных пользователей к сервисам и данным, а также по проверке их поведения для обеспечения соответствия политикам и нормам.
Клиент-серверные протоколы
Клиенты обычно взаимодействуют с серверами с использованием набора протоколов TCP/IP. TCP - это протокол, ориентированный на установление соединения, который означает, что соединение устанавливается и поддерживается до тех пор, пока прикладные программы на каждом конце не завершат обмен сообщениями. Он определяет, как разбить данные приложения на пакеты, которые могут доставлять сети, отправлять пакеты и принимать пакеты с сетевого уровня, управлять потоком и обрабатывать повторную передачу потерянных или искаженных пакетов, а также подтверждение всех поступающих пакетов. В коммуникационной модели взаимодействия открытых систем (OSI) TCP охватывает части уровня 4 (транспортного уровня) и части уровня 5 (сеансового уровня).
В отличие от этого, IP является протоколом без установления соединения, а это означает, что между конечными точками, которые обмениваются данными, нет непрерывного соединения. Каждый пакет, который проходит через Интернет, рассматривается как независимая единица данных без какого-либо отношения к какой-либо другой единице данных. (Причина, по которой пакеты располагаются в правильном порядке, связана с TCP.) В модели взаимодействия с открытыми системами (OSI) IP находится на уровне 3, то есть на сетевом уровне.