Home

Page 7
Page 7
background image

Обратите   внимание,   использование   некоторой   опции   КАЖДОЙ   стороной 

является   независимым:   возможно   одна   сторона   будет   поддерживать   некую 
опцию с согласия партнера, но запретит партнеру поддерживать ЭТУ ЖЕ опцию. 

Однако   в   протоколе  Telnet  существуют   такие   опции,   о   которых   не 

достаточно   просто   договориться   «применяем   –   не   применяем».   Существуют 
опции, требующие помимо обсуждения факта поддержки – не поддержки, более 
детального   обсуждения,   например,   обмена   некоторыми   данными   в   рамках 
поддержки   данной   опции.   Для   решения   это   задачи   в   протоколе  Telnet 
предусмотрена   процедура   дополнительных   переговоров   относительно   той   или 
иной опции. Для этого в протоколе Telnet предусмотрено еще две команды:

• SB (250)

• SE (240)

Первая   команда   (SB,

 Subnegotiation 

Begin)   начинает   процесс 

дополнительного   обсуждения   параметров   некоторой   опции,   команда  SE 
(Subnegotiation  End)   завершает   процесс   дополнительных   переговоров 
относительно   некоторой   опции.   Обсуждение   дополнительных   параметров 
касательно некоторой опции происходит следующим образом: сначала стороны 
договариваются   об   использовании   некоторой   опции   одной   из   сторон 
взаимодействия   с   помощью   команд  WILL  и  DO.   Когда   договоренность   об 
использовании опции достигнута, используется следующая последовательность 
команд   и   данных:  IAC  SB  ##  xx  …  xx  IAC  SE.   Таким   образом,   сначала 
оговаривается   начало   переговоров   о   некоторой   опции   с   номером   ##,   затем 
передаются   произвольные   данные   произвольной   длины   в   рамках   обсуждения 
данной   опции,   для   того,   чтобы   показать,   что   обсуждение   параметров   опции 
окончено - используется команда SE, предваряемая, разумеется, байтом IAC.

Из   вышеизложенного   следует,   что   данные,   передаваемые   в   рамках 

протокола Telnet можно разделить теперь на следующие классы:

• Нажатия   клавиш   на   терминале   пользователя,   которые   передаются 

удаленному shell

• Вывод   на   монитор   пользователя,   передается  shell’ом   на   монитор 

пользователя

• Команды, которые оговаривают те или иные опции, передаются от  Telnet 

клиента Telnet серверу и наоборот

Продолжим изучение команд Telnet. Например,  при работе пользователя с 

локальной   консолью   могут   использоваться   некоторые   комбинации   клавиш, 
(например  Ctrl+C,  Pause,  Ctrl+Break,  Break)   для   управления   запущенным 
процессом.   При   этом   в   ряде   случаев   обработка   нажатой   комбинации   клавиш 
производится   НЕ   самим   процессом,   а   операционной   системой.   При   нажатии 
такой   комбинации   клавиш   в   сеансе  Telnet,   вообще   говоря,   соответствующая 
данной комбинации клавиш совокупность байт должна быть передана  shell, но 
получение   данной   комбинации   клавиш  shell  НЕ   конструктивно,   так   как 
управление   процессом   МОЖЕТ   производится   НЕ   самим   процессом.   Данный 
нюанс   относится   к   области   программирования   управления   процессами,   и   по-
разному реализуется в операционных системах разных производителей. Более 
детально об управлении  процессами и о сигналах  процессам будет сказано в 
курсе системного администрирования Linux, а пока, для упрощения, принимаем, 
что   некоторые   сигналы   к   удаленно   запущенным   процессам   необходимо 
передавать  НЕ как обычные данные  в рамках протокола  Telnet, а с помощью 
специальных   средств.   Именно   такие   специальные   средства   мы   сейчас   и 
рассмотрим:   протокол  Telnet,   помимо   уже   рассмотренных   команд  WILL,  DO, 
WON’T, DON’T, SB, SE поддерживает несколько команд для управления удаленно 
запущенными процессами. Рассмотрим эти команды.


Copyright © 2019 Файлообменник files.d-lan.dp.ua

Использование любых материалов сайта возможно только с разрешения автора.