Systemverwaltungshandbuch: IP Services

IPQoS-Architektur und das Diffserv-Modell

In diesem Abschnitt werden die IPQoS-Architektur und die Einflüsse von IPQoS auf das Differentiated Services (Diffserv)-Modell beschrieben, das unter RFC 2475, An Architecture for Differentiated Services definiert ist. In IPQoS sind die folgenden Elemente des Diffserv-Modells enthalten:

Darüber hinaus umfasst IPQoS das Flow Accounting-Modul und den dlcosmk-Marker für die Verwendung mit Geräten für virtuelle lokale Netzwerke (VLANs).

Classifier-Modul

Im Diffserv-Modell ist ein Classifier für die Strukturierung der ausgewählten Verkehrswerte in Gruppen verantwortlich, an denen unterschiedliche Serviceebenen angewendet werden. Die in RFC 2475 definierten Classifier wurden ursprünglich für Grenzrouter konzipiert. Der IPQoS-Classifier ipgpc dient jedoch zur Verarbeitung von Verkehrswerten auf Hosts, die sich in einem lokalen Netzwerk befinden. Somit kann ein Netzwerk mit IPQoS-Systemen und einem Diffserv-Router mehr Differentiated Services bereitstellen. Eine technische Beschreibung des ipgpc-Classifiers finden Sie in der Manpage ipgpc(7ipp).

Der ipgpc-Classifier führt Folgendes aus:

  1. Wählt Verkehrswerte aus, der den in der IPQoS-Konfigurationsdatei auf dem IPQoS-konformen Systemen angegebenen Kriterien entsprechen

    Die QoS-Richtlinie definiert verschiedene Kriterien, die in den Paket-Headern vorhanden sein müssen. Diese Kriterien werden als Selektoren bezeichnet. Der ipgpc-Classifier vergleicht diese Selektoren mit den Paket-Headern, die vom IPQoS-System empfangen wurden. ipgpc wählt dann alle übereinstimmenden Pakete aus.

  2. Teilt den Paketverkehr in Klassen (Netzverkehr mit den gleichen Eigenschaften) gemäß der Definition in der IPQoS-Konfigurationsdatei auf

  3. Prüft den Wert im Differentiated Service (DS)-Feld des Pakets auf das Vorhandensein eines Differentiated Services Codepoint (DSCP)

    Das Vorhandensein des DSCP gibt an, ob der eingehende Verkehr vom Sender mit einem Weiterleitungsverhalten versehen wurde.

  4. Ermittelt, welche weitere Aktion in der IPQoS-Konfigurationsdatei für die Pakete einer bestimmten Klasse definiert wurde

  5. Übergibt die Pakete an das nächste in der IPQoS-Konfigurationsdatei angegebene IPQoS-Modul, gibt die Pakete an den Netzwerkdatenfluss zurück

Eine Übersicht zu diesem Classifier finden Sie unter Classifier (ipgpc) – Übersicht. Informationen zum Aufrufen des Classifiers in der IPQoS-Konfigurationsdatei finden Sie unter IPQoS-Konfigurationsdatei.

IPQoS-Selektoren

Der ipgpc-Classifier unterstützt verschiedene Selektoren, die Sie in der filter-Klausel der IPQoS-Konfigurationsdatei angeben können. Wenn Sie einen Filter definieren, verwenden Sie immer die Mindestanzahl an Selektoren, die zum erfolgreichen Abrufen von Datenverkehr für eine bestimmte Klasse erforderlich ist. Die Anzahl der von Ihnen definierten Filter kann sich auf die IPQoS-Performance auswirken.

In der folgenden Tabelle sind die für ipgpc verfügbaren Selektoren aufgeführt.

Tabelle 37–1 Filter-Selektoren für den IPQoS-Classifier

Selektor 

Argument 

Ausgewählte Informationen 

saddr

IP-Adressnummer. 

Quelladresse. 

daddr

IP-Adressnummer. 

Zieladresse. 

sport

