TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security)
Шрифт:
Продукты telnet для настольных компьютеров предлагают дополнительные функциональные возможности, например выбор из списка типа терминала, сохранение всего или части сеанса в файле журнала (log file), конфигурирование раскладки клавиатуры или запись всей информации, необходимой для доступа к часто посещаемым сайтам. Некоторые из этих возможностей показаны на рис. 13.1.
Рис. 13.1. Приложение telnet
13.3 Обращение по telnet к заданному порту
Порт 23 — стандартный общеизвестный порт для терминального доступа по протоколу telnet. Когда клиент соединяется с портом 23, обычно в ответ следует приглашение для ввода идентификатора регистрации (login ID) и пароля.
Поскольку telnet был разработан как средство для коммуникаций между приложениями, он доставит клиента к любому порту. Например, в показанном ниже диалоге мы соединяемся с популярной службой прогноза погоды Мичиганского университета, которая запускается через порт 3000 и не требует ввода идентификатора регистрации или пароля:
При
всей своей полезности возможность доступа по telnet к любому порту в то же время является потенциальным источником проблем с безопасностью системы, поскольку взломщики могут проникнуть на сайт через плохо разработанную программу, открывающую один из портов.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 бит начальным нулем.
■ Данные пересылаются построчно.
■ Каждая строка завершается комбинацией символов ASCII для возврата каретки (Carriage Return — CR) и перевода строки (Line Feed — LF).
■ Байты с начальным битом, равным 1 (с наибольшим весом), используются как коды команд.
■ Протокол работает в полудуплексном режиме. После отправки строки клиент переходит к ожиданию данных от сервера. Сервер посылает данные, а затем команду Go Ahead (продолжить), указывающую клиенту на возможность отправки следующей строки.
13.5 Наиболее распространенные типы терминалов
Обычно клиент и сервер остаются в режиме NVT очень короткое время — пока не согласуют между собой тип эмулируемого терминала (например, ASCII VT100 или IBM 3270).
За годы существования telnet в этот протокол были добавлены многие типы терминалов.