- 11. Протоколы прикладного уровня http, ftp, почтовые протоколы (smtp, pop3, imap-4), telnet .
- Прикладной уровень в модели osi и tcp — функции сеансового уровня и представления
- Протоколы прикладного уровня в tcp/ip
- Сетевые приложения
- Место в моделях OSI и TCP/IP
- Функции сеансового уровня
- Функции уровня представления
- HTTP vs HTTPS
- Модель OSI
- Заключение
11. Протоколы прикладного уровня http, ftp, почтовые протоколы (smtp, pop3, imap-4), telnet .
Протокол — это набор правил, в соответствии с которым компы обмениваются информацией. Эти правила включают формат, время и последовательность передачи данных, способы контроля и коррекции ошибок.
Набор разнообразных протоколов, при помощи которых взаимодействуют между собой прикладные программы.
Протоколы прикладного уровня HTTP, FTP, SMTP, IMAP, POP3, TELNET.
В соответствии с архитектурой клиент-сервер, прога делится на две части (одна работает на сервере, вторая — на компе пользователя), функционирующие как единое целое. Протоколы прикладного уровня описывают взаимодействие клиентской и серверной частью программы. Выделяют следующие наиболее известные прикладные протоколы:
HTTP (Hyper Text Transfer Protocol)- протокол передачи гипертекста, работает на 80 порту. Исп-ся в WWW для передачи гипертекстовых HTML-страниц. При работе по этому протоколу, каждый элемент HTML — страницы загружается отдельно, причем соединение между загрузками прерывается и никакой инф-ии о соединении не сохраняется. Это сделано для того, чтобы пользователя Web- страниц каждый получал «по чуть-чуть, в порядке общей очереди». В противном случае могла бы создаться ситуация, когда один человек качает страницу с большим количеством рисунков высокого разрешения, а все остальные ждут пока он это закончит.
FTP (File Transfer Protocol.) — протокол передачи файлов, работает на 20 и 21 порту. Предназначен для копирование файлов между компами. Полностью занимает канал, пока не будет получен файл, сохраняет информацию о соединении. При сбое возможна докачка с того места, где произошел сбой.
SMTP, IMAP-4, РОРЗ — почтовые протоколы (электронная почта). SMTP — 25 порт, IMAP-4 — 143 порт, РОРЗ — 110 порт. Отличие: SMTP — протокол расчитанный на доставку почты до конкретного получателя, РОРЗ и IMAP-4 — протоколы взаимодействия пользователя со своим почтовым ящиком на сервере. При использовании SMTP предполагается, что почтовый адрес указывает на комп конечного получателя, и на этом компе запущена специальная прога, которая принимает и обрабатывает почту. Однако чаще всего бывает, что почта не доставляется на комп каждого отдельного пользователя, а обрабатывается централизованно, на отдельном почтовом сервере. В таком случае, каждый пользователь имеет на почтовом сервере свой почтовый ящик. Почта доставляется до сервера по протоколу SMTP (конечный получатель — сервер) и помещается в почтовые ящики пользователей. Затем пользователи подключаются к своим почтовым ящикам по протоколу РОРЗ или IMAP-4 и забирают почту. Протокол РОРЗ требует полностью скачать себе всю почту, а затем разбираться: нужна она вам была или нет. Протокол IMAP-4 позволяет просматривать на сервере заголовки писем (указывается статус письма: новое, отвеченное и т.п.) и скачивать с сервера только необходимые письма или даже часть некоторого письма. IMAP4 дублирует функции почтовых программ пользователя.
4.TELNET — исп-ся для подключения и управления удаленным компом, работает на 23 порту. После подключения каждый символ, введенный на локальной машине, обрабатывается так, как если бы он был введен на удаленной машине. Либо может использоваться командный режим — управление удаленной машиной при помощи специальных команд.
Программирование сокетов.
Теперь рассмотрим процесс взаимодействия клиентской и серверной программ более подробно. В функции клиента входит инициирование соединения с сервером, а сервер должен быть готовым к установлению соединения. Это означает, что, во-первых, программа-сервер должна быть запущена раньше, чем клиент сделает попытку установить соединение, и, во-вторых, что сервер должен располагать со-кетом, с помощью которого устанавливается соединение.
Когда серверный процесс запущен, клиент может инициировать установку ТСР-соединения с сервером. Первым действием клиентской программы является создание сокета, при этом программа указывает адрес серверного процесса, состоящий из IP-адреса и номера порта процесса. После создания сокета клиентская сторона протокола TCP осуществляет процедуру тройного рукопожатия с сервером, оканчивающуюся установлением соединения. Заметим, что процедура рукопожатия никак не сказывается на работе приложения.
В ходе тройного рукопожатия клиентский процесс стучит во входную дверь серверного процесса. Когда сервер слышит стук, он создает новую дверь (то есть новый сокет), относящуюся к текущему клиенту.
В примере, который последует ниже, входной дверью является объект ServerSocket с именем welcomeSocket. Когда клиент стучит в эту дверь, вызывается метод accept() объекта welcomeSocket, создающий новую дверь для клиента. По окончании процедуры рукопожатия устанавливается TCP-соединение между сокетом клиента и новым сокетом сервера, который называют сокетом соединения.
С точки зрения приложения TCP-соединение является прямым виртуальным каналом между сокетами соединения клиента и сервера. Клиент может осуществлять передачу любых байтов через свой сокет, при этом протокол TCP гарантиру-ет, что сервер получит эти байты через свой сокет без искажений и в том же порядке, в каком они были переданы. Подобно тому как люди могут входить и выходить через одни и те же двери, клиент и сервер способны с помощью сокетов осуществлять прием и передачу информации.
Сервисы и службы Интернет.
В этом пункте мы даем краткую характеристику основным службам, которые в той или иной степени функционируют в составе современной глобальной Сети. В следующем пункте отдельно рассматривается «главная» служба Сети — «Всемирная паутина» (WWW).
Telnet. Этим термином обозначают протокол и программы, которые обслуживают удаленный доступ клиента к компу-серверу. После установления связи, пользователь попадает в среду операционной системы удаленного компа и работает с установленными на нем прогами так же, как если бы это был собственный комп пользователя.
FTP. Так называют протокол (File Transfer Protocol — протокол передачи файлов) и программы, которые обслуживают работу с каталогами и файлами удаленной машины. Средства FTP позволяют просматривать каталоги и файлы сервера, переходить из одного каталога в другой, копировать и обновлять файлы.
Archie. Так называют специальные серверы (Archie-серверы), которые собирают и хранят поисковую информацию о содержимом FTP- серверов на узлах Internet. Если вы ищите какой-то файл, имя которого (или часть имени) вам известно, надо запустить Archie-клиента, и он укажет вам адрес (адреса) соответсвующего FTP-сервера.
WAIS. Wide Area Information Servers — распределенная информационная система (база данных и программное обеспечение), которая обслуживает поиск инф-ии в сетевых БД и библиотеках. В частности, WAIS исп-ся для индексирования неструктурированных документов в Internet и организации поиска в них.
E-mail. Это английское обозначение электронной почты — основного вида сетевых услуг Internet. С помощью электронной почты люди, живущие на всех континентах, обмениваются электронными сообщениями и файлами.
Internet-телефония. Ныне быстро развивается новый вид услуг Сети Internet-телефония. Принцип голосовой связи в Internet нельзя считать оригинальным: такая связь — лишь частный случай обмена произвольными электронными сообщениями по протоколу TCP/IP. Человеческая речь преобразуется в цифровой файл (точно так же, как создаются аудиофайлы) и передается по сети в виде обычного набора электронных пакетов. Правда, пока единственным достоинством Internet-телефонии, по сравнению с обычным телефоном, явл-ся ее необычайная дешевизна (в расчете на минуту разговора). Многие технические проблемы (перегрузка каналов связи, задержки в передаче речи и др.) пока не решены.
Прикладной уровень в модели osi и tcp — функции сеансового уровня и представления
Прикладной уровень (ПУ) нужен для взаимодействия между собой сетевых приложений, например веб, электронная почта, скайп и другие.
Протоколы прикладного уровня в tcp/ip
В стеке протоколов TCP/IP есть много прикладных протоколов.
Это протокол http, который используется для просмотра web страниц. SMTP, используемый для передачи электронной почты. DNS применяется, чтобы по доменному имени, например zvondozvon.ru определить IP адрес сервера. FTP используется для передачи файлов.
Сетевые приложения
Не путайте сетевые приложения и сетевые протоколы. Сетевое приложение делает какую-то полезную работу и использует протокол, только для того, чтобы получить полезную информацию по сети. Большая часть сетевых приложений использует несколько протоколов. Например Web браузер использует протокол DNS, чтобы определить ip адрес по доменному имени и после этого использует протокол http, чтобы загрузить веб страницу с этого ip адреса.
Место в моделях OSI и TCP/IP
В модели Tcp прикладной уровень это единственный уровень, который находится выше транспортного. А в модели взаимодействия открытых систем есть еще 2 уровня представления и сеансовый. Когда работали над моделью tcp/ip функции этих уровней показались избыточными и их убрали из модели. Считается, что приложение tcp должно само реализовывать функции этих уровней, если они ему нужны.
Во время разработки модели tcp ip мало кому были нужны, но сейчас ситуация поменялась и функции используются чаще.
Функции сеансового уровня
Сейчас сетевое взаимодействие усложнилось, и не состоит из простых запросов и ответов, как было раньше. Если Вы хотите загрузить веб страницу, чтобы показать её в браузере, вам нужно загрузить:
- сам текст веб-странички (.html);
- стилевой файл, который описывает оформление web страницы (.css)
- большая часть современных веб страниц содержит картинки и другие элементы
Чтобы выполнить одну задачу, загрузить веб страницу, нам необходимо реализовать несколько отдельных сетевых операций. Набор таких операций, направленных на выполнение единой задачи, как раз называется сеансом и по логике модели osi должен обрабатываться на сеансовом уровне.
Однако в tcp ip обработкой сеансов должно заниматься само приложение, поэтому такая возможность была добавлена в протокол http. Если в первой версии протокола HTTP 1.0 для загрузки каждого элемента страницы необходимо было открывать отдельное соединение tcp, то в последующих версия появилась функция HTTP keep-alive, которая позволяет открыть одно соединение tcp и через него загрузить все элементы страниц, что работает быстрее.
Функции уровня представления
Для описания того, зачем нужен этот уровень часто используют автоматический перевод в сети с разных языков. Например, ты снимаешь телефонную трубку, говоришь на русском языке, сеть переводит автоматически на английский, передает данные в китай, там человек снимает трубку и слышит твой вопрос на китайском языке. Это сложная задача, которая не реализована до сих пор, но нашлась другая задача, которая оказалась технически более простой и очень востребованной это шифрование.
Сеть tcp ip разрабатывали для передачи информации между университетами. Когда сеть интернет стала популярной и люди стали применять ее не только для академических, но и коммерческих задач, встал вопрос обеспечения безопасности. Одна из возможных технологий, которая часто используется на практике это: Secure Sockets Layer или более современная версия Transport Layer Security. Эти технологии позволяют шифровать все данные, которые передаются по сети.
Многие протоколы прикладного уровня используют эти технологии их можно отличить по букве S в конце, secury. Например, https, imaps, smtps, ftps.
Если в браузере Вы увидите, что используется протокол https и замок, это значит, что производится защита данных при передаче по сети с помощью шифрования.
Защищенные протоколы используют другие номера портов. Например, протокол https использует порт 443, в отличии от обычного протокола http, который использует порт 80.
HTTP vs HTTPS
На самом деле https это не отдельный протокол, а способ передачи протокола http через зашифрованное соединение, которое устанавливается с помощью протоколов TLS или SSL.
Модель OSI
Более расширенный вариант модели osi, предполагает, что в сетевом оборудовании есть только 3 уровня, физический, канальный и сетевой. Однако сейчас это не всегда соответствует действительности, появились сетевые устройства, которые также работают и на прикладном уровне.
Например, это контент фильтры, это специальные устройства, которые анализируют весь трафик, который через него проходит и могут ограничивать доступ к некоторым ресурсам. Например, можно запретить доступ с рабочего места к социальным сетям. Для этого устройству необходимо анализировать http запросы и ответы и смотреть по каким сайтам ходит пользователь.
Заключение
Прикладной это самый интересный уровень, потому что здесь содержатся протоколы используемые для решения различных сетевых задач. На сайте zvondozvon.ru в разделе технологии Вы найдете статьи про все уровни модели OSI, приятного чтения!