Серия «стек протоколов TCP/IP» — Уровень приложений

Уровень приложений стека TCP/IP предоставляет службы приложениям и программному обеспечению, работающему на компьютере. Сам он не определяет требования непосредственно к приложениям, а стандартизирует службы, которые могут понадобиться приложениям, например, обеспечивает возможность, передачи файлов при использовании протокола HTTP (Hypertext Transfer Protocol — Протокол передачи гипертекста). Другими словами, уровень приложений представляет собой интерфейс между программным обеспечением компьютера и сетью.

Вероятно, наиболее популярным приложением TCP/IP на сегодняшний день является веб-браузер (см. также — интернет браузер для windows 7). Многие компании уже поменяли или как раз меняют свое программное обеспечение таким образом, чтобы с ним можно было работать через веб-браузер. К счастью, работать с браузером исключительно просто — нужно всего лишь запустить его на компьютере, потом набрать адрес веб-сайта в строке ввода адреса и в окне программы появится ожидаемая веб-страница.

Что же в действительности происходит, когда веб-страница появляется в окне браузера?

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

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

Если внимательно изучить процесс передачи страницы, мы обнаружим, что в рассмотренном выше примере используется протокол уровня приложений стека TCP/IP. Прежде всего, программное обеспечение отправляет запрос на получение файла, и потом передает его согласно формату протокола передачи гипертекстовых файлов (Hypertext Tranfser ProtocolHTTP). Вы, возможно, обращали внимание на то, что большинство адресов веб-страниц, называемых указателями информационного ресурса (Universal Resiurce LocatorURL), или просто веб-адресами, начинаются с аббревиатуры http, которая указывает, что именно протокол HTTP будет использоваться для передачи информации.

Другой наиболее распространенный стандарт, язык гипертекстовой разметки (Hypertext Marcup LanguageHTML), представляет собой одну из наиболее распространенных спецификаций того, как веб-браузер пользователя должен интерпретировать текст внутри только что принятого им от сервера файла. Например, файл может содержать указания, что какой-либо кусок текста должен быть отображен шрифтом определенного размера, цвета и т.д. Кроме всего прочего, такой файл обычно содержит информацию о том, какие дополнительные файлы должен загрузить браузер пользователя, например, рисунки и анимационные файлы. Опять же, именно протокол HTTP используется для получения таких файлов от сервера.

Чтобы получить веб-страницу от сервера, пользователь пересылает некую инструкцию посредством протокола HTTP. Эта инструкция содержит команду get (получить) для нужного файла. Обычно такой запрос также содержит название файла (home.html в нашем случае), а если название отсутствует, то веб-сервер предполагает, что запрашивается стандартная корневая страница.

Ответ от сервера также содержит HTTP-инструкцию, в заголовке которой написано что-то вроде «ОК». Ответ всегда содержит код в заголовке, который указывает запрашивающей стороне, может ли быть выполнен запрос. Например, если серверу приходит запрос на страницу, которая не существует, браузер получит HTTP-сообщение с кодом ошибки 404, «страница не найдена». Если же запрашиваемый файл был найден, то в ответ сервер передаст сообщение с кодом 200, который свидетельствует о том, что все в порядке и выполняется дальнейшая обработка запроса.

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

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

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

Дополнения

Взаимодействие равноценных уровней

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

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



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

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

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>