Im Katalog suchen

Linux - Wegweiser für Netzwerker

Online-Version

Copyright © 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.


vorheriges Kapitel Inhaltsverzeichnis Stichwortverzeichnis nächstes Kapitel



TOS-Bit-Manipulation

Die Type-of-Service-Bits (TOS) sind eine Menge von vier Bit-Flags im IP-Header. Ist eines dieser Flags gesetzt, können die Datagramme von Routern durchaus anders gehandhabt werden als Datagramme, bei denen das nicht der Fall ist. Jedes Bit erfüllt seinen bestimmten Zweck, und nur eines von ihnen darf gleichzeitig gesetzt sein, Kombinationen sind also nicht erlaubt. Die Bits werden Type-of-Service-Bits genannt, da sie es der übertragenden Applikation ermöglichen, dem Netzwerk mitzuteilen, welche Art von Dienstgüte gerade benötigt wird.

Die verschiedenen Klassen verfügbarer Dienstgüte sind:

Minimale Verzögerung (minimum delay)

Wird benutzt, wenn die Übertragungsdauer eines Datagramms vom Quell-Host zum Ziel-Host von größter Wichtigkeit ist. Ein Netzwerk-Provider könnte zum Beispiel sowohl optische Glasfaser- als auch Satelliten-Netzwerkverbindungen benutzen wollen. Da die Daten bei einer Übertragung über Satelliten eine größere Entfernung zurücklegen müssen, dauert der Transport zwischen denselben Enpunkten normalerweise länger als bei einer terrestrischen Übertragung. Der Netzwerk-Provider würde diese Option benutzen, um sicherzustellen, daß Datagramme mit diesem Type-of-Service nicht per Satellit übertragen werden.

Maximaler Durchsatz (maximum throughput)

Wird benutzt, wenn der Umfang der zu übertragenden Daten zu jedem Zeitpunkt wichtig ist. Es gibt viele Arten von Netzwerkapplikationen, bei denen die Datenverzögerung nicht so sehr im Vordergrund steht, dafür aber der Netzwerkdurchsatz. Ein Beispiel dafür sind Massen-Dateitransfers. Ein Netzwerk-Provider könnte entscheiden, daß Datagramme mit diesem Type-Of-Service über Wege geleitet würden, die die Daten zwar stark verzögern, aber eine große Bandbreite bieten, z.B. über Satelittenverbindungen.

Maximale Zuverlässigkeit (maximum reliability)

Wird benutzt, wenn Daten von der Quelladresse bis zur Zieladresse möglichst zuverlässig übertragen werden sollen, so daß keine wiederholten Übertragungen einzelner Datenpakete notwendig werden. Das IP-Protokoll kann von beliebig vielen zugrundeliegenden Transportmedien übertragen werden. Während zum Beispiel SLIP und PPP als Verbindungsprotokolle ganz brauchbar sind, können sie aber mit anderen IP-fähigen Netzwerken wie X.25, was die Zuverlässigkeit angeht, nicht mithalten. Ein Netzwerk-Provider könnte für diesen Type-of-Service ein alternatives Netzwerk vorgesehen haben, um es für besonders sichere Datenübertragungen einzusetzen.

Minimale Kosten (minimum cost)

Wird benutzt, wenn es wichtig ist, die Kosten für die Datenübertragung so gering wie möglich zu halten. Die Miete von Bandbreite auf einem Satelliten für eine transpazifische Übertragung ist grundsätzlich günstiger als die Miete für ein Glasfaser-Kabel über dieselbe Distanz. Ein Netzwerk-Provider könnte Ihnen Zugang zu beiden Übertragungsmöglichkeiten anbieten, für die Sie dann unterschiedlich zu bezahlen hätten. In einem solchen Szenario könnte Ihr “minimum-cost”-Type-of-Service-Bit dafür sorgen, daß das Datagramm über die günstigere Satellitenverbindung geroutet wird.

Setzen der TOS-Bits mit ipfwadm oder ipchains

Die Befehle ipfwadm und ipchains behandeln die TOS-Bits auf ziemlich ähnliche Weise. In beiden Fällen spezifizieren Sie eine Regel, die Datagramme mit bestimmten TOS-Bit-Einstellungen behandelt, und benutzen die Option -t, um die gewünschte Änderung durchzuführen.

Die Änderungen werden mittels zwei Bit-Masken vollzogen. Die erste dieser beiden Bitmasken wird mit dem Type-Of-Service-Feld im IP-Header des Datagramms logisch UND-verknüpft. Das Ergebnis wird anschließend mit der zweiten Bitmaske logisch XOR-verknüpft. Wenn sich das für Sie kompliziert anhört, geben wir Ihnen gleich ein Rezept, wie Sie die verschiedenen Type-of-Services einstellen können.

Die Bitmasken werden als 8-Bit-Hexadezimalzahlen angegeben. Sowohl ipfwadm als auch ipchains nutzen dieselbe Syntax für die Argumente:

-t UND-Maske XOR-Maske

Zum Glück können dieselben Masken-Argumente dazu benutzt werden, einen bestimmten Type-of-Service einzustellen, so daß Sie darüber nicht immer wieder nachdenken müssen. Sie sind zusammen mit einigen Anwendungsempfehlungen in Tabelle 9.3 dargestellt.

Tabelle 9.3: Empfohlene Anwendungen von TOS-Bitmasken

TOS UND-Maske XOR-Maske Empfohlene Anwendung
Minimum Delay 0x01 0x10 ftp, telnet, ssh
Maximum Throughput 0x01 0x08 ftp-data, www
Maximum Reliability 0x01 0x04 snmp, dns
Minimum Cost 0x01 0x02 nntp, smtp

Setzen der TOS-Bits mit iptables

Das Tool iptables ermöglicht Ihnen die Spezifikation von Regeln, die nur solche Datagramme verarbeiten, deren TOS-Bits zu manchen mit der Option -m tos vorbestimmten Werten passen. Außerdem können Sie mit der Option -j TOS die TOS-Bits solcher Datagramme setzen. Sie dürfen die TOS-Bits allerdings nur in der FORWARD- und in der OUTPUT-Kette setzen. Das Testen und Setzen dieser Bits geschieht weitgehend unabhängig voneinander. Sie können damit alle möglichen interessanten Regeln konfigurieren, zum Beispiel eine Regel, die alle Datagramme mit einer bestimmten TOS-Bit-Kombination abwehrt, oder eine Regel, die die TOS-Bits nur für Datagramme von einem bestimmten Host setzt. In den meisten Fällen werden Sie Regeln benutzen, die beides machen, sowohl Testen als auch Setzen von TOS-Bits, um TOS-Bit-Übersetzungen durchzuführen, wie Sie es bei ipfwadm oder ipchains tun könnten.

Im Gegensatz zur etwas komplizierten Zwei-Masken-Konfiguration von ipfwadm und ipchains benutzt iptables einen simpleren Ansatz, bei dem man ohne Umschweife direkt angeben kann, welche TOS-Bits getestet bzw. wie sie gesetzt werden sollen. Außerdem brauchen Sie sich keine hexadezimalen Werte zu merken, sondern Sie können dafür leicht zu behaltende Begriffe einsetzen, wie sie in der folgenden Tabelle aufgelistet sind.

Die allgemeine Syntax zum Testen der TOS-Bits lautet:

-m tos --tos Begriff [andere-Argumente] -j Ziel

Die allgemeine Syntax zum Setzen der TOS-Bits lautet:

[andere-Argumente] -j TOS --set Begriff

Es sei daran erinnert, daß diese Anweisungen normalerweise zusammen benutzt werden. Sie können sie aber auch unabhängig voneinander anwenden, falls Sie eine Konfiguration haben, die eine solche Vorgehensweise notwendig macht.

Begriff Hexadezimal
Normal-Service 0x00
Minimize-Cost 0x02
Maximize-Reliability 0x04
Maximize-Throughput 0x08
Minimize-Delay 0x10




vorheriges Kapitel Inhaltsverzeichnis Stichwortverzeichnis nächstes Kapitel


Weitere Informationen zum Linux - Wegweiser für Netzwerker

Weitere Online-Bücher & Probekapitel finden Sie in unserem Online Book Center


O'Reilly Home|O'Reilly-Partnerbuchhandlungen|Bestellinformationen
Kontakt|Über O'Reilly|Datenschutz

© 2001, O'Reilly Verlag