Файл: Понятие прикладных протоколов и серверы приложений (Типы, функции, достоинства и недостатки серверов приложений).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 19.06.2023

Просмотров: 87

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Введение

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

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

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

1) рассмотреть понятие и функции прикладных протоколов,

2) изучить основные виды прикладных протоколов,

3) проанализировать понятие серверов приложений,

4) определить типы, функции, достоинства и недостатки серверов приложений,

5) исследовать модель сервера приложений.

1. Сущность и виды прикладных протоколов

1.1 Понятие и функции прикладных протоколов

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


Рисунок 1 – Прикладной протокол

В этой модели информация проходит от одного уровня к следующему, начиная с Прикладного уровня на передающем хосте, и продолжая идти вниз по иерархии до Физического уровня, а затем переходя через коммуникационный канал к хосту назначения, где информация поднимается в обратном направлении по иерархии, заканчивающейся Прикладным уровнем. Рисунок 1 показывает этот процесс пошагово [11, c.168].

Прикладной уровень, или Седьмой Уровень, является самым верхним уровнем обоих моделей – OSI и TCP/IP. Именно этот уровень предоставляет интерфейс между приложениями, которые мы используем, чтобы общаться, и лежащей в основе коммуникации сети, через которую передаются наши сообщения. Протоколы Прикладного уровня используются для обмена данными между программами, работающими на хостах источника и назначения. Существует множество протоколов Прикладного уровня, а также постоянно разрабатываются новые протоколы [1, c.119].

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

Рисунок 2 – Протоколы прикладного уровня

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

Множество различных типов приложений осуществляют коммуникацию, используя сети - поэтому службы Прикладного уровня должны реализовывать сразу несколько протоколов, чтобы обеспечить желаемый диапазон возможностей коммуникации. Каждый протокол имеет специфическую цель и содержит характеристики, требуемые для достижения этой цели. На каждом уровне должны соблюдаться соответствующие характеристики протоколов, так что функции одного уровня будут корректно взаимодействовать со службами более низшего уровня [12, c.73].


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

1.2 Основные виды прикладных протоколов

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

Протокол FTP. Как следует из названия, протокол FTP (File Transfer Protocol) предназначен для передачи файлов через Интернет. Именно на базе этого протокола реализованы процедуры загрузки и выгрузки файлов на удаленных узлах Всемирной Сети. FTP позволяет переносить с машины па машину не только файлы, но и целые папки, включающие поддиректории на любую глубину вложений. Осуществляется это путем обращения к системе команд FTP, описывающих ряд встроенных функций данного протокола.

Протоколы РОРЗ и SMTP. Прикладные протоколы, используемые при работе с электронной почтой, называются SMTP (Simple Mail Transfer Protocol) и РОРЗ (Post Office Protocol), первый «отвечает» за отправку исходящей корреспонденции, второй — за доставку входящей [2, c.78].

В функции этих протоколов входит организация доставки сообщений e-mail и передача их почтовому клиенту. Помимо этого, протокол SMTP позволяет отправлять несколько сообщений в адрес одного получателя, организовывать промежуточное хранение сообщений, копировать одно сообщение для отправки нескольким адресатам. И РОРЗ, и SMTP обладают встроенными механизмами распознавания адресов электронной почты, а также специальными модулями повышения надежности доставки сообщений.

Протокол HTTP (Hyper Text Transfer Protocol) обеспечивает передачу с удаленных серверов на локальный компьютер документов, содержащих код разметки гипертекста, написанный на языке HTML или XML, то есть веб-страниц. Данный прикладной протокол ориентирован прежде всего на предоставление информации программам просмотра веб-страниц, веб-браузерам, наиболее известными из которых являются такие приложения, как Microsoft Internet Explorer и Netscape Communicator.


HTTP –это протокол передачи гипертекста. А теперь я приведу наиболее интересные определение HTTP протокола, которые когда-либо встречал.

HTTP протокол – это правила дорожного движения в интернете, только если в жизни люди могут не соблюдать правила дорожного движения и им за это ничего не будет, то несоблюдение правил HTTP протокола ведет к тому, что пользователь не сможет работать в интернете.

Технические характеристики HTTP протокола:

- HTTP протокол работает по технологии клиент-сервер.

- HTTP протокол относится к седьмому уровню модели OSI.

- HTTP протокол относится к семейству протоколов TCP/IP.

- Для передачи данных по протоколу HTTP используется порт 80 TCP или 8080.

- Спецификация протокола RFC 2616.

- Для идентификации ресурса HTTP протокол использует URI (читай про URI в HTTP).

- HTTP протокол не имеет промежуточных состояний между запросом и ответом, конечно, клиент может получить ответ с кодом 100, но это ведь уже ответ, а не промежуточное состояние.

- HTTP протокол синхронный, но позволяет клиенту отправлять несколько запросов подряд, не дожидаясь ответа сервера, при условии, что сервер даст ответы на запросы в том порядке, как они приходили [13, c.94].

Самым распространенным примером клиента HTTP протокола является браузер, вот самые популярные клиенты HTTP протокола:

- Google Chrome;

- Mozilla FireFox;

- Opera;

- Internet Explorer;

- Яндекс Браузер;

- Safari.

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

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

Вот примеры конечных HTTP серверов:

- Apache HTTP Server;

- CERN httpd;

- nginx;

- lighthttod.

Прокси-сервера:

- Squid;

- UserGate;

- nginx [3, c.105].

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


Telnet - это протокол, который предоставляет пользователю возможность работать с удалённым компьютером как со своим собственным. Название его является сокращением от английского термина TELecommunication NETwork.

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

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

Для установления связи между двумя удалёнными компьютерами используется TCP-соединение. Единственное средство обеспечения безопасности удалённого соединения по протоколу - это авторизация всех, кто подключается по нему к удалённому компьютеру.

Telnet является стандартным протоколом для многих операционных систем, в том числе Windows и Unix-like. Для того, чтобы начать работу с ним, достаточно напечатать в командной строке "telnet". С помощью этой консольной программы можно подключаться к тем компьютерам, где запущен Telnet-сервер (разделение протокола Telnet на клиентскую и серверную часть довольно-таки условно, так как этот протокол обладает симметричностью).

К сожалению, протокол Telnet не блещет безопасностью. В нём не предусмотрены ни шифрование, ни проверка подлинности передаваемых данных, поэтому он представляет собой легкую мишень для киберпреступников. Поэтому в качестве средства управления удалёнными системами (например, серверами) теперь Telnet практически не используется - на смену ему пришёл более современный протокол SSH [14, c.115].

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

Прикладной протокол передачи данных UDP (User Datagram Protocol) используется на медленных линиях для трансляции информации как дейтаграмм.

UDP (User Datagram Protocol — пользовательский дейтаграмм-ный протокол). UDP позволяет приложениям отправлять инкапсулированные IP-дейтаграммы без установления соединений. UDP описан в RFC 768.

С помощью протокола UDP передаются сегменты, состоящие из 8-байтного заголовка, за которым следует поле полезной нагрузки. Два номера портов служат для идентификации конечных точек внутри отправляющей и принимающей машин. Когда прибывает пакет UDP, содержимое его поля полезной нагрузки передается процессу, связанному с портом назначения. В сущности, весь смысл использования UDP вместо обычного IP заключается как раз в указании портов источника и приемника. Без этих двух полей на транспортном уровне невозможно было бы определить действие, которое следует произвести с пакетом. В соответствии с полями портов производится корректная доставка сегментов [4, c.93].