Копилка знаний

1.19 Доступ к ресурсам Internet в режиме удаленного терминала

Удаленный доступ через Telnet

Удаленный доступ через Telnet

Доступ к ресурсам Internet в режиме удаленного терминала

Telnet – это одна из самых старых информационных технологий Internet. Она входит в число стандартов, которых насчитывается три десятка на полторы тысячи рекомендуемых официальных материалов сети, называемых RFC (Request For Com-ments).

Под telnet понимают триаду, состоящую из:

Эта триада обеспечивает описание и реализацию сетевого терминала для доступа к ресурсам удаленного компьютера. В настоящее время существует достаточно большое количество программ – от Kermit до различного рода BBS (Belluten Board System), которые позволяют работать в режиме удаленного терминала, но ни одна из них не может сравниться с telnet по степени проработанности деталей и концепции реализации. Для того чтобы оценить это, знакомство с telnet стоит начать с протокола.

Протокол TELNET

Telnet как протокол описан в RFC-854.

Telnet строится как протокол приложения над транспортным протоколом TCP. В основу telnet положены три фундаментальные идеи:

TELNET-протокол позволяет пользователю подключиться к любому серверу и работать с ним со своего ПК так, как если бы он был удаленным терминалом этого сервера. TELNET-протокол решает следующие основные задачи:

  1. Определяет интерфейс, называемый виртуальным сетевым терминалом(Network Virtual Terminal —NVT), который представляет структуру данных (порождаемых и отображаемых терминалом), алфавит, управляющие символы и порядок обмена управляющей информацией и данными, что позволяет клиенту и серверу абстрагироваться от собственных аппаратных особенностей и урегулировать требуемый формат данных;
  2. Регламентирует порядок установки и согласования требуемых параметров при организации соединения и в процессе обмена информацией;
  3. Устанавливает и поддерживает дуплексное межтерминальное соединение, что позволяет клиенту и серверу равноправно инициировать передачу данных, согласовывать параметры и т.д.

Взаимодействие локального терминала с ОС локального и удаленного серверов показано на рис.1. Модуль TELNET-протокола, являясь прикладной программой по отношению к ОС локального сервера, позволяет обращаться к удаленной ОС или обеспечивает функционирование клавиатуры и монитора для другого процесса на удаленном сервере. Как правило (сточки зрения архитектурного решения), TELNET-протокол размещается на прикладном уровне, а не в ядре ОС, что имеет свои преимущества и недостатки. Главное преимущество—реализационная взаимонезависимость ОС и протокола, а недостаток—некоторая потеря в эффективности (снижение быстродействия при интерактивном режиме).

Рис. 1 Взаимодействие локального терминала с ОС локального и удалённого серверов

Необходимо заметить, что системы “Локальный терминал” и “Локальный сервер”, показанные на рис.1, разделены условно. На практике они чаще всего выступают как единая программно-аппаратная система. Поэтому представленное деление (рассмотрение терминала как отдельного устройства стандартного ввода/вывода) более удобно для понимания работы TELNET-протокола.

Функции NVT-интерфейса

Сопряжение разнотипных терминалов с программами (порожденными ими процессами). При организации межтерминальных (сквозных) соединений в реальных сетях, где в качестве оконечного оборудования могут применяться существенно различающиеся программно-аппаратные средства, возникают конфликты, связанные с интерпретацией символьных кодов. Например, одни текстовые терминалы в качестве символа, переводящего строку, используют специальный код CR (carriage return — возврат каретки), другие — код LF (line feed — перевод строки), третьи — пару CR-LF.

NVT-интерфейс служит для устранения таких конфликтов и является “буфе-ром” между локальным терминалом и локальным сервером (рис.1), который преобразует управляющие символы в приемлемый для удаленного оконечного оборудования вид (рис.2). Кроме того, в качестве кода перевода строки он формирует последовательность CR-LF вне зависимости от кода, который был сформирован клавиатурой конкретного терминала.

Управление удаленными процессами. Другой функцией NVT-интерфейса является управление удаленным процессом. В этом случае также могут возникать конфликты различных аппаратно-программных систем терминалов и серверов.

Рис. 2 Символы управления, интерпретируемые NVT

Во избежание подобных ситуаций NVT-интерфейс определяет следующие команды управления: IP, AO, AYT, EC, EL, SYNCH, BRK (рис.3). В основе передачи команд в TELNET-протоколе используется механизм так называемых составных последовательностей (escape sequences), состоящих из двух кодов. Первым всегда передается символ с десятичным кодом 255 (IAC: Interpret As Command — интерпретируемый как начало управляющей команды), который обычно при нажатии клавиш клавиатурами не генерируется. Вторым следует код команды.

Рис. 3 Команды управления удалённым процессом NVT-интерфейса

Часть команд (рис.3) используется для управления удаленным процессом, часть — для согласования параметров TELNET- протокола.

Особенностью процедуры передачи команд управления удаленным процессом является сопровождение их командой SYNCH, очищающей буфер от обычных (не срочных) данных и доводящей команду управления до сервера TELNET-протокола.

Факультативные функции TELNET-протокола

При запуске ОС сервера или терминала установка необходимых внутренних и внешних параметров происходит автоматически, однако протоколом TELNET предусмотрено выполнение дополнительных (факультативных) сервисных функций, обеспечивающих более точное согласование требуемых параметров терминалов (процессов) при ведении информационного обмена.

