NNTP was developed in 1986 by Brian Kantor of the University of San Diego and Phil Lapsley of the University of Berkeley and is defined in RFC 977.
There were other people who contributed to the development of this protocol, such as Stan Barber of Baylor Medical School and Erik Fair of Apple Computer.
In 2006, IETF published the RFC 3977 document, which contains many updates created over the years in addition to the features defined in RFC 977.
In addition, this protocol is used to make mail areas of some forum or FidoNet network or other networks available.
As with other systems, members of the NTTP server can list existing newsgroups and download, send and publish articles with specific commands.
When users create a new article, the message header contains some of the information. When the message is sent, the title contains complete information, and when it is published, the article is prepared, including the description of the message.
In this case, the article is now downloadable for use by both newsreaders or clients. Thus, multiple clients can access the news simultaneously.
NNTPD can be used to transmit NNTP packets between different types of operating systems used by users. This protocol was created by Stan Barber and Phil Lapsley. Users who have a Linux system can easily find the NNTPD package.
How Does It Work?
The working logic of the NNTP is very simple. In this environment, it consists of the main server where news is stored and clients connect to it over the network.
By establishing an interactive link between client and server, very few duplicate articles are obtained. This operation has a great advantage over other news services.
Since it is a text-based protocol, it allows alternative data transfer between client and server and provides data provisioning functionality using TCP.
NNTP uses the TCP protocol with port 119 to traffic the news streams. When clients want to connect to the news server with SSL, TCP 563 port is used.
A news article stored on the server is referenced and published by the name of the client machine that posted that article. This reference value is available in the header named NNTP-Posting-Host.
Two methods are used to transmit news, Pushing and Pulling.
The pushing method sends a response code message when the client submits an article to the server, informing that it already owns or does not yet have that article and that it was imported from the client.
The disadvantage of this method is that each article is searched individually, so this creates a huge load on the server and lots of access to the database.
In the pulling method, date searches are used by the user to list the articles of a group. The NEWSNEWS command is used for this process, and the user can then select the products they do not own from the list above.
When using the ARTICLE command, a user has each ID of the selected messages and can work with them. This is why the operation of this method is called pulling.
After these processes, the entire news flow on the server is regulated with strict control on the server-side, as it is confidential and can only be seen by some users. Additionally, the IMAP protocol can be used to read newsgroups.
One of the potential problems faced by users using the NNTP is news fraud, which consists of impersonating users participating in a newsgroup.
An extension of this protocol can solve the problem of news spoofing, and for this, the user is requested to authenticate for some articles, preventing malicious access to the news server.
It requests a list of available newsgroups.
It displays all new groups available.
It displays all new articles created since a specific date.
It indicates the group in which the request is made.
It allows access to a specific message using its number or message ID in the group.
It requests only the title of an article.
It only requests the main text of an article.
It indicates the message ID of an article.
It selects the next article in the newsgroup.
It notifies the server that a new message or article has been sent.
It terminates the connection with the NNTP server.