TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security)
Шрифт:
При
13.4 Модель эмуляции терминала в Telnet
Как показано на рис. 13.2, пользователь с реального терминала взаимодействует с локальной клиентской программой telnet. Эта программа принимает введенные с клавиатуры символы, интерпретирует их и выводит результат на пользовательский экран в том виде, в каком он должен выглядеть на эмулируемом терминале.
Рис. 13.2. Клиент и сервер в Telnet
Клиент telnet открывает соединение TCP с сервером telnet через общеизвестный порт 23. Сервер взаимодействует с приложением и помогает эмулировать исходный терминал.
13.4.1 Сетевой виртуальный терминал
Для работы во время сеанса обе стороны предварительно обмениваются информацией по очень простому протоколу сетевого виртуального терминала (Network Virtual Terminal — NVT).
Протокол NVT моделирует работу уже устаревшей полудуплексной клавиатуры и принтера, работающих в построчном режиме. Характеристики NVT общеизвестны:
■ Данные состоят из 7-разрядных символов US-ASCII, дополненных до 8 бит начальным нулем.
■ Данные пересылаются построчно.
■ Каждая строка завершается
■ Байты с начальным битом, равным 1 (с наибольшим весом), используются как коды команд.
■ Протокол работает в полудуплексном режиме. После отправки строки клиент переходит к ожиданию данных от сервера. Сервер посылает данные, а затем команду Go Ahead (продолжить), указывающую клиенту на возможность отправки следующей строки.
13.5 Наиболее распространенные типы терминалов
Обычно клиент и сервер остаются в режиме NVT очень короткое время — пока не согласуют между собой тип эмулируемого терминала (например, ASCII VT100 или IBM 3270).
За годы существования telnet в этот протокол были добавлены многие типы терминалов.
13.5.1 Терминалы ASCII
Терминалы ASCII используются с Unix и компьютерами VAX компании Digital Equipment Corporation. Эти терминалы обеспечивают:
■ Удаленную эхо-печать (remote echoing) каждого символа. Т.е. каждый посланный удаленному хосту символ возвращается назад, до того как будет отображен на экране пользователя (это приводит к существенной нагрузке на сеть).
■ Полнодуплексный обмен. Поток символов одновременно передается в обоих направлениях. Серверу не требуется посылать управляющий код Go Ahead.
■ Поддержку интерактивных полноэкранных приложений (это также существенно загружает сеть).
■ Набор символов ASCII больше набора символов NVT.
Основные характеристики терминалов ASCII определены в стандартах ANSI Х3.64, ISO 6429 и ISO 2022. Многие модели терминалов ASCII имеют некоторые дополнительные возможности (например, ANSI, VT52, VT100, VT220, TV1950, TV1955 и WYSE50). Для регистрации с удаленных компьютеров Unix наиболее часто эмулируется терминал VT100.
13.5.2 Конфигурирование раскладки клавиатуры
Клавиатуры компьютеров PC или Macintosh не идентичны клавиатурам терминалов VT100 или 3270. Приложения telnet обычно обеспечивают способ конфигурирования отдельных клавиш клавиатуры или управляющих комбинаций клавиш для выполнения функций, доступных на клавиатуре эмулированных систем. Например, с терминалом VTXXX возникает проблема из-за того, что не стандартизирована клавиша удаления последнего введенного символа. Некоторые терминалы используют для этого клавишу Backspace, а другие — Del.