Entweder eine Portnummer oder ein Servicename gemäß der Definition in /etc/services.

Ursprungsport, von dem die Verkehrsklasse stammt. 

dport

Entweder eine Portnummer oder ein Servicename gemäß der Definition in /etc/services.

Zielport, für den die Verkehrsklasse bestimmt ist. 

protocol

Entweder eine Protokollnummer oder ein Protokollname gemäß der Definition in /etc/protocols.

Protokoll, das von dieser Verkehrsklasse verwendet werden muss. 

dsfield

DS Codepoint (DSCP) mit einem Wert zwischen 0 und 63. 

DSCP, der das Weiterleitungsverhalten für das Paket definiert. Wenn dieser Parameter angegeben ist, muss auch der Parameter dsfield_mask angegeben sein.

dsfield_mask

Bitmaske mit einem Wert zwischen 0 und 255. 

Wird zusammen mit dem Selektor dsfield verwendet. dsfield_mask wird an dem Selektor dsfield angewendet, um festzustellen, welche Bit übereinstimmen müssen.

if_name

Schnittstellenname. 

Schnittstelle, die entweder für eingehenden oder abgehenden Verkehr einer bestimmten Klasse verwendet werden muss. 

user

Nummer der auszuwählenden UNIX-Benutzer-ID bzw. des auszuwählenden Benutzernamens. Wenn keine Benutzer-ID oder Benutzername im Paket vorhanden ist, wird der Standardwert –1 verwendet. 

Die Benutzer-ID wird an eine Anwendung übermittelt. 

projid

Nummer der auszuwählenden Projekt-ID. 

Die Projekt-ID wird an eine Anwendung übermittelt. 

priority

Prioritätsnummer. Die niedrigste Priorität ist 0. 

Priorität, die Pakete dieser Klasse zugewiesen wird. Die Priorität dient zum Bestimmen der Wichtigkeit von Filtern für die gleiche Klasse. 

direction

Argumente können eines der Folgenden sein: 

Richtung des Paketflusses auf dem IPQoS-Computer.  

 

LOCAL_IN

Eingehender lokaler Verkehr zum IPQoS-System. 

 

LOCAL_OUT

Abgehender lokaler Verkehr zum IPQoS-System. 

 

FWD_IN

Eingehender, weiterzuleitender Verkehr. 

 

FWD_OUT

Abgehender, weiterzuleitender Verkehr. 

precedence

Wert der Prioritätsstufe. Die höchste Prioritätsstufe ist 0. 

Die Prioritätsstufe dient zum Sortieren von Filtern mit der gleichen Priorität. 

ip_version

V4 oder V6

Von den Paketen verwendetes Adressierungsschema, entweder IPv4 oder IPv6. 

Metermodul

Ein Meter verfolgt die Übertragungsrate von Datenströmen auf Paketbasis. Der Meter bestimmt, ob das Paket den konfigurierten Parametern entspricht. Das Metermodul bestimmt die nächste Aktion für ein Paket aus einer Reihe von Aktionen. Diese Aktion hängt von der Paketgröße, den konfigurierten Parametern und der Datenflussrate ab.

Der Meter besteht aus Metermodulen, tokenmt und tswtclmt, die Sie in der IPQoS-Konfigurationsdatei definieren. Sie können entweder ein Modul oder beide für eine Klasse konfigurieren.

Bei der Konfiguration eines Metermoduls können Sie zwei Parameter für die Rate definieren:

Eine Messaktion an einem Paket kann zu einem von drei möglichen Ergebnissen führen:

Sie können jedes Ergebnis mit anderen Aktionen in der IPQoS-Konfigurationsdatei konfigurieren. Committed rate und peak rate werden im folgenden Abschnitt erklärt.

tokenmt-Metermodul

Das tokenmt-Modul verwendet token buckets, um die Übertragungsrate eines Datenflusses zu messen. Sie können tokenmt als Single-Rate- oder Two-Rate-Meter konfigurieren. Eine tokenmt-Aktionsinstanz verwaltet zwei Token Buckets, die feststellen, ob der Verkehrswert den konfigurierten Parametern entspricht.

