Anomálie výkonu: jeden pomalý zpomalí všechny
Tohle je jev, který v hale s roboty rozhoduje o víc věcech než všechno ostatní v téhle labce dohromady, a přitom se o něm skoro nemluví. Jedna stanice, která spadla na nejnižší rychlost, stáhne celou buňku na svou úroveň. Nejde o přetížení a nejde o rušení. Je to přímý důsledek toho, jak DCF dělí médium.
- 3 × MCS7
Tři roboti u přístupového bodu, všichni na MCS7. Střídají se a každý dostane třetinu.
- Tpomalý ≫ Trychlý
Třetí robot dojede na kraj haly a spadne na nejnižší stupeň. Jeho rámec teď trvá desetkrát dýl.
- stejný počet rámců, jiná délka
A tady je ta past. DCF rozdává příležitosti k vysílání, ne bity. Pomalá stanice vysílá stejně často jako rychlé — jen mnohem dýl.
- každý dostane 4,2 Mb/s
Kolo se prodlouží o její čas, takže i rychlé stanice čekají. Všechny tři skončí na podílu, který určuje ta nejpomalejší.
Proč se to děje
DCF je férové v příležitostech: každá stanice se dostane na řadu zhruba stejně často. Není ale férové v bitech, protože rychlost, jakou tu příležitost využije, je její vlastní věc.
Rámec 1500 bajtů trvá při MCS7 asi 375 µs. Tentýž rámec při MCS0 trvá 2 040 µs. Když se tři stanice střídají, kolo trvá 375 + 375 + 2 040 = 2 790 µs — a v tom kole každá poslala jeden rámec. Každá tedy dostane 1500 bajtů za 2 790 µs, tedy 4,3 Mb/s, ať je rychlá nebo pomalá.
Rychlá stanice by sama zvládla 32 Mb/s. Tady dostane 4,3. Ztratila 87 % kvůli sousedovi.
Kdy to nastane v hale
- Robot zajede za regál a spadne o dva až tři stupně žebříku (ModLab, kap. 13).
- Jedno zařízení je staré a umí jen 802.11b — pak sráží kanál na jednotky megabitů trvale.
- Zapomenutý mobil na okraji dosahu se občas připojí a pošle pár rámců na nejnižší rychlosti.
Ten poslední případ je nejhorší, protože není vidět: telefon nikoho nezajímá, posílá skoro nic — a přesto sebere všem třetinu výkonu, protože jeho pár rámců zabírá obrovský vysílací čas.
Co s tím
| opatření | účinek |
|---|---|
| Zakázat nejnižší rychlosti (basic rate set) | zařízení pod prahem se prostě nepřipojí — nejúčinnější a nejtvrdší |
| Airtime fairness na přístupovém bodu | rozděluje čas, ne příležitosti; pomalá stanice dostane svůj díl a nebere cizí |
| Víc buněk, menší dosah | robot se přepojí dřív, než spadne na dno |
| Oddělit SSID pro roboty | alespoň se do jejich kanálu nedostanou telefony |
Airtime fairness je ta správná odpověď a stojí za to ji hledat v konfiguraci. Přístupový bod, který ji umí, přepočítá férovost z „kolikrát se dostaneš na řadu“ na „kolik mikrosekund dostaneš“. Pomalá stanice pak vysílá méně často, aby zabrala stejně času jako ostatní — a rychlé stanice si své megabity ponechají. Jmenuje se to různě (ATF, Airtime Fairness, Fair Airtime Scheduling), ale dělá to totéž.