Читаем TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) полностью

В течение основного сеанса NVT сервер telnet посылает алфавитно-цифровые и управляющие символы на клиентский принтер NVT, т.е. на экран терминала пользователя. Вывод на экран ограничен 95 символами USASCII, соответствующими кодам ASCII от 32 до 126.

Для управления экраном клиента серверу доступно небольшое подмножество управляющих символов (см. таблицу 13.1). В таблице коды ASCII представлены десятичными числами.

Таблица 13.1 Управление принтером MVT

ОписаниеКод ASCII
Null (Пустой, используется как заполнитель)0
Bell (Звонок для вывода звукового сигнала)7
Backspace (На шаг назад, перемещение на один символ влево)8
Horizontal tab (Горизонтальная табуляция)9
Line feed (Перевод строки)10
Vertical tab (Вертикальная табуляция)11
Form feed (Перевод формата, перемещение к следующей странице)12
Carriage return (Возврат каретки)13
<p>13.8.3 Взаимодействие клиент/сервер telnet в режиме NVT</p>

Вспомним, что взаимодействие NVT является полудуплексным — клиент или сервер telnet в каждый момент времени производит одно из следующих действий:

■ После того как клиент telnet послал строку, завершенную CR и LF, управление передается серверу.

■ Сервер посылает клиенту строки, и в конце каждой выведенной строки он использует CR и LF для перехода к позиции следующей строки на дисплее клиента.

■ Клиент telnet принимает вывод от сервера и может начать собственный вывод данных только после получения от сервера управляющего кода Go Ahead.

Отметим, что пересылаемые в сеансе telnet строки завершаются символами CR и LF независимо от того, какие локальные символы перевода строки используют хосты клиента и сервера.

<p>13.9 Команды telnet</p>

До широкого распространения сетей терминалы подключались непосредственно к компьютерам. Нажатие пользователем клавиши клавиатуры немедленно интерпретировалось операционной системой локального компьютера.

Существовали специальные клавиши управления, которые активизировали операционную систему или какую-то системную команду. Например, пользователь терминала ASCII мог одновременно нажать клавиши CONTROL и С (записывается как ^C) для указания операционной системе на завершение работы текущего приложения.

Во время сеанса telnet управляющие коды должны быть преобразованы в команды telnet и переданы на удаленный конец сетевого соединения в соответствующую операционную систему. Для этого клиентская программа telnet должна обрабатывать физические действия пользователя с клавиатурой, транслировать специальные управляющие символы в команды telnet и пересылать их на сервер telnet.

Команды telnet отмечаются байтом "интерпретировать как команду" (Interpret As Command — IAC), сопровождаемым одним или несколькими байтами кодов:

Байт Interpret As Command равен X'FF (десятичное 255).

Клиент telnet посылает серверу последовательности команды, чтобы указать на выполнение различных функций, например:

Перейти на страницу:

Похожие книги