Wie IPQoS das Token Meter-Paradigma umsetzt wird in der Manpage tokenmt(7ipp) beschrieben. Allgemeine Informationen zu Token Buckets finden Sie in Kalevi Kilkki's Differentiated Services for the Internet und auf verschiedenen anderen Websites.

Die Konfigurationsparameter für tokenmt sind:

Konfiguration von tokenmt als Single-Rate Meter

Um tokenmt als einen Single-Rate Meter zu konfigurieren, geben Sie keinen peak_rate-Parameter für tokenmt in der IPQoS-Konfigurationsdatei an. Damit eine Single-Rate tokenmt-Instanz das Ergebnis rot, grün oder gelb liefert, müssen Sie den peak_burst-Parameter angeben. Wenn Sie den peak_burst-Parameter nicht verwenden, kann tokenmt als Ergebnis nur rot oder grün liefern. Ein Beispiel für eine Single-Rate tokenmt mit zwei Ergebnissen finden Sie in Beispiel 34–3.

Wenn tokenmt als Single-Rate Meter eingesetzt wird, ist der peak_burst-Parameter tatsächlich die excess burst-Größe. committed_rate und entweder committed_burst oder peak_burst müssen positive ganze Zahlen ungleich Null sein.

Konfiguration von tokenmt als Two-Rate Meter

Um tokenmt als einen Two-Rate Meter zu konfigurieren, geben Sie einen peak_rate-Parameter für tokenmt in der IPQoS-Konfigurationsdatei an. Eine Two-Rate tokenmt-Instanz hat immer drei mögliche Ergebnisse: rot, gelb und grün. Die Parameter committed_rate, committed_burst und peak_burst müssen positive ganze Zahlen ungleich Null sein.

Konfiguration von tokenmt zur Erkennung von Farben

Damit eine Two-Rate tokenmt-Instanz Farben erkennen kann, müssen Sie zwei Parameter für die „Farberkennung„ spezifisch hinzufügen. Im Folgenden finden Sie ein Beispiel für eine action-Anweisung, die tokenmt zur Erkennung von Farben konfiguriert.


Beispiel 37–1 tokenmt-Aktion zur Farberkennung für die IPQoS-Konfigurationsdatei

action {
    module tokenmt
    name meter1
    params {
	      committed_rate 4000000
	      peak_rate 8000000
	      committed_burst 4000000
	      peak_burst 8000000
	      global_stats true
	      red_action_name continue
	      yellow_action_name continue
	      green_action_name continue
	      color_aware true
	      color_map {0-20,22:GREEN;21,23-42:RED;43-63:YELLOW}
    }
}

Sie aktivieren die Farberkennung, indem Sie den color_aware-Parameter auf true setzen. Als farbempfindliches Metermodul geht tokenmt davon aus, dass das Paket bereits in einer früheren tokenmt-Aktion mit rot, gelb oder grün markiert wurde. Ein farbbewusstes tokenmt-Modul wertet ein Paket aus, indem es den DSCP im Paket-Header zusätzlich zu den Parameter für ein Two-Rate Meter verwendet.

Der color_map-Parameter enthält ein Array, in dem der DSCP im Paket-Header zugeordnet ist. Betrachten Sie das folgende color_map-Array:

color_map {0-20,22:GREEN;21,23-42:RED;43-63:YELLOW}

Pakete mit einem DSCP zwischen 0 und 20 sowie 22 werden „grün“ zugeordnet. Pakete mit einem DSCP von 21 und zwischen 23 und 42 sind „rot“ zugeordnet. Pakete mit einem DSCP zwischen 43 und 63 sind„gelb“ zugeordnet. tokenmt unterhält eine Standard-Farbkarte. Sie können die Standardeinstellungen jedoch Ihren Anforderungen entsprechend mit den color_map-Parameter anpassen.

