Как называется набор правил и соглашений для обмена данными между двумя устройствами
Перейти к содержимому

Как называется набор правил и соглашений для обмена данными между двумя устройствами

  • автор:

1. Компьютерные сети. Виды сетей

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

На сегодняшний день выделяют такие типы: общая шина, кольцо и звезда. У каждой топологии есть свои «плюсы» и «минусы».

Название топологии
Схема
«Плюсы»
«Минусы»
Общая шина

общая шина.jpg

Рис. \(1\). Общая шина
Дёшево, так как к одной линии связи подключено несколько устройств;
можно легко подключить дополнительные компьютеры;
если один вышел из строя, другие не пострадают

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

кольцо.jpg

Рис. \(2\) . Кольцо

звезда.jpg

Рис. \(3\). Звезда

  • Сеть работает даже в случае неисправности любой станции;
  • высокий уровень безопасности;
  • просто найти неисправность
  • Расход кабеля большой;
  • так как все станции подключены к коммутатору, то в случае его отказа сеть не работает;
  • количество станций ограничено количеством портов коммутатора

Обмен данными между станциями сети производится по протоколу.
Протокол — это набор правил и соглашений, которые определяют порядок обмена данными.

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

Введение в протоколы TCP/IP

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

Что это такое

схема протоколы

Протоколы данного типа позволяют реализовать модель соединения пакетов. По сути, они являются основой работы всего Интернета. И чаще всего при использовании термина TCP/IP подразумевают всю сеть, которая работает на основе 2 отдельных протоколов – TCP и IP.

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

TCP – аббревиатура, которая расшифровывается как Transfer Control Protocol. То есть по сути это специальный протокол, который управляет передачей. Он создан для установки и поддержания надежного соединения между устройствами. Именно он отвечает за передачу данных, контролирует объем передаваемых файлов и выполняет новую отправку при возникновении сбоев.

Характеристики протокола TCP заключаются в следующем:

  • Реализация взаимодействия на уровне логического соединения.
  • Организация потоковой отсылки данных.
  • Двунаправленная взаимосвязь.
  • Функция отправки отдельных пакетов данных.
  • Использование принципа «скользящего окна» для увеличения скорости передачи.

Другой протокол – IP – расшифровывается как «Интернет протокол». Он является базовым для архитектуры передачи файлов и необходим для отправки сетевого пакета по необходимому адресу. Все данные предварительно делятся на несколько пакетов, которые отправляются независимо друг от друга до конечного адресата.

Основными характеристиками протокола IP является следующее:

  • Реализация обмена данных при помощи сегментов.
  • Взаимодействие устройств без использования логического соединения.
  • Фрагментация IP-сегментов в случае необходимости.
  • Отсутствие средств для управления скоростью передачи сегментов.

Стек сетевых протоколов требуется для поддержания связи компьютеров (хостов), которые подключены к сети. Главная особенность такого набора – аппаратная независимость, которую невозможно получить при использовании других сетевых технологий. То есть TCP/IP не зависит от характеристик аппаратного обеспечения, что позволяет организовать обмен данными между сетями с разными технологиями передачи. За счет использования IP-адресов поддерживается соединение между двумя любыми устройствами.

В протоколах предусмотрено выполнение ряда команд. Например:

  • Передача файлов в другую систему.
  • Выполнение команд в удаленном режиме.
  • Отправка сообщений удаленным пользователям.
  • Печать файлов в удаленном режиме.
  • Вход в удаленную систему.
  • Управление системой и др.

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

Разрабатывалось семейство протоколов под руководством Министерства обороны США, поэтому иногда его называют DoD-системой. Многие специалисты отмечают сходство системы с протоколами OSI, так как обе они строятся по принципу деления на уровни и выполнение отдельных функций на каждом из них.

Удаленный офис
и онлайн-продажи
За 1 день.
С бесплатным тестовым периодом.
Конфигуратор удаленных рабочих мест
Рабочие места для команды за 1 день

Общие термины и понятия

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

Для использования протоколов потребуется установка TCP/IP. Это – специальное программное обеспечение, необходимое для настройки сети. Оно устанавливается вместе с базовой операционной системой, то есть дополнительных программ не потребуется.

Настройка протоколов подразумевает процесс установки базовой ОС и не требует от пользователя дополнительных действий.

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

