NNTP News Servers
Overview and General Operation
The general operation of NNTP is indeed very similar to that of SMTP. NNTP uses TCP, with news servers listening on well-known TCP port 119 for incoming connections, either from client hosts or other NNTP news servers. As in SMTP, when two newsservers communicate using 119 for incoming connectionsNNTP, the one that initiates the connection plays the role of client for that exchange
After a connection is established, communication takes the form of commands sent by the client to the server, and replies returned from the server to the client device. NNTP commands are sent as plain ASCII text, just like those used by SMTP, , HTTP and other protocols. NNTP responses take the form of three-digit reply codes as well as descriptive text, again just like SMTP (which in turn borrowed this concept from FTP)..
NNTP was designed to be a comprehensive vehicle for transporting messages on Usenet newsgroups. It is usually most often considered as a delivery protocol for moving Usenet articles from one server to another, but is also used for connections from client hosts to Usenet newsservers for posting and reading messages. Thus, the NNTP command set is quite extensive, and includes commands to handle both inter-server and client-server communication. For message propagation, a set of commands is provided to allow a news server to request new articles from another server, or to provide new articles to another server. For message posting and access, commands allow a client to request lists of new Usenet newsgroups and messages, and to retrieve messages for display to a user.
The commands defined in RFC 977 were the only “official” ones for over a decade. However, even as early as the late 1980s, implementers of NNTP news servers and client software were adding new commands and features to make NNTP both more efficient and useful to users. These NNTP extensions were eventually documented in RFC 2980, published in 2000. I describe them in more detail later in this section.