In den color_action_name-Parameter können Sie continue angeben, um die Verarbeitung des Pakets abzuschließen. Oder Sie fügen ein Argument hinzu, um das Paket an eine Marker-Aktion zu senden, beispielsweise an yellow_action_name mark22.

tswtclmt-Metermodul

Das Metermodul tswtclmt schätzt die durchschnittliche Bandbreite einer Verkehrsklasse mithilfe eines Zeit-basierten Rate Estimator. tswtclmt wird immer als Three-Outcome Meter eingesetzt. Der Rate Estimator bietet eine Schätzung des eingehenden Datenverkehrs. Diese Rate muss etwa der laufenden durchschnittlichen Bandbreite des Datenflusses über eine bestimmte Zeit, dem Zeitfenster entsprechen. Der Rate Estimation-Algorithmus stammt aus RFC 2859, A Time Sliding Window Three Colour Marker.

Zur Konfiguration von tswtclmt verwenden Sie die folgenden Parameter:

Technische Informationen zu tswtclmt finden Sie in der Manpage tswtclmt(7ipp) Allgemeine Information zu Rate Shapern, die ähnlich zu tswtclmt sind, finden Sie unter RFC 2963, A Rate Adaptive Shaper for Differentiated Services.

Markermodul

IPQoS umfasst die zwei Markermodule dscpmk und dlcosmk. In diesem Abschnitt wird beschrieben, wie Sie mit den beiden Markern arbeiten. Normalerweise verwenden Sie dscpmk, da dlcosmk nur für IPQoS-Systeme mit VLAN-Geräten zur Verfügung steht.

Technische Informationen zu dscpmk finden Sie in der Manpage dscpmk(7ipp). Technische Informationen zu dlcosmk finden Sie in der Manpage dlcosmk(7ipp).

Verwenden des Markers dscpmk zum Weiterleiten von Paketen

Der Marker empfängt Verkehrswerte, nachdem die Ströme von einem Classifier oder den Metermodulen verarbeitet wurden. Der Marker makiert den Datenverkehr mit einem Weiterleitungsverhalten. Dieses Weiterleitungsverhalten ist die Aktion, die an Datenströmen vorgenommen wird, nachdem die Datenströme das IPQoS-System verlassen haben. Das Weiterleitungsverhalten für eine Datenverkehrsklasse ist in dem Per-Hop-Behavior (PHB) festgelegt. Das PHB weist einer Datenverkehrsklasse eine bestimmte Priorität zu, die den Rang der Datenstöme einer Klasse gegenüber anderen Verkehrsklassen anzeigt. PHBs überwacht nur das Weiterleitungsverhalten in dem an das IPQoS-System angrenzenden Netzwerk. Weitere Informationen zu PHBs finden Sie unter Per-Hop-Behaviors.

Paketweiterleitung ist der Prozess des Sendens von Datenverkehr einer bestimmten Klasse an das nächste Ziel in einem Netzwerk. Bei einem Host wie einem IPQoS-System wird ein Paket vom Host an den lokalen Netzwerkdatenfluss weitergeleitet. Bei einem Diffserv-Router wird ein Paket von lokalen Netzwerk an den nächsten Hop des Routers weitergeleitet.

Der Marker markiert das DS-Feld im Paket-Header mit einem bekannten Weiterleitungsverhalten, das in der IPQoS-Konfigurationsdatei definiert ist. Danach leiten das IPQoS-System und nachfolgende Diffserv-konforme Systeme den Verkehr gemäß der Angabe im DS-Feld weiter, bis die Markierung geändert wird. Um ein PHB zuzuweisen, markiert das IPQoS-System einen Wert im DS-Feld des Paket-Headers. Dieser Wert wird als der Differentiated Services Codepoint (DSCP) bezeichnet. Die Diffserv-Architektur definiert zwei Arten von Weiterleitungsverhalten, EF und AF, die unterschiedliche DSCPs verwenden. Eine Einführung in DSCPs finden Sie unter DS Codepoint.

