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).
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:
timer – Definiert ein Zeitintervall in Millisekunden, nach dem Datenströmen mit einer Zeitüberschreitung aus der Flow-Tabelle entfernt und in eine Datei geschrieben werden, die von acctadm erstellt wird.
timeout – Definiert ein Zeitintervall in Millisekunden, mit dem festgelegt wird, wie lange ein Paketdatenfluss inaktiv sein muss bis eine Zeitüberschreitung eintritt
Sie können timer und timeout mit unterschiedlichen Werten konfigurieren.
max_limit – Legt einen oberen Grenzwert für die Anzahl an Flow-Datensätze fest, die in der Flow-Tabelle gespeichert werden können
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.
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:
Quelladresse
Zieladresse
Ursprungs-Port
Ziel-Port
DSCP
Benutzer-ID
Projekt-ID
Protokollnummer
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.
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 |
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
Ruft acctadm mit der Option -e auf. Das -e gibt an, dass eine Ressourcenliste folgt.
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.
Erstellt die Datei Dateiname, in der die Flow-Datensätze gespeichert werden.
Gibt an, dass acctadm mit IPQoS ausgeführt wird.