The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Каталог документации / Раздел "Документация для Linux" / Оглавление документа
next up previous contents index
Next: Протокол FTP Up: Протоколы прикладного уровня Previous: Протоколы прикладного уровня   Contents   Index

Протокол TELNET

Протокол TELNET позволяет обслуживающей машине рассматривать все удаленные терминалы как стандартные "сетевые виртуальные терминалы" строчного типа, работающие в коде ASCII, а также обеспечивает возможность согласования более сложных функций (например, локальный или удаленный эхо-контроль, страничный режим, высота и ширина экрана и т.д.) TELNET работает на базе протокола TCP. На прикладном уровне над TELNET находится либо программа поддержки реального терминала (на стороне пользователя), либо прикладной процесс в обсуживающей машине, к которому осуществляется доступ с терминала.

Работа с TELNET походит на набор телефонного номера. Пользователь набирает на клавиатуре что-то вроде

telnet delta

и получает на экране приглашение на вход в машину delta.

Протокол TELNET существует уже давно. Он хорошо опробован и широко распространен. Создано множество реализаций для самых разных операционных систем. Вполне допустимо, чтобы процесс-клиент работал, скажем, под управлением ОС VAX/VMS, а процесс-сервер под ОС UNIX System V.


Принципы построения

Строится на базе TCP протокола и работает по дуплексному, многопользовательскому протоколу. Это значит, что один сервер может обслуживать одновременно несколько клиентов.

Telnet построен на трех основных принципах:

  1. NVT - Netvork Virtual Terminal - Принцип виртуальных терминалов. После установления соединения предполагается, что каждый участник работает как «Виртуальный сетевой терминал» - мнимое устройство, выполняющее стандартные сетевые промежуточные функции обычного терминала.

  2. Принцип настраиваемых параметров. Если хост предоставляет дополнительный сервис помимо NVT, и клиент в состоянии его использовать, telnet предоставляет возможностьь сделать это.

  3. Принцип симметрии терминалов и процессов. Участники соединения равноправны.


Сервис NVT

NVT - устройство для ввода/вывода 7-и битных ASCII символов. Все преобразования и кодировки выполняются выше NVT и не рассматриваются как часть NVT. NVT имеет устройство ввода «виртуальная клавиатура» и устройство вывода «виртуальный принтер», что выглядит как дисплей.

Выводное устройство не имеет ограничений на ширину и выводит все печатаемые символы из диапазона 32 - 126. Управляющие коды ASCII (0-31, 127) имеют специальное значение. Коды 128-255 имеют также специальное назначение. Некоторые из них:

0 NULL Пусто
10 LF Перенос курсора на след. строку с сохр. позиции.
13 CR Перенос курсора на начало текущей строки.
7 BELL Звонок
8 BS Перенос курсора на одну позицию влево
9 HT Перенос курсора на следующую позицию горизонтальной табуляции
11 VT Перенос курсора на следующую позицию вертикальнойтабуляции
12 FF Перенос курсора на начало след страницы с сохранением позиции в строке

Ввод и передача буферируются. Данные накапливаются в буфере пока не будет завершена сторока или н ебудет выполнено форсирование передачи до завершения строки. Клавиатура должна генерировать все 128 кодов, соответсвующих 128 ASCII символам. Кроме того, она должна генерировать управляющие коды:

244 IP Interrupt Process - прервать процесс. Команда останавливает операции или процесс пользователя. Используется при зависании или ошибках.
245 AO Abort Output - прервать вывод. Вывод прекращается и выводной буфер очищается.
246 AYT Are You There - вы тут?
247 EC Erase Char - Удалить символ из буфера.
248 EL Erase Line - Удалить строку. Очищает текущую строку ввода.
249 GA Go Ahead - Далее. Передача контроля над соединением без отправки каких либо данных.
250 SB SubNegotiation, Параметры расширения. Указывает, что за этим последует передача дополнительных опций
240 SE Subnegotiation End. Конец параметров расширения.
251 WILL квитанция согласования.
252 WON'T квитанция согласования.
253 DO квитанция согласования.
253 DON'T квитанция согласования.
255 IAC Interpret As Command - Код команды. Следующий байт - команда telnet. Третий опциональный байт - код настраиваемой опции.

Механизм SYNC, в основе которого лежит тот факт, что telnet не обрабатывает URGENT сообщения, позволяет посылать сигналы клиенту над telnet, что полезно в случае переполнения или других проблем с входным буфером.

Telnet является универсальным клиентом и позволяет соединиться с большим колическтвом портов и общаться с различными приложениями.


next up previous contents index
Next: Протокол FTP Up: Протоколы прикладного уровня Previous: Протоколы прикладного уровня   Contents   Index
Alex Otwagin 2002-12-16


  Закладки на сайте
  Проследить за страницей
Created 1996-2017 by Maxim Chirkov  
ДобавитьРекламаВебмастеруГИД  
Hosting by Ihor