| |
![]() |
Протокол TELNET позволяет обслуживающей машине рассматривать все удаленные терминалы как стандартные "сетевые виртуальные терминалы" строчного типа, работающие в коде ASCII, а также обеспечивает возможность согласования более сложных функций (например, локальный или удаленный эхо-контроль, страничный режим, высота и ширина экрана и т.д.) TELNET работает на базе протокола TCP. На прикладном уровне над TELNET находится либо программа поддержки реального терминала (на стороне пользователя), либо прикладной процесс в обсуживающей машине, к которому осуществляется доступ с терминала.
Работа с TELNET походит на набор телефонного номера. Пользователь набирает на клавиатуре что-то вроде
telnet delta
и получает на экране приглашение на вход в машину delta.
Протокол TELNET существует уже давно. Он хорошо опробован и широко распространен. Создано множество реализаций для самых разных операционных систем. Вполне допустимо, чтобы процесс-клиент работал, скажем, под управлением ОС VAX/VMS, а процесс-сервер под ОС UNIX System V.
Принципы построения
Строится на базе TCP протокола и работает по дуплексному, многопользовательскому протоколу. Это значит, что один сервер может обслуживать одновременно несколько клиентов.
Telnet построен на трех основных принципах:
Сервис 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 является универсальным клиентом и позволяет соединиться с большим колическтвом портов и общаться с различными приложениями.
Закладки на сайте Проследить за страницей |
Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |