WiFiLab nesdílí se pásmo, sdílí se čas

Tohle je statická kopie kapitoly pro vyhledávače. Interaktivní verze má animované obrázky, kontrolní otázky a tlačítka, která příklad načtou do kalkulačky.

Kolize: co udělá dvacet stanic na jednom kanálu

Jedna stanice se nikdy nesrazí. Dvě skoro nikdy. Dvacet ano — a otázka, jak často, má překvapivě přesnou odpověď, protože se dá spočítat z pravidel odpočítávání.

1102030405060počet staniccelková propustnost (Mb/s)pravděpodobnost kolize (0–1)stanic12kolizí z pokusů41,1 %celkem14,1 Mb/sna jednu stanici1,17 Mb/spromarněno kolizemi141 µs/rámecCelková propustnost klesá pomalu, podíl každé stanice rychle. Kolize se přitom platí celým rámcem.
Přidávej stanice a sleduj obě křivky. Zelená je to, co kanál dohromady zvládne; červená je podíl pokusů, které skončí srážkou. Zajímavé je, že zelená neklesá tak rychle, jak by člověk čekal — zato podíl na jednu stanici ano.

Model, který za tím stojí

Každá stanice vysílá v dané prodlevě s pravděpodobností τ; kolize nastane, když v téže prodlevě vysílá aspoň jedna další. Jenže τ závisí na tom, jak často se stanice sráží (protože po kolizi zdvojnásobí okno), a to zase závisí na τ. Řeší se to jako pevný bod — a v téhle labce se ta rovnice nepřebírá na slovo: v testech běží simulace skutečných čítačů, prodlev a zdvojnásobování oken, a ta musí s analýzou souhlasit.

stanickolizí z pokusůco to dělá s latencí
2~3 %nic
10~17 %ocas se začíná natahovat
20~26 %čtvrtina rámců jde dvakrát
40~36 %okna rostou, zpoždění nepředvídatelné

Proč to bolí latenci víc než propustnost

Celková propustnost kanálu klesá pozvolna: kolize sice plýtvají časem, ale zbytek se pořád posílá. Rozptyl zpoždění ale roste dramaticky. Po každé kolizi se okno zdvojnásobí, takže druhý pokus čeká v průměru dvakrát dýl, třetí čtyřikrát a tak dál — a jeden nešťastný rámec může čekat desítky milisekund.

Pro proud dat je to jedno. Pro regulační smyčku je to všechno, a proto se v desáté kapitole nebudeme dívat na průměr, ale na to, jak vypadá jeden rámec z tisíce.

Co s tím jde dělat

  • Méně stanic na kanál. Rozdělit halu na víc buněk je jediné opatření, které zabírá spolehlivě.
  • Méně rámců na stanici. Viz předchozí kapitola — sdružovat data v aplikaci.
  • Kratší okno pro řídicí provoz (EDCA, kategorie hlas). Pomáhá, dokud to nedělají všichni.
  • 802.11ax a plánovaný přístup (OFDMA). Přístupový bod přidělí každé stanici kus kanálu a čas — soutěžení mizí. Je to jediná změna v historii Wi-Fi, která tenhle problém řeší u kořene, a proto stojí za zvážení i tam, kde rychlost nikdo nepotřebuje.

Sedmdesát procent je ta hranice. Do zhruba sedmdesáti procent obsazenosti kanálu roste zpoždění lineárně a nikdo si ničeho nevšimne. Nad ní roste kolizí i délka okna zároveň, a systém se překlopí během jednotek procent zatížení navíc. Je to tentýž tvar jako u fronty v NetLabu a stejně jako tam platí: navrhuj na padesát procent, ne na devadesát.

Vzorce v této kapitole

p — pravděpodobnost kolize
p = 1 − (1−τ)^(n−1) [—] kap. 5