modified on 21 gru 2009 at 13:50 ••• 10 849 views

WMM

Z MikroTik Wiki

Spis treści

Jak działa WMM

Mechanizm WWM dzieli ruch na 4 kategorie dostępu: w tle, najlepszy efekt, wideo, głos. Polityka QoS (różna dla różnych kategorii) stosowana jest dla transmitowanych pakietów. Urządzenie transmitujące różnie traktuje różne pakiety. Na przykład: AP nie ma kontroli nad tym jak klienci transmitują pakiety a klienci nie mają kontroli nad transmitowaniem pakietów przez AP.

Mikrotik AP i klient klasyfikują pakiety w oparciu o ich priorytet:

1,2 - w tle

0,3 - najlepszy efekt

4,5 - wideo

6,7 - głos

Aby móc używać wiele kategorii dostępu WMM należy przydzielić pakietom priorytet. Domyślnie wszystkie pakiety (przychodzące i generowanie lokalnie) wewnątrz routera mają priorytet 0.

"Lepsza" kategoria dostępu dla pakietu nie musi oznaczać, że zostanie on przesłany przed innymi pakietami z "gorszą" kategorią. WMM stosuje metodę DCF dla dostępu z różnymi ustawieniami dla każdej kategorii dostępu (RDCF), co teoretycznie oznacza, że "lepsza" kategoria dostępu ma większe prawdopodobieństwo uzyskania dostępu do medium - stacja z włączonym WMM może być rozważana jako 4 stacje, po jednej na kategorię dostępu. Stację z "lepszą" kategorią mają większą szansę na przesłanie pakietu (przez użycie mniejszych czasów bakcoff) gdy wszystkie próbują uzyskać dostęp do medium. Szczegóły znajdują się w 802.11e i specyfikacji WMM.

Jak ustawić priorytet

Priority of packets can be set using "set priority" action of ip firewall mangle rules and/or bridge firewall filter rules. Priority can be set to specific value or to "ingress priority". Ingress priority is priority value that was detected on incoming packet, if available. Currently there are 2 sources of ingress priority - priority in VLAN header and priority from WMM packets received over wireless interface. For all other packets ingress priority is 0.

Note that ingress priority value is not automatically copied to priority value, correct rule needs to be set up to do this!

So there are basically 2 ways to control/set priority (remember, that both require setting up correct rule(s)!): - assign priority with rules with particular matchers (protocol, addresses, etc), - set it from ingress priority.

This essentialy means that if it is not possible or wanted to classify packets by rules, configuration of network must be such that router can extract ingress priority from incoming frames. Remember there are currently 2 sources for this - VLAN tag in packets and received WMM packets.

Do not mix priority of queues with priority assigned to packets. Priorities of queues work separately and specify "importance" of queue and has meaning only within particular queue setup. Think of packet priority as of some kind of mark, that gets attached to packet by rules. Also take into account that this mark currently is only used for outgoing packets when going over WMM enabled link, and in case VLAN tagged packet is sent out (no matter if that packet is tagged locally or bridged).

Przykład

Na przykład, w konfiguracji:

PPPoE server -> WMM AP -> client,

jeśli AP po prostu forwarduje ruch PPPoE (kontrolowanie enkapsulowanych pakietów IP aby były dopasowywane do reguł np. po protokole, nie jest możliwe, ponieważ pakiety mogą być kodowane i kompresowane), priorytet musi być przydzielony na serwerze PPPoE i poprzez tak VLAN dostępny dla AP.

Nie musisz forwardować ruchu enkapsulowanego w VLAN do klienta - VLAN może być zakończony w AP, tag VLAN potrzebny jest tylko na wejściu do AP.

W przypadku, gdy AP jest serwerem PPPoE nie ma potrzeby używania VLANu - priorytet może być ustawiony przez reguły zanim pakiet zostanie enkapsulowany w PPPoE.

Priorytet z DSCP

Another way of setting priority is by using DSCP field in IP header, this can only be done by firewall mange rule "set priority" action. Note that DSCP in IP header can have values 0-63, but priority only 0-7. Effective priority after set from DSCP value will be 3 low bits of DSCP value which is the same as reminder of division by 8. So for example, priority from DSCP values 0,8,16,etc will be 0, from DSCP values 7,15,...,63 - 7.

Remember that DSCP can only be accessed on IP packets!

Note, that to use this feature, DSCP value in IP header should be set somewhere.

It is best to set DSCP value in IP header of packets on some border router (e.g. main router used for connection to internet), based on traffic type. E.g. set DSCP value for packets coming from internet belonging to sip connections to 7, and 0 for the rest. This way packets must be marked only at one place. Then all APs in network set packet priority from DSCP value with just one rule.

In setup:

<internet> - border router - <network> - WMM AP - client

border router sets DSCP value for sip traffic, and WMM AP sets priority from DSCP value. Note that in this setup DSCP is set only for traffic _to_ client. Sometimes it can be useful to set also DSCP on traffic coming _from_ client (e.g. if 2 clients connected to different APs are talking between themselves) - this can be done on APs.


Łączenie ustawienia priorytetu i rozwiązań obsługi

Complex networks and different situations can be handled by combining different approaches of carrying priority information to ensure QoS and optimize use of resources, based on "building blocks" described above. Several suggestions:

- the less number of filter rules in whole network, the better (faster) - try to classify packets only when necessary, prefer to do that on fast routers as most probably connection tracking will be required.

- use DSCP to carry priority information in IP packets forwarded in your network, this way you can use it when needed.

- use VLANs where necessary, as they also carry priority information, make sure ethernet bridges and switches in the way, if any, are not clearing priority information in VLAN tag. In MT bridges you have to setup bridge firewall rule to set priority from ingress priority for this!

- remember that QoS does not improve throughput of links, it just treats different packets differently, and also that WMM traffic over wireless link will discriminate regular traffic in the air.