Представительский уровень модели OSI: функции и задачи
Presentation layer
6-й уровень OSI: уровень представления. Перевод данных для сети, форматирование и обеспечение совместимости приложений. Важный элемент сетевой архитектуры!
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Введение
Шестой уровень модели OSI телекоммуникаций
Sixth layer of the OSI model of telecommunications
В семиуровневой модели OSI компьютерных сетей уровень представления является шестым уровнем и служит переводчиком данных для сети. Его иногда называют синтаксическим уровнем.
In the seven layer OSI model of computer networking, the presentation layer is layer 6 and serves as the data translator for the network. It is sometimes called the syntax layer.
Описание
В рамках семантики слоев обслуживания сетевой архитектуры OSI, уровень представления отвечает на запросы от уровня приложений и формирует запросы к уровню сеанса через уникальную точку доступа к службам представления (PSAP). Уровень представления обеспечивает, чтобы информация, отправленная уровнем приложений одной системы, была читаема уровнем приложений другой системы. На отправляющей системе он отвечает за преобразование в стандартные форматы, пригодные для передачи. На принимающей системе он отвечает за перевод, форматирование и доставку информации для обработки или отображения. В теории, это избавляет протоколы уровня приложений от необходимости учитывать синтаксические различия в представлении данных в конечных системах. Примером службы представления является преобразование текстового компьютерного файла, закодированного расширенным двоично-десятичным кодом обмена (EBCDIC), в файл, закодированный в ASCII. При необходимости уровень представления может осуществлять перевод между несколькими форматами данных, используя общий формат. Во многих широко используемых приложениях и протоколах фактически не проводится различий между уровнями представления и приложения. Например, протокол передачи гипертекста (HTTP), обычно рассматриваемый как протокол прикладного уровня, обладает аспектами уровня представления, такими как возможность определения кодировки символов для корректного преобразования, которое затем выполняется на уровне приложения. Уровень представления – это самый нижний уровень, на котором программисты приложений учитывают структуру и представление данных, а не просто отправляют данные в виде дейтаграмм или пакетов между хостами. Этот уровень решает вопросы представления строк – используют ли они метод Паскаля (целочисленное поле длины, за которым следует указанное количество байтов) или метод C/C++ (строки, завершаемые нулевым символом, например, "thisisastring\0"). Идея заключается в том, что уровень приложений должен указывать на данные, которые необходимо переместить, а уровень представления преобразует это в команды, понятные другим приложениям и процессам. Сериализация сложных структур данных в плоские байтовые строки (с использованием механизмов, таких как TLV, XML или JSON) можно рассматривать как ключевую функцию уровня представления. Представление структуры обычно стандартизируется на этом уровне, часто с использованием XML или JSON. В этом слое стандартизируются не только простые данные, такие как строки, но и более сложные объекты. Два распространенных примера – «объекты» в объектно-ориентированном программировании и точный способ передачи потокового видео. Шифрование и расшифрование обычно выполняются на этом уровне, хотя это также возможно на уровнях приложения, сеанса, транспорта или сети, каждый из которых имеет свои преимущества и недостатки. Например, при входе на сайт банковского счета уровень представления будет расшифровывать данные по мере их получения.
Within the service layering semantics of the OSI network architecture, the presentation layer responds to service requests from the application layer and issues service requests to the session layer through a unique presentation service access point (PSAP). The presentation layer ensures the information that the application layer of one system sends out is readable by the application layer of another system. On the sending system it is responsible for conversion to standard, transmittable formats. On the receiving system it is responsible for the translation, formatting, and delivery of information for processing or display. In theory, it relieves application layer protocols of concern regarding syntactical differences in data representation within the end user systems. An example of a presentation service would be the conversion of an extended binary coded decimal interchange code (EBCDIC coded) text computer file to an ASCII coded file. If necessary, the presentation layer might be able to translate between multiple data formats using a common format. In many widely used applications and protocols no distinction is actually made between the presentation and application layers. For example, HyperText Transfer Protocol (HTTP), generally regarded as an application layer protocol, has presentation layer aspects such as the ability to identify character encoding for proper conversion, which is then done in the application layer. The presentation layer is the lowest layer at which application programmers consider data structure and presentation, instead of simply sending data in the form of datagrams or packets between hosts. This layer deals with issues of string representation whether they use the Pascal method (an integer length field followed by the specified amount of bytes) or the C/C++ method (null terminated strings, e. g. "thisisastring\0"). The idea is that the application layer should be able to point at the data to be moved, and the presentation layer will translate this to commands able to be understood by other applications and processes. Serialization of complex data structures into flat byte strings (using mechanisms such as TLV, XML or JSON) can be thought of as the key functionality of the presentation layer. Structure representation is normally standardized at this level, often by using XML or JSON. As well as simple pieces of data, like strings, more complicated things are standardized in this layer. Two common examples are 'objects' in object oriented programming, and the exact way that streaming video is transmitted. Encryption and Decryption are typically done at this level too, although it can be done on the application, session, transport, or network layers, each having its own advantages and disadvantages. For example, when logging on to bank account sites the presentation layer will decrypt the data as it is received.