uucp

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск


uucp — Unix-to-Unix CoPy — команда копирования файлов между двумя компьютерами под управлением операционной системы UNIX, использующая одноимённый протокол. Позже появились реализации этого протокола под другие операционные системы, в т.ч. DOS, Windows, OS/2.

Своё название uucp ведёт от имени команды копирования файлов в UNIX — cp — и фактически является её расширением, позволяя копировать файлы с локальной машины на удалённую и с удалённой на локальную, в первую очередь, посредством модемного соединения (позже появились реализации «UUCP over TCP»; они были как в виде встроенной в программу функции, так и в виде отдельного драйвера, эмулирущего модемный звонок посредством установки TCP-сессии). Достаточно быстро uucp стал использоваться для передачи почты и новостей (телеконференций).

Технология[править | править код]

UUCP может использовать несколько различных типов физических соединений и протоколов канального уровня, но обычно используется в коммутируемых соединениях. Перед широко распространенной доступностью доступа к Интернету компьютеры были только соединены небольшими частными сетями внутри компании или организации.

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

Сегодня UUCP редко используется по каналам коммутируемого доступа, но иногда используется по TCP/IP. Число включенных систем, с начала 2006 года, работало между 1500 и 2000 сайтов через 60 предприятий. Долговечность UUCP может быть связана с её низкой стоимостью, подробным ведением логов, собственной отказоустойчивостью к коммутируемому доступу и постоянно управляемой очередью.

История[править | править код]

UUCP был первоначально написан в  AT&T Bell Laboratories Майком Леском. К 1978 году его использовали на восьмидесяти двух машинах UNIX в системе Bell, прежде всего для распространения программного обеспечения. Он был выпущено в 1979 году как часть Unix версии 7. Исходный UUCP был переписан исследователями AT&T Питером Ханименом, Дэвидом А. Новицем и Брайаном Э. Редманом приблизительно в 1983 году. Перезапись упоминается как HDB или HoneyDanBer UUCP, которая впоследствии была улучшена, исправлены ошибки, и преобразована в BNU UUCP ("Basic Network Utilities").

Каждая из этих версий была распределена как собственное программное обеспечение, которое в 1991 году вдохновило Яна Лэнса Тейлора написать новую версию бесплатного программного обеспечения с нуля. UUCP Тейлора был выпущен под общедоступной лицензией GNU General Public License. UUCP Тейлора закрыл дыры в системе безопасности, которые позволяли некоторым оригинальным сетевым червям удаленно выполнять неожиданные команды. UUCP Тейлора также включает функции всех предыдущих версий UUCP, позволив ему устанавливать связь с любой другой версией и даже использовать аналогичные форматы файлов конфигурации из других версий.

UUCP был также реализован для не UNIX операционных систем, прежде всего для системы MS-DOS. Пакеты, такие как UUSLAVE/GNUUCP (Джон Гилмор, Гарри Пэксинос, Тим Позэр), UUPC (Дрю Дербишир) и FSUUCP (Кристофер Амблер из IODesign), принесли первое интернет-подключение к персональным компьютерам, расширив сеть вне взаимосвязяанных университетских систем. FSUUCP легли в основу многих электронных досок объявлений (BBS), таких как Galacticomm's Major BBS и Mustang Software's Wildcat! BBS, чтобы соединиться с сетью UUCP и обменяться электронными почтой и Usenet трафиком. В качестве примера, UFGATE (Джон Гэльвин, Гарри Пэксинос, Тим Позэр) является пакетом, который обеспечивает шлюз между сетями, работающими с Fidonet протоколом UUCP

FSUUCP был единственной реализацией Тейлора с расширенным 'i' протоколом, значительно улучшенным по сравнению со стандартом 'g' протокола, используемого в большинстве реализаций UUCP.

Маршрутизация почты[править | править код]

UUCP и uuxqt можно использовать для того, чтобы отправлять электронные письма между машинами с соответствующими почтовыми пользовательскими интерфейсами и программами доставки. Простой почтовый адрес UUCP формируется из смежного имени машины, восклицательного знака (часто называемый “bang”), сопровождающегося именем пользователя на смежной машине. Например, адрес barbox!user обратился бы к пользователю user на смежной машине barbox.

Почта, кроме того, может быть направлена через сеть, проходя любое число промежуточных узлов прежде, чем прибыть к месту назначения. Первоначально, это должно было быть сделано, определив полный путь со списком промежуточных имен хоста, разделенных ударами. Например, если машина barbox не соединена с локальной машиной, но известно, что barbox соединен, с машиной foovax, который действительно связывается с локальной машиной, соответствующий адрес для отправки почты будет foovax!barbox!user.

Пользователь barbox!user может публиковать свой UUCP адрес электронной почты в виде, например, !bigsite!foovax!barbox!user. Это направляет людей к маршруту их почты, чтобы механизировать bigsite (по-видимому известная и хорошо соединенная машина, доступная для всех) и оттуда через машину foovax в учетную запись пользователя user на barbox. Публикация полного пути была бы бессмысленна, потому что она будет отличаться, в зависимости от того, где был отправитель. Многие пользователи предложили бы несколько маршрутов от различных известных сайтов, обеспечивая еще более лучшее и возможно более быстрое соединение с отправителем почты.

Bang path[править | править код]

Адрес электронной почты этой формы был известен как Bang path. Bang path от восьми до десяти машин были весьма распространены в 1981 году, а ссылки удаленного доступа UUCP вызывают недельное время передачи. Bang path часто выбираются ко времени передачи и к надежности, поскольку сообщения будут часто теряться. Некоторые узлы пошли, насколько попытаться "переписать" путь, отправив почту через "более быстрые" маршруты — эта практика имела тенденцию быть осужденной.

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

Трафик Usenet был первоначально передан по протоколу UUCP, используя Bang paths. Они все еще используются в строках заголовка Пути формата сообщения Usenet. Они теперь имеют только информационную цель и не используются для маршрутизации, несмотря на то, что они могут использоваться, чтобы гарантировать, чтобы циклы не возникали.

UUCPNET и отображение[править | править код]

UUCPNET был именем для совокупности компьютеров в сети, соединенных через UUCP. Эта сеть была неофициальной, поддерживалась в духе взаимовыгодного сотрудничества между системами, принадлежавшим тысячам частных компаний, университетов и так далее. Часто, особенно в частном секторе, ссылки UUCP были установлены без официального одобрения высшего руководства компаний. Сеть UUCP постоянно изменялась как были добавлены новые системы, и каналы коммутируемого доступа, другие были удалены.

Проект Отображения UUCP был добровольным, и в основном сосредотачивался на том, чтобы построить карту соединений между машинами, которые были открытыми почтовыми релеями и устанавливают управляемое пространство имен. Каждый системный администратор будет предоставлять, по электронной почте, список систем, к которыми он будет подключаться, вместе с ранжированием для каждого такого соединения. Эти данные представленные на карте, были обработаны автоматической программой, которая объединила их в один набор файлов, описывающих все связи в сети. Эти файлы были тогда опубликованы ежемесячно в группе новостей, посвященной этой цели. Файлы карт UUCP могли тогда использоваться программным обеспечением, таким как "pathalias", чтобы вычислить путь оптимального маршрута от одной машины до другого для почты и автоматически предоставить этот маршрут. Карты UUCP также перечисляют контактную информацию для сайтов, и так делали сайты, стремящиеся присоединиться к UUCPNET простым способом, чтобы найти возможных соседей.

Соединение с Интернетом[править | править код]

Много узлов UUCP, особенно в университетах, были также соединены с интернетом в его первые годы и почтовыми шлюзами между интернетом были разработаны, основанная на SMTP почта и почта UUCP. Пользователь в системе с соединениями UUCP мог, таким образом, обмениваться почтой с интернет-пользователями, а интернет-ссылки могли использоваться, чтобы обойти значительно медленные части сети UUCP. "Зона UUCP" была определена в пространстве имен интернет-домена, чтобы упростить эти интерфейсы.

Удаленные команды[править | править код]

uux - удаленное выполнение команды по UUCP. uux команда используется, чтобы выполнить команду в удаленной системе или выполнить команду в локальной системе, используя файлы от удаленных систем.

Синтаксис[править | править код]

Для указания места файла на удалённой машине в uucp используется синтаксис вида машина!файл, где машина — имя одного из известных данному компьютеру хостов, а файл — имя файла, возможно, с абсолютным или относительным путём до него.

Таким образом, вызов uucp в простейшем виде для копирования файла example.tar.gz с локальной машины на удалённую, имеющую имя remote, будет иметь вид:

uucp example.tar.gz remote!example.tar.gz

uucp также позволяет выполнять транзитную передачу файлов. Например, для копирования файла example.tar.gz с удалённой машины remote2 через машину remote1 на локальную, вызов примет вид:

uucp remote1!remote2!example.tar.gz example.tar.gz

Применения[править | править код]

Широкое применение uucp получила для передачи электронной почты и новостей Usenet в период, предшествовавший широкому распространению TCP/IP.

В это время были созданы многочисленные клоны uucp для операционных систем DOS и OS/2, наиболее известны из которых Kendra UUPC/Extended и UUPC Андрея Чернова.

В России протокол uucp использовался в сети Релком для обмена электронной почтой. Адрес пользователя был в привычном для пользователей Internet формате «юзер@хост.домен», и пользователи uucp могли обмениваться почтой с пользователями Internet.

В настоящее время можно рекомендовать uucp для регионов, где прокладка выделенных линий и организация постоянных соединений затруднена, а телефонная связь уже есть. Кроме того, UUPC Андрея Чернова нормально работает под DOS на очень слабых машинах, начиная от PC-XT (640 КБ ОЗУ, 20 МБ HDD). В совокупности эти два фактора позволяют предоставить доступ к электронной почте для людей, выход в Интернет которым затруднителен.

Закат UUCP[править | править код]

Использование UUCP начало вымирать с появлением интернет-провайдеров, предлагающих недорогие услуги SLIP и PPP. Проект отображения UUCP был официально закрыт в конце 2000 года.

Протокол UUCP был теперь главным образом заменен интернет протоколом SMTP для почты на основе TCP/IP протокола и NNTP для новостей Usenet.

В июле 2012 года голландский интернет-провайдер, XS4ALL закрыл свою службу UUCP, утверждая, что он был "вероятно, одним из последних провайдеров в мире, который все еще предлагал эту службу"; у неё было только 13 пользователей в то время (однако, до завершения её работы, они отказывались от запросов новых пользователей в течение нескольких лет).

Последнее использование и наследие[править | править код]

Одна выживающая функция UUCP — формат файла чата, в основном унаследованный от программного обеспечения Expect.

UUCP использовался на дорогостоящих каналах специального назначения (например, морские спутниковые линии) после его исчезновения, и все еще используется.

В середине 2000-х годов UUCP по TCP/IP (часто в зашифрованном виде, используя протокол SSH) был предложен для использования, когда компьютер не имеет никаких фиксированных IP-адресов, но все еще готов запустить стандартный агент передачи почты (MTA) как Sendmail или Postfix.

Bang path все еще используются в сети Usenet, хотя и не для маршрутизации; они используются, чтобы записать узлы, через которые сообщение передалось, а не к прямому, куда оно пойдет затем. "Bang path" также используется в качестве выражения для любого явно указанного пути маршрутизации между сетевыми узлами. Это использование не обязательно ограничено UUCP, маршрутизацией IP, почтовым обменом сообщениями или Usenet.

Ссылки[править | править код]