Кому нужна сеть с обширным набором приложений, если пользователи не могут регистрироваться на различных компьютерах и использовать эти приложения через сеть? TCP обеспечивает межкомпьютерное взаимодействие, но при этом возникают определенные препятствия. В течение длительного времени разработчики компьютеров считали рынок полностью предназначенным для лицензионных продуктов. К приложению на хосте от конкретного разработчика можно было обращаться только через специальные терминалы, изготовленные той же компанией.
Протокол сетевого взаимодействия терминалов (terminal networking — telnet) позволил преодолеть различия в оборудовании от разных компаний, и теперь пользователь может связаться с любым хостом сети. Эмуляция терминалов по протоколу telnet стала первым приложением TCP/IP. Этот протокол был разработан как основа для единообразных коммуникаций между приложениями. Поскольку организации понемногу отходили от приложений для терминалов, telnet все больше стал использоваться как комплект инструментов для создания приложений клиент/сервер. Фактически telnet лежит в основе взаимодействий между клиентом и сервером для пересылки файлов, электронной почты и работы с WWW.
В этой главе мы рассмотрим возможности telnet, помогающие пользователю обратиться к удаленному приложению, а также выясним, что предлагает telnet для создания прикладных приложений клиент/сервер.
13.2 Использование telnet для удаленной регистрации
Telnet обеспечивает эмуляцию различных типов терминалов, что позволяет осуществить доступ к компьютерам Unix, системам VAX/VMS или большим ЭВМ (мэйнфреймам) компании IBM. Некоторые реализации telnet поддерживают специальную процедуру аутентификации. Примером может служить система Kerberos Массачусетского технологического института (Massachusetts Institute of Technology — MIT). В Kerberos пароли никогда не передаются по сети и используется специальная процедура шифрования. Для запуска аутентификации может потребоваться ввод специальной команды, например kinit. Существуют и более простые процедуры, основанные на взаимной проверке.
При запуске telnet на многопользовательской системе, возможно, для пользователя будет применяться простой текстовый интерфейс. Использование текстового клиента telnet необычайно просто. Нужно набрать что-нибудь вроде:
> telnet имя_хоста
Часто эмуляция терминала IBM 3270 реализована отдельно, и для доступа к хостам IBM потребуется ввести:
> tn3270 имя_хоста
Большинство пользователей начинают успешно применять telnet без подробного изучения. Ниже показан пример регистрации (login) в системе tigger компьютера Йельского университета.
> telnet tigger.jvnc.net
Trying 128.121.50.145 ...
Connected to tigger.jvnc.net.
Escape character is '^]'.
SunOS UNIX (tigger.jvnc.net)
SunOS UNIX (pascal)
login: xxxxx
Password:
Last login: Wed Aug 23 19:24:02
TERM = vt100, PRINTER = lp
Продукты telnet для настольных компьютеров предлагают дополнительные функциональные возможности, например выбор из списка типа терминала, сохранение всего или части сеанса в файле журнала (log file), конфигурирование раскладки клавиатуры или запись всей информации, необходимой для доступа к часто посещаемым сайтам. Некоторые из этих возможностей показаны на рис. 13.1.
Рис. 13.1. Приложение telnet для настольной системы (Chameleon)
13.3 Обращение по telnet к заданному порту
Порт 23 — стандартный общеизвестный порт для терминального доступа по протоколу telnet. Когда клиент соединяется с портом 23, обычно в ответ следует приглашение для ввода идентификатора регистрации (login ID) и пароля.
Поскольку telnet был разработан как средство для коммуникаций между приложениями, он доставит клиента к любому порту. Например, в показанном ниже диалоге мы соединяемся с популярной службой прогноза погоды Мичиганского университета, которая запускается через порт 3000 и не требует ввода идентификатора регистрации или пароля:
> telnet madlab.sprl.umich.edu 3000
Trying 141.213.23.12 ...
Connected to madlab.engin.umich.edu.
Escape character is '^]'.
-------------------------------------------------------------------
* University of Michigan *
* WEATHER UNDERGROUND *
-------------------------------------------------------------------
* *
* College of Engineering, University of Michigan *
* Department of Atmospheric, Oceanic, and Space Sciences *