Отдельно стоит рассказать про сетевые интерфейсы стека. TCP/IP на уровне сетевого интерфейса создает пакеты из IP-дейтаграмм, которые передаются при помощи сетевых технологий. В этой модели протоколов применяется схема IP-адресации, при помощи которой удается однозначно идентифицировать хосты и сети, с которыми компьютер устанавливает соединение.

Еще один термин, который нельзя не упомянуть, это демоны TCP/IP (то есть серверы). Они представляют собой процессы, работающие в фоновом режиме и выполняющие запросы других процессов.

Назначение протокола TCP/IP

tcp картинка

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

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

Такая процедура уменьшает объем информации, которую можно передавать в единицу времени, однако позволяет добиться надежности передачи.

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

Форматы протоколов

Теперь поговорим о том, что такое IP-протокол. Как мы уже отмечали, этот межсетевой протокол в стеке используется для определения адресации сетевого уровня. Существует два основных формата протокола, которые применяется для IP адресов:

  • IPv4. Представляет собой 32-битное число. Представление адресов в такой форме достаточно удобное – оно представляет собой 4 группы десятичных чисел (но строго от 0 до 255), которые разделяются точками. Например: 188.227.9.194.
  • IPv6. Такой формат подразумевает использование 128-битного числа. Адреса формируются в виде 8 групп, в каждой из которых имеется 4 шестнадцатеричные цифры. Разделяются группы двоеточием. Например: 2001:0058:0db8:0074:1c60:2c18:1025:2b5f.

Уровневая модель протоколов

При рассмотрении модели TCP/IP нельзя обойти внимание и уровни, на которые она разделена. Интересно, что количество уровней регламентируется стандартом RFC. Этот стандарт выделяет 4 уровня (или ступени):

  • канальный;
  • сетевой (или межсетевой);
  • транспортный;
  • прикладной.

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

1. Канальный.

Его предназначение – описать то, как происходит обмен сведениями на ступени сетевых устройств. Также канальный уровень определяет, как именно информация будет передаваться от одной машины к другой. Данные на link layer обязательно кодируются, затем делятся на несколько пакетов и отправляются по выбранному каналу передачи.

На этом уровне определяется максимально допустимое расстояние для передачи данных, а также такие параметры, как задержка ответа, частота сигнала и т. д. То есть, все физические характеристики системы. Наиболее распространенным протоколом на этом уровне является Ethernet.

2. Межсетевой.

Этот уровень стека протоколов TCP/IP занимается соединением существующих локальных сетей в глобальную. В этом случае под локальными сетями понимают индивидуальные сети на каждом устройстве. Internet layer регламентирует передачу данных по множеству сетей, что позволяет наладить взаимодействие между разными системами.

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

3. Транспортный.

На этой ступени функционируют протоколы TCP и UDP, которые отвечают за отправку и доставку данных.

Первый протокол – TCP – управляет передачей, проверяет, все ли файлы дошли, насколько полным является полученный объем и не произошло ли ошибок во время процедуры. Протокол помогает двум компьютерам выполнять обмен пакетами при помощи установки специального соединения. Дополнительно TCP позволяет повторно запросить потерянные данные, устранить дублирующиеся пакеты и регулировать загрузку сети. Именно такой протокол отвечает за сборку полученных пакетов в правильном порядке.

А вот протокол UDP, используемый на transport layer, является менее надежным. Занимается он отправкой автономных датаграмм, однако не гарантирует их 100% получение. Данные могут быть утеряны или доставлены в неверном порядке. По этой причине UDP не используется в тех случаях, когда необходима надежная передача. Применение этого протокола допустимо только тогда, когда потеря данных не будет критичной для работы приложения. Также UDP требуется в тех случаях, когда невозможно по каким-либо причинам сделать повторный запрос данных.

4. Прикладной.

Последний уровень, который присутствует в протоколе типа TCP/IP – это прикладной. В отличие от той же системы OSI, отсутствуют промежуточные уровни (например, сеансовый), поэтому форматированием и разбивкой данных занимается программный интерфейс приложений. Приложение обращается к API, а в ответ получает набор действий или инструкцию по их выполнению.

Application layer существует для большинства программ, которые обмениваются файлами с нижними уровнями по уже существующим соединениям. Чаще всего для приложений создаются новые протоколы: например, HTTP – для отправки гипертекста, FTP – для отправки файлов и т. д.

Что такое стек

ekonomiya-s-vdi-1.jpg

