Usenet is a set of protocols for generating, storing and retrieving news "articles" or "posts" (which resemble email messages or bulletin board/forum posts) and for exchanging them among Usenet users. These protocols use what is known as a "flooding algorithm" to propagate files worldwide. This algorithm distributes copies of each article throughout a network of participating servers in a manner analogous to peer-to-peer technologies, but does so only among the servers of your chosen Usenet provider — your connection to these servers is based on the more secure client-server model. Whenever a post reaches a news server, that server forwards the message to all its network neighbors that haven't yet seen the article and uploaded it to the target newsgroup. The formal specification of Usenet protocols is now governed by RFC 1036.
Usenet was originally created to distribute text content — communications between users — encoded in the 7-bit ASCII character set. Later, with the help of programs that encode 8-bit values into ASCII, it became practical to distribute binary files as content. The oldest popular encoding method used to map 8-bit data into ASCII is uuencode. In 2001, in an attempt to reduce file transfer times, an informal file encoding known as yEnc was introduced. yEnc achieves about a 30% reduction in data transferred by assuming that most 8-bit characters can sent safely across the network without first encoding into the 7-bit ASCII space. Binary posts were in time restricted to specific newsgroups making it easier for administrators to manage the volume of traffic created by these larger files. In the late 1980s, Usenet articles were often limited to 60,000 characters, and larger hard limits exist today. Files are therefore commonly split into sections that require reassembly by the user. Thus the standard method of uploading binary content to Usenet is to first split and archive the file to be uploaded into RAR archives (usually in 15 MB, 50 MB or 100 MB parts) then create Parity or Parchive (PAR) files. These Parity files can be used to recreate missing data should some part of a large file not upload successfully. All of these RARs and PARs are then encoded into yEnc and uploaded to the selected binary groups. Here is an image (courtesy of Wikipedia) of the encoding, archiving, and upload process:
Usenet originally relied on UUCP networks. UUCP networks spread quickly due to the lower costs involved, and the ability to use existing leased lines, X.25 links or even ARPANET connections. By 1983, the number of UUCP hosts had grown to 550, nearly doubling to 940 in 1984. As the mesh of UUCP hosts rapidly expanded, it became desirable to distinguish the Usenet subset from the overall network. A vote was taken at the 1982 USENIX conference to choose a new name. The name Usenet was retained, but it was established that it only applied to news. The name UUCPNET became the common name for the overall network. In addition to UUCP, early Usenet traffic was also exchanged with Fidonet and other dial-up BBS networks. Widespread use of Usenet by the BBS community was facilitated by the introduction of UUCP feeds made possible by MS-DOS implementations of UUCP such as UFGATE (UUCP to FidoNet Gateway), FSUUCP and UUPC. The Network News Transfer Protocol, or NNTP, was introduced in 1985 to distribute Usenet articles over TCP/IP as a more flexible alternative to informal Internet transfers of UUCP traffic. Since the Internet boom of the 1990s, almost all Usenet distribution is over NNTP.