Das IPQoS-System liest den DSCP für den Verkehrswert ein und wertet die Prioritätsstufe des Datenflusses in Relation zu anderen abgehenden Verkehrswerten aus. Dann priorisiert das IPQoS-System alle gleichzeitig auftretenden Verkehrswerte und gibt jeden Strom nach seiner Priorität in das Netzwerk frei.

Der Diffserv-Router empfängt abgehende Verkehrswerte und liest das DS-Feld in den Paket-Headern ein. Anhand des DSCP kann der Router gleichzeitig auftretende Verkehrswerte priorisieren und planen. Dann leitet der Router jeden Datenfluss nach der Priorität weiter, die durch das PHB angegeben ist. Beachten Sie, dass das PHB nicht über den Grenzrouter des Netzwerk hinaus Anwendung findet, es sei denn, Diffserv-konforme Systeme in den nachfolgenden Hops erkennen das gleiche PHB.

Expedited Forwarding (EF) PHB

Expedited forwarding (EF) garantiert, dass Pakete mit dem empfohlenen EF Codepoint 46 (101110) die beste Behandlung erfahren, die zur Freigabe in das Netzwerk verfügbar ist. Expedited Forwarding wird häufig mit einer Standleitung verglichen. Pakete mit dem Codepoint 46 (101110) erhalten eine garantierte bevorzugte Behandlung von allen Diffserv-Routern auf dem Weg zum Ziel der Pakete. Technische Informationen zum EF finden Sie in der RFC 2598, An Expedited Forwarding PHB.

Assured Forwarding (AF) PHB

Assured Forwarding (AF) bietet vier verschiedene Klassen für das Weiterleitungsverhalten, das Sie für den Marker angeben können. Die folgende Tabelle zeigt die Klassen, die drei drop-Prioritätsstufen, die mit jeder Klasse bereitgestellt werden, und die empfohlenen DSCPs, die jeder Prioritätsstufe zugeordnet sind. Jeder DSCP wird durch seinen AF-Wert, seinem dezimalen Wert und seinem binären Wert dargestellt.

Tabelle 37–2 Assured Forwarding Codepoints

 

Klasse 1 

Klasse 2 

Klasse 3 

Klasse 4 

Low-Drop-Prioritätsstufe

AF11 = 

10 (001010) 

AF21 = 

18 (010010) 

AF31 = 

26 (011010) 

AF41 = 

34 (100010) 

Medium-Drop- Prioritätsstufe

AF12 = 

12 (001100) 

AF22 = 

20 (010100) 

AF32 = 

28 (011100) 

AF42 =  

36 (100100) 

High-Drop-Prioritätsstufe

AF13 = 

14 (001110) 

AF23 = 

22 (010110) 

AF33 = 

30 (011110) 

AF43 = 

38 (100110) 

Jedes Diffserv-konforme System kann den AF Codepoint als Leitfaden zum Bereitstellen von differenzierten Weiterleitungsverhalten für verschiedene Verkehrsklassen verwenden.

Wenn diese Pakete einen Diffserv-Router erreichen, wertet der Router die Codepoints der Pakete zusammen mit den DSCPs anderen Datenverkehrs in der Warteschlange aus. Abhängig von der verfügbaren Bandbreite und den Prioritäten gemäß den Paket-DSCPs leitet der Router die Pakete dann entweder weiter oder wirft sie ab. Pakete, die mit dem EF PHB gekennzeichnet sind, erhalten eine garantierte Bandbreite im Vergleich zu Paketen, die mit den verschiedenen anderen AF PHBs gekennzeichnet sind.

Koordinieren Sie die Paketmarkierung zwischen den IPQoS-Systemen in Ihrem Netzwerk und dem Diffserv-Router, um sicherzustellen, dass die Pakete wie erwartet weitergeleitet werden. Angenommen, die IPQoS-Systeme in Ihrem Netzwerk markieren die Pakete mit den Codepoints AF21 (010010), AF13 (001110), AF43 (100110) und EF (101110). In diesem Fall müssen Sie die DSCPs AF21, AF13, AF43 und EF zur entsprechenden Datei auf dem Diffserv-Router hinzufügen.