Теперь вернемся к вопросу о том, что такое «стек». Почти каждому пользователю знаком протокол Ethernet. В нем каждое устройство и адресат снабжаются MAC-адресом – он является идентификатором машины. Этот адрес объединяется с типом используемых данных и самими файлами. Фрагмент этих данных называют фреймом (frame). Стоит отметить, что MAC-адрес всегда уникален и не повторяется ни на одном устройстве, так как дубли могут привести к возникновению серьезных сетевых проблем.

Изучая уровневую структуру, становится очевидным, что выполнить передачу данных между двумя устройствами напрямую – невозможно. То есть, сначала все фрагменты файлов должны попасть на межсетевой уровень, где каждый компьютер получает IP-адрес. Далее на транспортном уровне происходит передача отдельных частей информации при помощи протокола TCP или UDP.

На каждом отдельном уровне к имеющимся файлам присоединяется и различная служебная информация. Например, она содержит указание порта на прикладном уровне, который служит для распознавания приложения. Дополнительную информацию могут добавлять разные протоколы: Ethernet, IP, TCP и т. д. Именно такая вложенность данных и называется стеком, а само название семейства протоколов TCP/IP – образовано по аббревиатурам двух основных протоколов.

Если обобщить понятие стека, то это – комплект сетевых протоколов с иерархической структурой. Главное условие его создания – это достаточный набор правил для организации взаимодействия устройств в сети. Все протоколы должны работать одновременно, без конфликтов, сбоев и незавершенных операций. Именно поэтому стек делится на отдельные уровни, каждый из которых направлен на решение определенной задачи: например, подготовку данных к отправке или их непосредственную передачу.

Изначально стек протоколов «ТСП/ИП» разработан в 1972 году на основе Network Control Protocol, но только спустя 4 года создана передача данных с применением протокола TCP. К концу 80-х было выделено две отдельные функции – TCP и IP. И уже к 1983 году удалось полностью перейти на современный протокол, что и считается отправной точкой развития Интернета.

Сравнение с моделью OSI

Многие сравнивают стек TCP/IP с моделью OSI, но стоит понимать, что между системами существует ряд принципиальных различий.

В OSI различают три начальных уровня – приложения, представления и сеансовый, – когда как в TCP/IP все это выделяется в прикладной уровень.

Ряд экспертов считают, что в первый уровень OSI намного шире и охватывает более широкие проблемы. Некоторые исследователи и вовсе включают первые слои OSI в модель TCP/IP, так как их можно встретить в современных стандартах. Но в большинстве случаев канальный уровень TCP/IP равняется канальному и физическому уровню в OSI.

Выводы

Стек модели TCP/IP контролирует взаимодействие различных уровней системы. Ключевыми в нем являются сами протоколы, которые встраиваются друг в друга и обеспечивают передачу данных. Однако если сравнивать модель с OSI, то ее архитектура более простая. Также стоит отметить, что стандарты протоколов постоянно обновляются, в то время как принцип действия TCP/IP остается неизменным.

Надеемся, что вы разобрались в том, что такое TCP/IP и в чем заключаются принципы его работы. Если у вас остались вопросы по теме, то специалисты Xelent обязательно ответят на них.

Как называется набор правил и соглашений для обмена данными между двумя устройствами

Протокол SIP.

  • Полушин Дмитрий,
  • 21 марта 2011г.

Протокол передачи данных — набор соглашений интерфейса логического уровня, которые определяют обмен данными между различными программами. Эти соглашения задают единообразный способ передачи сообщений и обработки ошибок при взаимодействии программного обеспечения разнесённой в пространстве аппаратуры, соединённой тем или иным интерфейсом.

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

Сетевые протоколы предписывают правила работы компьютерам, которые подключены к сети. Они строятся по многоуровневому принципу. Протокол некоторого уровня определяет одно из технических правил связи. В настоящее время для сетевых протоколов используется модель OSI (Open System Interconnection — взаимодействие открытых систем).

Модель OSI — это 7-уровневая логическая модель работы сети. Модель OSI реализуется группой протоколов и правил связи, организованных в несколько уровней:

на физическом уровне определяются физические (механические, электрические, оптические) характеристики линий связи;

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

задача сеансового уровня — координация связи между двумя прикладными программами, работающими на разных рабочих станциях;

уровень представления служит для преобразования данных из внутреннего формата компьютера в формат передачи;

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

