NNTP Inter-Server Communication Process: News Article Propagation
(Page 1 of 4)
The Network News Transfer Protocol (NNTP) is used for all of the transfer steps in the modern Usenet communication process. However, NNTP is most often associated with the process of Usenet article propagation. This is arguably the most important function of NNTP: providing an efficient means of moving large volumes of Usenet articles from one server to another. It is thus a sensible place to start looking at the protocol.
To see how NNTP propagation works, we must begin with a look at the way that the modern Usenet network itself is organized. Usenet sites are now all on the Internet, and theoretically, any NNTP server can contact any other to send and receive Usenet articles. However, it would be ridiculous to have a new article submitted to a particular server need to be sent via separate NNTP connections to each and every other NNTP server. For this reason, the Usenet logical network continues to be very important, even in the Internet era.
In theory, all that is required of the Usenet structure is that each site be connected to at least one other site in some form. The logical network could be amorphous and without any formal structure at all, as long as every site could form a path through some sequence of intermediate servers to each other one. However, modern Usenet is very large, with thousands of servers and gigabytes of articles being posted every day. This calls for a more organized structure for distributing news.
For this reason, the modern Usenet logical network is structured loosely in a hierarchy. A few large Internet Service Providers and big companies with high-speed Internet connections and large servers are considered to be at the top of the hierarchy, in what is sometimes called the Usenet backbone. Smaller organizations connect to the servers run by these large organizations; these organizations are considered to be downstream from the backbone groups. In turn, still smaller organizations may connect further downstream from the ones connected to the large organizations.
This hierarchical structure means that most Usenet servers only maintain a direct connection to their upstream neighbor, and to any downstream sites to which they provide service. A server is said to receive a news feed from its upstream connection, since that is the place from which it will receive most of its news articles. It then provides a news feed to all the servers downstream from it. I illustrated this in Figure 310 in the topic describing the Usenet communication model.
As an example, suppose Company A runs a large Usenet server called largenews that is connected to the backbone. Downstream from this server is the NNTP server mediumnews. That server in turn provides service to smallnews. If a user posts an article to mediumnews, it will be placed on that server immediately. That server will send the article downstream, to smallnews, so that it can be read by that server's users. mediumnews will also, at some point, send the article to largenews. From largenews, the message will be distributed to other backbone sites, which will in turn pass the message down to their own downstreams. In this way, all sites eventually get a copy of the message, even though mediumnews only needs to connect to two other servers directly.
The term used to describe how news is propagated with NNTP is flooding. This is because of the way that a message begins in one server and floods outward from it, eventually reaching the backbone sites and then going down all the downstream rivers to reach every site on Usenet.
Even though I described the logical Usenet network as a hierarchy, it is not a strict hierarchy. For redundancy, many NNTP servers maintain connections to multiple other servers to ensure that news propagates quickly. The transmission of articles can be controlled by looking at message IDs to avoid duplication of messages that may be received simultaneously by one server from more than one neighbor.
Home - Table Of Contents - Contact Us
The TCP/IP Guide (http://www.TCPIPGuide.com)
Version 3.0 - Version Date: September 20, 2005
© Copyright 2001-2005 Charles M. Kozierok. All Rights Reserved.
Not responsible for any loss resulting from the use of this site.