Eine technische Erläuterung der AF-Codepoint-Tabelle finden Sie in der Norm RFC 2597. Die Router-Hersteller Cisco Systems und Juniper Networks veröffentlichen ausführliche Information zur AF PHB-Einstellung auf ihren Websites. Sie können diese Informationen sowohl zum Definieren von AF PHBs für IPQoS-Systeme als auch für Router verwenden. Darüber hinaus enthält die Dokumentation der Router-Hersteller Anweisungen zum Einrichten der DS Codepoints auf ihren Geräten.

Bereitstellen eines DSCP für einen Marker

Der DSCP ist 6 Bit lang. Das DS-Feld ist 1 Byte lang. Wenn Sie einen DSCP definieren, markiert der Marker die ersten sechs Bit des Paket-Headers mit dem DS Codepoint. Die verbleibenden zwei Bit bleiben unbenutzt.

Zum Definieren eines DSCP verwenden Sie den folgenden Parameter innerhalb einer Marker action-Anweisung:


 dscp_map{0-63:DS_codepoint}

Der dscp_map-Parameter ist ein Array mit 64 Elementen, das Sie mit dem (DSCP)-Wert füllen. dscp_map wird zum Zuordnen von eingehenden DSCPs zu abgehenden DSCPs verwendet, die vom dscpmk-Marker angewendet werden.

Sie müssen den DSCP-Wert für dscp_map im Dezimalformat angeben. Beispielsweise müssen Sie den EF Codepoint 101110 in den Dezimalwert 46 übertragen: dscp_map{0-63:46}. Bei AF Codepoints müssen Sie die verschiedenen Codepoints aus Tabelle 37–2 für die Verwendung durch dscp_map in die dezimale Notation übertragen.

Verwenden des Markers dlcosmk mit VLAN-Geräten

Das Markermodul dlcosmk markiert ein Weiterleitungsverhalten im MAC-Header eines Datagramms. dlcosmk können Sie nur in einem IPQoS-System mit einer VLAN-Schnittstelle einsetzen.

dlcosmk fügt dem VLAN-Header vier Byte hinzu, die als VLAN-Tag bezeichnet werden. Das VLAN-Tag enthält einen 3-Bit-Wert für die Benutzerpriorität, der vom IEEE 801.D-Standard definiert wird. Diffserv-konforme Switches, die VLAN verstehen, können ein Benutzerpriorität-Feld in einem Datagramm lesen. Die 801.D-Benutzerprioritätswerte implementieren die Serviceklassen (CoS)-Markierungen, die kommerziellen Switches bekannt sind und von ihnen verstanden werden.

Sie verwenden die Benutzerprioritätswerte in der dlcosmk-Markeraktion, indem Sie die in der folgenden Tabelle aufgeführten Serviceklassenmarkierungen definieren.

Tabelle 37–3 801.D-Benutzerprioritätswerte

Serviceklasse 

Definition 

Beste Leistung 

Hintergrund 

Spare 

Exzellente Leistung 

Kontrollierte Last 

Video weniger als 100 ms Latenz 

Video weniger als 10 ms Latenz 

Netzwerkkontrolle 

Weitere Informationen zu dlcosmk finden Sie in der Manpage dlcosmk(7ipp).

IPQoS-Konfiguration für Systeme mit VLAN-Geräten

In diesem Abschnitt wird ein einfaches Netzwerkszenario vorgestellt, mit dem gezeigt wird, wie IPQoS auf Systemen mit VLAN-Geräten implementiert wird. Das Szenario umfasst zwei IPQoS-Systeme, machine1 und machine2, die über einen Switch miteinander verbunden sind. Das VLAN-Gerät in machine1 hat die IP-Adresse 10.10.8.1. Das VLAN-Gerät in machine2 hat die IP-Adresse 10.10.8.3.