Основная предпосылка использования VoIP – пакетирование аудиопотоков для транспортировки по сетям, использующим протокол IP(Internet Protocol). Главные сложности при этом заключаются в манере общения людей. Сигнал должен не только поступить практически в той же форме, в какой был передан, но его транспортировка должна занять не более 150 мс. Если пакеты будут утеряны или задержатся, качество связи ухудшится, то есть два человека будут испытывать трудности в ведении беседы. Транспортные протоколы, которые объединены под общим названием «сетевые», изначально разрабатывались без реализации возможности потоковой передачи несущей в режиме реального времени. Предполагалось, что конечные точки в случае потери пакетов будут увеличивать время их ожидания, посылая запросы на повторную передачу или в некоторых случаях просто продолжать работать без потерянной информации. Для обычного голосового общения такие механизмы неприемлемы. Наши разговоры не допускают утраты букв или слов и тем более какой-либо ощутимой задержки между передачей и приемом.

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

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

SIP (англ. Session Initiation Protocol — протокол установления сеанса) — стандарт на способ установления и завершения пользовательского интернет-сеанса, включающего обмен мультимедийным содержимым (видео- и мгновенные сообщения, онлайн-игры).

Протокол Session Initiation Protocol (SIP) покорил телекоммуникационную отрасль. SIP практически низверг с пьедестала когда-то могущественный H.323 и стал предпочтительным протоколом VoIP, безусловно, в конечных точках сети. Основная идея SIP в том, что каждый конец соединения является равноправным участником сети; протокол договаривается о параметрах устанавливаемого между ними соединения. Неотразимым протокол SIP делает его относительная простота, его синтаксис подобен синтаксису многих широко известных протоколов, таких как HTTP и SMTP.

SIP – это сигнальный протокол уровня приложений, который использует для передачи информации широко известный порт 5060. SIP-пакеты могут передаваться по протоколам транспортного уровня UDP или TCP. В настоящее время Asterisk не имеет реализации TCP для передачи SIP-сообщений, но возможно, будущие версии будут поддерживать его (приветствуются патчи к кодовой базе). SIP используется для установления, корректировки и завершения сеансов обмена мультимедийной информацией, таких как звонки интернет-телефонии. SIP не передает речевые данные между конечными точками.

Для передачи речевых данных (то есть голоса) между конечными точками применяется RTP. RTP использует в Asterisk непривилегированные порты с большими порядковыми номерами (по умолчанию от 10000 до 20000).

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

Рис.1 Пример сети на базе протокола SIP.

SIP – не первый и не единственный используемый сегодня VoIP-протокол (среди которых можно упомянуть H. 323, MGCP, IAX и т. д.), но в настоящее время его поддерживают большинство производителей аппаратных средств. Преимущества SIP-протокола заключаются в его распространенности и гибкости архитектуры (и, как уже было оговорено, простоте).

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

В основу протокола заложены следующие принципы:
Простота: включает в себя только шесть методов (функций)
Независимость от транспортного уровня.

Персональная мобильность пользователей. Пользователи могут перемещаться в пределах сети без ограничений. Это достигается путем присвоения пользователю уникального идентификатора. При этом набор предоставляемых услуг остается неизменным. О своих перемещениях пользователь сообщает с помощью сообщения REGISTER.

Масштабируемость сети. Структура сети на базе протокола SIP позволяет легко ее расширять и увеличивать число элементов.

Расширяемость протокола. Протокол характеризуется возможностью дополнять его новыми функциями при появлении новых услуг.

Интеграция в стек существующих протоколов Интернет. Протокол SIP является частью глобальной архитектуры мультимедиа. Кроме SIP, эта архитектура включает в себя протоколы RSVP, RTP, RTSP, SDP.

Взаимодействие с другими протоколами сигнализации. Протокол SIP может быть использован совместно с другими протоколами IP-телефонии, протоколами ТфОП, и для связи с интеллектуальными сетями.

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

Когда клиент и сервер реализованы в оконечном оборудовании и взаимодействуют непосредственно с пользователем, они называются пользовательским агентским клиентом — User Agent Client (UAC) — и пользовательским агентским сервером — User Agent Server (UAS). Если в устройстве присутствуют и UAC, и UAS, то оно называется пользовательским агентом — User Agent (UA), а по своей сути представляет собой терминальное оборудование SIP.

Протокол SIP определяет 3 основных сценария установления соединения: с участием прокси-сервера, с участием сервера переадресации и непосредственно между пользователями. Сценарии отличаются по тому, как осуществляется поиск и приглашение вызываемого пользователя.

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

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

