Originally Usenet used UUCP (Unix-to-Unix copy protocol). This protocol allowed one Unix machine to connect to another, exchange files and disconnect. In this fashion Usenet used UUCP to exchange messages within a set of topics [TGO92].
The growth of the networks, the number of topics and the extensive growth of TCP/IP has led to that the Usenet uses NNTP (Network News Transfer Protocol, [NNT86]) instead of UUCP. This new protocol allows Usenet machines to discover new newsgroups and exchange messages in each group.
Usenet uses a semi-distributed architecture, where a local system administrator controls what news channels should be stored at the local news server. Each server is connected to a number of other servers. When a user sends a news posting it arrives at the local news server. The local news server then does the following for each of the servers to which it is connected:
The first step makes it possible to discard postings that are considered unsuitable at an early stage. A news server administrator perhaps considers adult content and binary content (such as compressed archives and applications) to be unsuitable. It is also possible to set limits on how old the posting could be and how large it may be.
The Usenet uses push technology to transfer news postings. This is more efficient than having servers monitor each other for new postings. Most Usenet servers accept postings to more groups than they actually store. These postings are only accepted to be forwarded further, which is necessary if all servers that want to store the posting should receive it.
There is no guarantee that a posting will reach all servers that want it. If for example the local server is connected to a set of servers that all deny the posting it will never leave the local server.