Лабиринт Internet

Павел Храмцов, Электронинформ, 1996.

Примечание: На этой странице представлены возможности управления размером шрифтов, а также возможность применения надстрочных и подстрочных символов.

Доступ к ресурсам Internet в режиме удаленного терминала


СОДЕРЖАНИЕ
Протокол TELNETПрограмма-клиент(telnet)Программа-сервер(telnetdHytelnet

Telnet -- это одна из самых старых информационных технологий Internet. Она входит в число стандартов, которых насчитывается три десятка на полторы тысячи рекомендуемых официальных материалов сети, называемых RFC (Request For Com-ments).

Под telnet понимают триаду, состоящую из:

Эта триада обеспечивает описание и реализацию сетевого терминала для доступа к ресурсам удаленного компьютера. В настоящее время существует достаточно большое количество программ -- от Kermit до различного рода BBS (Belluten Board System), которые позволяют работать в режиме удаленного терминала, но ни одна из них не может сравниться с telnet по степени проработанности деталей и концепции реализации. Для того чтобы оценить это, знакомство с telnet стоит начать с протокола.

Протокол TELNET

Telnet как протокол описан в RFC-854 (май, 1983 год). Его авторы J.Postel и J.Reynolds во введении к документу определили назначение telnet так:
"Назначение TELNET-протокола -- дать общее описание, насколько это только возможно, двунаправленного, восьмибитового взаимодействия, главной целью которого является обеспечение стандартного метода взаимодействия терминального устройства и терминал-ориентированного процесса. При этом этот протокол может быть использован и для организации взаимодействий "терминал-терминал" (связь) и "процесс-процесс" (распределенные вычисления)."
Telnet строится как протокол приложения над транспортным протоколом TCP. В основу telnet положены три фундаментальные идеи:
При установке telnet-соединения программа, работающая с реальным терминальным устройством, и процесс обслуживания этой программы используют для обмена информацией спецификацию представления правил функционирования терминального устройства или Сетевой Виртуальный Терминал (Network Virtual Terminal). Для краткости будем обозначать эту спецификацию NVT. NVT -- это стандартное описание наиболее широко используемых возможностей реальных физических терминальных устройств. NVT позволяет описать и преобразовать в стандартную форму способы отображения и ввода информации. Терминальная программа ("user") и процесс ("server"), работающий с ней, преобразовывают характеристики физических устройств в спецификацию NVT, что позволяет, с одной стороны, унифицировать характеристики физических устройств, а с другой -- обеспечить принцип совместимости устройств с разными возможностями. Характеристики диалога диктуются устройством с меньшими возможностями. Если взаимодействие осуществляется по принципу "терминал-терминал" или "процесс-процесс", то "user" -- это сторона, инициирующая соединение, а "server" -- пассивная сторона.

Программа-клиент telnet

Telnet -- это интерфейс пользователя для работы по протоколу TELNET. Программа работает в двух режимах: в режиме командной строки (command mode) и в режиме удаленного терминала (input mode).

При работе в режиме удаленного терминала telnet позволяет работать с буферизацией (line-by-line) или без нее (character-at-a-time). При работе без буферизации каждый введенный символ немедленно отправляется на удаленную машину, откуда приходит "эхо". При буферизованном обмене введенные символы накапливаются в локальном буфере и отправляются на удаленную машину пакетом. "Эхо" в последнем случае также локальное.

Для переключения между режимом командной строки и режимом терминала используют последовательность ^], которая может быть изменена командами telnet.
Основные команды режима командной строки telnet
КомандаНазначение
open host [port]Начать telnet-сессию с машиной host по порту port. Адрес машины можно задавать как в форме IP-адреса, так и в форме доменного адреса
closeЗавершить telnet-сессию и вернуться в командный режим. Однако в некоторых системах, если telnet был вызван с аргументом, close приведет к завершению работы telnet
quitЗавершить работу telnet
z"Заморозить" telnet сессию и перейти в режим интерпретатора команд локальной системы. Из этого режима можно выйти по команде Exit
mode typeЕсли значение type line, то используется буферизованный обмен данными, если character -- то обмен не буферизованный
? [command] help [command]Список команд или описание конкретной команды
send argumentДанная команда используется для ввода команд и сигналов протокола TELNET, которые указываются в качестве аргумента. Например: send ao -- посылает команду прервать выдачу на принтер NVT
Программу telnet можно использовать не только для работы по протоколу TELNET, но и для тестирования других протоколов, например SMTP:

telnet host.domain.org 25

После установки соединения можно обмениваться командами протокола SMTP c сервером этого протокола.

Программа-сервер(telnetd)

Telnetd -- это сервер, который обслуживает протокол TELNET. Обычно telnetd запускается через сервис Internet (inetd), в некоторых системах может быть запущен и вручную. Telnetd обслуживает TCP-порт 23, но может быть запущен и на другой порт.

Принцип работы сервера заключается в том, что он "слушает" порт TCP. В случае поступления запроса на обслуживание, telnetd назначает каждому удаленному клиенту псевдотерминал (pty) в качестве стандартного файла ввода (stdin), стандартного файла вывода (stdout) и стандартного файла ошибок (stderr).

При установке взаимодействия с удаленным клиентом telnetd обменивается командами настройки (эхо, обмен двоичной информацией, тип терминала, скорость обмена, переменные окружения). Надо сказать, что telnetd реализует протокол TELNET частично. При работе по telnet никогда не используется сигнал Go Ahead(GA). Двоичный режим передачи данных можно реально использовать только для одинаковых операционных сред.

HYTELNET

Hytelnet обычно используется как локальная система, которая позволяет осуществлять доступ к узлам Internet, поддерживающим удаленный public-доступ по протоколу telnet. Список этих адресов хранится в базе данных Hytelnet, которая может быть получена через анонимный ftp с ftp.usask.ca (/pub/hytelnet). Имеется версия Hytelnet для доступа через World Wide Web (http://www.cc.ukans.edu/hytelnet_html/). Hytelnet реализован практически для всех аппаратных платформ и операционных сред (Unix® , MS-DOS, Windows, System-7(Mac)). Главное отличие от обычного telnet заключается в том, что Hytelnet использует для инициализации telnet-сессии интерфейс типа меню.

Список в центре экрана -- это позиции меню. Пользователь перемещается по ним при помощи клавиш-стрелок и нажатием Enter выбирает нужное. Идентификатор и пароль пользователя, которые хранятся в базе данных Hytelnet, вводятся программой автоматически. При оценке полезности такой программы следует учитывать тот факт, что реальные распределенные базы данных типа тех, что разрабатываются в рамках WWW, по своему объему еще не могут сравниться с существующими локальными информационными системами, и при доступе к этим системам (например, базы данных STN, Alisa и т.п.) Hytelnet дает равные услуги с системами Gopher, WAIS, WWW.


Вернуться к разделу
"Содержание". .