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, иногда использовался, чтобы определять имя узла, являющееся достижимым сетям 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, наиболее известны из которых[1] и 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.
Источники
Примечания
Ссылки
Ссылки на внешние ресурсы |
---|
В библиографических каталогах | |
---|
Команды Unix |
---|
|
|
---|
Файловые утилиты | |
---|
Текстовые утилиты | |
---|
Shell-утилиты | |
---|
другие утилиты | |
---|
|