Функции верхних уровней:
Компоненты четырех нижних уровней модели OSI (физического, канального, сетевого и транспортного) представляют собой механизм, обеспечивающий доставку данных любого типа и произвольного объема между программами, работающими на разных узлах составной сети. Однако, при работе в сети пользователям требуется не просто пересылка данных, а выполнение каких-либо операций с различными информационными объектами, например, файлами, папками, почтовыми сообщениями и т.п. Естественно, что тех возможностей, которые предоставляют средства нижних уровней, недостаточно.
Для примера рассмотрим ситуацию, когда пользователю необходимо просмотреть документ, расположенный не на его локальном компьютере, а на удаленной машине. Решение такой задачи предполагает как минимум прохождение следующих этапов:
1. Формирование и передача с компьютера пользователя запроса, содержащего имя документа.
2. Обработка запроса, поиск и пересылка файла документа с удаленного компьютера.
3. Отслеживание в процессе работы программным обеспечением удаленной машины изменений, вносимых в этот документ другими пользователями, и уведомление об этом пользователя.
Кроме того, эти действия могут предваряться этапом проверки прав пользователя на работу с документом, что предполагает дополнительный обмен информацией.
Предоставляя общие методы пересылки данных, компоненты нижних уровней не имеют средств, позволяющих реализовать специфику такого взаимодействия. Поэтому для его организации требуются дополнительные надстройки над средствами транспортного и нижележащих уровней. В эталонной модели OSI предусмотрены три уровня: сессионный уровень, уровень представления и прикладной уровень. Каждый из этих уровней выполняет определенные функции.
Сессионный уровень обеспечивает установление и поддержку сеанса (или сессии) при длительном взаимодействии. Сеанс – это логическое (виртуальное) соединение между двумя программами, в общем случае функционирующими на разных компьютерах. В простейшем случае, установление виртуального соединения подразумевает согласование параметров обмена и выделение ресурсов, например, блоков памяти, необходимых для приема и передачи данных. После окончания передачи данных происходит закрытие соединения, предполагающее освобождение выделенных ресурсов. Во многих случаях этого недостаточно, поэтому сессионный уровень предлагает более сложные механизмы для организации сеансов. Наиболее важным является механизм длительной поддержки соединения в период, когда активного обмена данными не происходит. Такая поддержка осуществляется путем периодической отправки специальных тестовых пакетов, при получении которых участник соединения должен ответить. Возвращаясь к предложенному выше примеру, следует отметить, что установление соединения при работе с удаленным документом позволяет один раз перед началом работы проверить права доступа пользователя, а также один раз передать запрос с именем файла. В случае, если бы соединение не устанавливалось, то эти данные приходилось бы передавать в каждом пакете, направляемом в сеть, и, кроме того, владелец ресурса не смог бы уведомлять "читателя" о произошедших во время работы изменениях.
В некоторых случаях при передаче данных по сети может потребоваться дополнительное преобразование. Например, это необходимо в случае, если взаимодействующие программы используют различные способы кодировки текстовой информации, или если для обеспечения защиты информации требуется осуществлять шифрование данных. Обеспечение подобных промежуточных преобразований возложено на уровень представления.
Все рассмотренные уровни модели OSI, по сути, являются сервисными уровнями. Они позволяют осуществлять работу с различными информационными ресурсами сети, например, файлами или сообщениями электронной почты. Естественно, что различные типы ресурсов в общем случае требуют различных методов обработки и, в том числе, методов сетевого взаимодействия. Поэтому самым верхним уровнем модели OSI является прикладной уровень, который обеспечивает сетевые функции работы с конкретными информационными объектами. В предложенном выше примере (чтение удаленного документа) к функциям прикладного протокола относятся формирование запросов на получение документа, проверка прав доступа, а также определение порядка пересылки файлов и уведомлений об изменении документа.
Следует отметить, что для методов работы с теми или иными ресурсами, определяемых протоколами прикладного уровня, часть функций сессионного уровня и уровня представления может оказаться избыточной, поэтому при программной реализации три верхних уровня обычно объединяются.