Select Page
'''UUCP''' stands for '''Unix to Unix CoPy'''. The term generally refers to a suite of Computer_programs and protocols allowing remote execution of commands and transfer of files, Email and Netnews between Computers. Specifically, uucp is one of the programs in the suite; it provides a user interface for requesting file copy operations. The UUCP suite also includes uuxqt (user interface for remote command execution), uucico (communication program), uustat (reports statistics on recent activity), and uuname (reports the uucp name of the local system). Although UUCP was originally developed on and is most closely associated with Unix, UUCP implementations exist for several other operating systems, including Microsoft's MS-DOS and Digital's VAX/VMS. ==Technology== UUCP can use several different types of physical connections and link-layer protocols, but was most commonly used over dial-up connections. Before the widespread availability of Internet connectivity, computers were only connected by smaller private networks within a company or organization. They were also often equipped with Modems so they could be used remotely from character-mode terminals via dial-up lines. UUCP uses the computers' modems to dial out to other computers, establishing temporary, point-to-point links between them. Each system in a UUCP network has a list of neighbor systems, with phone numbers, login names and passwords, etc. When ''work'' (file transfer or command execution requests) is queued for a neighbor system, the uucico program typically calls that system to process the work. The uucico program can also poll its neighbors periodically to check for work queued on their side; this permits neighbors without dial-out capability to participate. Today, UUCP is rarely used over dial-up links, but is occasionally used over TCP/IP. ==History== UUCP was originally written at AT&T;_Bell_Laboratories, and early versions of UUCP are sometimes referred to as ''System_V UUCP''. The original UUCP was rewritten by AT&T; researchers Peter Honeyman, David A. Nowitz, and Brian E. Redman and the rewrite is referred to as ''HDB'' or ''HoneyDanBer'' uucp which was later enhanced, bug fixed, and repackaged as ''BNU UUCP'' ("Basic Network Utiltites"). All of these versions had security holes which allowed some of the original internet worms to remotely execute unexpected shell commands, which inspired Lance Taylor to write a new version from scratch. ''Taylor UUCP'' was released under the GNU_General_Public_License and became the most stable and bug free version. Taylor uucp also incorporates features of all previous versions of uucp, allowing it to communicate with any other version with the greatest level of compatibility and even use similar config file formats from other versions. The best surviving feature of uucp is the chat file format, largely inherited by the Expect software package. ==UUCP for mail routing== The uucp and uuxqt capabilities could be used to send e-mail between machines, with suitable mail user interface and delivery agent programs. A simple uucp mail address was formed from the adjacent machine name, an Exclamation_mark or ''bang'', followed by the user name on the adjacent machine. For example, the address ''barbox!user'' would refer to user ''user'' on adjacent machine ''barbox''. Mail could furthermore be routed through the network, traversing any number of intermediate nodes before arriving at its destination. Initially, this had to be done by specifying the complete path, with a list of intermediate host names separated by bangs. For example, if machine ''barbox'' is not connected to the local machine, but it is known that ''barbox'' is connected to machine ''foovax'' which does communicate with ''foovax'', the appropriate address to send mail to would be ''foovax!barbox!you''. User ''barbox!user'' might publish their UUCP email address in a form such as ''...!bigsite!foovax!barbox!you''. This directs people to route their mail to machine ''bigsite'' (presumably a well-known and well-connected machine accessible to everybody) and from there through the machine ''foovax'' to the account of user ''you'' on ''barbox''. Many users would suggest multiple routes from various large well-known site, providing even better and perhaps faster connection service from the mail sender. Bang paths of eight to ten machines (or ''hops'') were not uncommon in 1981, and late-night dial-up UUCP links would cause week-long transmission times. Bang paths were often selected by both transmission time and reliability, as messages would often get lost. Some hosts went so far as to try to "rewrite" the path, sending mail via "faster" routes - this practice tended to be frowned upon. The "pseudo-domain" ending '''.uucp''' was sometimes used to designate a hostname as being reachable by UUCP networking, although this was never formally in the Internet root as a Top-level_domain. ==UUCPNET and mapping== '''UUCPNET''' was the name for the totality of the network of computers connected through UUCP. This network was very informal, maintained in a spirit of mutual cooperation between systems owned by thousands of private companies, universities, and so on. Often, particularly in the private sector, UUCP links were established without official approval from the companies' upper management. The UUCP network was constantly changing as new systems and dial-up links were added, others were removed, etc. The ''UUCP Mapping Project'' was a volunteer, largely successful effort to build a map of the connections between machines and establish a managed namespace. Each system administrator would submit, by e-mail, a list of the systems to which theirs would connect, along with a ranking for each such connection. These submitted map entries were processed by an automatic program that combined them into a single set of files describing all connections in the network. These files were then published monthly in a Newsgroup dedicated to this purpose. The UUCP map files could then be used by software such as "pathalias" to compute the best route path from one machine to another for mail, and to supply this route automatically. The UUCP maps also listed contact information for the sites, and so gave sites seeking to join UUCPNET an easy way to find prospective neighbors. ==Connections with the Internet== Many uucp hosts, particularly those at universities, were also connected to the Internet in its early years, and e-mail gateways between Internet SMTP-based mail and UUCP mail were developed. A user at a system with UUCP connections could thereby exchange mail with Internet users, and the Internet links could be used to bypass large portions of the slow UUCP network. A "UUCP zone" was defined within the Internet domain namespace to facilitate these interfaces. With this infrastructure in place, UUCP's strength was that it permitted a site to gain Internet e-mail connectivity with only a dial-up modem link to another, cooperating computer. This was at a time when true Internet access required a leased data line providing a connection to an Internet ''Point of Presence'', both of which were expensive and difficult to arrange. By contrast, a link to the UUCP network could usually be established with a few phone calls to the administrators of prospective neighbor systems. Neighbor systems were often close enough to avoid all but the most basic charges for telephone calls. ==Decline== UUCP usage began to die out with the rise of ISPs offering inexpensive SLIP and PPP services. The UUCP Mapping Project was formally shut down in late 2000. Usenet traffic was originally transmitted using the UUCP network, and bang paths are still in use within Usenet message format ''Path'' header lines. They now have only an informational purpose, and are not used for routing, although they can be used to ensure that loops do not occur. In general, this form of E-mail_address has now been superseded by the SMTP "@ notation", even by sites still using uucp. Currently UUCP is used mainly over high cost links (e.g., marine satellite links). UUCP over TCP/IP (preferably encrypted, such as via the SSH protocol) can be used when a computer doesn't have any fixed IP_addresses but is still willing to run a standard Mail_transfer_agent (MTA) like Sendmail or Postfix. == See also == * Routing * Sitename * Wizzy_Digital_Courier - low-cost internet delivery system using UUCP == External links == * ''Using & Managing UUCP''. Ed Ravin, Tim O'Reilly, Dale Doughtery, and Grace Todino. 1996, O'Reilly & Associates, Inc. ISBN 1-56592-153-4 * Mark Horton (1986). ''RFC 976: UUCP Mail Interchange Format Standard''. Internet_Engineering_Task_Force Requests for Comment. * UUCP Internals Frequently Asked Questions * Taylor UUCP is a GPL-licensed UUCP package. ** The Taylor documentation provides useful information about UUCP in general and its various protocols in particular. * Usenet Logical Map, July 24, 1984 * The UUCP Project: History * A free UUCP-over-SSH service exists, demonstrating UUCP's continuing utility. Category:File_transfer_protocols Category:Network_protocols Category:Usenet De:Unix_to_Unix_Copy Fr:Unix_to_Unix_Copy_Protocol Nl:Unix_to_Unix_Copy Ja:Unix_to_Unix_Copy_Protocol Pl:UUCP Pt:UUCP Ru:UUCP Zh:UUCP