Firewall / Limit-Matcher

Mit dem „Limit“ kann man in der Firewall Pakete in Relation zur Häufigkeit matchen lassen.
Mikrotik schreibt dazu:

 

Matches packets up to a limited rate (packet rate or bit rate). Rule using this matcher will match until this limit is reached.

 

Möchte man z. B. Pakete dropen, die ÜBER dem Schwellwert liegen, muss die Regel negiert (!) werden!
Das Standardverhalten matcht BIS zum Schwellwert (nicht darüber).

 

Zu beachten ist, dass der Burst-Wert zwingend ausgefüllt werden muss!
Der Wert „0“ deaktiviert dieses Feature leider nicht, sondern führt dazu, dass wenn das Ergebnis: Gesamtpakete/2 < Rate ist, matchen Gesamtpakete/2, es matchen also 50% der Pakete. Wenn Gesamtpakete/2 > Rate ist, matchen Gesamtpakete-Rate.

Beispiel 1: Rate 50/sec, Burst 0
Es kommen 40 Pakete an, es matchen 50% (20 Pakete)! -> 40/2=20; 20<50 -> 20 matchen
Beispiel 2: Rate 50/sec, Burst 0
Es kommen 120 Pakete an, es matchen 70 Pakete! -> 120/2=60; 60>50 -> 120-50 -> 70 matchen

 

Mikrotik empfiehlt als Burst mindestens 1/100 der Rate als Burst zu setzen.

burst – initial number of packets or bits to match: this number gets recharged every 10ms so burst should be at least 1/100 of rate per second

In der Praxis hat sich bei geringen Werten auch 1/10 als gut geeignet erwiesen, also im Beispiel Burst=5. Dann matchen auch nicht mehr 50% der Pakete wenn der Schwellwert nicht erreicht wird:

Rate = 50 / Burst = 5 / incoming 40 Pakete
Rate = 50 / Burst = 5 / incoming 55 Pakete

 

Das Burst-Verhalten matcht immer auf die definierte Anzahl von Paketen. Im Beispiel wären in der ersten Sekunde (Zeitintervall) 50[Rate]+5[Burst]=55 Pakete erlaubt und ab dem 56 Pakete wird gedropt. Sollte die Regel in den darauf folgenden Zeitintervallen immer noch matchen, wird der Burst ignoriert und nur noch der Rate-Wert genommen (50 Pakete erlaubt und ab dem 51 Paket gedropt). Erst wenn die Regel ein Zeitintervall nicht mehr matcht und daraufhin wieder matcht, greift der Burst wieder (einmalig).

 


 

Wird die Regel nicht negiert, matchen Pakete bis zum Schwellwert. Wird kein Burst definiert (Burst = 0) und das Ergebnis: Gesamtframes/2 < Rate ist, wird Gesamtframes/2 genommen, es matchen also 50% der Pakete. Wenn Gesamtframes/2 > Rate ist, wird die definierte Rate genommen.

Beispiel 1: Rate 50/sec, Burst 0
Es kommen 40 Pakete an, es matchen 50% (20 Pakete)! -> 40/2=20; 20<50 -> 20 matchen
Beispiel 2: Rate 50/sec, Burst 0
Es kommen 120 Pakete an, es matchen 50 Pakete! -> 120/2=60; 60>50 -> 50 matchen

 


Referenzen:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.