UUCP stands for Unix to Unix CoPy, and is a computer program and protocol allowing remote execution of commands and transfer of files, email and netnews between Unix computers not connected to the Internet proper. The UUCP package consists of several programs including uucp, uuxqt (front ends for remote copy and execution), uucico (communication program), uustat, and uuname. Nowadays it is rarely used for Modem communications, but is still used sometimes over TCP/IP.
Before the widespread availability of universal connectivity through the Internet, computers were only connected by smaller networks, or point-to-point links. UUCP allowed message switching between machines, rather like Fidonet (which was modeled on UUCP and very common on MS-DOS systems).
The UUCPNET was the name for the totality of the informal network of computers connected through UUCP.
The UUCP protocol was used to forward material between sites on a hop-by-hop basis. Addressing on UUCPNET was achieved by specifying a route as a list of intermediate host names separated by exclamation marks, or bangs, hence the term bang path.
Thus, for example, the path ...!bigsite!foovax!barbox!me directs people to route their mail to machine bigsite (presumably a well-known location accessible to everybody) and from there through the machine foovax to the account of user me on barbox.
People often published compound bang addresses using the { } convention (see glob) to give paths from several big machines, in the hopes that one's correspondent might be able to get mail to one of them reliably (example: ...!{seismo, ut-sally, ihnp4}!rice!beta!gamma!me). Bang paths of 8 to 10 hops were not uncommon in 1981. 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.
Usenet traffic was originally carried over the UUCPNET. Bang paths are still in use within the Usenet message format Path headers, but they only have an informational purpose and are not used for routing.
See also: