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:
committed_rate – Legt die committed rate für den Datenfluss in Bit pro Sekunde fest.
committed_burst – Legt die committed burst-Größe in Bit fest. Der committed_burst-Parameter legt fest, wie viele abgehende Pakete einer bestimmten Klasse bei committed rate in das Netzwerk passieren können.
peak_rate – Legt die peak rate in Bit pro Sekunde fest.
peak_burst – Legt die peak oder excess burst-Größe in Bit fest. Der peak_burst-Parameter gewährt einer Verkehrsklasse eine peak-burst-Größe, die die committed rate übersteigt.
color_aware – Aktiviert den Erkennungsmodus für tokenmt.
color_map – Definiert ein Array mit ganzen Zahlen, das DSCP-Werte den Farben grün, gelb und rot zuordnet.
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.
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.
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.
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.