Седьмой, последний уровень модели OSI называется прикладным уровнем (Application Layer). Прикладной уровень по мнению многих считается самым важным уровнем модели OSI, так считается потому, что безо всяческих интересных сетевых приложений в сети вообще не было бы необходимости. Все способы, посредством которых мы взаимодействуем в сети, связаны с сетевыми приложениями. К ним относится веб браузер, почтовые программы, системы мгновенного обмена сообщениями, приложения протокола VoIP, и многие другие сетевые приложения, взаимодействующие с более низкими уровнями модели OSI и сетевыми пользователями. У применения прикладного уровня есть три основные функции. Они включают:
- Обеспечение доступности всех необходимых системных ресурсов.
- Сопоставление приложения с соответствующим прикладным протоколом.
- Синхронизация передачи данных от приложения к протоколу приложения.
Протоколы прикладного уровня
Прикладной уровень содержит сетевые приложения и протоколы приложений. Протоколы приложений по сути своей являются правилами того, как взаимодействовать с приложением. Многие протоколы прикладного уровня общедоступны, например протокол передачи гипертекста (Hyper Text Transfer Protocol – HTTP). Это означает, что любой веб браузер, который поддерживает протокол HTTP, может передавать любой файл с веб сервера, который также использует протокол HTTP. Этот веб браузер, веб сервер и протокол HTTP в совокупности образуют сетевое приложение. Некоторые протоколы прикладного уровня являются частными и поэтому доступны не для всех; протоколы VoIP являются примерами такого типа протоколов. Поэтому нельзя использовать общий пользовательский интерфейс, чтобы получить доступ к своей учетной записи Skype; необходимо использовать пользовательский интерфейс Skype.
Программное обеспечение vs Аппаратное оборудование
Когда многие люди думают о протоколах прикладного уровня, таких как HTTP, SMTP или POP3, они также подразумевают программные продукты, которые представляют собой интерфейс этих приложений. Но это не всегда верно. Если немного подумать, мы с легкостью можем найти пример, в котором интерфейсом для приложений будет служить аппаратное оборудование. К примеру, возьмите сегодняшние беспроводные телефоны, которые способны подключаться к учетной записи VoIP. Хотя эти телефоны оснащены ПО, легко понять, что большая часть работы выполняется аппаратным оборудованием. По сути, ваш голос принимается микрофоном и оборудование обрабатывает его так, чтобы он был совместим с частным протоколом VoIP. Это оборудование может представлять собой либо заказную ИС (Application Specific Integrated Circuit – ASIC) или программирую пользователем вентильную матрицу (Field Programmable Gate Array – FPGA). Еще одним примером, в котором протокол прикладного уровня выполняется аппаратным оборудованием, является Bluetooth. Bluetooth, по сути своей, охватывает много уровней модели OSI, но мы остановимся на прикладном уровне. В устройстве Bluetooth можно найти множество приложений, находящихся на прикладном уровне. Одним из таких приложений является приложение, позволяющее беспроводному наушнику (рисунок 1) взаимодействовать с сотовым телефоном в вашем кармане. В этом примере, наушник, оснащенный встроенным чипом Bluetooth, будет преобразовывать получаемый с сотового телефона сигнал в форму, приемлемую для громкоговорителя полностью посредством аппаратного оборудования. Таким же образом наушник будет принимать сигнал вашего голоса с микрофона и преобразовывать его в форму, приемлемую для чипа Bluetooth, который в свою очередь отправит сигнал на ваш телефон. Все эти процедуры выполняются посредством аппаратного оборудования.
Рисунок 1: Гарнитура Bluetooth
Протокол передачи файлов (File Transfer Protocol)
Одним из самый распространенных софтверных приложений, относящихся к прикладному уровню модели OSI, является протокол передачи файлов (File Transfer Protocol – FTP); или, скорее, приложения, которые используют FTP, относятся к прикладному уровню. FTP позволяет передавать файлы по сети. Протокол FTP требует двух конечных точек, одна из которых действует в качестве FTP сервера, а вторая – в качестве FTP клиента. FTP также требует два порта, один для данных, а второй для управления. Порт управления FTP – это порт номер 21, а порт данных FTP – это порт номер 20. Конечно, FTP клиент с портов случайный, и не является любым общеизвестным портом. Существует два общих типа FTP; активный и пассивный. В активном FTP клиент FTP отправляет FTP запрос на управляющий порт FTP сервера. Затем FTP сервер отправляет запрошенные данные со своего порта данных на указанный клиентом порт (порт управления). Именно таким образом был построен изначальный FTP. Однако это может повлечь за собой множество проблем. Когда сервер начинает отправку данных со своего порта данных на порт клиента, это очень похоже на то, что злоумышленник выгружает данные на клиента. По этой причине многие брандмауэры не позволяют такой тип передачи данных. Пассивный FTP был создан для удовлетворения потребностей безопасности клиента. Пассивный FTP не использует стандартный порт данных FTP. FTP сервер, при получении запроса с FTP клиента, ответит на неизвестный порт, на который будут отправлены данные. Затем FTP клиент отправляет запрос на этот порт, который посылает ответ в виде запрошенных данных.
Протокол передачи голоса через интернет (Voice Over Internet Protocol)
Как я уже говорил в начале этой части, VoIP также является сетевым приложением, относящимся к прикладному уровню. VoIP, по определению, является протоколом, оптимизированным на передачу голоса в сети на базе пакетов. Хотя здесь я подразумеваю все приложения, которые используют такой протокол. VoIP – это отличный пример семейства приложений, которые имеют множество различных применений. На рисунке 2 показаны различные формы применения VoIP. Все эти разнообразные применения способны взаимодействовать друг с другом, так как все они основываются на различных уровнях модели OSI. Хотя каждое применение может использовать различные способы применения других функций на других уровнях, все они совместимы друг с другом.
Рисунок 2: Множество различных применений VoIP
По сути, модель OSI представляет собой абстрактную модель, которую нужно использовать в качестве руководства для понимания принципа работы сети и разработки сетевых приложений. Путем выделения элементов конструкции в уровни модели OSI, разработчик сможет повысить используемость приложений, а также сделает их проще в обслуживании и обновлении. Элементы конструкции не должны строго соответствовать уровням модели OSI. На самом деле, зачастую возникают споры о том, какие функции должны принадлежать к каким уровням. Один из таких споров зародился вокруг Элементов службы приложений (Application Service Elements – ASEs). Многие считают ASEs частью представительского уровня, другие считают их частью прикладного уровня как объяснено в документации Cisco. На практике действительно не имеет значения, на какой уровень вы поместите их, поскольку их функция заключается в работе между уровнями. Другие функции различных уровней вовсе необязательны и иногда отсутствуют в конструкции; шифрование является тому примером.
Постовой
Если вы хотите изменить интерьер квартиры, данный сайт для вас просто обязателен для помещения. Фотографии интерьеров, оригинальные решения, подсказки.
Лучший сайт про Северодвинск. Отдых в Северодвинске, клубы, увлечения – и про все это пишут обычные люди, такие как и ты.