Das Network News Transfer Protocol (NNTP) wird normalerweise für die Verteilung, Abfrage, den Abruf und die Veröffentlichung von Nachrichtenartikeln mithilfe eines zuverlässigen Stream-basierten Mechanismus verwendet TCP/IP. Es erleichtert den Austausch von Nachrichten und Artikeln zwischen servers und zwischen Kunden und servers in einem Netzwerk.
Was ist das Network News Transfer Protocol (NNTP)?
NNTP ist ein Anwendung Layer-Protokoll, das die effiziente Verteilung, Abfrage und den Abruf von Nachrichtenartikeln aus verschiedenen Nachrichten ermöglicht Datenbanken und Foren im Internet und Usenet. Entwickelt für die Verwendung über TCP/IP-Netzwerke, unterstützt NNTP Klient-server und server-server Operationen, wodurch es hoch skalierbar ist und flexGeeignet für die Verbreitung von Nachrichten.
Kurze Geschichte von NNTP
NNTP wurde in den 1980er Jahren entwickelt, um das UUCP zu verbessern (UNIX-to-Unix Copy Protocol) zum Verteilen von Nachrichtenartikeln über das Usenet-Netzwerk, ein globales Diskussionssystem. Die erste Spezifikation, RFC 977, wurde 1986 veröffentlicht und beschreibt das anfängliche Framework und die Funktionsweise von NNTP. Im Laufe der Jahre wurde NNTP überarbeitet und aktualisiert, um Leistung, Sicherheit und Funktionen zu verbessern. Zu den bemerkenswerten Aktualisierungen gehört RFC 3977, das das Protokoll im Jahr 2006 standardisierte.
NNTP (Network News Transfer Protocol) nimmt weiterhin eine Nische, aber einen bedeutenden Platz in der digitalen Kommunikationslandschaft ein, insbesondere für Usenet-Newsgroups. Trotz des Aufkommens modernerer Formen der digitalen Kommunikation wie Social-Media-Plattformen, Foren und Messaging-Apps bedienen NNTP und Usenet eine dedizierte Benutzerbasis mit spezifischen Interessen und Bedürfnissen.
Wie funktioniert NNTP?
NNTP arbeitet auf einem Client-server Modell, bei dem ein Kunde Nachrichtenartikel anfordert Netz servers Hosten und Verteilen von Newsgroups. Jede Newsgruppe konzentriert sich auf ein bestimmtes Thema und die darin enthaltenen Artikel werden als Nachrichten verteilt. Wenn ein Benutzer eine Newsgroup abonniert, ruft der NNTP-Client die Liste der verfügbaren Artikel aus der Newsgroup ab server. Benutzer können dann Artikel zum Lesen auswählen, neue Artikel veröffentlichen oder auf bestehende Artikel antworten. NNTP servers können auch miteinander kommunizieren, um Newsgroup-Artikel im Internet zu verbreiten und so sicherzustellen, dass Artikel weit verbreitet und verfügbar sind.
Wo wird NNTP verwendet?
NNTP wird hauptsächlich im Usenet-System verwendet, einer Sammlung von Newsgroups, die ein breites Themenspektrum abdecken. Es wird zum Verteilen von Nachrichtenartikeln, zur Teilnahme an Diskussionen und zum Teilen von Informationen über verschiedene Domänen hinweg verwendet. Obwohl Usenet und NNTP in den letzten Jahrzehnten von Social-Media-Plattformen in den Schatten gestellt wurden, bleiben sie für bestimmte Anwendungen beliebt, darunter Softwareverteilung, technische Diskussionen und akademische Kommunikation.
NNTP-Befehle und Statuscodes
Hier sind zwei Tabellen, die die Fähigkeiten des NNTP-Protokolls beschreiben server Antworten, die bei der Interaktion mit einem NNTP auftreten können server.
NNTP-Befehlstabelle
NNTP-Befehle sind Anweisungen, die von einem Client an ein NNTP gesendet werden server um bestimmte Aktionen durchzuführen, wie zum Beispiel Artikel zu veröffentlichen oder abzurufen.
Befehl | Beschreibung |
ARTICLE | Ruft einen bestimmten Artikel mithilfe einer Artikelnummer oder Nachrichten-ID ab. |
BODY | Ruft den Text eines bestimmten Artikels ab. |
HEAD | Ruft die Kopfzeile eines bestimmten Artikels ab. |
STAT | Überprüft die Existenz eines bestimmten Artikels, ohne ihn herunterzuladen. |
GROUP | Wählt eine Newsgruppe aus und gibt Informationen über die Gruppe zurück. |
LIST | Listet verfügbare Newsgroups, aktive Newsgroups oder Informationen darüber auf. |
NEWGROUPS | Listet Newsgroups auf, die nach einem bestimmten Datum und einer bestimmten Uhrzeit erstellt wurden. |
POST | Veröffentlicht einen Artikel in einer Newsgroup. |
QUIT | Beendet die Sitzung mit dem NNTP server. |
IHAVE | Informiert die server über einen Artikel, den ein Kunde hat server möglicherweise nicht. |
HELP | Gibt Hilfetext aus dem zurück server. |
LAST | Verschiebt den aktuellen Artikelzeiger zum vorherigen Artikel in der Gruppe. |
NEXT | Verschiebt den aktuellen Artikelzeiger zum nächsten Artikel in der Gruppe. |
LISTGROUP | Listet die Artikel auf, die in einer bestimmten Newsgruppe verfügbar sind. |
MODE READER | Schaltet die server in den Lesemodus, für manche notwendig servers. |
XOVER | Ruft eine Reihe von Artikelüberschriften in einem kompakten Format ab. |
XHDR | Ruft spezifische Header-Informationen aus einer Reihe von Artikeln ab. |
Tabelle mit NNTP-Statuscodes
Service servers verwenden Statuscodes, um das Ergebnis eines Clientbefehls anzuzeigen und Feedback zum Erfolg des Vorgangs zu geben oder aufgetretene Fehler detailliert zu beschreiben.
Statuscode | Bedeutung |
100 | Es folgt ein Hilfetext (Informationsantwort). |
200 | Dienst verfügbar, Posten erlaubt (Grußnachricht). |
201 | Dienst verfügbar, keine Veröffentlichung erlaubt (Begrüßungsnachricht). |
211 | Gruppe ausgewählt; Information folgt. |
215 | Es folgen Informationen (als Antwort auf LIST, NEWGROUPS usw.). |
220 | Artikel folgt (als Antwort auf ARTICLE, HEAD, BODY oder STAT). |
221 | Es folgt der Header (als Antwort auf XHDR). |
222 | Body folgt (als Antwort auf den BODY-Befehl). |
223 | Artikel existiert (als Antwort auf STAT). |
230 | Neue Artikel folgen (als Antwort auf NEWNEWS). |
231 | Neue Newsgroups folgen (als Antwort auf NEWGROUPS). |
281 | Authentifizierung akzeptiert. |
400 | Dienst vorübergehend nicht verfügbar (server kann heruntergefahren werden). |
411 | Keine solche Newsgruppe (Gruppe kann nicht ausgewählt werden). |
412 | Keine Newsgruppe ausgewählt (Sie müssen zuerst eine auswählen). |
420 | Kein aktueller Artikel ausgewählt (für NEXT-, LAST-Befehle). |
421 | Kein nächster Artikel (in dieser Gruppe). |
430 | Kein solcher Artikel gefunden. |
440 | Posten nicht erlaubt (als Antwort auf POST). |
441 | Das Posten ist fehlgeschlagen (Artikel nicht gepostet). |
480 | Für den Befehl ist eine Authentifizierung erforderlich. |
500 | Befehl nicht erkannt oder Syntaxfehler. |
502 | Dienst dauerhaft nicht verfügbar oder keine Berechtigung. |