TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security)
Шрифт:
Для систем Unix можно настроить клавиатуру эмулируемого терминала через элементы конфигурационного файла /etc/termcaps. Приложение Chameleon (для работы с telnet в среде Windows) обеспечивает более простой способ такой настройки (см. рис. 13.3). В конфигурационном экране этого приложения можно перетаскивать мышью клавиши с верхнего изображения клавиатуры на нижнее, отражающее соответствующую клавиатуру PC. Например, если нужно, чтобы клавиша Backspace на PC формировала в telnet код клавиши Del терминала VT100, достаточно перетащить клавишу Del верхнего
Рис. 13.3. Конфигурирование клавиатуры перетаскиванием мышью
13.5.3 Терминалы IBM 3270 и 5250
Большие ЭВМ компании IBM поддерживают работу сотен или тысяч интерактивных терминалов. Многие годы для этого использовались терминалы IBM 3270, лицензированные данной компанией. Они были специально оптимизированы для приложений обработки данных.
Терминалы IBM 3270 работают в блочном режиме, в котором пользователь каждый раз получает целый экран данных. Когда он нажимает клавишу ENTER или другую функциональную клавишу, на хост пересылается содержимое всего экрана. Клавиатура блокируется, а хост начинает обработку полученных данных. Затем хост отправляет обратно один или несколько экранов данных. Завершив пересылку, хост разблокирует клавиатуру терминала. Терминалы IBM 3270 имеют следующие характеристики:
■ 8-разрядные коды EBCDIC
■ Полудуплексный режим взаимодействия
■ Блочный метод обмена
Для доступа к компьютерам AS/400 применяются терминалы IBM 5250, имеющие подобные характеристики.
13.6 Варианты
Характеристики эмуляции терминала устанавливаются с помощью обмена командами согласования вариантов работы telnet. Любая сторона может запросить от партнера выполнения (команда DO) одного из вариантов, например эхопечати каждого символа. Партнер выполняет такую команду или отклоняет ее. Любая сторона может по желанию (команда WILL) запросить исполнение определенного варианта, а партнер — разрешить или запретить эти действия.
Существующие четыре пары запросов/ответов используются в процессе согласования характеристик обмена:
DO (код варианта) | Запрос от партнера на выполнение операции. |
WILL (код варианта) | Согласие партнера. Запрашиваемый вариант согласован. |
DO (код варианта) | Запрос от партнера на выполнение операции. |
WON'T (код варианта) | Отказ партнера. Состояние обмена не меняется. |
WILL (код варианта) | Указывает на желание начать операцию. |
DO (код варианта) | Согласие партнера. Запрашиваемый вариант согласован. |
WILL (код варианта) | Указывает на желание начать операцию. |
DONT (код варианта) | Отказ партнера. Состояние обмена не меняется. |
WON'T (код варианта) | Подтверждение сохранения текущего состояния обмена. |
При запуске соединения между партнерами производится обмен множеством сообщений. Иногда согласование варианта работы происходит и в середине сеанса. Некоторые сигналы выбора варианта начинают дополнительное согласование (subnegotiations), с обменом соответствующей информацией.
Что происходит, когда обе стороны отказываются от каждого запроса выбора варианта? Ответ прост — сеанс остается в режиме NVT.
13.6.1 Типы терминалов
Очень важен выбор типа терминала (Terminal Type). При этом происходит дополнительное согласование. Клиент посылает WILL TERMINAL TYPE, сообщая серверу типы терминалов, которые он может эмулировать. При желании ознакомиться с этой информацией сервер отвечает: DO TERMINAL TYPE.
Далее при дополнительном согласовании сервер запросит у клиента указать один из типов терминала, которые может эмулировать клиент. Клиент ответит сообщением установленного формата. Сервер продолжит запросы, пока не найдет в ответах клиента нужного типа терминала или пока не закончится список доступных для эмуляции клиентом типов терминалов. Допустимые типы терминалов определены в RFC Assigned Numbers: это могут быть DEC-VT100, HP-2648 или IBM-3278-2.
13.6.2 Согласование типа терминала VT100
В приведенном ниже примере диалога мы запустили сеанс telnet и ввели команду toggle options (переключение варианта), указывающую telnet на отображение операций по согласованию параметров. Команда open используется для запуска регистрации. Партнеры согласовывают между собой эмуляцию терминала ASCII VT100, выбирая следующие характеристики:
■ Сервер не будет посылать сообщений Go Ahead, поскольку сеанс работает в полнодуплексном режиме.
■ Используется дополнительное согласование типа терминала для указания на эмуляцию определенной модели терминала ASCII.
■ Сервер будет выполнять эхо-печать всех символов от клиента.
Ни одна из сторон не обязана ожидать ответа на запрос перед посылкой другого запроса. Согласующая сторона может отвечать на запросы в иной последовательности, чем они были отправлены. В результате иногда нужно распутать серию сообщений о согласовании, прежде чем станет понятна последовательность выполнения операций.
13.6.3 Согласование характеристик терминала 3270
Аналогичный обмен происходит при установке эмуляции типа терминала IBM 3270. Показанный ниже диалог представляет согласование регистрации на хосте IBM VM с терминала 3270. В этом примере удаленный хост выводит на экран сведения для дополнительного согласования при установке типа терминала. Партнеры согласовывают между собой эмуляцию терминала IBM 3278 Model 2 с выбором следующих характеристик: