Technik und Distribution bei Netnews

netplanet Werbung

Die regelmäßige, weltweite Distribution von Information ist bei Netnews Programm. Was zu Beginn gerade mal einige Megabytes in der Woche waren, sind heute zig Gigabytes am Tag, die innerhalb weniger Minuten und Stunden zu zehntausenden News-Server transportiert werden.

Logische Verwaltung auf einem News-Server

Die logische Verwaltung von Nachrichten auf einem News-Server ist, schematisch gesehen, simpel. Die Beiträge sind nicht hierarchisch sortiert, sondern liegen quasi "in einer Schublade". Da alle Beiträge eine eindeutige Message-ID tragen, sind sie dadurch unterscheidbar.

Die Zugehörigkeit zu einer (oder mehreren) News-Gruppe(n) geschieht durch die "Xref"-Zeile im Header eines Beitrages.

Xref: uni-berlin.de de.comm.internet.misc:72977

In diesem Beispiel einer Xref-Zeile ist beispielsweise verzeichnet, dass diese Zeile zu einem News-Beitrag gehört, der auf dem News-Server uni-berlin.de in der News-Gruppe de.comm.internet.misc die Artikelnummer 72.977 hat. Diese Artikelnummer ist wichtig, da mit dieser Nummer ein News-Client überprüfen kann, ob es für eine bestimmte News-Gruppe, die der Benutzer abonniert hat, neue Beiträge gibt. Dazu überprüft er seinen Artikelzähler mit dem Artikelzähler auf dem News-Server und lädt entsprechend die danach erschienenen Beiträge.

Distribution von Nachrichten

Die Besonderheit von Netnews ist die Pflege von News-Hierarchien auf mehreren News-Servern. Dies bedeutet, dass ein Benutzer seinen Beitrag auf einem News-Server absenden kann und dieser dann automatisch nach und nach auf allen anderen News-Servern erscheint, die diese Gruppe ebenfalls führen. Auf diese Weise ist dieser Beitrag dann innerhalb weniger Stunden weltweit verfügbar.

Vom Prinzip her erfolgt diese Distribution ähnlich, wie wenn ein News-Client bei einem News-Server Nachrichten bezieht; News-Server synchronisieren ihre News-Gruppen untereinander ebenfalls per NNTP (oder, in älteren Umgebungen bzw. außerhalb des Internet per UUCP). Der Rhythmus der Synchronisierung schwankte ursprünglich relativ stark, je nachdem, ob der betreffende News-Server permanent mit anderen News-Servern verbunden war, oder zu bestimmten Zeiten synchronisieren musste. Im Internet sind die Distributionszeiten von Nachrichten bei den meisten News-Servern inzwischen im einstelligen Minutenbereich.

Verwalten von Nachrichten auf einem News-Server

Die Verwaltung von Nachrichten auf einem News-Server ist weitgehend nicht standardisiert, was dazu führt, dass es unterschiedliche Implementierungen von Herstellern gibt. Aufgrund der schieren Menge von Nachrichten, die ein News-Server verwalten muss, ist es üblich, dass die Nachrichten entweder als Datei oder in einer Datenbank verwaltet werden und ein von der News-Server-Software ständig gepflegter Datenbankindex den Zugriff auf die Nachrichten ermöglicht.

Diese Vorgehensweise der Datenhaltung ist bei sehr großen Datenbeständen - wir reden hier durchaus von Datenmengen im Giga- und Terabyte-Bereich - inzwischen üblich und ermöglicht auch den Abruf von größeren Nachrichtenmengen in verhältnismäßig kurzer Zeit.

Ebenfalls weitgehend herstellerseitig implementiert sind Mechanismen zur Vorhaltung von abgerufenen Nachrichten. News-Server spiegeln News-Gruppen in der Regel nur für einen bestimmten Zeitraum oder bis zu einer bestimmten Nachrichtenzahl. Diese lokale Verwaltung muss von der News-Server-Software anhand der individuellen Konfiguration der so genannten Haltezeiten verrichtet werden.

NNTP-Befehle

Der NNTP-Befehlssatz ist die eigentliche Schnittstelle zwischen NetNews-Software und aufgrund der hohen Synchronisationsanforderungen relativ kompakt. Dadurch bietet NetNews eine schnelle Abarbeitung auch bei hohem Datenaufkommen. Einige Befehle sind jedoch auf vielen News-Servern deaktiviert, da sie auf einen Schlag zu viel Last auf dem Server erzeugen und in frühen Zeiten von NetNews erdacht wurden, als das Nachrichtenaufkommen noch erheblich kleiner war.

  • ARTICLE
    Dieser Befehl ist der Standardbefehl, um einen Artikel komplett mit Header, einer trennenden Leerzeile und dem eigentlichen Body von einem News-Server zu laden. Hierzu folgt dem Befehl entweder die Message-ID des gewünschten Artikels in spitzen Klammern oder die numerische und gruppeninterne Artikelnummer (nur dann, wenn zuvor die Gruppe mit GROUP gewählt wurde).
  • BODY
    Äquivalent mit dem Befehl ARTICLE mit dem Unterschied, dass bei der Nutzung mit diesem Befehl nur der Body eines Artikels zurückgeliefert wird.
  • GROUP
    Befehl zum Auswählen einer News-Gruppe. Dem Befehl muss der Name der gewünschten Gruppe folgen und liefert vom Server die geschätzte Zahl an vorliegenden Postings der Gruppe und die numerische Artikelnummer des ersten und des letzten Artikels, der auf dem News-Server vorhanden ist.
  • HEAD
    Äquivalent mit dem Befehl ARTICLE mit dem Unterschied, dass bei der Nutzung mit diesem Befehl nur der Header eines Artikels zurückgeliefert wird.
  • IHAVE
    Dieser Befehl informiert den News-Server, dass der Client einen Artikel mit einer bestimmten Message-ID hat und diese dem News-Server übergeben möchte. Dieser überprüft dann, ob er diese schon hat oder er berechtigt ist, vom Client die Nachricht anzunehmen und fordert sie an bzw. lehnt sie ab. Gesendet wird ein Beitrag dann mit dem Befehl POST.
  • LAST
    Dieser Befehl setzt den aktuellen Artikelwert auf den vorherigen als den aktuellen und liefert die Message-ID des Artikels zurück, der den aktuellen Artikelwert beansprucht. Mit dem ARTICLE-Befehl kann dieser dann heruntergeladen werden.
  • LIST
    Mit diesem Befehl wird die Liste der verfügbaren News-Gruppen vom News-Server heruntergeladen. Mitgeliefert wird hierbei der numerische Artikelwert des ersten und letzten verfügbaren Artikels und eine Statusmeldung, ob in die Gruppe direkt gesendet werden darf oder nicht (zum Beispiel bei moderierten Gruppen).
  • NEWGROUPS
    Dieser Befehl wird von einem gültigen Datum gefolgt und fordert vom Server die Namen der News-Gruppen ab, die seit dem angegebenen Datum neu auf dem News-Server sind. Zusätzlich kann dem Befehl noch eine entsprechende Hierarchie mitgegeben werden (z.B. "de.comm"), um nur innerhalb der angegebenen Hierarchie nach neuen Gruppen zu suchen.
  • NEWNEWS
    Dieser Befehl wird von einem (oder mehreren) Namen einer News-Gruppe und einem gültigen Datum gefolgt und weist den Server an, eine entsprechende Liste mit Message-ID von denjenigen Artikeln zu erzeugen, die in der/den angegebenen Gruppe(n) nach dem angegebenen Datum erschienen sind. Da dieser Befehl erhebliche Systemressourcen des News-Servers benötigt, ist er oft deaktiviert, seine Wirkungsweise kann aber durch andere Befehle simuliert werden, die weniger Systemleistung des Servers benötigen.
  • NEXT
    Dieser Befehl setzt den aktuellen Artikelwert auf den nächsten als den aktuellen und liefert die Message-ID des Artikels zurück, der den aktuellen Artikelwert beansprucht. Mit dem ARTICLE-Befehl kann dieser dann heruntergeladen werden.
  • POST
    Befehl zum Senden eines Artikels, nachdem der Client mit dem Befehl IHAVE geprüft hat, ob der Server das Posting empfangen möchte und dieser die Übertragung erlaubt.
  • QUIT
    Mit diesem Befehl wird die Verbindung zwischen News-Server und -client ordnungsgemäß beendet. Meist sendet der News-Server als Bestätigung für den Befehl eine Rückmeldung.
  • SLAVE
    Dieser Befehl gibt dem News-Server an, dass der Client als "Slave Server" angesehen werden soll, also als ein Server, der vom "Master" Hierarchien kopiert. Der Befehl dient zu informativen Zwecken, um die Verbindung z.B. gegenüber normalen Client-Server-Verbindungen höher zu stellen.
  • STAT
    Äquivalent mit dem Befehl ARTICLE mit dem Unterschied, dass bei der Nutzung mit diesem Befehl kein Text zurückgeliefert wird. Mit STAT wird der aktuelle Artikelwert in einer Gruppe gesetzt. Ermittelt wird dieser entweder anhand des numerischen Artikelwerts des ältesten Artikels, der mit dem Befehl GROUP ermittelt wird oder benutzerdefiniert (z.B. dadurch, bis zu welchem Artikelwert schon Postings gelesen wurden).

Statusmeldungen

NNTP-Statusmeldungen bestehen immer aus einer dreistelligen Zahl, der meist noch ein erklärender Text folgt. Die ersten beiden Ziffern lassen sich in Gruppen einsortieren, die dritte Ziffer bestimmt die genaue Statusmeldung.

