INDICE INTRODUZIONE... 5 CAPITOLO 1... 7 TECNOLOGIE ETHERNET... 7 1.1 802.3 ETHERNET ED IL MODELLO OSI... 8 1.2 FORMATO DEL FRAME 802.3... 9 1.3 INDIRIZZI MAC... 11 1.4 ARCHITETTURA CSMA/CD... 12 1.5 DISTANZA E TIME SLOT NELLA RETE ETHERNET (DIMENSIONAMENTO DI UNA RETE ETHERNET)... 14 1.5.1 Concetti su Frame Unicast, Multicast, e Broadcast... 15 1.6 LIVELLO FISICO ETHERNET... 17 1.6.1 Tecnologia 802.3U (Fast Ethernet)... 19 1.6.1.1 Chiarimento sul funzionamento full duplex...20 1.6.2 Gigabit Ethernet...21 1.7 LE ETICHETTE DELLA VLAN... 22 1.8 CONCLUSIONE... 23 Sommario delle topologie Ethernet...23 CAPITOLO 2... 25 LE RETI WIRELESS BASATE SULLO STANDARD IEEE 802.11... 25 2.1 PANORAMICA... 25 2.2 ARCHITETTURA DELLO STANDARD 802.11... 26 2.2.1 Topologia Ad hoc (IBSS)... 26 2.2.2 Topologia A Infrastruttura (BSS)... 27 2.2.3 Topologia A Infrastruttura Estesa (ESS)... 28 2.2.4 Alcuni Modi di Funzionamento degli Access Point... 29 2.2.4.1 AP come Repeater...29 2.2.4.2 AP in modalità workgroup bridges...30 2.2.4.3 AP come wireless bridges...31 2.3 PROTOCOLLO DI ACCESSO 802.11... 32 2.3.1 Carrier Sense... 33 2.3.2 Distributed Coordination Function (DCF)... 35 2.3.2.1 Pacchetto di Riscontro...38 2.3.2.2 Problema delle stazioni nascoste : RTS/CTS...39 2.3.3 Frammentazione del frame 802.11... 41 2.3.4 Point Coordination Function... 42 2.4 OPERAZIONI SVOLTE DAL MAC 802.11... 45 2.4.1 Associazione di una Stazione wireless ad un punto di accesso... 46 2.4.2 Processo di Probe... 46 2.4.3 Processo di Autenticazione.... 49 2.4.4 Processo di Associazione... 50 2.5 FORMATO DEL FRAME MAC 802.11... 52 2.5.1 Frame Control... 53 2.5.1.1 Frame PS-Poll...56 2.5.1.2 Frame RTS...57 2.5.1.3 Frame CTS...57 2.5.1.4 Frame Ack...58 2.5.1.5 Frame CF-End e Frame CF-End + CF-Ack...58 2.5.2 Frame di Management 802.11... 59 2.5.2.1 Campo SSID...60 2.5.2.2 Frequency hop (FH) parameter...60 2.5.2.3 Campi Fissi 802.11...60 2.5.2.4 Frame di Beacon...64 2.5.2.5 Frame di Autenticazione...64 1
2.5.2.6 Frame di De-autenticazione...64 2.5.2.7 Frame di Richiesta di Ri-associazione...65 2.5.2.8 Frame di Risposta di Ri-associazione...65 2.5.2.9 Frame di Dissociazione...65 2.5.3 Frame Dati 802.11... 65 2.5.3.1 Frame Data...65 2.6 LIVELLO FISICO 802.11... 66 2.6.1 Concetto su Banda di Frequenza... 66 2.6.1.1 Banda ISM...66 2.6.1.2 Banda UNII-I...67 2.6.2 Tecniche di Trasmissione... 68 2.6.2.1 Tecnica a Raggi Infrarossi...70 2.6.2.2 Tecniche Basate sull uso delle onde radio...71 2.6.2.2.1 WLAN FHSS (Frequence Hopping Spread Spectrum)...71 2.6.2.2.2 DSSS WLAN (Direct Sequence Spread Spectrum)...73 2.7 STANDARD 802.11 B... 76 2.8 STANDARD 802.11 A... 77 2.9 WLAN 802.11G... 78 2.10 CONCLUSIONE... 80 CAPITOLO 3... 81 MOBILITÀ NELLO STANDARD 802.11... 82 3.1 ROAMING DI LIVELLO 2... 83 3.1.1 Metodo di ricerca in anticipo di un AP... 83 3.1.2 Metodo di ricerca in tempo reale di un AP... 85 3.2 ROAMING LAYER 3...89 3.2.1 Mobilità IP... 89 3.2.1.1 Agent Discovery...90 3.2.1.2 Registrazione della stazione mobile...92 3.2.1.3 Tunneling...94 3.3 CONCLUSIONE... 95 CAPITOLO 4... 96 SICUREZZA NELLO STANDARD 802.11... 96 4.1 PROBLEMI NELLE RETI WIRELESS... 96 4.1.1 Il War-driving... 96 4.1.2 Intercettazione dei Dati... 97 4.1.3 Intrusione nella rete... 97 4.1.4 Denial of Service... 97 4.2 CRITTOGRAFIA DATI... 98 4.2.1 Confidenzialità... 99 4.2.2 Integrità... 99 4.3.3 Autenticazione... 99 4.2.4 Non repulsione... 99 4.2.5 Le Chiavi Di Crittografia... 100 4.2.5.1 Autenticazione...101 4.2.5.2 Confidenzialità...102 4.2.5.3 E la Non repulsione?...105 4.2.5.4 A quale livello della pila OSI si può cifrare?...107 4.3 LE VLAN (VIRTUAL LAN)... 107 4.4 L USO DELLA CHIAVE WEP... 108 4.5 AUTENTICAZIONE NELLO STANDARD 802.11... 109 4.5.1 Autenticazione Aperta... 109 4.5.2 Autenticazione Basata sulle chiavi condivise... 110 4.5.3 Autenticazione EAP... 112 4.5.3.1 Autenticazione EAP-TLS...114 4.5.3.2 Cisco EAP...115 4.5.3.3 Autenticazione PEAP...115 4.5.3.4 Autenticazione EAP-FAST...116 4.6 WI-FI PROTECTED ACCESS (WPA)... 117 4.7 WPA 2... 118 4.8 CONCLUSIONE... 118 2
CAPITOLO 5... 119 IL PROTOCOLLO LWAPP... 119 5.2 IL PROTOCOLLO LWAPP DEL LIVELLO 2... 121 5.3 TRASPORTO LWAPP LAYER 3... 124 5.4 PROCESSI DI DISCOVERY E DI JOIN LWAPP... 126 5.5 SICUREZZA NEI PACCHETTI DI CONTROLLO LWAPP... 127 5.6 MOBILITÀ NEL PROTOCOLLO LWAPP... 128 5.6.1 Caso 1: roaming di una stazione nello stesso controllore... 129 5.6.2 Caso 2: roaming LAYER 2 di una stazione tra due controllore diverso nello stesso dominio di roaming... 130 5.6.3 Caso 3: roaming LAYER 3 di una stazione tra due controllori in dominio di roaming diverso... 130 5.7 FORMATO DEI PACCHETTI LWAPP... 131 5.7.1 Intestazione del pacchetto di trasporto LWAPP... 137 5.7.1.1 Formato del Pacchetto LWAPP con il MAC 802.3 come mezzo trasporto...138 5.7.1.2 Formato del Pacchetto LWAPP con IP/UDP come mezzo trasporto...139 5.7.2 Formato dei pacchetti di controllo... 140 5.7.2.1 Formato dei vari tipi di pacchetti di controllo...142 5.7.2.1.1 Operazioni di Discovery LWAPP...143 5.7.2.1.2 Control Channel Management...148 5.7.2.1.3 LWAPP e 802.11...170 ARCHITETTURA SPLIT MAC... 171 ARCHITETTURA LOCAL MAC... 173 PACCHETTI LWAPP SCAMBIATI IN QUESTE ARCHITETTURE... 174 5.8 CONCLUSIONE... 196 CAPITOLO 6... 197 ESEMPIO DI CONFIGURAZIONE DEGLI APPARATI CISCO (WLC 4400 ED AP 1131) IMPIEGATI IN UNA RETE WIRELESS CISCO UNIFIED : CASO DELLA RETE WIRELESS DEL PALIO DI SIENA.... 197 6.1 ARCHITETTURA CISCO UWN CON UN UNICO CONTROLLORE... 198 6.2 ARCHITETTURA CISCO UWN MULTI CONTROLLORE... 198 6.3 PRESENTAZIONE DEL WLC CISCO 4400... 200 6.3.1 Nozione di Interfaccia sui controllori Cisco... 202 6.3.2 Caratteristiche tecniche WLC 4400:... 204 6.4 CARATTERISTICHE DELL AP CISCO 1131... 204 6.4.1 Caratteristiche tecniche AP 1131:... 205 6.5 ALCUNE CONSIDERAZIONI IMPORTANTI NELLA RETE WIRELESS CISCO WIRELESS UNIFIED... 205 SCRIPT DI CONFIGURAZIONE ROOT BRIDGE... 223 6.6 CONCLUSIONE... 226 CONCLUSIONE GENERALE... 226 BIBLIOGRAFIA... 229 RINGRAZIAMENTI... 231 3
A mia figlia Sofia Marta che è appena venuta al mondo e a mia nonna Justine che invece lo ha appena lasciato 4
Introduzione Negli ultimi 10 anni le reti wireless (senza fili) hanno trovato un successo senza precedenti sia presso le aziende che presso i singoli utenti (SOHO (Small Office Home Office)), tanto che si parla addirittura di una crescita esponenziale del loro utilizzo. Per questo ogni giorno nascono nuovi protocolli e nuovi prodotti per proporre più semplicità e costi sempre più bassi. In questo contesto un gruppo di lavoro dell IETF riunito intorno alla sigla CAPWAP (Control and Provisioning of Wireless Access Points), ha proposto un documento che definisce un nuovo protocollo per tali reti chiamato LWAPP (Light Weight Access Point Protocol) in stato di ratificazione dall IEEE ma già implementato dal costruttore numero uno negli apparati di rete: la Cisco. Il protocollo LWAPP ha una corrispondenza stretta con il protocollo 802.11 e viene utilizzato per definire la comunicazione tra un controllore di accesso wireless chiamato dalla Cisco WLC (Wireless LAN Controller) e un punto di accesso wireless. Questa comunicazione può essere fatta a livello 2 nel caso in cui i due apparati si trovano nello stesso dominio di broadcast, oppure a livello 3 (dominio di broadcast diverso) attraverso pacchetti basati sul protocollo UDP. Il protocollo LWAPP apporta una soluzione ottima per la gestione delle reti wireless in cui vengono impiegati più di una decina di access point, è il caso, ad esempio, di grosse istituzioni come l Università di Siena che ha scelto questa soluzione. Oggi l unico costruttore che propone apparati basati su questo protocollo è la Cisco che ha creato una nuova rete senza fili chiamata Unified Wireless Network. Questa nuova rete ha apportato miglioramenti per quanto riguarda la gestione, il controllo di sicurezza e la centralizzazione e questo perché la maggiore parte delle funzionalità viene implementata sui controllori wireless, allo stesso tempo nascono access point detti leggeri (LAP), contenenti hardware e software limitati, non gestibili senza la presenza di un controllore wireless, è il caso degli access point Air-Lap della serie 1131 chiamati LAP light weight access point. A livello più alto della gerarchia della rete wireless Cisco si trova un apparato chiamato WCS (Wireless Controller System), oggi disponibile solo in versione software ma compatibile con quasi tutti i sistemi operativi e che permette di gestire a sua volta i controllori wireless tramite il protocollo SNMP, formando così una struttura ad albero come nel caso di un cablaggio strutturato. Infatti il WCS viene posto nel centro stella del comprensorio e comunica tramite il protocollo SNMP con i controllori che a loro volta 5
vengono posti in ogni centro stella di edificio dove comunicano con gli access point tramite il protocollo LWAPP, oggetto di questo lavoro di tesi. Dopo sei mesi di stage sulla progettazione e la gestione delle reti a larga banda presso il centro di calcolo universitario di Siena in cui ho lavorato sugli apparati Cisco e sul loro sistema operativo chiamato IOS (Internetworking operative system) e avendo affiancato i tecnici e gli ingegneri per l inizio dell installazione della rete wireless dell ateneo, lavoro gestito dall azienda NextiraOne, ho portato la mia scelta sullo studio e la comprensione del protocollo LWAPP che viene implementato sui controllori wireless Cisco (serie 4400) e gli access point Cisco della famiglia 1131 utilizzati nella rete wireless dell Università di Siena. Per una migliore comprensione di questo protocollo, il primo capitolo inizia con lo studio dei concetti fondamentali delle reti LAN Ethernet e questo perché una rete wireless ha sempre come backbone una rete cablata e lo studio di tale rete chiarirebbe le varie idee su questo lavoro, mentre nel secondo capitolo si approfondisce il funzionamento dello standard 802.11 che definisce le WLAN. Tale studio ci aiuterà poi a capire come l 802.11 viene manipolato dal protocollo LWAPP, così come nel terzo capitolo, lo studio del problema della mobilità ci aiuterà a comprendere meglio come il protocollo affronta tale problema. Un capitolo intero, il quarto, è dedicato alla sicurezza nelle reti wireless visto che una rete non sicura è una rete vulnerabile mal pensata e mal progettata. Il quinto capitolo è riservato allo studio del protocollo LWAPP, in questo capitolo si farà una descrizione approfondita del protocollo LWAPP come definito dall ultimo documento CAPWAP dell IETF, mentre l ultimo capitolo è una realizzazione pratica di una rete wireless Cisco Unified in cui si presentano le varie configurazioni fatte sugli apparati coinvolti in tale rete. Questa prova pratica è il frutto del lavoro svolto insieme agli ingegneri della NextiraOne per la realizzazione della rete del Palio di Siena che si appoggia completamente sulla rete universitaria e che è stato il luogo in cui si è messo in pratica tutto quello che è stato poi portato in tutto l ateneo per l installazione della rete wireless. 6
Capitolo 1 Tecnologie Ethernet Prima di tornare a descrivere il funzionamento di una rete wireless basata sul protocollo LWAPP della IETF è importante dedicare qualche riga allo standard ethernet della IEEE noto come 802.3 che definisce il funzionamento di una rete locale. Il perché è dovuto al fatto che le reti wireless, come detto nell introduzione, vengono in qualche modo connesse ad una rete cablata. Inoltre tutti gli standard che girano intorno alle reti wireless basano il loro lavoro sul funzionamento delle reti cablate per descrivere le specifiche da impiegare nel mondo wireless; dunque un richiamo ai concetti fondamentali della norma 802.3 e delle sue varianti all inizio del lavoro di questa tesi ci porterà a capire meglio i vari concetti che stanno dietro il protocollo LWAPP che a sua volta impiega l 802.11 della IEEE (esaminato dal capitolo due in poi) per il suo funzionamento. In questo capitolo, ci si focalizza essenzialmente sui concetti chiave degli standard ethernet cioè il loro funzionamento e gli elementi essenziali che li compongono. In generale una rete di telecomunicazione viene divisa in più livelli: Il livello di accesso (l ultimo miglio) che connette vari utenti alla rete; Il livello di distribuzione che segmenta la rete in più domini di broadcast tramite apparati di rete, router o switch di livello 3. I servizi di rete come le liste di controllo di accesso (access control list), il filtraggio delle route (route filtering), il NAT (Network Address Translation) vengono svolti a questo livello; Il livello core (centrale) utilizzato per velocizzare la trasmissione dei frame tra vari livelli di distribuzione. Non ci sono servizi principali a questo livello. In questo capitolo studiamo lo standard ethernet come tecnologia di accesso. In questo contesto gli apparati coinvolti in una rete ethernet sono di due tipi: DTE (data terminal equipment): sono periferiche dotate di una scheda di rete ethernet in grado di inviare e ricevere frame ethernet. In questa categoria, includiamo 7
PC, workstations, file servers, oppure servers di stampa. Questi apparati vengono chiamati stazioni terminali; DCE (data communication equipment): sono periferiche di rete intermedie in grado di ricevere e di inoltrare un frame attraverso la rete, in questa categoria si incontrano apparati di rete come switch, router, repeater, hub. 1.1 802.3 Ethernet ed il Modello OSI Lo scopo di questo lavoro di tesi, non essendo quello di studiare tutto il modello OSI, si focalizza, in questo sotto paragrafo, sul livello MAC della pila OSI per descrivere le tecnologie ethernet. Il livello di accesso è diviso in due sotto livelli come descritto nella figura1: Figura 1 Il livello di collegamento LLC (link Layer Control) noto come IEEE 802.2 prevede un interfaccia di connessione tra il livello MAC ed il protocollo di livello superiore. Viene utilizzato soprattutto dalla DTE ed è comune a tutte le tecnologie ethernet che si vedranno in seguito. Per apparati DCE questo sotto livello viene chiamato Bridge Entity (802.1) e serve da interfaccia tra una rete ethernet ed un'altra rete basata su un altro protocollo oppure sempre basata su ethernet (ethernet-ethernet oppure ethernet- FDDI), mentre il livello MAC che definisce la politica di accesso al mezzo di comunicazione è specifico ad ogni tecnologia, ed è proprio questo sotto-livello che verrà descritto qui di seguito. 8
1.2 Formato del Frame 802.3 Il sotto livello MAC è responsabile di due operazioni importanti: Incapsulamenti dei dati di livello superiore e verifica della loro buona trasmissione e ricezione; Controllo di accesso al mezzo di comunicazione incluso l iniziazione alla trasmissione di un frame e la ritrasmissione nel caso di fallimento. Il formato di un frame 802.3 a livello MAC è descritto nella figura seguente: I campi che compongono questo pacchetto sono descritti sotto: Preamble: campo codificato su 7 byte (56 bit) ogni byte comprende questo gruppo di bit: 10101010. Il preambolo viene utilizzato dal mittente del pacchetto (una scheda di rete) per indicare al ricevitore (un'altra scheda di rete) che un frame sta per essere inviato sul canale di comunicazione; Start of frame delimiter (SFD): campo codificato su 8 bit che comprende un gruppo di bit molto simile a quello del preambolo ma con gli ultimi due bit pari ad 1 (10101011). Questo campo indica al ricevitore che il contenuto del frame segue questo sotto campo; Destination MAC Address: campo su 48 bit che contiene l indirizzo MAC del ricevitore; Source Address: campo su 48 bit che contiene l indirizzo MAC del mittente; Type/length value (TLV): campo codificato su 16 bit che indica quale è il protocollo di livello superiore che viene incapsulato nel sotto campo Data or Payload. Il valore incluso in questo campo viene chiamato anche Ethertype value. Nella tabella seguente elenchiamo alcuni valori accettati per questo campo. 9
Ethertype Significato Value 0800 Protocollo di rete (IP) 0806 Protocollo di risoluzione di indirizzi ( Address Resolution Protocol (ARP)) 0BAD Banyan Systems 6004 DEC Local Area Transport (LAT) 8037 Internetwork Packet Exchange (IPX) (Novell NetWare) 809B EtherTalk (AppleTalk over Ethernet) 80D5 AppleTalk Address Resolution Protocol (AARP) 86DD IP Version 6 Payload or data: campo che contiene il pacchetto proveniente dal livello superiore ed è codificato al minimo su 46 byte ed al massimo 1500 byte. Nel caso in cui questo campo contenesse meno di 46 byte, il mittente provvederebbe a completare il campo in modo da raggiungere la lunghezza di 46 byte, e così da permettere a tutte le stazioni nello stesso dominio di collisione di ricevere il frame; Frame Check Sequenze(FCS): questo campo contiene un valore CRC (cyclic redundancy check) calcolato in base ai bit contenuti nel frame. Quando il ricevitore riceve il frame, calcola il CRC del frame ricevuto e lo confronta con quello contenuto nel campo FCS, se il valore ottenuto è uguale a quello contenuto nel campo FCS, il frame viene considerato senza errore. La figura 2 mostra una sequenza del calcolo della FCS. 10 figura 2
1.3 Indirizzi MAC Gli indirizzi MAC sono valori codificati su 48 bit che identificano in modo univoco una scheda di rete su una LAN. Questo indirizzo viene standardizzato dal comitato IEEE e distribuito ad ogni costruttore. L IEEE infatti assegna i primi 24 bit ad ogni costruttore, mentre i 24 altri bit rimanenti vengono gestiti dal costruttore stesso. Questo processo permette di rassicurasi sull unicità di un indirizzo. Siccome questo indirizzo descrive un interfaccia fisica viene spesso chiamato Indirizzo MAC. L indirizzo MAC nella maggiore parte dei casi viene espresso in esadecimale con ogni byte separato da un trattino oppure dal doppio punto. Esempi di indirizzi MAC su alcuni apparati della Cisco sono: 00-03-6b-48-e9-20 oppure 00:03:6b:48:e9:20 oppure ancora 0003.6b48.e920. In questi esempi il comitato IEEE ha assegnato i tre primi byte 00-03-6b alla Cisco e i tre rimanenti ossia 48-e9-20 sono stati assegnati dalla Cisco stessa. I primi tre byte, assegnati dal comitato IEEE e chiamati OUI (organizational unique identifier ) permettono alla Cisco di assegnare indirizzi MAC che vanno da 00-03-6b-00-00-00 a 00-03-6b-ff-ff-ff. La Cisco ha dunque 2 24 o 16,777,216 indirizzi MAC che può utilizzare. Nella figura 3 si presenta la struttura esatta di un indirizzo MAC: figura 3 Quando il gruppo di bit I/G viene settato a 0, l indirizzo MAC corrispondente è quello di una scheda di rete e comparirà nel campo SA del frame 802.3 mentre quando viene settato a 1 corrisponde a un indirizzo di broadcast o di multicast. Il gruppo di bit G/L 11
quando viene settato a 0 rappresenta un indirizzo di amministrazione globale (come quello dell IEEE) e quando viene settato a 1 rappresenta un indirizzo di amministrazione locale. 1.4 Architettura CSMA/CD La tecnologia ethernet utilizza una metodologia a contesa per l accesso al mezzo di comunicazione; questo permette a tutte le stazioni coinvolte nella rete di condividere la stessa banda di trasmissione. Lo standard ethernet è essenzialmente basato su un architettura di tipo half duplex a sua volta basata sul protocollo di accesso CSMA/CD, lo scopo principale di questo protocollo è quello di impedire a due stazioni coinvolte nella stessa rete o meglio più stazioni che condividono la stessa banda di trasmissione, a trasmettere contemporaneamente. La parte CS (carrier-sense) di questa architettura CSMA/CD si riferisce alla capacità della scheda di rete di determinare se il canale di comunicazione è in quel momento occupato o no (ascolto del canale di comunicazione) mentre la parte MA (multiple-access) del protocollo CSMA/CD, tratta della capacità del canale di supportare più utenti contemporaneamente. Quindi, in questo contesto, tutte le stazioni che fanno parte della rete hanno la stessa priorità o probabilità di accesso al canale di comunicazione ma devono inviare dati sul canale solo quando questo diventa libero. Più aumentano le stazioni che condividono lo stesso canale di comunicazione, più c è la possibilità che accada una collisione tra due o più frame, cioè due stazioni trasmettono contemporaneamente sul canale di comunicazione e di conseguenza devono ritrasmettere il frame. L ultima parte dell architettura CSMA/CD cioè la collision detection si riferisce alla capacità di una stazione di scoprire se c è stata una collisione, le specifiche dello standard prevedono un meccanismo che descrive il comportamento di una stazione dopo una collisione. La figura 4 spiega il funzionamento di una tale architettura: 12
figura 4 Quando una stazione deve inviare un frame sul canale di comunicazione, prima di farlo, verifica se c è già la presenza di un altro segnale sul canale, cioè ascolta il canale, se il canale non è occupato può inviare il frame ma non si ferma lì, una volta inviato il frame, la stazione trasmittente continua a controllare il canale per rassicurarsi che non ci sia un altra stazione che sta trasmettendo. In tal caso (collisione), il trasmettitore invia un pacchetto di Jam a tutte le stazioni presenti sulla rete per invitarli a smettere di trasmettere. Le stazioni che ricevono questo pacchetto dovranno aspettare un tempo casuale (Backoff) prima di ritrasmettere i loro frame. 13
1.5 Distanza e time slot nella rete Ethernet (Dimensionamento di una rete Ethernet) Intendiamo qui come diametro della rete la distanza massima tra due stazioni ethernet alle estremità di uno stesso dominio di broadcast (dominio che contiene apparati in grado di scambiare frame di broadcast). Le stazioni vengono connesse tramite apparati di rete come concentratori (Hub), repeaters, switch, bridge. Nello standard ethernet il tempo necessario per determinare una collisione deve essere pari al tempo impiegato per trasmettere il più piccolo frame ethernet che ha una lunghezza di circa 64 byte (512 bit); data la velocità di propagazione nel mezzo di trasmissione e data la velocità del canale (10 Mbps), la distanza massima dei cavi impiegati nello standard ethernet è circa di 5120 m ed il tempo necessario a un frame ethernet per attraversare il diametro descritto sopra viene chiamato ethernet time slot. Per spiegare meglio come viene calcolato il tempo necessario per accorgersi di una collisione, consideriamo due stazioni che si trovano nelle due estremità di un dominio di broadcast come nella figura 5: figura 5 1. la stazione A trasmette un frame con lunghezza minore di 512 bit 2. nello stesso momento la stazione B inizia a trasmettere un frame. 3. la stazione A trasmette l ultimo bit del suo frame 4. la stazione A non si accorge di una collisione durante la trasmissione e stacca il pacchetto dal suo buffer 14
5. la stazione A considera comunque che la stazione di destinazione ha ricevuto il frame. 6. il frame della stazione A entra in collisione con quello della stazione B 7. la stazione A ha già scartato il frame del suo buffer quindi non lo può più ritrasmettere questa situazione è valida anche se la distanza è maggiore di 5120 m. quindi il tempo fissato per accorgersi di una collisione deve essere pari al tempo impiegato per la trasmissione del più piccolo frame ethernet. Questa distanza massimale viene calcolato nel modo seguente: sia V la velocità della luce nel cavo ethernet (circa 2/3 della velocità della luce nel vuoto quindi 2.10^8m/s) e sia S lo slot time (in questo caso è il tempo necessario(51.2 µs) per trasmettere 512 bit più la sequenza di jamming in caso di collisione ), la distanza massima è data da : V x ( S/2) =2.10^8m/s x (51.2 µs/2). 1.5.1 Concetti su Frame Unicast, Multicast, e Broadcast Una stazione indirizza i frame da trasmettere nei seguenti modi : indirizzamento Broadcast: il frame prodotto dalla stazione viene inviato a tutte le stazioni nello stesso dominio di broadcast (un router oppure uno switch layer 3 viene impiegato per dividere il dominio di broadcast); indirizzamento Multicast o di gruppo: il frame prodotto da una stazione viene inviato solo ad un gruppo di stazioni appartenenti allo stesso dominio di broadcast; indirizzamento unicast: il frame prodotto viene indirizzato ad una unica stazione. La figura 6 spiega meglio questi concetti di indirizzamento: 15
figura 6 Un indirizzo di broadcast ethernet è un insieme di 48 bit settati tutti ad 1 oppure in esadecimale a ff-ff-ff-ff-ff-ff o ffff.ffff.ffff, una stazione che desidera inviare un frame a tutte le stazioni sulla rete lo invia con il campo indirizzo di destinazione uguale all indirizzo di broadcast. Un tale frame viene ricevuto ed elaborato da tutte le stazioni presenti nel dominio. La logica di funzionamento è la seguente: quando una stazione riceve un frame inviato in broadcast decide di fare processare il frame dalla CPU solo se il contenuto del frame è a lui destinato. Lo schema di funzionamento si svolge come nella figura 7: figura 7 16
Un indirizzo Multicast è molto simile a un indirizzo di broadcast in quanto permette ad una stazione di trasmettere un frame a un gruppo di stazioni. Questo tipo di indirizzo viene per esempio impiegato nei protocolli di routing come EIGRP oppure nel protocollo RIP per inviare gli aggiornamenti delle route ai router di confine. Nel caso di un indirizzo di tipo Unicast, il frame prodotto dalla scheda di rete della stazione mittente è indirizzato a una sola stazione. 1.6 Livello Fisico Ethernet La rete ethernet inizialmente è stata progettata da un gruppo chiamato DIX (Digital, Intel and Xerox), questo gruppo ha infatti creato le prime specifiche della tecnologia che poi è stata utilizzata dal comitato IEEE per creare la norma 802.3 (figura sotto) che prevedeva una velocità di 10Mbps su cavi coassiali. Il comitato IEEE 802.3, nell ottica di aumentare la velocità della rete, ha creato nuove specifiche per la rete ethernet: la FastEthernet (IEEE 802.3u), la GigabitEthernet (IEEE 802.3ab) ed infine la 10 GigabitEthernet (IEEE 802.3ae). figura 8 Le specifiche ethernet a livello fisico vengono definite tramite il comitato EIA/TIA (Electronic Industry Associations/Telecommunications Industry Alliance) che prevede l uso di una presa RJ45 su cavi in rame UTP per la connessione degli apparati ethernet. Il livello fisico ethernet originale era costituito dai protocolli seguenti (ognuno con i suoi vantaggi e svantaggi): 10BASE2: 10Mbps di velocità su circa 185m. Utilizza una topologia a bus tramite connettori AUI e può supportare fino a 30 stazioni sullo stesso segmento. Le schede di rete utilizzate in questo protocollo impiegano un connettore BNC (British Naval Connector oppure Bayonet Nut Connector) ed un connettore T per associarsi alla rete; 17
10BASE5: 10Mbps su circa 500m sempre basato su una topologia a bus, può supportare fino a 1024 stazioni su tutto il segmento utilizzando repeater per aumentare la distanza su circa 2500m. La topologia a bus viene rappresentata come nella figura 9: figura 9 10BASE-T: 10Mbps su cavi UTP di categoria 3, a differenza delle tecnologie viste in precedenza, le stazioni sono connesse ad un hub oppure ad uno switch cioè si ha una struttura stellare come nella figura 10: figura 10 18
Come si può vedere, su un segmento si trova una ed una sola stazione che viene connessa allo switch tramite una presa RJ45. Il cablaggio strutturato degli edifici così definito dall EIA/TIA è basato su una topologia stellare in cui vengono impiegati switch e hub per la segmentazione della rete, questo fa sì che la tecnologia 10BASE-T venga molto impiegata. 1.6.1 Tecnologia 802.3U (Fast Ethernet) A causa della grande richiesta della banda da parte degli utenti della rete ethernet, il comitato IEEE nel 1995 ha messo in piedi lo standard 802.3u noto come Fast ethernet che propone una velocità di 100Mbps basata sulle tecnologie 100BASE-TX e 100BASE-FX noto in generale come 100BASE-X. L IEEE 802.3u è compatibile con IEEE 802.3 nel senso che hanno le stesse caratteristiche fisiche. Utilizzano lo stesso MTU (Maximum Transfert Unit), gli stessi meccanismi MAC e preservano il formato del frame utilizzato nella 10BASE-T. La fast Ethernet è solo un estensione della 802.3, l unica differenza è che prevede una velocità 10 volte superiore a quella prevista dalla tecnologia ethernet 10BASE-T. Questa tecnologia è suddivisa come segue: La tecnologia 100BASE-TX a differenza della 10BASE-T utilizza doppino di categoria 5 sempre per una distanza massima di 100 metri; La tecnologia 100BASE-FX (IEEE 802.3u) utilizza come mezzo di comunicazione la fibra ottica multimodo (diametro 62.5/125 micron) per trasmettere dati. La scheda di rete in questo caso converte il segnale in piccoli impulsi luminosi che vengono inviati dalla fibra alla scheda di rete ricevente che converte di nuovo il segnale luminoso ottenuto in segnale elettrico, in generale questo viene fatto tramite un circuito elettronico noto come transceiver. Il connettore SC o ST viene impiegato per i collegamenti; La tecnologia 100BASE-TX (IEEE 802.3u) impiega due coppie di cavi in rame UTP di categoria 5, 6 o 7 come previsto dallo standard EIA/TIA. La distanza massima per un segmento è di circa100m (90m nel cablaggio strutturato degli edifici) e i collegamenti vengono fatti tramite un connettore RJ45 in una topologia stellare; 100BASE-TX e 100BASE-FX hanno come punto in comune il fatto di utilizzare lo stesso meccanismo di codifica. Siccome la tecnologia 100BASE-FX utilizza la luce per trasmettere dati, non ci sono interferenze elettromagnetiche. Perciò la distanza massima prevista in modo full duplex va oltre i 400 m; quando una fibra multimodo con diametro 19
62.5/125 viene impiegata è possibile raggiungere una distanza di circa 2Km in modo full duplex. 1.6.1.1 Chiarimento sul funzionamento full duplex Il meccanismo full duplex non è altro che una metodologia di trasmissione dati nella rete ethernet imposta dal comitato IEEE e noto come 802.3x. Questa metodologia che impiega due coppie di fili per trasmettere invece di una coppia come nel caso half duplex, permette ad una stazione di trasmettere e di ricevere dati contemporaneamente e alla stessa velocità. Quindi permette un buon sfruttamento del mezzo di trasmissione (raddoppiamento della banda) e consente di raggiungere una velocità doppia rispetto al modo half duplex. L unica restrizione sta nel fatto di dovere aspettare un tempo IFG (interframe gate) tra frame successivi. Proviamo a spiegare con una figura semplice questo meccanismo che non va trascurato figura 11 Questa metodologia di trasmissione funziona solo con un collegamento punto-punto cioè quando nel dominio di collisione c è una sola stazione trasmittente. Le stazioni connesse a apparati come hub o repeater non possono funzionare in tale modo, mentre le stazioni connesse ad un switch layer 2 possono benissimo funzionare in modo full duplex in quanto lo switch di livello 2 divide, come già detto, il dominio di collisione. Questo significa che un pacchetto ricevuto su una porta dello switch non viene inoltrato in tutte le porte come lo fa un hub, ma viene, a seconda dell indirizzo MAC di destinazione incluso nel pacchetto, inoltrato solo nella porta in cui è connessa la stazione di destinazione. Si ricorda infine che gli apparati che operano in modo full duplex non sono compatibili con apparati half duplex, infatti quando vengono impiegati nella stessa rete accade un problema di comunicazione noto come errore mismatch. Il modo full duplex viene impiegato in tre situazioni: 20
connessione tra uno switch ed una stazione; Connessione tra due switch; Connessione tra due stazioni utilizzando un cavo incrociato. Quando una porta ethernet full duplex viene accesa inizia un meccanismo noto come Auto detect Mechanism che permette alla porta di sapere in quale modo funziona la scheda dall altro lato del collegamento, è durante questa fase che vengono scambiati la velocità di trasmissione e il modo di funzionamento (full duplex o half duplex). Questo permette di integrare le varie tecnologie ethernet tra di loro. Il modo full duplex prevede un controllo di flusso tra il mittente ed il ricevitore. Quando il ricevitore, per esempio uno switch, scopre che c è una congestione richiede al mittente di smettere la trasmissione per un dato tempo PF (Pause Frame). Questo controllo di flusso è un operazione MAC to MAC. Nella figura12 si mostra lo svolgimento del meccanismo di controllo di flusso tra un switch ed un file server. figura 12 1.6.2 Gigabit Ethernet La gigabit Ethernet è lo standard della IEEE che propone una velocità di 1000 Mbps (1Gbps). In questa tecnologia vengono definite le sotto categorie seguenti: 1000BASE-T (802.3ab) che impiega cavi UTP (di categoria 5,6 o 7) come la 10BASE-T e la 100BASE-TX sempre su una distanza di 100m ma con una velocità di 1000 Mbps; 1000BASE-X (802.3z) utilizza come mezzo di comunicazione la fibra ottica, la conversione viene fatta tramite un convertitore GBIC (Gigabit interface converter), in questo sotto caso troviamo le tecnologie seguenti: 21
1000BASE-SX che impiega fibre multimodo su una distanza di circa 200m; 1000BASE-LX che impiega fibre monomodo per una distanza di 10km (utilizzato nelle backbone WAN); 1000BASE-CX impiega sempre fibre ottiche però è vincolata ad una distanza di 25m, per esempio è molto impiegato per collegare in trunk gli switch tra di loro negli armadi di distribuzione aziendale. Per mantenere il compromesso sulla stessa distanza con le altre tecnologie precedenti, il frame MAC della gigabit ethernet viene modificato rispetto al frame MAC ethernet. Un campo aggiuntivo viene inserito dalla stazione mittente e rimosso in ricezione dal ricevitore del frame gigabit. Il suo formato è il seguente: figura 13 Il campo Extension è utilizzato per i frame che non raggiungono la dimensione minima richiesta. 1.7 Le etichette della VLAN Un altro aspetto da non trascurare è il meccanismo delle VLAN che permette una divisione logica di una rete ethernet ossia le stazioni possono condividere lo stesso mezzo fisico ma essere logicamente separate e si ha come risultato un insieme di reti virtuali. Questo meccanismo è ottimo per separare il traffico in una rete, per esempio nel caso dell università si ha una VLAN per i docenti, una VLAN per gli studenti ed una VLAN per gli amministratori di rete, creando così il primo passo di sicurezza. Apparati come switch sono progettati in modo da potere supportare questo meccanismo. Il formato del frame MAC 802.3 che include una etichetta VLAN ha nella sua intestazione un campo di 4 byte in più inserito tra i campi SA e TYPE come rappresentato nella figura 14: 22
figura 14 Il sotto campo VLAN/typeID contiene un valore codificato su 2 byte che indica l appartenenza del frame ad una VLAN. Il campo Tag control information codificato su 2 byte viene utilizzato per la priorità del frame. Le VLAN verranno spiegate più in profondità nella parte sulla sicurezza nelle reti wireless. 1.8 Conclusione Le tecnologie ethernet hanno considerevolmente cambiato il mondo di trasmissione dati proponendo sempre più velocità e una architettura di rete sempre più sicura ed è proprio su questa architettura che la maggiore parte delle reti basate su altri protocolli, come l 802.11 e il protocollo LWAPP per esempio, si appoggiano per proporre altri servizi agli utenti. La tabella seguente riassume tutte le tecnologie ethernet viste. Topologia Sommario delle topologie Ethernet. Velocità (Mbps) Mezzo di trasmissione Distanza Massima (m) 10BASE5 10 Thick coax 485 10BASE2 10 Thin RG-58 coax 185 10BASE-T 10 CAT 3/5 two-pair UTP 100 10BASE- FL 100BASE- TX 100BASE- FX 1000BASE- T 10 Two-strand multimode fiber 2000 100 CAT 5 two-pair UTP 100 100 Two-strand multimode fiber 2000 1000 CAT 5 four-pair UTP 100 1000BASE- 1000 Shielded twisted-pair 25 23
Topologia CX 1000BASE- SX 1000BASE- LX Sommario delle topologie Ethernet. Velocità (Mbps) Mezzo di trasmissione Distanza Massima (m) 1000 Two-strand multimode fiber 200 1000 Two-strand single-mode fiber 10,000 tabella 1 24
Capitolo 2 Le reti wireless basate sullo standard IEEE 802.11 2.1 panoramica Nel 1997, dopo sette anni di lavoro, il gruppo degli ingegneri dell IEEE (Institute of Electrical and Electronics Engineers) ha ratificato la norma 802.11 che stabilisce le regole fondamentali di comunicazioni per le WLAN (wireless local Area Network). La prima versione di questa norma era proiettata per supportare una velocità di circa 2 Mb/s nella banda di frequenza libera 2.4 GHz, velocità molto bassa rispetto a quella delle reti cablate come la rete ethernet vista nel capitolo precedente. Questo vincolo sulla velocità non favoriva la crescita delle reti basate su questa tecnologia. Consapevoli di questo fatto, nel 1999 sono state aggiunte nello standard delle specifiche legate alla alta velocità. I cambiamenti principali agivano sul livello fisico del modello OSI proponendo alti bitrate ed una connettività più robusta. Perciò sono state proposte delle versioni dell 802.11 (802.11b) con nuove velocità: 5.5 Mbps e 11 Mbps. Con queste nuove velocità, paragonabili a quelle presente nelle reti ethernet, la tecnologia 802.11 cominciò a trovare molti successi in quanto oltre al lato di mobilità che proponeva, gli utenti wireless avevano quasi le stesse velocità di una rete cablata, per questo tante aziende cominciarono a migrare la loro LAN verso le WLAN. Nel 2003 nacque la versione 802.11g compatibile con i prodotti dell 802.11b ma con una velocità ancora più grande, circa di 54 Mbps, che ha reso le tecnologie wireless basate sull 802.11 ancora più popolari. Al giorno d oggi sono tre le versioni della norma che vanno insieme: 802.11a, 802.11b, 802.11g. Le versioni 802.11b e 802.11g utilizzano la banda di frequenza ISM di 2.4 GHz e propongono un bitrate teorico rispettivamente di 11 Mb/s e 54 Mb/s mentre quella 802.11a propone un bitrate di circa 54 Mb/s nella banda di 5 GHz. Esiste una grande compatibilità tra le norme 802.11b e 802.11g quindi le schede di rete wireless su cui vengono implementate queste tecnologie possono tranquillamente comunicare tra di loro cioè sono compatibili, mentre c è un incompatibilità con la versione 802.11a dello standard. 25
Con l avanzamento delle ricerche nel mondo dell elettronica, esistono, come lo vedremo nella parte pratica, delle schede di rete capaci di funzionare con tutte e tre le tecnologie. Gli attori principali che hanno investito nell industria del wifi appartengono al gruppo di lavoro WECA (Wireless Ethernet Compatibility Alliance) la cui missione è quella di verificare la compatibilità tra prodotti 802.11 di fornitori diversi. La WECA raggruppa fabbricanti di semi conduttori per WLAN, fornitori dei prodotti WLAN, società di fabbricazione pc nonché ditte che investono nella fabbricazione dei software. Tra queste possiamo elencare le seguenti società: 3Com, Aironet, Apple, Breezecom, Cabletron, Compaq, Dell, Fujitsu, IBM, Intersil, Lucent Technologies, No Wires Needed, Nokia, Samsung, Symbol Technologies, Wayport, Zoom e Cisco. 2.2 Architettura dello standard 802.11 Il disegno di una rete wireless è abbastanza flessibile in quanto esistono varie topologie previste nello svolgimento di una rete 802.11: Topologia IBSS (Independent basic service sets) Topologia BSS (basic service sets) Topologia ESS (Extended service sets) Quello che si intende con service sets in questo contesto non è altro che un insieme logico di stazioni dotate di una o più schede di rete wireless. Infatti l accesso ad una WLAN si fa tramite un segnale radio inviato in broadcast. Il frame inviato in broadcast contiene un campo noto come SSID che contiene a sua volta un identificativo della WLAN in cui la stazione trasmittente desidera agganciarsi. Questo SSID viene utilizzato dal ricevitore del frame wireless per filtrare il segnale rispetto a quello che vuole ascoltare. 2.2.1 Topologia Ad hoc (IBSS) In una topologia wireless del tipo ad hoc, le stazioni wireless sono in grado di comunicare tra di loro senza la necessità di un punto centrale come invece vedremo nella topologia ad infrastruttura. In altre parole è un tipo di comunicazione punto-punto nelle WLAN. La figura 15 ci mostra come stazioni dotate di schede wireless possono comunicare tra di loro in un contesto ad hoc. 26
figura 15 Come si può capire dalla figura di sopra, una rete ad hoc è una rete temporanea utilizzata, per esempio, solo per il tempo di una conferenza, non c è la necessità di una stazione master che gestisce le comunicazioni non c è neanche un sistema di distribuzione per la connessione ad una LAN. Inoltre non esiste un vincolo sul numero di stazioni che possono fare parte di una rete IBSS. Oggi quasi tutte le schede di rete senza fili supportano questa topologia ed esistono vari protocolli di routing per questo tipo di rete che fa si che un nodo può essere configurato in modo da instradare i pacchetti in ingresso alla sua scheda verso altri nodi adiacenti facendo parte della stessa rete, ma questo non è l oggetto di studio di questa tesi. Ricordiamo infine che lo svantaggio maggiore di una tale rete è la sicurezza infatti non sono previste ricerche sulla protezione per questo tipo di topologia. 2.2.2 Topologia A Infrastruttura (BSS) Un BSS è un gruppo di periferiche wireless in grado di comunicare tra loro tramite un punto centrale noto come Access Point (Punto di Accesso). In questo caso non esiste una comunicazione diretta tra due nodi appartenenti alla stessa BSS senza passare dall access point che è infatti il punto centrale di una tale rete. L access point viene equipaggiato di una porta di uplink che gli permette di connettersi ad una LAN, per esempio una porta che supporta una delle tecnologie ethernet viste nel primo capitolo. Quindi l access point oltre a far comunicare utenti wireless tra di loro, serve anche da 27
punto di accesso a un infrastruttura cablata, soluzione ottima per le aziende che vogliono estendere la loro rete esistente alla rete wireless. La figura 16 illustra una topologia BSS. figura 16 2.2.3 Topologia A Infrastruttura Estesa (ESS) Quando più BSS vengono connessi tra di loro tramite un sistema di distribuzione (DS), che può essere una rete cablata oppure una rete wireless, l insieme forma un ESS cioè un BSS esteso. Nel mondo dell 802.11 la porta dell uplink di un punto di accesso viene appunto connessa al sistema di distribuzione. La figura 17 mostra un implementazione pratica di un ESS. 28
figura 17 2.2.4 Alcuni Modi di Funzionamento degli Access Point In questa sezione del capitolo si porta chiarezza su alcuni funzionamenti degli access point, molto utili quando si progetta una rete wireless aziendale come quella dell università di Siena. La maggiore parte degli AP Cisco hanno queste funzionalità: Le funzionalità aggiuntive approfondite in seguito sono: AP come Repeater AP in modalità workgroup bridges (cliente universale) AP come wireless bridges 2.2.4.1 AP come Repeater Ci sono situazioni in cui è difficile oppure non è conveniente connettere un Access Point alla rete cablata oppure situazioni in cui è difficile per un AP connesso alla rete cablata di servire alcune stazioni della LAN. In un caso del genere si può utilizzare un altro AP come repeater, la figura 18 chiarisce il concetto: 29
figura 18 Come accade nelle reti cablate con un repeater, un AP che si comporta come un repeater non fa altro che ritrasmettere ad un altro AP nello stesso canale tutti i pacchetti che riceve. Il ruolo dell AP repeater è quello di estendere il BSS ed il dominio di collisione. Nella figura di sopra l AP3 impiegato da Lela per accedere alla rete è stato impostato come un repeater. 2.2.4.2 AP in modalità workgroup bridges Nella migrazione da una rete cablata a una rete wireless, alcuni apparati presenti nella rete cablata non sono stati progettati per supportare gli slot di estensione per le schede wireless, per esempio le stampanti, i fax etc. ma per integrare questi apparati sulla rete wireless si fa uso di un cliente universale o un workgroup bridge. Gli AP Cisco sono in grado di fungere da workgroup bridge come lo mostra la figura 19: 30
figura 19 L AP in modalità workgroup bridge incapsula i pacchetti ricevuti dalla rete cablata in pacchetti wireless e di conseguenza fornisce questi pacchetti all interfaccia radio. Il termine Cliente Universale viene spesso utilizzato quando un solo apparato viene connesso all AP, mentre il termine workgroup bridge è utilizzato in corrispondenza a più apparati connessi. 2.2.4.3 AP come wireless bridges Come un bridge nelle reti cablate, un AP in modalità bridge wireless permette di connettere più reti, infatti può funzionare come Root Bridge oppure Non Root Bridge. Questo tipo di modalità permette di aumentare la copertura di una rete wifi. Root bridge e Non Root Bridge sono in modo punto-punto. Un esempio è presentato nella figura 20: 31
figura 20 In questa figura l AP bridge1 assume il ruolo di root bridge mentre gli altri AP si comportano come stazione cliente del bridge1 e assumono il ruolo di non root bridge, vengono utilizzati per raggiungere, per esempio, un altra LAN della stessa azienda che si trova in un altro edificio. 2.3 Protocollo di Accesso 802.11 Lo standard 802.11 ridefinisce il livello di accesso ed il livello fisico della pila OSI. Nel capitolo 1 si è visto che le tecnologie ethernet utilizzavano il protocollo CSMA/CD come protocollo di accesso al mezzo di trasmissione. Nelle WLAN viene impiegato un protocollo di accesso molto simile al CSMA/CD chiamato CSMA/CA (CA significa collision avoidance) in cui una stazione prima di trasmette ascolta il canale per sapere se è libero, se lo è trasmette, se non lo è deve aspettare per un tempo aleatorio, ma in questo caso impiega la collision avoidance e non la collision detection come nelle reti ethernet. Questo meccanismo sarà spiegato più dettagliatamente in seguito. Per capire meglio il funzionamento del protocollo CSMA/CA prendiamo per analogia una conferenza telefonica. Un partecipante alla conferenza che desidera intervenire segue le regole seguenti: Prima di parlare deve indicare per quanto tempo durerà il suo intervento. Questo permette ad altri partecipanti di avere un idea di quanto tempo devono aspettare prima di intervenire a loro volta alla conferenza; 32
I partecipanti alla conferenza telefonica non possono parlare finché il tempo del partecipante precedente sia arrivato a termine; I partecipanti non sono consapevoli se vengono ascoltati quando stanno parlando, a meno che ricevano una conferma del loro intervento dal coordinatore della conferenza; Nel caso in cui due partecipanti cominciano ad intervenire (parlare) nello stesso momento, non sono consapevoli del fatto che stano parlando insieme. In questo caso non ricevono nessuna conferma sul loro intervento dal coordinatore della conferenza. Questi due partecipanti non avendo ricevuto una conferma del loro intervento dal coordinatore, si accorgeranno del fatto che stavano intervenendo tutte e due allo stesso momento; I partecipanti scelgono un tempo casuale che aspetteranno prima di intervenire di nuovo quando non ricevono una conferma del loro intervento dal coordinatore. Da questa analogia si può capire come il funzionamento del protocollo CSMA/CA sia molto più robusto del CSMA/CD in quanto la collision detection non può essere implementata nelle reti wireless. Il protocollo CSMA/CA si accorge di una collisione solo quando la stazione mittente non riceve un messaggio di riscontro del frame trasmesso. L implementazione del protocollo di accesso CSMA/CA si manifesta nello standard 802.11 tramite la funzione di distribuzione DCF (distributed coordination function). La descrizione del funzionamento del protocollo di accesso CSMA/CA viene fatto tramite le parole chiave seguenti: Carrier sense DCF Acknowledgment frames Request to Send/Clear to Send (RTS/CTS) medium reservation Frame fragmentation Point coordination function (PCF) 2.3.1 Carrier Sense Come nel caso della rete Ethernet, una stazione wireless che desidera trasmettere un frame sul canale radio ascolta prima il canale, se è occupato, la stazione aspetterà che sia libero prima di trasmettere. La stazione determina lo stato del canale con due metodi: 33
1- una verifica del livello fisico per sapere se c è già presenza di un altro segnale sul canale; 2- l uso di una funzione virtuale di ascolto del canale nota come NAV (network allocation vector). La stazione può utilizzare il livello fisico per scoprire che il canale è libero, ma in alcuni casi, il canale può essere sempre occupato da un'altra stazione nella NAV. Una NAV non è altro che un timer che viene aggiornato dai frame dati trasmessi sul canale. Prendiamo il caso di una rete ad infrastruttura come nella figura di sotto, supponiamo che Emanuela stia inviando un frame a Jean Pierre, siccome il canale di comunicazione è un canale radio e perciò un canale di broadcast condiviso, Sofia riceverà anche lei lo stesso frame. Un frame 802.11 contiene un campo chiamato Duration (tempo per trasmettere il frame) il cui contenuto è un valore abbastanza grande da poter trasmettere un frame e da poter ricevere un messaggio di riscontro al frame trasmesso. Sofia aggiorna dunque la sua NAV in funzione di questo valore e non trasmetterà finché questo valore, decrementando, non raggiunge il valore 0. Le stazioni aggiornano la loro NAV solo se il campo Duration del pacchetto ricevuto contiene un valore maggiore a quello correntemente presente nella loro NAV. Per esempio nel caso in cui Sofia con una NAV attuale pari a 10ms, ricevesse un frame con il campo Duration pari a 5ms, non procederà all aggiornamento della NAV. figura 21 34
2.3.2 Distributed Coordination Function (DCF) In una operazione DCF, una stazione che desidera trasmettere un frame deve prima aspettare che il canale rimanga libero per un certo tempo DIFS (DCF interframe space). Una volta che l intervallo di tempo DIFS è terminato, il canale diventa libero per tutte le stazioni che vogliono accedere al mezzo di comunicazione. Per esempio nella figura 21, quando Emanuela invia un frame a Jean Pierre prenotando il canale per 10ms per l invio del frame, la situazione che si presenta è la seguente: figura 22 Una volta che il frame di Emanuela è stato inviato, il canale rimane libero per un tempo DIFS prima che le stazioni presenti nella finestra di contesa lottino di nuovo per occupare il canale. Supponiamo per esempio che Sofia e Jean Pierre vogliano trasmettere un frame appena i 10ms richiesti da Emanuela per la trasmissione del suo frame scadano, le loro schede di rete wireless avranno attivato la stessa NAV cioè 10ms, e tutte e due le stazioni sentiranno fisicamente quando il canale diventerà inattivo. La probabilità di collisione in questo caso è molto alta, per evitare una tale situazione, il DCF utilizza un tempo di Backoff casuale. L algoritmo del Backoff casuale è molto semplice, quando il canale diventa libero, ogni scheda di rete wireless sceglie un valore casuale compreso tra 0 ed un valore massimo noto come Contention Window (CW). Il valore di default della Contention Window viene settato nella scheda di rete e dipende dai diversi costruttori. In generale, il range dei valori della contention windows inizia da 0 ed incrementa fino ad un valore massimo (CWmax) che non è altro che una cella mobile che inizia da CWmin e finisce con questo valore massimo come lo mostra la figura 23: 35
figura 23 In questa figura, se la CWmin inizia per esempio a 7 ed il valore della CWmax è fissato a 255, i valori candidati per l algoritmo casuale del Backoff sono 7, 15, 31, 63, 127, e 255. Una stazione sceglie in modo casuale un valore compreso tra 0 ed uno dei valori visti sopra, ed è questo valore che rappresenta il tempo o meglio lo slot time 802.11 che la stazione aspetterà quando il canale entrerà nel periodo di inattività prima di trasmettere. Per analogia al nostro esempio, Sofia è pronta a trasmettere il suo frame in quanto il suo valore della NAV ha raggiunto il valore 0 ed il canale è libero, quindi la sua scheda di rete wireless sceglie un valore casuale compreso tra 0 e CW, supponiamo in questo caso 7, quindi Sofia dovrà aspettare ancora per 7 time slot prima di iniziare a trasmettere. La figura 24 chiarisce meglio il concetto: figura 24 36
Nella figura si può vedere che una volta che il tempo casuale di 7 slot time è finito, Sofia inizia subito la trasmissione. Cosa succederebbe per esempio se Jean Pierre scegliesse un tempo casuale pari a 4 time slot? Essendo 4 minore di 7, Jean Pierre trasmetterà per primo, siccome il frame viene inviato in broadcast, Sofia se ne accorgerà e dal sotto campo Duration, visto in precedenza, Sofia ne approfitterà per aggiornare di nuovo il suo timer NAV con il nuovo valore contenuto nel campo Duration. Una volta che Jean Pierre ha finito di trasmettere e che il canale è diventato di nuovo inattivo, Sofia non sceglierà più un nuovo time slot, ma continuerà dove la decrementazione si è fermata l ultima volta, in questo caso avrà come time slot 3 e potrà trasmettere al termine di questo tempo. Supponiamo che Sofia abbia trasmesso il suo frame con successo, ma come fare a sapere che la trasmissione sia andata a buon fine? Lo standard 802.11 richiede che la stazione di destinazione o meglio il ricevitore del frame deve, per ogni frame ricevuto, inviare un pacchetto di riscontro (Ack). Questo pacchetto viene indirettamente impiegato dalla stazione mittente per sapere se c è stata una collisione infatti se la stazione non riceve un pacchetto di riscontro di un frame precedentemente trasmesso considererà che è avvenuta una collisione. In questo caso la stazione aggiorna il suo contatore Retry Counters, raddoppia il valore della CW, e ricomincia il processo di accesso al canale radio. Nella figura 25 si riassumono le tappe che segue una stazione DCF per inviare un frame sul canale radio: figura 24 37
2.3.2.1 Pacchetto di Riscontro Come detto in precedenza, una stazione che riceve un frame deve rispondere al mittente con un pacchetto di riscontro (Ack), siccome la stazione ricevente del frame dovrà occupare il canale radio per trasmettere il pacchetto di riscontro, dobbiamo assumere la possibilità che questo pacchetto subisca un ritardo dovuto al fatto che il canale nel frattempo sia stato occupato da un'altra stazione. La trasmissione di un pacchetto di riscontro è un caso speciale, infatti la trasmissione di questo tipo di pacchetto viene proiettato in modo da evitare il processo di Backoff casuale, una volta ricevuto correttamente il frame, la stazione di destinazione aspetta un intervallo di tempo molto breve prima di inviare sul canale radio il pacchetto di riscontro. Questo breve intervallo di tempo è noto come SIFS (short interframe space). Logicamente il tempo SIFS è ben più piccolo rispetto al tempo DIFS per garantire alla stazione ricevente di un frame di potere trasmettere il pacchetto di riscontro prima che il canale sia occupato. Continuando con la nostra analogia nella comunicazione wireless tra Sofia, Emanuela e Jean Pierre, supponiamo che Sofia stia trasmettendo un frame a Jean Pierre, ed abbia scelto un tempo casuale pari a 4 time slot, una volta libero il canale, Sofia invia il frame al punto di accesso, che deve aspettare un tempo SIFS prima di inviare il pacchetto di riscontro. La figura 26 seguente chiarisce il concetto: figura 26 38
Supponiamo che Sofia non riceva il frame di riscontro, in questo caso dovrebbe raddoppiare il valore della CW e ricominciare il processo di Backoff. Per ogni tentativo di accesso al canale radio fallito, la stazione 802.11 deve incrementare il contatore retry counter. Il valore della CW continua a raddoppiare fino al raggiungimento della CWmax. Il livello MAC continuerà a tentare la trasmissione del frame fino a quando il contatore retry counter raggiungerà il valore massimo o meglio la soglia fissata dall amministratore di rete ed è solo a questo punto che la stazione emettente del frame (la stazione di Sofia per esempio) tenterà di occupare il canale. 2.3.2.2 Problema delle stazioni nascoste : RTS/CTS Per spiegare in modo chiaro il problema della stazioni nascoste e continuando con la nostra analogia sulla comunicazione wireless tra Emanuela, Sofia e Jean Pierre, supponiamo che dopo più tentativi la stazione di Sofia non sia stata in grado di accedere al canale radio perché un altra stazione (nella figura seguente quella di Daniele) occupa il canale, questo può succedere perché la stazione di Daniele si trova nel raggio di copertura del punto di accesso ma non nel raggio in cui si trova la stazione di Sofia (si suppone in questo caso l uso delle antenne omnidirezionali) e quindi non viene vista dalla stazione di quest ultima. Nella figura 27 Daniele non viene visto da Sofia e Jean Pierre, ma viene visto solo dall access point. Questo è noto come problema delle stazioni nascoste. figura 27 39
I passi da seguire sono i seguenti: Sofia tenta di riservare il canale tramite un pacchetto RTS (Request To Send). Il pacchetto RTS viene inviato all AP ed indica a quest ultimo e a tutte le stazioni nel raggio di copertura della stazione di Sofia (Stazione di Jean Pierre) la durata che la stazione di Sofia impiegherà per scambiare i frame con l AP (frame e ritorno dell Ack). L AP risponde al pacchetto RTS inviato dalla stazione di Sofia con un pacchetto CTS (Clear To Send), questo pacchetto contiene un campo Duration abbastanza grande per permettere alla stazione di Sofia di scambiare il frame. Tutte le stazioni nel raggio di copertura dell AP (le stazioni di Daniele e Jean Pierre) ricevono una copia del pacchetto CTS e da questo pacchetto aggiorna il loro valore della NAV come lo mostra la figura 28: figura 28 Il pacchetto RTS inviato da Sofia segue tutti i passi DCF come visto in precedenza, e come un pacchetto di riscontro, il frame CTS dell AP evita il processo del Backoff casuale e aspetta solo il tempo SIFS, dopo la ricezione del RTS, per essere trasmesso. La figura 29 mostra un esempio del processo di un frame RTS: 40
figura 29 Dalla figura si può vedere che Jean Pierre e Daniele aggiornano il loro timer NAV (10ms) ma il frame di riscontro al messaggio di Sofia inviato dall AP non segue la regola prevista dal DCF. Quando Jean Pierre riceve il frame, provvede a rispondere immediatamente con un frame di riscontro anche se il suo timer NAV non è nullo, per ogni pacchetto ricevuto deve aspettare semplicemente l intervallo di tempo SIFS per rispondere con l Ack. 2.3.3 Frammentazione del frame 802.11 La frammentazione del frame 802.11 è una funzione del livello MAC progettato per aumentare l affidabilità della trasmissione di un frame nel canale wireless. Lo scopo della frammentazione è quello di dividere un frame in piccoli segmenti che vengono poi trasmessi individualmente come lo mostra la figura 30: 41
figura 30 Quest assunzione viene dal fatto che dividendo un frame in questo modo la probabilità di trasmettere un piccolo segmento con successo è molto grande. Per ogni segmento trasmesso, il ricevitore del segmento deve rispondere con un pacchetto di riscontro Ack, quindi se un segmento viene perso durante la trasmissione oppure se il frammento subisce un errore, solo questo frammento viene ritrasmesso e non l intero frame, questo aumenta considerevolmente il throughput della rete. La frammentazione viene utilizzata solo con un frame unicast. Le schede di rete, come quelle della Cisco, vengono accompagnate da un software di gestione che da la possibilità ad un amministratore di rete di definire la dimensione che deve avere un segmento. Benché la frammentazione apporti un vantaggio in termine di affidabilità nelle trasmissioni, il throughput della stazione che frammenta decresce in quanto per ogni segmento c è l aggiunta dell intestazione MAC. 2.3.4 Point Coordination Function Il PCF è un altro meccanismo opzionale utilizzato dallo standard 802.11(solo in una topologia ad infrastruttura) insieme al DCF per l accesso al canale wireless. Il PCF prevede un frame noto come Contention-free frame processato dall AP. Però la maggiore parte dei costruttori delle schede di rete non includono questa funzionalità in quanto il PCF aumenta l intestazione del frame nella BSS. Viene utilizzato soprattutto per migliorare la qualità del servizio (Qos) nell 802.11. Il periodo della Contention Free Il periodo della Contention Free (CFP) è il tempo necessario per le operazioni del PCF. 42
Il CFP comincia con un intervallo fissato dopo il frame di Beacon che contiene le informazioni sulla mappa di distribuzione del traffico (DTIM). La frequenza del CFP viene fissata dall amministratore della rete. Una volta che inizia il CFP, l AP si comporta come un PC (Point Coordinator). Ogni stazione 802.11 fissa il suo contatore NAV al valore CFPMaxDuration. Questo valore è contenuto nel campo CF (che vedremo in seguito), e definisce il tempo massimo della CFP. Il PC (in questo caso l AP) può terminare il CFP prima della fine del valore CFPMaxDuration. L AP trasmette un pacchetto di Beacon ad intervalli regolari e questo pacchetto, inviato durante il periodo CFP, contiene un campo avente un valore fissato a CFPDurationRemaining che permette di aggiornare la NAV sul tempo rimanente della CFP. La figura 31 descrive una tale situazione: figura 31 Al contrario di quello che accade nell accesso al canale con il DCF, nel PCF le stazioni non accedono liberamente al canale per trasmettere dati, una stazione occupa il canale per inviare i pacchetti (un frame per volta) se e solo se viene eletto dal coordinatore (l AP). In questo contesto, l AP diventato il PC è in grado di inviare un frame ad una stazione, eleggere la stazione per la trasmissione del frame, inviare un pacchetto di riscontro per frame ricevuti, e terminare il CFP. Le operazioni fatte da un coordinatore sono le seguenti: quando inizia il periodo CFP, il PC accede al canale nello stesso modo come nel DCF, ma al contrario di una stazione DCF, tenta di occupare il canale dopo un intervallo di tempo chiamato PIFS (PCF interframe space). Il tempo PIFS è un po più grande (un time slot in più) rispetto al tempo SIFS ma più piccolo (un time slot in meno) rispetto al tempo DIFS, questo aumenta la probabilità del PC (oppure della stazione PCF) di occupare il canale prima di una stazione DCF. 43
La figura 32 spiega la relazione tra SIFS, PIFS, DIFS e time slot: figura 32 Passato il tempo PIFS, il PC invia il frame di Beacon iniziale contenente il campo CF. Il PC aspetta poi per un tempo SIFS dopo l invio del frame di Beacon, e invia una delle informazioni seguenti ad una stazione CF-Pollable: un frame dati un frame di polling (CF-Poll) una combinazione di frame dati e di polling (Data+CF-Poll) un frame di fine CFP (CF-End) se il PC non ha frame da trasmettere e non ha una stazione CF-Pollable da coordinare, il CFP viene considerato nullo e subito dopo il frame di Beacon, il PC trasmette anche il frame CF-End per terminare il CFP. Basandosi sempre sull analogia di un comunicazione wireless tra Sofia, Jean Pierre ed Emanuela, consideriamo la figura 33: figura 33 44
L access point AP1 (PC) invia un frame di Beacon indicando l inizio della CFP. La CFP viene settata per 20s, in questo caso le stazioni di Sofia, Emanuela e Jean Pierre aggiornano il loro valore della NAV a 20s corrispondente alla durata della CFP contenuta nel Beacon. Dopo un tempo SIFS, l AP1 manda un frame bufferizzato e un frame di polling CF-Poll alla stazione di Sofia per chiederle se ha un frame da trasmettere. La stazione di Sofia una volta ricevuti questi frame, invia un frame dati più uno di riscontro chiamato CF-ACK (contention-free acknowledgment) all AP1 ma questo dopo un tempo SIFS; da notare che la stazione di Sofia ignora la sua NAV quando risponde ad un frame CF-Poll. L AP1 continua nello stesso modo con la stazione di Emanuela, poi con quella di Jean Pierre con la stessa filosofia: Hai qualcosa da trasmettere? se Sì inviamelo, se No tocca alla stazione seguente. Nella figura di sopra, l AP1 utilizza un altra combinazione per inviare pacchetti a Emanuela; invia successivamente Dati+CF-ACK+CF-Poll: il CF-ACK è il pacchetto di riscontro inviato a Sofia, perché il frame inviato da Sofia era destinato a Emanuela che, come si può vedere, risponde con un CF-ACK inviato all AP1 dopo un tempo SIFS. L AP1 poi si sposta sulla stazione di Jean Pierre e non avendo nessuno frame da consegnare a questa stazione, l AP1 invia alla stazione di Jean un frame CF-Poll per sapere se la stazione ha qualcosa da trasmettere. La stazione di Jean Pierre non avendo frame da trasmettere, invia un frame vuoto (nullo) e finché la durata massima fissata dall AP1 per la CFP non arriva al termine, non viene inviato il frame CF-End alle stazioni, una volta invece che quest ultimo pacchetto viene inviato a tutte le stazioni, si ritorna di nuovo nell accesso al canale tramite il DCF. 2.4 Operazioni svolte dal MAC 802.11 Nei paragrafi precedenti si è descritto come una stazione wireless accede al canale radio, in questo paragrafo, descriveremo gli argomenti seguenti: Associazione di una stazione ad un AP Le operazioni di risparmio della potenza Il formato del frame MAC 802.11 45
2.4.1 Associazione di una Stazione wireless ad un punto di accesso Si è già visto in precedenza e tramite alcuni esempi, come una stazione fa per inviare frame in BSS ovvero si è visto come le stazioni coinvolte nello stesso BSS condividono il canale radio. Ma prima di cominciare a trasmettere frame in un BSS, ci sono alcune operazioni importanti fatte dall AP e la scheda wireless della stazione per permettere alla detta stazione di associarsi all AP e quindi di fare parte della BSS. Per associarsi ad un access point la stazione deve scambiare con l AP tre tipi di pacchetti: un pacchetto chiamato Probe, un pacchetto di autenticazione ed un pacchetto di associazione. 2.4.2 Processo di Probe Per chiarire il concetto sul processo di probe, consideriamo la figura 34 in cui una stazione (quella di Sofia) viene coperta da 3 access point, Sofia essendo uno studente appartiene alla WLAN degli studenti: figura 34 46
Per accedere alla WLAN la stazione cliente invia un frame di richiesta Probe (probe ha il senso di sondaggio o indagine) in tutti i canali da lui utilizzati. Questo pacchetto contiene informazioni sulla stazione 802.11 come il bitrate supportato dalla stazione, il SSID di appartenenza della stazione etc.. Nella figura seguente si mostra la cattura di un pacchetto di probe fatto tramite un analizzatore dei pacchetti wireless chiamato AiroPeek della società WildPacket. I campi principali in questo frame sono: SSID Element: questo campo del frame di richiesta di probe contiene il SSID che viene configurato sulla scheda di rete wireless della stazione mobile; Support Rates Element: questo sotto campo contiene la velocità supportata dalla scheda di rete wireless. Le stazioni clienti trasmettono questo tipo di frame senza sapere niente dell AP che riceve il frame perciò tante richieste probe vengono inviate con un bitrate di 1Mbps come si vede nella figura 35 che rappresenta una cattura di AiroPeek. figura 35 47
Quando l AP riceve una richiesta probe deve rispondere con un frame noto come Probe Response. La figura 36 mostra una cattura della risposta probe prodotta dall analizzatore AiroPeek: figura 36 I campi principali di tale pacchetto sono: Timestamp: campo utilizzato per la sincronizzazione del clock del trasmettitore e del ricevitore wireless; Beacon interval: tempo trascorso tra due pacchetti di Beacon; Capability information: capacità del livello MAC e del livello PHY; SSID Element: campo che contiene il SSID configurato sull AP; Support Rates: bitrate supportato dall AP; PHY parameter set Element: dà informazione specifiche sul livello fisico della stazione cliente. Quando la stazione riceve dall AP una risposta probe è in grado di conoscere il bitrate supportato dall AP. Paragonando più risposte di probe provenienti da più AP, come 48
nella figura di sopra in cui la stazione di Sofia riceve due risposte di probe da AP1 e AP2, la stazione è in grado di scegliere l AP con cui associarsi. Il meccanismo di associazione di una stazione a un AP non fa parte dei requisiti 802.11 e viene definito da ogni venditore. Supponiamo che il venditore abbia scelto come criterio di associazione la potenza del segnale ricevuta, il SSID giusto, e la velocità di trasmissione, la figura 37 chiarisce la scelta che di conseguenza farà la stazione di Sofia. figura 37 Come si può vedere, l AP1 e l AP2 hanno le stesse SSID e supportano tutti e due le stesse velocità, però l AP2 ha una potenza del segnale doppia rispetto a quella dell AP1 (100% contro 50%). La stazione di Sofia si assocerà dunque all AP2 per ragione di potenza del segnale. Mentre l AP3 non verrà scelto perché contiene un SSID diverso. Una volta che la stazione di Sofia ha scelto l AP al quale associarsi il passo seguente è l autenticazione. 2.4.3 Processo di Autenticazione. Nello standard 802.11 il processo di autenticazione avviene in due maniere differenti, in modo aperto oppure in un modo basato sull uso delle chiavi condivise ( che verrà chiarito in profondità nella parte riservata alla sicurezza nelle reti wireless). Lo scopo del processo di autenticazione nell 802.11 è quello di permettere agli apparati coinvolti nella 49
rete wireless (AP e Stazione) di autenticarsi mutuamente così da evitare il problema noto come Man in Middle. Questo processo di autenticazione si svolge tramite due tipi di frame, authentication request e authentication response come mostra la figura 38: figura 38 2.4.4 Processo di Associazione Dopo i due passi precedenti e una volta che il processo di autenticazione sia andato a buon fine, segue il passo di associazione. Questo processo permette all AP di associare una delle sue porte logiche oppure un identificativo di associazione (AID) alla stazione mobile. Questo processo viene iniziato dalla stazione mobile tramite una richiesta di associazione association request che contiene le informazioni sulle capacità della stazione. A questo frame l AP risponde con un pacchetto association response che contiene l esito dell associazione (successo o fallimento) e un codice che spiega il perché dell esito. Nelle figure 39 e 40 si presenta la cattura di un frame association request e di un frame association response ottenuta tramite l analizzatore AiroPeek 50
figura 39 Un frame di richiesta di associazione contiene i seguenti campi principali: Listen interval: utilizzato dalla stazione per informare l AP sulla sua frequenza d ascolto nel ricevere un frame; SSID Element: serve per confermare il SSID del cliente all AP perché un AP non può accettare associazioni con stazioni che hanno un SSID diverso dal suo; Support rates element: campo che contiene la velocità supportata dalla stazione wireless. 51
figura 40 Un frame di risposta di associazione contiene i campi principali seguenti: Status code: campo che contiene il codice che descrive l esito della risposta (verrà visto in seguito); Association ID: questo identificativo per l AP è simile alla porta di un Hub oppure di uno Switch e serve all AP per individuare la stazione a cui è destinato un frame, in quanto un frame wireless è inviato in broadcast e quindi ricevuto da tutte le stazioni sul canale radio; Support rates element: questo campo indica la velocità supportata dall AP. 2.5 Formato del Frame MAC 802.11 Innanzitutto si ricorda che lo standard 802.11 ridefinisce solo i due primi livelli del modello OSI cioè il livello fisico, che vedremo in seguito, e il livello di accesso al mezzo di comunicazione MAC come si è già visto nei paragrafi precedenti. Esistono tre categorie di frame nel MAC 802.11: 52
Frame di controllo Frame di gestione o meglio frame di management Frame dati La figura 41 ci mostra il formato generale di un frame MAC 802.11. Frame Control figura 41 Duration ID Address 1 Address 2 Address 3 Sequence Control Address 4 Frame Body FCS 2.5.1 Frame Control Frame control è un valore codificato su 2 byte e costituito di 11 sotto campi. Le figure 42 e 43 mostrano in dettaglio la struttura di un tale campo e la sua cattura tramite AiroPeek figura 42 53
figura 43 I campi più importanti di questo frame sono: Protocol Version: questo campo contiene la versione del protocollo MAC 802.11. Fino ad oggi esiste una sola versione e questo campo viene settato a 0; Type: questo campo specifica il tipo di frame MAC cioè se è un frame di controllo, di management oppure un frame dati; Subtype: contiene un sotto tipo legato al campo type precedente. I valori accettati per questo sottocampo sono elencati nella tabella seguente: Valore Campo Type Descrizione del Campo Type Valore Sotto Campo Type Descrizione Sotto Campo 00 Management 0000 Association request 00 Management 0001 Association response 00 Management 0010 Reassociation request 00 Management 0011 Reassociation response 00 Management 0100 Probe request 00 Management 0101 Probe response 00 Management 01100111 Reserved 00 Management 1000 Beacon 54
Valore Campo Type Descrizione del Campo Type Valore Sotto Campo Type Descrizione Sotto Campo 00 Management 1001 Announcement traffic indication frame (ATIM) 00 Management 1010 Disassociation 00 Management 1011 Authentication 00 Management 1100 Deauthentication 00 Management 11011111 Reserved 01 Control 00001001 Reserved 01 Control 1010 PS-Poll 01 Control 1011 RTS 01 Control 1100 CTS 01 Control 1101 Acknowledgment (ACK) 01 Control 1110 CF-End 01 Control 1111 CF-End+CF-Ack 10 Data 0000 Data 10 Data 0001 Data+CF-Ack 10 Data 0010 Data+CF-Poll 10 Data 0011 Data+CF-Ack+CF-Poll 10 Data 0100 Null function (no data) 10 Data 0101 CF-Ack (no data) 10 Data 0110 CF-Poll (no data) 10 Data 0111 CF-Ack+CF-Poll (no data) 10 Data 10001111 Reserved 11 Reserved 00001111 Reserved To DS: campo che in dica se il frame è destinato alla stazione ricevente; From DS: campo che indica se il frame proviene dalla stazione di destinazione; More Fragment: campo che indica se il frame fa parte di un insieme di frammenti di uno stesso frame oppure no; Retry: questo campo indica se si tratta di una ritrasmissione di un frame così da evitare frame duplicati. 55
Power Management: campo che definisce il vincolo sulla potenza. Settato a 1 indica che la stazione è in modalità di risparmio potenza, mentre se settato a 0 indica che la stazione è attiva. I frame provenienti dall AP hanno sempre questo campo settato a 0; More Data: campo che viene settato per ind icare alla stazione mobile che ci sono frame dati a lei destinati nel buffer del mittente; WEP: campo che indica se il processo di crittografia WEP viene utilizzato; Durat ion/id: campo utilizzato differentemente rispetto al tipo di accesso della stazione al canale di comunicazione (PCF o DCF). Address 1, 2, 3, and 4: questi campi variano rispet to al tipo e sotto tipo del frame; Sequence Control: campo che rappresenta il numero di sequenza del frame; FCS: campo su 32 bit per il controllo degli errori sul frame come visto nel primo capitolo per il frame MAC ethernet. I frame di controllo MAC specificati dallo standard 802.11 sono: PS-Poll, RTS, CTS, ACK, CF-End, CF-End + CF-Ack. 2.5.1.1 Frame PS-Poll Frame che indica all AP che una stazione che era in st ato di risparmio energia (in pausa) ora sta richiedendo che i suoi pacchetti nel buffer dell AP gli vengano trasferiti. Il suo form ato è rappresentato nella figura 44: figura 44 AID: campo che contiene l identificativo della porta logica associata alla stazione mobile (già visto sopra); BSSID: il SSID a cui è associato la stazione; Transmitter address (TA): l indirizzo MAC della stazione mobile in stato di risparmio energia. 56
2.5.1.2 Frame RTS Come già visto, questo frame viene utilizzato per prenotare o riservare il canale radio. Il suo formato è il seguente: figura 45 Duration: campo che contiene il tempo richiesto dalla stazione per trasmettere il frame. Come visto, include il tempo necessario per la trasmissione del frame RTS, per la ricezione del frame CTS compreso l intervallo di tempo SIFS, il tempo per trasmettere il pacchetto dati, ed infine il tempo per ricevere un frame di riscontro Ack compreso l intervallo SIFS. Il valore contenuto in questo campo viene misurato in ms; Reicever Address (RA): indirizzo MAC del ricevitore del frame (spesso un AP); Transmitter Address: indirizzo MAC del trasmettitore del frame (la stazione). 2.5.1.3 Frame CTS Come noto, questo è il pacchetto che contiene la risposta ad un frame RTS. Il suo formato si presenta come segue: figura 46 Duration: valore contenuto nel frame RTS meno il tempo richiesto per trasmettere il CTS e il tempo SIFS; Receiver Address: l indirizzo MAC della stazione mobile ricevente del frame. 57
2.5.1.4 Frame Ack Questo pacchetto serve da riscontro per frame ricevuti correttamente. Il formato del frame è il seguente: figura 47 Duration: per un pacchetto Ack questo campo è sempre settato a 0 Receiver Address: l indirizzo MAC della stazione mobile ricevente del frame. 2.5.1.5 Frame CF-End e Frame CF-End + CF-Ack Questi frame, come già visto, vengono utilizzati nelle operazioni PCF. Indicano la fine della CFP. Il frame CF-End + CF-Ack vengono mandati dall ultima stazione durante il periodo di CFP. Il formato di tali frame si presenta come segue: figura 48 Duration : fissato a 0 Receiver Address: indirizzo MAC della stazione di destinazione del frame, nel caso di un frame CF-End, è un indirizzo MAC destinato a tutte le stazioni della BSS. BSSID: indirizzo MAC dell AP. 58
2.5.2 Frame di Management 802.11 Questo tipo di frame governa i frame visti precedentemente, utilizza anche sotto campi chiamati IE (Information Elements) e fixed fields (campi fissi). La sua struttura è la seguente: figura 49 Lo scopo dei sotto campi IE e Fixed Field è quello di dare una capacità flessibile al frame MAC e quello di prevedere un metodo scalabile per espandere le funzioni del frame di management MAC. Come si può vedere nella figura di sopra, un frame di management 802.11 viene costruito in base ai campi rilevanti del frame MAC più i campi IE e i campi fissi. I sotto campi IE che fanno parte del pacchetto di management sono elencati nella tabella seguente: Campi IE di Management SSID 0 Supported rates 1 Frequency hop (FH) parameter set 2 DS parameter set 3 CF parameter set 4 TIM 5 IBSS parameter set 6 Reserved 715 ID Campo 59
Campi IE di Management ID Campo Challenge text 16 Reserved for challenge text extension 1731 Reserved 32255 tabella 3 Per chiarire le idee vediamo come alcuni di questi campi vengono definiti: 2.5.2.1 Campo SSID Campo che può essere settato a 32 byte, fissato a 0, indica un SSID di broadcast. Il suo formato è il seguente: figura 50 Supported Rates Campo che indica la velocità supportata dalla stazione mobile. 2.5.2.2 Frequency hop (FH) parameter Questo campo, rappresentato nella figura 51, contiene i parametri della funzione di frequency hopping (che verrà spiegato in seguito) ed è composto dai sotto campi seguenti: figura 51 2.5.2.3 Campi Fissi 802.11 Lo standard prevede 10 campi fissi associati ad un frame di management, questi campi sono elencati nella tabella 4: 60
Campi Fissi Dimensione (Bits) Authentication algorithm number 16 Authentication transaction sequence number 16 Beacon interval 16 Capability information 16 Current AP address 48 Listen interval 16 Reason code 16 AID 16 Status code 16 Timestamp 64 tabella 4 Vediamo alcuni campi importanti: Authentication algorithm number: settato a 0 indica un autenticazione aperta, mentre un valore pari a 1 è un autenticazione basata su chiavi condivise; Authentication Transaction Sequence Number: questo campo indica la tappa corrente in un processo di autenticazione multi-livello; Beacon Interval: indica l intervallo tra frame di Beacon; Capability Information: include sotto campi rilevanti per un frame di management; Questo campo è rappresentato come segue: ESS è settato ad 1 e l IBSS a 0 dall AP in un frame di Beacon. figura 52 61
Status code: questo campo contiene la descrizione dell esito di una risposta a un frame di management, i valori accettati sono i seguenti: Status Code Significato 0 Successo 1 Fallimento non specificato 29 Riservato 10 Non può supportare tutte le richieste di Capacità contenuto nel campo capacità 11 Re-associazione vietata 12 Associazione vietata 13 La stazione in questione non supporta l algoritmo di autenticazione 14 Frame di autenticazione fuori del numero di sequenza 15 autenticazione rifiutata perché la sfida risposta con l AP non è andata a buon fine. 16 Autenticazione rifiutata perché il timeout è finito. 17 Associazione vietata perché l AP non è in grado di accettare stazioni addizionali 18 Associazione vietata perché la stazione non è in grado di supportare la velocità impostata dall AP. 1065,535 Riservato tabella 5 Current AP Address: indirizzo MAC dell AP a cui la stazione è correntemente associata; Listen Interval: già visto in precedenza Reason Code: campo che contiene la causa di un fallimento di autenticazione. 62
La tabella 6 mostra tutti i valori accettati per questo campo: Reason Code Significato 0 Reserved 1 Unspecified reason 2 Previous authentication no longer valid 3 Deauthenticated because sending station is leaving (has left) IBSS or ESS 4 Disassociated due to inactivity 5 Disassociated because AP is unable to handle all currently associated stations 6 Class 2 frame received from nonauthenticated station 7 Class 3 frame received from nonassociation station 8 Disassociated because sending station is leaving (has left) BSS 9 Station requesting (re)association is not authenticated 1065,535 Reserved with responding station tabella 6 Il campo ESS viene settato a 1 ed il sotto campo IBSS a 0 nei pacchetti di Beacon e di richiesta di Probe. Una stazione nella IBSS setta il campo IBSS ad 1 mentre il campo ESS viene fissato a 0 nei pacchetti di Beacon e di probe. Infine il campo Privacy viene settato ad 1 se c è l uso della crittografia WEP per proteggere i dati. I frame appartenenti a quello di management sono i seguenti: Beacon, Probe Request, Probe Response, Authentication, Deauthentication, Association request, Association Response, Reassociation request, Reassociation Response, Disassociation. 63
2.5.2.4 Frame di Beacon Il frame di Beacon è un frame di management trasmesso dall AP ad un intervallo di tempo noto come intervallo di beacon, appunto l AP utilizza questo frame per annunciare un SSID della BSS all e stazioni che vogliono far parte di essa. Il pacchetto di beacon prevede la sincronizzazione del tempo tra l AP e la stazione nonché alcuni parametri specifici del livello fisico. Se una stazione è in stato di risparmio energia (in pausa), quando l AP riceve un frame per tale stazione, utilizza questo pacchetto per avvertirla. Il pacchetto di beacon contiene alcune volte delle specifiche date dal costruttore della scheda di rete. Il formato di un pacchetto di beacon è rappresentato in figura 53: Frame Control Duration DA SA BSSID Sequence Control Time- Stamp Field Beacon SSID Supported FHSS Interval ID Rates IE Parameter Field Set IE CF Parameter Set IE IBSS Parameter Set IE TIM IE figura 53 2.5.2.5 Frame di Autenticazione Questo frame di management serve per l autenticazione mutuale tra l AP e la stazione. Nella parte riservata alla sicurezza verranno chiariti gli algoritmi di autenticazione 802.11. figura 54 2.5.2.6 Frame di De-autenticazione Il frame di de-autenticazione è il frame contrario a quello di autenticazione che serve a uno degli apparati coinvolti nella rete wireless per annullare un autenticazione precedentemente fatta. Il suo formato è il seguente: figura 55 64
2.5.2.7 Frame di Richiesta di Ri-associazione Frame di management che serve alla stazione per ri-associarsi ad un altro AP nello stesso ESS, per esempio per un problema di mobilità. Il suo formato è il seguente: figura 56 2.5.2.8 Frame di Risposta di Ri-associazione È il frame di riscontro al pacchetto precedente ed è formato come segue: figura 57 2.5.2.9 Frame di Dissociazione Frame di management utilizzato dalla stazione per separarsi da un AP. Il suo formato si presenta come segue: figura 58 2.5.3 Frame Dati 802.11 Lo standard 802.11 definisce i frame dati seguenti: Data, Data null, Data+CF-Ack, Data+CF-Poll, Data+CF-Ack+CF-Poll, CF-Ack, CF-Poll, CF-Ack+ CF-Poll. Nella sezione seguente si presenta il formato di alcuni pacchetti dati 802.11 2.5.3.1 Frame Data Un frame data 802.11 ha il tipico formato seguente (si può vedere l analogia con un frame 802. 3) 65
figura 59 I pacchetti Data+CF-Ack, Data+CF-Poll, e Data+CF-Ack+CF-Poll hanno lo stesso formato del frame data tranne il fatto che il sotto campo Subtype è diverso così da permettere le operazioni del PCF. 2.6 Livello Fisico 802.11 Lo standard 802.11 ha modificato completamente il livello fisico della pila OSI rispetto a quanto visto nel capitolo 1 sul livello fisico ethernet. Infatti l 802.11 fa uso delle frequenze radio per la trasmissione dei pacchetti visti in precedenza. Le bande di frequenza utilizzate appartengono a quelle senza licenza cioè la banda ISM di 2.4 GHz e la banda U-NII di 5 GHz. Come già accennato nell introduzione di questo capitolo, esistono più tecniche di trasmissione a livello fisico dell 802.11, e lo standard, per problemi di compatibilità di velocità con la rete ethernet, definisce delle varianti che hanno permesso alle reti WLAN di raggiungere velocità impressionanti. In questo paragrafo si vedranno in dettaglio le diverse architetture previste al livello fisico 802.11. 2.6.1 Concetto su Banda di Frequenza Per canali di trasmissioni si intende una banda stretta di frequenze utilizzata per la comunicazione. Questa banda di frequenza è completamente regolamentata dal Governo di ogni paese in quanto ne è il principale consumatore. Però quasi tutti i governi propongono una banda di frequenza che non necessita di licenza. I livelli radio dell 802.11 utilizzano le frequenze comprese nella banda detta banda senza licenza. Si tratta infatti di bande libere che non necessitano di autorizzazione da parte di un organismo. Queste bande sono la banda ISM (Industrial, Scientific and Medical) e la banda U-NII (Unlicensed-National Information Infrastructure). 2.6.1.1 Banda ISM Nel 1995 gli USA hanno lasciato libere tre bande (902-928 MHz, 2.400-2.485 GHz, 5.725-5.850 GHz) per l industria, la scienza e la medicina. Questa banda è riconosciuta 66
dagli organismi di regolamentazione come la FCC (Federal Communication Commission) negli USA, l ETSI (European Telecommunications Standards Institute) in Europa, la MKK (Kensa-kentei Kyokai) in Giappone. La larghezza di banda nelle reti locali varia a seconda dei paesi: PAESE Stati Uniti(FCC) BANDA DI FREQUENZA 2.400-2.485 GHz Europa(ETSI) 2.400-2.4835 GHz Giappone(MKK) 2.471-2.497 GHz Francia(ART) 2.4465-2.4835 GHz tabella 7 2.6.1.2 Banda UNII-I figura 60 A differenza della banda ISM, questa contiene frequenze intorno a 5 GHz e propone una larghezza di banda molto più grande di quella ISM di circa 300 MHz. Questa banda non è continua però è divisa in 3 sotto bande di 100 MHz. In ogni sotto banda la potenza di emissione autorizzata è diversa, la prima e la seconda riguardano le trasmissione 67
all interno mentre la terza banda riguarda le trasmissione all esterno. In ogni caso, la disponibilità dipende dalle zone geografiche, per esempio gli USA utilizzano tutte e tre le bande mentre in Europa si utilizzano le prime due ed in Giappone solo la prima. La figura 60 di sopra mostra una ripartizione di tale banda nei vari paesi con la potenza di trasmissione ammessa. 2.6.2 Tecniche di Trasmissione figura 61 La figura 61 rappresenta tutte le tecnologie di trasmissione previste nel livello fisico 802.11. In realtà il livello fisico viene diviso in due sotto livelli: il livello PLCP (Physical Layer Convergence Procedure) ed il sotto livello PMD (Physical Medium Dependant) che si occupa della trasmissione e della ricezione dei dati nel canale radio. Le funzioni principali svolte dal livello PMD sono la codifica e la modulazione del segnale. Il canale radio è un canale rumoroso per questo necessita di una codifica del segnale che permetta di massimizzare la quantità di dati trasmessi in modo che se il segnale venisse corrotto dal rumore, il ricevitore riuscirebbe comunque a ricostruire il segnale di partenza. Per esempio alcune tecniche di codifica sostituiscono la sequenza di bit da trasmettere con una sequenza più lunga (caso del codice di barker). La figura 62 rappresenta un esempio di codifica del segnale in cui viene impiegata la tecnica di allungamento del codice: 68
Figura 62 Per esempio per comunicare la sequenza 01101, il codificatore ed il decodificatore si mettono d accordo sul fatto che ogni bit trasmesso sarà ripetuto 3 volte quindi la sequenza che esce dal decodificatore sarà 000111111000111. Supponiamo che durante la trasmissione alcuni bit vengano corrotti dal rumore e all ingresso del decodificatore si abbia la sequenza 100111111000101, è facile per il decodificatore indovinare la sequenza esatta trasmessa. La modulazione del segnale consiste nel adattare meglio il segnale al canale di trasmissione. Il segnale uscito dal codificatore viene mappato su una portante (in generale una funzione sinusoidale) nella sua ampiezza, nella sua frequenza oppure nella sua fase. La figura 63 mostra queste tre tecniche di modulazione: figura 63 69
Nelle tecniche di modulazione più sofisticate invece di trasmettere un solo bit nell ampiezza, nella frequenza o nella fase della portante, si sfrutta la larghezza di banda della portante per trasmettere un gruppo di bit chiamato in questo caso un simbolo. Per esempio la modulazione QPSK utilizzato dallo standard permette di mappare 2 bit per simbolo. Inizialmente lo standard ha definito tre tecniche di trasmissione per il livello fisico dell 802.11 di cui due basate sulla tecnica dello Spread Spectrum che fa uso delle onde radio: la FHSS (frequence Hopping Spread Spectrum) e la DSSS (Direct Sequence Spread Spectrum). La tecnica basata sui raggi infrarossi non è molto implementata dai costruttori di schede di rete. 2.6.2.1 Tecnica a Raggi Infrarossi La tecnica ad infrarossi è semplice da implementare e non necessita di regolamentazioni da parte dei governi. Questa tecnica è stata pensata per la copertura rete senza fili di piccole dimensioni per esempio all interno di un ufficio. Infatti i raggi a infrarossi sono in grado di attraversare materiale come il vetro ma trovano enorme difficoltà nell attraversamento di un ostacolo opaco come per esempio una parete di mattoni, questo fatto limita il raggio di copertura però aumenta la sicurezza in quanto i raggi non si propagano a grande distanza. Lo standard prevede il raggiungimento di una velocità di circa 1 a 2Mbps con una modulazione PPM (pulse position modulation) che permette di trasmettere impulsi con ampiezza costante che vengono poi codificati a secondo della posizione dell impulso. Per ottenere una velocità pari a 1Mbps lo standard prevede l impiego di una modulazione del tipo 16-PPM, mentre la velocità di 2Mbps è ottenuta con la modulazione 4-PPM che permette la codifica di 2 bit informativi con quattro posizioni possibili. La figura 64 ne mostra un esempio: figura 64 70
2.6.2.2 Tecniche Basate sull uso delle onde radio Lo scopo è quello di utilizzare le onde elettromagnetiche come portanti per la trasmissione del segnale dati prodotto dal livello MAC 802.11. Lo spettro radio che è composto da più bande di frequenza è diviso in più canali. Le onde radio a differenza dei raggi a infrarossi non trovano difficoltà a attraversare gli ostacoli però subiscono fenomeni di riflessione, rifrazione, attenuazione, interferenza inter-simbolica etc.. Lo standard 802.11 prevede tecniche di modulazione robuste per combattere tutti questi fenomeni, ed una WLAN ben progettata contribuisce enormemente all eliminazione di tali fenomeni, per esempio per aumentare il bitrate riducendo la potenza di trasmissione, bisogna ridurre il raggio di copertura (diminuire le celle), ma questa riduzione ha come conseguenza un maggiore riutilizzo delle frequenze che fa si che ci sia un aumento dell interferenza inter-simbolica e quindi un enorme perdita dei dati. Si è visto che le reti locali senza fili oggi usano le bande di frequenza dette ISM (Industrial, Scientific and Medical), queste bande comportano le frequenze che vanno da 902 MHz a 928 MHz, 2.4 GHz a 2.4853 GHz, 5.725 GHz a 5.85 GHz e non necessitano di nessuna licenza. Per evitare un uso abusivo di queste bande, lo standard IEEE 802.11 impone dei vincoli sulla potenza di emissione, inoltre è obbligatorio impiegare la tecnica dello spread spectrum per la trasmissione nelle due prime bande. Infatti tale tecnica consiste nell utilizzare una banda di frequenza larga per la trasmissione dati a bassa potenza. La tecnica dello spread spectrum, che non è altro che la dispersione dello spettro del segnale da trasmettere, viene sviluppata per la prima volta dai militari americani durante la seconda guerra mondiale allo scopo di trasmettere il segnale su più frequenze in modo da renderlo non intercettabile dal nemico. Questa tecnica permette di ottenere bitrate di circa 2Mbps sul canale radio, ma come detto nell introduzione di questo capitolo, oggi nuove tecniche che verranno viste in seguito, permettono di raggiungere velocità di 11Mbps a 54 Mbps. Esistono due interfacce di trasmissione basati sull uso dello Spread Spectrum : 2.6.2.2.1 WLAN FHSS (Frequence Hopping Spread Spectrum) Una periferica di rete FHSS cambia la frequenza di trasmissione dati secondo un intervallo di tempo predefinito. Questa tecnica è nota come tecnica a salti di frequenza. Il trasmettitore e il ricevitore si mettono d accordo sui salti di frequenza da utilizzare per la trasmissione dei frame. La FHSS divide lo spettro di frequenza della 71
banda ISM in 79 canali di 1MHz di larghezza. Questa tecnica è molto resistente alle interferenze in quanto le trasmissioni vengono fatte su frequenze differenti, infatti un disturbo del canale di comunicazione ha impatto solo su una parte del segnale. 2.6.2.2.1.1 Campo PLCP del Frame FHSS Quando il frame MAC, noto come PSDU (PLCP service data unit), viene passato al sotto livello PLCP, quest ultimo aggiunge due altri campi all intestazione del frame così da formare un nuovo frame chiamato PPDU. La figura 65 illustra il formato di tale frame. figura 65 Il campo preambolo contiene due sotto campi: Sync: codificato su 80 bit, è una sequenza di 0 e 1 che comincia da 0. Questo campo viene utilizzato dalla stazione ricevente per prendere una decisione sulla scelta dell antenna nel caso in cui ce ne siano diverse, per correggere l offset di frequenza, e per sincronizzare il timing dei pacchetti. SFD (start of frame delimiter): campo su 16 bit settato al valore 0000 1100 1011 1101 per provvedere al timing del frame della stazione ricevente. L intestazione PLCP è costituita da 4 sotto campi: PLW (PSDU length word): campo codificato su 12 bit che contiene la dimensione in byte del frame MAC. PSF (PLCP signaling): campo che indica la velocità del frame ed è codificato su 4 bits. La tabella 8 ci mostra i valori accettati da questo campo: 72
b1 b2 b3 Data Rate 0 0 0 1.0 Mbps 0 0 1 1.5 Mbps 0 1 0 2.0 Mbps 0 1 1 2.5 Mbps 1 0 0 3.0 Mbps 1 0 1 3.5 Mbps 1 1 0 4.0 Mbps 1 1 1 4.5 Mbps tabella 8 HEC ( header error control): campo fissato dal gruppo ITU riservato per il controllo dell errore. Il pacchetto costruito dal livello PLCP viene passato al livello PMD, la FHSS PMD si occupa della modulazione del frame ottenuto. La modulazione utilizzata è la GFSK (Gaussian frequency shift keying). Il problema maggiore della FHSS risiede nella velocità proposta, molto bassa rispetto a quella delle reti cablate. Inoltre, i salti di frequenza vengono fatti su tutta la banda ISM provocando grossi rischi di interferenza. 2.6.2.2.2 DSSS WLAN (Direct Sequence Spread Spectrum) Come il livello fisico FHSS, il DSSS come definito nel 1997 dallo standard 802.11, prevede una velocità di circa 1-2 Mbps. Nel 1999 nasce l 802.11b sempre basato sulla DSSS che supporta una velocità di 5,5Mbps fino a 11Mbps ed è compatibile con l 802.11 DSSS di origine. Le WLAN basate sulla tecnologia DSSS utilizzano canali di larghezza pari a 22MHz che permettono a più WLAN di operare nello stesso raggio di copertura. In America e 73
soprattutto in gran parte in Europa, l uso dei canali di 22MHz permette di ottenere solo 3 canali nella b anda ISM (2.4 a 2.483 GHz) che non si sovrappongono. La figura 66 presenta i canali disponibili con questa tecnologia e le loro associazioni: figura 66 La distanza tra canali adiacenti è di 5MHz e le frequenze centrali per ogni canale sono rappresentate nella tabella seguente: per esempio i canali 1, 6, e 11 possono essere utilizzati nello stesso raggio di copertura senza interferenza. tabelle 9 e 10 2.6.2.2.2.1 PLCP del Frame 802.11 DSSS Come il PLCP del MAC FHSS 802.11, il PLCP DSSS aggiunge due sotto campi al frame provenienti dal livello MAC per formare il PPDU. Il formato del frame PLCP DSSS 802.11 è il seguente: 74
figura 67 Il campo preambolo, come nel caso del FHSS, comprende 2 sotto campi. Sync: codificato su 128 bit tutti settati a 1, permette la sincronizzazione della stazione riceve. SFD: campo di 16 bit che contiene la stringa 0xF3A0 e prevede un timing per la stazione di ricezione. L intestazione PLCP comprende: Signal: campo su 8 bit che specifica il bitrate ed il tipo di modulazione. I valori accettati sono i seguenti: Signal 0x0A 0x14 bitrate 1 Mbps 2 Mbps tabella 11 Service: campo riservato. Length: campo su 16 bit che contiene il numero di microsecondi compreso tra 16 a 2^16-1 necessario per trasmettere la porzione MAC del frame 802.11. CRC : codificato su 16 bit, viene utilizzato per il controllo di errore. Questo frame PLCP DSSS 802.11 viene poi passato a livello PMD dove viene modulato attraverso una modulazione DBPSK (Differential binary phase shift keying) per una velocità di 1Mbps, oppure una modulazione DQPSK (Differential quadrature phase shift keying) per una velocità di 2Mbps. Il DSSS utilizza la sequenza di barker (10110111000) per codificare un bit informativo cioè prima di passare un bit al modulatore viene effettuata un operazione XOR con il codice di barker ed il risultato 75
ottenuto viene inviato al modulatore. Questo ha come conseguenza quella di eliminare i rumori introdotti dal canale. La tecnica DSSS viene molto utilizzata dai costruttori di schede in quanto è una tecnica robusta alle interferenze, l inconveniente maggiore del DSSS 802.11 come quello della FHSS risiede nella bassa velocità proposta. I prossimi paragrafi sono dedicati alle sotto norme 802.11 che propongono alta velocità. 2.7 Standard 802.11 b Nato nel 1999 e noto come HR-DSSS (high-rate DSSS) cioè 802.11 ad alta velocità, lo standard 802.11b propone un bitrate che varia da 5.5Mbps a 11Mbps nella banda ISM delle 2.4GHz utilizzando una modulazione CCK (Complementary Code Keying) oppure PBCC (Packet Binary Convolutional Coding). Il livello PLCP del HR-DSSS questa volta è composto di due tipi di frame PPDU: uno lungo e l altro corto. Il PLCP lungo del HR-DSSS è simile a quello della DSSS però con le differenze seguenti che producono l alta velocità: il sotto campo segnale viene settato ai valori seguenti: Signal 0x37 0x6E BitRate 5.5 Mbps 11 Mbps tabella 12 il campo Service contiene bit settati ai valori seguenti: Bit Nome B2 Riferito al Clock B3 Selezione della Modulazione B7 Estensione del campo Length tabella 13 Significato 0 = non bloccato (chiuso), 1 = frequenza di TX e simboli del cloks bloccati. 0 = CCK, 1 = PBCC Utilizzato dal sotto campo Length il sotto campo Length non cambia. 76
Il PLCP corto utilizza il formato del PLCP DSSS però con la differenza che l intestazione PLCP viene trasmesso con una velocità di 2Mbps mentre il PSDU è trasmesso a 2,5.5, 11Mbps. I sotto campi PLCP vengono modificati come segue: il campo SynC viene codificato su 56 bit invece di 128 bit come nel PLCP DSSS. Il campo SFD viene codificato su 16 bit e fa le stesse funzioni del frame PLCP DSSS. 2.8 Standard 802.11 a Nello stesso periodo della nascita dell 802.11b fu proposto anche l 802.11a che operava nella banda delle 5 GHz però con una modulazione OFDM (Orthogonal Frequency Division Multiplexing). Questo standard prevede velocità da 24Mbps a 54Mbps. Il canale delle 5GHz viene diviso in piccoli canali di 20MHz e definisce così 4 canali nella banda U-NII. Il formato PLCP 802.11a viene modificato ed è rappresentato nella figura 68: figura 68 Come si vede nella figura sovrastante, il frame PLCP 802.11a è formato da 3 blocchi principali: un preambolo OFDM, un campo segnale, ed un campo data. Il preambolo OFDM è composto dei sotto campi Short Sync e Long Sync. Il campo segnale viene suddiviso in questi campi: Rate: campo su 4 bit che rappresenta la velocità del sotto campo data del frame e può prendere uno dei valori seguenti: Bit velocità (Mbps) 1101 6 1111 9 0101 12 0111 18 77
Bit velocità (Mbps) 1001 24 1011 36 0001 48 0011 54 tabella 14 il bit R è riservato per un uso futuro il campo Length, che contiene un intero su 16 bit, descrive la dimensione in byte del sotto campo PSDU il bit P è un bit di parità per i sotto campi rate, R, e Length. tutti i bit del campo Tails vengono settati a 0 Il campo Data è composto dei sotto campi seguenti: Service: utilizzato per la sincronizzazione del ricevitore. PSDU: contiene i dati attuali da trasmettere. TAILS: utilizzato allo scopo della codifica. PAD: utilizzato per aggiungere il numero di bit necessari per la modulazione OFDM. I dati provenienti dal livello PLCP vengono modulati con la tecnica di modulazione multicanale OFDM al livello PMD per formare un frame OFDM PMD 802.11a. 2.9 WLAN 802.11g Nel giugno 2003 il comitato 802.11 ha approvato la norma 802.11g che prevede una velocità di 54Mbps nella banda ISM con una modulazione OFDM come nel caso dell 802.11a. A differenza dei prodotti basati sullo standard 802.11a, i prodotti 802.11g sono compatibilissimi con quelli 802.11b in quanto lavorano nella stessa banda di frequenza, inoltre gli apparati 802.11g sono in grado di variare la loro velocità così da comunicare con apparati 802.11b. Gli schemi di modulazione previsti sono: ERP-OFDM per una velocità da 6 a 54Mbp, ERP-PBCC opzionale che propone una velocità da 22 a 33Mbps, e la modulazione DSSS-OFDM con velocità da 6 a 54Mbps. Lo standard 78
definisce 5 formati PPDU: un preambolo lungo, un preambolo corto, un preambolo ERP-OFDM, un preambolo DSSS-OFDM lungo e un preambolo DSSS-OFDM corto. La tabella 15 riassume ogni preambolo con le velocità supportate: Tipo di Preambolo Lungo Modulazione e velocità supportate 1, 2, 5.5, ed 11Mbps DSSS-OFDM a tutte le velocità OFDM ERP-PBCC a tutte le velocità ERP-PBCC Corto 2, 5.5, ed 11Mbps DSSS-OFDM a tutte le velocità OFDM ERP-PBCC a tutte le velocità ERP-PBCC ERP-OFDM DSSS- OFDM lungo DSSS-OFDM corto ERP-OFDM a tutte le velocità DSSS-OFDM a tutte le velocità DSSS-OFDM a tutte le velocità tabella 15 Il preambolo lungo 802.11g è lo stesso di quello HR-DSSS tranne il fatto che il sotto campo Service viene modificato e contiene i valori seguenti: Bit Nome Significato b0 Riservato 0 b1 Riservato 0 b2 clocks bloccato (chiuso) 0 = non bloccato; 1 = frequenza di Tx e simbolo del clocks bloccati 79
Bit Nome Significato b3 Selezione della 0 = No ERP-PBCC Modulazione 1 = ERP-PBCC b4 Riservato 0 b5 Estensione del campo Length Per ERP-PBCC b6 Estensione del campo Length Per ERP-PBCC b7 Estensione del campo Length Per PBCC tabella 16 Il bit riferito all estensione del campo Length determina il numero di byte utilizzato quando le modulazioni PBCC con 11Mbps e ERP-PBCC con 22 a 33Mbps vengono usate. Il preambolo corto fa le stesse modifiche sul preambolo HR-DSSS corto come visto nella tabella precedente. Il preambo lo ERP-OFDM prende lo stesso formato del preambolo 802.11 a e ci aggiunge una estensione di 6 microsecondi durante la quale, per una sincronizzazione del timing SIFS, non ci sono trasmissioni. 2.10 Conclusione In questo capitolo è stato visto in maniera più approfondita come lo standard IEEE 802.11 ha affrontato il problema delle WLAN. Il livello MAC 802.11 è ben più complicato rispetto al livello MAC 802.3 visto nel primo capitolo in quanto il canale di comunicazione essendo un canale radio, necessita una tecnica di accesso molto robusta. Nella seconda parte di questo capitolo si è discusso sul le soluzioni apportate a livello fisico 802.11. Si sono viste le varie tecniche utilizzate p er l alta velocità nelle WLAN, benché la FHSS sia semplice da realizzare, al giorno d oggi viene impiegata la tecnica di 80
trasmissione basata sulla DSSS e tutti i sotto standard a, b, g utilizzano questa tecnica di modulazione per proporre velocità paragonabile a quelle incontrate nelle LAN. I capitoli successiv i ci porteranno a capire come viene affrontato il problema della mobilità nelle WLAN, le diverse tecniche utilizzate per la sicurezza, dopo di che si studierà il protocollo LWAPP oggetto di questo lavoro di tesi e vedremo come il protocollo 802. 11 viene mappato nel LWAPP per permettere la centralizzazione della rete wireless, soluzione ottima per l amministratore di rete ma altrettanto per grosse aziende come l Università d i Siena, in cui ho svolto la tesi. L ultimo capitolo ci porterà ad una realizzazione pratica sulla configurazione degli apparati Cisco coinvolti in una rete wireless unificata come il caso degli AP 1131, 1240 ed del WLC 4400 in cui è implementato il protocollo LWAPP che permette questa unificazione. 81
Capitolo 3 Mobilità nello standard 802.11 La mobilità è la capacità per un utente wireless di spostarsi in ogni punto della rete wireless senza interruzione ed usufruendo sempre dei servizi proposti dalla rete. Un concetto fondamentale da affrontare prima di progettare una rete wireless è capire come la mobilità viene implementata nello standard 802.11 facilitando al progettista l installazione di tale rete. Esistono più termini per descrivere la mobilità ma in questo capitolo utilizzeremo i termini mobilità e roaming per descrivere gli spostamenti di un utente da un AP all altro. La mobilità nello standard 802.11 è una mobilità nomade in quanto permette a un utente wireless di usufruire dei servizi della rete spostandosi da un AP all altro ma dissociandosi dal vecchio AP prima di associarsi a uno nuovo. È una mobilità un po differente da quella che avviene nella rete cellulare GSM. La robustezza di questo tipo di mobilità dipende molto dal tipo di applicazione contenuta nel frame trasmesso al momento del roaming, per esempio se è un applicazione che impiega un protocollo orientato alla connessione come il TCP allora tutti i pacchetti persi durante il processo di roaming verranno ritrasmessi. Per applicazioni basate sull uso dei protocolli non orientati alla connessione come l UDP, il roaming 802.11 trova un po di difficoltà. Gli apparati come gli AP e di conseguenza il controllore di rete wireless (WLC), come vedremo, sono apparati layer 2, questo significa che prendono la decisione di inoltrare i pacchetti nel loro buffer in base all intestazione del frame MAC o meglio in base all indirizzo MAC contenuto nel frame, dunque la mobilità nello standard 802.11 è vista come una mobilità layer 2, ma esistono soluzioni aggiuntive per mobilità layer 3 anche se siamo di fronte ad apparati di livello 2. Il concetto di Dominio di Roaming è molto importante nella mobilità 802.11, un domino di roaming contiene AP che sono configurati con le stesse SSID e sono come nel caso delle reti ethernet nello stesso domino di broadcast. In altri casi un dominio di roaming viene anche visto come un ESS che non è altro che l associazione di più BSS tramite un sistema di distribuzione come già visto all inizio del capitolo 2. In un roaming layer 3, l utente wireless si sposta da un dominio di roaming ad un altro, mentre in un roaming layer 2 la stazione si sposta nello stesso dominio di roaming. 82
La durata di un processo di roaming è molto importante in quanto un roaming non è altro che un processo di associazione e dunque la durata di un processo di roaming dipende dalle durate delle operazioni seguenti: il processo di probe, i processi di autenticazione 802.11 e 802.1x. La sua durata quindi è la somma della durata di queste operazioni. Alcune applicazioni come il VoIP sono sensibili al ritardo e un processo di roaming di lunga durata non favorisce lo svolgimento di tali applicazioni nelle reti wireless. 3.1 Roaming di Livello 2 Per capire i concetti sul roaming layer 2 si deve tenere conto dei seguenti eventi: la stazione decide di spostarsi: in questo caso esistono algoritmi di roaming previsti da ogni venditore per tale situazione, questi algoritmi sono per esempio basati su alcuni fattori come la qualità del segnale ricevuto, sui pacchetti di beacon persi oppure sui pacchetti di riscontro (Ack) etc.. la stazione decide su dove spostarsi: in questo caso è la stazione che decide a quale nuovo AP associarsi. La stazione inizia il roaming: la stazione utilizza un frame di Ri-Associazione 802.11 per associarsi ad un nuovo AP. Nel caso in cui in un processo di roaming è la stazione stessa a scegliere un nuovo AP a cui associarsi, esistono due meccanismi di ricerca dell AP: un metodo di scoperta ( Discovery ) in anticipo dell AP e un meccanismo di scoperta in tempo reale del roaming. Questi meccanismi sfruttano una delle tecniche seguenti: uno scanning attivo: la stazione ricerca attivamente l AP inviando richieste di probe in tutti i canali per cui è stato configurato. Dalle risposte la stazione sceglie l AP ottimale. Uno scanning passivo: in questo caso la stazione non invia frame di probe, ma ascolta il frame di beacon in ogni canale. 3.1.1 Metodo di ricerca in anticipo di un AP Questa tecnica, come detto in precedenza, è quella che permette a una stazione wireless di spostarsi verso un nuovo AP solo dopo aver deciso di effettuare il roaming. Per determinare l AP a cui associarsi, la stazione lo ricerca prima dell inizio del processo di roaming e non durante il periodo di roaming. Il cliente cambia canali inviando frame 83
probe request oppure ascoltando il beacon dagli AP. Questo cambiamento di AP crea due problemi potenziali come mostra la figura 69: figura 69 1. la stazione wireless non può ricevere dati dall AP corrente mentre sta facendo lo scanning dei canali cioè la ricerca di un nuovo AP (in modo attivo o passivo). Se l AP invia dati alla stazione mentre la stazione sta facendo uno scanning su un altro canale, i dati inviati dall AP vengono persi quindi richiede un ulteriore ritrasmissione dall AP. 2. le applicazione che girano in questo momento sulla stazione cliente subiranno una degradazione del throughput in quanto durante il processo di scanning dei canali, la stazione non è in grado di trasmettere pacchetti. L unica possibilità per la stazione di evitare perdite di dati, in nello stato di risparmio energia. questo caso, è di essere 84
3.1.2 Metodo di ricerca in tempo reale di un AP In questa situazione la stazione decide prima di effettuare il roaming ed è solo dopo il roaming che comincia la scansione dei canali per la ricerca di un nuovo AP. In questo caso si parla di ri-associazione. L inconveniente di questa tecnica è il ritardo perché la stazione non conosce l AP a cui ri-associarsi prima del roaming. La figura 70 ne mostra un esempio: figura 70 In generale un processo di roaming di livello 2 deve risolvere le situazioni seguenti: 1. fare in modo che l AP vecchio sia in grado di determinare che la stazione ha effettuato un roaming e non è più associata a lui. 2. fare in modo che l AP vecchio sia in grado di conservare nel suo buffer, per un certo tempo, i dati della stazione in caso di roaming. 3. fare in modo che l AP nuovo indichi all AP vecchio se il roaming effettuato dalla stazione è andato a buon fine. Questo processo viene fatto tramite un pacchetto unicast o 85
multicast trasmesso dall AP nuovo a quello vecchio con indirizzo MAC sorgente della stazione cliente. 4. fare in modo che il vecchio AP invii i frame della stazione mobile nel suo buffer al nuovo AP 5. fare in modo che l AP vecchio sia in grado di determinare che la stazione non gli è più collegata. 6. fare in modo che gli AP aggiornino la loro tabella arp così come quella degli switch per evitare perdite di dati destinati alla stazione mobile in stato di roaming. Illustriamo attraverso due figure questo concetto di roaming di layer 2: la figura 71 presenta un server di rete (per esempio un server web) che sta inviando un frame a una stazione che si sta spostando nello stesso dominio di roaming con l AP connesso a uno switch layer 2. La figura 72 illustra come se non vengono prese soluzioni importanti, la stazione potrebbe perdere dati dopo il roaming. figura 71 86
figura 72 Il server web sta inviando pacchetti dati alla stazione che ha un indirizzo MAC A.B. Il frame viene trasmesso alla porta 1 dello switch1, in corrispondenza della sua tabella ARP, lo switch inoltra il frame ricevuto alla stazione tramite il vecchio AP che non ha informazioni sul roaming fatto dalla stazione, di conseguenza i dati trasmessi vengono persi. Dunque il roaming di layer 2 deve essere in grado di coprire questa difficoltà rispettando le specifiche elencate sopra. La figura 73 illustra una soluzione per non perdere il frame: 87
figura 73 L AP2 risolve la situazione inviando un pacchetto all AP1 con indirizzo MAC sorgente, ossia quello della stazione mobile A.B, come conseguenza di questo procedimento, lo switch SW1 aggiornerà la sua tabella arp e i dati destinati alla stazione mobile saranno ora inoltrati alla porta 3 dello switch SW2. Come già detto in precedenza, lo standard 802.11 non definisce delle regole sul processo di roaming, ogni costruttore di apparati di rete wireless definisce la sua propria politica di roaming, per esempio Cisco implementa il processo di roaming attraverso una sua tecnologia chiamata WDS (Wireless Domain Services) che utilizza per ogni AP coinvolto nella rete un sistema di gestione centralizzato delle chiavi chiamato CCKM (Cisco Centralized Key Management). Un AP che funge da WDS contiene una lista delle credenziali dei clienti CCKM che fanno parte della network, quando una stazione fa una richiesta di Ri-associazione con un AP nuovo, quest ultimo non fa altro che inoltrare questa richiesta di associazione all AP WDS che confermerà la connessione. Questo evita di ricominciare il processo di autenticazione, per esempio come avverrebbe tramite un server RADIUS. 88
3.2 Roaming Layer 3 Il roaming layer 3 è basato sul protocollo mobile IP definito dalla RFC 2002. un roaming layer 3. È necessario quando la stazione deve cambiare di dominio di roaming; si ricorda che un dominio di roaming viene visto come un insieme di AP configurati con lo stesso SSID ed appartenente allo stesso dominio di broadcast, cioè fanno parte della stessa sotto rete. 3.2.1 Mobilità IP La RFC 2002 definisce il protocollo mobile IP che permette ad una stazione mobile di cambiare di VLAN senza cambiare l indirizzo IP. Per arrivare a questo compromesso, il protocollo definisce nuovi elementi che devono fare parte della rete in cui viene applicata la mobilità IP: Mobile Node (MN): riferito alla stazione mobile in stato di roaming, l indirizzo IP di questa stazione non deve essere modificato; Home Agent ( HA): riferito ai router oppure agli switch layer 3, provvedono ad inoltrare alla stazione in stato di roaming tutti i suoi pacchetti. La HA fa parte della VLAN di origine del nodo wireless in stato di roaming; Foreign Agent (FA): riferito ai router oppure agli switch layer 3, fanno parte della nuova rete in cui si trova la stazione mobile in stato di roaming. Il loro ruolo è quello di trasmettere e di ricevere tutti i pacchetti provenenti o destinati alla stazione mobile, lavorano in collaborazione con le HA per compiere questa missione; Care of Address (CoA): è l IP del router locale che riceve i pacchetti del nodo mobile provenenti dalla HA. Anche la FA può svolgere questa attività; Co-located care-of-address (CCoA): è l IP CoA assegnato al nodo mobile. Un roaming impiegando il protocollo mobile IP segue le tappe seguenti: 1. una stazione si trova nella sua VLAN (sotto rete) se il suo indirizzo IP appartiene alla sotto rete della HA; 2. quando il nodo wireless cambia di dominio di roaming, deve essere in grado di scoprire e di registrasi presso una FA; 3. la FA comunica con la HA per la creazione di un canale di comunicazione con la CoA per la stazione mobile; 4. i pacchetti destinati al nodo mobile vengono inviati alla HA; 89
5. la HA inoltra nel canale creato i pacchetti ricevuti alla stazione mobile; 6. ogni pacchetto trasmesso dalla stazione mobile passa dalla FA come se la stazione mobile fosse sulla sua VLAN locale. La figura 74 illustra tali procedimenti: figura 74 Per arrivare a questo compromesso, il protocollo Mobile IP, come definito dalla RFC 2002 prevede le operazioni seguenti: 3.2.1.1 Agent Discovery La stazione mobile deve accorgersi in brevissimo tempo del fatto di essere su una nuova sotto rete così da minimizzare il ritardo delle applicazioni che girano sulla stazione. Per fare ciò, La HA e la FA inviano [in broadcast (all IP 224.0.0.1) o in multicast (all IP 255.255.255.255)] periodicamente sul canale radio i pacchetti Agent Advertisements (AA) utilizzando il protocollo IRDP (Internet Control Message Protocol Router Discovery Protocol), questi pacchetti annunciano in qualche modo le sotto reti in cui si trovano in modo da aiutare la stazione mobile ad accorgersi del cambiamento della rete. Inoltre, una stazione può sollecitare i pacchetti AA nel caso in cui si accorge del fatto che la sua interfaccia sia cambiata. 90
Un pacchetto AA contiene due sotto campi che permettono alla stazione mobile di determinare se c è stata un operazione di roaming o no: il campo lifetime : contiene un valore che rappresenta il tempo di validità di un pacchetto Agent Advertisements, al di fuori di questo tempo, la stazione cercherà un nuovo agente. Il campo prefix-length extension : questo campo indica il valore dell indirizzo IP dell agente. Un cambiamento su questo campo fa capire alla stazione mobile che deve cercare un nuovo agente. una volta che il nodo si accorge che sta in una nuova sotto rete, raccoglie un indirizzo CoA dal pacchetto Agent Advertisements. La CoA può essere sia l indirizzo della FA, sia un CCoA acquisito dalla stazione, per esempio tramite un server DHCP. La CoA come indirizzo della FA, spinge quest ultima alla gestione della mobilità IP per tutti i nodi wireless in una sotto rete diversa dalla loro nonché ad inoltrare i pacchetti inviati da questi nodi verso la destinazione giusta. Questo permette di creare un unico canale di comunicazione tra la FA e la HA. Una CoA temporaneamente associata a un nodo wireless, per esempio tramite il DHCP, attribuisce al nodo mobile la gestione della mobilità IP e in questo modo forza la HA a stabilire un canale di comunicazione per ogni nodo in stato di mobilità. La figura 75 illustra questi due concetti: figura 75 91
3.2.1.2 Registrazione della stazione mobile Dopo il processo di acquisizione di un indirizzo CoA, inizia il processo di registrazione del nodo wireless. Questo processo permette di creare in modo sicuro un canale di comunicazione tra la FA e la HA per facilitare l invio dei pacchetti dati al nodo mobile. La figura 76 mostra i passi successivi impiegati per il processo di registrazione: figura 76 1. il nodo mobile invia un frame di richiesta di registrazione ( Registration Request ) alla FA. Nel caso in cui la CoA viene abbinata al nodo wireless, questa tappa è esclusa. 2. la FA processa la richiesta di registrazione e la inoltra alla HA. 3. la HA accetta o rifiuta la registrazione ed invia un frame Registration Reply alla FA. 4. il pacchetto Registration Reply viene processato dalla FA ed inoltrato alla stazione mobile. Un frame di richiesta di registrazione contiene alcuni campi importanti elencati di seguito: 92
Broadcast packets: utilizzato dalla stazione per richiedere alla HA di inoltrare tutti i pacchetti di broadcast solo nella sua subnet e non nella subnet esterna in cui si trova. Decapsulation by MN: campo utilizzato quando la CoA è abbinata al nodo mobile, permette alla stazione mobile di incapsulare e decapsulare tutti i pacchetti. Lifetime: campo che contiene il tempo che manca prima della fine del processo di registrazione. Home address: campo che contiene l indirizzo locale (quello del subnet di appartenenza) del nodo mobile. HA: contiene l indirizzo della HA della stazione mobile. CoA: contiene l indirizzo IP della CoA. Il pacchetto Registration Reply contiene gli importanti campi seguenti: code: campo che contiene l esito della risposta di registrazione e può essere settato ad uno dei valori seguenti: valore del campo code Sorgente significato 0 HA Registrazione accettata 1 HA Registrazione accettata, ma bindings simultanei non accettati 64 FA Ragione non specificata 65 FA vietato amministrativamente 66 FA Risorse insufficiente 67 FA Autenticazione nodo fallita 68 FA Autenticazione HA fallita 69 FA Valore nel campo lifetime molto grande. 70 FA Richiesta non valida 71 FA Risposta non valida 72 FA Richiesta di incapsulamenti non disponibile 73 FA Riservato o non disponibile 77 FA CoA non valido 78 FA Timeout di registrazione 80 FA Subnet locale del mobile irraggiungibile 81 FA HA irraggiungibile 82 FA Porta HA irraggiungibile 93
valore del campo code Sorgente significato 88 FA HA irraggiungibile tramite pacchetti ICMP 128 HA Ragione non specificata 129 HA Vietato dall amministratore 130 HA Risorse insufficiente. 131 HA Autenticazione nodo wireless fallita 132 HA Autenticazione FA fallita 133 HA Conflitto nell identificazione della registrazione 134 HA Richiesta non corretta 135 HA Più corrispondenze sulla mobilità 136 HA Indirizzo HA non conosciuto. tabella 17 Identification: campo che dipende dal tipo di meccanismo di autenticazione. La RFC 2002 prevede un mecca nismo di protezione dei messaggi di autenticazione tra la HA ed il nodo mobile da un lato e tra la FA e il nodo dall altro. Per default viene utilizzato il codice hash HMAC-MD5 (Hashed Message Authentication Codes with Message Digest version 5). La HA deve condividere un valore segreto con la stazione mobile, questo valore può essere configurato staticamente oppure tramite un server AAA di autenticazione (come un server radius o tacass+). 3.2. 1.3 Tunneling Il concetto di tunneling è fondamentale nella mobilità IP. È la tecnica che viene impiegata per incapsulare i pacchetti dati scambiati nel canale di comunicazione puntopunto creato. Un tunnel richiede due entità finali alle estremità del canale punto-punto: un entità d ingress o ed un entità d uscita. I pacchetti ricevuti dall entità d ingresso vengono incapsula ti con una nuova intestazione IP così da dirigere i pacchetti all entità d uscita del tunnel. L entità d uscita del tunnel toglie l intestazione IP aggiunta prima di inoltrare il pacchetto al nodo mobile. La mobilità IP supporta 3 meccanismi di tunneling: 94
incapsulamenti IP in IP, incapsulamenti minimi e il tunnel GRE (Generic Routine Encapsulation (RFC 2784)). 3.3 Conclusione In questo capitolo si è provato ad analizzare i concetti impiegati per risolvere il problema della mobilità nello standard 802.11. Si è visto che lo standard lascia ai vari costruttori di apparati di rete wireless la scelta degli algoritmi di mobilità layer 2 mentre la RFC 2002 dell IETF prova a risolvere il problema di mobilità tramite il protocollo Mobile IP. Vedremo come nello studio del protocollo LWAPP il problema della mobilità viene implementato essenzialmente sul controllore di accesso wireless come per esempio il WLC della Cisco. 95
Capitolo 4 Sicurezza nello Standard 802.11 La sicurezza è un punto fondamentale nella progettazione di una rete di telecomunicazione ed è ancora un aspetto più che importante in una rete wireless in quanto tale rete impiega le onde radio per la trasmissione dati e siccome non si possono racchiudere le onde radio in un ambiente particolare, chiunque in possesso di materiale adeguato, potrebbe intercettare i dati trasmessi ed entrare in possesso dei dati aziendali. Questo capitolo è dedicato ai protocolli di sicurezza impiegati nelle reti wireless 802.11 e ci permetterà di capire meglio come queste tecniche di sicurezza vengono abbinate al protocollo LWAPP. Nella parte pratica si vedrà come impostare questi protocolli sugli apparati della Cisco impiegati nelle rete wireless cisco unified. 4.1 Problemi nelle reti wireless Le onde radio hanno la capacità di propagarsi nello spazio in tutte le direzioni divenendo così difficili da confinare in un perimetro ben definito. L esito negativo di questo fenomeno di propagazione è il fatto che tutti possono ascoltare il canale radio, quindi entrare nella rete aziendale e questo perché una rete wireless serve soprattutto a raccogliere il traffico dati dei terminali wireless instradati verso la LAN. I tipi di attacchi incontrati nelle reti wireless sono elencati di seguito: 4.1.1 Il War-driving Questa tecnica è nata negli USA e consiste nel circolare nel territorio con un apparato munito di una scheda wireless (per esempio un PDA) alla ricerca delle reti senza fili non protette. Alcuni software specializzati in questo tipo di attività permettono di stabilire, sfruttando materiali GPS (Global Positioning System), una cartografia molto precisa dei punti wifi non protetti. In Inghilterra è stato inventato un linguaggio di segni, ognuno con un significato diverso, che vengono scritti sul suolo e che permettono di identificare le zone coperte dalla rete. La figura 77 presenta alcuni dei segni presenti in questo linguaggio: 96
figura 77 Altri rischi incontrati nelle reti wireless sono: 4.1.2 Intercettazione dei Dati La configurazione di default di un punto di accesso wireless non prevede nessuno tipo di protezione rendendo così il traffico destinato oppure preveniente dall AP visibile a tutte le stazioni wireless nel raggio di copertura del punto di accesso. Come già detto questo comporta rischi enormi per un azienda. 4.1.3 Intrusione nella rete Un punto di accesso in una rete locale, che prevede un gateway d uscita verso la rete internet, permette alle stazioni wireless di accedere alla rete cablata. Una rete wireless non protetta rappresenta così, per un pirata, una porta d entrata sulla rete aziendale. Il pirata, oltre ad essere in grado di entrare in possesso dei dati critici dell azienda, di poter distruggere tali dati o di accedere ad internet gratis per scaricare file di dimensione importanti diminuendo così la banda passante della rete, potrà anche approfittare di questo accesso ad internet per realizzare degli attacchi, sicuro di non essere identificato e a danno dell azienda che sarà tenuta responsabile del suo operato. 4.1.4 Denial of Service Questo tipo di attacco consiste nel perturbare il buon funzionamento della rete, per esempio, una stazione pirata una volta entrata nella rete aziendale impiegando questa tecnica è in grado di di-associare alcune stazioni dalla rete, oppure può inviare un flusso enorme di messaggi attraverso la rete allo scopo di saturarla, creando così una congestione e un consumo di energia inutile da parte delle stazioni coinvolte nella rete. 97
4.2 Crittografia Dati La crittografia nel campo delle telecomunicazioni è la tecnica che permette di rendere incomprensibile un frame da trasmettere sul canale di comunicazione a un intruso oppure a un pirata di rete. È basata sull uso di un algoritmo pubblico di cifratura insieme a una chiave chiamata chiave seg reta. Nella crittografia numerica, criptare un pacchetto dati consiste dunque nel modificare, tramite un algoritmo matematico, la sequenza di byte che costituisce l informazione da trasmettere. In questo caso, l algoritmo è standardizzato ed è noto a tutti. Come già detto, per rendere segreta l informazione da trasmettere, si associa all algoritmo un parametro supplementare chiamato chiave, procedendo in questa maniera, un informazione criptata con un algoritmo pubblico potrà essere letta solo dai possessori della chiave. Applicando dunque l algoritmo di cifratura alla chiave segreta si ottiene una chiave di cifratura che viene applicata al frame da trasmettere per produrre un frame cifrato non comprensibile a chi non possiede la chiave segreta. In generale, un vettore iniziale (IV) viene aggiunto alla chiave segreta allo scopo di alterare la chiave di cifratura in modo che ogni volta che l IV cambia, cambia anche la chiave di cifratura con la conseguenza di una produzione di frame cifrati diversi. La figura 78 presenta una cifratura senza l aggiunta del vettore IV e una cifratura che impiega l uso del vettore iniziale. C è da notare che senza l IV, il testo cifrato è statico e facile da decifrare, mentre con l aggiunta del vettore IV diventa difficile per un pirata di ricavare la chiave perché questa cambia dinamicamente: figura 78 Una rete di telecomunicazione che garantisce tutti i parametri di sicurezza deve essere in grado di risolvere i seguenti problemi: 98
4.2.1 Confidenzialità Il primo criterio di sicurezza in una rete di telecomunicazione è la confidenzialità, con questo termine si intende il fatto che l informazione trasmessa nel canale di comunicazione deve essere letta solo dagli utenti autorizzati. 4.2.2 Integrità Una rete di telecomunicazione deve essere in grado di garantire l integrità dell informazione trasmessa sul canale cioè la rete deve garantire che la totalità dell informazione trasmessa dalla stazione mittente venga ricevuta dalla stazione di destinazione senza essere alterata da un intruso. Si vedrà in seguito che questo problema viene risolto con l algoritmo hash MD5 (Message Digest 5(RFC 1321)) oppure la SHA (Secure Hash Algorithm). Un algoritmo hash applicato ad un informazione da trasmettere produce come risultato un codice che rappresenta un riassunto conciso di tale informazione, viene chiamato impronta digitale e ha le caratteristiche fondamentali seguenti: l impronta di un messaggio è strettamente correlata al messaggio stesso. Spesso è rappresentata da una stringa come la seguente: 5025c41edf87b679f036377013234d9b e non può esistere un caso dove due messaggi differenti abbiano lo stesso codice hash. La modifica di un solo bit dell informazione trasmessa modifica considerevolmente l hash di questa informazione. La procedura inversa è impossibile, ossia non è possibile ricostruire l informazione di partenza tramite il codice hash del messaggio. 4.3.3 Autenticazione Questa procedura nella crittografia permette di autenticare gli utenti coinvolti nella rete di telecomunicazione in modo che il mittente e il ricevitore siano sicuri che i dati trasmessi vengano inviati alle persone giuste. 4.2.4 Non repulsione È un corollario diretto dell autenticazione in quanto è usato per impedire a un utente della rete di negare il fatto che sia lui l autore di un messaggio trasmesso sul canale di 99
comunicazione. Questo problema viene risolto, come si vedrà, tramite l uso dei certificati (X.509). 4.2.5 Le Chiavi Di Crittografia Esistono due tipi di chiave di cifratura: simmetrica: si cifra e si decifra con la stessa chiave, questo tipo di crittografia dati o meglio questa tecnica di cifratura è semplice da realizzare e ha un basso consumo per le risorse e la banda passante. Le due stazioni che vogliono scambiare dati confidenziali dispongono della stessa chiave, l emettitore cifra i dati da trasmettere con questa chiave ed il ricevitore una volta in possesso del frame cifrato decifrerà con la stessa chiave. Se un pirata intercettasse il frame cifrato non sarebbe comunque in grado di decifrarlo finché non disponesse della chiave di cifratura corretta. Questo garantisce la confidenzialità ma non l autenticazione sia del ricevitore che dell emettitore. L unico inconveniente dell uso di questa tecnica è il fatto che la chiave viene scambiata tra l emettitore e il ricevitore in modo chiaro e qualsiasi pirata di rete durante questa fase di scambio potrebbe intercettare la chiave e leggere le informazioni trasmesse. Asimmetrica: il metodo di cifratura basato sull uso di una chiave asimmetrica permette di garantire l autenticazione e la confidenzialità dei dati. Con questo tipo di cifratura ogni utente dispone di una coppia di chiavi, una chiave privata unica e confidenziale che appartiene esclusivamente al proprietario e non può essere duplicata, e una chiave pubblica nota a tutti e disponibile presso un autorità di certificazione che è il garante della validità della chiave. Nella cifratura asimmetrica tutti i pacchetti cifrati con la chiave pubblica possono essere decifrati solo dalla chiave privata corrispondente e i pacchetti cifrati con la chiave privata devono essere decifrati solo dalla chiave pubblica corrispondente. Le figure 79 e 80 ne illustrano i concetti: 100
4.2.5.1 Autenticazione : figura 79 In questa figura si può vedere che, per inviare un pacchetto dati, il mittente utilizza una codifica hash come per esempio la MD5 al fine di creare un impronta del messaggio da trasmettere. L impronta ottenuta viene cifrata con la chiave privata del mittente. Il messaggio in chiaro insieme all impronta cifrata viene inviato alla stazione di destinazione. In questo contesto non c è confidenza in quanto il testo viene trasmesso in chiaro, però se il messaggio venisse intercettato e modificato, l impronta dovrebbe essere calcolata di nuovo e siccome questa è stata firmata dalla chiave privata del mittente, che è l unico a disporre di tale chiave, ogni modifica ulteriore non sarà valida. La figura seguente ci chiarisce su quello che accade in ricezione: 101
figura 80 In ricezione, la stazione di destinazione calcola di nuovo, tramite lo stesso algoritmo hash, l impronta del messaggio ricevuto, decifra l impronta firmata ricevuta con la chiave pubblica della stazione mittente e fa un confronto tra le due impronte. Se sono identiche significa che il messaggio trasmesso non è stato alterato ed è stato inviato proprio dal vero proprietario della chiave in quanto solo lui può cifrare con la sua chiave privata. Così si riesce a risolvere il problema di autenticazione. 4.2.5.2 Confidenzialità Per garantire la confidenzialità dei dati la stazione mittente cifra le informazioni da trasmettere con la chiave pubblica della stazione di destinazione, siccome tale stazione è l unica ad essere in possesso della sua chiave privata, il messaggio verrà letto solo da lui, così si riesce a risolvere il problema della confidenzialità. E se mettiamo insieme le due tecniche? 102
figura 81 La stazione mittente, prima di inviare dati sul canale, crea un codice hash del messaggio da trasmettere e lo cifra con la sua chiave privata (Autenticazione), poi il messaggio viene cifrato con la chiave pubblica della stazione di destinazione (confidenzialità). L impronta del messaggio insieme al messaggio cifrato con la chiave pubblica della stazione di destinazione vengono inviati sul canale di comunicazione così da garantire l autenticazione e la confidenzialità dei dati trasmessi. È facile indovinare quello che accade in ricezione, la stazione di destinazione decifrerà il messaggio con la sua chiave privata (confidenzialità) e con la chiave pubblica del mittente decifrerà l impronta firmata, poi calcolerà il codice hash del messaggio originale, se il risultato ottenuto è identico a quello dell impronta decifrata trasmessa allora la stazione concluderà che il messaggio è stato effettivamente trasmesso dalla stazione mittente (Autenticazione). L inconveniente maggiore nell uso delle chiavi asimmetriche è il consumo eccessivo della CPU delle stazioni coinvolte nella trasmissione, infatti bisogna cifrare e decifrare due volte invece di una volta come nel caso della cifratura a chiave simmetrica. Per risolvere questo problema di consumo di tempo del processore, il sistema utilizzato è il seguente: cifrare e decifrare con una chiave pubblica a durata limitata (chiave di sessione) che viene inviata sul canale di comunicazione in modo sicuro con le tecniche viste in precedenza. 103
La figura 82 chiarisce il concetto: figura 82 La stazione mittente genera una chiave di sessione con durata molto breve in modo da impedire a qualsiasi pirata di rete in ascolto del canale di potere indovinare la chiave utilizzata per criptare i dati. La chiave generata viene cifrata con la chiave pubblica della stazione di destinazione, la stazione mittente calcola poi il codice hash della chiave di sessione generata e lo cifra con la sua chiave privata, ne risulta, come già visto, un impronta digitale che viene inviata insieme alla chiave di sessione cifrata alla stazione di destinazione. In ricezione la stazione di destinazione decifra la chiave di sessione cifrata con la sua chiave privata, e ne calcola poi il codice hash. La chiave pubblica della stazione mittente decifra l impronta digitale presente nel pacchetto inviato, confronta poi il codice hash ottenuto con il codice hash prodotto dall impronta, nel caso in cui questi codici siano identici, allora lo scambio della chiave che poi servirà alla cifratura e alla decifratura dei dati da inviare è avvenuta tramite un canale sicuro. Con questa tecnica si fa uso delle chiavi asimmetriche solo per lo scambio della chiave pubblica che servirà alla crittografia di tutti i dati da trasmettere sul canale e così si risolve il problema di consumo delle risorse della CPU che è un fatto fondamentale 104
sopratutto per gli apparati coinvolti nelle reti senza fili. L unico vincolo imposto da questa tecnica è il fatto di dovere cambiare in maniera frequente la chiave di sessione. 4.2.5.3 E la Non repulsione? Come fare a garantire la validità di una chiave pubblica? in altre parole, come fa la stazione mittente ad essere sicura che la chiave pubblica della stazione di destinazione è effettivamente quella vera e che non è una chiave corrotta trasmessa per esempio da un pirata? cosa succede se una chiave pubblica non è quella che veramente appartiene al proprietario? da questi quesiti nasce un organismo terzo di fiducia noto come autorità di certificazione (CA) che ha come incarico quello di custodire e di fornire le chiavi pubbliche in modo sicuro. Oggi esiste un gran numero di CA e il loro servizio è abbastanza costoso. Quando una stazione richiede una chiave pubblica ad un AC, in generale l AC invia a questa stazione oltre alla chiave pubblica richiesta, anche un certificato. In breve si tratta di una versione cifrata sia della chiave richiesta che di alcune informazioni inerenti al proprietario oltre alla chiave privata dell autorità di certificazione. La chiave pubblica dell autorità di certificazione viene inviata attraverso un canale sicuro alla stazione che la utilizzerà per decifrare il certificato e la chiave richiesta. Lo standard responsabile dei certificati è lo standard X.509. Per esempio il browser Mozilla installa automaticamente alcuni certificati di diversi AC (in figura 83) figura 83 105
Il contenuto di un certificato si presenta come nella figura seguente in cui si vede bene la presenza di una chiave pubblica. Dato che la chiave deve avere una durata di vita molto breve per ragioni di sicurezza, l autorità di certificazione prevede anche una durata di vita breve per ogni certificato. Inoltre l autorità prevede anche alla revocazione dei certificati ancora validi nel caso in cui una chiave venisse smarrita o rubata. figura 84 La PKI (Public Key Infrastructure) raggruppa tutti gli ingredienti necessari alla gestione delle chiavi pubbliche e dei certificati, ossia il recupero delle domande dei certificati, la loro realizzazione, il mantenimento della lista di revocazione e la distribuzione dei certificati ai richiedenti. Alcune organizzazioni, per non fare uso di un autorità di certificazione, mettono in piedi le loro proprie PKI interne. Questo è, per esempio, il caso del costruttore Cisco che ha la sua propria PKI che gira sugli apparati Cisco coinvolti nella rete wireless cisco unified (Access Point e Controllore Wireless (WLC)). 106
4.2.5.4 A quale livello della pila OSI si può cifrare? È possibile cifrare i dati ad ogni livello della pila OSI oppure del modello TCP/IP, si può cifrare nel kernel del sistema operativo, a livello IP con il protocollo IPSec, in questo caso tutti i dati che passano sulla rete vengono automaticamente cifrati senza che le applicazioni responsabili di questi dati se ne occupino. Si può anche cifrare a livello di applicazione tramite un protocollo come la SSL (Secure Socket Layer) come nel caso del protocollo HTTPS presente in quasi tutti gli apparati wireless Cisco ed utilizzato per accedere in modo sicuro tramite un browser alla configurazione dell apparato. Esistono anche delle soluzioni open source che permettono la creazione di un canale sicuro come per esempio OpenVPN sotto linux. 4.3 Le VLAN (Virtual LAN) Le LAN virtuali sono ben note nel mondo delle reti cablate e al giorno d oggi costituiscono il primo passo di sicurezza nelle reti wireless. Le VLAN vengono definite dallo standard 802.1Q e hanno come scopo la segmentazione di una LAN in più domini di broadcast. Nel frame MAC 802.11 oppure 802.3, come già visto nel primo capitolo, viene introdotto un campo aggiuntivo che crea il concetto di LAN virtuale. Le stazioni pur essendo connesse, per esempio, allo stesso apparato di livello 2, come uno switch, appartengono a domini di broadcast diversi. Per fare ciò ogni porta dello switch viene assegnata a una VLAN diversa in modo che due stazioni che non appartengono alla stessa VLAN non siano in grado di scambiare frame senza passare da un apparato layer 3 come il router. Le VLAN introducono il concetto di porta taggata e porta non taggata. Una stazione collegata ad una porta non taggata dello switch fa parte di un ed una sola VLAN mentre una stazione connessa ad una porta taggata può far parte di più VLAN. Le porte taggate vengono chiamate porta di trunk in quanto sono utilizzate per fare passare VLAN diverse, infatti l estensione delle VLAN tramite l uso di più switch viene fatto tramite le porte in trunk da uno switch all altro. Per la gestione delle VLAN la Cisco propone il protocollo VTP (virtual truncking protocol) che permette una gestione dinamica delle VLAN in un stesso dominio. Per ritornare nell ambito delle reti wireless, praticamente ogni costruttore di access point propone la possibilità di mappare un SSID direttamente ad una VLAN esistente. Dato 107
che gli access point vengono connessi spesso ad una porta dello switch, per far sì che l AP sia in grado di gestire le VLAN, questa porta deve essere una porta in trunk o meglio una porta taggata. Vedremo nella parte pratica di questo lavoro di tesi come configurare i controllori wireless Cisco in modo che gli AP nella loro gestione possano annunciare più SSID mappati a VLAN diverse. Diciamo, per terminare, che esistono più tipi di VLAN: VLAN di livello 1 (quella vista fino a ora), VLAN layer 2 che consiste nella segmentazione della LAN basandosi sugli indirizzi MAC (ma in questo caso ci serve un server di autenticazione) ed infine le VLAN layer 3 che consistono nel segmentare la LAN basandosi sugli indirizzi IP che vengono gestiti tramite un server di autenticazione. 4.4 L uso della chiave WEP Il WEP è stata la prima tecnica di sicurezza utilizzata dallo standard 802.11. Il protocollo WEP è basato sull algoritmo di cifratura simmetrica RC4. Questo algoritmo è stato scelto per la sua semplicità ed il suo basso consumo di risorse della CPU. L algoritmo WEP utilizza un vettore IV codificato su 24 bit che viene concatenato alla chiave segreta prima di essere processato dall algoritmo RC4. Un frame cifrato con l algoritmo WEP si presenta come nella figura 85: figura 85 108
La chiave segreta viene configurata sul punto di accesso wireless e sulla stazione mobile. I campi del frame che vengono cifrati dal WEP sono il Payload e il campo ICV (integrity check value), tutti gli altri campi vengono trasmessi in chiaro. Il vettore IV viene trasmesso in modo chiaro per permettere alla stazione di destinazione di decifrare il payload ed l ICV del frame ricevuto. L ICV è un campo su 32 bit calcolato in base alla CRC che è stato introdotto dallo standard 802.11 per il controllo d integrità. Questo campo permette alla stazione di destinazione di sapere se il frame è stato corrotto. Ma la crittografia WEP oggi non viene più molto utilizzata in quanto presenta innumerevoli debolezze, infatti, con alcuni sniffer di rete wireless come OmniPeek e AiroPeek insieme ad un software potente come Airdrump bastano una diecina di minuti per scoprire la chiave segreta impiegata dalla WEP. 4.5 Autenticazione nello standard 802.11 Per rinforzare la sicurezza nelle WLAN, lo standard 802.11 ha introdotto il concetto di autenticazione, ciò significa che prima di trasmettere dati nella rete attraverso l AP in un BSS, la stazione mobile si deve autenticare presso l AP utilizzando sia un autenticazione aperta sia una autenticazione basata sull uso delle chiavi condivise. Per una maggiore sicurezza è stata proposta un autenticazione basata sugli indirizzi MAC delle stazioni mobili ed un autenticazione basata sul protocollo EAP (noto come standard 802.1x) che fa uso di un server di autenticazione in cui spesso è implementato il protocollo RADIUS o TACASS+. Come vedremo in seguito un AP è in grado di utilizzare più meccanismi di autenticazione in quanto ogni meccanismo viene abbinato ad un SSID particolare e di conseguenza ad una VLAN specifica. 4.5.1 Autenticazione Aperta La figura 86 mostra i vari passi fatti dall AP e dalla stazione mobile per quanto riguarda l autenticazione aperta: 109
figura 86 In questo tipo di autenticazione ogni stazione mobile può autenticarsi con l Access Point, ma la periferica wireless potrà trasmettere frame sulla rete se e solo se possiede la stessa chiave WEP dell AP. Se la chiave WEP della stazione è diversa da quella dell AP, come nel caso della figura sopra, allora tutti i pacchetti ricevuti dall AP vengono scartati. 4.5.2 Autenticazione Basata sulle chiavi condivise L autenticazione basata sull uso di una chiave condivisa è leggermente diversa da quella aperta. I passi seguiti da questo tipo di autenticazione sono rappresentati nella figura 87: figura 87 Come si vede dalla figura, quando la stazione mobile invia una richiesta di autenticazione, l AP gli risponde con un frame di sfida inviato in chiaro sul canale radio, la stazione mobile cifra con la sua chiave il frame di sfida ricevuto, se l access point riesce a decifrare il frame di sfida cifrato dalla stazione allora la stazione è abilitata ad inviare frame sulla rete. Il processo di autenticazione si ripete finche non c è successo. 110
Dunque a differenza del modo di autenticazione aperta, la stazione si associa all AP solo se l autenticazione è andata a buon fine. Esiste un altro modo di autenticazione basato sull indirizzo MAC ma non specificato dallo standard però supportato da quasi tutti i costruttori. È il caso in cui l access point possiede una lista degli indirizzi MAC delle stazioni abilitate ad usufruire dei servizi della rete quindi l autenticazione di una stazione viene fatta tramite questo indirizzo. È possibile fare in modo che questa lista degli indirizzi MAC viene gestita da un server di autenticazione (Come il RADIUS). La sicurezza come viene vista oggi nelle reti wireless è composta da 4 blocchi fondamentali: un framework di autenticazione che appoggia l algoritmo di autenticazione per lo scambio in maniera sicura dei frame tra la stazione mobile, l AP ed il server di autenticazione. Un algoritmo di autenticazione che è l algoritmo utilizzato per validare le credenziali dell utente. Un algoritmo di crittografia che viene utilizzato per cifrare tutte le comunicazione scambiate tra Stazione-AP-Server di Autenticazione. Un algoritmo di integrità dei dati con lo scopo di garantire che i dati che girano sul canale radio non vengano alterati. Il framework di autenticazione, come già detto all inizio di questo paragrafo, viene controllato dallo standard 802.1x che propone un livello di autenticazione più robusto basato su un protocollo di autenticazione punto-punto (PPP) chiamato EAP (Extensible Authentication Protocol(RFC 2284)). L EAP e l 802.1x non obbligano all uso di un metodo o di un algoritmo di autenticazione specifico ma tutto dipende dell amministratore di rete. L unico requisito richiesto dal framework di autenticazione 802.11 è che entrambe, la stazioni mobile (supplicant) e il server di autenticazione devono supportare l algoritmo di autenticazione EAP. I metodi di autenticazione indicano come la stazione viene autentificata. Alcuni metodi di autenticazione includono l uso dei Token cards, dei certificati, di PKI, delle Smart Cards, oppure la soluzione OTP (One-time passwords). L autenticazione EAP è basata sull uso di una porta logica implementata sull access point chiamata in questo caso Authenticator. L AP crea una 111
porta logica per ogni cliente basandosi sul campo AID visto nel capitolo 2, infatti è una porta virtuale che viene vista come un collegamento punto-punto tra l AP e la stazione mobile. A questa porta logica sono associati due stati corrispondenti a due cammini diversi per i dati ricevuti dalla stazione mobile: un cammino controllato, ed un cammino non controllato. Il camino non controllato viene utilizzato per il traffico di autenticazione 802.1x ed il camino controllato blocca ogni traffico nella rete finché il processo di autenticazione non è andato a buon fine. 4.5.3 Autenticazione EAP Le autenticazioni basate sull uso del protocollo EAP sono gestite da un server di autenticazione nella maggiore parte dei casi un server RADIUS presente nel sistema operativo windows 2003 server (IAS) oppure in versione software per esempio con la soluzione proposta dalla Cisco chiamata Cisco Secure ACS. La figura 88 presenta i passi di una autenticazione classica basata sull algoritmo EAP in cui l AP invia una chiave WEP per la cifratura di tutti i dati unicast trasmessi o ricevuti dalla stazione solo quando l autenticazione è andata a buon fine. L AP cripta anche la sua chiave WEP di broadcast tramite la chiave della stazione ed l invia alla stazione : figura 88 112
Come mostra la figura, la stazione mobile e il server RADIUS utilizzano l 802.1x e il protocollo EAP per l autenticazione mutuale fatta tramite l AP. 1. la stazione mobile (supplicant) diventa attiva e richiede un associazione con l AP (authenticator). 2. l authenticator si accorge della richiesta di associazione e attiva una porta per la stazione. L AP forza questa porta in un stato non autorizzato in modo da fare passare solo il traffico 802.1x e bloccando così ogni tipo di traffico diverso da quello 802.1x. 3. la stazione wireless supplicant può iniziare, in alcuni casi, con un frame EAP-Start 4. l AP risponde con un messaggio EAP-Request Identity per richiedere l identità della stazione. 5. la stazione risponde con un pacchetto EAP-Response che contiene in qualche modo la sua identità. Questo pacchetto viene inoltrato al server di autenticazione (generalmente un server RADIUS). 6. il server di autenticazione è configurato in modo da autentificare la stazione con un algoritmo di autenticazione specifico. In questo caso procede all autenticazione basandosi su una sfida inviata alla stazione mobile. La stazione cripta la risposta di sfida con la sua password e la invia al server radius. Aiutandosi con la sua configurazione, il server verifica le credenziali della stazione e dopo di che avviene l operazione inversa cioè l autenticazione del server. Alla fine di questa autenticazione mutuale, il server RADIUS e la stazione mobile concordano per una chiave di cifratura WEP unica che servirà alla cifratura di tutte le comunicazioni solo per questa stazione, questa chiave viene chiamata anche chiave di sessione in quanto serve all utente unicamente per questa sessione. La chiave di sessione viene inoltrata all AP, questo cifra la chiave WEP di broadcast con la chiave di sessione e la trasmette in broadcast alla stazione che la decifrerà con la chiave di sessione concordata con il server RADIUS. Tutte le comunicazione durante questa sessione tra AP e la stazione cliente verranno cifrati con la chiave di sessione e la chiave di broadcast WEP. 7. Se tutto è andato bene il server di autenticazione invia un pacchetto RADIUS- ACCEPT oppure RADIUS-REJECT all AP. 8. nel caso in cui l AP authenticator riceve un pacchetto RADIUS-ACCEPT setterà la porta della stazione nello stato autorizzato e la stazione potrà trasmettere dati sulla rete. 113
Gli apparati Cisco presentano tanti altri tipi di autenticazione che ne vale la pena sottolineare in questo lavoro: 4.5.3.1 Autenticazione EAP-TLS EAP con TLS (Transport Layer Security) richiedono una autenticazione mutuale tra la stazione supplicant ed il server di autenticazione tramite una crittografia a chiave pubblica come, per esempio, l uso dei certificati digitali visti sopra oppure le smart cards. Questa autenticazione mutuale tra la stazione ed il server di autenticazione avviene in un tunnel TLS. Quando il processo di autenticazione avviene con successo, i dati vengono criptati utilizzando gli algoritmi WEP, WPA, oppure WPA2. L autenticazione EAP-TLS è molto robusta agli attacchi basati sull uso di un dizionario oppure gli attacchi Man in Middle, inoltre è il tipo di autenticazione supportato dai sistemi operativi windows XP, windows 2000 e windows server 2003. L inconveniente maggiore di questo protocollo è l uso dei certificati che richiede, come visto, impegni supplementari. La figura 89 mostra i vari passi di autenticazione impiegati nel EAP-TLS: figura 89 1. la stazione si associa all AP; 2. l AP blocca l accesso alla rete alla stazione finché non viene autenticata dal server RADIUS; 3. la stazione autentica il server tramite il certificato del server; 4.il server RADIUS autentifica la stazione tramite il certificato del cliente; 114
5. il server e la stazione si mettono d accordo sulla chiave WEP da utilizzare; 6. viene stabilito un tunnel sicuro di comunicazione tra la stazione e il server. 4.5.3.2 Cisco EAP È un protocollo di proprietà della Cisco e chiamato LEAP(Lightweight EAP). Questo protocollo prevede l uso di una coppia login/password per l autenticazione della stazione. La stazione ed il server EAP Cisco producono una chiave di sessione che viene utilizzata per la crittografia dei dati trasmessi sul canale di comunicazione solo per questa sessione, una nuova chiave verrà generata per ogni nuova sessione, questo per aumentare la sicurezza nella comunicazione. Una nuova chiave è generata ogni volta che la stazione cambia di access point (roaming). I passi per una autenticazione Cisco EAP sono rappresentati nella figura 90: figura 90 1. il cliente si associa all AP 2. l AP blocca tutto il traffico diverso da quello 802.1x 3. la stazione invia la coppia login/password al server di autenticazione 4. il server di autenticazione e l AP si autentificano mutuamente. 5. la stazione ed il server generano una chiave di sessione 6. un canale di comunicazione sicuro è stabilito tra il server e la stazione. 4.5.3.3 Autenticazione PEAP Protocollo di autenticazione sviluppato dalla Cisco, dalla microsoft e dalla RSA. 115
È un tipo di autenticazione senza l uso di certificati e ha come scopo essenziale quello di semplificare la sicurezza nelle WLAN. Il protocollo è sempre basato sul TLS per la creazione di un canale punto-punto per la trasmissione delle credenziali dell utente. Solo il server necessita di un certificato per far funzionare l algoritmo. Il funzionamento del PEAP è descritto nella figura 91: figura 91 1. il cliente si associa all AP 2. l AP blocca ogni traffico diverso da quello di autenticazione 3. la stazione verifica il certificato del server 4. il server RADIUS autentica la stazione tramite il protocollo MS-CHAP 5. il server e la stazione si mettono d accordo sulla chiave di crittografia ad utilizzare 6. un canale di comunicazione sicuro è stabilito tra il server e la stazione. 4.5.3.4 Autenticazione EAP-FAST È un tipo di autenticazione molto simile a EAP-TLS in quanto fa uso, per l autenticazione del server, di un certificato basato sulle credenziali dell utente chiamato PAC (Protected Access Credential). È simile all autenticazione PEAP in quanto utilizza la coppia login/password per l autenticazione della stazione mobile tramite un canale sicuro TLS. Questo tipo di autenticazione è molto efficace nei processi di roaming. I vari passi per l autenticazione EAP-FAST sono i seguenti: 116
figura 92 1. la stazione si associa all access point 2. l AP lascia passare solo traffico 802.1x 3. la stazione verifica le credenziali del server tramite la chiave condivisa 4. il server RADIUS autentifica la stazione tramite la chiave condivisa 5. i due apparati si mettono d accordo sulla chiave da utilizzare 6. un tunnel di comunicazione sicuro viene creato per la comunicazione. 4.6 Wi-Fi Protected Access (WPA) Introdotto nel 2003 dalla wifi alliance, è stato progettato per sostituire la crittografia WEP. Migliora considerevolmente la protezione dati ed il controllo di acceso nelle WLAN. Nella WPA il meccanismo di crittografia dati è basato su un algoritmo che cambia dinamicamente le chiavi di cifratura chiamato TKIP ( Temporal Key Integrity Protocol). Inoltre le chiavi di cifratura generate vengono abbinate a un vettore IV abbastanza lungo da rendere difficile una eventuale scoperta della chiave. Nel protocollo WPA il payload trasmesso è più protetto rispetto a quello che accade nel protocollo WEP. Infatti a differenza del WEP che utilizza il CRC, la WPA utilizza l algoritmo MIC (message integrity checks) per verificare l integrità del payload. Il management delle chiavi nella WPA prevede due tipi di accesso: WPA senza chiave condivisa e WPA con chiave condivisa (WPA-Pre-shared key (WPA-PSK)). Nel protocollo WPA con chiave condivisa, la stazione mobile e il server di autenticazione utilizzano il protocollo EAP per un autenticazione mutuale. Nella WPA senza chiave condivisa, il server genera dinamicamente un PMK (Pairwise Master key) e lo inoltra all AP mentre nella WPA- Pre-shared key una chiave condivisa viene pre-configurata 117
sulla stazione mobile e sull AP ed è questa chiave condivisa che viene utilizzata come PMK. La PMK è la chiave di base per la cifratura dei dati scambiati tra l AP e la stazione. 4.7 WPA 2 Versione migliorata della WPA ratificata dall IEEE sotto lo standard 802.11i e nota come sicurezza WIFI di generazione futura. A differenza della WPA utilizza l algoritmo di crittografia della NIST (National Institute of Standards and Technology) chiamato AES (Advanced Encryption Standard) abbinato al protocollo di codifica CCMP (Cipher Block Chaining Message Authentication Code Protocol) che permette di produrre un codice MIC per la verifica dell integrità del messaggio trasmesso. L algoritmo AES è molto più robusto dell algoritmo TKIP utilizzato nella WPA. La WPA2 crea una nuova chiave di sessione per ogni associazione all AP cioè ad ogni stazione nella BSS viene assegnata una ed una sola chiave in modo che due stazioni diverse non possano avere la stessa chiave di sessione. La WPA è compatibile con la WPA2 e la maggiore parte degli apparati in cui è implementata possono passare alla WPA2 tramite un aggiornamento firmware. Per gli apparati WEP non basta solo un aggiornamento firmware ma un completo aggiornamento hardware per utilizzare la WPA2. Tutti gli AP della Cisco (Aironet 1130, 1100, 1200, 1300) e il controllore di accesso wireless 4400 supportano la WPA2. 4.8 Conclusione In questo capitolo si è cercato di chiarire le problematiche della sicurezza nelle reti wireless. Si sono analizzati i vari protocolli in vigore per la sicurezza. Nel capitolo successivo, dedicato allo studio del protocollo LWAPP, oggetto di questo lavoro di tesi, vedremo come queste norme sulla sicurezza vengono abbinate al protocollo LWAPP per produrre una gestione centralizzata della sicurezza nella rete Cisco wireless unified. 118
Capitolo 5 Il Protocollo LWAPP Questo capitolo è dedicato allo studio del funzionamento del protocollo LWAPP che regola le comunicazioni tra un controllore di accesso wireless chiamato WLC nelle reti wireless Cisco Unified e un punto di accesso detto leggero in quanto contiene hardware e software molto più semplificati rispetto ad un access point normale. 5.1 Rete Wireless Cisco Unified Le reti wireless che utilizzano la soluzione proposta dalla Cisco e nota come architettura Cisco Unified Wireless spesso chiamata ancora Unified Wireless Network (UWN) sono essenzialmente basate sull uso dei controllori wireless che vengono impiegati per il controllo e la configurazione delle WLAN. Si tratta appunto di un architettura in cui l intelligenza della rete è centralizzata intorno al controllore wireless che è in grado di gestire contemporaneamente più access point semplificando così la gestione e l amministrazione della rete wireless. In tale architettura, l access point viene ridotto a un apparato leggero, ciò significa che l AP è completamente dipendente dal controllore e non può funzionare senza di esso, in altre parole si può considerare l access point come un interfaccia wireless remoto del controllore, è il caso degli AP della serie 1131 AG della Cisco impiegati per la rete dell Università di Siena. La configurazione dell AP nonché la gestione del firmware di un tale punto di accesso viene fatto unicamente dal controllore wireless. L access point in questo contesto gestisce solo il funzionamento in tempo reale del livello MAC 802.11 mentre il funzionamento non in tempo reale viene processato dal controllore, si tratta di un architettura MAC divisa (Split MAC). Nelle reti Cisco, come vedremo nella parte pratica, lo Split MAC viene implementato attraverso la tecnologia Cisco chiamata H-REAP. Come già accennato all inizio di questo lavoro di tesi, la comunicazione o meglio l interazione tra il controllore e l AP leggero avviene attraverso il protocollo LWAPP che definisce: il protocollo di controllo dei messaggi e il loro formato l incapsulamento dei dati infatti i pacchetti wireless delle stazioni mobili, visti nei capitoli precedenti, vengono incapsulati in un frame LWAPP tra il punto di accesso e il controllore. Quando una 119
stazione mobile invia un pacchetto nella BSS, viene ricevuto e decriptato se possibile dall access point, poi il pacchetto viene incapsulato con un intestazione LWAPP e inviato al controllore. Il controllore, alla ricezione del pacchetto, toglie l intestazione, processa il pacchetto e lo invia sulla LAN alla stazione di destinazione senza intestazione LWAPP. Il pacchetto di ritorno proveniente da una stazione sulla LAN e destinato a una stazione mobile segue lo stesso passo, cioè il pacchetto viene prima inviato al controllore che lo incapsula con una intestazione LWAPP e poi lo inoltra al punto di accesso dove viene decapsulato e se possibile decriptato prima di essere inviato alla stazione wireless. Come detto all inizio di questo lavoro, il protocollo LWAPP è definito in un documento RFC dell IETF dal gruppo CAPWAP. Il LWAPP prevede una comunicazione tra l AP e il controllore sia a livello 2 che a livello 3 del modello OSI. L implementazione a livello 3 viene fatta impiegando il protocollo UDP. I pacchetti LWAPP contengono due tipi di payload: i pacchetti dati LWAPP che sono frame dati incapsulati ricevuti o inviati alla stazione wireless. i pacchetti di controllo LWAPP che sono pacchetti di management (gestione) scambiati essenzialmente tra il controllore e il punto di accesso wireless. L intestazione LWAPP contiene un bit di controllo (C-Bit) che identifica il tipo di payload che contiene il pacchetto. Per il protocollo LWAPP di layer 3, i pacchetti dati e i pacchetti di controllo LWAPP vengono inviati su due porte separate. I vari passi di operazione del protocollo LWAPP sono i seguenti: 1. all inizio della comunicazione un access point invia un pacchetto di richiesta LWAPP Discovery Request che gli serve per scoprire la presenza di un controllore; 2. un controllore che riceve tale richiesta risponde con un pacchetto LWAPP Discovery Response ; 3. dai pacchetti LWAPP Discovery Response ricevuti dai controllori l access point seleziona il controllore a cui associarsi; 120
4. l access point invia un pacchetto di richiesta di associazione LWAPP Join Request al controllore scelto e si aspetta di ricevere una risposta di associazione nota come LWAPP Join Response da questo controllore; 5. il processo di associazione tra il controllore e l access point include un autenticazione mutuale e la generazione di una chiave di crittografia che sarà utilizzata per la sicurezza del processo di associazione e la cifratura dei pacchetti di controllo LWAPP; 6. una volta registrato presso il controllore wireless, cominciano scambi di messaggi LWAPP tra il controllore e il punto di accesso che, nel caso in cui si accorge che la versione del suo firmware è diversa di quella presente sul controllore, inizia scaricando un firmware dal controllore. 7. una volta d accordo sulla versione firmware da utilizzare, il controllore procede con una configurazione di base dell access point, questa configurazione contiene: le SSID da annunciare, i parametri di sicurezza, i parametri 802.11 come per esempio il bitrate ed i livelli fisici supportati, il canale radio e il livello di potenza. 8. dopo le fasi viste in precedenza, il controllore wireless e il punto di accesso entrano nello stato detto di funzionamento (periodo attivo) in cui cominciano a servire le stazioni wireless nella BSS. 9. durante il periodo di funzionamento, il controllore continua a inviare vari comandi all AP attraverso i pacchetti di controllo LWAPP. Questi comandi sono quelli di approvvigionamento dell access point oppure delle richieste di informazioni raccolte dall AP sulle stazioni mobili in suo possesso. 10. sempre durante il periodo di funzionamento il controllore e l access point scambiano dei messaggi LWAPP chiamati messaggi keep-alive che permettono di preservare oppure di mantenere attivo il canale di comunicazione LWAPP. Nel caso in cui viene perso un numero importante dei messaggi keep-alive, l AP cercherà di fare una nuova richiesta di associazione con un altro controllore. 5.2 Il protocollo LWAPP del livello 2 La comunicazione LWAPP tra il controllore e il punto di accesso wireless può essere realizzata tramite un frame nativo MAC 802.3(ethernet) nella stessa sotto rete, come visto nel primo capitolo, per questo fatto tale comunicazione viene chiamata comunicazione LWAPP layer 2. Questa comunicazione descritta nel documento del gruppo di lavoro CAPWAP dell IETF, non viene molto utilizzata negli apparati Cisco. 121
La figura 93 mostra il funzionamento del protocollo LWAPP layer 2: figura 93 Come mostra la figura, i pacchetti dati e di controllo LWAPP vengono incapsulati in un frame MAC ethernet tramite il campo Ethertype "0xBBBB". In questo contesto, l access point e il controllore wireless devono obbligatoriamente essere nella stessa VLAN oppure nello stesso dominio di broadcast. Questo tipo di comunicazione è supportato solo dagli apparati Cisco WLC della serie 410x e 440x, dagli access point della serie 1000 e non dagli AP della serie 1200, 1130AG, oppure 1240AG e dai controllori della serie WiSM o WLCM. Gli indirizzi MAC inclusi in questo tipo di frame ethernet scambiato tra l AP e il controllore wifi sono sia quello dell access point che quello del controllore. L indirizzo sorgente oppure quello di destinazione dipende dalla direzione del frame, per esempio, un frame di controllo LWAPP inviato dall AP al controllore avrà come indirizzo sorgente quello del punto di accesso e come indirizzo di destinazione quello del controllore e così via. I pacchetti dati scambiati nella LAN tra il controllore e le stazioni fisse della LAN sono pacchetti IP. Per esempio nella nostra figura di sopra, quando la stazione mobile invia un frame dati alla stazione fissa sulla LAN, vengono eseguiti i passi seguenti: un pacchetto IP viene incapsulato in un frame 802.11 e inviato sul canale radio dalla scheda di rete 802.11 della stazione mobile. Il pacchetto contiene come indirizzo MAC sorgente quello della stazione mobile e come indirizzo MAC di destinazione quello dell interfaccia radio dell access point; una volta ricevuto il frame dati 802.11, l access point aggiunge un intestazione LWAPP con il campo C-Bit settato a 0 poi incapsula l intestazione aggiunta insieme al frame 802.11 in un frame ethernet. Questo nuovo frame contiene come indirizzo MAC 122
sorgente quello dell access point e come indirizzo di destinazione quello del controllore wireless; Una volta raggiunto il controllore, le intestazioni 802.3 e LWAPP vengono rimosse e il frame 802.11 viene processato dal controllore; Il controllore rimuove poi l intestazione MAC 802.11 del frame e incapsula il payload cioè il pacchetto IP contenuto nel frame in un nuovo pacchetto 802.3 con un tag 802.1Q (per le vlan) e lo invia sulla LAN alla stazione fissa; Il pacchetto attraversa la LAN come visto nel capitolo 1 fino al raggiungimento della stazione fissa. Quando la stazione fissa invia un frame dati alla stazione mobile nella BSS, vengono rispettati i passi seguenti: il pacchetto IP prodotto dalla scheda di rete 802.3 della stazione fissa viene incapsulato in un frame MAC 802.3 con indirizzo MAC sorgente quello della stazione e con indirizzo MAC di destinazione quello del controllore poi inviato al controllore sulla rete cablata; Il controllore prende l intero frame, aggiunge un intestazione LWAPP sempre con il campo C-Bit settato a 0 e incapsula il frame risultante in un nuovo frame ethernet avente come indirizzo MAC di destinazione quello dell access point e come indirizzo MAC sorgente quello della stazione poi lo invia all AP; Una volta raggiunto l access point, il header LWAPP e l intestazione ethernet vengono rimossi e il datagrame IP viene processato dal punto di accesso; Il datagrame IP viene incapsulato in un frame MAC 802.11 poi inviato sul canale radio alla stazione mobile. Nei vari passi visti sopra, non sono stati spiegati il processo di scoperta (Discovery) ed il processo di associazione (Join) utilizzati dal protocollo LWAPP per far sì che gli access point scoprano il controllore a cui associarsi, questa scoperta e questa associazione sono possibili grazie ai pacchetti di discovery e di join LWAPP scambiati tra l AP ed il controllore che verranno spiegati nei paragrafi successivi. I pacchetti di controllo LWAPP sono cifrati tramite l algoritmo AES-CCM, la chiave di cifratura è generata quando l access point si associa al controllore, inoltre, il payload dei pacchetti dati LWAPP non viene cifrato, la crittografia standard wireless layer 2 viene fatta sul punto di accesso. Siccome il controllore è il punto d ingresso e di uscita per il 123
traffico WLAN nella rete cablata, gli indirizzi IP delle stazioni mobili vengono ricevuti sia staticamente che dinamicamente via DHCP tramite il controllore. L access point in questo caso non è obbligato a essere configurato con un indirizzo IP appartenente al range degli indirizzi ottenuti via DHCP dalle stazioni mobile. 5.3 Trasporto LWAPP Layer 3 In questo caso, a differenza di quello che si è visto nel paragrafo precedente, i pacchetti dati e quelli di controllo LWAPP vengono trasportati dalla coppia protocollare IP/UDP. Questa è la soluzione preferita per problemi di scalabilità. La figura 94 illustra il concetto del protocollo LWAPP layer 3: figura 94 Come mostra la figura, i pacchetti LWAPP scambiati tra il controllore e l AP vengono incapsulati nei pacchetti UDP. L unico requisito è quello di stabilire una connessione IP tra il punto di accesso e il controllore wireless. Gli indirizzi IP coinvolti nel tunnel LWAPP Layer 3 sono quello dell AP e quello dell interfaccia detto di management del controllore. Nel lato access point la porta UDP utilizzata per i pacchetti di controllo e per i pacchetti dati LWAPP corrisponde al risultato ottenuto facendo un operazione hash dell indirizzo MAC del punto di accesso, mentre, sul controllore, la porta UDP 12222 viene utilizzata per pacchetti dati LWAPP e la porta 12223 per i pacchetti di controllo. L unica differenza con il meccanismo di comunicazione layer 2 LWAPP visto in 124
precedenza è che i pacchetti LWAPP non vengono più incapsulati in un frame ethernet ma in un pacchetto UDP e questo fa sì che il controllore e il punto di acceso possano essere in due domini di broadcast diversi. I vari passi seguiti da un pacchetto dati da una stazione mobile ad una stazione fissa della LAN sono i seguenti: il datagrame IP proveniente dal livello superiore viene incapsulato dalla scheda di rete wireless della stazione mobile in un frame 802.11 con l indirizzo MAC sorgente quello della stazione e con indirizzo MAC di destinazione quello del punto di accesso; una volta che il frame ha raggiunto il punto di accesso, viene aggiunta un intestazione LWAPP con il campo C-Bit settato a 0 (frame dati LWAPP). L intestazione LWAPP e il frame 802.11 vengono poi incapsulati in un pacchetto UDP che viene trasmesso sulla rete IP. Il datagrame ha come indirizzo IP mittente quello dell AP e come indirizzo IP di destinazione quello dell interfaccia di management del controllore mentre la porta UDP sorgente è la funzione hash dell indirizzo MAC dell AP e la porta di destinazione è la porta 12222 ; Il datagrame IP ottenuto nella tappa precedente viene incapsulato in un frame ethernet prima di essere inviato sulla rete cablata in destinazione del controllore; Una volta in possesso del frame, il controllore rimuove le intestazioni ethernet, LWAPP, IP e UDP e recupera il frame di origine 802.11 mandato dalla stazione mobile; Il controllore wireless processa il MAC 802.11, ne estrae il datagrame IP inviato dalla stazione mobile, lo incapsula in un nuovo frame ethernet e l invia sulla rete cablata aggiungendo ovviamente un tag 802.1Q per le vlan; Il pacchetto attraversa tutta la rete tramite switch e router fino a raggiungere la stazione fissa. Quando la stazione fissa sulla LAN deve inviare un frame alla stazione wireless vengono eseguiti i seguenti passi: il pacchetto ethernet con indirizzo MAC della stazione fissa viene inviato sulla LAN al controllore; L intestazione ethernet viene rimossa dal controllore che estrae il datagrame IP; Il datagrame IP della stazione fissa è incapsulato con un intestazione LWAPP avendo il campo C-Bit settato a 0. Il pacchetto formato viene trasportato tramite il 125
protocollo UDP sulla rete IP con indirizzo IP mittente quello dell interfaccia di management del controllore e con indirizzo IP di destinazione quello del punto di accesso. La porta UDP sorgente è la 12222 mentre la porta di destinazione è quella ottenuta tramite la funzione hash dell indirizzo MAC dell access point; L access point rimuove le intestazioni ethernet, IP e LWAPP e ne estrae il payload originale inviato dalla stazione fissa poi lo incapsula in un frame 802.11 e lo invia sul canale radio alla stazione mobile. In questo processo, il controllore e il punto di accesso wireless si occupano mutuamente a rispettare il MTU imposto dall 802.3, per fare ciò devono frammentare e riassemblare tutti i pacchetti con lunghezza maggiore di 1500 Byte. La sicurezza dei pacchetti di controllo e l assegnamento degli indirizzi IP alle stazioni mobili seguono gli stessi passi visti per il protocollo LWAPP layer 2. 5.4 Processi di Discovery e di Join LWAPP Questo sotto paragrafo tratta del processo impiegato dal protocollo LWAPP per permettere a un punto di accesso leggero di scoprire il migliore controllore a cui associarsi. Quando un access point leggero viene acceso avvengono le seguenti operazioni: l access point invia in broadcast una richiesta LWAPP di Discovery a tutti i controllori wireless presenti nella LAN; Ogni controllore che riceve questa richiesta deve rispondere con un messaggio Discovery Response ; Dalle risposte ottenute dai controllori, l access point sceglie un controllore a cui associarsi; L access point invia un pacchetto di richiesta di associazione ( Join Request ) al controllore scelto e si aspetta da questo una riposta di associazione ( Join Response ); Il controllore valica la richiesta dal punto di accesso, gli invia il Join Response e l access point deve valicare anche il controllore per completare il processo di associazione. Si tratta, in sostanza di un meccanismo di autenticazione mutuale dal quale nascerà una chiave di cifratura per i pacchetti LWAPP. 126
5.5 Sicurezza nei pacchetti di controllo LWAPP I messaggi di controllo LWAPP sono protetti attraverso un processo di autenticazione mutuale durante la fase di associazione vista in precedenza. In questa fase avviene la creazione di una chiave che servirà per la cifratura dei dati di controllo LWAPP. Questi dati di controllo vengono cifrati tramite l algoritmo AES-CCM che, come visto nel capitolo sulla sicurezza, è un algoritmo di cifratura simmetrica, ciò significa che l access point e il controllore devono avere la stessa chiave di cifratura per cifrare e decifrare pacchetti dati che si scambiano. Affinché la generazione e lo scambio di questa chiave avvenga in modo sicuro deve succedere quanto segue: l access point ed il controllore hanno già ciascuno un certificato X.509 scritto nella loro memoria flash; i certificati X.509 sono firmati con una chiave privata prevista nell apparato in fabbrica, inoltre il controllore e il punto di accesso hanno già la loro chiave pubblica installata; Si deve installare un CA (Autorità di certificazione) sia sull AP che sul controllore. Quando l access point invia una richiesta di associazione al controllore aggiunge nel pacchetto di richiesta di associazione anche il suo certificato X.509 insieme a un numero casuale che rappresenta l identificativo (ID) della sessione. Quando il controllore riceve il Join Request, valica la firma del certificato X.509 dell access point con la chiave pubblica del punto di accesso e verifica che il certificato provenga da un autorità di certificazione valida. Il controllore provvede anche a verificare la data di scadenza di questo certificato e la paragona alla sua per vedere se c è compatibilità. Quando è certo della validità del certificato, il controllore genera una chiave di cifratura AES casuale che servirà per la crittografia dei dati di controllo futuri. Il controllore poi cifra la chiave generata con la chiave pubblica del punto di accesso, concatena il dato cifrato alla chiave di sessione presente nel pacchetto Join Request e cifra il pacchetto ottenuto con la sua chiave privata. Il pacchetto finale viene copiato nella risposta di associazione ( Join Response ) insieme al certificato X. 509 del controllore. Quando l AP riceve il messaggio Join Response valica il certificato del controllore con la chiave pubblica del controllore e verifica se questo certificato proviene da un autorità di certificazione valido. Quando il certificato è valido, l AP estrae la chiave di cifratura dal pacchetto ricevuto, decifra la parte cifrata nel pacchetto utilizzando la chiave pubblica del controllore e ne estrae l ID della sessione. Dopo di che decifra la chiave AES 127
utilizzando la sua chiave privata ed è questa chiave che gli servirà per la cifratura e la decifratura di tutti i pacchetti di controllo che scambierà con il controllore. L access point setta un timer per la chiave ricevuta dal controllore per questa sessione. Al termine di questo timer il punto di accesso genera una nuova ID di sessione, la incapsula in un pacchetto di richiesta di aggiornamento della chiave LWAPP ( LWAPP Key Update Request ) e la invia al controllore che ripete i passi di generazione di chiave visti in precedenza e genera una nuova chiave che viene mappata nel pacchetto di risposta di aggiornamento della chiave ( LWAPP Key Update Response ). La durata del timer è fissato ad 8 ore per gli apparati Cisco. Inoltre i certificati X.509, l autorità di certificazione nonché le chiave privata e pubblica sono già memorizzati in fabbrica nella memoria flash degli AP e controllori della Cisco. 5.6 Mobilità nel protocollo LWAPP La mobilità nel protocollo LWAPP è gestita dal controllore e l algoritmo impiegato per risolvere il problema della mobilità viene definito dal costruttore come già spiegato nel capitolo riservato alla mobilità. Quando una stazione wireless si autentica e si associa a un AP, il controllore wireless associato al punto di accesso piazza i dati relativi a questa stazione wireless in un suo database. Questi dati nella maggiore parte comprendono l indirizzo MAC e l indirizzo IP della stazione wireless, il contesto della sicurezza e della qualità di servizio ecc.. il controllore utilizza queste informazioni per inviare e ricevere frame dalla stazione wireless. Cosa succede quando una stazione wireless cambia di BSS? 128
5.6.1 Caso 1: roaming di una stazione nello stesso controllore figura 95 Si può qui vedere come viene semplificato il processo di roaming rispetto a quello che accade nell 802.11 in quanto la mobilità è gestita in maniera automatica dal controllore. Quando la stazione A cambia di access point, il controllore non fa altro che aggiornare l ingresso riferito a questa stazione nel suo database puntando questo ingresso verso il nuovo AP. 129
5.6.2 Caso 2: roaming LAYER 2 di una stazione tra due controllore diverso nello stesso dominio di roaming figura 96 La figura di sopra illustra un roaming layer 2 tra due controllori diversi presenti nello stesso dominio di roaming oppure nella stessa VLAN o sotto rete. Quando la stazione wireless si ri-associa a un punto di accesso connesso a un nuovo WLC. Il nuovo controllore scambia i messaggi di mobilità con il vecchio controllore e, da questo scambio, l ingresso relativo alla stazione mobile nel database del vecchio controllore viene spostato nel database del nuovo controllore e l access point nuovo viene aggiornato in modo da accogliere la stazione mobile. Questo avviene in maniera trasparente per la stazione mobile. 5.6.3 Caso 3: roaming LAYER 3 di una stazione tra due controllori in dominio di roaming diverso Nel caso di un roaming layer 3 i controllori wireless si trovano in due sotto reti diverse. In questo caso l ingresso relativo alla stazione mobile nel database del vecchio controllore non viene più spostato come nel caso precedente nel database del nuovo controllore ma viene marcato con un tag chiamato ANCHOR nel database del controllore di origine poi una copia di questo ingresso viene inviato al nuovo controllore dove viene marcato con un tag chiamato FOREIGN, come già visto nel capitolo 3 130
nella mobile IP. Il roaming è trasparente per la stazione mobile in quanto mantiene lo stesso indirizzo IP di origine. Il traffico dati inviato dalla stazione mobile nella sua rete è inoltrato verso il vecchio controllore tramite il nuovo controllore e il traffico dati dalla rete di origine della stazione mobile verso la nuova rete passa sempre tramite il nuovo controllore in un tunnel ethernet in IP (RFC 3378). Nel caso in cui la stazione si muovesse di nuovo su un altro controllore, i suoi dati nel database del controllore attuale verrebbero spostati verso il nuovo controllore. Nella rete wireless Cisco unified, la mobilità è gestita tramite il concetto di gruppo di mobilità configurato su ogni controllore facendo parte del gruppo. Un gruppo di mobilità in una rete wireless Cisco è un insieme di controllori nella rete che scambiano dinamicamente tra di loro alcune informazioni importanti soprattutto per quanto riguarda il roaming delle stazioni mobili. Ogni controllore facente parte del gruppo di mobilità viene configurato con la lista dei controllori che fanno parte del gruppo. Ogni controllore del gruppo costruisce una tabella che contiene le relazioni con tutti i controllori vicini che fanno parte del gruppo. In generale, il gruppo di mobilità è impiegato quando l amministratore di rete desidera che esista un roaming inter controllore nella rete wireless. 5.7 Formato dei Pacchetti LWAPP In questo paragrafo ci si sofferma sulla struttura dei pacchetti LWAPP come descritti nel documento RFC dell IETF. Per chiarire le idee rispetto a quello già sottolineato all inizio di questo capitolo, la figura 97 rappresenta il diagramma di stato del circolo di vita di una sessione LWAPP tra un punto di accesso ed un controllore wireless : 131
figura 97 In questo diagramma la lettera c affianco a uno stato è utilizzata per rappresentare una condizione che forza lo stato a non cambiare. Il diagramma funziona nel modo seguente: Stato a (da Idle a Discovery): questo stato corrisponde allo stato iniziale in cui i due apparati non sono attivi. L access point entra nello stato di scoperta ( Discovery ) per trasmettere la prima richiesta di Discovery. In questo stato, l AP fissa un intervallo di Discovery chiamato DiscoveryInterval timer (che vedremo in seguito) e risetta il contatore DiscoveryCount a 0. L access point deve cancellare tutte le informazioni corrispondenti alla sessione precedente con un altro controllore. In questa fase il controllore deve rispondere al punto di accesso con una risposta di Discovery. Stato b (da Discovery a Discovery): questo è lo stato utilizzato dall AP per determinare il controllore a cui si desidera associare. Inizia quando arriva al termine l intervallo di discovery DiscoveryInterval. 132
Stato d (da Discovery a Sulking): stato che riguarda solo il punto di accesso e si verifica quando l access point non riesce a scoprire il controllore oppure quando c è un problema di connessione con un controllore. L AP si trova in questo stato quando arriva al termine l intervallo di tempo DiscoveryInterval ed il contatore DiscoveryCount ha raggiunto il valore massimo chiamato MaxDiscoveries. In questo stato l access point inizia un altro timer chiamato SilentInterval e ogni pacchetto ricevuto dall AP viene ignorato. Stato e (da Sulking a Idle): stato in cui l access point deve ricominciare la fase di Discovery, accade quando il timer SilentInterval è arrivato a termine e l access point non ha trovato un controllore con cui associarsi. Stato f (da Discovery a Join): stato in cui l access point ha trovato il controllore con cui associarsi. In questa fase l AP manda a questo controllore una richiesta di associazione ( Join Request ) ed inizia un timer chiamato WaitJoin che rappresenta l intervallo di tempo durante il quale aspetterà una risposta di associazione da tale controllore. In questo stato il controllore che riceve un pacchetto di richiesta di Join deve rispondere con un messaggio Join Response. Stato g (da Join a Join): stato che si verifica durante la fase di associazione, l access point entra in questo stato quando termina il tempo WaitJoin e il controllore quando riceve una nuova richiesta di associazione dallo stesso AP. Stato h (da Join a Idle): questo stato avviene quando fallisce il processo di associazione, in questo caso, l access point è configurato per utilizzare una chiave di cifratura PSK e riceve una risposta di associazione dal controllore che contiene una chiave PSK-MIC non valida. Stato i (da Join a Discovery): stato che si realizza sempre quando il processo di associazione non è andato a buon fine, a differenza del caso precedente, l access point non riceve una risposta di associazione dal controllore scelto. In questo caso il punto di accesso setta di nuovo il suo timer DiscoveryInterval, azzera il contatore DiscoveryCount e deve ricominciare il processo di associazione. 133
Stato z (da Join a Join Confirm): in questo stato l access point ha ricevuto una risposta di associazione con i parametri di sicurezza validi (certificati, PSK-MIC ecc ). Il controllore entra in questo stato quando riceve un pacchetto di riscontro di associazione Join Ack valido. Un Join Ack contiene parametri di sicurezza validi (parametri di autenticazione, certificati, PSK-MIC ecc..) Stato 3 (da Join Confirm a Idle): in questo stato il punto di accesso ha ricevuto una conferma di associazione ( Join Confirm ) non valida in corrispondenza di un pacchetto Join Ack non valido ricevuto dal controllore wireless. Stato 2 (da Join Confirm a Configure): stato in cui il controllore e il punto di accesso si scambiano informazioni di configurazione. Questo accade quando l AP ha ricevuto una conferma di associazione valida e trasmette al controllore una richiesta di configurazione ( Configure Request ), nel frattempo inizia il suo timer ResponseTimeout che corrisponde al tempo che deve aspettare per una risposta di configurazione dal controllore. La riposta di configurazione del controllore include campi che contengono parametri di configurazione dell access point. Stato 4 (da Join Confirm a Image Data): stato in cui il controllore e il punto di accesso si scambiano un firmware. L AP dopo la ricezione di un messaggio di Join Confirm valido constata che la versione del firmware annunciata dal controllore sia diversa dalla sua, quindi fa un aggiornamento firmware. A questo punto l access point trasmette un messaggio di richiesta di immagine data ( Image Data Request ) al controllore per scaricare un firmware valido. Il controllore risponderà con un messaggio di immagine data che include il firmware. Stato n (da4 Image Data a Image Data): stato utilizzato dal controllore e l access point durante la fase del download del firmware. In questo caso il punto di accesso riceve una risposta di immagine data dal controllore che indica che il controllore ha tanti dati da trasmettere in quanto ha ricevuto una nuova richiesta di immagine dati dall AP allora che si trovava nello stato di download del firmware, ciò significa per il controllore che il file mandato in precedenza non è completo e deve completarlo. 134
Stato 0 (da Image Data a Reset): stato utilizzato quando il download del firmware è completato, in questo caso, l access point riceve un messaggio di immagine data che indica che il controllore non ha più niente da trasmettere oppure quando il protocollo di trasporto LWAPP indica un fallimento del collegamento tra l AP e il controllore. L access point a questo punto si riavvia e il controllore deve cancellare i dati relativi a questo punto di accesso nel suo database. Stato p (da Confgure a Reset): questo stato accade in risposta al fallimento del processo di configurazione sia a causa di un eventuale fine del timeout ResponseTimeout, sia quando la richiesta di configurazione fatta dall AP non è stata consegnata al controllore dal protocollo di trasporto impiegato dalla LWAPP oppure la risposta di configurazione inviata dal controllore non è giunta all AP. Stato q (da Confgure a Run): questo è lo stato normale di funzionamento del controllore e dell access point. Il punto di accesso entra in questo stato quando ha ricevuto una risposta di configurazione valida dal controllore. L AP inizia il timer HeartBeat e invia un messaggio di cambiamento di stato ( Change State Event Request ) al controllore che risponde con un messaggio dello stesso tipo in cui inizia un ID di sessione e setta un timer chiamato Neighbor Dead. Stato r (da Run a Run): stato normale di funzionamento causato da tanti eventi come ad esempio l aggiornamento della configurazione tramite il messaggio di richiesta di aggiornamento di configurazione inviato all AP dal controllore, il cambiamento di stato in cui l AP riceve una risposta change state event dal controllore oppure deve iniziare una richiesta di cambiamento di stato, una risposta di trasferimento dati, una richiesta di configurazione della WLAN, un messaggio di configurazione della stazione mobile ecc... Stato s (da Run a Reset): stato in cui il controllore vuole riavviare l access point. L AP riceve dal controllore una richiesta di riavvio ( Reset Request ) e al ricevimento di questo pacchetto l access point si deve riavviare. Questo stato può essere causato manualmente dall amministratore di rete oppure può essere dovuto a un evento particolare all interno del controllore che richiede un riavvio dell access point. 135
Stato t (da Run a Idle): questa transizione si verifica quando c è un errore nella comunicazione tra l access point e il controllore. L access point entra in questo stato quando non riesce a inviare dati al controllore entro il timer RetransmitInterval e il contatore RetransmitCount ha raggiunto il valore massimo. Stato u (da Run a Key Update): stato in cui il controllore e il punto di accesso wireless si scambiano la chiave di cifratura dati. Questo succede quando finisce il timer KeyLifetime e il controllore riceve una richiesta di aggiornamento della chiave dal punto di accesso. Stato w (da Key Update a Key Confirm): in questo stato l access point riceve una riposta di aggiornamento della chiave e deve solo accettarla rispondendo al controllore con un pacchetto di riscontro Key Update Ack. Stato 5 (da Key Confirm a Run ): stato che segue un aggiornamento completo della chiave. In questo caso l access point ha ricevuto un messaggio di conferma di aggiornamento della chiave Key Update Confirm in cui è incluso una nuova chiave di cifratura con un nuovo vettore iniziale IV. Stato x (da Key Update a Reset ): stato che si realizza quando l access point non riceve una risposta di aggiornamento della chiave di cifratura dal controllore e questo perché il controllore non è stato in grado di processare la richiesta di aggiornamento della chiave ricevuta dall access point. Stato y (da Reset a Idle ): stato in cui si ricomincia il circolo di vita della sessione tra l AP e il controllore. In questo caso l AP si riavvia e il controllore cancella ogni dati relativo a questo access point nel suo database e ciò dopo un timeout fissato. Avendo chiarito il diagramma di stato di una sessione LWAPP tra l AP ed il controllore passiamo ora allo studio del formato dei pacchetti LWAPP scambiati in questa sessione. 136
5.7.1 Intestazione del pacchetto di trasporto LWAPP Tutti i pacchetti del protocollo LWAPP sono incapsulati con la stessa intestazione in funzione del protocollo di trasporto utilizzato (layer 2 o layer 3). Nei vari stati visti in precedenza, il formato di tale intestazione è il seguente: VER RID C F L FRAG ID LENGTH STATUS/WLAN PAYLOAD... Intestazione Di un Pacchetto LWAPP figura 98 VER: è un campo codificato su 2 bit che contiene la versione del protocollo LWAPP utilizzato nel pacchetto. RID: è un campo di 3 bit che contiene l identificativo radio associato al pacchetto. In generale, un AP che possiede più interfacce radio ma con un solo indirizzo MAC utilizza questo campo per specificare a quale interfaccia è associato il pacchetto. C: campo di 1 bit, già visto all inizio di questo capitolo, che contiene il tipo di pacchetto LWAPP. Settato a 0 significa che si tratta di un pacchetto dati mentre settato a 1 si tratta di un pacchetto di controllo LWAPP. F: campo di 1 bit che viene settato a 1 per indicare che si tratta del frammento di un pacchetto e deve di conseguenza essere assemblato in ricezione. L: campo sempre di 1 bit che viene utilizzato contemporaneamente con il campo F e indica se si tratta dell ultimo frammento di un pacchetto quando è settato ad 0. Fragment ID: campo di 8 bit che contiene un valore che viene assegnato a ogni gruppo di frammento per formare un insieme completo. Il protocollo LWAPP, nella sua versione attuale, supporta solo 2 frammenti per frame; Length: è un campo di 16 bit che contiene il numero di byte contenuto nel payload e include anche l algoritmo AES-CCM MIC nel caso in cui il pacchetto sia cifrato. Status and WLANS: campo di 16 bit che contiene il tipo di trasporto utilizzato dalla tecnologia wireless contenuto nel pacchetto. In questo lavoro di tesi si tratta della tecnologia 802.11 e le sue derivate. 137
Payload: questo campo contiene sia l intestazione di un pacchetto dati LWAPP, sia quella di un pacchetto di controllo LWAPP seguito dei dati associati a questo pacchetto. 5.7.1.1 Formato del Pacchetto LWAPP con il MAC 802.3 come mezzo trasporto Come si è visto all inizio di questo capitolo, il protocollo LWAPP può utilizzare il livello MAC 802.3 per il trasporto dei pacchetti LWAPP, in questo caso, il controllore e il punto di accesso devono essere nella stessa sotto rete (oppure la stessa VLAN). Il pacchetto LWAPP che impiega il MAC 802.3 contiene dunque un intestazione MAC 802.3 seguita da quella LWAPP vista in precedenza. I formati di un frame di controllo e di un frame dati sono rappresentati come segue: MAC HEADER LWAPP HEADER (C=0) FORWARD DATA Frame dati LWAPP MAC HEADER LWAPP HEADER (C=1) CONTROL Message figura 99 Message elements Frame di Controllo LWAPP L intestazione MAC 802.3, come già visto nel primo capitolo, contiene un campo che indica l indirizzo MAC sorgente e un campo che contiene l indirizzo MAC di destinazione che vengono riferiti reciprocamente agli indirizzi del controllore e del punto di accesso wireless. Inoltre il campo Ethertype di questa intestazione viene fissato al valore 0x88bb (si faccia riferimento al primo capitolo). Per un pacchetto che supera il MTU, il protocollo LWAPP utilizza i campi F, L, e FRAG ID per frammentare e riassemblare il frame. Come già detto, il protocollo supporta fino a un massimo di 2 frammenti per frame e ogni frammenti a sua volta comprende sempre un intestazione 802.3 seguita da quella LWAPP. 138
I pacchetti LWAPP vengono differenziati tramite il campo C, settato a 0 indica che si tratta di un pacchetto dati mentre settato a 1 indica che è un pacchetto di controllo. 5.7.1.2 Formato del Pacchetto LWAPP con IP/UDP come mezzo trasporto MAC HEADER IP UDP LWAPP HEADER (C=0) FORWARD DATA Frame dati LWAPP MAC HEADER IP UDP LWAPP HEADER (C=1) CONTROL Message Message elements Frame di Controllo LWAPP figura 100 Nel caso in cui il protocollo impieghi la coppia di protocolli IP/UDP come mezzo di trasporto dei pacchetti LWAPP, i due apparati possono risiedere in 2 sotto reti diverse. Si ricorda che le porte UDP sul controllore per pacchetti dati e di controllo sono rispettivamente 12222 e 12223. Gli indirizzi IP sorgente e di destinazione inclusi nel datagrame IP sono sia quello dell access point che quello del controllore. I campi F, L, e FRAG ID vengono settati a 0 in quanto non sono utilizzati per questo mezzo di trasporto. Infatti il protocollo LWAPP impiega il protocollo IP per la frammentazione e il riassemblaggio dei pacchetti con lunghezza maggiore al MTU e in questo caso solo il primo frammento contiene l intestazione LWAPP. Come mostra la figura i pacchetti vengono sempre differenziati tramite il campo C. Un pacchetto dati LWAPP contiene un intestazione LWAPP seguita dai dati da trasmettere alla stazione finale. I dati sono frame wireless incapsulati nei pacchetti LWAPP dal trasmettitore del frame (il controllore oppure l access point). Nel paragrafo 139
seguente si studieranno in profondità i vari pacchetti di controllo scambiati tra il controllore e il punto di accesso come già visto nel diagramma di stato di una sessione tra i due apparati. 5.7.2 Formato dei pacchetti di controllo I pacchetti di controllo sono: pacchetti di Discovery, di management del canale, di configurazione dell access point, della gestione della mobilità e pacchetti per la gestione firmware. Tutti i messaggi di controllo LWAPP sono incapsulati nell intestazione LWAPP vista in precedenza e immediatamente dopo tale intestazione segue un altra intestazione di controllo il cui formato è il seguente: Message Type Session ID Msg Element [0...N] Seq Num Msg Element Length Message Type: questo campo permette di identificare la funzione del pacchetto di controllo LWAPP e può assumere uno dei valori seguenti: Descrizione VALORE Discovery Request 1 Discovery Response 2 Join Request 3 Join Response 4 Join ACK 5 Join Confirm 6 Unused 7-9 Configure Request 10 Configure Response 11 Configuration Update Request 12 Configuration Update Response 13 WTP Event Request 14 140
WTP Event Response 15 Change State Event Request 16 Change State Event Response 17 Unused 18-21 Echo Request Echo Response 22 23 Image Data Request 24 Image Data Respnse 25 Reset Request Reset Response 26 27 Unused 28-29 Key Update Request 30 Key Update Response 31 Primary Discovery Request Primary Discovery Response 32 33 Data Transfer Request 34 Data Transfer Response 35 Clear Config Indication WLAN Config Request 36 37 WLAN Config Response 38 Mobile Config Request 39 Mobile Config Response 40 Tabella 18 Seq Num: il campo contiene un valore che identifica in modo univoco una coppia di pacchetti di r ichiesta/risposta scambiati tra l AC e il controllore. Quando un pacchetto LWAPP con un messaggio di richiesta è stato ricevuto, il valore della Seq Num viene copiato nel pacchetto di risposta corrispondente. Il valore della Seq Num è incrementato per ogni pacchetto LWAPP e inviato in modo da evitare che ci sia scambio di messaggi di controllo che hanno lo stesso numero di sequenza. Message Element Length: indica il numero di byte del contenuto del campo che segue quello Session IDS. Se il pacchetto LWAPP è cifrato questo campo conterrà in più l algoritmo AES-CCM MIC. 141
Session I D: campo di 32 bit che contiene un numero casuale unico che rappresenta l identificativo della sessione tra il controllore e l access point. Message Element[0 N]: è il campo che contiene le informazioni riguardanti ogni tipo di messaggio di controllo. Come descritto nella sezione precedente, il campo più importante della sotto intestazione di un pacchetto di controllo è il campo Message Element che come detto, contiene le informazione importanti che regolano il tipo di controllo scambiato tra il controllore e il punto di accesso. Il formato di un elemento di tale campo è rappresentato nella figura seguente: Type Length Value... Il campo Type di 8 bit identifica la natura dell informazione contenuta nel campo value mentre il campo Length di 16 bit contiene la dimensione in byte dello stesso campo. 5.7.2.1 Formato dei vari tipi di pacchetti di controllo Per riassumere quello detto fino a ora, la figura seguente presenta le varie parti dell intestazione di un pacchetto di controllo LWAPP e nelle figure successivi si presenterà solo i sotto campi inclusi nella struttura di dati Message Element: figura 101 142
5.7.2.1.1 Operazioni di Discovery LWAPP Come già detto, il processo di Discovery è utilizzato dal punto di accesso per scoprire il migliore controllore a cui associarsi. Discovery Request Questo pacchetto è inviato in broadcast, multicast oppure unicast dal punto di accesso al controllore in stato di Discovery. Il campo Message Element della sotto intestazione di un pacchetto di questa richiesta può essere visto come un vettore o meglio una sotto struttura astratti di dati che contiene i sotto campi seguenti: Discovery Type: questo campo è utilizzato per configurare l access point in maniera che operi in un modo specifico. Formato Discovery Type Type: settato a 50 per questo campo Length: 1 Discovery Type: campo di 8 bit che indica il modo in cui il controllore è stato scoperto. Il valore 0 significa che tale scoperta è avvenuta tramite una richiesta broadcast mentre il valore 1 tramite una pre-configurazione. AP Descriptor: sotto campo utilizzato dall AP nel pacchetto di richiesta di Discovery per comunicare al controllore la sua configurazione hardware/firmware corrente. Il suo formato si presenta come segue: Formato Hardware Version Software Version Boot Version Max Radios Radios in use Encryption Capabilities 143
Type: fissato a 3 per questo sotto campo Length: 16 Hardware Version: valore codificato su 32 bit che rappresenta il numero della versione hardware dell AP. Software Version: valore codificato su 32 bit che rappresenta il numero della versione firmware dell AP. Boot Version: valore di 32 bit che rappresenta il numero della versione del boot loader del punto di accesso. Max Radios: codificato su 8 bit, rappresenta il numero di interfaccia radio supportato dal punto di accesso. Ogni interfaccia è identificato tramite il campo RID Radios in use: codificato su 8 bit indica il numero di interfaccia radio presente nell access point. Encryption Capabilities: campo di 16 bit usato dal punto di accesso wireless per comunicare le sue capacità di crittografia all AC. Per un AP che non ha capacità di cifrare i dati, questo campo è settato a zero. AP Radio Information: questo sotto campo è utilizzato per comunicare informazioni radio in uno slot specifico. Un pacchetto di richiesta di Discovery deve includere un tale sotto campo per ogni interfaccia radio presente nell access point. Infatti le informazioni contengono la tecnologia wireless impiegata dal punto di accesso. Il formato di questo sotto campo è rappresentato come segue: Formato Radio ID Type Radio Type: fissato a 4 per questo sotto campo Length: 2 Radio ID: identificativo riferito a alcune interfaccia radio presenti nell access point. Radio Type: campo che indica il tipo di tecnologia wireless presente e può contenere i valori seguenti: 1-802.11bg: interfaccia radio 802.11b/g 2-802.11a: interf accia radio 802.11a. 3-802.16: interfaccia radio 802.16 (HYPERLAN). 144
4 - Ultra Wideband: interfaccia radio UWB. 7- all: utilizzare per specificare tutte le interfacce presenti nell AP. Discovery Response Questo pacchetto è inviato dal controllore all access point in risposta alla richiesta di Discovery vista in precedenza. Una volta in possesso di questo pacchetto, l access point entra nello stato di join. I sotto campi inclusi nel campo Message element dell intestazione di controllo di questo pacchetto sono i seguenti: AC Address: questo sotto campo è utilizzato per comunicare l identità del controllore ed è composto di 2 sotto campi come nella figura : Formato Reserved MAC Address MAC Address Type: fissato a 2 per questo sotto campo Length: 7 Reserved: settato a 0 Mac Address: contiene l indirizzo MAC del controllore. AC Descriptor: questo campo è utilizzato dal controllore per comunicare il suo stato corrente ed è formato come segue: Formato Reserved Hardware Version... HW Ver Software Version... SW Ver Stations Limit Limit Radios Max Radi 145
Max Radio Security o Type: fissato a 6 per questo sotto campo Length: 17 Reserved: deve essere settato a zero Hardware Version: valore di 32 bit che rappresenta il numero della versione hardware del controllore Software Version: valore di 32 bit che rappresenta il numero della versione firmware del controllore Stations: valore di16 bit che rappresenta il numero di nodi wireless correntemente associato al controllore. Limit: valore di 16 bit che rappresenta il numero massimo delle stazioni mobili supportato dal controllore. Radios: valor e su 16 bit che rappresenta il numero di Access Point correntemente associato al controllore. Max Radio: valore di 16 bit che rappresenta il numero massimo di AP supportato dal controllore. Security: campo di 8 bit che dà delle specifiche sullo schermo di sicurezza supportato dal controllore. Può contenere i valori seguenti: 1 per certificato X. 509 (X. 509 Certificate Based) 2 per le chiavi condivise (Pre-Shared Secret) AC Name: questo sotto campo contiene una stringa di carattere in formato ASCII che rappresenta l identità del controllore. Il formato è il seguente: Formato Name... Type: fissato a 31 per questo campo Length: maggiore di 0 Name: il nome del controllore in carattere ASCII. 146
AP Manager Control IPv4 Address: questo campo è ma ndato dal controllore all AP duran te il processo di discovery ed è utilizzato dall AC per annunciare le interfacce radio disponibili nonché il loro carico attuale, questo permette all access point di ottimizzare il Load Balancing su più interfacce. Formato IP Address AP Count Type: fissato a 99 per questo campo Length: 6 IP Address: l indirizzo IP di un interfaccia AP Count: il numero di punti di accesso attualmente connessi a questa interfaccia AP Manager Control IPv6 Address: Come nel caso dell IPv4, questo elemento viene mandato dal controllore all AP durante la fase di discovery per fargli conoscere le sue interfacce radio disponibili e la loro carica attuale. Formato IP Address IP Address IP Address IP Address AP Count Type: fissato a 137 in questo caso Length: 6 IP Address: l indirizzo IP di un interfaccia AP Count: il numero di punti di accesso attualmente connesso a quest interfaccia 147
5.7.2.1.2 Control Channel Management Il pacchetto di management del canale di controllo è utilizzato dal controllore e l access point per mantenere un canale di comunicazione in cui vari comandi come i pacchetti di configurazione, di aggiornamento firmware ecc.. dovranno passare. In questa categoria si incontrano i seguenti pacchetti: 3) Join Request Come già visto, la richiesta di associazione è utilizzata dal punto di accesso per richiedere una sua associazione a un controllore questo quando si trova nello stato di join. I sotto campi inclusi nel campo message element di questo pacchetto sono descritti come segue: AP descriptor: già descritto nella richiesta di discovery AC Address: già descritto nella risposta di discovery AP Name: sotto campo che contiene una stringa che descrive il nome dell access point. Il suo formato si presenta come segue: Formato Name... Type: fissato a 5 per il nome dell AP Length: maggiore di 0 Name: il nome del punto di accesso in carattere ASCII. Location Data: stringa di carattere che descrive le informazioni sulla localizzazione del punto di accesso. Formato Location... Type: fissato a 35 per questo campo Length: maggiore di 0 Location: valore che contiene la localizzazione del punto di accesso in formato ASCII. 148
AP Radio Information: questo sotto campo, già definito in precedenza, deve essere presente per ogni interfaccia radio dell access point. Certificate: il valore contenuto in questo campo è una stringa di carattere che contiene un certificato di tipo DER-encoded X. 509v3. Questo campo è incluso solo se la sicurezza nella comunicazione tra l AP e l AC richiede l uso dei certificati. Il suo formato è il seguente: Formato Location... Type: fissato a 44 per questo campo Length: maggiore di 0 Certificate: campo in formato ASCII che contiene il certificato dell AP. Session ID: campo che contiene un numero casuale di 32 byte che rappresenta l identificativo della sessione corrente tra l AP e l AC. Formato Session ID... Type: fissato a 45 per questo campo Length: 4 Session ID: numero intero su 32 bit che rappresenta l ID di sessione. Test: campo aggiunto al messaggio di Join Request per il trattamento della MTU discovery e contiene qualsiasi valore di qualsiasi lunghezza.. Formato Padding... Type: fissato a 18 per questo campo Length: maggiore di 0 Padding: campo variabile aggiunto al pacchetto 149
XNonce: campo utilizzato dall AP che contiene una sfida casuale mandata al controllore durante la fase di Join o di aggiornamento delle chiavi.. Questa sfida è nota come random nonce. Formato: Nonce Nonce Nonce Nonce Type: fissato a 111 per XNonce Length: 16 Nonce: campo codificato su 16 bit che contiene il Random nonce. 4) Join Response La risposta di associazione è inviata dal controllore a un access point come risposta a una richiesta di associazione precedente proveniente da questo access point. I sotto campi inclusi nel campo message element di questo pacchetto di controllo sono descritti come segue: Result Code: è un campo di 32 bit che contiene un numero intero che indica l esito della richiesta di associazione, è incluso solo in una risposta di associazione andata bene. Il formato di questo campo si presenta come segue: Formato: Result Code... Type: fissato a 2 per questo campo Length: pari a 4 Result Code: i valori accettati sono : 150
0 Successo 1 Fallimento Status: questo campo è incluso solo in un messaggio di Join Response che non è andato a buon fine ed è utilizzato dal controllore per dare spiegazioni su questo fallimento. Il formato è il seguente: Formato: Status Type: fissato a 60 per il sotto campo Status Length: pari a 1 Status: campo utilizzato per indicare la causa di un fallimento di richiesta di associazione LWAPP. I valori supportati sono: 1 riservato e non deve essere utilizzato 2 manca di risorse 3 sorgente sconosciuta 4 dati non corretti Certificate: campo già definito in precedenza. AC Manager IPv4 Address: campo opzionale mandato dal controllore all access point durante il processo di Join. Se presente nel pacchetto indica che l indirizzo IP contenuto in questo campo è quello che l access point deve utilizzare per trasmettere ogni frame LWAPP al controllore. Inoltre questo campo è valido solo se la coppia IP/UDP è utilizzata come protocollo di trasporto. Il formato di questo campo è descritto come segue: Formato: IP Address Type: fissato a 138 Length: pari a 4 IP Address: l indirizzo IP relativo a un interfaccia. 151
AC Manager IPv6 Address: come nel caso dell IPv4 questo pacchetto è inviato dall AC all AP in modo opzionale durante lo stato di Join per indicare all AP l indirizzo da utilizzare per trasmettere pacchetti LWAPP nel caso dell uso della coppia IP/UDP. Il formato è il seguente: Formato: IP Address IP Address IP Address IP Address Type: fissato a 139 per IPv6 Length: pari a 4 IP Address: l indirizzo IP relativo a un interfaccia. AC IPv4 List: sotto campo impiegato per configurare un punto di accesso con l ultima lista degli AC in un Cluster. Questo campo è incluso solo se la risposta di associazione ritorna con esito negativo e indica quindi che il controllore non è in grado di ospitare l access point in quel momento così da permettere al punto di accesso di scegliere un altro controllore nel cluster. Form ato: IP Address [ ] Type: fissato a 59 Length: maggiore di 4 IP Address[]: un Array di numeri interi codificato su32 bit che contiene un indirizzo IPv4 di un controllore. 152
AC IPv6 List: come nel caso dell IPv4, questo campo è utilizzato per mandare all AP una lista dei controllori appartenenti a un cluster e questo avviene quando l AC non è in grado di ospitare l AP in quel momento allora richiede a quest ultimo di provare un associazione con un altro AC. F ormato: IP Address [] IP Address [] IP Address [] IP Address [] Type: fissato a 114 Length: maggiore di 4 IP Address[]: Array di numeri interi codificato su dell interfaccia di un controllore. 32 bit che contiene l indirizzo IPv6 ANonce: campo inviato dal controllore durante lo stato di Join che contiene la sfida inviata all access point. Il suo contenuto è cifrato come vedremo di seguito: Formato: Nonce Nonce Nonce Nonce Type: fissato a 108 per ANonce Length: 16 Nonce: campo cifrato di 16 bit che contiene la sfida del controllore. 153
PSK-MIC: il campo PSK-MIC contiene il meccanismo per verificare l integrità del pacchetto, ed è incluso solo nelle comunicazione in cui la tecnica di sicurezza è basata sull uso delle chiavi condivise. Il suo formato è rappresentato nella figura seguente: Formato: SPI MIC... Type: fissato a 109 per PSK-MIC Length: maggiore di 1 SPI: sotto campo che contiene l algoritmo di cifratura utilizzato per creare il MIC. I valori supportati sono quelli seguenti: 0 non usato 1 HMAC-SHA-1 (RFC 2104) MIC: campo di 20 byte per la verifica dell integrità del messaggio. 5) Join Ack Il pacchetto di riscontro Join è inviato dall access point come riscontro a un pacchetto di risposta di associazione con un campo PSK-MIC valido precedentemente ricevuto dal controllore ed è utilizzato solo quando la comunicazione tra il controllore e il punto di accesso wireless fa uso delle chiavi condivise. I sotto campi inclusi nel campo Message element di questo pacchetto di controllo sono i seguenti: Session ID: già definito in precedenza. WNonce: questo sotto campo contiene la risposta alla sfida del controllore ed è cifrato. Il su o formato è rappresentato dalla figura seguente: Formato: Nonce Nonce Nonce 154
Nonce Type: fissato a 107 per WNonce Length: 16 Nonce: campo codificato su 16 bit che contiene la risposta alla sfida chiamata Random nonce. PSK-MI C: campo già definito in precedenza. 6) Join Confirm Il messaggio di conferma di associazione è mandato dall AC una volta che ha ricevuto il pacchetto di riscontro Join Ack avendo un campo PSK-MIC valido nel caso di una comunicazione in cui si fa uso di una chiave condivisa. Una volta in possesso di questo messaggio, l access point entra nello stato di Join e può fare una richiesta di configurazione Configured Request e una richiesta di immagine dati ( Image Data ) al controllore. Il campo Message element di un pacchetto di Join Confirm presenta i sotto campi seguenti: Session ID: già definito in precedenza. PSK-MIC: già definito in precedenza. 7) Echo Request Questa richiesta non è altro che un meccanismo che permette di mantenere attivo un messaggio di controllo LWAPP. Il pacchetto echo è inviato periodicamente dall access point al controllore durante lo stato detto di funzionamento ( Run State ) questo per determinare lo stato della comunicazione tra il punto di accesso e il controllore. Inoltre questo tipo di messaggio non contiene il campo message element come gli altri pacchetti di controllo LWAPP. 155
8) Echo Response La risposta Echo è inviata dal controllore all access point quando riceve una richiesta echo durante lo stato di funzionamento. Questo pacchetto non contiene il campo message element. 9) Key Update Request Questo pacchetto è utilizzato dal punto di accesso quando è in stato di funzionamento e sta per iniziare la fase di aggiornamento della chiave. Il pacchetto contiene un nuovo ID di sessione. I sotto campi inclusi nel campo Message element di questo pacchetto sono: Session ID: già visto nelle sessioni precedenti. XNonce: già definito in precedenza 10)Key Update Response messaggio di risposta alla richiesta di aggiornamento della chiave ( Key Update Request ) visto in precedenza. Contiene un sotto campo ANonce che contiene la sfida del controllore ed è utilizzato per generare una nuova chiave di sessione. I sotto campi inclusi nel campo Message element di questo pacchetto di controllo sono: Session ID: già visto nelle sessioni precedenti. ANonce: già definito in precedenza. PSK-MIC: già definito nei paragrafi precedenti. 11)Key Update ACK Questo pacchetto è mandato dall AP in corrispondenza alla risposta di aggiornamento della chiave ricevuta dal controllore e contiene la risposta cifrata alla sfida nel campo Nonce. L access point include in questo pacchetto anche un sotto campo PSK-MIC per la verifica dell integrità del pacchetto. I sotto campi presenti nel campo Message element di questo tipo di pacchetto sono: WNonce: già visto nelle sessioni precedenti. 156
PSK-MIC: già definito nei paragrafi precedenti. 11) Key Update Confirm Questo messaggio conclude la fase di aggiornamento della chiave e permette al punto di accesso di sapere se tale aggiornamento è andato a buon fine. L access point aggiorna dunque la chiave di sessione nonché il vettore iniziale associato a questa chiave, da questo momento tutti i messaggi LWAPP che seguiranno saranno cifrati con la nuova chiave. L unico sotto campo incluso nel campo Message element di questo pacchetto è il campo PSK-MIC già descritto nei paragrafi precedenti 12) Key Update Trigger Pacchetto utilizzato dall AC durante il periodo di funzionamento per richiedere che l aggiornamento della chiave di sessione sia fatto dall AP. Infatti, alla ricezione di questo pacchetto, l access point procede a una richiesta di aggiornamento della chiave. L unico campo incluso nel Message element del pacchetto è il campo Session ID. 13) Configure Request Questo pacchetto di richiesta di configurazione viene inviato dal punto di accesso al controllore quando quest ultimo ha ricevuto una risposta di associazione valida e contiene la configurazione corrente dell access point. I sotto campi presenti nel campo Message element di questo pacchetto di controllo sono i seguenti: Administrative State: questo sotto campo è utilizzato per comunicare lo stato di un interfaccia radio dell access point. Il suo formato è il seguente: Formato: Radio ID Admin State Type: 27 per questo campo Length: 2 Radio ID : campo codificato su 8 bit che rappresenta l interfaccia da configurare e comprende il valore 0xff per identificare l access point stesso. 157
Admin State: campo di 8 bit che rappresenta lo stato amministrativo dell interfaccia wireless. Sono accettati i seguenti valori: 1 Enabled (attivo) 2 Disabled (inattivo) AC Name: già definito nei paragrafi precedenti. AC Name with index: questo campo contiene la lista dei controllori preferiti. Formato: Index AC Name... Typ : 90 per l AC name with Index Length: 5 Index : indice dell AC preferito AC Nam : campo che contiene una stringa di carattere in formato ASCII che rappresenta il nome dell AC. AP Board Data: Questo campo è inviato dall AP al controllore e contiene le informazioni sul hardware presente nell access point. Formato: Card ID AP Model AP Model Card Revision IP Address AP Serial Number... Reserved Ethernet MAC Address Ethernet Address MAC Type: 50 158
Lengt: 26 Card ID : identificativo dell hardware. Card Revision : campo di 4 byte per la revisione dell hardware AP Model : il numero del modello dell AP codificato su 8 byte. AP Serial Number: numero seriale dell AP codificato su 24 byte Reserved : campo di 4 byte settato a 0 Ethernet MAC Address : indirizzo MAC dell interfaccia ethernet dell AP. Statistics Timer: campo utilizzato d all AC per informare l AP sulla frequenza in cui riceverà gli aggiornamenti statistici Formato: Statistics Timer Type: 37 Length: 2 Statistics Timer: campo codificato su 16 bit che contiene un numero intero che rappresenta la frequenza in secondi. AP Static IP Address Information: campo che sarà utilizzato dal controllore per configurare oppure cancellare una configurazione di indirizzo IP statico precedente presente nel punto di accesso Formato: IP Address Netmask Gateway Static Type: 82 Length: 13 IP Address: indirizzo IP da assegnare all AP 159
Netmask: la maschera assegnata all AP Gateway: indirizzo IP del gateway Static: un campo di 8 bit che contiene un valore booleano che specifica se l AP deve usare o no un indirizzo statico. Il valore 0 disabilita l IP statico mentre 1 abilita l uso di un IP statico. AP reboot statistics: campo che contiene informazioni sulle ragioni di un riavvio prematuro dell AP. Formato: Crash Count Link Failure Count LWAPP Initiated Count Failure Type Type: 67 Length: 7 Crash Count: numero di riavvii dovuto a un crash dell access point. LWAPP Initiated Count: campo che contiene il numero di riavvio avvenuto nell AP dovuto ad alcune richieste LWAPP. LWAPP Initiated Count: campo che contiene il numero di volte in cui una connessione LWAPP con un controllore ha fallito. Failure Type: l ultimo fallimento dell AP, i valori supportati sono i seguenti: 0 Link Failure 1 LWAPP Initiated 2 AP Crash 14) Configure Response La risposta di configurazione è inviata dal controllore quando riceve una richiesta di configurazione e dà un opportunità al controllore sovrascrivere la configurazione presente sul punto di accesso. I sotto campi presenti nel campo Message Element di questo messaggio di controllo sono elencati come segue: 160
Decryption Error Report Period: Questo sotto campo è impiegato dal controllore per specificare al punto di accesso la frequenza da utilizzare per inviare notizie su i vari messaggi di errore Formato: Radio ID Report Interval Type: 38 Length: 3 Radio ID: campo di 8 bit che contiene l identificativo di un interfaccia wireless dell AP. Report Interval: campo di 16 bit che contiene un intero positivo che rappresenta la frequenza in secondi Change State Event: campo impiegato per comunicare lo stato operazionale di un interfacc ia radio dell access point. I sotto campi inclusi in questo campo sono: F ormato: Radio ID State Cause Type: 26 Length: 3 Radio ID: campo che rappresenta un identificativo dell interfaccia radio. State: sotto campo di 8 bit che contiene un booleano rappresentante lo stato dell interfaccia. Il valore 1 disabilita l interfaccia mentre il valore 2 abilita tale interfaccia. Cause: nel caso in cui, per una ragione o un altra, l interfaccia radio non funzioni, questo campo contiene le ragioni di questo non funzionamento. I valori accettati sono: 0 Normal 1 Radio Failure 2 Software Failure LWAPP Timers: questo sotto campo contiene vari timer da configurare sull AP. 161
Formato: Discovery Echo Request Type: 68 Length: 2 Discovery: campo che contiene il numero di secondi trascorsi tra i vari pacchetti LWAPP di discovery quando l AP si trova nello stato di discovery. Echo Request: campo che contiene il numero di secondi trascorsi tra i vari messaggi Echo LWAPP. AC IPv4 List: già descritto in precedenza AC IPv6 List: già descritto in precedenza AP Fallback: campo inviato dall AC all AP per abilitare o disabilitare automaticamente il processo di Fallback LWAPP (caduta LWAPP) nel caso in cui l AP scoprisse il suo controllore preferito mentre è correntemente associato a un altro controllore. Formato: Mode Type: 91 Length: 1 Mode: campo di 8 bit che indica lo stato automatico della caduta LWAPP. Il valore 0 disabilita le caratteristiche della caduta LWAPP mentre il valore 1 abilita queste caratteristiche. Quando è abilitato, se l access point si rende conto del fatto che non è in quel momento connesso al suo controllore primario mentre il controllore è disponibile, si sconnetterà automaticamente dal controllore corrente per richiedere un associazione con il suo controllore principale mentre, disabilitato, l access point potrà associarsi al suo controllore principale solo tramite un intervento manuale dell amministratore di rete. Idle Timeout: campo inviato dall AC all AP che contiene il timeout d inattività da applicare ai nodi wireless in suo possesso. 162
Formato: Timeout Type: 97 Length: 4 Discovery: il timeout corrente da applicare ai nodi radio. 15) Configuration Update Request Questo pacchetto è inviato dal controllore all access point in stato di funzionamento per modificare oppure aggiornare la configurazione corrente dell access point. I sotto campi presenti nel campo Message element di questo pacchetto sono i seguenti: AP Name: il nome dell access point già visto in precedenza. Change State Event: già visto in precedenza. Administrative State: già visto in precedenza. Statistics Timer: già visto in precedenza. Location Data già visto in precedenza Decryption Error Report Period: già definito in precedenza. AC IPv4 List: già visto in precedenza. AC IPv6 List : già visto in precedenza. Add Blacklist entry: campo che contiene la lista nera dei nodi wireless inviata dall AC al punto di accesso wireless in modo che l access point non fornisca servizi agli indirizzi MAC inclusi nel campo. Formato: Num of Entries MAC Address[] MAC Address[] Type: 65 Length: maggiore di 7 Number of entries: il numero di indirizzi MAC incluso nell Array MAC Address Entry: un Array di indirizzi MAC da aggiungere nella blacklist 163
Deleted Blacklist: campo utilizzato dal controllore per cancellare una blacklist precedente in modo che l access point fornisca di nuovo servizi agli indirizzi MAC inclusi nella lista. Formato: Num of Entries MAC Address[] MAC Address[] Type: 66 Length: maggiore di 7 Number of entries: il numero di indirizzi MAC presenti nell Array MAC Address Entry: un Array di indirizzi MAC da cancellare nella blacklist. Add Static Blacklist: questo campo è incluso nel pacchetto per settare una blacklist permanente sull AP cioè una lista che comprende gli indirizzi MAC dei nodi wireless che non devono in nessuno modo usufruire dei servizi offerti dall AP. Formato: Num of Entries MAC Address[] MAC Address[] Type: 70 Length: maggiore di 7 Number of entries: il numero di indirizzi MAC pre senti nell Array MAC Address Entry: un Array di indirizzi MAC da aggiungere nella blacklist permanente Deleted Static Blacklist: questo pacchetto è utilizzato per cancellare una blacklist permanente presente nell AP per permettere a quest ultimo di fornire di nuovo servizi ai nodi inclusi nella lista. 164
Formato: Num of Entries MAC Address[] MAC Address[] Type: 71 Length: maggiore di 7 Number of entries: il numero di indirizzi MAC presenti nell Array MAC Address Entry: un Array di indirizzi MAC da cancellare dalla blacklist permanente. AP Fallback: già visto in precedenza LWAPP Timers: già visto in precedenza. Idle Timeout: già visto in precedenza. 16) Configuration Update Response Pacchetto di riscontro al messaggio precedente inviato dall access point al controllore. I sotto campi facenti parte del campo Message element di questo pacchetto sono: Result Code: già visto in precedenza. 17) Change State Event Request Pacchetto utilizzato dall AP per informare il controllore di un cambiamento nel suo stato corrente di funzionamento questo nel caso in cui ha ricevuto dal controllore una risposta di aggiornamento che contiene un cambiamento di stato. Il pacchetto è inviato anche nel caso in cui l access point si accorge di un fallimento di collegamento con un nodo radio in suo possesso. Contiene il campo seguente: Change state event: già visto in precedenza. 18) Change State Event Response Pacchetto che contiene una risposta al messaggio precedente. Non contiene nessuno sotto campo. 165
19) Clear Config Indication Questo pacchetto è impiegato dal controllore nello stato di funzionamento per richiedere al punto di accesso di settare di nuovo la sua configurazione a quella iniziale o di default assegnata in fabbrica. Alla ricezione di tale pacchetto, l access point ritorna nella sua configurazione di fabbrica. Non contiene nessuno sotto campo 20) Image Data Request Questo pacchetto serve per l aggiornamento firmware dell access point così da rassicurarsi che il firmare utilizzato dal punto di accesso wireless è quello giusto. Il formato del campo message element di questo pacchetto contiene i sotto campi seguenti: Image Download: questo campo del pacchetto contiene una stringa di carattere che rappresenta il nome del firmware richiesto dall access point. Image Data: questo campo è presente solo in una richiesta fatta dal controllore e contiene i sotto campi seguenti: Formato: Opcode Checksum Image Image Data... Data Type: 33 Length: maggiore di 5 Opcode: campo di 8 bit che rappresenta il codice di trasferimento. I valori accettati per questo campo sono i seguenti: 3 significa che è presente l immagine dati 5 indica un errore di trasferimento. Checksum: campo che contiene il Checksum del firmware incluso nel pacchetto. Image Data: il payload dell immagine dati che contiene 1024 caratteri 166
21) Image Data Response Pacchetto di risposta a una richiesta di aggiornamento firmware. Non contiene sotto campi e non necessita di una risposta da parte del ricevitore del pacchetto. 22) Reset Request Pacchetto utilizzato per riavviare il punto di accesso. Non contiene sotto campi. Alla ricezione di questo pacchetto, l access point risponde con un pacchetto di reset Response e si riavvia immediatamente. 23) Reset Response Pacchetto che contiene la risposta al messaggio precedente ( Reset Request ). Non contiene nessuno sotto campo. Alla ricezione di questo messaggio il controllore diventa sicuro che l access point si è riavviato. 24) AP Event Request Questo pacchetto permette ad un punto di accesso di inviare delle informazioni periodiche al suo controllore, per esempio il punto di accesso può raccogliere le informazioni riguardanti i nodi wireless nel suo possesso ed utilizzare periodicamente questo pacchetto per dare notizie al controllore su queste informazioni. I sotto campi che fanno pa rte del campo message element del pacchetto sono: Decryption Error Report: campo che contiene un rapporto sugli errori di crittografia avvenuti con alcuni nodi mobili connessi all access point. È formato come segue: Formato: Radio ID Type: 39 Num Of Mobile MAC Address Entries Mobile MAC Address[]... Length: maggiore di 8 Radio ID: identificativo relativo a un interfaccia radio dell AP 167
Num Of Entries: campo di 8 bit che indica il numero di indirizzi MAC wireless presenti nel rapporto. Mobile MAC Address: un array di indirizzi MAC che causano l errore. Duplicate IPv4 Address: questo campo è inviato dall access point al controllore per informarlo del fatto che un altra stazione sta utilizzando il suo stesso indirizzo IP ovvero che c è un conflitto di indirizzi IP. Il campo è costituito come segue: Formato: MAC Address IP Address MAC Address Type: 77 Length: 10 IP Address: l indirizzo IP al momento utilizzato dal punto di accesso. MAC Address: l indirizzo MAC della stazione che crea conflitto di indirizzi. Duplicate IPv6 Address: contiene le stesse informazioni del campo precedente però questa volta riferito a un indirizzo IPv6. Formato: MAC Address IP Address IP Address IP Address IP Address MAC Address Type:77 Length: 10 IP Address: l indirizzo IP corrente del punto di accesso. MAC Address: l indirizzo MAC della stazione che crea conflitto. 168
25) AP Event Response Pacchetto di riscontro al messaggio di richiesta precedente (AP Event Request) inviato dal controllore. Non contiene sotto campi nel campo Message element. 26) Data Transfer Request Pacchetto utilizzato dal controllore per scaricare informazioni di debug dall access point. È inviato dal punto di accesso quando questo ha un informazione importante da inviare al suo controllore. Per esempio, dopo un riavvio del punto di accesso dovuto a un crash del sistema, questo pacchetto è impiegato per mandare il file di crash al controllore. I sotto campi inclusi nel campo Message element del pacchetto sono i seguenti: Data Transfer Mode: sotto campo impiegato dal controllore wireless per richiedere informazioni di debug al punto di accesso. Formato: Data Type Type: 52 Length: 1 Data Type: campo su 8 bit che accettati sono i seguenti: 1 AP crash data 2 AP memory dump contiene il tipo di informazione richiesto. I valori Data Transfer Data: campo impiegato dal punto di accesso per dare informazioni di debug al controllore. Formato: Data Type Data Length Data... Type: 53 Length: maggiore di 3 169
Data Type: campo di 8 bit che contiene il tipo di informazione inviato. I valori accettati sono i seguenti: 1 AP crash data 2 AP memory dump Data Length: lunghezza del campo Data Data: informazione di debug inviato 27) Data Transfer Response Pacchetto di riscontro alla domanda precedente. Non contiene sotto campi. 28) Mobile Config Request Questo pacchetto è impiegato dal controllore per creare, cancellare, oppure modificare una sessione con un nodo wireless connesso all access point. I sotto campi che compongono il campo Message element di questo pacchetto sono: Delete Mobile: campo che informa l access point di smettere immediatamente di fornire servizi a una stazione mobile. È composto dai sotto campi seguenti: Formato: Radio ID MAC Address MAC Address Type: 30 Length: 7 Radio ID: campo di 8 bit che rappresenta un identificativo della stazione mobile. MAC Address: campo che contiene l indirizzo MAC del nodo wireless. 29) Mobile Config Response Messaggio di riscontro al pacchetto precedente, comprende solo un campo Result code per indicare l esito della risposta. 5.7.2.1.3 LWAPP e 802.11 170
Per capire meglio i vari pacchetti di controllo LWAPP scambiati tra il controllore e l access point per la gestione dei nodi wireless, rivediamo dove viene trattato il frame 802.11 nel protocollo LWAPP. Infatti il protocollo LWAPP prevede 2 modalità di gestione dei dati 802.11: una in cui le funzionalità del livello MAC 802.11 sono divise tra il controllore e il punto di accesso, e una in cui tutte le funzionalità MAC 802.11 sono eseguite solo a livello del controllore. Architettura Split MAC In questo tipo di architettura, il trattamento del MAC 802.11 tra il controllore e il punto di accesso è presentata nella tabella seguente: Funzione Localizzazione Servizio di AC(access point controllore) distribuzione(distribution AC Service ) AP Servizio di Integrazione AP (Integration Service ) AP Generatore di Beacon ( Beacon AP Generation) AC Risposta di Probe ( Probe Respo nse ) Power Mgmt/Packet Buffering AC Fragmentation/Defragmentation AP/AC Assoc/Disassoc/Reassoc AP 802.11e Classifying Scheduling Queuing AC AC AC oppure AP tabella 19 802.11i 802.1X/EAP Key Management 802.11 Encryption/Decryption 171
La tabella mostra che i servizi di distribuzione e di integrazione risiedono sul controllore, in questo caso, viene creato un tunnel di comunicazione tra il controllore e il punto di accesso in cui vengono inoltrati oppure inviati tutti i dati della stazione mobile. Tutti i servizi tempo reale come per esempio i frame di beacon e di probe ecc.. sono gestiti dall access point mentre l associazione e tutta la sicurezza sono gestiti essenzialmente dal controllore. La figura 102 ne illustra il concetto (la croce rossa significa che il frame è processato a livello dell AP): figura 102 1. l access point, come visto nel capitolo 2, annuncia sulla tratta radio le SSID che conosce tramite i pacchetti di beacon e utilizzando le informazioni contenute nel campo Add Wlan. 2. una volta che riceve una richiesta probe, l AP risponde al probe e inoltra la richiesta al controllore(opzionale). 3. l access point inoltra tutti i pacchetti di autenticazione e di associazione al controllore che è l unico responsabile del trattamento di questi tipi di pacchetti. 172
4. una volta avvenuta l autenticazione e l associazione, il controllore trasmette una richiesta Add Mobile Request al punto di accesso che permette all AP di aggiungere il nodo nel suo database. 5. se l AP prevede servizi di cifratura/decifratura, una volta che il nodo wifi ha finito lo scambio delle chiavi 802.11i, l AC trasmette un'altra richiesta Add Mobile Request che permette di iniziare le policy di sicurezza da applicare per questo nodo insieme alla chiave di cifratura da impiegare. Nel caso in cui i servizi di cifratura/decifratura risiedessero nel controllore, la richiesta Add Mobile request avrebbe la policy di crittografia fissato a clear text. 6. l access point inoltra tutti i frame di azione 802.11 ricevuti dalla stazione mobile al controllore. 7. tutti i frame dati del nodo wifi sono inviati nel tunnel creato tra l AP e l AC e vengono cifrati o decifrati dal punto di accesso solo se specificato nella richiesta Add Mobile Request. Architettura local MAC In un architettura local MAC, la maggiore parte del trattamento del frame MAC 802.11 è fatto a livello dell access point. La tabella seguente mostra la suddivisione del lavoro svolto dal controllore e dal punto di accesso: Funzione Localizzazione Servizio di AP distribuzione(distribution AP Service ) AP Servizio di Integrazione AP (Integration Service ) AP Generatore di Beacon ( Beacon AP Generation) AP Risposta di Probe ( Probe Response ) Power Mgmt/Packet Buffering AP Fragmentation/Defragmentation AP Assoc/Disassoc/Reassoc AP 802.11e 173
Classifying Scheduling Queuing AC AC AP tabella 20 802.11i 802.1X/EAP Key Management 802.11 Encryption/Decryption Questa tabella mostra chiaramente che solo i processi di autenticazione e di gestione delle chiavi di cifratura vengono fatti dal controllore. La figura seguente mostra i vari passi di comunicazione impiegati in questo tipo di architettura. 1. l AP genera il pacchetto di beacon utilizzando le informazioni previste nel campo Add Wlan 2. il punto di accesso processa poi il pacchetto di Probe Request e risponde con un pacchetto di Probe Response 3. l AP inoltra poi i pacchetti di autenticazione e di associazione all AC che si occuperà di rispondere al nodo wifi. 4. una volta che l associazione è andata a buon fine, il controllore invia un pacchetto Add Mobile Request al punto di accesso. 5. tutte le funzioni di scambio delle chiavi 802.1x e 802.11i vengono trattate solo dal controllore. 6. il controllore trasmette un altro pacchetto Add Mobile all AP che contiene la policy di cri ttografia e le chiavi di cifratura da utilizzare. 7. l AP inoltra tutti i dati di azione 802.11 ricevuti all AC 8. il punto di accesso si occupa del trattamento di tutti i frame dati, dei nodi wifi nonché della cifratu ra e decifratura di questi dati. Pacchetti LWAPP scambiati in queste architetture Tutti i pacchetti di trasporto LWAPP hanno in comune questi sotto campi riferiti all 802.11 : 174
A) Campo Status Quando un pacchetto LWAPP viene trasmesso dall AP all AC, questo campo contiene le informazioni sulle risorse radio associate al frame. Per un frame di controllo LWAPP, questo campo è fissato a 0. Il formato di questo campo è rappresentato sulla figura seguente: Formato: RSSI SNR RSSI: campo di 8 bit che contiene la potenza del segnale ricevuto in dbm. SNR: campo di 8 bit che contiene in db il rapporto segnale /rumore del frame 802.11 ricevuto. B) Campo WLAN campo di 16 bit impiegato dal controllore nella trasmissione di un pacchetto dati LWAPP che indica in quale WLAN è associato il frame 802.11 incluso nel pacchetto. Il suo formato è rappresentato nella figura di sotto e comprende solo il sotto campo WLAN ID che indica l identificativo associato alla WLAN Formato: WLAN ID(s) WLAN ID: identificativo della WLAN associato al frame 802.11 Chiarito il ruolo di ogni apparato nel trattamento del frame 802.11 per ogni tipo di architettura, vediamo ora i pacchetti di controllo LWAPP scambiati tra il punto di accesso e il controllore in queste architetture: 30) Mobile Config Request Questo pacchetto è utilizzato dal controllore per configurare una stazione mobile associata a un punto di accesso. I sotto campi che compongono il campo Message element di questo pacchetto di controllo sono: Add Mobile: campo utilizzato dal controllore per informare il punto di accesso di aggiungere un nodo specifico a cui fornirà servizi nel suo database. Inoltre il campo 175
contiene anche i parametri di sicurezza da impiegare per questa stazione wireless. Il campo presenta la struttura seguente: Formato: Radio ID Association ID MAC Address MAC Address MAC E C Encryption Policy Address Encrypt Session Key... Policy Pairwise TSC... Pairwise RSC... 802.11e Mode Capabilities WLAN ID WME Mode Qos Supported Rates Supported Rates VLAN Name... Type 29 Length: 36 Radio ID: campo di 8 bit che rappresenta un identificativo del nodo wireless. Association ID: campo di 16 bit che contiene l identificativo dell associazione 802.11. MAC Address: indirizzo MAC del nodo wireless. E: campo di 1 bit settato dal controllore per informare l access point che non deve accettare frame 802.11 diversi da quello 802.1x. Ogni pacchetto diverso da quello 802.1x trasmesso da un nodo wireless viene scartato dall AP. (vedere il capitolo sulla sicurezza per il funzionamento dell 802.1X) C: campo di 1 bit settato dal controllore per informare il punto di accesso che i servizi di crittografia dati verranno forniti dal controllore Encryption Policy: questo campo informa il punto di accesso su come deve maneggiare i pacchetti provenenti oppure destinati al nodo wireless. I valori accettati sono i seguenti:. 0 - Encrypt WEP 104: tutti i pacchetti destinati o provenenti dal nodo wireless devono essere cifrati con una chiave WEP di 104 bit. 1 - Clear Text: tutti i pacchetti destinati o provenienti dal nodo wireless non devono essere cifrati dal punto di accesso. 176
2 - Encrypt WEP 40: tutti i pacchetti destinati o provenienti dal nodo wireless devono essere cifrati con una chiave WEP standard di 64 bit. 3 - Encrypt WEP 128: tutti i pacchetti destinati o provenienti dal nodo wireless devono essere cifrati con una chiave WEP standard di 128 bit. 4 - Encrypt AES-CCMP 128: tutti i pacchetti destinati o provenienti dal nodo wireless devono essere cifrati con una ch iave di 128 bit utiliz zando l algoritmo AES-CCMP. 5 - Encrypt TKIP-MIC: tutti i pacchetti destinati o provenienti dal nodo wireless devono essere cifrati impiegando l algoritmo TKIP-MIC. Session Key: campo di 32 bit che contiene la chiave di cifratura della sessione che il punto di accesso deve utilizzare per la crittografia dei dati provenienti o destinati alla stazione mobile. Il tipo di chiave è determinato in base al campo Encryption Policy Pairwise TSC: il TSC da utilizzare per i pacchetti unicast trasmessi al nodo wifi. Pairwise RSC: il RSC da ut ilizzare per i pacchetti unicast trasmessi al nodo wifi. Capabilities: campo di 16 bit che contiene le capacità 802.11 da utilizzare con il nodo wireless. WLAN ID : campo di 8 bit che contiene l ID della WLAN. WME Mode: valore booleano di 8 bit utilizzato per sapere se la stazione wifi è WME o no (0 significa che lo è mentre 1 no) 802.11e Mode : booleano di 8 bit che è utilizzato per sapere se il nodo supporta il protocollo 802.11e oppure no (0 no mentre 1 sì). QOS: campo di 8 bit utilizzato per la qualità del servizio Qos da applicare alla stazione wifi. I valori accettati sono i seguenti: 0 - Silver (Best Effort) 1 - Gold (Video) 2 - Platinum (Voice) 3 - Bronze (Background) Supported Rates: campo che indica la velocità da utilizzare con il nodo wireless. VLAN Name: campo opzionale che contiene il nome della VLAN da impiegare dal punto di accesso per i dati del nodo wireless. (valido solo nel caso di una architettura MAC locale). 177
IEEE 802.11 Mobile Session Key: campo utilizzato quando il controllore scopre che i servizi di crittografia devono essere fatti dall access point. Questo campo segue sempre il campo add mobile e non può andare da solo. I sotto campi che lo compongono sono: Formato: MAC Address MAC Address Encryption Policy Encryption Policy Session Key... Type: 105 Length: maggiore di 11 MAC Address:: l indirizzo MAC della stazione mobile. Encryption Policy: campo utilizzato per informare il punto di accesso su come deve trattare i pacchetti provenenti o destinati al nodo wireless, i valori supportati sono i seguenti: 0 - Encrypt WEP 104: tutti i pacchetti destinati o provenienti dal nodo wireless devono essere cifrati con una chiave WEP di 104 bit. 1 - Clear Text: tutti i pacchetti destinati o provenienti dal nodo wireless non devono essere cifrati dal punto di accesso. 2 - Encrypt WEP 40: tutti i pacchetti destinati o provenienti dal nodo wireless devono essere cifrati con una chiave WEP standard di 64 bit. 3 - Encrypt WEP 128: tutti i pacchetti destinati o provenienti dal nodo wireless devono essere cifrati con una chiave WEP standard di 128 bit. 4 - Encrypt AES-CCMP 128: tutti i pacchetti destinati o provenienti dal nodo wireless devono essere cifrati con una chiave di 128 bit utilizzando l algoritmo AES-CCMP. 5 - Encrypt TKIP-MIC: tutti i pacchetti destinati o provenienti dal nodo wireless devono essere cifrati impiegando l algoritmo TKIP-MIC. 178
Session Key: chiave di cifratura della sessione che l access point deve impiegare per la crittografia dei dati della stazione mobile. Station QOS Profile: questo sotto campo contiene il numero massimo di tag di priorità 802.11e da utilizzare dalla stazione wireless. Ogni pacchetto ricevuto con dimensione superiore al valore contenuto in questo campo è sia scartato che taggato con il valore massimo richiesto. Il tag di priorità è compresso tra 0 e 7. I sotto campi inclusi in questo campo sono i seguenti: Formato: MAC Address MAC 802.1P Precedence Tag Address Type: 140 Length: 12 MAC Address: l indirizzo MAC della stazione wireless. 802.1P Precedence Tag: il valore massimo 802.1p precedente da inserire dall access point nel campo TID dell intestazione Qos 802.11e. IEEE 802.11 Update Mobile QoS: campo utilizzato per cambiare la policy della qualità dei servizi sull access point per un nodo particolare. Formato: Radio Association ID MAC Address ID MAC Address MAC QoS Profile Vlan Identifier Address DSCP 802.1P Tag Tag Type: 106 Length: 14 179
Radio ID: identificativo di un interfaccia radio dell access point. Association ID: identificativo dell associazione 802.11 (AID) MAC Address: l indirizzo MAC del nodo wireless. QoS Profile: campo di 8 bit che contiene le regole della QoS da applicare alla stazione senza fili. I valori supportati sono i seguenti: 0 - Silver (Best Effort) 1 - Gold (Video) 2 - Platinum (Voice) 3 - Bronze (Background) VLAN Identifier: la vlan associata alla stazione mobile DSCP Tag: tag DSCP da utilizzare se i pacchetti sono taggati DSCP. 802.1P Tag: tag 802.1p da utilizzare se i pacchetti sono taggati 802.1p. 31) AP Event Request Questo pacchetto come già sottolineato sopra, permette all access point di raccogliere statistiche sui nodi wireless in suo possesso, statistiche che poi verranno inviate al suo controllore. I sotto campi inclusi nel campo Message Element di questo pacchetto sono: IEEE 802.11 Statistics: campo che contiene le statistiche da trasmettere al controllore. È composto dai seguenti sotto campi: Formato: Radio ID Tx Fragment Cnt Mcast Tx Cnt Failed Count Retry Count Multi Retry Cnt Tx Fragment Count Multicast Tx Count Failed Count Retry Count Multiple Retry Count Frame Duplicate Count 180
Frame Dup Cnt RTS Success Cnt RTS Failure Cnt ACK Failure Cnt Rx Fragment Cnt Mcast Rx Cnt FCS Error Cnt Tx Frame Cnt Decryption Errs RTS Success Count RTS Failure Count ACK Failure Count Rx Fragment Count Multicast RX Count FCS Error Count Tx Frame Count Decryption Errors Type: 38 Length: 57 Radi o ID: campo di 8 bit che rappresenta il nodo wireless. Tx Fragment Count: campo di 32 bit che contiene il numero di frammenti trasmessi. Multicast Tx Count: campo di 32 bit che contiene il numero di frame multicast trasmesso. Failed Count: campo di 32 bit che contiene le ritrasmissioni eccessive. Retry Count: campo di 32 bit che contiene il numero delle ritrasmissioni. Multiple Retry Cou nt: campo di 32 bit che contiene il numero di trasmissioni che ha richiesto più di una ritrasmissione. Frame Duplicate C ount: campo di 32 bit che contiene il numero di frame duplicati ricevuto. RTS Success Count: campo di 32 bit che contiene il numero di pacchetti 802.11 RTS trasmessi con successo. RTS Failure C ount: campo di 32 bit che contiene il numero di pacchetti RTS falliti. 181
ACK Failure Count: campo di 32 bit che contiene il numero di ACK falliti. Rx Fragment Count: campo di 32 bit che contiene il numero di frame frammentati ricevuto. Multicast RX Count: campo di 32 bit che contiene il numero di frame multicast ricevuto. F CS Error Count: campo di 32 bit che contiene il numero di FCS falliti. D ecryption Errors: campo di 32 bit che contiene il numero di errori di crittografia fatti sull access point. 32) IEEE 802.11 WLAN Config Request Questo pacchetto è inviato dal controllore all access point per cambiare i servizi forniti dal punto di accesso. Questo pacchetto è anche utilizzato per creare, aggiornare e cancellare una WLAN sull access point. I sotto campi che compongono il campo Message Element di questo pacchetto di controllo sono: IEEE 802.11 Add WLAN: questo campo è utilizzato per definire una WLAN sull access point. Contiene i valori seguenti: Formato: Radio ID WLAN Capability WLAN ID Encryption Policy Key... Key Index Shared Key WPA Data Len WPA IE Data... RSN Data RSN IE Reserved... Len Data... WME WME IE 11e Data 11e IE Data Data Len Data... Len... QoS Auth Type Broadcast Reserved... SSID SSID... Type: 7 Length: maggiore di 298 Radio ID: campo di 8 bit che contiene l identificativo del nodo wireless. 182
WLAN Capability: campo di 16 bit che contiene le capacità da annunciare nei pacchetti di Probe e di Beacon dall access point. WLAN ID: campo di 16 bit che contiene l identificativo della WLAN. Encryption Policy: campo di 32 bit che contiene lo schermo di crittografia da applicare sul traffico destinato o proveniente dal nodo wifi. I valori supportati sono i seguenti: 0 Encrypt WEP 104: tutti i pacchetti destinati o provenienti dal nodo wireless devono essere cifrati con una chiave WEP di 104 bit. 1 Clear Text: tutti i pacchetti destinati o provenienti dal nodo wireless non devono essere cifrati dal punto di accesso. 2 Encrypt WEP 40: tutti i pacchetti destinati o provenienti dal nodo wireless devono essere cifrati con una chiave WEP standard di 64 bit. 3 Encrypt WEP 128: tutti i pacchetti destinati o provenienti dal nodo wireless devono essere cifrati con una chiave WEP standard di 128 bit. 4 Encrypt AES-CCMP 128: tutti i pacchetti destinati o provenienti dal nodo wireless devono essere cifrati con una chiave di 128 bit utilizzando l algoritmo AES-CCMP. 5 Encrypt TKIP-MIC: tutti i pacchetti destinati o provenienti dal nodo wireless devono essere cifrati impiegando l algoritmo TKIP-MIC. 6 Encrypt CKIP: tutti i pacchetti destinati o provenienti dal nodo wireless devono essere cifrati impiegando l algoritmo TKIP della Cisco. Key: campo di 32 byte che contiene la chiave di sessione da utilizzare nello schermo di crittografia. K ey-index: l indice della chiave associata al campo key. Shared Key: booleano di 1 byte che indica se la chiave contenuta nel campo key è una chiave WEP con divisa o no (1 significa che la chiave è condivisa mentre 0 che non lo è). WPA Data Len: contiene la lunghezza del ca mpo WPA IE. WPA IE: campo di 32 byte che contiene le informazioni sulla WPA. RSN Data Len: contiene la lunghezza del campo RSN IE. RSN IE: campo di 64 byte che contiene le informazioni sulla RSN. Reserved: campo di 49 byte riservato e settato a 0. WME Data Len: contiene la lunghezza del campo WME IE. WME IE: campo di 32 byte che contiene le informazioni WME. DOT11E Data Len: contiene la lunghezza del campo DOT11E IE. 183
DOT11E IE: campo di 32 byte che contiene le informazioni 802.11e. QOS: campo di 8 bit che contiene il Qos da applicare al nodo. I valori accettati sono: 0 - Silver (Best Effort) 1 - Gold (Video) 2 - Platinum (Voice) 3 - Bronze (Background) Auth Type: campo di 8 bit che contiene il tipo di autenticazione. I valori supportati sono i seguenti: 0 - Open System 1 - WEP Shared Key 2 - WPA/WPA2 802.1X 3 - WPA/WPA2 PSK Broadcast SSID: booleano che indica se il SSID deve essere inviato in broadcast dal punto di accesso oppure no (0 disabilita il SSID, mentre 1 lo abilità). Reserved: campo di 40 byte riservato. SSID: campo che contiene il SSID utilizzato dal punto di accesso per annunciare la WLAN. IEEE 802.11 Delete WLAN: campo per indicare al punto di accesso di cancellare una WLAN precedentemente definita. I valori inclusi in questo campo sono: Formato: Radio ID WLAN ID Type: 28 Length: 3 Radio ID: campo di 8 bit che contiene l identificativo dell interfaccia radio. WLAN ID: valore di 16 bit che contiene l ID della WLAN da cancellare. IEEE 802.11 Update WLAN: campo utilizzato dal controllore per definire una WLAN sul punto di accesso. I valori inclusi in questo campo sono: 184
Formato: Radio WLAN ID ID Encryption Policy Key... Key Shared Index Key Encrypt Policy Key... WLAN Capability Type: 34 Length: 43 Radio ID: identificativo di un interfaccia del punto di accesso. WLAN ID: valore di 16 bit che rappresenta l ID della WLAN. Encryption Policy: campo di 32 bit che contiene lo schermo di crittografia da applicare al traffico proveniente o destinato al nodo wifi. I valori supportati sono i seguenti: 0 Encrypt WEP 104: tutti i pacchetti destinati o provenienti dal nodo wireless devono essere cifrati con una chiave WEP di 104 bit. 1 Clear Text: tutti i pacchetti destinati o provenienti dal nodo wireless non devono essere cifrati dal punto di accesso. 2 Encrypt WEP 40: tutti i pacchetti destinati o provenienti dal nodo wireless devono essere cifrati con una chiave WEP standard di 64 bit. 3 Encrypt WEP 128: tutti i pacchetti desti nati o provenienti dal nodo wireless devono essere cifrati con una chiave WEP standard di 128 bit. 4 Encrypt AES-CCMP 128: tutti i pacchetti destinati o provenienti dal nodo wireless devono essere cifrati con una chiave di 128 bit utilizzando l algoritmo AES-CCMP. 5 Encrypt TKIP-MIC: tutti i pacchetti destinati o provenienti dal nodo wireless devono essere cifrati impiegando l algoritmo TKIP-MIC. 6 Encrypt CKIP: tutti i pacchetti destinati o provenienti dal nodo wireless devono essere cifrati impiegando l algoritmo TKIP della Cisco. Key: chiave di sessione da impiegare nello schermo di crittografia dei dati. 185
Key-Index: l indice associato alla chiave. Shared Key: booleano che indica se c è l uso di una chiave condivisa. WLAN Capability: capacità da annunciare nei pacchetti di beacon e di probe. 33) IEE E 802.11 WLAN Config Response Questo pacchetto è inviato dal punto di accesso al controllore per rispondere al pacchetto precedente e non contiene il campo Message Element. 34) IEE E 802.11 AP Event Pacchetto inviato dal punto di accesso wireless al suo controllore che contiene rapporti sugli eventi asincroni. Non ci sono messaggi di riscontro per questi tipi di pacchetti. I campi inclusi nel campo Message Element di questo tipo di pacchetto di controllo sono: IEEE 802.11 MIC Countermeasures: campo che indica la causa del fallimento della MIC. Contiene i campi seguenti: F ormato: Radio WLAN MAC ID ID Address MAC Address Type: 61 Length: 8 Radio ID: ID di un interfaccia radio del punto di accesso. WLAN ID: l ID della WLAN in cui è avvenuto il fallimento della MIC. MAC Address: l indirizzo MAC del nodo wireless causa del fallimento. IEEE 802.11 WTP Radio Fail Alarm Indication: campo che contiene informazioni sul fallimento di un interfaccia radio. Formato: Radio ID Type Status Pad 186
Type: 95 Length: 4 Radio ID: identificativo dell interfaccia radio. Type: campo che contiene il tipo di fallimento radio. I valori accettati sono: 1 Receiver 2 Transmitter Status: booleano che dà un idea sullo stato del fallimento dell interfaccia radio (0=cancellato, 1=rimandato) Pad: campo riservato settato a 0. Descrizione di alcuni sotto campi comuni presenti rispettivamente nei pacchetti di Configuration Request, Configuration Response, Configuration Update e Add Mobile : IEEE 802.11 WTP WLAN Radio Configuration: campo utilizzato dal controllore wireless per configurare un interfaccia radio dell access point. Contiene i sotto campi seguenti: Formato: Radio ID Reserved Occupancy Limit CFP Per CFP Maximum BSS ID Duration BSS ID BSS ID Beacon Period WPA IE Data... RSN Data RSN IE DTIM Per Len Data... Country String Num Of BSSIDs Type: 8 Length: 20 Radio ID: identificativo de ll interfaccia Radio dell access point da configurare. Reserved: campo riservato settato a zero. 187
Occupancy Limit: campo che contiene il tempo massimo da impiegare per l algoritmo PCF per controllare l uso del canale di trasmissione. CFP Period: campo che contiene il numero di intervalli DTIM dall inizio della CFP. CFP Maximum Duration: campo che contiene la durata massima della CFP generata dalla DCF. BSSID: l indirizzo MAC dell interfaccia radio della WLAN. Beacon Period: campo che contiene l intervallo del beacon. DTIM Period: campo che contiene il numero di intervallo di beacon trascorso tra due frame di beacon che contengono un campo TIM con il sotto campo DTIM settato a 0. Country Code: campo utilizzato per specificare il paese in cui la stazione radio è in attività. I due primi byte di questa stringa sono riservati al codice del paese come descritto nel documento ISO/IEC 3166-1, mentre il terzo byte deve essere settato a uno dei valori seguenti: a) uno spazio in codice ASCII se la regolazione nel paese in cui la stazione è in attività riguarda tutta la regione. b) Un carattere ASCII O se la regolazione nel paese tratta solo degli ambienti esterni. c) Un carattere ASCII I se la regolazione nel paese tratta solo degli ambienti interni. Number of BSSIDs: numero massimo di BSSID supportato dal punto di accesso. IEEE 802.11 Rate Set: campo che contiene la velocità operazionale supportata. Formato: Radio ID Rate Set Type: 16 Length: 4 Radio ID: identificativo di 8 bit che rappresenta l interfaccia radio da configurare. Rat e Set: velocità che il punto di accesso deve annunciare nei pacchetti di beacon e di probe. IEEE 802.11 Multi-domain Capability: campo che contiene i limiti normativi inviati dal controllore all access point. 188
Formato: Radio ID Reserved First Channel # Number of Max Tx Power Level Channels Type:10 Length: 8 Radio ID: identificativo dell interfaccia radio. Reserved: campo riservato settato a zero. First Channel #: campo che contiene il valore più basso del canale nella sotto banda del paese in cui sta operando la stazione. Number of Channels: campo che contiene il valore del numero totale di canali allocati nella sotto banda di frequenza del paese compreso nel sotto campo String Country. Max Tx Power Level: campo che contiene la potenza massima di trasmissione (in dbm) allocata nella sotto banda del paese compreso nel sotto campo String Country. IEEE 802.11 MAC Operation: campo impiegato dal controllore per settare i parametri del MAC 802.11 sull access point. I valori inclusi in questo campo sono: Formato: Radio ID Reserved RTS Threshold Short Retry Long Retry Fragmentation Threshold BSS ID Tx MSDU Lifetime Rx MSDU Lifetime Type: 11 Length: 16 Radio ID: identificativo dell interfaccia radio da configurare. 189
Reserved: campo riservato settato a zero. RTS Threshold: questo campo contiene un indicazione sul numero di byte compreso nel MPDU al di sopra del quale l access point non deve trattare i pacchetti RTS/CTS. Short Retry: campo che contiene il numero massimo di tentativi di ritrasmissione di un frame con lunghezza minore o uguale al valore RTSThreshold. Long Retry: campo che contiene il numero massimo di tentativi di ritrasmissione di un frame con lunghezza maggiore al valore dot11rtsthreshold. Fragmentation Threshold: campo che contiene la dimensione massima corrente in byte della MPDU che deve essere inviata a livello fisico. Tx MSDU Lifetime: contiene il tempo trascorso dopo l inizio della trasmissione di un pacchetto MSDU per cui ogni tentativo di ritrasmissione viene impedito. Rx MSDU Lifetime: campo che contiene il tempo trascorso dall inizio della ricezione di un pacchetto MMPDU o MSDU per cui ogni tentativo di riassemblaggio dei due pacchetti è impedito. IEEE 802.11 Tx Power: campo bidirezionale, nel senso che quando viene inviato dall access point contiene il livello di potenza corrente di quest ultimo mentre quando viene inviato dal controllore contiene il livello di potenza che l access point deve rispettare. Contiene i sotto campi seguenti: Formato: Radio Reserved Current Tx ID Power Type: 12 Length: 4 Radio ID: identificativo di 8 bit che rappresenta un interfaccia radio dell access point. reserved: campo riservato, deve essere settato a 0. Current Tx Power: contiene il livello di potenza attuale in mw. IEEE 802.11 Tx Power Level: campo inviato dall access point che contiene tutti i livelli di potenza da lui supportati. Comprende i sotto campi seguenti: 190
Formato: Radio ID Num Power Level Levels [n] Type: 13 Length: maggiore 4 Radio ID: identificativo di un interfaccia radio dell access point. Num Levels: il numero del livello di potenza. Power Level: vettore che contiene ogni livello di potenza supportato in mw. IEEE 802.11 Direct Sequence Control: campo bidirezionale poiché quando viene inviato dall access point contiene lo stato corrente del punto di accesso mentre inviato dal controllore, l access point deve aderire allo stato presente nel campo. Questo campo è impiegato solo nella tecnologia 802.11b. e comprende i seguenti campi: Formato: Radio ID Reserved First Channel # Number of Max Tx Power Level Channels Type: 14 Length: 8 Radio ID: identificativo di un interfaccia radio del punto di accesso. Reserved: campo riservato settato a 0 Current Channel: questo campo contiene la frequenza operativa corrente utilizzata dal livello fisico DSSS. Current CCA: contiene il CCA corrente e può assumere uno dei valori seguenti: 1 energy detect only (edonly) 2 carrier sense only (csonly) 4 carrier sense and energy detect (edandcs) 8 carrier sense with timer (cswithtimer) 16 high rate carrier sense and energy detect (hrcsanded) 191
Energy Detect Threshold: campo che contiene la soglia di energia correntemente impiegata dal livello fisico DSSS. IEEE 802.11 OFDM Control: campo bidirezionale nel senso che contiene lo stato corrente dell access point quando viene inviato da lui, mentre contiene lo stato da adottare dall access point quando è inviato dal controllore. Il campo è presente solo per la tecnologia 802.11a. Formato: Radio ID Reserved First Channel # Number of Max Tx Power Level Channels Type: 15 Length: 8 Radio ID: identificativo di un interfaccia radio dell access point. Reserved: campo riservato settato ad 0 Current Channel: questo campo contiene la frequenza operativa corrente utilizzata dal livello fisico OFDM. Band Supported: campo che contiene la capacità del livello fisico OFDM a operare nelle 3 sotto bande e può assumere uno dei seguenti valori: bit 0 capacità di operare nella banda U-NII (5.15-5.25 GHz) noto come Lower Band bit 1 capacità di operare nella banda U-NII (5.25-5.35 GHz) noto come middle band bit 2 capacità di operare nella banda U-NII (5.725-5.825 GHz) noto come upper Band TI Threshold: campo che contiene la soglia utilizzata per determinare che il canale radio è occupato. IEEE 802.11 Antenna: questo campo è inviato dall access point per fornire informazioni sulle antenne che possiede. Il controllore utilizza queste informazioni per configurare le antenne presenti sull access point. 192
Formato: Radio ID Diversity Combiner Antenna Cnt Antenna Selection [0..N] Type: 41 Length: maggiore di 8 Radio ID: identificativo di un interfaccia del punto di accesso. Diversity: campo di 8 bit utilizzato per specificare se l antenna prevede diversità in ricezione. I valori possibili assunti da questo campo sono: 0 Disable 1 Enable Combiner: campo codificato su 8 bit che contiene una selezione combinata e può prendere uno dei valori seguenti: 1 - Sectorized (Left) 2 - Sectorized (Right) 3 Omni 4 Mimo Antenna Count: campo di 8 bit che contiene il numero di antenne presenti nel campo Antenna Selection. Antenna Selection: può assumere uno dei valori seguenti: 1 - Internal Antenna 2 - External Antenna IEEE 802.11 Supported Rates: campo che contiene le velocità supportate dall access point. Contiene i sotto campi seguenti: F ormato: Radio Supported Rates ID Type: 16 193
Length:4 Radio ID: identificativo di 8 bit di un interfacci a radio dell access point. Supported Rates: campo che contiene le velocità supportate dagli hardware del punto di accesso. IEEE 802.11 CFP Status: campo utilizzato per la configurazione della CFP. Formato: Radio ID Status Type: 48 Length:2 Radio ID: identificativo di un interfaccia radio del punto di accesso. Status: booleano di 8 bit che contiene lo stato della CFP (1 abilitato, 0 disabilitato). IEEE 802.11 AP Mode and Type: campo utilizzato per configurare l access point in maniera che funzioni in un modo specifico: Mode Type Type: 54 Length: 2 Mode: campo di 8 bit che contiene il tipo di informazione inviato. I valori accettati sono: 0 split MAC 1 local MAC Type: campo non ancora utilizzato. IEEE 802.11 Broadcast Probe Mode: campo che indica all access point se deve rispondere ai pacchetti probe con SSID vuoto. Formato: Status Type: 51 Length:1 194
Status: booleano di 8 bit per indicare se il punto di accesso deve rispondere a un pacchetto di probe con SSID settato a NULL. (0=disabilita, 1=abilitata). IEEE 802.11 AP Quality of Service: campo che contiene le informazioni sulla configurazione della QOS da applicare all access point. L intestazione di questo campo comprende i sotto campi seguenti: Formato: Radio ID Tag Packets Type: 57 Length: 12 Radio ID: identificativo di 8 bit di un interfaccia radio dell access point. Tag Packets: valore che indica se i pacchetti LWAPP devono essere taggati motivi di QOS. I valori supportati sono i seguenti: 0 Untagged 1 802.1P 2 DSCP Dopo l intestazione segue una struttura di dati organizzata come segue: Formato: Radio Diversity Combiner Antenna ID Cnt Antenna Selection [0..N] per Queue Depth: numero di pacchetti nella coda di trasmissione della QOS. CWMin: il valore minimo della Contention Windows nella coda di trasmissione della QOS. CWMax: il valore massimo della Contention Windows nella coda di trasmissione della QOS. AIFS (Arbitr ation Inter Frame Spacing : campo che contiene l AIFS utilizzato dalla QOS. CBR ( Constant Bitrate ): campo che contiene la CBR impiegata per la QOS. Dot1P Tag: utilizzato nel caso in cui il pacchetto è taggato 802.1p. DSCP Tag: utilizzato nel caso in cui il pacchetto è taggato DSCP. 195
IEEE 802.11 MIC Error Report From Mobile: campo inviato dal controllore al punto di accesso quando riceve notifiche sul fallimento della MIC tramite il campo Error Bit del frame EAPOL-Key. Formato: Radio ID Client MAC Address WLAN ID Client MAC Address BSSID BSSID Type: 79 Length: 14 Client MAC Address: l indirizzo MAC della stazione wifi che ha riportato il fallimento della MIC. BSSID: la BSSID a cui l errore MIC è riportato. Radio ID: identificativo di un interfaccia radio dell access point. WLAN ID: l ID della WLAN coinvolto nell errore. 5.8 Conclusione In questo capitolo è stato presentato il funzionamento del protocollo LWAPP nonché una descrizione abbastanza approfondita dei pacchetti LWAPP scambiati tra il controllore e l access point. Nel capitolo successivo presentiamo un esempio pratico di una rete wireless in cui viene impiegato il protocollo LWAPP: la rete del palio di siena. 196
Capitolo 6 Esempio di configurazione degli apparati Cisco (WLC 4400 ed AP 1131) impiegati in una rete wirele ss Cisco Unified : caso della rete wireless de l palio di Siena. In questo capitolo si studiano le configurazioni di base degli apparati Cisco impiegati in una rete Cisco Unified (UWN) cioè la configurazione del controllore wireless Cisco (WLC). Nel nostro esempio si tratta del controllore della serie 4400 e della configurazione del leightweight access point (LAP) della serie 1131. Questi due apparati infatti supportano il protocollo LWAPP. Proveremo nelle nostre configurazioni di chiarire attraverso il sistema operativo IOS della Cisco il funzionamento del protocollo LWAPP in una rete wireless. Lo stage da me svolto presso il QIT era basato sugli apparati di questa serie, pertanto la mia scelta di approfondire l argomento non è stata casuale ma guidata dal lavoro svolto. Questi apparati propongono una soluzione ottima per la copertura intera della rete wireless universitaria in quanto un controllore 4400 è in grado di gestire un centinaio di LAP 1131 perciò nel centro stella di edificio di ogni facoltà dell ateneo veniva piazzato un WLC 4400. L esempio di configurazione considerato in questo lavoro riguarda la rete wireless per la copertura del palio di Siena in quanto questa rete fa parte della rete universitaria o meglio è una sotto rete della rete universitaria. I primi passi delle configurazioni delle WLC e degli access point Cisco coinvolti nella rete wifi dell ateneo sono stati fatti su questa sotto rete perché impiega solo una decina di access point di cui 2 non gestibili dal controllore che serviva solo a fare un bridge per aumentare la copertura wifi del palio di Siena. Prima di descrivere i vari componenti impiegati nella rete del palio, presentiamo nei paragrafi seguenti le architetture proposte dalla Cisco nonché una descrizione delle caratteristiche del controllore 4400 e degli AP 1131. 197
6.1 Architettura Cisco UWN con un unico controllore Questo tipo di architettura impiega un solo controllore che gestisce contemporaneamente più access point, questa è, per esempio, l architettura utilizzata in ogni facoltà dell ateneo. La figura 103 presenta una tale architettura: figura 103 Il controllore 4400 in questa architettura è in grado di scoprire e di configurare automaticamente tutti gli access point leggeri (LAP) via via che vengono aggiunti alla rete. Inoltre il controllore ha il controllo totale degli access point e può gestire fino a 16 WLAN. I punti di accesso sono collegati al controllore tramite la rete (switch, router ecc..). È possibile configurare gli apparati di rete in cui sono collegati gli access point in modo che forniscano energia a quest ultimi. 6.2 Architettura Cisco UWN Multi controllore Questo tipo di architettura impiega contemporaneamente più controllori e ogni controllore può gestire simultaneamente più access point. È una architettura che ha una struttura a forma di albero alla cui radice si trova un super controllore chiamato WCS (Wireless Control System) che gestisce tutti i controllori generalmente presenti nei vari centri stella degli edifici. Il WCS è situato nel centro stella del comprensorio. Per esempio, nel caso dell università di Siena, come già sottolineato, in ogni facoltà (campus) c è un controllore Cisco 4400, la gestione di questi controllori viene fatta su un WCS Cisco piazzato nel Centro di Calcolo Universitario (Qit) che può essere visto come il centro stella del comprensorio perché da lì parte un collegamento in fibra sulla 198
WAN della rete GARR che è il fornitore di servizio delle reti universitari. Sempre dal Centro di Calcolo parte un collegamento in fibra per ogni centro stella di edificio di ogni facoltà dove vengono piazzati i controllori, questi a loro volta forniscono servizi ai vari access point distribuiti in tutti i piani attraverso degli armadi di piano connessi tra di loro tramite un collegamento in gigabit. Un armadio di piano funge da centro stella di piano ed è connesso in fibra all armadio di centro stella dell edificio dove si trova il controllore. Cisco impiega il protocollo SNMP per la comunicazione tra il WCS e i controllori, mentre i controllori comunicano con gli access point tramite il protocollo LWAPP. La figura 104 presenta un architettura multi controllore: figura 104 In questo tipo di architettura, il WCS è in grado di scoprire e configurare i parametri radio dei controllori via via che si aggiungono alla rete. Inoltre questo tipo di architettura permette di gestire facilmente il roaming layer 2 e layer 3 ovviamente nel caso in cui ci sia più di un controllore nello stesso edificio. 199
6.3 Presentazione del WLC Cisco 4400 I controllori Cisco della serie 4400 offrono un livello alto di performance per la copertura wireless nelle grandi aziende. In più questi controllori forniscono servizi wireless sull infrastruttura ethernet o IP già esistenti in modo da proteggere gli investimenti già presenti sulla rete aziendale e fornendo così un servizio wireless di qualità. Il controllore Cisco 4400 (figura di sotto) fornisce servizi di sicurezza wireless, di scoperta delle intrusioni, di gestione radio, la qualità di servizio(qos) e servizi di mobilità. figura 105 Nella serie dei controllori Cisco 4400 ci sono due tipi di controllori, quelli della serie 4402 con due porte di distribuzione in gigabit, e quelli della serie 4404 con quattro porte in gigabit. Ogni porta è in grado di gestire circa 50 access point, ma Cisco raccomanda un numero non superiore a 25 access point così da gestire meglio la bande passanti. Il controllore contiene due tipi di memorie: una memoria RAM che contiene la configurazione corrente e attiva del controllore, e una memoria non volatile NVRAM che contiene la configurazione utilizzata dal controllore quando si accende, come conseguenza il salvataggio di una configurazione del controllore viene scritta su un file di testo nella memoria NVRAM. Un concetto fondamentale da capire sui controllori Cisco è quello di interfaccia e di porte, infatti, il layout del front panel del controllore Cisco 4400 si presenta com e in figura: figura 106 200
Distribution System Ports: sono porte in gigabit che permettono di collegare fisicamente il controllore alla rete, per esempio a uno switch. Questa serie di controllori, come già detto in precedenza, ha un massimo di 4 porte in gigabit che possono supportare i moduli seguenti : SFP 1000BASE-SX: modulo che prevede una velocità di 1000Mbps su una fibra ottica(850 nm)con connettore LC. SFP 1000BASE-LX: modulo che prevede una velocità di 1000Mbps su fibra (1300nM) con connettore LC. SFP 1000BASE-T: modulo che prevede una velocità di 1000Mbps su cavo in rame con connettore RJ-45 Il collegamento tra il controllore e lo switch attraverso queste porte deve essere un collegamento in trunk in modo da fare passare più VLAN, la porta dello switch in cui è collegato il controllore deve dunque essere configurata in trunk. Si possono connettere contemporaneamente più porte di distribuzione allo switch in modo da prevedere altri collegamenti di backup nel caso in cui il collegamento principale fallisse, infatti la configurazione di ogni interfaccia prevede di specificare la porta fisica a cui è associata l interfaccia. Con il controllore Cisco 4400 è possibile fare un Link Aggregation (LAG) ossia raggruppare tutte le porte di distribuzione del controllore in un singolo canale. Service Port : questa porta ethernet configurata tramite l interfaccia Service port del controllore è utilizzata per il management del controllore nel caso in cui fallisse la connessione alla LAN. È l unica porta attiva quando il controllore è nello stato di riavvio. Inoltre questa porta non supporta il protocollo 802.1Q. Serial Console Port: questa è una porta seriale utilizzata per la connessione tramite un programma hyperterminale che permette di accedere alla riga di comando (CLI) del controllore, infatti il controllore, come tutti gli apparati Cisco, è dotato di un sistema operativo della Cisco (IOS), maneggiabile soprattutto in riga di comando benché ci sia anche la possibilità di interagire con il controllore tramite un interfaccia web. 201
6.3.1 Nozione di Interfaccia sui controllori Cisco Un interfaccia è una entità logica sul controllore a cui è associato un insieme di parametri come per esempio un indirizzo IP, un gateway di default per la sotto rete, una porta fisica primaria, una porta fisica secondaria, un identificativo di VLAN, e un server DHCP. Attualmente sono previsti su questo tipo di controllore 5 tipi di interfacce di cui 4 statici che vengono configurati al setup del controllore: Management Interface: tutti i pacchetti di comunicazione con il controllore avvengono tramite questa interfaccia che è impiegata per scambiare i pacchetti LWAPP tra il controllore ed il punto di accesso wireless. È l unica interfaccia pingabile del controllore, viene anche utilizzata per l accesso all interfaccia web del controllore. Deve essere associata alla porta di distribuzione numero 1 oppure può essere mappata su una porta di backup inoltre può essere assegnata a una WLAN se necessario. Cisco raccomanda di mettere insieme nella stessa VLAN l interfaccia di management e l interfaccia AP-Manager (che vedremo in seguito). Per una comunicazione LWAPP di livello 2, l interfaccia di management serve per il controllo del traffico tra controllori e per il controllo di tutte le comunicazioni tra il controllore e gli access point. Quando invece è impiegata una comunicazione LWAPP layer 3, il controllore richiede un interfaccia di management per le comunicazioni tra controllori e un interfaccia AP- Manager per le comunicazioni tra il controllore e gli access point. AP-Manager Interface: un controllore ha una o più interfacce AP-Manager che sono utilizzate solo per le comunicazioni LWAPP layer 3 tra il controllore e gli access point. L indirizzo IP di quest interfaccia è impiegato come indirizzo sorgente dei pacchetti LWAPP trasmessi dal controllore agli access point e l indirizzo di destinazione per i pacchetti dal LAP al controllore. Virtual Interface: è un interfaccia virtuale che viene utilizzata per la gestione della mobilità, per il DHCP server delle stazioni mobili e per la sicurezza layer 3 tramite una autenticazione via pagina web (captive portal). Service Port Interface: quest interfaccia è automaticamente mappata dal sistema alla porta fisica Service Port. L indirizzo IP presente su quest interfaccia deve essere diverso da quello dell interfaccia di management, di AP-Manager e di tutte le interfacce dinamiche. 202
Dynamic Interface: queste interfacce vengono create dall amministratore di rete e possono essere viste come le VLAN nella rete wireless. Un controllore è in grado di supportare un numero massimo di 512 interfacce dinamiche. Ogni interfaccia dinamica controlla la VLAN e le comunicazioni tra il controllore e le altre periferiche nella network e ognuno funge da DHCP server per i clienti wireless associati alla WLAN mappata su quest interfaccia. Tutte le interfacce dinamiche devono essere in sotto reti o in VLAN diverse. WLAN: una WLAN associa un SSID ad un interfaccia ed è utilizzata per configurare la sicurezza, la qualità di servizio ecc.. Un controllore supporta fino a un numero massimo di 16 WLAN. La figura 107 riassume le relazioni tra le porte e le interfacce del controllore: figura 107 Come mostra la figura, una WLAN è mappata a una e una sola interfaccia dinamica (VLAN) che è a sua volta associata a una porta di distribuzione e deve essere in una 203
VLAN diversa dalle altre interfacce. L interfaccia virtuale non è associata a nessuna porta e non viene mappata a una WLAN. Le interfacce di management e AP-Manager devono essere nella stessa sotto rete o VLAN e vengono mappate a una porta di distribuzione. L interfaccia Service-Port è impiegata solo per configurare la porta chiamata Service Port che è utilizzata soprattutto nel caso in cui il controllore non è più raggiungibile dalla LAN tramite l interfaccia di management. La porta di servizio in cui passano tutte le VLAN deve essere una porta in trunk e di conseguenza la porta dello switch a cui è connessa deve essere taggata in modo da far passare tutte le VLAN configurate nelle interfacce dinamiche del controllore. Queste VLAN inoltre devono essere già presenti sulla LAN. 6.3.2 Caratteristiche tecniche WLC 4400: Norme Senza Fili Supportate : 802.11a/b/g/d/h Protocollo Dati : UDP, TCP, IP, ICMP, ARP, CIDR, BOOTP, DHCP Norme di Sicurezza: Wifi-Protected Access (WPA), 802.11i (WPA 2, RSM), MD5, ESP-3DES, HMAC, TLS V1.0, Security Architecture for the Internet Protocol, HMAC- MD5-96, HMAC-SHA-1-96, ESP DES-CBC, IPSec, ISAKMP, IKE, X.509 PKI. Crittografia : WEP, TKIP-MIC, SSL, TLS, RSA (1024 e 2048 bit), AES (CCM, CCMP), IPSec(DES-CBC, 3DES, AES-CBC). AAA: 802.1X, PPP EAP-TLS, Radius (Authentification, Accounting, Tunnel Accounting, and Extensions), Autenticazione Web Gestione: SNMP (V1, V2c, V3), Telnet, MIB 2, SNTP, HTTP, Syslog, MIB privato CISCO. Interfaccia di Gestione: WEB (HTTP, HTTPS), Telnet, SSH, Porta seriale 6.4 Caratteristiche dell AP Cisco 1131 L access point rappresentato nella figura seguente fa parte dell ultima generazione della famiglia degli access point Cisco ed è chiamato access point leggero (LAP) in quanto non può essere attivo senza la presenza del controllore. Inoltre offre tutte le funzionalità attuali sul mercato a un prezzo relativamente basso e questo grazie al protocollo LWAPP. 204
L AP 1131 ha un bitrate di circa 108Mbps e può essere configurato in modo H-REAP (che verrà visto in seguito) così da rispondere a tutte le richieste imposte dalle reti senza fili. AP Cisco 1131 figura 108 6.4.1 Caratteristiche tecniche AP 1131: Norme Senza Fili Supportati: 802.11a/b/g Uplink: 802.3 10/100BASE-T Ethernet. Norme di Sicurezza: Wifi-Protected Access (WPA), 802.11i (WPA 2, RSM), MD5, ESP-3DES, HMAC, TLS V1.0, Security Architecture for the Internet Protocol, HMAC- MD5-96, HMAC-SHA-1-96, ESP DES-CBC, IPSec, ISAKMP, IKE, X.509 PKI. Crittografia : WEP, TKIP-MIC, SSL, TLS, RSA (1024 e 2048 bit), AES (CCM, CCMP), IPSec(DES-CBC, 3DES, AES-CBC). Autenticazione : 802.1x 6.5 Alcune Considerazioni Importanti nella Rete wireless Cisco Wireless Unified Come detto all inizio del capitolo precedente, il protocollo LWAPP specifica due modi in cui un LAP deve operare: split MAC: in questo modo il sistema divide le funzionalità chiave del protocollo 802.11 tra il controllore e l access point ossia il controllore non è solo responsabile del trattamento dei dati 802.11, come per esempio, l associazione e l autenticazione 802.11, ma è anche l unico punto d ingresso e di uscita per il traffico dati dei clienti wireless. Nel modo split MAC avviene la creazione di un tunnel LWAPP per la trasmissione del traffico dati del cliente wifi. 205
Local Mac: in questo modo tutte le funzionalità 802.11 vengono fatte localmente sull access point. Soluzione ottima per piccole aziende per non impiegare un controllore in più nel caso in cui ci fosse un ramo dell azienda che si trova a grande distanza dal posto in cui è piazzato il controllore. Ogni access point LWAPP supporta il modo split Mac generalmente chiamato Local Mode nell interfaccia di configurazione del controllore. Cisco ha ultimamente introdotto il caratteristico H-REAP (Hybrid Remote-Edge Access Point) supportato solo dagli AP 1131 e 1242 e dai controllori della versione 4.0. Questa caratteristica permette di fare una mescolanza dei due modi split Mac e Local Mac LWAPP visti in precedenza. Il traffico dati del cliente wireless in questo contesto può essere trattato sia localmente sull access point sia processato dal controllore. Il beneficio sta nel fatto che nel caso di non funzionamento del controllore i clienti già agganciati all access point possono continuare a usufruire dei servizi della rete, mentre un nuovo cliente wireless non si può registrare presso l access point finché il controllore non sia attivo. Quando un cliente wireless si connette a un AP con caratteristiche H-REAP, l access point inoltra tutti i pacchetti di autenticazione al controllore, una volta che l autenticazione è andata a buon fine, i pacchetti dati del cliente possono essere sia trattati localmente dall AP, sia trasmessi al controllore che sarà il responsabile del trattamento. Tutto dipende dalla configurazione della WLAN a cui il cliente è associato. In questo contesto una WLAN nel modo H-REAP può essere configurata in modo da trovarsi in una delle situazioni seguenti: Central Authentication, Central Switching: in questa situazione l access point per questa WLAN deve inviare tutti i pacchetti di autenticazione e tutti i pacchetti dati della stazione wireless al controllore. Nel caso in cui il controllore non è più raggiungibile nella rete, tutti i clienti wireless associati a questa WLAN non possono più accedere ai servizi forniti dalla rete. Central Authentication, Local Switching: in questa situazione il controllore si occupa del trattamento dei pacchetti di autenticazione del cliente wireless mentre l access point si occupa del trattamento di tutti i pacchetti dati dell utente. Dunque una volta autenticato il cliente, può continuare a usufruire dei servizi della rete anche se il controllore non è più raggiungibile, mentre i clienti non ancora autentificati su questa 206
WLAN, non potranno accedere alla rete fino a quando il controllore non sarà di nuovo raggiungibile. Local Authentication, Local Switching: in questa situazione sia l autenticazione che il trattamento dei dati del cliente vengono fatti localmente dall AP H-REAP. Ogni nuovo cliente è in grado di agganciarsi alla rete anche in assenza del controllore. Un'altra considerazione importantissima da fare è sull opzione chiamata DHCP option 43. La RFC 2132 definisce due opzioni DHCP che sono proprie di ogni costruttore: l opzione 60 e 43. L opzione 60 chiamata VCI (Vendor Class Identifier) è un identificativo del venditore. Il VCI è una stringa che definisce in modo univoco il venditore dell apparato, quest opzione è inclusa nei pacchetti DHCP Discover inviati in broadcast da una stazione o dall AP quando sta facendo una richiesta di indirizzo IP. Quando il server DHCP vede un VCI valido da un messaggio DHCP Discover rimanda nel pacchetto DHCP offer le informazioni che riguardano il venditore, queste informazioni vengono chiamate option 43 infatti tramite questa opzione, il server DHCP fornisce l indirizzo IP dell interfaccia di management di uno o più controllori con cui l access point si può associare. Questo facilita la scoperta del controllore da parte del LAP in quanto l access point non avrà più bisogno di mandare in broadcast un pacchetto LWAPP Discovery Request. Il concetto è semplice, quando l access point accede per la prima volta alla rete fa una richiesta di indirizzo IP a un server DHCP presente nella rete, una volta in possesso di tale indirizzo, segue una richiesta LWAPP di Discovery Request mandata in broadcast per scoprire un controllore. Un server DHCP configurato con l opzione 43 della cisco funziona in modo diverso, oltre all assegnazione di un indirizzo IP ad un access point che ne ha fatto la richiesta, il server DHCP nel pacchetto di risposta che contiene l indirizzo IP assegnato include anche l indirizzo IP di uno o più controllori, così l access point non farà più una richiesta di discovery ma richiederà direttamente l associazione al controllore. Questo meccanismo permette di ridurre il traffico sulla rete e facilita in qualche modo la scoperta del controllore dal punto di accesso. Dopo aver chiarito questi vari concetti fondamentali sugli apparati impiegati in una rete Cisco wireless unified (UWN) proviamo ora a vedere, con un esempio pratico, la configurazione di base di questi apparati. La figura 109 presenta la rete wireless del 207
palio di Siena che è la prima rete dell ateneo dove si è impiantata la soluzione UWN della Cisco: figura 109 Come si può vedere dalla figura, l obiettivo era quello di realizzare una rete wireless in grado di coprire tutta la piazza del campo fino a via di città. Questa rete wireless ha come backbone la rete cablata del rettorato che a sua volta è collegata alla rete del Qit che poi esce sulla rete GARR. La rete doveva annunciare due SSID uno chiamato Palio- Siena e riservato al pubblico e l altro chiamato Palio-Giornalista riservato ai giornalisti che seguono il palio di Siena. Il pubblico, tramite la WLAN Palio-Siena, doveva accedere alla rete unicamente per consultare la pagina web del palio (www.paliodisiena.it), mentre i giornalisti, tramite la WLAN Palio-giornalista, solo per consultare le pagine web, e per inviare e ricevere posta elettronica quindi la possibilità di accesso ai server web, server SMTP, POP3 o IMAP. Siccome la rete riservata ai giornalisti era una rete temporanea e permetteva un accesso a internet, era prevista un autenticazione web per gli utenti della WLAN Palio-giornalista invece di un 802.1x, infatti nelle varie facoltà gli utenti vengono autenticati tramite il server radius già impiantato nella rete universitaria. Per aumentare la copertura della rete fino al raggiungimento di via di città, il progetto prevedeva la realizzazione di un bridge tramite due access point Cisco 1240, uno con funzione di root bridge e l altro di Non root 208
bridge in modo da creare un collegamento punto-punto tra i due access point, così da questo collegamento il LAP 2 che copriva via di città poteva raggiungere il controllore. In questo lavoro si presentano i vari passi per la configurazione delle WLAN, VLAN e i parametri di autenticazione web sul controllore, inoltre si mostrerà come configurare l AP in maniera che funzioni in modalità H-REAP. Si presenterà anche la configurazione del bridge sugli AP 1240. Per cominciare il server DHCP della rete universitaria è stato configurato con l opzione 43 della Cisco in maniera da poter inserire nella risposta alla richiesta di indirizzo IP degli access point anche l indirizzo del controllore. Allo stesso tempo lo switch HP procure presente sulla rete del rettorato ha una porta in trunk configurata in modo da supportare le VLAN settate sul controllore. Nelle figure che seguiranno tutti i parametri importanti della rete universitaria saranno sostituiti da parametri fittizi. La prima configurazione del WLC 4400 avviene via console tramite un collegamento hyperterminale con un cavo rollover con connettore DB-9 sulla porta console del controllore. I parametri da settare sul programma hyperterminale sono : 9600 baud 8 data bits 1 stop bit no parity no hardware flow control Durante questa fase iniziale si settano i parametri importanti del controllore come il suo nome, il login e la password per accedere al controllore, l indirizzo IP dell interfaccia di management, l indirizzo dell interfaccia AP-Manager, dell interfaccia virtuale, dell interfaccia della porta di servizio oltre a una WLAN che gli AP associati al controllore possono già annunciare. Una volta compiuta questa tappa si può sia configurare il controllore tramite la riga di commando del sistema operativo Cisco del controllore noto come IOS (internetworking operative system), sia tramite un interfaccia web raggiungibile tramite l indirizzo IP dell interfaccia di management. C è da notare che l interfaccia web permette di settare in maniera veloce e facile i parametri più importanti del controllore, ma la riga di commando è lo strumento fondamentale in tutti gli apparati Cisco per settare una configurazione ottima sull apparato nonché il primo strumento di diagnostica dell apparato. 209
Nel nostro esempio faremo le varie configurazioni tramite l interfaccia web e in alcuni casi faremo uso della riga di commando della Cisco IOS per configurare alcuni apparati, per esempio per il bridge tra i due access point 1240. Riporto in seguito il log della configurazione iniziale del WLC 4400 Cisco: Log iniziale del controllore Motorola PowerPC ProcessorID=00000000 Rev. PVR=80200020 CPU: 833 MHz CCB: 333 MHz DDR: 166 MHz LBC: 41 MHz L1 D-cache 32KB, L1 I-cache 32KB enabled. I2C: ready DTT: 1 is 35 C DRAM: DDR module detected, total size:512mb. 512 MB 8540 in PCI Host Mode. 8540 is the PCI Arbiter. Memory Test PASS FLASH: Flash Bank 0: portsize = 2, size = 8 MB in 142 Sectors 8 MB L2 cache enabled: 256KB Card Id: 1540 Card Revision Id: 1 Card CPU Id: 1287 Number of MAC Addresses: 32 Number of Slots Supported: 4 Serial Number: FOC1205F0DL Unknown command Id: 0xa5 Unknown command Id: 0xa4 Unknown command Id: 0xa3 Manufacturers ID: 30464 Board Maintenance Level: 00 Number of supported APs: 12 In: serial Out: serial Err: serial 210
.o88b. d888888b.d8888..o88b..d88b. d8p Y8 `88' 88' YP d8p Y8.8P Y8. 8P 88 `8bo. 8P 88 88 8b 88 `Y8b. 8b 88 88 Y8b d8.88. db 8D Y8b d8 `8b d8' `Y88P' Y888888P `8888Y' `Y88P' `Y88P' Model AIR-WLC4402-12-K9 S/N: FOC1205F0DL Net: PHY DEVICE : Found Intel LXT971A PHY at 0x01 FEC ETHERNET IDE: Bus 0: OK Device 0: Model: STI Flash 8.0.0 Firm: 01/17/07 Ser#: STI1Ma2107342053432 Type: Removable Hard Disk Capacity: 245.0 MB = 0.2 GB (501760 x 512) Device 1: not available Booting Primary Image... Press <ESC> now for additional boot options... Detecting Hardware... XML config selected Cisco is a trademark of Cisco Systems, Inc. Software Copyright Cisco Systems, Inc. All rights reserved. Cisco AireOS Version 4.2.99.0 Initializing OS Services: ok Initializing Serial Services: ok Initializing Internal Interfaces: ok Initializing Network Services: ok Starting ARP Services: ok Starting Trap Manager: ok Starting Network Interface Management Services: ok 211
Starting System Services: ok Starting FIPS Features: Not enabled Starting Fast Path Hardware Acceleration: ok Starting Switching Services: ok Starting QoS Services: ok Starting Policy Manager: ok Starting Data Transport Link Layer: ok Starting Access Control List Services: ok Starting System Interfaces: ok Starting Client Troubleshooting Service: ok Starting Management Frame Protection: ok Starting LWAPP: ok Starting Certificate Database: ok Starting VPN Services: ok Starting Security Services: ok Starting Policy Manager: ok Starting Authentication Engine: ok Starting Mobility Management: ok Starting Virtual AP Services: ok Starting AireWave Director: ok Starting Network Time Services: ok Starting Cisco Discovery Protocol: ok Starting Broadcast Services: ok Starting Logging Services: ok Starting DHCP Server: ok Starting IDS Signature Manager: ok Starting RFID Tag Tracking: ok Starting Power Supply and Fan Status Monitoring Service: ok Starting Mesh Services: ok Starting TSM: ok Starting LOCP: ok Starting CIDS Services: ok Starting Ethernet-over-IP: ok Starting Management Services: Web Server: ok CLI: ok Secure Web: Web Authentication Certificate not found (error). (Cisco Controller) Welcome to the Cisco Wizard Configuration Tool Use the '-' character to backup 212
System Name [Cisco_32:97:a3]: WLC_Palio Enter Administrative User Name (24 characters max): cisco Enter Administrative Password (24 characters max): ***** Re-enter Administrative Password : ***** Service Interface IP Address Configuration [none][dhcp]: none Service Interface IP Address: 2.2.2.2 Service Interface Netmask: 255.255.255.0 Enable Link Aggregation (LAG) [yes][no]: Management Interface IP Address: 192.168.192.10 Management Interface Netmask: 255.255.255.224 Management Interface Default Router: 192.168.192.254 Management Interface VLAN Identifier (0 = untagged): 0 Management Interface Port Num [1 to 2]: 1 Management Interface DHCP Server IP Address: 192.168.192.10 AP Transport Mode [layer2][layer3]: layer3 AP Manager Interface IP Address: 192.168.192.11 AP-Manager is on Management subnet, using same values AP Manager Interface DHCP Server ( 192.168.192.10): 192.168.192.10 Virtual Gateway IP Address: 1.1.1. 1 Mobility/RF Group Name: TEST Enable Symmetric Mobility Tunneling [yes][no]: no Network Name (SSID):Palio-Siena Allow Static IP Addresses [YES][no]: yes Configure a RADIUS Server now? [YES][no]: no Warning! The default WLAN security policy requires a RADIUS server. Please see documentation for more details. Enter Country Code list (enter ' help' for a list of countries) [US]: IT Enable 802.11b Network [YES][no]: YES Enable 802.11a Network [YES][ no]: no Enable 802.11g Network [YES][no]: YES Enable Auto-RF [YES][no]: YES Configure a NTP server now? [YES][no]: no Configure the system time now? [YES][no]: yes Enter the date in MM/DD/YY format: 04/10/2008 08 Enter the time in HH:MM:SS format: 12:16:00 Configuration correct? If yes, system will save it and reset. [yes][no]: yes Configuration saved! Resetting system with new configuration... 213
Come mostra il file di log, la configurazione iniziale permette di settare i parametri più importanti del controllore (in rosso). Una volta settata la configurazione iniziale, si può raggiungere dalla LAN il controllore tramite l indirizzo dell interfaccia di management. Come detto in precedenza, il controllore è connesso in fibra con connettore ST a una porta in giga dello switch HP procure, mentre gli access point leggeri sono connessi o sullo stesso switch in cui è connesso il controllore o su un altro switch connesso in trunk con lo switch a cui è connesso il controllore. Non è detto che l interfaccia di management e l interfaccia di AP-Manager devono essere nella stessa subnet, ma per convenienza la Cisco raccomanda che le due interfaccia siano nella stessa subnet ed è stata proprio questa la nostra scelta. La copertura completa di tutta la piazza del campo richiedeva 4 LAP. Per accedere all interfaccia web del controllore basta introdurre tramite un browser web l url con la stringa che rappresenta l indirizzo IP dell interfaccia di management (http://<ip_interfaccia_di_management>). Una volta raggiunto il controllore ci troviamo di fronte a questa pagina: Figura 110 214
Nella parte superiore della pagina (quadro 1) si trova il menu principale del controllore mentre nel lato sinistro (quadro 2) si trovano i vari sotto menu delle voci del menu principale. Al centro (quadro 3) si trova una descrizione di quello che propone ogni voce di ogni sotto menu. Più su nell angolo destro (quadro tondo) si trovano quattro voci da non trascurare: una voce per salvare nella NVRAM le modifiche fatte sul controllore, una per fare un ping veloce impiegando l interfaccia di management del controllore come sorgente del ping, un altra che permette di uscire dall interfaccia web di configurazione del controllore ed infine una che permette di aggiornare la pagina corrente che si sta visualizzando. È da notare che il controllore può fungere da server DHCP per i clienti wireless che si associano alla rete, il controllore può servire anche da server radius e al suo interno è presente un insieme di database capace di comunicare con il radius interno per autenticare i clienti wifi, inoltre è presente sul controllore anche un captive portal che permette di autenticare i clienti che si associano alla rete tramite il browser. Iniziamo la nostra configurazione settando sul controllore le varie vlan già presenti sulla rete del Qit che ospiteranno le WLAN Palio-Siena e Palio-Giornalista. Per fare ciò, dal menu principale si va su WLAN>Interfaces poi su new (come in figura): figura 111 Infatti tramite le voci CONTROLLER>Interfaces si visualizzano tutte le interfacce presenti sul controllore. Cliccando sul pulsante new, si apre una pagina dove è possibile definire il nome dell interfaccia dinamica (Palio-Siena) e un numero identificativo della vlan (10) alla quale fa parte l interfaccia creata. Poi cliccando su Apply appare la finestra seguente dove ci sono dei parametri da settare: 215
figura 112 In questa pagina si setta l indirizzo IP della vlan alla quale sarà associato il pubblico ed è questo indirizzo che sarà impiegato per richiedere un indirizzo IP per le stazioni mobili al server DHCP. Per il nostro esempio abbiamo suddiviso l indirizzo privato 192.168.192.0 in 3 sotto reti con maschera 255.255.255.224. L interfaccia di management e quella AP manager fanno parte della prima sotto rete (Indirizzo IP da 192.168.192.0 a 192.168.192.31 ), mentre la VLAN Palio-Siena (VLAN 10 ) fa parte della seconda sotto rete (Indirizzo IP da 192.168.192.32 a 192.168.192.63) e infine la VLAN Palio-Giornalista (VLAN 20) fa parte della terza sotto rete (Indirizzo IP da 192.168.192.64 a 192.168.192.95). Sempre in questa pagina si definisce la porta fisica associata alla VLAN, il DHCP server, e una lista di controllo di accesso (ACL) è questa lista di controllo di accesso che vincolerà il pubblico a andare solo e solamente sul sito web del palio. Definiamo ora questo Access Control List. Per fare ciò si clicca successivamente sulle sotto voci Security>Access Control List >New.. Il nostro access list si chiamerà Pubblico come in figura : 216
figura 113 Cliccando su apply si ritorna alla pagina precedente riservata agli ACL e scegliendo l ACL Pubblico dall elenco si possono definire le regole da applicare all access list. Cliccando su Add New Rule ci si trova di fronte a questa pagina in cui si possono definire le nostre regole che sono le seguenti: ogni richiesta indirizzata alla porta 80 è automaticamente re-indirizzata sul server web del palio di Siena e ogni risposta del server web del palio deve ritornare al cliente wireless che ne ha fatto la richiesta. Qui ci concentreremo solo su questa regola che vincola il pubblico ad andare solo sul sito web del palio e non presentiamo le altre regole iniziali, come per esempio, la prima regola che accetta le richieste DHCP per quest interfaccia dinamica, e la regola che accetta tutte le richieste ad un server DNS. La figura seguente presenta la terza regola che indirizza tutte le richieste sulla porta 80 direttamente sul server web del palio : figura 114 Mentre i pacchetti di ritorno passano con la regola presentata nella figura 115: 217
figura 115 Con queste due regole, ogni stazione che si aggancerà su questa VLAN sarà direttamente re-indirizzata verso il server web del palio sulla figura l indirizzo fittizio 192.168.1.25 e tutte le risposte da tale server raggiungeranno il cliente wireless che ne ha fatto la richiesta. Ora bisogna aggiungere il nostro ACL Pubblico alla vlan Palio-Siena, allora basta tornare sulle voci CONTROLLER>Interfaces poi scegliere il nome della nostra interfaccia dinamica cioè Palio-Siena poi su edit e sul menu a tendina accanto ACL selezionare il nostro ACL come in questa figura: figura 116 Attraverso questi passi siamo riusciti a creare la vlan che sarà utilizzata per il pubblico del palio di Siena. La creazione della VLAN dei giornalisti segue gli stessi passi però con un ACL diverso, l ACL permetterà ai giornalisti di accedere a tutti i server web su internet, nonché ai server di posta (POP3, IMAP, SMTP). Ora che sono state configurate tutte e due le vlan, cliccando rispettivamente sulle voci CONTROLLER >Interfaces ci si accorge dell esistenza delle vlan appena create come in figura: 218
figura 117 Una volta definite le VLAN, si tratta adesso di creare le WLAN da annunciare sul canale radio. Per fare ciò dal menu principale si clicca sulla voce WLAN che elenca tutte le WLAN configurate sul controllore poi pigiando il pulsante News.. appare una finestra in cui si può settare l ID e il nome della WLAN da annunciare come nella figura seguente: figura 118 Una volta settati l ID e il nome della WLAN, cliccando sul pulsante Apply poi sulla voce edit sulla riga in corrispondenza alla WLAN appena creata, compare una pagina in cui si devono configurare i parametri inerenti a questa WLAN. Ricordiamo che gli utenti che si agganciano alla WLAN Palio-Siena non hanno bisogno di autenticarsi e non hanno bisogno di una chiave di crittografia, mentre i giornalisti saranno autenticati localmente sul controllore tramite un interfaccia web in quanto possono accedere a internet. Le figure 119 e 120 mostrano la configurazione per le WLAN Palio-Siena e Palio-Giornalista: 219
figura 119 figura 120 Il controllore prevede tutte le tecniche di sicurezza layer 2 viste nel capitolo 4 (802.1x,WAP,WEP ecc..). Nella figura di sopra, cliccando sul menu a tendina accanto 220
alla voce layer 2 Security si può impiegare una di queste tecniche con la WLAN corrente. Siccome i giornalisti devono autenticarsi, bisogna settare sul controllore le credenziali di ognuno di loro, per fare ciò dal menu principale si clicca successivamente sulle voci Security>AAA>Local Net Users, sul pulsante New.. Poi nella pagina che compare si inseriscono le credenziali dell utente da autenticare: figura 121 Con questa tappa si può salvare la nostra configurazione. A questo punto le nostre WLAN sono annunciate sulla tratta radio. Il LAP 1131 viene connesso alla LAN su una porta dello switch tramite un cavo ethernet, una volta connesso fa una richiesta d indirizzo IP a un server DHCP presente sulla rete. Il server DHCP in questo caso è stato configurato in modo da aggiungere l opzione 43 della Cisco così da inserire nella risposta di assegnazione dell indirizzo IP anche l indirizzo del controllore in modo che i LAP 1131 siano in grado di raggiungere immediatamente il controllore senza fare una richiesta LWAPP discovery. Nel caso in cui il DHCP server non è configurato con l opzione 43 l AP 1131 una volta connesso alla LAN, farà una richiesta d indirizzo IP al server DHCP e quando lo riceverà manderà un messaggio LWAPP Discovery request in broadcast. Allora il controllore gli risponderà con un pacchetto LWAPP Discovery Response, a questo punto l access point si registrerà presso il controllore e inizierà immediatamente la fase di download della firmware al termine della quale l access point è completamente sotto il controllo del controllore. Per finire la nostra configurazione, vogliamo che solo l autenticazione avvenga a livello del controllore invece che tutti i dati dell utente siano trattati localmente dall access 221
point in modo che se il controllore non fosse più raggiungibile, l access point continui a fornire servizio. Per fare ciò si deve, dalla voce WIRELESS del menu principale, cliccare su Detail.. accanto alla riga corrispondente all ingresso di un LAP registrato presso il controllore come nella figura 121 : figura 121 Si accede alla pagina che permette di configurare l access point in questione ed è su questa pagina che si setterà l access point a funzionare in modalità H-REAP. Come in figura : figura 122 Una volta che l AP è in modalità H-REAP, basta tornare sulla WLAN (in questo caso la WLAN Palio-Giornalista) in cui si desidera che i dati del cliente wireless siano trattati localmente per aggiungere questa opzione come in figura: 222
figura 123 Per questa WLAN l autenticazione si farà sul controllore mentre i dati dei clienti wireless saranno trattati dall access point. La nostra rete è ora funzionante con le regole impostate. Si ricorda che questo esempio presenta solo la configurazione di base, i controllori Cisco a seconda della complessità della rete wireless sono in grado di operare in varie situazioni non studiate in questo lavoro di tesi. Per terminare il nostro esempio, si presenta la configurazione del bridge tra gli access point 1240. Il ruolo del bridge in questo progetto era quello di estendere la rete del palio fino a via di città. Un LAP 1131 posto sullo stesso switch dell AP 1240 era impiegato per la copertura di suddetta via e il controllore poteva raggiungere questo LAP tramite il bridge costruito con gli AP 1240. l AP 1240 piazzato nel lato rettorato funzionava in modalità root bridge mentre quello posto nel lato del comune funzionava come non root bridge, la comunicazione tra i due apparati era cifrata con l algoritmo AES-CCKM insieme alla tecnologia di sicurezza WPA2. Per configurare questi apparati si può sempre procedere tramite un browser solo dopo aver settato via console sull AP l indirizzo IP dell interfaccia BVI che è l interfaccia virtuale comune all interfaccia Fastehernet e all interfaccia Radio dell access point. In questo caso presentiamo lo script di configurazione dell AP 1240 root bridge, basta cambiare una sola riga su questo script per ottenere quello del non root bridge: script di configurazione root bridge 223
! version 12.3 no service pad service timestamps debug datetime msec service timestamps log datetime msec service password-encryption! hostname BridgeRoot!! ip subnet-zero ip domain name prova!! aaa new-model!!comandi di Autenticazione dell amministratore sull AP 1240 aaa authentication login default local aaa authorization exec default local aaa session-id common!configurazione dell interfaccia Radio dot11 ssid palio vlan 1 authentication open authentication key-management wpa!password pre-share key wpa-psk ascii ------------!!!Credenziali dell amministratore dell apparato username amministratore privilege 15 password -----------! enable password gallino 224
!Configurazione dell interfaccia radio g interface Dot11Radio0 no ip address no ip route-cache!! Crittografia AES-CCM encryption vlan 1 mode ciphers aes-ccm!!mappaggio alla ssid settata ssid Palio!! Velocità di trasmissione speed 1.0 2.0 5.5 6.0 9.0 basic-11.0! Ruolo dell interfaccia radio (per l altro AP basta mettere non root bridge ) station-role root bridge! Configurazione dell interfaccia FastEthernet interface FastEthernet0 no ip address no ip route-cache hold-queue 80 in encapsulation dot1q 1 native no ip route-cache bridge-group 1! Configurazione dell interfaccia virtuale BVI interface BVI1 ip address 192.168.192.25 255.255.255.224 no ip route-cache! Interfaccia http ip http server 225
ip http authentication aaa no ip http secure-server ip http help-path http://www.cisco.com/warp/public/779/smbiz/prodconfig/help/eag! control-plane! bridge 1 route ip!! line vty 0 4 password --------------------- login! end 6.6 Conclusione Questo capitolo ci ha permesso di avere una visione globale di come il costruttore Cisco tramite il controllore 4400 e il LAP 1131 implementa il protocollo LWAPP. Nonostante si sia visto solo la configurazione di base, i controllori Cisco sono in grado di operare in ambienti molto più complessi garantendo sempre una gestione facile e centralizzata della rete wireless oltre a proporre ottimi strumenti di sicurezza. 226
Conclusione generale Questo lavoro ha permesso di evidenziare il funzionamento del protocollo LWAPP che regola le comunicazioni tra un access point detto leggero e un controllore wireless Anche se non ancora ufficialmente ratificato dal comitato IEEE, il protocollo LWAPP presente in un documento chiamato CAPWAP del gruppo di lavoro IETF è sicuramente la soluzione migliore per l installazione di reti senza fili nelle grandi e medie aziende che necessitano, per una copertura totale, di più di una ventina di access point, in questo caso il protocollo LWAPP permette una gestione centralizzata della rete wireless. In questo contesto le operazioni 802.11 in tempo reale come il processo di beacon e di associazione vengono trattati dal LAP mentre le operazioni non tempo reale come i processi di autenticazione, la sicurezza, la mobilità, la gestione delle frequenze radio ecc. vengono gestiti unicamente dal controllore wireless. Al giorno d oggi il costruttore Cisco leader mondiale negli apparati di rete, è l unico venditore che propone apparati in cui è implementato il protocollo LWAPP, si tratta per gli access point Aironet delle serie1500,1240 AG, 1230 AG, 1200, 1131 AG e Aironet 1000, mentre per i controllori elenchiamo in questa categoria quelli della serie 2000, 2100, 4400 nonché i moduli wireless (WiSM) integrati negli switch catalyst 6500, 7200 e nei router della serie 28/37/38xx che permettono a questi ultimi apparati di fungere da controllori wireless. In questo lavoro gli apparati utilizzati sono stati gli access point 1131 e il controllore 4400. La Cisco propone altre opzioni importanti che rendono più facile la gestione e l amministrazione di una rete in cui viene utilizzato il protocollo LWAPP, tra queste opzioni elenchiamo la modalità H-REAP che permette di dividere distintamente il lavoro del protocollo LWAPP tra il LAP e il controllore, l opzione DHCP 43 che permette a un server DHCP dopo una richiesta DHCP Discovery di includere, nella sua risposta a un LAP, l indirizzo di un controllore in modo da facilitare il processo di scoperta dello stesso e in fine il concetto di gruppo di mobilità che permette di gestire in maniera ottimale il processo di roaming sia inter-dominio che intra-dominio. In questo lavoro, oltre a descrivere il funzionamento del protocollo LWAPP, nei primi capitoli ci siamo concentrati su alcuni richiami fondamentali che hanno aiutato alla comprensione del protocollo LWAPP, tra questi si sono visti i concetti importanti sullo standard 802.3 che definisce le reti locali, uno studio approfondito sullo standard 802.11 227
in quanto è il protocollo responsabile delle reti wireless, poi abbiamo visto in due altri capitoli la gestione della mobilità e della sicurezza in tale rete. Il costruttore Cisco ogni giorno cerca soluzioni migliori per aumentare funzionalità nelle reti wireless in modo da coprire le esigenze sempre più crescenti degli utenti aziendali. 228
Bibliografia 1. Wendell Odom, CCENT/CCNA ICND1 Official Exam Certification Guide, Cisco Press, January 2008. 2. Todd Lammle, CCNA Cisco Certified Network Associate Study Guide, Sybex, August 2007. 3. Pejman Roshan, Jonathan Leary, 802.11 Wireless LAN Fundamentals, Cisco Press, November 2004. 4. Krisna Sankar, Sri Sundaralingam, Andrei Balinsky, Darrin Miller, Cisco Wireless LAN Security, Cisco Press, November 2004. 5. Toby J. Velte, Anthony T. Velte, Cisco 802.11 Wireless Networking Quick Reference, Cisco Press, October 2005. 6. Bruce E. Alexander, 802.11 Wireless Network Site Surveying and Installation, Cisco Press, November 2004. 7. Eric Ouellet, Robert Padjen, Arthur Pfund, Ron Fuller, Tim Blankenship, Building a Cisco Wireless LAN, Syngress, February 2006. 8. Christian Caleca, L internet Rapide et Permanent, http://christian.caleca.free.fr/crypt/. 9. Cisco, WLC Configuration Example, http://tools.cisco.com/search/jsp/searchresults.get?isformsubmit=true&strqueryid=&strcountry=us&strquerylanguage=en& websessionid=&strcurrentsimilarsearchbreadcrumb=&strcurrentselectedmodifierval ues=&strquerytext=wlc+configuration+example. 10. Cisco, Cisco Wireless LAN Controller Configuration Guide, Release 4.2, http://www.conft.com/en/us/docs/wireless/controller/4.2/configuration/guide/ccfig42.ht ml. 11. Cisco, http://www.cisco.com. 12. IETF, LWAPP Protocol, http://tools.ietf.org/html/draft-ohara-capwap-lwapp-04. 13. IETF, RFC, http://www.ietf.org/rfc.html. 14. Airspace Technologies, Understanding the Lightweight Access Point Protocol (LWAPP), http://www.airespace.com/technology/technote_lwapp.php. 15. Wifi Expert, IEEE 802.3 technologies, http://www.wifixpert.com/technologies.htm. 16. Javin, Ethernet Protocol, http://www.javvin.com/protocolethernet.html. 229
17. Alessandro Falaschi, Laboratorio di Elettronica e Telecomunicazioni, http://infocom.uniroma1.it/alef/802.11/on_desk/accesso.html#distributed_coordination _Function_. 18. Wildpacket s, Illuminate Your Network, http://www.wildpackets.com/. 230
Ringraziamenti Bisogna crederci e non mollare mai Dopo sei anni di vita universitaria eccomi qua! Ringrazio sinceramente la città di Siena, la facoltà d ingegneria e tutti i suoi professori per avermi permesso di fare questo percorso e soprattutto di raggiungere questo mio obiettivo. Ringrazio altrettanto il Qit per la collaborazione durante lo stage che mi ha permesso di acquisire esperienza. I miei ringraziamenti vanno anche al prof. Alessandro Andreadis per la sua stretta collaborazione durante lo svolgimento di questo lavoro di tesi. In questi ultimi anni ho fatto molte esperienze, buone e cattive, ma sono stati gli anni fondamentali della mia vita in quanto sono cresciuto in tutti i sensi... Una volta qualcuno mi ha detto che dietro un grande uomo c è sempre una grande donna, ho attraversato il deserto dell Africa nonché l oceano per arrivare fino in Ciociaria dove ho trovato la mia anima gemella, la mia grande donna, Emanuela Del Vescovo, che due mesi fa ha messo al mondo sicuramente la figlia più bella di questa terra, la nostra topina Sofia Marta a cui dedico in particolare questo lavoro di tesi. Ringrazio di cuore tutta la famiglia di Emanuela per il loro supporto e per avere accettato la nostra piccola famiglia (Emanuela-JP-Sofia), grazie alla loro collaborazione ho superato periodi di difficoltà con la voglia di non mollare mai. Ringrazio mio padre Charles e mia madre Genevieve per avermi insegnato ad essere sempre positivo e soprattutto a trovarmi sempre nella squadra vincente. Ancora ringrazio i miei amici: Joel, Augusto, Chris, Francesca Collarino, Teo, Robert, Francesco Zaccaria ma non sapevo che erano così tanti! per loro simpatia che dà sempre la voglia di andare avanti. Ed infine con questo lavoro di tesi, rendo un grande omaggio a mia nonna Justine che, dopo mesi di sofferenze è morta una settimana fa, lei sarà sempre nel mio cuore. 231