Естественно, протокол SIP имеет возможность взаимодействовать с традиционными телефонными сетями.

Что касается безопасности, для аутентификации пользователя SIP применяет систему запрос/ответ. Исходное сообщение INVITE посылается на прокси-сервер, с которым желает установить соединение конечное устройство. Прокси возвращает сообщение 407 Proxy Authorization Request (запрос авторизации на прокси), содержащее случайный набор символов, который называют временным кодом. Этот временный код вместе с паролем используется для формирования хеша MD5, который передается в следующем сообщении INVITE. Если хеш MD5 соответствует хешу, сформированному прокси, клиент проходит аутентификацию. DoS-атаки (Denial of Service – отказ в обслуживании) – наверное, самый распространенный тип атак при связи по протоколам VoIP. DoS-атакой может считаться поступление на прокси-сервер большого количества недействительных запросов INVITE с целью вызвать перегрузку системы. Эти атаки относительно просто реализовать, и они мгновенно отражаются на пользователях системы. SIP располагает несколькими методами минимизации эффектов от DoS-атак, но предотвратить их полностью невозможно.SIP реализует схему, которая гарантирует, что для установления связи между вызывающим абонентом и доменом вызываемого абонента используется безопасный транспортный механизм с шифрованием (а именно Transport Layer Security, или TLS). Кроме того, защищенный запрос посылается в конечное устройство. Шифрование речевых данных (то есть потока RTP) не входит в функции SIP и должно реализовываться отдельно.

Архитектура клиент-сервер

Веб-приложение – это клиент-серверное приложение, в котором клиентом выступает браузер, а сервером – веб-сервер (в широком смысле).

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

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

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

Расположение компонентов на стороне клиента или сервера определяет следующие основные модели их взаимодействия в рамках двухзвенной архитектуры:

  • Сервер терминалов — распределенное представление данных.
  • Файл-сервер — доступ к удаленной базе данных и файловым ресурсам.
  • Сервер БД — удаленное представление данных.
  • Сервер приложений — удаленное приложение.

Клиент – это браузер, но встречаются и исключения (в тех случаях, когда один веб-сервер (ВС1) выполняет запрос к другому (ВС2), роль клиента играет веб-сервер ВС1). В классической ситуации (когда роль клиента выполняет браузер) для того, чтобы пользователь увидел графический интерфейс приложения в окне браузера, последний должен обработать полученный ответ веб-сервера, в котором будет содержаться информация, реализованная с применением HTML, CSS, JS (самые используемые технологии). Именно эти технологии «дают понять» браузеру, как именно необходимо «отрисовать» все, что он получил в ответе.

Веб-сервер – это сервер, принимающий HTTP-запросы от клиентов и выдающий им HTTP-ответы. Веб-сервером называют как программное обеспечение, выполняющее функции веб-сервера, так и непосредственно компьютер, на котором это программное обеспечение работает. Наиболее распространенными видами ПО веб-серверов являются Apache, IIS и NGINX. На веб-сервере функционирует тестируемое приложение, которое может быть реализовано с применением самых разнообразных языков программирования: PHP, Python, Ruby, Java, Perl и пр.

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

База данных — это информационная модель, позволяющая упорядоченно хранить данные об объекте или группе объектов, обладающих набором свойств, которые можно категоризировать. Базы данных функционируют под управлением так называемых систем управления базами данных (далее – СУБД). Самыми популярными СУБД являются MySQL, MS SQL Server, PostgreSQL, Oracle (все – клиент-серверные).

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

Третьим звеном в трехзвенной архитектуре становится сервер приложений, т.е. компоненты распределяются следующим образом:

  1. Представление данных — на стороне клиента.
  2. Прикладной компонент — на выделенном сервере приложений (как вариант, выполняющем функции промежуточного ПО).
  3. Управление ресурсами — на сервере БД, который и представляет запрашиваемые данные.

Трехзвенная архитектура может быть расширена до многозвенной (N-tier, Multi-tier) путем выделения дополнительных серверов, каждый из которых будет представлять собственные сервисы и пользоваться услугами прочих серверов разного уровня.

Двухзвенная архитектура проще, так как все запросы обслуживаются одним сервером, но именно из-за этого она менее надежна и предъявляет повышенные требования к производительности сервера.