Funktionskennung

Die erste Ziffer bezeichnet die Funktion der Statusmeldung:

  • 1xx - Nur informelle Meldungen
  • 2xx - Befehl OK
  • 3xx - Befehl OK, Rest senden
  • 4xx - Befehl OK, konnte aber aus einem bestimmten Grund nicht ausgeführt werden
  • 5xx - Befehl nicht implementiert, falsch oder Programmfehler aufgetreten

Funktionsantwort

  • x0x - Verbindungs-, Installations- oder andere Meldungen
  • x1x - Auswahl von News-Gruppen
  • x2x - Artikelauswahl
  • x3x - Distributionsfunktionen
  • x4x - Posting
  • x8x - Nicht-Standardisierte Erweiterung
  • x9x - Ausgabe einer Fehlerprüfung

Gängige Fehlermeldungen

  • 100 help text follows
    Hilfetext folgt
  • 199 debug output
    Ausgabe einer Fehlerprüfung
  • 200 server ready - posting allowed
    Server ist bereit - Posting ist erlaubt
  • 201 server ready - no posting allowed
    Server ist bereit - Posting ist nicht erlaubt
  • 202 slave status noted
    "Slave Status" erkannt
  • 205 closing connection - goodbye!
    Trenne Verbindung - Auf Wiedersehen!
  • 211 <n> <f> <l> <s> group selected
    Gruppe ausgewählt
  • 215 list of newsgroups follows
    Liste der News-Gruppen folgt
  • 220 n <a> article retrieved - head and body follow
    Artikel gefunden - Head und Body folgen
  • 221 n <a> article retrieved - head follows
    Artikel gefunden - Header folgt
  • 222 n <a> article retrieved - body follows
    Artikel gefunden - Body folgt
  • 223 n <a> article retrieved - request text separately
    Artikel gefunden - Text separat anfordern

    230 list of new articles by message-id follows
    Liste von neuen Artikeln nach Message-ID folgt

    231 list of new newsgroups follows
    Liste von neuen News-Gruppen folgt

  • 235 article transferred ok
    Artikelübertragung OK
  • 240 article posted ok
    Artikelposting OK
  • 335 send article to be transferred. End with <CR-LF>.<CR-LF>
    Sende Artikel zum Übertragen. Ende mit <CR-LF>.<CR-LF>
  • 340 send article to be postet. End with <CR-LF>.<CR-LF>
    Sende Artikel zum Posten. Ende mit <CR-LF>.<CR-LF>
  • 400 service discontinued
    Service unterbrochen
  • 411 no such news group
    Keine solche News-Gruppe vorhanden
  • 412 no newsgroup has been selected
    Es wurde keine News-Gruppe ausgewählt
  • 420 no current article has been selected
    Es wurde kein aktueller Artikel ausgewählt
  • 421 no text article in this group
    Kein textartiger Artikel in dieser Gruppe vorhanden
  • 422 no previous article in this group
    Kein vorheriger Artikel in dieser Gruppe vorhanden
  • 423 no such article number in this group
    Keine solche Artikelnummer in dieser Gruppe vorhanden
  • 430 no such article found
    Kein solcher Artikel gefunden
  • 435 article not wanted - do not send it
    Artikel unerwünscht - Nicht senden
  • 436 transfer failed - try again later
    Übertragung abgebrochen - Später versuchen
  • 437 article rejected - do not try again
    Artikel abgelehnt - Nicht noch einmal versuchen
  • 440 posting not allowed
    Posting nicht erlaubt
  • 441 posting failed
    Posting fehlgeschlagen
  • 500 command not recognized
    Befehl nicht anerkannt
  • 501 command syntax error
    Fehler in der Befehlssyntax
  • 502 access restriction or permission denied
    Zugriffsbeschränkung oder Zugriff verweigert
  • 503 program fault - command not performed
    Programmfehler - Befehl nicht ausgeführt.

NetNews in Konkurrenz zu Web-Foren

NetNews hat im Laufe der Jahre sehr viel an Strahlkraft an web-basierte Foren verloren. Web-Foren sind für Benutzer mit einem Webbrowser zu bedienen und erfordern keine größere Konfiguration und Einarbeitung. So gibt es auch zum Usenet inzwischen etablierte Web-Benutzeroberflächen wie beispielsweise Google Groups, das 2001 aus einem früheren Dienst namens Deja News hervorgegangen ist.

Auch wenn NetNews auf den ersten Blick gegen den Komfort zu Web-Foren verliert, besitzt NetNews im von Hause aus eingebauten Synchronisierungsmechanismus zu anderen Servern und die grundsätzliche Performance durch relativ wenig zu übertragende Datenmengen im Vergleich zu grafisch aufwendigeren Web-Foren einige "Hausvorteile".

Weiterführende Links

http://groups.google.de/
Google Groups

WERBUNG
Zum Beginn dieser Seite