[Ninux-Wireless] 802.11 performance anomaly (era: nanostation omnidirezionale)

Clauz clauz a ninux.org
Mar 25 Set 2012 17:50:42 CEST


On 09/25/2012 02:39 PM, Antonio Quartulli wrote:
> On Tue, Sep 25, 2012 at 02:31:33PM +0100, Clauz wrote:
>> On 09/23/2012 08:40 AM, Antonio Quartulli wrote:
>>> On Sun, Sep 23, 2012 at 12:41:23 +0200, leonardo wrote:
>>>> Ciao lista,
>>>> A Firenze abbiamo la seguente situazione, un nodo in cima ad un palazzo
>>>> con un traliccio già presente, si arriva in cima con un carrello ma è
>>>> difficile puntare. Abbiamo pensato di metterci una omni:
>>>>
>>>> http://www.nventawires.it/index.php/ubiquiti-picostation-m2-hp.html
>>>>
>>>> Sul loro sito dice distanza "over 500m" voi che esperienza avete? quanto
>>>> riuscite a farci?
>>>>
>>>> Un'altra domanda, se mettete una scheda in modo ad-hoc, come avviene
>>>> l'autonegoziazione del rate? ovvero, se da quella scheda partono due
>>>> link, uno che va a 1 Mbps e uno a 54Mbps il rate è negoziato
>>>> indipendentmente per link? non è che va tutto a 1Mps? In teoria dovrebbe
>>>> essere vera la prima ma voi avete qualche esperienza?
>>>
>>> il modulo mac80211 nel kernel prevede che ongni station abbia il suo stato,
>>> quindi hai un tx rate per link.
>>>
>>> Non credo che Ubiquiti abbia messo mano nel modificare cose di questo tipo.
>>
>> Anche se il tx rate negoziato per link e' diverso, se si trasmette sui 2
>> link insieme si va praticamente al rate piu' basso. Questa cosa e' nota
>> come la 'performance anomaly' di 802.11 [*]. Riassumendo estremamente:
>> per come e' fatto 802.11 (CSMA/CA), i pacchetti sono trasmessi a turno
>> su ogni link, quindi la trasmissione del pacchetto sul link piu' veloce
>> dovra' aspettare che il pacchetto sul link piu' lento abbia finito.
>>
> 
> Non ho capito che intendi per "mandare dui due link insieme", intendi che a
> turno sto mandando a due peer per cui ho due diversi tx rate? 

Si', esatto, ed ho la coda di trasmissione sempre piena.

> Se si, ho capito
> cosa intendi, ma perche` il tx rate diventa il minimo dei due? credo sia piu`
> una "media". 

Supponiamo di avere i peer A e B associati rispettivamente a 1Mbps e
54Mbps e di trasmettere pacchetti di 1000 byte. Per mandare un pacchetto
di 1000 byte a 1Mbps ci vogliono 1000*8/1e6 = 0.008 secondi, mentre per
mandarlo a 54Mbps ci vogliono 1000*8/54e6 = 0.0001 secondi.

Quindi se ci fosse solo A, il tempo da aspettare tra la ricezione di un
pacchetto e quello successivo sarebbe di circa 0.008 secondi [*], mentre
se ci fosse solo B il tempo tra un pacchetto e il successivo sarebbe di
circa 0.0001 secondi.

Chiamiamo a1, a2, a3,... i pacchetti destinati ad A e b1, b2, b3,... i
pacchetti destinati a B. Visto il comportamento di 802.11 [#], che
distribuisce equamente i pacchetti sui link, l'ordine di trasmissione
sara' qualcosa del tipo a1, b1, a2, b2, a3, b3... e i tempi di ricezione
saranno:

a1: t~0.008
b1: t~0.008 + 0.0001
a2: t~0.008 + 0.0001 + 0.008
b2: t~0.008 + 0.0001 + 0.008 + 0.0001

Quindi i pacchetti destinati a B saranno distanziati tra loro di un
tempo di circa 0.0081 secondi, cioe' come se B fosse associato da solo a
circa 1Mbps (lo stesso per A).

L'esempio e' poco rigoroso, ma spero si capisca :)

ciao,
Clauz

[*] per semplicita' supponiamo che siano inclusi nel tempo di
trasmissione i tempi di backoff, ACK, SIFS, etc
[#] 802.11 DCF, che e' la cosa piu' comune




Maggiori informazioni sulla lista Wireless