Трехзвенная архитектура сложнее, но, благодаря тому, что функции распределены между серверами второго и третьего уровня, эта архитектура предоставляет:

  1. Высокую степень гибкости и масштабируемости.
  2. Высокую безопасность (т.к. защиту можно определить для каждого сервиса или уровня).
  3. Высокую производительность (т.к. задачи распределены между серверами).

Клиент-серверные технологии

Архитектура клиент-сервер применяется в большом числе сетевых технологий, используемых для доступа к различным сетевым сервисам.

Типы сервисов:

Изначально предоставляли доступ к гипертекстовым документам по протоколу HTTP (Hyper Text Transfer Protocol). Сейчас поддерживают расширенные возможности, в частности, работу с бинарными файлами (изображения, мультимедиа и т.п.).

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

Серверы баз данных используются для обработки пользовательских запросов на языке SQL. При этом, СУБД находится на сервере, к которому и подключаются клиентские приложения.

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

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

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

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

Предоставляют услуги по отправке и получению электронных почтовых сообщений.

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

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

«Тонкий» клиент

Этот термин определяет клиента, вычислительных ресурсов которого достаточно лишь для запуска необходимого сетевого приложения через web-интерфейс. Пользовательский интерфейс такого приложения формируется средствами статического HTML (выполнение JavaScript не предусматривается), вся прикладная логика выполняется на сервере. Для работы тонкого клиента достаточно лишь обеспечить возможность запуска web-браузера, в окне которого и осуществляются все действия. По этой причине web-браузер часто называют «универсальным клиентом».

«Толстый» клиент

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

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

В последнее время все чаще используется еще один термин:«rich»-client. «Rich» -клиент, своего рода, компромисс между «толстым» и «тонким» клиентом. Как и «тонкий» клиент, «rich»-клиент также представляет графический интерфейс, описываемый уже средствами XML и включающий некоторую функциональность толстых клиентов (например, интерфейс drag-and-drop, вкладки, множественные окна, выпадающие меню и т.п.)

Прикладная логика «rich»-клиента также реализована на сервере. Данные отправляются в стандартном формате обмена, на основе того же XML (протоколы SOAP, XML-RPC) и интерпретируются клиентом.

Некоторые основные протоколы «rich»-клиентов на базе XML приведены ниже:

  • XAML (eXtensible Application Markup Language) — разработан Microsoft и используется в приложениях на платформе .NET.
  • XUL (XML User Interface Language) — стандарт, разработанный в рамках проекта Mozilla, используется, например, в почтовом клиенте Mozilla Thunderbird или браузере Mozilla Firefox.
  • Flex — мультимедийная технология на основе XML, разработанная Macromedia/Adobe.

Протокол передачи данных — набор соглашений интерфейса логического уровня, которые определяют обмен данными между различными программами. Эти соглашения задают единообразный способ передачи сообщений и обработки ошибок при взаимодействии ПО.

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

Сетевые протоколы:

TCP/IP — набор протоколов передачи данных, получивший название от двух принадлежащих ему протоколов: TCP (англ. Transmission Control Protocol) и IP (англ. Internet Protocol).

Наиболее известные протоколы, используемые в сети Интернет:

  • HTTP (Hyper Text Transfer Protocol) — это протокол передачи гипертекста.
  • HTTPS (HyperText Transfer Protocol Secure) — расширение протокола HTTP для поддержки шифрования, в целях повышения безопасности. Данные в протоколе HTTPS передаются поверх криптографических протоколов SSL или TLS.
  • SSL ( Secure Sockets Layer — уровень защищённых cокетов) — криптографический протокол, который подразумевает более безопасную связь.
  • FTP (File Transfer Protocol) — это протокол передачи файлов со специального файлового сервера на компьютер пользователя.
  • POP3 (Post Office Protocol) — это стандартный протокол почтового соединения.
  • SMTP (Simple Mail Transfer Protocol) — протокол, который задает набор правил для передачи почты.
  • TELNET — это протокол удаленного доступа.
  • DTN — протокол, предназначенный для сетей дальней космической связи IPN, которые используются NASA.

Всё ПО для работы с протоколом HTTP разделяется на три большие категории:

1.Серверы — основные поставщики услуг хранения и обработки информации (обработка запросов).

2.Клиенты — конечные потребители услуг сервера (отправка запроса).

3.Прокси (посредники) — для выполнения транспортных служб.

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

results matching » «

No results matching » «

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *