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, наиболее известны из которых [www.kew.com/kendra/uupc/ 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.

Ссылки

  • RFC 976: UUCP Mail Interchange Format Standard
  • [ache.vniz.net/uupc7.03/ UUPC Андрея Чернова]
  • [www.faqs.org/faqs/uucp-internals/ UUCP Internals Frequently Asked Questions]
  • [www.airs.com/ian/uucp.html Taylor UUCP] — GPL licensed UUCP package
  • [www.airs.com/ian/uucp-doc/uucp.html Taylor UUCP Documentation] — it provides useful info about general UUCP and UUCP protocols.
  • Mark Horton (1986). RFC 976: UUCP Mail Interchange Format Standard. Internet Engineering Task Force Requests for Comment.