Введение

Шестой уровень модели OSI телекоммуникаций

В семиуровневой модели OSI компьютерных сетей уровень представления является шестым уровнем и служит переводчиком данных для сети. Его иногда называют синтаксическим уровнем.

Описание

В рамках семантики слоев обслуживания сетевой архитектуры OSI, уровень представления отвечает на запросы от уровня приложений и формирует запросы к уровню сеанса через уникальную точку доступа к службам представления (PSAP). Уровень представления обеспечивает, чтобы информация, отправленная уровнем приложений одной системы, была читаема уровнем приложений другой системы. На отправляющей системе он отвечает за преобразование в стандартные форматы, пригодные для передачи. На принимающей системе он отвечает за перевод, форматирование и доставку информации для обработки или отображения. В теории, это избавляет протоколы уровня приложений от необходимости учитывать синтаксические различия в представлении данных в конечных системах. Примером службы представления является преобразование текстового компьютерного файла, закодированного расширенным двоично-десятичным кодом обмена (EBCDIC), в файл, закодированный в ASCII. При необходимости уровень представления может осуществлять перевод между несколькими форматами данных, используя общий формат. Во многих широко используемых приложениях и протоколах фактически не проводится различий между уровнями представления и приложения. Например, протокол передачи гипертекста (HTTP), обычно рассматриваемый как протокол прикладного уровня, обладает аспектами уровня представления, такими как возможность определения кодировки символов для корректного преобразования, которое затем выполняется на уровне приложения. Уровень представления – это самый нижний уровень, на котором программисты приложений учитывают структуру и представление данных, а не просто отправляют данные в виде дейтаграмм или пакетов между хостами. Этот уровень решает вопросы представления строк – используют ли они метод Паскаля (целочисленное поле длины, за которым следует указанное количество байтов) или метод C/C++ (строки, завершаемые нулевым символом, например, "thisisastring\0"). Идея заключается в том, что уровень приложений должен указывать на данные, которые необходимо переместить, а уровень представления преобразует это в команды, понятные другим приложениям и процессам. Сериализация сложных структур данных в плоские байтовые строки (с использованием механизмов, таких как TLV, XML или JSON) можно рассматривать как ключевую функцию уровня представления. Представление структуры обычно стандартизируется на этом уровне, часто с использованием XML или JSON. В этом слое стандартизируются не только простые данные, такие как строки, но и более сложные объекты. Два распространенных примера – «объекты» в объектно-ориентированном программировании и точный способ передачи потокового видео. Шифрование и расшифрование обычно выполняются на этом уровне, хотя это также возможно на уровнях приложения, сеанса, транспорта или сети, каждый из которых имеет свои преимущества и недостатки. Например, при входе на сайт банковского счета уровень представления будет расшифровывать данные по мере их получения.