Опубликован: 21.11.2006 | Доступ: свободный | Студентов: 1812 / 140 | Оценка: 4.09 / 4.00 | Длительность: 38:34:00
Лекция 9:

Протокол UUCP

Аннотация: В данной лекции: описывается протокол UUCP и его типы; рассматривается протокол Taylor UUCP, команды UUCP; показана реализации протокола UUCP в ОС Linux.

В этой лекции

  • Описание протокола UUCP
  • Типы протоколов UUCP
  • Протокол Taylor UUCP
  • Команды UUCP
  • Реализации протокола UUCP в ОС Linux

В предыдущих лекциях были описаны основные способы передачи электронной почты от сервера на базе ОС Linux через сетевое соединение в сеть Internet. Иногда из соображений безопасности, из-за высокой стоимости подключения или по каким-либо другим причинам подключение почтового сервера организации к сети Internet с использованием IP-соединения не представляется возможным. К счастью, существует еще один относительно недорогой способ организации работы сервера электронной почты без установления IP-соединения.

Протокол копирования из одной UNIX-системы в другую (UNIX-to-UNIX CoPy (UUCP)) уже давно использовался для передачи сообщений и файлов между UNIX-хостами по телефонным линиям посредством модемов. В США был даже написан пакет протоколов и программ, которые обслуживали сеть UNIX-компьютеров по всей стране. Однако с развитием сети Internet популярность UUCP сошла на нет. Сегодня многие снова возвращаются к использованию UUCP, так как этот протокол обеспечивает высокий уровень безопасности передачи электронной почты при небольшой цене.

При подключении сервера электронной почты по протоколу UUCP отсутствует прямое соединение с сетью Internet. Таким образом, злоумышленник не сможет подключиться к вашему серверу через UUCP-соединение с помощью Telnet или использовать любой другой тип сетевой атаки. Дело в том, что при использовании UUCP никакие программы на локальном сервере не запускаются, если только вы не разрешите своему провайдеру Internet обратное. Кроме того, программное обеспечение UUCP позволяет жестко контролировать все попытки соединения между двумя компьютерами.

Многие предприятия в настоящее время в дополнение к имеющимся РРР-соединениям используют протокол UUCP для передачи электронной почты. Например, если у предприятия имеется большой IP-трафик (Web, FTP) и нежелательно перегружать РРР-соединение передачей дополнительного трафика, такого как электронная почта, то на выручку приходит протокол UUCP. Тогда вместо закупки большей полосы пропускания для РРР, можно просто оплатить недорогое коммутируемое UUCP-соединение с провайдером Internet, которое будет обслуживать систему электронной почты предприятия, при этом остальной IP-трафик полностью использует полосу РРР-соединения.

В этой лекции мы подробно рассмотрим протоколы, используемые в UUCP-соединении. Очевидно, что при организации UUCP-соединения желательно говорить с провайдером на одном языке. Кроме того, в этой лекции рассматривается наиболее популярный пакет для работы с UUCP в ОС Linux - Taylor UUCP. Приводятся примеры конфигурационных файлов для реализации функций клиента и сервера UUCP на почтовом сервере под управлением ОС Linux.

Описание протокола UUCP

Протокол UUCP был разработан в конце 70-х годов Майком Леском (Mike Lesk) в лаборатории компании AT&T Bell. Изначально он предназначался для передачи файлов и электронных сообщений между двумя UNIX-компьютерами. Соединение по протоколу UUCP включает в себя три фазы:

  • подтверждение открытия соединения;
  • передача данных;
  • подтверждение закрытия соединения.

Поскольку протокол UUCP был разработан еще до появления концепции "клиент-сервер", его терминология несколько отличается от общепринятой. То, что сегодня мы называем сервером в терминах UUCP называется UUCP-ведомым ( slave ), а клиент называется UUCP-ведущим или главным ( master ), так как он управляет соединением в сеансе UUCP (рис. 9.1). Любой компьютер может начать соединение по UUCP. Какой из двух компьютеров будет ведущим, а какой ведомым, определяется при подтверждении открытия соединения. И конечно же, специально, чтобы еще больше все запутать, компьютеры в течение сеанса UUCP могут меняться ролями ведущий-ведомый.

Фазы в сеансе UUCP

Рис. 9.1. Фазы в сеансе UUCP

Подтверждение открытия соединения

При подтверждении открытия соединения оба компьютера опираются на основные правила, касающиеся связи по UUCP. В течение фазы подтверждения открытия соединения посылается специальный пакет, который начинается символом шестнадцатеричное 0x10 и заканчивается символом шестнадцатеричное 0x00. Когда ведущий компьютер вызывает ведомый, тот должен ответить определенным пакетом:

Shere=hostname,

где hostname - UUCP-имя ведомого компьютера. UUCP-имя не имеет ничего общего с именем компьютера согласно системе DNS, хотя делаются попытки согласовать эти две системы имен путем введения в сети Internet специального домена uucp. Итак, ведущий компьютер, получив имя ведомого компьютера, должен ответить ему следующим образом:

Shostname=options,

где hostname - это уже UUCP-имя ведущего компьютера, а options - параметры, которые определяются двумя хостами. Все эти параметры представлены в табл. 9.1.

Таблица 9.1. Параметры подтверждения открытия соединения в UUCP
Параметр Описание
-Qseq Определяет вызов номера последовательности seq
-xlevel Устанавливает режим отладки на ведомом компьютере равным level
-pgrade Устанавливает ведомому компьютеру режим передачи файлов только с приоритетом grade или выше
-N Сигнализирует о том, что ведущий компьютер воспринимает расширения в соответствии с Taylor UUCP

Ведомый компьютер, в свою очередь, должен ответить на параметр, заданный ведущим, определенным кодом. Коды ответов ведомого компьютера представлены в табл. 9.2.

Таблица 9.2. Коды ответов ведомого компьютера в сеансе UUCP
Код ответа Описание
ROK Параметры опознаны
ROKN То же, что и ROK, но принимаются расширения в соответствии с Taylor UUCP
RLCK На ведомом компьютере ведущий с данным именем заблокирован - невозможно продолжить сеанс
RCB Ведомый компьютер сбросит соединение и инициирует его в качестве ведущего
RBADSEQ Номер последовательности в параметре -Q не опознан - попытка несанкционированного доступа
RLOGIN Ведущий компьютер зарегистрировался на ведомом с ошибочным идентификатором входа в систему
RYou are unknown to me В файлах config ведомого компьютера отсутствуют сведения о ведущем компьютере

Если ведомый компьютер в ответе использовал код ROK или ROKN, то начинается следующий этап подтверждения открытия соединения. Если ведущий компьютер получил какой-либо другой код ответа, то он прекращает попытку соединения.

Следующий этап подтверждения открытия соединения заключается в согласовании параметров протокола UUCP двумя сторонами. На протяжении многих лет было разработано несколько методов инкапсуляции ядра протокола UUCP. Всем протоколам были присвоены буквы - от A до Z. Оригинальному протоколу UUCP была присвоена буква g. В то же время пакет Taylor UUCP, работая с таким же пакетом на другой машине, использует протокол i. В начале обмена ведомый компьютер посылает пакет:

Pprotocollist

Здесь под protocollist подразумевается список протоколов (в буквенном понимании), которые он поддерживает. Если ведущий компьютер обнаруживает в списке поддерживаемый им протокол, он отвечает пакетом:

Uprotocol,

где protocol - буквенное обозначение протокола, который ведущий компьютер желает использовать во время сеанса. Если не был найден приемлемый протокол для продолжения сеанса, то ведущий компьютер должен вернуть ответ типа UN и завершить соединение. Затем, после того как тип протокола выбран, компьютеры должны провести переговоры об индивидуальном протоколе (см. раздел "Типы протоколов UUCP" далее в этой лекции). После завершения переговоров фаза подтверждения открытия соединения окончена и начинается фаза передачи данных.