![]() |
|
Linux - Wegweiser für NetzwerkerOnline-VersionCopyright © 2001
by O'Reilly Verlag GmbH & Co.KG Bitte denken Sie daran: Sie dürfen zwar die Online-Version ausdrucken, aber diesen Druck nicht fotokopieren oder verkaufen. Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen. Wünschen Sie mehr Informationen zu der gedruckten Version des Buches Linux - Wegweiser für Netzwerker oder wollen Sie es bestellen, dann klicken Sie bitte hier. |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Heutzutage hat das Usenet enorme Proportionen angenommen. Systeme, die die gesamten Netnews vorhalten, transportieren täglich weit über 60 Megabyte. Natürlich geht es hier um weit mehr als um das reine Umherschieben von Dateien. Sehen wir uns also an, wie die meisten UNIX-Systeme Usenet-News behandeln.
News beginnen dort, wo Benutzer Artikel erzeugen und posten. Jeder Benutzer gibt eine Nachricht in eine spezielle Applikation ein, die als Newsreader bezeichnet wird und die sie für die Übertragung zum lokalen News-Server angemessen aufbereitet. In Unix-Umgebungen benutzt der Newsreader häufig den Befehl inews, um Artikel über TCP/IP zum News-Server zu übertragen. Es ist aber auch möglich, den Artikel direkt in eine Datei in einem speziellen Verzeichnis zu schreiben, das als News Spool bezeichnet wird. Ist der Artikel einmal beim lokalen News-Server gelandet, übernimmt dieser die Verantwortung für die Zustellung des Artikels zu anderen News-Anwendern.
News werden im Netz über verschiedene Wege transportiert. Das historische Medium war UUCP, aber heutzutage wird der Hauptdatenverkehr über Internetsysteme abgewickelt. Das zum Routen verwendete Verfahren wird als Flooding-Algorithmus bezeichnet: Jedes System verwaltet eine Anzahl von Links (News-Feeds) zu anderen Systemen. Jeder vom lokalen System generierte oder empfangene Artikel wird an diese Links weitergeleitet. Wurde er bereits ausgeliefert, wird er ausrangiert. Ein System kann sich ansehen, welche Systeme der Artikel bereits passiert hat, indem es das Header-Feld Path:
untersucht. Dieser Header enthält eine Liste aller Systeme, die den Artikel weitergeleitet haben, in Bang-Path-Notation.
Um Artikel unterscheiden und Duplikate erkennen zu können, enthalten Usenet-Artikel eine sogenannte Message-ID (spezifiziert im Header-Feld Message-Id:
). Diese kombiniert den Namen des Systems, auf dem der Artikel gepostet wurde, und eine Seriennummer in einer Zeichenkette des Formats <seriennummer
@system
>. Für jeden verarbeiteten Artikel speichert das News-System diese ID in einer history-Datei, gegen die alle neu eingegangenen Artikel geprüft werden.
Der Fluß zwischen diesen beiden Systemen kann über zwei Kriterien eingeschränkt werden. Zum einen kann einem Artikel eine bestimmte “Distribution” (im Header-Feld Distribution:
) zugewiesen werden, die verwendet werden kann, um ihn auf eine bestimmte Gruppe von Systemen zu beschränken. Auf der anderen Seite kann die Anzahl der ausgetauschten Newsgruppen durch das sendende, aber auch durch das empfangende System eingeschränkt werden. Die Menge der Newsgruppen und Distributionen, die an ein bestimmtes System übertragen werden dürfen, ist üblicherweise in der Datei sys definiert.
Alleine die Anzahl der Artikel macht es üblicherweise notwendig, das obige Schema zu verbessern. Bei UUCP-Netzwerken ist es durchaus üblich, Artikel über eine gewisse Zeit zu sammeln und in einer einzelnen Datei zu speichern, die komprimiert und dann an das andere System übertragen wird. Diese Technik wird Stapelverarbeitung oder auch Batching genannt.
Eine alternative Technik ist das ihave/sendme-Protokoll, das verhindert, daß Artikel doppelt übertragen werden, und auf diese Weise Bandbreite spart. Anstatt alle Artikel in einer Batch-Datei zu speichern und zu versenden, werden nur die Message-IDs der Artikel zu einer großen “ihave”-Nachricht zusammengefaßt und an das andere System übertragen. Das andere System liest diese Nachricht und vergleicht sie mit der eigenen History-Datei. Daraufhin wird in einer “sendme”-Nachricht eine Liste der gewünschten Artikel zurückgeliefert. Nur diese Artikel werden dann übertragen.
Diese Technik macht natürlich nur Sinn, wenn zwei große Systeme Daten austauschen, die News jeweils über mehrere unabhängige Quellen beziehen und sich oft genuggegenseitig abfragen, so daß ein effizienter Fluß von News möglich ist.
Auf Internetsystemen wird in der Regel TCP/IP-basierte Software eingesetzt, die das Network News Transfer Protocol (NNTP) verwendet. NNTP ist in RFC-977 beschrieben und verantwortlich für die Übertragung von News zwischen News-Servern und bietet Usenet-Zugriff für einzelne Benutzer auf anderen Hosts.
NNTP kennt drei verschiedene Arten der News-Übertragung. Die erste ist eine Echtzeit-Version von ihave/sendme, die als “rüberschieben” (pushing) von News bezeichnet wird. Die zweite Technik ist das “Rüberziehen” (pulling) von News. Dabei fordert der Client eine Liste von Artikeln einer bestimmten Newsgruppe oder -Hierarchie an, die bis zu einem bestimmten Zeitpunkt auf der Serverseite angekommen sind, und wählt dann die aus, die in der History-Datei nicht gefunden werden. Bei der dritten Methode handelt es sich um interaktives Lesen von News. Dabei kann Ihr Newsreader Artikel aus angegebenen Newsgruppen empfangen und gleichzeitig Artikel mit unvollständigen Header-Informationen posten.
Auf jedem System werden News in einer Verzeichnis-Hierarchie unter /var/spool/news gehalten. Jeder Artikel steht in einer separaten Datei und jede Newsgruppe in einem separaten Verzeichnis. Der Verzeichnisname besteht aus dem Namen der Newsgruppe, wobei deren Komponenten die Komponenten des Pfads bilden. Die Artikel der Newsgruppe comp.os.linux.misc befinden sich also im Verzeichnis /var/spool/news/comp/os/linux/misc. Den Artikeln einer Newsgruppe werden Zahlen in der Reihenfolge ihres Eintreffens zugewiesen. Diese Zahlen dienen als Dateinamen. Der Wertebereich von Artikeln, die gerade online sind, wird in einer Datei namens active gespeichert. Die Datei enthält außerdem eine Liste der Newsgruppen, die Ihrem System bekannt sind.
Weil Festplattenplatz nur eine endliche Ressource ist, muß man nach einer gewissen Zeit anfangen, alte Artikel auszusortieren.1 Das wird als Expiring, also “Löschen”, bezeichnet. Üblicherweise werden Artikel aus bestimmten Gruppen und Hierarchien nach einer festen Zeit (in Tagen) für ungültig erklärt und gelöscht. Diese Zeit kann durch den Verfasser durch Angabe eines Ungültigkeitsdatums im Feld Expires:
des Artikel-Headers überschrieben werden.
Nun haben Sie genug Informationen gesammelt, um zu entscheiden, was Sie als nächstes lesen. UUCP-Nutzer sollten sich die C News in Kapitel 21 C News, vornehmen. Wenn Sie ein TCP/IP-Netzwerk benutzen, schauen Sie sich das Kapitel über NNTP in Kapitel 22 NNTP und der NNTPD-Dämon, an; falls Sie nur moderate Mengen an News per TCP/IP übertragen, könnte der in diesem Kapitel beschriebene Server ausreichen. Wenn Sie dagegen einen Hochleistungs-News-Server installieren wollen, der gigantische Mengen an Datenmaterial übertragen kann, lesen Sie das Kapitel über InterNet News in Kapitel 23 Internet News.
1. |
Manche Leute behaupten, das Usenet sei eine Verschwörung von Modem- und Festplattenherstellern. ;-) |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Weitere Informationen zum Linux - Wegweiser für Netzwerker
Weitere Online-Bücher & Probekapitel finden Sie in unserem Online Book Center
© 2001, O'Reilly Verlag