Die folgende IPQoS-Konfigurationsdatei für machine1 zeigt eine einfache Lösung zum Markieren von Datenverkehr über den Switch an machine2.


Beispiel 37–2 IPQoS-Konfigurationsdatei für ein System mit einem VLAN-Gerät

fmt_version 1.0
action {
        module ipgpc
	      name ipgpc.classify

        filter {
                name myfilter2
                daddr 10.10.8.3
                class myclass
        }

        class {
                name myclass
                next_action mark4
        }
}

action {
        name mark4
        module dlcosmk
        params {
                cos 4
                next_action continue
		global_stats true
        }
}

Bei dieser Konfiguration wird jeglicher Datenverkehr von machine1, der für das VLAN-Gerät in machine2 bestimmt ist, an den dlcosmk-Marker übergeben. Die Markeraktion mark4 weist dlcosmk an, Datagrammen der Klasse myclass mit einem CoS von 4 ein VLAN-Mark zuzuweisen. Der Benutzerprioritätswert 4 gibt an, dass der Switch zwischen beiden Rechnern Traffic-Flows vom Typ myclass kontrollierte Lastenweiterleitung von machine1 zuweisen soll.

flowacct-Modul

Das IPQoS flowacct-Modul zeichnet Informationen zu den Verkehrswerten auf, ein Vorgang, der als Flow Accounting bezeichnet wird. Das Flow Accounting erzeugt Daten, die entweder zur Rechnungsstellung für Kunden oder zur Auswertung der Menge an Datenverkehr einer bestimmten Klasse verwendet werden können.

Das Flow Accounting ist optional. flowacct ist in der Regel das letzte Modul, auf das ein gemessener oder markierter Verkehrswert trifft, bevor er in den Netzwerkstrom freigegeben wird. Eine Darstellung der Position von flowacct im Diffserv-Modell finden Sie in Abbildung 32–1. Ausführliche technische Informationen zu flowacct finden Sie in der Manpage flowacct(7ipp).

Zum Aktivieren des Flow Accounting benötigen Sie die Oracle Solaris Accounting-Funktion exacct und den Befehl acctadm sowie flowacct. Allgemeine Schritte zum Einrichten des Flow Accounting finden Sie unter Einrichten des Flow Accounting (Übersicht der Schritte).

flowacct-Parameter

Das flowacct-Modul sammelt Informationen zu den Datenströmen in einer Flow-Tabelle mit Flow-Datensätzen. Jeder Eintrag in der Tabelle enthält einen Flow-Datensatz. Sie können eine Flow-Tabelle nicht anzeigen.

In der IPQoS-Konfigurationsdatei definieren Sie die folgenden flowacct-Parameter, um die Flow-Datensätze zu messen und in die Flow-Tabelle zu schreiben:

Ein Beispiel für die Anwendung von flowacct-Parameter in der IPQoS-Konfigurationsdatei finden Sie unter So konfigurieren Sie die Verkehrssteuerung in der IPQoS-Konfigurationsdatei.

Flow-Tabelle

Das flowacct-Modul verwaltet eine Flow-Tabelle, in der alle Paket-Datenströme aufgezeichnet werden, die von einer flowacct-Instanz erfasst werden. Ein Datenfluss wird durch die folgenden Parameter gekennzeichnet, die in dem flowacct 8–Tuple enthalten sind:

Wenn alle Parameter des 8–Tuple für einen Datenfluss gleich bleiben, enthält die Flow-Tabelle nur einen einzigen Eintrag. Der max_limit-Parameter legt die Anzahl an Einträgen fest, die eine Flow-Tabelle aufnehmen kann.