Набор регулируемых параметров достаточно широк и включает кодировку данных (7- или 8-битовая), режим передачи (дуплексный или полудуплексный), тип терминала и т.д. (рис.4).

Рис. 4 Управляющие символы для установки параметров в TELNET-протоколе

Процедура согласования параметров равнозначна в том смысле, что сервер и абонент в равной степени могут инициировать установление необходимых параметров. Кроме того, механизм согласования параметров допускает на разных концах соединения взаимодействие различных версий TELNET- протокола, т.е. снабженных различными наборами факультативных сервисных функций (вплоть до того, что один из партнеров не владеет никакими факультативными функциями и базируется только на NVT-интерфейсе).

Протокол удаленного доступа “rlogin”

Развитием протокола удалённого доступа в ряде систем UNIX является протокол удаленного доступа “rlogin” (remote login, RFC-1282). Этот протокол отличается от TELNET более тесной связью с ОС. В частности, для “rlogin” характерно распознавание прав доступа пользователей (он не требует повторного ввода пароля при последовательном доступе от одного сервера к другому, если пользователь корректно выполнил операцию входа на первый из доступных ему сервер). Кроме того, “rlogin” может использовать стандартный ввод/вывод ОС удаленных серверов; интерпретировать стандартные ошибки ОС; распознавать параметры настройки программной оболочки (environment) как на локальной, так и на удаленном сервере; передавать часть этих параметров от локального ПК на удаленный ПК и др.

Преимущества и недостатки удалённого доступа

Удалённый доступ является чрезвычайно мощным инструментом. Практически без всяких территориальных ограничений можно запустить процесс на любом доступном (в административном отношении) ПК; произвести вычисления, получить (рис.5) или передать информацию и др. С помощью этого инструмента системный оператор может “войти” в удалённый компьютер, произвести необходимую реконфигурацию, тестирование, настроечные или восстановительные работы.

Однако удалённый доступ может стать и угрозой. Протоколы удалённого доступа в руках инженера — полезный инструмент, а в руках злоумышленника — грозное оружие. Поэтому их использование должно сопровождаться тщательным анализом угрозы, связанной с доступом к информации и вычислительным ресурсам ИТС.

Рис. 5 Информационные ресурсы в Internet, доступные по TELNET-протоколу

Файловый доступ. Общая характеристика протокола FTP (File Transfer Protocol)
FTP-протокол (RFC-959) обеспечивает:

FTP-протокол, основывающийся на транспортной службе ТСР-протокола, поддерживает множество FTP-соединений с различными абонентами. В свою очередь, всякое FTP-соединение состоит из двух соединений (рис.6): управляющего (control connection) и доставки данных (data transfer connection). Управляющее соединение поддерживается от начала до конца сеанса связи с клиентом.

Соединение доставки данных динамически устанавливается на время передачи каждого файла. Обычно оба соединения поддерживаются двумя различными процессами ОС.

 

Рис. 6 Соединение ТСР- протокола

Для поддержания управляющего FTP-соединения используется TELNET-протокол в рамках NVT-интерфейса. Механизм связи с портами различается для клиента и сервера. FTP-сервер работает на известных (well-known) портах 21 (управляющее соединение) и 20 (соединение для доставки данных). FTP-абонент может выбрать и согласовать на локальной ПЭВМ номера портов, что позволяет ему поддерживать несколько FTP- соединений с одним сервером.

Команды FTP-протокола

Процедурная характеристика FTP-протокола достаточно проста. Абонент на-правляет серверу текстовые команды, состоящие из имени команды и, факультативно, параметров (рис.7). На эти команды сервер посылает ответы — текстовые строки, которые для удобства использования в программах начинаются с символов трехзначного кода, а далее идет текст, раскрывающий значение кода. Трехзначный код ответа интерпретируется поразрядно. Первый символ определяет общий тип ответа: положительный (1…3) или отрицательный (4…5), промежуточный (1, 2, 4) или окончательный (3, 5); второй — указывает на причину ошибки; третий — конкретизирует событие.

 

 

Рис. 7 Команды FTP-протокола

Для пользователя интерактивный режим FTP-протокола выглядит как самостоятельная “командная программная оболочка”. При вызове FTP-протокола с помощью командной строки появляется приглашение “FTP>, после которого могут вводиться различные команды (рис.8). Для получения информации обо всех (или об одной) командах FTP необходимо ввести команду “help <имя команды>.
Если команда “help” вызвана без параметров, то выводится список команд FTP; если указано имя команды, то следует краткое пояснение её назначения.

 

Рис. 8 Команды FTP-протокола для интерактивного доступа.

“Анонимный” FTP.

Internet предоставляет такую услугу как “анонимный” файловый доступ (anonymous FTP), не требующий от пользователя имени. Как правило, он обеспечивает доступ к серверам с бесплатной общедоступной (public domain) информацией. Клиент может быть не зарегистрирован на таком сервере как пользователь, поэтому ему предлагается войти под условным именем “anonymous” и ввести в качестве пароля адрес своей электронной почты (подлинность которого может не контролироваться). После этого абонент начинает беспрепятственно обмениваться информацией с сервером. Если “анонимный” файловый доступ на сервер запрещен, тогда связаться с этим сервером возможно в сеансе TELNET- протокола под именем пользователя “guest’, для которого пароль не запрашивается.

Exit mobile version