LIVELLO FISICO E DATALINK
LIVELLO FISICO
In telecomunicazioni nell’ambito delle reti di calcolatori il livello fisico è il livello 1 del modello ISO/OSI. Nella trasmissione, questo livello riceve dal livello datalink la sequenza di bit pacchettizzata da trasmettere sul canale e la converte in segnali adatti al mezzo trasmissivo come cavo coassiale (connettore BNC), doppino STP o UTP, fibre ottiche o onde radio. In particolare, uno standard di livello fisico definisce:
- le caratteristiche fisiche del mezzo trasmissivo come forma, dimensioni, numero di piedini di un connettore e specifiche meccaniche;
- le caratteristiche funzionali come il significato dei pin di un componente;
- le caratteristiche elettriche, come i valori di tensione per i livelli logici, la codifica e la durata di ogni bit;
- la codifica del segnale digitale su un mezzo trasmissivo che è inerentemente analogico (modulazione numerica).
Esistono diversi standard relativi alla gestione del mezzo trasmissivo, sia esso analogico o digitale. I mezzi trasmissivi utilizzati per la realizzazione di un canale in una rete vengono solitamente suddivisi in tre categorie, a seconda del fenomeno fisico utilizzato per trasmettere i bit:
- mezzi elettrici: per la trasmissione utilizzano la proprietà dei metalli di condurre l’energia elettrica (come doppini telefonici e cavi coassiali);
- mezzi ottici: per la trasmissione utilizzano la luce (come le fibre ottiche multimodale o monomodale o la trasmissione in aria via laser);
- mezzi wireless (“senza cavo”): per la trasmissione utilizzano le onde elettromagnetiche (come le trasmissioni radio a microonde e le trasmissioni radio via satellite). In questo caso il mezzo trasmissivo può essere considerato lo spazio “vuoto” tra mittente e destinatario.
DATALINK
Il livello di collegamento dati (o data link layer) è il secondo livello dell’architettura di rete basata sul modello ISO/OSI per l’interconnessione di sistemi aperti. Questo livello in trasmissione riceve pacchetti dati dal livello di rete e forma i frame che vengono passati al sottostante livello fisico con l’obiettivo di permettere il trasferimento affidabile dei dati attraverso il sottostante canale. Nello stack IP, in alcuni casi, il livello datalink consiste nell’utilizzo di una rete realizzata con un altro protocollo per il trasporto di pacchetti IP. Questo avviene ad esempio con X.25, Frame Relay, Asynchronous Transfer Mode. Alcuni esempi di protocolli del livello datalink sono:
- Ethernet (per le LAN)
- PPP, HDLC e ADCCP per le connessioni punto a punto (Point-to-Point), cioè tra due stazioni collegate direttamente, senza nodi intermedi.
Può essere o non essere affidabile: molti protocolli di data link non utilizzano conferme e alcuni potrebbero addirittura non controllare se sono stati commessi errori di trasmissione. In questo caso devono essere i livelli superiori ad effettuare il controllo di flusso, il controllo degli errori e gestire le conferme (e relative ritrasmissioni). In alcune reti, come le LAN IEEE 802, questo livello è diviso nei sottolivelli MAC e LLC. Quest’ultimo è comune a tutti i livelli MAC, come token ring e IEEE 802.11 ma anche a livelli MAC che non fanno parte dello standard 802, come FDDI.
FUNZIONALITA’
Il livello datalink deve quindi svolgere più funzioni specifiche:
- Nella fase di trasmissione raggruppa i bit provenienti dallo strato superiore e destinati al livello fisico in pacchetti chiamati frame (framing);
- Nella fase di ricezione controlla e gestisce gli errori di trasmissione (controllo di errore);
- Regola il flusso della trasmissione fra sorgente e destinatario (controllo di flusso).
- Nella fase di trasmissione opera una qualche forma di accesso multiplo/multiplazione per l’accesso condiviso tra più utenti al canale fisico che eviti collisioni tra pacchetti e interferenze in ricezione o sul canale.
Tutto ciò consente di far apparire in ricezione, al livello superiore, il mezzo fisico come una linea di trasmissione esente da errori.
SOTTOLIVELLO LLC
Il sottolivello superiore è Logical link control (LLC), e può fornire servizi di controllo di flusso, conferma, rilevazione (o correzione) degli errori. I protocolli PPP e HDLC fanno parte di questo sottolivello. I protocolli di sottolivello LLC che forniscono il servizio di conferma o di garanzia di ricezione dei dati devono prevedere messaggi di conferma avvenuta ricezione (acknowledge, o ACK). Il trasmittente può attendere il riscontro di ciascun messaggio prima di trasmettere il successivo, oppure può continuare a trasmettere fino al raggiungimento di un numero massimo di messaggi non ancora confermati dal ricevente, nei cosiddetti protocolli finestrati. Nei protocolli con finestra ciascun pacchetto trasmesso è identificato con un numero progressivo all’interno della finestra, detto numero di sequenza (sequence number); i messaggi di conferma devono riportare il numero di sequenza del pacchetto che riscontrano. I messaggi di conferma possono essere cumulativi (“ricevuti i pacchetti fino a N”), o richiedere la ritrasmissione cumulativa (“ritrasmettere i pacchetti fino a N”) o selettiva dei soli pacchetti non ricevuti correttamente. In alcuni casi il riscontro dei messaggi ricevuti utilizza un messaggio dedicato, in altri casi il riscontro viene inserito in campi specifici dei messaggi trasmessi in direzione opposta (piggyback) diminuendo le latenze di ritrasmissione.
SOTTOLIVELLO MAC
Il sottolivello inferiore è Media Access Control o Medium Access Control. Il suo scopo è quello di disciplinare l’accesso multiplo di molteplici nodi ad un canale di comunicazione condiviso evitando o gestendo l’occorrenza di collisioni. Una collisione si verifica quando due o più nodi trasmettono simultaneamente dati sul canale condiviso. Ciò comporta l’inevitabile perdita dei dati trasmessi con conseguente spreco di banda. Esistono molteplici algoritmi e protocolli standard per il controllo dell’accesso multiplo. Ad esempio, il MAC IEEE 802.3 adotta l’algoritmo CSMA/CD mentre il MAC IEEE 802.11 si basa sull’algoritmo CSMA/CA. Il primo è comunemente adottato in LAN cablate, il secondo in WLAN. Due sono le principali tipologie di algoritmi di accesso multiplo: casuale e ordinato. Nell’accesso multiplo casuale è possibile che si verifichino delle collisioni ma vengono implementati degli opportuni meccanismi per ridurne la probabilità di occorrenza e per ritrasmettere le trame collise. Nell’accesso ordinato, invece, l’evenienza di una collisione è del tutto impossibile poiché i nodi seguono un preciso ordine di accesso al canale (stabilito nella fase di inizializzazione della rete) che li rende utilizzatori esclusivi del mezzo trasmissivo (a meno di guasti o malfunzionamenti). A livello MAC, inoltre, si definisce il formato della trama, che tipicamente conterrà i campi di inizio/fine, i campi di indirizzo MAC mittente/destinatario, il pacchetto incapsulato di livello LLC, il codice per la rilevazione degli errori (FEC), ed opzionalmente dei byte di padding per garantire che la dimensione della trama non scenda al di sotto di una soglia minima.
FUNZIONALITA’ SOTTOLIVELLO LLC
Trasmissione sincrona e asincrona
La trasmissione seriale può avvenire in modo sincrono o asincrono. Nella trasmissione asincrona ogni carattere trasmesso viene preceduto e seguito da segnali che indicano appunto l’inizio e la fine del carattere; tali segnali vengono detti segnali di start e stop. La trasmissione asincrona perciò viene detta anche trasmissione start-stop. Con tale metodo ogni carattere può essere considerato indipendente dagli altri, l’intervallo di tempo tra l’invio di due caratteri è imprecisato. Nella trasmissione sincrona i caratteri da inviare vengono raggruppati in messaggi (frame). Ogni frame viene fatto precedere da caratteri di sincronizzazione che servono a far sì che la stazione ricevente si sincronizzi sulla velocità di trasmissione della stazione che invia il messaggio. La trasmissione sincrona è più veloce perché i tempi morti di trasmissione vengono ridotti, ma un errore anche in un singolo bit può danneggiare l’intero messaggio inviato. I protocolli di trasmissione sincrona si suddividono in BCP (Byte Control Protocol) o orientati al byte, in cui viene mantenuta la suddivisione in caratteri del messaggio da trasmettere, e BOP (Bit Oriented Protocol) o orientati al bit, in cui i messaggi sono visti come una successione di bit (in questo modo non si è legati alla codifica ASCII a 8 bit). Un’operazione importante nella trasmissione sincrona è il framing, cioè la suddivisione in frame delle informazioni da trasmettere.
Framing
Il termine framing fa riferimento alle seguenti operazioni:
- Incapsulamento dei dati con una intestazione (header) e una eventuale coda (trailer).
- Interpretazione dei bit presenti nelle intestazioni (ed eventualmente nelle code).
Al fine di fornire servizi al livello di rete, il livello data link deve usufruire dei servizi fornitigli dal livello fisico. L’approccio consueto del livello data link è quello di dividere il flusso dei bit in pacchetti (adattati appunto ad una trasmissione su una rete a pacchetto), e calcolarne la Checksum. Vari metodi vengono utilizzati per la suddivisione dei bit in pacchetti o frame:
- Conteggio dei caratteri.
- Caratteri di inizio e fine.
- Indicatori (flag) di inizio e fine.
Il metodo del conteggio di caratteri (ottenuto specificando nel campo d’intestazione del pacchetto il numero di caratteri del frame) è raramente utilizzabile poiché, se il campo che contiene il numero di caratteri si rovina (altera) durante la trasmissione, non si può più individuare dove comincia il frame successivo; vengono quindi utilizzate le altre tecniche. Nella trasmissione orientata al byte (il frame mantiene la suddivisione in byte) il frame viene preceduto dalla sequenza di caratteri ASCII DLE STX (Data Link Escape Start of TeXt) e finisce con la sequenza DLE ETX (Data Link Escape End of TeXt). Se un frame si rovina e la destinazione perde la sincronizzazione basta trovare il successivo DLE STX o DLE ETX. Il carattere DLE però può comparire casualmente dentro al frame quando vengono trasmessi dati binari come programmi oggetto o numeri in virgola mobile; perché questi caratteri non interferiscano viene aggiunto un ulteriore DLE (che viene rimosso a destinazione prima di passare al frame al livello di rete) in modo che solo i DLE singoli vengano interpretati come delimitatori; questa tecnica si chiama character stuffing. Nella trasmissione orientata al bit (il frame può contenere un numero qualsiasi di byte) ogni frame inizia e finisce con la sequenza 01111110 chiamata flag: questa sequenza può comparire casualmente nei dati, perciò in trasmissione dopo cinque 1 consecutivi viene sempre inserito uno 0 nel flusso di bit, indipendentemente dal fatto che il bit successivo sia 1 o 0, mentre in ricezione bisogna provvedere ad eliminare i bit inseriti, rimuovendo sempre uno 0 dopo cinque 1; questa tecnica è chiamata bit stuffing.
Controllo di errore
Come detto, la stazione mittente del livello data-link riceve i dati dal livello superiore e li suddivide in frame prima di affidarli al livello fisico per la trasmissione su canale, aggiungendo ad esso un codice per il controllo degli errori (integrità dati) di trasmissione in ricezione (checksum). Quando un pacchetto arriva a destinazione, la checksum viene ricalcolata dallo stesso livello data-link del sistema ricevente. Se il risultato è diverso da quello contenuto nel pacchetto, il livello data-link riconosce che è stato commesso un errore e prende adeguati provvedimenti (come ad esempio scartare il pacchetto e spedire un messaggio di errore in risposta al mittente). In generale si hanno due tipi di codici di controllo, i codici rilevatori che permettono soltanto di capire che il frame non è corretto ed eventualmente richiedere la ritrasmissione del pacchetto (ARQ Automatic Repeat-reQuest) e i codici correttori che permettono non solo di capire se si è verificato un errore, ma anche di individuare la posizione dell’errore e di conseguenza correggerlo (FEC Forward Error Correction). Questi ultimi codici richiedono molti più bit dei codici rilevatori e quindi sprecano ampiezza di banda; di solito perciò vengono usati i codici a sola rilevazione. In caso di errore, se il servizio è inaffidabile il frame può essere semplicemente scartato; se la linea deve essere affidabile bisogna che tutti i frame arrivino correttamente; se si usa un codice rilevatore il ricevente deve richiedere la ritrasmissione dei frame errati. La scelta tra codici rilevatori e correttori può dipendere anche dalla velocità delle linee (per linee a bassa velocità, aspettare la ritrasmissione potrebbe richiedere troppo tempo) o affidabilità (se il tasso di errore sulla linea è molto basso non vale la pena sprecare molta banda per un codice correttore) o dal tipo di servizio richiesto (real-time o meno). Il modo consueto per assicurare una consegna affidabile è quello di fornire al mittente un riscontro di quello che sta accadendo all’altro capo della linea. Tipicamente il protocollo richiede che il ricevente rispedisca alcuni speciali pacchetti di controllo con valore positivo o negativo a seconda dei pacchetti ricevuti. Se il mittente riceve un riscontro positivo su di un pacchetto spedito, sa che esso è arrivato correttamente. Se invece ottiene un riscontro negativo significa che qualcosa è andata male e che occorre ritrasmettere il pacchetto. Una complicazione aggiuntiva potrebbe derivare dalla possibilità che i problemi hardware causino la sparizione totale del pacchetto. Se un pacchetto non arriva a destinazione, il mittente non aspetterà all’infinito, infatti viene utilizzato un timer, che viene avviato quando i dati vengono trasmessi, se il timer supera la soglia limite (programmata) senza ricevere l’ACK (Acknowledgment o conferma), rimanderà di nuovo i pacchetti. Tuttavia, se il pacchetto o il messaggio di riscontro vengono persi, il timer scade (time-out), e la stazione mittente, non ricevendo conferma, è costretta a reinviare i dati, ma a questo punto il mittente potrebbe ricevere due o più volte lo stesso pacchetto. Per risolvere questo problema, i pacchetti inviati vengono numerati, così il sistema ricevente, nel caso in cui riceva un numero di pacchetto uguale al precedente, cioè una copia del pacchetto, lo scarta. Questa tecnica è nota come Stop and wait; le altre tecniche maggiormente utilizzate per il controllo degli errori sono il Codice di Hamming e il CRC (Controllo a Ridondanza Ciclica). Di fatto però funzionalità di controllo dell’errore sui singoli pacchetti vengono espletate non solo a livello datalink, ma in ogni altro strato del protocollo per garantire la correttezza dei dati di servizio (header) dei protocolli destinati ai rispettivi strati.
Controllo di flusso
Un altro importante problema di progettazione che si ritrova nel livello di data link è quello di gestire una linea condivisa quando più nodi vogliono inviare messaggi nello stesso tempo e inoltre deve decidere cosa fare di un mittente che sistematicamente tende a trasmettere pacchetti più velocemente di quanto il ricevente possa accettarli. Questa situazione può facilmente essere riscontrata quando il mittente è dislocato su una macchina veloce e il ricevente su una macchina lenta. Il mittente continua a spedire pacchetti ad alta velocità, fino a quando il ricevente non è completamente sopraffatto. Anche se la trasmissione è esente da errori, a un certo punto il ricevente non sarà in grado di gestire i pacchetti in arrivo e inizierà a perderli (buffer overflow). La tipica soluzione è quella di introdurre un controllo di flusso per obbligare il mittente a rispettare la velocità del ricevente nello spedire i pacchetti. Questa imposizione solitamente richiede un certo tipo di meccanismo di riscontro (feedback) in modo che il mittente possa essere avvisato se il ricevente è in grado di ricevere o meno. Nel caso in cui invece più nodi vogliono inviare contemporaneamente dei messaggi, si tende ad introdurre un controllo centralizzato, creando un singolo nodo di controllo, responsabile di determinare chi ottiene la priorità all’interno della rete; il nodo successivo quindi, controllerà quando la rete non sarà più occupata, così da poter inviare il messaggio appena questa diventerà libera. Può accadere però, che più nodi monitorizzano la rete e che appena questa sia libera, inviano immediatamente i messaggi, in questo caso si avranno dei problemi di collisione; per ovviare a questo problema, i nodi che monitorano la rete saranno regolati da un protocollo di accesso multiplo attendendo ad esempio un tempo casuale prima di inviare i messaggi, poiché è improbabile che i nodi scelgano lo stesso istante per inviare i dati.
FUNZIONALITA’ SOTTOLIVELLO MAC
In telecomunicazioni, nell’ambito delle reti di calcolatori, il MAC (acronimo di Medium Access Control o Media Access Control) è un sottolivello del modello architetturale standardizzato ISO/OSI, definito nello standard IEEE 802, che contiene funzionalità di controllo dell’accesso al mezzo fisico per canali broadcast, funzionalità di framing e controllo di errore. Fa parte del livello datalink, di cui rappresenta il sottolivello inferiore sovrastato dal sottolivello LLC e limitato inferiormente dal livello fisico. Le varie caratteristiche di questo strato vengono descritte dalla terza parte dello standard in poi. È il livello a cui trova sede l’indirizzo MAC o indirizzo fisico del calcolatore. Questo strato ha principalmente due funzioni, quella di incapsulamento dati e quella dell’accesso al mezzo. La prima funzione si occupa dell’incapsulamento dei frame prima della loro trasmissione e del decapsulamento alla loro ricezione; inoltre si occupa della rivelazione degli errori di trasmissione e di delimitare il frame per favorire la sincronizzazione tra il trasmettitore e il ricevitore. La seconda funzione controlla l’accesso ai media, comunicando direttamente con in livello fisico.
APPARATO DI LIVELLO 1 HUB
In informatica e telecomunicazioni, nella tecnologia delle reti informatiche, un hub (letteralmente in inglese fulcro, mozzo, elemento centrale) rappresenta un concentratore, ovvero un dispositivo di rete che funge da nodo di smistamento dati di una rete di comunicazione dati organizzata con una topologia logica a bus e di topologia fisica a stella. Attualmente la tecnologia degli hub è considerata obsoleta, poiché largamente soppiantata dall’uso degli switch di rete. Dal 2011, l’utilizzo di hub o ripetitori per connettere reti di calcolatori è deprecato dallo standard IEEE 802.3.
DESCRIZIONE
L’HUB è un dispositivo che invia i pacchetti a tutti i dispositivi presenti, il difetto è che tutti i pacchetti al di fuori di quelli per il diretto interessato vanno persi; così facendo si viene a creare un traffico inutile. Nel caso diffuso delle reti Ethernet, esso inoltra i dati in arrivo da una qualsiasi delle sue porte su tutte le altre, cioè in maniera diffusiva (broadcasting). Per questa ragione può essere definito anche come ripetitore multiporta. Proprio per quest’ultimo motivo, attraverso l’uso di questo dispositivo di fatto si implementa una rete di topologia logica a bus. Questo permette a due dispositivi di comunicare attraverso l’hub come se questo non ci fosse, a parte un piccolo ritardo aggiuntivo nella trasmissione oltre a quello standard di propagazione. La conseguenza del comportamento dell’hub è che la banda totale disponibile in uscita viene frazionata e ripartita tra i vari segnali portanti inviati a causa del moltiplicarsi dei dati da inviare.
Vi sono tre categorie di Hub:
- Hub attivi: (ormai la grande maggioranza dei dispositivi in commercio sono di questo tipo), necessitano di alimentazione elettrica, poiché amplificano il segnale per ridurre al minimo l’attenuato a destinazione.
- Hub passivi: non hanno la funzione di “amplificazione di segnale”, quindi non necessitano di alimentazione. Si limitano solo a connettere fisicamente i cavi.
- Hub ibridi: sono particolari ed avanzati hub che permettono il collegamento tra più tipologie di cavo.
Oltre a queste tre categorie, un hub può anche essere classificato come hub-root (dall’inglese root, radice) quando viene disposto in una particolare configurazione “a centro-stella” a cui sono connessi solamente altri hub o switch. La particolarità dell’hub-root rispetto ai normali hub, consiste nel non avere legami diretti con i terminali, ed è quindi caratterizzato da una maggiore distanza dalla conoscenza. È necessario prestare attenzione in alcuni casi particolari. Ad esempio, lo standard 10Base-T prevede che la lunghezza del cavo UTP non superi i 100 metri. Generalmente usando un hub attivo e facendo uso dello standard 10Base-T possiamo usare una coppia di cavi entrambi lunghi sui 100 metri, interconnessi dall’hub stesso, superando quindi il limite dei 100 metri teorici secondo tale schema: “PC-hub attivo-PC” (cavi rappresentati sotto tratteggio). Questo è possibile perché l’hub attivo amplifica il segnale, portandolo a destinazione con un’intensità tutto sommato buona. Tale tipo di interconnessione non è attuabile mediante hub passivo, poiché i due spezzoni di cavo verrebbero interconnessi senza amplificazione, ed il risultato finale sarebbe non diverso dall’avere un cavo lungo il doppio del massimo previsto dallo standard, connettente PC e PC: il segnale potrebbe arrivare troppo debole o non arrivare proprio. Il ritardo introdotto da un hub è generalmente di pochi microsecondi, quindi quasi trascurabile e ininfluente. La semplicità del comportamento di un hub ne fa uno dei componenti più economici per costruire una rete. Uno switch, che si comporta in modo simile ad un hub, ma con una maggiore “intelligenza”, in modo da non sprecare gran parte della banda, è leggermente più complicato e costoso. Un hub non ha bisogno di riconoscere i confini dei dati che lo attraversano, quindi è considerato un dispositivo di livello 1 (fisico) nel modello ISO/OSI in quanto ritrasmette semplicemente i segnali elettrici e non entra nel merito dei dati. Nel gergo delle reti Ethernet, un hub crea un unico dominio di collisione unendo tutti i calcolatori o le reti connessi alle sue porte, ovvero se due calcolatori collegati a porte diverse trasmettono contemporaneamente si verifica una collisione di pacchetti in ricezione e la trasmissione deve essere ripetuta. Infatti l’hub non distingue i segmenti di LAN e ritrasmette tutti i segnali che riceve. Ciò crea anche delle limitazioni al numero di nodi che si possono connettere nella LAN vista nella sua complessità. Inoltre, a causa di questa sua semplice funzione, non è possibile connettere segmenti Ethernet di tipologia e di velocità diversa in quanto l’hub non è neanche fornito di buffer. In pratica dunque la LAN nel suo complesso va vista come un’unica rete.
APPARATI DI LIVELLO DUE
IL BRIDGE
Il bridge (letteralmente ponte) è un dispositivo di rete che si colloca al livello datalink del modello ISO/OSI e che traduce da un mezzo fisico a un altro all’interno di una stessa rete locale. Esso è quindi in grado di riconoscere, nei segnali elettrici che riceve dal mezzo trasmissivo, dei dati organizzati in strutture a pacchetto dette trame (in inglese frame), di individuare all’interno di esse l’indirizzo del nodo mittente e quello del nodo destinatario e in base a questi operare un indirizzamento delle trame tra più segmenti di rete a esso interconnessi.
FUNZIONAMENTO
Tipicamente un bridge è munito di porte con cui è collegato a diversi segmenti della rete locale indirizzando pacchetti tra essi. Quando riceve un frame su una porta, cerca di capire dall’indirizzo del destinatario se questi si trova nello stesso segmento del mittente oppure no. Nel primo caso evita di inoltrare il frame, in quanto presumibilmente il destinatario l’ha già ricevuto per condivisione del bus di comunicazione. Nel secondo caso, invece, il bridge inoltra la trama verso il segmento in cui si trova effettivamente il destinatario. Se non sa su quale segmento si trova il destinatario, il bridge inoltra il frame su tutte le porte tranne quella da cui l’ha ricevuta. Queste operazioni sono definite operazioni di filtraggio e inoltro. Nell’attraversare il bridge il pacchetto informativo subisce dunque un ritardo aggiuntivo, rispetto a quello consueto di propagazione, e dovuto ai tempi di elaborazione che il bridge opera sul pacchetto per decidere su quale segmento, quindi su quale porta di uscita, inoltrarlo.
Tabelle di indirizzi
Per inoltrare i frame verso i domini giusti, il bridge mantiene una tabella (chiamata tabella di forwarding) di indirizzi MAC per ciascuna porta, e in base al suo contenuto è in grado di capire verso quale porta, e quindi quale dominio, inoltrare il frame. La tabella può essere creata manualmente dall’amministratore di rete attraverso apposito software residente, oppure può essere creata automaticamente tramite un meccanismo di auto-apprendimento (auto-learning) tramite il traffico progressivo di pacchetti sul bridge associando porta di provenienza con l’indirizzo del mittente. Tale apprendimento può essere reso ancora più sofisticato ed efficiente prevedendo la cancellazione da parte del bridge stesso dell’indirizzo MAC dopo un certo periodo di tempo in cui non viene usato (tempo di invecchiamento) evitando così l’aggiornamento manuale e problemi di scalabilità all’aumentare del numero di host nella rete. All’accensione del Bridge le tabelle degli indirizzi (forwarding) sono vuote perciò al passaggio di un frame questo viene inoltrata su tutte le linee del Bridge (ad eccezione di quella di arrivo) eseguendo quello che viene chiamato Flooding. In pratica i bridge sono sempre più dispositivi plug-and-play per cui si parla di bridge trasparenti.
Domini di collisione
Ciascun segmento di rete, collegato ad una porta di un bridge, costituisce un dominio di collisione separato. Ciò ottimizza notevolmente le trasmissioni sulla rete locale diminuendo il numero di collisioni. Grazie a questa sua caratteristica il bridge consente di costruire una LAN di dimensioni infinite. Inoltre se un bridge individua che su un altro segmento di rete su cui deve trasmettere esiste un problema di collisione, allora applica l’algoritmo CSMA/CD operando come un qualsiasi host della rete cioè mediante bufferizzazione dei dati e l’invio di questi a LAN libera. Pertanto un bridge può essere usato per collegare a livello datalink due domini di collisione senza aumentare il rischio di collisioni o, viceversa, per dividere un dominio di collisione in due domini più piccoli e quindi più performanti.
LO SWITCH
Uno switch (commutatore), nella tecnologia delle reti informatiche, è un dispositivo di rete che si occupa di commutazione a livello datalink (collegamento dati), il livello 2 del modello ISO/OSI, introdotto per ridurre il cosiddetto dominio di collisione nelle reti LAN Ethernet (ora IEEE 802.3).
DESCRIZIONE
Uno switch è un dispositivo in una rete di computer che collega insieme altri dispositivi. Più cavi di rete sono collegati a uno switch per abilitare la comunicazione tra diversi dispositivi. Gli switch gestiscono il flusso di dati attraverso una rete trasmettendo un pacchetto di rete ricevuto solo a uno o più dispositivi per i quali il pacchetto è destinato. Ogni dispositivo collegato in rete a uno switch può essere identificato dal suo indirizzo MAC, consentendo allo switch di dirigere il flusso del traffico massimizzando la sicurezza e l’efficienza della rete. Uno switch è più “intelligente” di uno hub Ethernet, che semplicemente ritrasmette i pacchetti fuori da ogni porta dello hub, eccetto la porta su cui è stato ricevuto il pacchetto: l’hub è incapace di distinguere i diversi destinatari e pertanto ottiene un’efficienza di rete complessivamente inferiore. Uno switch Ethernet opera sul livello di collegamento dati (livello 2) del modello OSI per creare un dominio di collisione separato per ciascuna porta dello switch. Ogni dispositivo collegato a una porta dello switch può trasferire dati a una qualsiasi delle altre porte in qualsiasi momento e le trasmissioni non interferiranno. Nella modalità half duplex, ogni porta dello switch non può contemporaneamente ricevere e trasmettere al dispositivo a cui è connessa. Al contrario, ciò è possibile nella modalità full duplex, assumendo che il dispositivo connesso supporti tale modalità. Poiché le trasmissioni continuano a essere inoltrate a tutti i dispositivi connessi tramite lo switch, il nuovo segmento di rete continua a essere un dominio di trasmissione. La segmentazione implica l’uso di uno switch per dividere un dominio di collisione più grande in uno più piccolo al fine di ridurre la probabilità di collisione e migliorare il throughput complessivo della rete. Nel caso estremo (cioè micro-segmentazione), ogni dispositivo si trova su una porta switch dedicata. A differenza di uno hub Ethernet, esiste un dominio di collisione separato su ciascuna porta dello switch. Ciò consente ai computer di disporre di una larghezza di banda dedicata sulle connessioni Point-to-Point alla rete e anche di eseguire in modalità full-duplex. La modalità full-duplex ha un solo trasmettitore e un ricevitore per dominio di collisione, rendendo impossibile la collisione.
Lo switch gode, rispetto a un bridge, di:
- maggiore espandibilità in termini di numero di porte
- performance migliori
Inoltre uno switch di fascia alta fornisce tipicamente le seguenti caratteristiche:
- possibilità di gestione;
- supporto di più istanze del protocollo Spanning Tree;
- Shortest Path Bridging;
- supporto di LAN virtuali (VLANs) secondo lo standard 802.1Q;
- mirroring delle porte;
- supporto della QoS (Quality of Service).
APPROFONDIMENTO AI
Il Livello Data Link (o Livello di Collegamento Dati) è il secondo livello del Modello OSI (Open Systems Interconnection), e ha il compito principale di fornire un collegamento affidabile tra due nodi adiacenti su una rete. Questo livello si occupa della trasmissione dei dati all’interno della stessa rete locale (LAN) o tra nodi collegati direttamente su una rete.
Funzioni principali del Livello Data Link:
1. Framing (Incapsulamento):
•I dati ricevuti dal livello di rete vengono suddivisi in unità più piccole chiamate frame. Ogni frame contiene dati, informazioni di controllo (come indirizzi di destinazione e sorgente) e un controllo di errore per rilevare eventuali problemi durante la trasmissione.
2. Indirizzamento Fisico:
•Il livello di collegamento dati utilizza indirizzi MAC (Media Access Control) per identificare univocamente i dispositivi connessi a una rete. Questo indirizzo fisico consente al livello di data link di determinare il nodo di destinazione corretto sulla rete.
3. Controllo degli Errori:
•Uno degli scopi più importanti del livello di collegamento dati è quello di assicurarsi che i dati siano trasmessi senza errori. Questo avviene utilizzando tecniche come il Cyclic Redundancy Check (CRC) che verifica se i dati sono stati corrotti durante la trasmissione.
4. Controllo di Flusso:
•Il livello di collegamento dati regola la velocità di trasmissione dei dati tra i due nodi per evitare che il ricevitore venga sovraccaricato. Sistemi di controllo di flusso come il protocollo sliding window vengono utilizzati per gestire il flusso di dati.
5. Accesso al Canale:
•Nelle reti dove più dispositivi condividono lo stesso mezzo di comunicazione (come una LAN), il livello data link gestisce l’accesso al mezzo condiviso per evitare collisioni di dati. Alcuni protocolli che gestiscono l’accesso al canale sono CSMA/CD (Carrier Sense Multiple Access with Collision Detection) utilizzato in reti Ethernet.
Sotto-livelli del Livello Data Link:
Il livello Data Link è suddiviso in due sotto-livelli principali:
1. Sotto-livello LLC (Logical Link Control):
•Questo sotto-livello si occupa del controllo logico della connessione e del flusso dei dati. Gestisce il multiplexing dei protocolli di rete sopra il livello di collegamento dati e coordina il trasferimento dei dati tra dispositivi.
2. Sotto-livello MAC (Media Access Control):
•Il sotto-livello MAC è responsabile del controllo dell’accesso al mezzo fisico di trasmissione. Gestisce come e quando i dispositivi possono trasmettere dati sulla rete. Utilizza meccanismi per evitare collisioni e regola l’accesso al mezzo condiviso.
Protocolli del Livello Data Link:
Alcuni dei principali protocolli che operano a questo livello sono:
•Ethernet: il protocollo più comune per le reti locali (LAN), utilizza l’indirizzamento MAC e un sistema di controllo di accesso al mezzo (CSMA/CD) per evitare collisioni.
•PPP (Point-to-Point Protocol): utilizzato per collegamenti punto-punto come connessioni dial-up o VPN.
•HDLC (High-Level Data Link Control): protocollo utilizzato su collegamenti seriali e in reti WAN per fornire una connessione affidabile.
Riepilogo:
Il Livello Data Link è cruciale per garantire che i dati possano viaggiare senza errori e in modo efficiente tra due nodi direttamente connessi, attraverso il controllo degli errori, del flusso e l’indirizzamento dei pacchetti a livello di rete locale.
Lascia un commento