Die Flow-Tabelle wird in dem Intervall gescannt, das für den timer-Parameter in der IPQoS-Konfigurationsdatei angegeben ist. Die Standardeinstellung beträgt 15 Sekunden. Ein Datenfluss erfährt einen „Timeout“, wenn das IPQoS-System mindestens über das in der IPQoS-Konfigurationsdatei festgelegte timeout-Intervall keine Pakete dieses Datenflusses erfasst. Das standardmäßige Timeout-Intervall beträgt 60 Sekunden. Einträge, für die ein Timeout eingetreten ist, werden in die zuvor mit dem Befehl acctadm erstellte Accounting-Datei geschrieben.

flowacct-Datensätze

Ein flowacct-Datensatz enthält die in der folgenden Tabelle beschriebenen Attribute.

Tabelle 37–4 Attribute eines flowacct-Datensatzes

Attributname 

Attributinhalt 

Typ 

src-addr-Adresstyp

Ursprungsadresse des Absenders. Adresstyp ist entweder v4 für IPv4 oder v6 für IPv6, je nach Angabe in der IPQoS-Konfigurationsdatei.

Basic  

dest-addr-Adresstyp

Zieladresse der Pakete. Adresstyp ist entweder v4 für IPv4 oder v6 für IPv6, je nach Angabe in der IPQoS-Konfigurationsdatei.

Basic 

src-port

Ursprungs-Port, von dem Verkehrsfluss stammt.  

Basic 

dest-port

Ziel-Port, für den dieser Verkehrsfluss bestimmt ist.  

Basic 

protocol

Protokollnummern des Verkehrsflusses.  

Basic 

total-packets

Anzahl der Pakete im Verkehrsfluss. 

Basic 

total-bytes

Anzahl der Byte im Verkehrsfluss. 

Basic  

Aktionsname

Name der flowacct-Aktion, die diesen Verkehrsfluss aufgezeichnet hat.

Basic 

creation-time

Uhrzeit, wann das erste Paket des Verkehrsflusses von flowacct erfasst wurde.

Nur Extended 

last-seen

Uhrzeit, wann zuletzt ein Paket des Verkehrsflusses erfasst wurde. 

Nur Extended 

diffserv-field

DSCP in den Headern abgehender Pakete im Verkehrsfluss. 

Nur Extended 

user

Entweder eine UNIX-Benutzer-ID oder ein Benutzername, der von der Anwendung bezogen wird. 

Nur Extended 

projid

Projekt-ID, die von der Anwendung bezogen wird. 

Nur Extended 

Verwenden von acctadm mit dem flowacct-Modul

Mit dem Befehl acctadm können Sie eine Datei erstellen, in der die verschiedenen vom flowacct-Modul erzeugten Flow-Datensätze gespeichert werden. acctadm arbeitet mit der Extended Accounting-Funktion zusammen. Technische Informationen zu acctadm finden Sie in der Manpage acctadm(1M).

Das flowacct-Modul überwacht Verkehrsflüsse und füllt die Flow-Tabelle mit Flow-Datensätzen. Dann wertet flowacct seine Parameter und Attribute in dem von timer vorgegebenen Intervall aus. Wenn ein Paket über die Werte last_seen plus timeout nicht erfasst wird, tritt ein Timeout für das Paket auf. Alle Einträge mit einem Timeout werden aus der Flow-Tabelle gelöscht. Diese Einträge werden dann in dem durch den Parameter timer vorgegebenen Intervall in die Accounting-Datei geschrieben.

Zum Aufrufen von acctadm für das flowacct-Modul verwenden Sie die folgende Befehlssyntax:

acctadm -e file-type -f filename flow
acctadm -e

Ruft acctadm mit der Option -e auf. Das -e gibt an, dass eine Ressourcenliste folgt.

Dateityp

Gibt die zu erfassenden Attribute an. Dateityp muss durch entweder basic oder extended ersetzt werden. Eine Liste der Attribute für jeden Dateityp finden Sie in Tabelle 37–4.

-fDateiname

Erstellt die Datei Dateiname, in der die Flow-Datensätze gespeichert werden.

flow

Gibt an, dass acctadm mit IPQoS ausgeführt wird.