Протокол Telnet
Протокол Telnet описан в стандарте RFC854. Авторы стандарта определяют назначение Telnet следующим образом:
"Назначение Telnet-протокола – дать общее описание, насколько это только возможно, двунаправленного, восьмибитового взаимодействия, главной целью которого является обеспечение стандартного метода взаимодействия терминального устройства и терминал-ориентированного процесса. При этом протокол может быть использован и для организации взаимодействий «терминал-терминал» (связь) и «процесс-процесс» (распределенные вычисления)."
Telnet является протоколом приложения и использует транспортный протокол TCP. Протокол Telnet для обеспечения функциональности основан на следующих базовых концепциях:
• сетевого виртуального терминала (Network Virtual Terminal, NV\'T):
• согласования параметров взаимодействия;
• симметрии связи «терминал-процесс». Рассмотрим эти концепции подробнее.
Сетевой виртуальный терминал позволяет абстрагироваться от реалий жизни. Удаленная программа может считать, что она использует один тип терминала, а у клиента может быть совершенно другой тип терминала. Сетевой виртуальный терминал – это стандартное описание наиболее широко используемых возможностей реальных физических терминальных устройств. Сетевой виртуальный терминал позволяет описать и преобразовать в стандартную форму способы отображения и ввода информации. Telnet-клиент и Telnet-cepвep преобразовывают характеристики физических устройств в спецификацию сетевого виртуального терминала, что позволяет унифицировать характеристики физических устройств и обеспечить принцип совместимости устройств с разными возможностями. Характеристики диалога диктуются устройством с меньшими возможностями.
В протоколе Telnet сетевой виртуальный терминал определен как "двунаправленное символьное устройство, состоящее из принтера и клавиатуры". Принтер предназначен для отображения приходящей по сети информации, а клавиатура – для ввода данных, передаваемых по сети. По умолчанию предполагается, что для обмена информацией используется 7-битовый код ASCII, каждый символ которого закодирован в 8-битовое поле.
Согласование параметров взаимодействия позволяет унифицировать возможности представления информации на терминальных устройствах. Благодаря этой концепции можно использовать большинство возможностей современных терминалов. Обычно для этого существует специальная таблица соответствия, которая позволяет нестандартные команды терминала заменить стандартными наборами команд. Как правило, процесс согласования форм представления информации происходит в начальный момент организации Telnet-соединения. Каждый из процессов старается установить максимальные параметры сеанса. В UNIX-системах параметры терминалов содержатся в базе данных описания терминалов termcap. При инициировании Telnet-соединения обычно именно эти параметры используются в процессе согласования формы представления данных. При этом из одной системы в другую передается значение переменной окружения term. В процессе договора останутся только те функции, которые поддерживаются на обоих концах соединения.
Симметрия взаимодействия позволяет клиенту и серверу в течение одной сессии меняться ролями.
Команды Telnet
В табл. 28.1 приведены некоторые команды протокола Telnet с кратким пояснением. Как видно из таблицы, каждая команда представлена одним байтом, и чтобы различать команды и передаваемые данные, используется специальный признак команды.
Таблица 28.1. Команды протокола Telnet
Протокол Telnet предусматривает единый TCP-канал и для данных пользователя, и для управления. Поскольку по протоколу Telnet команды управления чередуются с данными, командам должен предшествовать специальный символ, называемый IAC (Interpret as Command, интерпретировать как команду) с кодом 255. В том случае, если необходимо передать символ данных с десятичным кодом 255, следует его передать дважды.
Команды протокола Telnet имеют размер не менее двух байтов. Первый из них всегда символ перехода в командный режим – IAC. Второй – команда протокола Telnet.
Программа-клиент telnet
Программа telnet – стандартный Telnet-клиент, входящий во все операционные системы UNIX-семейства и в практически все операционные системы Windows.
Для подключения к удаленной системе обычно используется команда вида:
telnet имя_хоста
Читать дальше
Конец ознакомительного отрывка
Купить книгу