1 Sistemi e Tecnologie della Comunicazione Lezione 17: data link layer: Wireless (protocollo), LLC, bridge
2 Protocollo del sottostrato MAC di supporta due modalita’ operative: DCF (Distributed Coordination Function) prevede la comunicazione tra stazioni senza un arbitraggio centralizzato questa modalita’ prevede la contesa del mezzo e la gestione delle collisioni nota come rete ad hoc PCF (Point Coordination Function) prevede che ci sia una stazione base che coordina la trasmissione di tutti in questa modalita’ non ci sono collisioni perche’ l’ordine delle trasmissioni e’ determinato dalla stazione di controllo Tutte le schede wireless devono supportare la trasmissione DCF, mentre quella PCF e’ opzionale (ma molto diffusa)
3 Protocollo in modalita’ DCF In questa modalita’ si utilizza un protocollo chiamato CSMA/CA (Carrier Sense Multiple Access Collision Avoidance) che opera in due modi la stazione controlla se il canale e’ libero (per quello che puo’ vedere) se e’ libero trasmette (senza collision detection) se e’ occupato, aspetta che si liberi e trasmette se si verifica una collisione (rilevata) utilizza il backoff esponenziale binario e ritenta
4 Protocollo in modalita’ DCF (cont.) la seconda modalita’ e’ derivata da MACAW, con utilizzo di RTS, CTS ed ACK per ogni frame trasmesso l’interfaccia della stazione che rileva un RTS o un CTS rivendica per se’ un canale virtuale NAV (Network Allocation Vector) che impedisce alla stazione di trasmettere per tutto il tempo che deve durare la trasmissione in preparazione, fino all’ACK
5 Protocollo in modalita’ DCF (cont.) Poiche’ le reti wireless sono molto rumorose, il protocollo prevede la possibilita’ di spezzare il frame in frammenti, ciascuno trasmesso e riscontrato individualmente i frammenti vengono inviati tutti di seguito, senza bisogno di invio di RTS le stazioni in ascolto utilizzaranno il NAV per attendere solo fino al primo riscontro: per evitare colisioni con gli altri frammenti si utilizza un meccanismo che vedremo piu’ avanti
6 Protocollo in modalita’ PCF Nella modalita’ PCF la stazione base sonda le altre stazioni per vedere se hanno frame da trasmettere La trasmissione e’ regolata ed autorizzata dalla stazione base e non avvengono collisioni Il protocollo specifica la modalita’ di interrogazione, e prevede che le stazioni si registrino con la stazione base per entrare nel meccanismo delle interrogazioni La stazione base regola tutto il meccanismo della trasmissione, comprese le informazioni sulle sequenze di salto di frequenza (per FHSS) e le temporizzazioni Il protocollo, ottimizzato per i computer portatili, prevede anche che la stazione base possa imporre alla stazione mobile di mettersi in modalita’ di sospensione, al fine di risparmiare batteria
7 Coesistenza PCF e DCF prevede un meccanismo di attesa a tempi differenziati che permette la coesistenza di PCF e DCF terminata una trasmissione, inizia un periodo di tempo detto SIFS (Shotr IntreFrame Spacing), dopo il quale pou’ trasmettere solo: una stazione che ha ricevuto l’ACK di un frammento ed invia un altro frammento (in questo modo la stazione potra’ trasmettere tutti i frammenti senza perdere il controllo del canale) una stazione che ha ricevuto un RTS ed invia un CTS (gli altri aspettano) una stazione che ha ricevuto una interrogazione (in modalita’ PCF) e puo’ rispondere (solo lei) in ogni caso c’e’ sempre al massimo una stazione che puo’ trasmettere dopo un intervallo SIFS, quindi non ci possono essere collisioni l’intervallo SIFS permette alle stazioni con trasmissioni in corso (dopo un frammento, dopo un RTS, dopo una interrogazione) di portare a termine la trasmissione
8 Coesistenza PCF e DCF (cont.) il secondo intervallo temporale in ordine di lunghezza e’ detto PIFS (PCF IFS); se nessuno ha trasmesso tra lo scadere del SIFS e lo scadere del PIFS, sono autorizzate le trasmissioni che la stazione base utilizza in modalita’ PCF per interrogare le stazioni in questo modo la stazione base ha la priorita’ su tutto il traffico “non in corso” esiste un meccanismo per evitare che una stazione base allochi per sempre il canale con trasmissioni di interrogazione, lasciando spazio alle eventuali trasmissioni DFS il terzo intervallo di tempo e’ detto DIFS (DCF IFS): se nessuno ha trasmesso frame PCF entro la scadenza del DIFS, iniziano le regole di contesa relative alle trasmissioni in modalita’ DCF questo e’ il momento per poter trasmettere un frame RTS
9 Coesistenza PCF e DCF (cont.) L’ultimo intervallo (EIFS: Extended IFS) e’ utilizzato (alla priorita’ piu’ bassa) dalle stazioni che hanno ricevuto un frame danneggiato per annunciare il fatto
10 Frame in Esistono tre tipi di frame dati: dedicati al trasferimento dei dati dei protocolli superiori gestione: dedicati alle funzioni di gestione della cella, quali associazione, autenticazione, interrogazione controllo: sono i frame ACK, RTS, CTS
11 Frame di dati La struttura del frame di dati e’ costituita da divesri campi frame control: definisce la versione del protocollo, il tipo di frame, se il frame proviene o e’ diretto alla rete di distribuzione (Ethernet, ad esempio), se sara’ seguito da altri frammenti, se e’ una ritrasmissione, se e’ stata utilizzata crittazione durata: specifica per quanto tempo il frame occupera’ il canale
12 Frame di dati (cont.) quattro indirizzi, che definiscono destinazione del frame (per il recapito) sorgente del frame (usato per l’ack) stazione base di partenza del frame stazione base di arrivo del frame queste distinzioni servono, ad esempio, per distinguere il fatto che il frame e’ trasmesso da A verso l’access point B, ma la destinazione e’ la stazione C che si trova sulla rete cablata oltre l’access point Il campo sequenza numera i frammenti Infine i dati (fino a 2312 byte) ed il checksum con CRC a 32 bit
13 Altri frame I frame di gestione hanno un formato simile, ma solo due campi address in quanto il loro traffico e’ confinato entro la cella I frame di controllo non hanno campo dati ne’ sequenza; l’informazione del controllo inviato (RTS, CTS, ACK) e’ contenunto nel campo subtype dei byte di controllo di frame
14 Access point Le reti wireless sono connesse alla rete cablata (una qualche rete 802.x) tramite una stazione che ha funzioni di bridge (converte il protocollo tra ed il protocollo della rete cablata) Questa stazione e’ detta access point L’access point ha anche funzioni di stazione di controllo della cella per le trasmissioni in modalita’ PCF E’ possibile realizzare topologie di estensione della rete tramite una catena di access point che rimpallano la trasmissione wireless di un frame fino a raggiungere la rete cablata
15 LLC (IEEE 802.2) I protocolli MAC visti fin qui non esauriscono le funzioni del data link layer Le specifiche dei protocolli MAC devono essere filtrate per poter offrire allo strato di rete una interfaccia analoga ai protocolli delle linee punto-punto IEEE ha definito le specifiche di un sottostrato del data link layer che fornisce verso l’alto questa interfaccia, appoggiandosi sopra il sottostrato MAC: il Logical Link Control
16 Funzioni del LLC La funzione principale del LLC definito da IEEE e’ di mascherare allo strato di rete le specifiche dei protocolli 802 utilizzati a livello di MAC, in modo da offrire allo strato superiore una interfaccia uniforme Un esempio del suo utilizzo e’ quello di implementare un servizio orientato alla connessione, o non connesso ma affidabile per la comunicazione a livello 2 Lo strato di rete passa i suoi dati al LLC, che aggiunge un suo header con le informazioni di numerazione del frame, riscontro etc. Quindi il LLC passa al sottostrato MAC il campo dati che il MAC gestisce con le sue specifiche In ricezione il MAC recapita il frame al LLC che rimuove l’header e passa i dati allo strato di rete Il formato dell’header ed i meccanismi di funzionamento del LLC ricalcano quelli dell’HDLC
17 LLC e TCP/IP In TCP/IP lo strato di rete (IP) richiede solamente trasmissioni “best-effort”, cioe’ inaffidabili, al data link layer Di fatto in TCP/IP il LLC non fa nulla piu’ che passare i dati di IP al sottostrato MAC
18 Commutazione tra LAN Esiste la necessita’ di interconnettere reti locali differenti sviluppatesi in modo indipendente, utilizzanti protocolli differenti Queste reti possono essere connesse con tecnologie di internetworking operando a livello di rete Tuttavia e’ spesso possibile ed opportuno realizzare l’interconnessione a livello di data link per motivi di costi: un apparato di interconnessione a livello di rete, specie in passato, risulta piu’ costoso per motivi di prestazioni: l’interconnessione a livello di data link permette di sfruttare le tecnologie di rete locale per motivi di flessibilita’: spesso lo spostamento di una stazione su rami interconnessi a livello di data link non richiede riconfigurazioni
19 Il bridge Il dispositivo che realizza l’interconnessione a livello di data link si chiama bridge Il bridge interconnette due reti locali potenzialmente utilizzanti tecnologia differente generalmente i bridge realizzano una interconnessione tra reti 802.x ed 802.y Questi dispositivi lavorano a livello di data link, quindi non si occupano di analizzare i dati del livello di rete Il frame in arrivo al bridge viene trasferito dallo strato fisico allo strato di data link generalmente i sottolivelli MAC delle reti locali interconnesse saranno differenti il frame risale il sottolivello MAC per giungere al sottolivello LLC che e’ comune il bridge determina a quale rete locale il frame debba essere inviato, ed il frame riscende la pila dei protocolli passando al sottostrato MAC di destinazione, quindi al livello fisico di destinazione e viene trasmesso Di fatto i bridge effettuano una conversione di protocollo tra diversi sottostrati MAC Per realizzare questa funzionalita’ il bridge deve supportare un protocollo MAC per ogni linea interconnessa
20 Esempio di trasmissione attraverso bridge
21 Bridge trasparente La modalita’ “trasparente” indica che il bridge si limita ad inoltrare il frame verso la rete locale su cui si trova la stazione di destinazione (o verso tutte le reti se la destinazione non e’ nota o se il frame e’ broadcast) In questa modalita’ il bridge realizza una estensione logica della rete locale, eventualmente mascherando differenze di protocollo Il bridge funziona quindi in modalita’ store-and-forward utilizzando le tabelle di instradamento abbiamo gia’ visto il funzionamento di questo meccanismo studiando lo switch, che puo’ essere visto come un bridge monoprotocollo in modalita’ trasparente
22 Bridge in modalita’ non trasparente I bridge possono essere configurati ed utilizzati per realizzare un filtro alla trasmissione dei frame da una rete all’altra Il filtro puo’ essere realizzato in funzione del protocollo o degli indirizzi in generale si utilizzano le proprieta’ di filtraggio per evitare di propagare un protocollo specifico su rami in cui questo protocollo non e’ utilizzato, ad esempio per limitare la propagazione del protocollo Appletalk o NetBIOS su rami privi di clienti appropriati si puo’ cosi’ limitare la propagazione del traffico broadcast inutile
23 Spanning tree Per aumentare l’affidabilita’ della connettivita’ all’interno di una rete locale si possono connettere i bridge (o gli switch) della rete con linee ridondanti Questo genera percorsi circolari che, senza opportune contromisure, impedirebbero al meccanismi di auto apprendimento e di inoltro di funzionare correttamente
24 Spanning tree (cont.) Perlman ha sviluppato un meccanismo detto spanning tree, standardizzato come IEEE 802.1D, che permette ai bridge di configurarsi automaticamente in modo da disabilitare i link che generano ridondanza, ottenendo cosi’ una struttura ad albero Il protocollo continua a operare in modalita’ di controllo durante il funzionamento della rete, ed attiva o disattiva le connessioni in base alle esigenze (ad esempio se un bridge smette di funzionare, vengono attivati i link di ridondanza che permettono di raggiungere i rami che altrimenti rimarrebbero tagliati fuori Tutti i bridge della topologia devono supportare il protocollo dello spanning tree
25 LAN virtuali La possibilita’ di utilizzare cablaggi UTP con HUB, switch o bridge ha trasformato le reti locali da reti a cui tutti gli host erano interonnessi a reti con strutture ad albero facilmente separabili fisicamente, adottando opportune scelte di cablaggio l’opportunita’ di tali scelte puo’ essere determinata da necessita’ di ottimizzazione e’ meglio che gli utenti di un gruppo di ricerca che fanno pesante accesso ad un database specifico non intasino la rete locale con il loro traffico pesante o da necessita’ di sicurezza i database del servizio amministrativo e’ preferibile che sia tenuto su un ramo distinto della rete locale, per minimizzare la possibilita’ di accessi non autorizzati Tuttavia la separazione fisica della rete locale in parti differenti presuppone che gruppi di utenti omogenei siano geograficamente collocati in luoghi distinti; questo non sempre si verifica Inoltre spostamenti interni (personale che cambia reparto senza cambiare ufficio, o viceversa) richiederebbero un ricablaggio continuo della rete locale Per rispondere a queste esigenze il comitato 802 ha standardizzato un protocollo chiamato VLAN (Virtual LAN), che separa la topologia fisica della rete dalla sua topologia logica
26 LAN virtuali (cont.) Ogni VLAN e’ considerata dagli switch come una rete locale separata dalle altre Lo switch sa a quali VLAN appartengono le sue porte mediante una tabella nota e configurata manualmente I frame appartenenti ad una VLAN possono essere instradati solo sulle porte appartenenti a quella VLAN Lo switch mantiene tabelle di instradamento separate per ogni VLAN, sostanzialmente comportandosi come uno switch multiplo Nell’esempio sono configurate due VLAN: G e W; le linee che trasportano i frame di una VLAN sono indicate con la lettera relativa. Alcune linee devono trasportare i frame di entrambe le VLAN
27 VLAN (cont.) Il problema e’ come identificare a quale VLAN appartenga un frame in arrivo; esistono due soluzioni: identificare la VLAN in base alla linea di arrivo in questo caso ogni linea appartiene ad una sola VLAN, lo switch e’ realmente equivalente ad uno switch multiplo se due switch interconnessi debbono trasferire traffico di due VLAN dovranno essere connessi da due linee, ciascuna appartenente ad una VLAN uno stesso ramo non puo’ appartenere a due vlan differenti in quanto non si saprebbe a quale VLAN assegnare i frame provenienti da quel ramo identificare la VLAN in base al MAC address di provenienza non si puo’ basarsi sul MAC address di destinazione perche’ non si potrebbe sapere a quale VLAN assegnare i frame broadcast in questo caso e’ possibile avere linee appartenenti a due VLAN contemporaneamente, perche’ non e’ la porta di arrivo o di destinazione a determinare la VLAN
Q: VLAN tagging Il comitato 802 ha standardizzato un protocollo per l’utilizzo delle VLAN (802.1Q) La standardizzazione ha provocato la modifica del frame Ethernet con l’aggiunta di una etichetta VLAN che definisce l’appartenenza del frame ad una determinata VLAN Il frame 802.1Q ha, dopo il campo destination address, due byte con valore 0x8100, seguito da due byte di Tag contenente il numero di 12 bit identificativo della VLAN,, quindi dalla lunghezza del campo dati e dal resto del frame
29 VLAN tagging Il problema nella modifica della struttura del frame sta’ nel fatto che c’e’ un mondo di preinstallato che non lo puo’ riconoscere Il meccanismo di utilizzo di questo frame rende il problema nullo: la presenza della tag deve essere compresa ed utilizzata solo in funzione dell’instradamento del frame attraverso la LAN, quindi dagli switch gli switch 802.1Q che ricevono un frame 802.1Q devono rimuovere la tag prima di recapitare il frame verso una stazione (o uno switch) non 802.1Q compatibile in questo modo tuta la parte a valle dell’ultimo switch 802.1Q compatibile continuera’ a lavorare come prima Il protocollo definisce anche chi debba inserire la tag la stazione che invia un frame genera un frame standard il primo switch 802.1Q compatibile che riceve un frame su una interfaccia assegnata ad una VLAN deve modificare il frame inserendo le informazioni di tagging Lo switch lo puo’ fare correttamente perche’ quella interfaccia (a valle della quale non c’e’ hardware che comprende le VLAN) e’ assegnata ad una VLAN ben definita nelle sue tabelle
30 VLAN 802.1Q Questa tecnica permette l’introduzione del protocollo 802.1Q in modo progressivo, senza intaccare la funzionalita’ interna della rete non 802.1Q compatibile Tutti gli switch moderni sono 802.1Q compatibili, e molte delle interfacce di rete per host cominciano ad esserlo per un host significa poter utilizzare l’interfaccia di rete come se fossero piu’ interfacce connesse a reti distinte Fa parte dello standard 802.1Q un meccanismo di auto configurazione degli switch, che permette ad uno switch di imparare quali VLAN esistono a valle di una interfaccia in base al tagging dei frame ricevuto da quella interfaccia poiche’ il campo VLAN protocol corrisponde al campo type/size di un frame normale, la presenza del valore 0x8100 permette di identificare il frame come frame 802.1Q e di determinare la VLAN di appartenenza del frame stesso in modo non ambiguo
31 Riferimenti Data Link Layer punto-punto: Tanenbaum cap. 3 tranne § 3.5 Medium Access Control Tanenbaum cap. 4 ma solo le parti viste a lezione: escludere § 4.1.1, 4.2.3, 4.2.4, 4.2.5, 4.3.5, da fino a 4.6.7, da in poi