Changes between Version 10 and Version 11 of Protocollo


Ignore:
Timestamp:
Nov 9, 2006, 10:01:49 AM (18 years ago)
Author:
soujak
Comment:

Vecchie midifiche che aumentano la chiarezza di qualche parte della descrizione di DCF

Legend:

Unmodified
Added
Removed
Modified
  • Protocollo

    v10 v11  
    11= Analisi dello standard IEEE 802.11 =
    22[[PageOutline(1-6,Indice dei contenuti)]]
     3
    34== Descrizione funzionale del sottolivello MAC ==
    45Sommario degli argomenti presenti:
     
    1516L'accesso al mezzo di trasmissione comune e' regolato da una strategia che e'
    1617detta CSMA/CA (i.e. ''carrier sense multiple access with collision avoidance'')
    17 che intende minimizzare le probabilita' di collisione.
     18che intende minimizzare le probabilita' di collisione. Due modalita' di
     19coordinamento, una [wiki:Studio#Coordinamentodistribuito
    1820
    1921La funzionalita' di coordinamento distribuito (Distributed Coordination Function
    20 o, piu' brevemente, DCF) che si fa carico della cosa e' pertanto componente
     22o, piu' brevemente, DCF) si fa carico della cosa ed e' pertanto componente
    2123necessario di ogni stazione, sia che essa operi all'interno di reti configurate
    2224in modalita' ''infrastracture'' che ''ad-hoc''. E' inoltre presente un metodo di
     
    2830seguito da un periodo di contesa (Contention Period o CP).
    2931
    30 ==== DCF ====
     32==== Coordinamento distribuito (DCF) ====
     33
    3134===== CSMA/CA e il meccanismo RTS/CTS =====
    32 ,,20061018-2031 SoujaK,,[[BR]]
    33 Il concetto chiave su cui si basa il protocollo di comunicazione CSMA/CA e' la
    34 distribuzione di informazioni di prenotazione del mezzo trasmissivo. I noti
    35 frame RTS e CTS contengono infatti un campo (Duration/ID) che contiene il tempo
    36 durante il quale il mezzo e' riservato per l'invio del frame (o del frammento) e
    37 per la ricezione dell'ACK. Le STA esterne alla comunicazione imparano, tramite
    38 questo meccanismo, che il canale e' occupato per tale lasso di tempo evitando le
    39 collisioni, anche le STA sono all'interno del raggio d'azione del ricevente, ma
    40 non del trasmittente (problema del nodo esposto). E' importante precisare che il
    41 meccanismo RTS/CTS non e' obbligatorio: deve essere evitato per trasmissioni
    42 multicast o broadcast (chi risponderebbe con il CTS?). Inoltre puo' essere
    43 evitato nel caso di frame piccoli (al fine di limitare l'overhead che si
    44 introduce): la soglia e' definita nell'attributo dot11RTSThreshold.
     35,,20061027-1950 SoujaK,,[[BR]]
     36Il concetto chiave attraverso il quale il protocollo interpreta il meccanismo di
     37comunicazione CSMA/CA e' la distribuzione di informazioni di prenotazione del
     38mezzo trasmissivo. Ogni comunicazione fra un nodo sorgente e un nodo
     39destinazione deve cominciare con lo scambio di due frame RTS (request to send) e
     40CTS (clear to send) dalla seguente semantica: "richiesta di invio" e "pronto
     41alla ricezione". Tali frame RTS e CTS contengono un campo (Duration/ID) che
     42contiene il tempo durante il quale il mezzo e' riservato per l'invio del frame
     43(o del frammento) e per la ricezione dell'ACK. Le STA esterne alla comunicazione
     44imparano, tramite questo meccanismo, che il canale e' occupato per tale lasso di
     45tempo evitando le collisioni. La doppia presenza delle informazioni in questione
     46nei due versi della comunicazione (sia nei frame RTS che in CTS, ad esempio)
     47permette di ragiungere tutte le STA interessate, scongiurando alcuni problemi,
     48come quello del nodo esposto). E' importante precisare che il meccanismo RTS/CTS
     49non e' obbligatorio: deve essere evitato per trasmissioni multicast o broadcast
     50(chi risponderebbe con il CTS?). Inoltre puo' essere evitato nel caso di frame
     51piccoli (al fine di limitare l'overhead che si introduce): la soglia e' definita
     52nell'attributo MAC denominato `dot11RTSThreshold`.
    4553
    4654===== ''Carrier-sense'' virtuale e il NAV =====
     
    5563necessari alle fasi della comunicazione: la trasmissione dei vari frame di dati,
    5664degli [wiki:Studio#Acknoledgment acknoledgment] e l'attesa dei vari
    57 [wiki:Studio#InterframespaceIFSspaceIFS IFS].
    58 Le citate informazioni necessarie alle stazioni estranee alla comunicazione sono
    59 o prefissate dallo standard (la durata di invio di un ACK o i tempi inter-frame)
    60 oppure sono comunicate dalle stazioni interne alla comunicazione. Il campo
    61 Duration/ID e' quindi presente sia nella coppia iniziale < RTS e CTS > che nelle
    62 successive coppie < PDU e ACK > diverse dalla prima; esso contiene la distanza
    63 temporale al termine della comunicazione, i.e. il primo acknoledgment.
     65[wiki:Studio#InterframespaceIFSspaceIFS IFS]. Le citate informazioni necessarie
     66alle stazioni estranee alla comunicazione sono o prefissate dallo standard (la
     67durata di invio di un ACK o i tempi inter-frame) oppure sono comunicate dalle
     68stazioni interne alla comunicazione. Il campo Duration/ID e' quindi presente sia
     69nella coppia iniziale < RTS e CTS > che nelle successive coppie < PDU e ACK >
     70diverse dalla prima; esso contiene la distanza temporale al termine della
     71comunicazione, i.e. il primo acknoledgment.
    6472
    6573===== Acknoledgment =====
     
    6876ricevente ha il compito di confermare alla STA trasmittente la corretta
    6977ricezione del frame (solo in caso di frame unicast, come e' facile intuire). Il
    70 trasmittente attende il frame ACK per un periodo di tempo fissato da
    71 ACKTimeout e poi conclude che la trasmissione e' fallita. Lo stesso succede
    72 qualora esso riceva altro che non sia un ACK. Si noti che la mancata ricezione
    73 dell'ACK puo' indistinguibilmente indicare anche un errore durante la
    74 trasmissione dello stesso acknoledgment.
     78trasmittente attende il frame ACK per un periodo di tempo fissato da ACKTimeout
     79e poi conclude che la trasmissione e' fallita. Lo stesso succede qualora esso
     80riceva altro che non sia un ACK. Si noti che la mancata ricezione dell'ACK puo'
     81indistinguibilmente indicare anche un errore durante la trasmissione dello
     82stesso acknoledgment.
    7583
    7684===== Interframe space (IFS) =====
     
    94102 4. EIFS (extented interframe space):
    95103    usato quando il PHY indica al MAC che l'ultimo frame MAC non e' stato
    96     ricevuto corettamente e che il campo FCS non e' utilizzabile;
     104    ricevuto correttamente e che il campo FCS non e' utilizzabile;
    97105
    98106===== Random backoff time =====
     
    158166totalmente fuori posto.''
    159167{{{
    160 Il periodo di inattivita' che le STA si autoimpongono e' detto CW (contention window)
    161 e viene ripetuto ogni volta che si presenti una collisione. Viene inoltre incrementato
    162 a fronte di ogni collisione con andamento esponenziale (per scongiurare il pericolo
    163 di fino al raggiungimento di un valore massimo prestabilito.
     168Il periodo di inattivita' che le STA si autoimpongono e' detto CW (contention
     169window) e viene ripetuto ogni volta che si presenti una collisione. Viene
     170inoltre incrementato a fronte di ogni collisione con andamento esponenziale (per
     171scongiurare il pericolo di fino al raggiungimento di un valore massimo
     172prestabilito.
    164173}}}
    165174
     
    254263   (e.g. PHY-TXStart.{request,...}).
    255264
    256 ,,gnappo:,, ''chiarire meglio tutte le primitive con il loro significato. Sara' utile
     265,,gnappo:,, ''chiarire meglio tutte le primitive con il loro significato. Sara'
     266utile
    257267nella comprensione delle specifiche del livello PHY (ad esempio DSSS).''
    258268
     
    385395    (8-chip complementary code keying, aka CCK) che vengono spediti alla stessa
    386396    frequenza del DSSS (11 MHz), ottimizzando cosi l'uso della banda del canale.
    387  2. sono state aggiunte delle funzionalita' opzionali per aumentare il bandwith,
    388     che sono utilizzabili solo se l'hardware e' abbastanza recente da supportarle. [[BR]]
    389     Le funzionalità sono le seguenti:
    390     * sostituzione del CCK con il packet binary convolutional coding (HR/DSSS/PBCC);
     397 2. sono state aggiunte delle funzionalita' opzionali per aumentare il
     398bandwith,
     399    che sono utilizzabili solo se l'hardware e' abbastanza recente da
     400supportarle. [[BR]]
     401    Le funzionalità sono le seguenti:
     402    * sostituzione del CCK con il packet binary convolutional coding
     403(HR/DSSS/PBCC);
    391404    * HR/DSSS/short, ovvero possibilita' di ridurre il preambolo PLCP
    392       per aumentare significantemente il transfer data rate, limitando cosi pero' la
    393       possibilita' di coesistenza con il DSSS a sole alcune particolari circostanze;
     405      per aumentare significantemente il transfer data rate, limitando cosi
     406pero' la
     407      possibilita' di coesistenza con il DSSS a sole alcune particolari
     408circostanze;
    394409    * inserimento del Channel Agility, ovvero una particolare implementazione
    395       che consente di superare diversi problemi dovuti all'assegnamento di un canale statico,
    396       senza dover aggiungere alla totale implementazione il costo di questa funzionalita'.[[BR]]
    397 
    398 Purtroppo l'IEEE non ha concesso le specifiche inerenti all'evoluzione della modulazione nella versione
    399 802.11g, quindi non ci e' concesso sapere i miglioramenti che hanno portato poi il protocollo a
     410      che consente di superare diversi problemi dovuti all'assegnamento di un
     411canale statico,
     412      senza dover aggiungere alla totale implementazione il costo di questa
     413funzionalita'.[[BR]]
     414
     415Purtroppo l'IEEE non ha concesso le specifiche inerenti all'evoluzione della
     416modulazione nella versione
     417802.11g, quindi non ci e' concesso sapere i miglioramenti che hanno portato poi
     418il protocollo a
    400419supportare velocita' di circa 54 Mbps.[[BR]]
    401 Parlandone con il Dott. Bononi, si e' arrivati ad ipotizzare che lo sviluppo sempre + veloce della
    402 tecnologia abbia portato ad un'alta precisione e sensibilita' di ricezione/trasmissione che quindi,
    403 ha portato ad un'aumento dei simboli (in modulazione un simbolo e' un particolare segnale che identifica
    404 una serie di bit) e ad una diminuzione dei bit adibiti al controllo di errori, cosi aumentandone di molto
     420Parlandone con il Dott. Bononi, si e' arrivati ad ipotizzare che lo sviluppo
     421sempre + veloce della
     422tecnologia abbia portato ad un'alta precisione e sensibilita' di
     423ricezione/trasmissione che quindi,
     424ha portato ad un'aumento dei simboli (in modulazione un simbolo e' un
     425particolare segnale che identifica
     426una serie di bit) e ad una diminuzione dei bit adibiti al controllo di errori,
     427cosi aumentandone di molto
    405428il bit rate potenziale.[[BR]]
    406 Rimaniamo comunque nella ricerca di specifiche piu' recentemente rilasciate, lasciando quest'ultima parte
     429Rimaniamo comunque nella ricerca di specifiche piu' recentemente rilasciate,
     430lasciando quest'ultima parte
    407431di paragrafo come "prossima ad essere aggiornata".
    408432
    409433== Management del sottolivello MAC ==
    410434
    411 Uno degli aspetti più importanti, per quanto riguarda la connessione di più
    412 hosts ad una rete wireless, è sicuramente il meccanismo di sincronizzazione, il
     435Uno degli aspetti più importanti, per quanto riguarda la connessione di più
     436hosts ad una rete wireless, Ú sicuramente il meccanismo di sincronizzazione, il
    413437quale deve esistere per permettere la comunicazione all'interno della rete.
    414 Per permettere ciò ogni nodo ha al suo interno un TSF (Timing Synchronization
     438Per permettere ciò ogni nodo ha al suo interno un TSF (Timing Synchronization
    415439Function) che funge da orologio per tutti i nodi.
    416 La sincronizzazione è presente sia nei BSS che nei IBSS e avviene in maniere
     440La sincronizzazione Ú presente sia nei BSS che nei IBSS e avviene in maniere
    417441differenti.
    418442
     
    426450ad ogni nodo della rete e riceve beacons da tutti gli altri.
    427451Decide poi autonomamente se settare il proprio timer col valore ricevuto o se
    428 scartare il beacon perchè il valore del timetamp all'interno è più vecchio del
     452scartare il beacon perchÚ il valore del timetamp all'interno Ú più vecchio
     453del
    429454valore del proprio timer.
    430455
    431 Il mantenimento della sincronizzazione è dato da un algoritmo:
     456Il mantenimento della sincronizzazione Ú dato da un algoritmo:
    432457ogni nodo mantiene un timer TSF in modulo 2^64^ microsecondi e si aspetta di
    433 ricevere un beacon ad intervalli regolari (definiti come ''aBeaconPeriod'', che è
     458ricevere un beacon ad intervalli regolari (definiti come ''aBeaconPeriod'', che
     459Ú
    434460un parametro del nodo).
    435461Un nodo che vuole inviare un beacon deve settare il valore del timestamp, che
    436 è dato dalla somma tra il valore del TSF al tempo della trasmissione del primo
     462Ú dato dalla somma tra il valore del TSF al tempo della trasmissione del primo
    437463bit del timestamp su PHY e dal tempo di ritardo per la trasmissione (passaggio
    438464dall'interfaccia MAC-PHY a PHY).
     
    440466=== Acquisizione della sincronizzazione mediante scansione ===
    441467
    442 Ogni stazione (o nodo) può operare attraverso due modalità di scansione:
    443 la modalità passiva o la modalità attiva.
    444 In modalità di scansione passiva la stazione sta in ascolto su tutti i canali
     468Ogni stazione (o nodo) può operare attraverso due modalità di scansione:
     469la modalità passiva o la modalità attiva.
     470In modalità di scansione passiva la stazione sta in ascolto su tutti i canali
    445471e aspetta di ricevere dei beacon in cui il valore SSID sia uguale al valore
    446472SSID dell'ESS di cui la stazione vuole entrare a fare parte. Una volta ritornati
     
    448474un BSS, acquisendo tutti i parametri del BSS (timer di sincronizzazione,
    449475parametri di PHY, BSSID, parametri di trasmissione dei beacon...).
    450 La modalità di scansione attiva invece si basa sul concetto di Probe Request e
     476La modalità di scansione attiva invece si basa sul concetto di Probe Request e
    451477Probe Response: praticamente una stazione invia un Probe Request e si mette in
    452 ascolto di un Probe Response; quando il Probe Response conterrà il SSID cercato
    453 dalla stazione allora avrà inizio la sincronizzazione e la stazione entrerà a
    454 far parte di un BSS. L'algoritmo di scansione è al cap 11.1.3.2.2 (pag 127 di
     478ascolto di un Probe Response; quando il Probe Response conterrà il SSID cercato
     479dalla stazione allora avrà inizio la sincronizzazione e la stazione entrerà a
     480far parte di un BSS. L'algoritmo di scansione Ú al cap 11.1.3.2.2 (pag 127 di
    455481ieee 802.11-1999).
    456482
     
    462488Una volta effettuata l'autenticazione su un AP, la stazione invia una richiesta
    463489di associazione all'AP e attende la risposta;in caso di risposta affermativa
    464 la stazione sarà fisicamente associata all'AP e potrà avviare la comunicazione,
    465 in caso contrario la stazione non si potrà associare.
    466 Analogamente quando una stazione vorrà riassociarsi ad un AP invierà allo stesso
    467 una richiesta di riassociazione e attederà la risposta dall'AP.
     490la stazione sarà fisicamente associata all'AP e potrà avviare la
     491comunicazione,
     492in caso contrario la stazione non si potrà associare.
     493Analogamente quando una stazione vorrà riassociarsi ad un AP invierà allo
     494stesso
     495una richiesta di riassociazione e attederà la risposta dall'AP.
    468496Naturalmente quando un AP riceve una richiesta di associazione controlla che la
    469 stazione che ha inviato tale richiesta sia autenticata su sè stesso; in caso
    470 affermativo l'AP invierà una risposta (positiva o negativa) alla stazione.
     497stazione che ha inviato tale richiesta sia autenticata su sÚ stesso; in caso
     498affermativo l'AP invierà una risposta (positiva o negativa) alla stazione.
    471499
    472500=== Power Management ===
     
    475503preventivamente l'AP al quale sono associate, accondando la richiesta di cambio
    476504al campo Frame Control del frame inviato all'AP.
    477 L'AP deve tener traccia di tutte le stazione che operano in modalità power save
     505L'AP deve tener traccia di tutte le stazione che operano in modalità power save
    478506in quanto la trasmisisone dei dati a tali stazioni deve avvenire in modo
    479 differente rispetto alle stazioni che non operano in tale modalità;infatti un
    480 AP non può trasmettere i dati in maniera arbitraria alle stazioni in modalità
     507differente rispetto alle stazioni che non operano in tale modalità;infatti un
     508AP non può trasmettere i dati in maniera arbitraria alle stazioni in modalità
    481509power save ma deve bufferizzarli e trasmetterli in periodi precisi.
    482510Tutte le stazioni che ricevono dati bufferizzati dall'AP sono riunite nel
     
    484512generati dall'AP stesso.Ogni stazione per sapere se i dati ricevuti sono stati
    485513bufferizzati per lei deve ricevere e interpretare il TIM associato al beacon (
    486 per fare ciò ogni stazione si mette peridicamente in ascolto di beacon,e quindi
     514per fare ciò ogni stazione si mette peridicamente in ascolto di beacon,e quindi
    487515in ascolto per ricevere eventuali TIM,secondo opportune funzioni).
    488 In un BSS ogni stazione (in modalità power save) per sapere se dei dati sono
     516In un BSS ogni stazione (in modalità power save) per sapere se dei dati sono
    489517stati correttamente bufferizzati invia un PS-Poll frame all'AP, il quale
    490 risponderà o inviando direttamente i dati bufferizzati o acknowleggiando la
     518risponderà o inviando direttamente i dati bufferizzati o acknowleggiando la
    491519richiesta e inviando i dati successivamente.
    492520
    493 Ogni stazione può lavorare in due modalità:
     521Ogni stazione può lavorare in due modalità:
    494522 * awake
    495523 * doze
    496524
    497 Nella modalità awake la stazione lavora a piena potenza e può ricevere frames
    498 in qualsiasi momento;è detta anche modalità attiva.
    499 Nella modalità doze la stazione lavora in power save e riceve frames attraverso
     525Nella modalità awake la stazione lavora a piena potenza e può ricevere frames
     526in qualsiasi momento;Ú detta anche modalità attiva.
     527Nella modalità doze la stazione lavora in power save e riceve frames attraverso
    500528il meccanismo sopra descritto.
    501 Naturalmente le stazioni possono passare da una modalità all'altra,ma possono
     529Naturalmente le stazioni possono passare da una modalità all'altra,ma possono
    502530farlo solo alla fine di uno scambio di dati informando l'AP del cambio.
    503531
     
    507535trasmettere i dati;quando i dati sono bufferizzati e pronti per essere spediti
    508536ad una stazione in power save ci deve essere un annuncio tra tutte le stazioni
    509 affinchè l'operazione si possa effettuare.
    510 Tale annuncio è dato tramite l'invio di un ATIM (Ad hoc TIM) quando tutte le
    511 stazioni dell' IBSS sono in modalità awake.
     537affinchÚ l'operazione si possa effettuare.
     538Tale annuncio Ú dato tramite l'invio di un ATIM (Ad hoc TIM) quando tutte le
     539stazioni dell' IBSS sono in modalità awake.
    512540Quando i dati devono essere transmessi la stazione trasmittente invia prima
    513 un frame ATIM nel ATIM Window (che è un periodo nel quale vengono inviati solo
    514 frame ATIM o beacon) e aspetta l'ack di quel frame;se ciò non avviene la
     541un frame ATIM nel ATIM Window (che Ú un periodo nel quale vengono inviati solo
     542frame ATIM o beacon) e aspetta l'ack di quel frame;se ciò non avviene la
    515543stazione attiva la procedura di ritrassmisione dell'ATIM.
    516544Una stazione che acknowleggia l'ATIM durante l'ATIM Window deve rimanere nella
    517 modalità awake e aspettare l'annuncio.Una volta che avviane l'ack ed è passato
    518 l'ATIM Window,i dati possono essere trasmessi dalla stazione in modalità
     545modalità awake e aspettare l'annuncio.Una volta che avviane l'ack ed Ú passato
     546l'ATIM Window,i dati possono essere trasmessi dalla stazione in modalità
    519547power save.
    520548
     
    523551,,20061014-1305 Roma,,[[BR]]
    524552Ho letto qualcosa su come si instaura una connessione tra una client e un AP: vi
    525 è praticamente una serie di richieste tra il client e l'AP affinchè la
    526 connessione venga instaurata; nota importante è che il client prima di
     553Ú praticamente una serie di richieste tra il client e l'AP affinchÚ la
     554connessione venga instaurata; nota importante Ú che il client prima di
    527555collegarsi all'AP deve autenticarsi sull'AP stesso. Una volta fatto cio' AP
    528556manda un pacchetto che indica l'avvenuta autenticazione e l'inizio di una nuova
    529 connessione. Naturalmente vi sono già delle primitive implementate atte a
     557connessione. Naturalmente vi sono già delle primitive implementate atte a
    530558svolgere questo tipo di compito (sia per quanto riguarda l'instaurazione che
    531559per le reinstaurazione).
    532560Inoltre i vari client devono essere tutti sincronizzati per paralare tra loro
    533 (es che fece anche il seminarista se non ricordo male) e per fare ciò si
     561(es che fece anche il seminarista se non ricordo male) e per fare ciò si
    534562inviano delle simpatiche "pancette" con dentro il proprio timestamp; a monte
    535 comunque c'è l'AP che controlla tutta la sincronizzazione ed egli stesso manda
    536 pancette ai client conessi a lui; quindi vi è una doppia sincronizzazione: una
     563comunque c'Ú l'AP che controlla tutta la sincronizzazione ed egli stesso manda
     564pancette ai client conessi a lui; quindi vi Ú una doppia sincronizzazione: una
    537565tra AP e client e una tra client e client (cap 11 del documento ieee 802.11).