Набор символов NVT
Символы данных
NVT набор символов обычно использует набор, называемый NVT ASCII. Это 8-битовый набор символов, в котором семь младших бит такие же, как в US ASCII, имеющие старший бит — 0 (рис. 12.4. ). Хотя возможно посылать 8-битовый ASCII (с высшим разрядом, установленным в 0 или 1), это должно быть согласовано между клиентом и сервером с использованием опции "переговоры".
Рис.
12.4.
Формат символов данных
Символы дистанционного управления
Чтобы послать символы управления между компьютером (от клиента к серверу и наоборот), NVT использует 8-битовый набор символов, в которых высший разряд установлен в 1 (рис. 12.5. ).
Рис.
12.5.
Формат управляющих символов
Таблица 12.1. содержит список некоторых символов дистанционного управления и их значения.
Таблица
12.1.
Некоторые NVT-символы дистанционного управления
Символ |
Десятичное значение |
Двоичное значение |
Смысл |
EOF |
236 |
11101100 |
Конец файла (End of file) |
EOR
|
239 |
11101111 |
Конец записи (End record) |
SE |
240 |
11110000 |
Конец подопции (Suboption end) |
NOP
|
241 |
11110001 |
Нет обработки (No operation) |
DM |
242 |
11110010 |
Метка данных (data mark) |
BRK |
243 |
11110011 |
Разрыв (Break) |
IP |
244 |
11110100 |
Прерывание процесса (Interrupt process) |
AO |
245 |
11110101 |
Остановка выхода (Abort output) |
AYT
|
246 |
11110110 |
Вы есть? (Are you there?) |
EC |
247 |
11110111 |
Вычеркнуть символ (Erase character) |
EL |
248 |
11111000 |
Вычеркнуть линию (Erase line) |
GA |
249 |
11111001 |
Пройти вперед (Go ahead) |
SB |
250 |
11111010 |
Начинается подопция (Suboption begin) |
WILL |
251 |
11111011 |
Соглашение для допущения опции (Agreement to enable option) |
WONT |
252 |
11111100 |
Отказ от допустимости опции (Refusal to enable) |
DO |
253 |
11111101 |
Утверждение запроса опции (Approval to option request) |
DONT |
254 |
11101110 |
Отклонение запроса опции (Denial of option request) |
IAC
|
255 |
11111111 |
Интерпретация (следующего символа) как управления (Interpret (the next character) as control) |
Вставка документа
TELNET использует только одно TCP-соединение. Сервер задействует закрепленный порт 23, а клиент — кратковременный порт. Такое же соединение применяется для посылки данных и управляющих символов. TELNET достигает этого, вставляя управляющие символы в поток данных. Однако чтобы отличить данные от управляющих символов, каждая последовательность управляющих символов предваряется специальным управляющим символом, называемым "интерпретировать как управляющий". Например, предположим, пользователь хочет послать последовательность символов данных к удаленному серверу для отображения файла ( file1 ).
Однако имя файла неправильно набрано на клавиатуре ( filea вместо file1 ), и пользователь использует клавишу обратного перевода, чтобы скорректировать эту ситуацию.
Но неправильное выполнение TELNET-пользователь не может редактировать на месте, редактирование должно быть сделано на удаленном сервере. Символ обратного перевода переводится в два дистанционных символа ( IAC EC ), которые внедряются в данные и посылаются к удаленному серверу. Что посылает сервер, показано на рис. 12.6.
Рис.
12.6.
Пример вставки
Опции
TELNET позволяет клиенту и серверу опции ведения переговоров перед и в течение использования услуги. Опция дополнительных свойств возможна для пользователя с более сложным терминалом. Пользователь с простым терминалом может использовать минимальные свойства. Таблица 12.2. показывает некоторые употребительные опции.
Таблица
12.2.
Опции
Код |
Опция |
Смысловое значение |
0 |
Binary (Двоичная) |
Используется 8-битовый двоичный обмен |
1 |
Echo (Эхо) |
Эхо-данные, полученные на одной стороне для другой |
3 |
Suppress go ahead (Продвижение вперед запрещено) |
Сигнал запрещения продвижения вперед после данных |
5 |
Status (состояние) |
Запрос состояния TELNET |
6 |
Timing mark (метка времени) |
Определяет метку времени |
24 |
Terminal type (тип терминала) |
Настройка типа терминала |
32 |
Terminal speed (скорость терминала) |
Настройка скорости терминала |
34 |
Line mode (режим линии) |
Изменение режима линии |
-
Binary (двоичная). Опция позволяет приемнику интерпретировать каждый 8-битовый символ, за исключением IAC, как двоичные данные. Когда IAC получен, следующий символ или символы интерпретируются как команды. Однако если получены два последовательных символа IAC, первый удаляется, а второй интерпретируется как данные.
-
Echo (эхо). Эта опция позволяет серверу получать эхо-данные от клиента. Это означает, что каждый символ, посланный клиентом к серверу, возвращается в виде "эха" назад на экран терминала. В этом случае пользовательский терминал обычно не отображает символы на экране, когда они напечатаны, а ожидает, пока получит их от сервера.
-
Suppress go ahead (продвижение вперед запрещено). Эта опция запрещает продвижение символа вперед ( GA – go ahead ). Мы будем обсуждать символ GA при обсуждении режимов TELNET
-
Status (состояние). Эта опция разрешает пользователю или процессу, выполняемому на машине клиента, иметь состояние опции, доступной на сайте сервера.
-
Timing mark (метка времени). Эта опция позволяет одной стороне ставить марку времени, которая указывает, что все предыдущие полученные данные обработаны.
-
Terminal type (тип терминала). Эта опция позволяет клиенту послать тип своего терминала.
-
Terminal speed (скорость терминала). Эта опция позволяет клиенту повысить скорость своего терминала.
-
Line mode (режим линии). Эта опция позволяет клиенту переключать режимы линии. Мы будем обсуждать режимы линии позже.