Вы знаете, что далеко не все компьютерные системы трактуют один и тот же набор символов (например, перевод каретки, перевод строки, символы табуляции и забоя) одинаково. В Unix, например, строчку текста принято заканчивать символом перевода каретки (CR), а в некоторых системах — переводом строки (LF). В DOS, как известно, строка оканчивается и переводом каретки, и переводом строки. Прервать выполняющуюся программу в некоторых системах можно нажатием комбинации Ctrl-C, а в некоторых — клавишей Esc. Другими словами, для одинаковых целей в различных ОС используются различные символы.
Все компьютеры (точнее, операционные системы) выполняют похожие операции. Однако несовместимость управляющих символов может привести к тому, что корректно работающая на одном компьютере сетевая программа выдаст непредсказуемые результаты на другом. Хорошо спроектированная сеть обязана сама помогать программам устранять такие недоразумения.
К задачам уровня представления относится устранение несовместимости между сетевыми компьютерами. Функции уровня представления, как правило, выполняются протоколами виртуального сетевого терминала. При этом с точки зрения сетевой программы дисплеи и принтеры всех удаленных компьютеров выглядят и управляются одинаково. Предположим, что сетевая программа шлет закодированные виртуальным протоколом данные по Интернет. Символы окончания строки в этих данных соответствуют требованиям протокола виртуального терминала. Протокол, например, может кодировать окончание строки комбинацией символов перевода каретки и перевода строки. Компьютер-получатель данных преобразует их из протокола виртуального терминала в собственный формат. То есть комбинация «перевод каретки-перевод строки» преобразуется в локальное представление, позволяющее правильно выдать текст на экран.
Стек протоколов TCP/IP не имеет отдельного уровня представления. Основные функции этого и сеансового уровней модели ISO/OSI берет на себя прикладной уровень. Тем не менее в TCP/IP существует протокол виртуального терминала.
Семейство протоколов TCP/IP имеет протокол виртуального терминала под названием TELNET. Вам, возможно, приходилось встречаться с ним, когда вы входили в удаленную систему. Однако не всем известно, что TELNET работает по специально спроектированному протоколу, описанному в RFC 854, «Спецификация протокола Telnet» (Telnet Protocol Specification, Postal and Reynolds, 1983). Основополагающая концепция TELNET — идея сетевого виртуального терминала (Network Virtual Terminal, NVT). Эта концепция используется не только в TELNET. Многие протоколы, например Finger, также работают по этому принципу. В спецификации TELNET виртуальный терминал описывается, как воображаемое устройство, выполняющее соглашения о работе обыкновенных компьютерных мониторов или терминалов, таких как VT100, например.
Концепция NVT, как она описывается в спецификации TELNET, является исключительно протоколом работы виртуального терминала. Сам протокол TELNET, однако, не является протоколом виртуального терминала. Все компьютерные системы выполняют сходные действия, выводя информацию на экран. Например, когда экран переполняется, почти все терминалы сдвигают текст вверх, освобождая внизу место - для вновь поступающего текста. Большинство терминалов позволяют пользователю стирать ошибочно введенные данные и т. д.
Каждый терминал пользуется концепцией перевода каретки, оставшейся с давних времен, когда еще существовали устройства, называемые «каретки», которые действительно можно было «переводить». Когда машинистка заканчивала ввод строчки, она нажимала «перевод каретки», и лист бумаги возвращался в исходную позицию, сместившись вниз на одну строку. На современных компьютерах для этой же цели используется клавиша «Return» или «Enter», сдвигающая курсор в крайнюю левую позицию следующей строки. Сама функция называется по-прежнему: «перевод каретки» (CR). В спецификации виртуального терминала указывается, какими символами нужно кодировать те или иные действия. То есть какие символы представляют перевод каретки, забой, очистку экрана и прочие специальные действия. Определив единый для всех сетевых программ стандарт, NVT тем самым скрыл различия в реализации этих функций в разных сетевых компьютерах. На рис. 1 показано, как NVT вписывается в схему сетевого соединения между двумя компьютерами в Интернет.
Рис.1. Концепция сетевого виртуального терминала (NVT)
Перед тем как отправить данные, и клиент и сервер кодируют их в соответствии с требованиями NVT. Программы-получатели данных, наоборот, декодируют их в соответствии с требованиями собственной операционной системы.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.