Roaming: díra, kterou robot přejede
Jedna buňka nepokryje halu. Robot tedy během jízdy přechází mezi přístupovými body — a ten přechod není plynulý. Je to výpadek, jehož délku určuje konfigurace a který se u běžného nastavení počítá na stovky milisekund.
- RSSI ↓
Robot odjíždí od přístupového bodu. Rychlost klesá po schodech (ModLab), ale spojení pořád je.
- sken = kanály × prodleva
Pod prahem se robot rozhodne přepojit. Musí ale zjistit kam — a to znamená projít kanály a na každém chvíli poslouchat. Tohle je ta drahá část.
- ověření + DHCP
Nový přístupový bod si robota musí ověřit. S běžným WPA2 je to pár rámců; s podnikovým 802.1X to jsou stovky milisekund.
- 298 ms = 30 cyklů
Po celou tu dobu se nepřenese ani jeden rámec. Regulační smyčka o ten čas přijde celý.
Z čeho se ten výpadek skládá
| fáze | bez 802.11r | s 802.11r |
|---|---|---|
| rozhodnutí přepojit | desítky ms (podle prahu) | totéž |
| prohledání kanálů | 100–500 ms | totéž, pokud se nescanuje chytře |
| ověření (WPA2-PSK) | 5–15 ms | 2–4 ms |
| ověření (802.1X/EAP) | 200–800 ms | 2–4 ms |
| DHCP | 20–100 ms | 0 (adresa se drží) |
Sken je ta drahá část a je to fyzika, ne software. Aby stanice zjistila, co je na kanálu 44, musí na něj přeladit a chvíli poslouchat — a po tu dobu neslyší svůj vlastní. Dvacet pět kanálů po dvaceti milisekundách je půl sekundy, a jediné, co s tím jde dělat, je nescanovat všechno.
Co ten výpadek udělá se smyčkou
Smyčka na 100 Hz přijde při 300ms roamingu o třicet cyklů. To není jitter, to je výpadek řízení. Robot musí mít pro tuhle dobu chování definované předem:
- dojede na poslední známý cíl a zastaví (nejběžnější),
- zastaví okamžitě (bezpečné, ale při každém roamingu to trhne),
- pokračuje po naplánované trajektorii (nejlepší, pokud ji celou zná).
Ať je to cokoli, musí to být rozhodnuto předem — a to je věc RoboLinkLabu.
Jak to zkrátit
- 802.11r (rychlý přechod). Klíče se předají dopředu, takže se ověřování i DHCP přeskočí. Jediné opatření, které srazí desítky až stovky milisekund na jednotky.
- 802.11k (sousedské zprávy). Přístupový bod řekne stanici, které kanály stojí za prohledání — ze dvaceti pěti se stanou tři.
- Práh přepojení výš. Přepojit dřív, dokud je starý spoj ještě dobrý, je lepší než držet se ho do posledního decibelu. Standardně bývá práh moc nízko.
- Menší buňky s větším překryvem — robot má vždycky kam přejít.
Past, která se v halách opakuje: „sticky client“. Stanice se drží starého přístupového bodu, dokud signál neklesne k nule, protože její práh je nastavený na −80 dBm. Mezitím dávno spadla na nejnižší rychlost — a podle šesté kapitoly tím sráží celou buňku. Robot, který se drží špatného přístupového bodu, škodí víc než robot, který se přepojuje.