Reti di Calcolatori - Esercizi Riepilogativi PDF
Document Details
Uploaded by Deleted User
Luca Agostini
Tags
Summary
Questo documento contiene esercizi e domande riepilogative sulle reti di calcolatori, coprendo argomenti quali le differenti tipologie di canali trasmissivi, le caratteristiche delle Local Area Network (LAN), Metropolitan Area Network (MAN) e Wide Area Network (WAN), le differenze tra commutazione e multiplazione e le caratteristiche dei 7 livelli dell'architettura di riferimento OSI. Gli argomenti sono trattati in modo analitico.
Full Transcript
RETI DI CALCOLATORI ESERCIZI RIEPILOGATIVI Lezioni 1 - 30 con Risposte Luca Agostini Esercizi relativi alle lezioni 1, 2, 3, 4, 5, 6 1) Descrivere le differenti tipologie di canali trasmissivi Un canale di comunicazione è un collegamento fisico oppure logico per trasportare informazioni t...
RETI DI CALCOLATORI ESERCIZI RIEPILOGATIVI Lezioni 1 - 30 con Risposte Luca Agostini Esercizi relativi alle lezioni 1, 2, 3, 4, 5, 6 1) Descrivere le differenti tipologie di canali trasmissivi Un canale di comunicazione è un collegamento fisico oppure logico per trasportare informazioni tra due entità, ad esempio due calcolatori. I canali possono essere: · Punto-punto, in cui l’interconnessione è tra due entità e la trasmissione può essere unidirezionale o bidirezionale. · Multipunto, in cui la connessione è tra più nodi. Uno dei nodi ha il controllo del canale e tale nodo è detto master mentre gli altri sono detti slave. E’ un tipo di canale non più molto diffusa. · Broadcast, in cui il canale collega più nodi e ogni trasmissione raggiunge tutti i nodi, per cui sono necessari indirizzi, per far capire il destinatario della trasmissione. 2) Quali sono le principali caratteristiche di una Local Area Network (LAN)? Di una Metropolitan Area Network (MAN)? Di una Wide Area Network (WAN)? Discutere le principali differenze tra LAN, MAN e WAN Le reti si possono distinguere dalla loro distanza, ovvero si distinguono dalle distanze che intercorrono fra i sistemi: si va dai centimetri (network on chip) alle migliaia di chilometri (interconnessione di reti geografiche). Le diverse distanze tra le reti comporta un utilizzo di tecniche diverse. Anche il tipo di informazione scambiata è diversa in funzione del tipo di rete. Ci sono principi fondamentali validi per tutti i tipi di rete. Le tre più importanti tipologie di rete sono: · LAN - Local Area Network. Elevata velocità di trasmissione, transmission rate 100Mb/s. Ha una co- pertura limitata, che va da una decina di metri (una stanza) al chilometro (campus). E’ conforme allo standard ISO/IEEE. Le reti locali, solitamente chiamate LAN, sono reti private installate all’interno di un singolo edificio o campus, con dimensione fino a qualche Km. Sono largamente impiegate per collegare persona1 com- puter e workstation negli uffici delle aziende e nelle fabbriche, allo scopo di condividere risorse (per esempio stampanti) e scambiare informazioni. Le LAN si distinguono dagli altri tipi di rete per tre caratteristiche: (1) la dimensione, (2) la tecnologia di trasmissione, (3) la topologia. Le reti LAN hanno dimensioni contenute, il che significa che il tempo di trasmissione più sfavorevole ha un lite, che è noto. Conoscere questo limite permette l’uso di alcune tecniche, che non sarebbero altrimenti applicabili. Semplifica inoltre la gestione della rete. Le LAN possono usare una tecnologia di trasmissione rappresentata da un cavo a cui sono connesse tutte le macchine, come le linee telefoniche duplex usate in passato in alcune zone rurali. Le LAN tradizionali lavorano a velocità comprese tra 10 Mbps e 100 Mbps, hanno bassi ritardi (microsecondi o nanosecondi) e hanno pochissimi errori. · MAN – Metropolitan Area Network. Velocità di trasmissione medio alta, >2Mb/s. Utilizzo su estensioni cittadine, dell’ordine di 10 km.. Standard sia ITU-T sia ISO/IEEE. · WAN – Wide Area Network. Velocità di trasmissione molto bassa. Copertura molto vasta, a livello di nazione e continente, dell’ordine che va da una decina di chilometri a un migliaio di chilometri. Stan- dard ITU-T. Una Wide Ara Network o WAN copre un’area geograficamente estesa, spesso una nazione o un continente. Racchiude una raccolta di macchine destinate a eseguire programmi utente (applicazio- ni). Seguendo le consuetudini, queste macchine vengono chiamate host. Gli host sono collegati da una communication subnet, per brevità chiamata semplicemente subnet (sottorete). Gli host sono di proprietà dei clienti (per esempio i persona1 computer degli utenti), mentre la communication subnet è generalmente posseduta e gestita da una compagnia telefonica o da un Intemet service provider. Queste reti hanno una gerarchia, con la WAN in alto e la LAN in basso. Le trasmissioni dati sono attualmente ad alta velocità in quanto a banda larga e questo perché il mezzo trasmissivo installato è una risorsa molto preziosa per cui si cerca di utilizzarla al massimo cercando di trasferire il più possibile informazioni. 3) Qual’è la differenza tra commutazione e multiplazione? La MULTIPLAZIONE, ovvero multiplexing in inglese, consiste nella condivisione di un canale fisico. Può essere basata sul tempo, per cui le stazioni sullo stesso canale condiviso trasmettono a turno. Può essere basata sulla frequenza, quindi usando tecniche di modulazione, ad esempio WDM (wave- length multiplexing), la multiplazione a modulazione di lunghezza d’onda. Modulare il segnale significa usare diverse frequenze di modulazione, questo comporta una non interferenza di più segnali che sono trasmessi sul canale. Le trasmissioni radio e televisive sono gestite in questo modo. Può essere basata su codici. La soluzione trasmissiva affinché i dati trasmessi siano riconoscibili è quella di adottare i pacchetti che hanno una intestazione, ovvero informazioni di servizio, che contiene l’informazione di appartenenza ad una data comunicazione da parte di quel pacchetto di bit. Questa operazione può essere fatto nel calcolatore oppure nel multiplexer. Il demultiplexer, in fase di ricezione dati, riuscirà a dividere oppor- tunamente i pacchetti in base a tale informazione. L’informazione aggiuntiva necessaria a tale tipo di soluzione è detta overhead. Il canale può essere usato dinamicamente, ovvero statisticamente, per la comunicazione che ha dati da trasmettere in quel momento. Per rendere riconoscibili i pacchetti si può usare la tecnica TDM (Time-Division Multiplexing), in cui l’appartenenza è codificata nella posizione temporale. A tale scopo è richiesta una sincronizzazione tra multiplexer e demultiplexer. In questo tipo di soluzione se una trasmissione non contiene nulla, qualcosa deve essere comunque trasmesso, a differenza della soluzione precedente. Questo tipo di multiplazione, insieme alla commutazione di circuito, di cui parleremo, è quella usata nelle reti telefoniche, tariffate a tempo. A differenza delle trasmissione dati, tariffate a pacchetto e quindi a volume generato. COMMUTAZIONE [SWITCHING]. Nel momento in cui abbiamo la capacità di multiplare comunicazioni diverse sullo stesso canale possiamo creare dei dispositivi che sono collegati a diversi canali; questi dispositivi sono detti switch (commutatori), router (instradatori), nodi della rete, intermediate systems (sistemi che stanno nel mezzo di una comunicazione). In altre parole, la COMMUTAZIONE è un’o- perazione all’interno di un nodo, rappresentato da un dispositivo collegato a diversi canali, che tratta l’informazione da trasmettere sotto forma di segnale, affinché sia indirizzata verso la destinazione desiderata. Un dispositivo del genere ha diversi canali da cui riceve informazioni, di “colore” diverso ed il suo com- pito è quello di spostare le informazioni da un canale all’altro. Questo avviene per la loro capacità di multiplexing e demultiplexing. Ci sono svariati modi in cui i nodi possono realizzare la loro commutazione: · Nodi a commutazione di pacchetto, packet switching. I più utilizzati, guardano le intestazioni dei pac- chetti, le elaborano ed effettuano una operazione di routing ed infine commutano il pacchetto, ovvero lo spostano verso l’uscita opportuna del dispositivo sulla quale quel pacchetto verrà multiplato con altri. Questo è il modo in cui viaggiano i dati a pacchetto in una rete, come ad esempio Internet. · Commutazione di circuito, circuit switching, che può essere basata sul tempo (usata in telefonia, ma in disuso) oppure sulla frequenza, come nel caso dell’optical switching (anche quest’ultima tecnica è usata in Internet). 4) Qual’è la principale differenza tra la comunicazione orientata e quella non orientata alla con- nessione? Ci sono due grosse famiglie nel contesto di interazione e servizi offerti dai livelli: servizi non connessi e servizi connessi, quindi comunicazioni non orientate oppure orientate alla connessione. Nelle COMUNICAZIONI NON ORIENTATEALLACOMUNICAZIONE, CONNECTIONLESS, non è ne- cessario un contatto o un’azione preliminare. Le unità dati, cioè le PDU (Protocol Data Unit) vengono mandate ognuna a se stante (si parla di servizio datagram). Questo tipo di servizio non richiede nor- malmente informazione di stato, non richiede di mantenere traccia degli scambi precedenti, nè negli End System (ES) nè negli Intermediate System (IS). I servizi non connessi sono di tipo best-effort (non affidabile), cioè si fa il possibile ma non si garantisce nulla, non ci sono conferme e quindi i messaggi possono andare persi. Inoltre non c’è controllo di flusso, quindi i dati possono essere troppi per il de- stinatario. Non c’è controllo della congestione e quindi i dati possono essere troppi per gli intermediate system (IS). Il servizio connectionless funziona con qualsiasi tipo di canale (sia punto-punto, sia multi- punto, multicast o broadcast). E’ un servizio più semplice e flessibile, per cui le funzionalità sofisticate sono demandate ad altri livelli, sia sotto che sopra. Nelle COMUNICAZIONI ORIENTATE ALLA CONNESSIONE, CONNECTION ORIENTED, più sofi- sticate, richiedono un coordinamento precedente alla comunicazione, quindi occorre un meccanismo (protocollo) di segnalazione e occorrono informazioni di stato negli Intermediate System e negli End System. In questo caso è possibile garantire che i dati siano consegnati correttamente, una sola volta ed in ordine, ma ad un costo e ad una complessità aggiuntiva. Comunicazioni non orientate alla connessione sono UDP (User Datagram Protocol) e IP (Internet Protocol); connessioni orientate alla connessione sono TCP (Transmission Control Protocol), GPRS (General Packet Radio Service, una delle tecnologie di telefonia mobile cellulare). 5) Nell’ambito delle reti di calcolatori, cosa si intende per “host”? Per host si intende un sistema collegato ad una rete, una stazione, che riceve ed invia dati sulla rete. E’ anche definito End System, a differenza degli Intermediate System che hanno un ruolo di smistamento e reindirizzamento dei dati. Una rete di calcolatori è una rete do host. 6) Descrivere le caratteristiche principali dei 7 livelli dell’architettura di riferimento OSI I livelli (layers) dell’architettura di riferimento OSI (Open System Interconnection), sono: 7 Application Livello applicazione. L’unità dati è specifica dell’applicazione (una pagina HTML, un messaggio di posta elettronica ecc.). Le funzionalità sono specifiche dell’applicazione. 6 Presentation Livello presentazione. Ha a che fare con l’informazione, cioè il contenuto infor- mativo che va scambiato. Il livello presentazione cerca di adattare la rappre- sentazione e il formato dei dati che può essere diverso nei due End System in comunicazione. Quindi si occupa di fare una traduzione di sintassi dal formato usato nell’End System mittente a una sintassi di comunicazione, una sintassi usata nel trasferimento. La cifratura è un’altra funzionalità di questo livello. 5 Session Livello sessione. Ha a che fare con transazioni, che sono comunicazioni più complicate, con procedure che coinvolgono eventuali scambi di dati. Esso ha a che fare con l’organizzazione della comunicazione. Nasconde interruzioni di servizio che possono avvenire, cioè cerca di mascherare ai livelli superiori una eventuale mancata connettività. 4 Transport Livello trasporto. L’unità dati può essere un messaggio (un insieme di bit) op- pure una sequenza di byte. Il livello trasporto opera End-to-End, cioè le entità in comunicazione si trovano sempre sugli End System e non gli Intermediate System e quindi i punti terminale della comunicazione. Esso è inconsapevole dell’attraversamento di tanti nodi. Una serie di funzionalità che questo livello ha servono per compensare le limitazioni del livello rete o inferiori, quindi, ad esempio fare il controllo degli errori. Può fare controllo di flusso, quindi evitare che il trasmettitore sovraccarichi il ricevitore; può fare il controllo di congestio- ne, cioè evitare che il trasmettitore trasmetta così tanto da sovraccaricare la rete. Il livello trasporto si occupa di adattare i pacchetti, si tratta di un servizio di trasferimento di sequenza di byte, che devono comunque essere organizzati in gruppi per metterli in pacchetti di livello 3. 3 Network Livello rete. Esso lavora su unità dati che sono pacchetti, un insieme di bit, o PDU (protocol data unit), come da terminologia OSI. Tale livello si occupa della consegna dei dati (dei pacchetti) attraverso nodi intermedi, overo tan- ti Intermediate System, quindi fa funzionalità di instradamento dei pacchetti (“routing”), di inoltro dei pacchetti (“forwarding“), che sono ricevuti da collega- menti in ingresso e mandati su collegamenti in uscita. Il livello rete si occupa di definire il formato e la modalità di utilizzare degli indirizzi, che identificano gli End System all’interno della intera rete, per poter consegnare i dati all’End System giusto passando attraverso un certo numero di Intermediate System. 2 Data Link, o Link Livello collegamento. L’unità dati che il livello data link è un frame (o tra- ma), che è un gruppo di bit. Per poter usare sequenze di bit la prima fun- zionalità realizzata dal livello data link è la cosiddetta frame delineation, cioè capire dove inizia e finisce il frame, data una sequenza di bit. Il livello data link aggiunge i suoi dati in cime ed alla fine dei dati che riceve dall’al- to. Un’altra funzionalità di questo livello è il controllo dell’accesso al mez- zo. In un canale a bus con molte stazioni che devono trasmettere, deve esser deciso quale di esse deve trasmettere, perché se più di una tra- smette allo stesso tempo i segnali interferiscono e si rovinano l’un l’altro. Il controllo dell’accesso al mezzo è detto Medium Access Control, MAC, e viene realizzato dal livello data link. Un’altra importante funzionalità del livello data link è il rilevamento e la correzione degli errori. Quando il livello fisico tra- sferisce un bit, può succedere che quel bit venga trasferito in modo sbagliato, una qualsiasi ragione. Il livello data link ha anche funzionalità di controllo del flusso, che vuol dire evitare che il trasmettitore trasmetta più di quanto sia in grado di ricevere il ricevitore. Nelle reti moderne non viene fatto nel livello data link, ma è una funzionalità che il livello data link può avere. 1 Physical Livello fisico, physical layer; ha a che fare, per quanto riguarda le unità dati, con i bit; quindi, poiché i livelli scambiano dati tra di loro, il livello fisico scambia dei bit. Esso definisce come vengono codificati i bit, come vengono rappresen- tati da un segnale che viene trasmesso sul mezzo. Definisce le caratteristi- che fisiche dei mezzi che vengono usati per la trasmissione, le caratteristiche dei segnali elettromagnetici usati su questi mezzi e dei connettori che i mezzi devono avere per collegare le realizzazioni del livello fisico sui vari sistemi. La standardizzazione è molto importante. 7) Come avviene la comunicazione tra i diversi livelli OSI? L’interazione tra i vari livelli avviene tramite la cosiddetta Protocol Entity (entità protocollare) che realiz- zala le funzionalità di un livello (N-entity, in riferimento alla realizzazione delle funzionalità del livello N). Una N-entity comunica con una N-entityt remota dello stesso livello ed usa i servizi del livello inferiore (n-1). L a comunicazione tra una N-entity ed una N-1-entity avviene attraverso un Service Access Point (SAP), un punto di accesso ai servizi. Il SAP è anche un modo in cui vengono identificate le entità. I SAP sono importanti per realizzare il concetto di indirizzo. Un indirizzo deve identificare prima di tutto un sistema su cui sono in esecuzione delle identità protocollari, e deve identificare il processi che stan- no generando o ricevendo dati. Quindi gli indirizzi sono alla fine delle sequenze di SAP. La sequenza di SAP usate identifica la specifica comunicazione tra due entità protocollari. Le informazioni che vengono mandate da una entità di un certo livello ad un’entità remota dello stesso livello sono dette Protocol Data Unit (PDU), in particolare N-PDU, cioè PDU di livello N. Si noti che quando una N-PDU viene passata al livello inferiore essa viene ribattezzata come /N-1)-SDU, ovvero una Service Data Unit di livello N - 1. Questo vuol dire che essi sono dati di servizio perché il livello N - 1 offre un servizio al livello N superiore, che passa anche delle informazioni di servizio insieme alla (n-1)-SDU. Il livello N - 1 aggiunge informazioni ulteriori che in terminologia OSI sono dette Protocol Control Information (ottenendo un (N-1)-PCI), che sarebbe poi una specie di header del livello. Quindi il livello N - 1 aggiunge informazioni (PCI) all’(N-1)-SDU e così facedno costruisce la sua (N-1)-PDU, che vuole mandare al livello N - 1 remoto. Questo procedimento di prendere le informazioni del livello superiore ed aggiungerci delle informazioni si chiama Encapsulation, incapsulamento o anche imbu- stamento. Il generico livello n-esimo fornisce servizi al livello superiore n+1-esimo e interagisce con un livello n-esimo remoto, cioè i livelli n-esimi di stazioni diverse interagiscono tra di loro, tramite un protocollo di livello n-esimo. Il generico livello n-esimo usa i servizi forniti dal livello sottostante (n-1-esimo). Due livelli adiacenti interagiscono attraverso interfacce, che definiscono servizi, primitive, offerti al livello superiore. Il livello inferiore fornisce servizi al livello superiore ed il livello superiore usa i servizi forniti dal livello inferiore. 8) Che cosa si intende per round-trip time? Il Round Trip Time o Round Trip Delay (acronimo RTT) è una misura del tempo impiegato da un pac- chetto di dimensione trascurabile per viaggiare da un computer della rete ad un altro e tornare indietro (tipicamente, un’andata client-server ed il ritorno server-client). Protocolli di trasporto come TCP prevedono la ricezione di un ACK (riscontro) in seguito all’arrivo a de- stinazione dei dati trasmessi. Essi mantengono la stima del RTT corrente per ogni connessione e usa- no tale stima per determinare il tempo massimo di attesa di un ACK prima della ritrasmissione dei dati. 9) Cos’è e a cosa serve CSMA/CD? A che livello della pila protocollare OSI si trova? CSMA/CD è l’algoritmo che decide chi può trasmettere, Carrier Sense Multiple Access withCollision Detection. Gli indirizzi delle stazioni servono per capire chi deve ricevere; questo algoritmo, date tutte le stazioni collegate al cavo, serve per stabilire chi può trasmettere. L’algoritmo si basa sul concetto di “carrier sense”: la stazione che vuole trasmettere, prima di trasmettere “ascolta” la rete e guarda se c’è una portante, cioè se c’è qualche altra stazione che sta trasmettendo e quindi sta modulando il suo segnale su una portante, si tratta cioè di capire se c’è un segnale sul canale, visto che il protocollo 802.3 trasmette in banda base. Se c’è un segnale sul canale allora la stazione aspetta e quando ci si accorge che nessuno sta trasmettendo allora essa trasmette. C’è una collision detection, cioè un controllo di collisione, in cui ci si può comunque imbattere perché i segnali si propagano con una certa velocità finita. In caso di collisione il segnale è intellegibile. Quando la stazione si accorge che c’è stata collisione essa smette di trasmettere, ma non subito, spetta un certo tempo e poi riprova. In realtà la stazione trasmette una “jamming sequence”, cioè una sequenza di segnali, non identificabili come bit, ma tali da far capire a tutte le stazioni che c’è stata una collisione e devono pertanto ritrasmettere. La stazione riprova a trasmettere, dopo un tempo casuale, perché le stazioni non devono tutte aspettare lo stesso tempo. L’accesso al mezzo è dunque non deterministico, in quanto la stazione non sa quan- do potrà trasmettere. Il tempo per accorgersi che è avvenuta una collisione dipende da quanto sono lontane le stazioni, cioè dal diametro della rete, ovvero da quanto è grande la rete. Per fare in modo che una stazione sia sempre in grado di rilevare collisioni deve essere che il round trip time sia minore o uguale al tempo che la stazione trasmittente impiega a trasmettere il pacchetto minimo, cioè il pacchetto che riesce a trasmettere più velocemente possibile; RTD ≤ min TTX Il round trip time dipende in sostanza dal diametro della rete diviso la velocità di propagazione del segnale, che dipende dal mezzo trasmissivo, vicino a c, la velocità della luce. Il tempo minimo di tra- smissione dipende dalla dimensione minima di un pacchetto e dalla velocità di trasmissione e cioè dal bit rate. Il protocollo 802.3 e Ethernet funzionano a 10Mb/s, che è il bit rate R. Lo standard definisce in 64 byte (512 bit) la dimensione minima dei pacchetti, il tempo minimo di trasmissione è dell’ordine dei 576 tempi di bit, tempi richiesti per trasmettere un bit. Da questi dati possiamo capire quale è la distanza massima tra due stazioni, ovvero il diametro della rete, che risulta essere 5760 m, a 10 Mb/s, quindi quasi 6 km. Con Ethernet a 100 Mb/s la dimensione diventa 10 volte più piccola e con Ethernet a 1 Gb/s diventa 100 volte più piccolo, ovvero 50 m. In realtà saranno presi degli accorgimenti, ma questo è il calcolo della dimensione minima con l’algoritmo CSMA/CD. CSMA/CD è un protocollo MAC (Media Access Control), quindi posto al secondo livello del modello ISO/OSI. 10) In che modo è possibile dimensionare correttamente una rete Ethernet? Dati alcuni parametri, è possibile calcolare l’estensione di una rete, come sopra riportato. Vale la relazione: 2 D / p ≤ pmin / R (2D / p, tempo di percorrenza andata e ritorno), da cui D ≤ p Pmin + R / 2 ≈ 2 108 512 / 10 106 / 2 = 5760 m, in una rete Ethernet 10 Mb/s In cui: D è il diametro della rete; p è la velocità di propagazione del segnale nel mezzo pmin è la dimensione minima del pacchetto (64 byte = 512 bit); R è la velocità di trasmissione, il bit rate Nel progettare e dimensionare una rete non devono essere superati i limiti massimi degli spezzoni, non devono inoltre essere superati i limiti imposti dal livello MAC e cioè che il tempo massimo dei segnali sulla rete sia tale da permettere alle stazioni i rilevare collisioni. Nella pratica il dimensionamento delle reti Ethernet è molto semplice e basta su due fondamenti: quello di rispettare i limiti fisici di ogni tratta, per cui con l’uso di 10BAE-T essa è l massimo 100m; poi di non avere più di 4 ripetitori in cascata, cioè un pacchetto, per passare da una stazione all’altra, non deve passare per più di 4 ripetitori. Il numero massimo delle stazioni nella rete dipende da quante devono trasmettere. Le collisioni creano una perdita di efficienza, tipicamente del 30%-40%. Ogni volta che c’è una collisione non si usa il ca- nale. Non ci devono essere troppe stazioni nella rete, per cui essa va spezzata e il dominio di collisione deve contenere poche stazioni. □ Esercizi relativi alle lezioni 7, 8, 9, 10, 11, 12 1) Cos’è, a cosa serve e come funziona uno switch? Quali sono le differenze tra gli switch e i bridge? Essi sono apparati che permettono di creare un ponte di collegamento tra domini di collisione diversi, ovvero tra LAN diverse. Le differenze stanno nel fatto che coni switch vengono separati i domini di collisione, mentre con i bridge no, per cui in una rete con molte stazioni si ha perdita di efficienza. Il switch è un’apparecchiatura che, alla pari di un bridge, collega tra loro diversi segmenti logici di una rete (diversi domini di collisione) e che consente il passaggio di informazioni dall’uno all’altro, impedendo tuttavia che l’intero traffico presente su uno di essi si riversi negli altri, e viceversa, come invece accadrebbe se la LAN Ethernet non disponesse di alcun filtro al proprio interno. Lo switch deve disporre almeno di due porte, anche se nelle configurazioni più comuni ne troviamo almeno 8, mentre nei bridge al massimo ci sono 4 porte. La primissima tecnica di switching, che eredita in toto la modalità operativa dei bridge, si chiama sto- re-and-forward. Ogni trama che arriva su una delle porte dello switch viene incamerata per intero in una speciale porzione di memoria (buffer) e quindi scartata o trasferita a un altro segmento a seconda dell’indirizzo di destinazione (mac address) indicato al suo interno. L’operazione è velocissima, ma comporta in ogni caso un certo rallentamento perché la trama deve arrivare per intero nel buffer dello switch prima di cominciare a essere ritrasmessa su un’altra porta (a cui corrisponde un altro segmento, appunto). È la tecnica di commutazione più affidabile, poiché prima di rispedire il pacchetto ci si accer- ta di averlo per intero e se ne verifica la correttezza attraverso il calcolo del crc (Cyclic Redundancy Check), ed è l’unica utilizzabile quando si collegano segmenti funzionanti a velocità diverse, come Ethernet e Fast Ethernet, per esempio. Tuttavia su impianti molto veloci, come nel caso di una dorsale che funziona tutta a 100 Mbps o più, il numero di trame in circolazione è molto elevato e il ritardo che si accumula per la registrazione di ciascuna si fa sentire. 2) Che cos’è e a cosa serve il Filtering Database? Lo ha come elemento centrale il Filtering Database, o forwarding, che è una struttura dati he usa per fare inoltro selettivo (selecting forwarder) delle trame. Dato un indirizzo MAC di destinazione, al switch serve la porta di inoltro di quella trama, ovvero la porta attraverso la quale quella trama deve essere inviata. Nel Filtering Database abbiamo una serie di righe che contengono un indirizzo MAC e la porta su cui inoltrare pacchetti che siano destinati a quell’indirizzo MAC. La porta viene in qualche modo identificata da un numero o un coppia di numero o in altro modo. Il database permette di non inviare pacchetti su altre porte e questo rappresenta un filtro. Quando un pacchetto ha una destinazione sconosciuta lo switch manda il pacchetto su tutte le porte. Quando lo switch riceve una trama da una certa porta X, esso verificherà se ci sono stati errori. Se non ci sono errori viene acquisito l’indirizzo MAC destinazione e verificato se c’è nel Filtering Database; se non c’è la trama è inoltrata su tutte le porte e tale operazione è detta di Flooding, inondazione. Se la trama ha destinazione la porta X stessa allora viene scartata, ma se la porta di inoltro, secondo quanto dice il database, è diversa da X allora la trama viene inoltrata sulla porta di inoltro. Questo permette l’inoltro delle trame solo dove servono. Nel caso in cui una stazione venga spostata dalla porta di inoltro le trame non raggiungeranno più la stazione. Per risolvere questo problema si dà un termine di scadenza alle righe del filtering database. Quando le entry del database, ovvero le righe del database, diventano troppo vecchie, esse vengono eliminate. 3) Che cos’è il protocollo Spanning Tree? E’ una soluzione standard al problema con il bridging trasparente che riguarda la presenza di percorsi chiusi nella rete. Poiché il traffico broadcast è inoltrato con il meccanismo del flooding e quindi non viene filtrato, succede che la rete si satura velocemente e si crea il cosiddetto broadcast storm, in cui la rete diventa in una frazione di secondo piena di copie di pacchetti; la stessa cosa succede nel caso di trame unknown. La soluzione al broadcast storm è quella di spengere il bridge, quindi è da evitare. La soluzione di eliminare i percorsi chiusi consiste nel tagliare (non fisicamente) dei link. Vogliamo comunque avere dei percorsi chiusi, in quanto sono quelli che ci offrono ridondanza e tolleranza ai guasti. Il taglio è ricavato dalla sospensione dell’uso, tramite una soluzione standard che è il protocollo spanning tree che sospende l’uso di alcune porte. Lo spanning tree trasforma una rete con percorsi chiusi (maglie) in un albero, un grafo. Operativamente sia ha 1. una selezione del root bridge; 2. una selezione della porta root che sarà quella per raggiungere il root bridge; 3. una selezione di designated port, porte designate a ricevere e inoltrare pacchetti in una LAN. I bridge devono riuscire a fare questa operazione in modo distribuito. Ogni bridge deve operare queste decisioni per conto proprio scambiando informazioni con gli altri bridge. Occorrono dunque dei para- metri di configurazione che determinano quali bridge diventerà il root bridge e quali porte verranno scelte come root porte o come designated port. Le porte che non sono né root port, né porte designate, non verranno usate, potranno esere ripristinate in caso di guasti, ovvero in caso di cambiamento topologico. Alla fine una rete con maglie diventa un albero. Il protocollo spanning tree si basa sullo scambio di pacchetti BPDU (Bridge Protocol Data Unit), che sono pacchetti mandati periodicamente da ogni bridge a un indirizzo multicast predefinito, Esistono due tipi di BPDU, le configuration BPDU, usate nella fase di creazione dell’albero e le Topology Chan- ge Notification BPDU, usate quando c’è un cambiamento topologico nella rete. Il primo passo nella creazione dell’albero è la creazione del root bridge, che è basata sul root identifier, un identificatore della radice, che contiene la root priority. All’inizio ogni bridge assume di essere root bridge. Esso comincia a generare delle configuration BPDU, le C-BPDU che sono mandate ad un indirizzo multicast ed arrivano ovunque nella rete, quindi a tutti i bridge. In un campo è scritto che esso è il root bridge, includendo nella Bridge PDU il proprio root identifier che contiene il proprio indirizzo MAC e la propria bridge priority. Ogno bridge riceve le C-BPDU e confronta il proprio identifier con quelli nelle C-BPDU ricevute. Esiste un criterio per il quale il bridge capisce se ha diritto a diventare root bridge oppure no. Se non deve essere il root bridge allora include l’identifier del root bridge nelle C-BPDU. Cioè se non può esse- re root bridge, allora inserisce il root identifier che ha appena ricevuto. In questo caso il bridge assume che sia l’altro bridge ad essere root bridge e lo scrive nelle C-BPDU che genera. Ad un certo punto tutti i bridge riconoscono lo stesso bridge come root e quindi tutte le C-BPDU con- tengono lo stesso root identifier. Il bridge che a quel root identifier è a tutti gli effetti la radice, ovvero lo sa lui e lo sanno tutti gli altri. In sostanza, tutti si candidano, esce fuori quello con diritto maggiore e questo aviiene con le Configu- ration Bridge Protocol Data Unit, che si propagano su tutta la rete. A questo punto deve essere selezionata la root port. Ogni C-BPDU contiene il costo del percorso attreaversato, dalla root fino al punto in cui la C-BPDU viene ricevuta, questa informazione è contenuta nel campo root path cost. Un bridge ha diverse porte e quindi riceverà diverse C-BPDU da queste porte. Nelle C-BPDU che arrivano dalle porte c’è scritto il root path cost. Il bridge confronta tale valore ricevuto dalle sue porte e sceglie come root port quella da cui riceve C-BPDU con costo minimo, tramite criterio univoco. In questa fase ogni bridge ha una porta radice. La porta radice è quella che ha il percorso migliore verso il root bridge. Quando è stat selezionata una root port, il bridge smette di inviare C-BPDU sulla root port, quindi le C-BPDU vengono generate dal root bridge su tutte le sue porte, gli altri bridge generano C-BPDU su tutte le porte esclusa la radice, per cui le c-BPDU viaggiano dalla radice verso le foglie. Le trame dati, non le C-BPDU, che sono inviate dalle stazioni, vengono inoltrate dai bridge attraverso le varie porte e raggiungono la radice attraverso la root port. Le root port fanno si che il traffico vada verso la radice. Quando il bridge radice inoltra i pacchetti rice- vuti sulle sue altre porte, questi discendono attraverso la root port fino alle foglie. Il traffico si propaga quindi lungo l’albero. Dalla foglia verso la radice e dalla radice verso la foglia. La root port è quella con minimo percorso. A questo punto occorre realizzare l’ultimo passo dello spanning tree e cioè la selezione della designa- ted port, ovvero della porta designata a inoltrare traffico su ogni LAN. Se c’è una LAN con più di una porta allora ci saranno informazioni che sono arrivate dalla radice e quindi esse avranno seguito percorsi diversi. Il costo del percorso dalla radice viene incluso nelle C-BPDU. Dal confronto dei costi i bridge scelgono in modo coerente quale delle porte sarà designa- ted. Quella non designated smette di trasmettere C-BPDU. Tutte le altre sono poste in stato blocking. Quindi i passaggi tottali sono 3: Identificazione del bridge radice. Identificazione della porta radice. Identificazione delle porte designated. Con questi passaggi si crea un albero che permette di evitare il broadcast storm e non ha percorsi chiusi. C’è però la necessità di reagire a cambiamenti topologici, dovuti ad esempio ad un errore, cioè una porta o un collegamento non sono funzionanti, oppure si verifica il fallimento del Link Integrity Test, op- pure una C-BPDU (che vengono generate periodicamente) non viene ricevuta entro il tempo previsto. Un bridge che si accorge di un cambiamento topologico reagisce generando una TCN BPDU (Topolo- gy Change Notification BPDU), che è inviata attaraverso la root port per raggiungere più velocemente possibile la radice; essa è una trama di servizio, diversa. La radice imposta un bit particolare detto Topology Change Bit nelle Configuration-BPDU che genera. I bridge che ricevono tale C-BPDU dalla root port, a loro volta, impostano un altro bit, detto Topology Change Acknowledgment nella loro C-BPDU, che si diffondono. Il bride che apprende di un cambia- mento topologico svuota il filtering database, in quanto esso è stato costruito usando un albero che non è più valido per cui deve essere costruito un albero diverso. A questo punto viene messo in discussione tutto ciò che era stato scelto: si guarda se il root bridge è sempre lo stesso (nelle C-BPDU), si verifica di nuovo la porta radice e si verificano di nuovo le porte designated o non designated. Il guasto viene recuperato e un nuovo albero viene costruito e includerà anche la LAN oggetto del guasto. Lo spanning tree ha dei limiti, tra cui quello delle tempistiche per le quali i vari timer che controllano le reazioni non devono essere troppo bassi in quanto i bridge reagirebbero troppo velocemente per cui si potrebbero creare dei loop temporanei e quindi delle maglie con una immediata broadcast storm, Quindi quello che si fa è far reagire lentamente i bridge, con timer lunghi, ma in questo caso ci possono essere momenti in cui si perde connettività a seguito di un cambiamento topologico. Inoltre efficienza nei costi e prestazioni non sono punti di forza dello spanning tree, in quanto ci sono collegamenti inutilizzati, che non possono smaltire traffico, mentre altri collegamenti diventano molto carichi creando un collo di bottiglia. Lo spanning tree crea un albero con una sola strada verso una LAN. Questo è inaccettabile per in- terconnessioni geografiche. Quindi in questo caso i bridge non vengono usati. Il problema dei bridge è quello di creare un solo albero da usare per tutto il traffico. Questo albero ad un certo punto può diventare congestionato. La soluzione è quella di poter usare alberi diversi a seconda del mittente, ma i bridge non sono in grado di fare questo perché usano un protocollo molto semplice per scegliere l’inoltro dei pacchetti. A differenza degli apparati detti router che usano una soluzione più sofisticata, ottenendo prestazioni migliori. 4) Quali sono le principali differenze tra lo standard Ethernet, Fast-Ethernet e Gigabit Ethernet? Cosa rimane invariato nei tre standard? Con il Fast-Ethernet si riduce il diametro massimo della rete; Fast Ethernet conserva tutte le caratteri- stiche e i parametri di Ethernet: Utilizza lo stesso protocollo di accesso multiplo CSMA/CD di Ethernet; Utilizza lo stesso meccanismo di gestione delle collisioni; Utilizza lo stesso formato e la stessa lunghezza minima. Con Gigabit Ethernet (IEEE 802.3Z, 802.3AB) si aumenta la durata della trasmissione di una trama mi- nima, detto Carrier Extension, cioè estensione della portante. Si aggiunge in fondo alla trama una par- te di bit detta extension bit in modo che i dati (ovvero l’effettiva trama) e la extension bit siano 4096 bit. Rimane invariato il protocollo MAC CSMA/CD e il formato del pacchetto. 5) Descrivere lo standard Fast Ethernet IEEE 802.3u mostrandone l’architettura protocollare Lo standard Fast Ethernet 802.3u non va a toccare il livello MAC, che rimane iden- tico a quello dello standard 802.3 (Ether- net), con il CSMA/CD. Questo protocollo identifica una serie di sotto-livelli, sotto il MAC. Si identifica una modularità, con il sottolivello “Reconci- liation Sublayer” comune ai sottostanti sotto-livelli, che avrà funzionalità comuni a tali sotto-livelli, che sono livelli fisici e se ne hanno 4, suddivisi come si nota in figura: quelli a destra hanno una X finale (e vanno sotto il nome comune di 100BA- SE-X) e quelli a sinistra hanno o T2 o T4 finali. Il nome inizia per 100 indicando operatività a 100 Mb/s. Base perché si opera in banda base. I due sotto-standard di livello fisico con la lettera T nella parte finale effettuano una trasmissione su cavo UTP (Unshielded Twisted Pair) di bassa qualità trasmissiva (categoria 3), cavo telefonico. Il 100BASE-T4 usa tutte e 4 le coppie, usando alcune coppie a turno nella stessa direzione. Il 100BASE-T2 usa una modulazione molto complessa per riuscire a usare solo due coppie. Questo permette il funzionamento non solo sugli stessi cablaggi di IEEE 802.3, ma anche su quelli della telefonia, prima ancora. Purtroppo questi standard, il 100BASE-T4 e 100BASE-T2 sono molto complessi e non sono sta- ti utilizzati, a favore degli standard 100BASE-TX e 100BASE-FX (accomunati nominalmente con 100-BASE-X). Il 100BASE-T4 ed il 100BASE-T2 hanno anche una codifica fisica (PCS, Physical Co- ding Sublayer) molto complessa. Gli standard a 100Mb/s più utilizzati sono quelli che vanno collettivamente sotto il nome 100BASE-X. Hanno due sottolivelli fisici, quello TX che usa cavo tipo telefonico (non telefonico), di categoria più alta con migliori proprietà trasmissive. Poi l’FX che usa la fibra ottica per la trasmissione. abbiamo dunque due standard fisici diversi con funzionalità comuni che sono definiti in un modulo, o sottolivello, comu- ne che si chiama PCS 100BASE-X, in cui PCS sta per Physical Coding Sublayer. Esso definisce la codifica di linea da usare che è una codifica 4B5B. Vengono presi 4 bit ed essi vengono codificati su 5. Stiamo aumentando il bit rate perché per trasmettere 100Mb/s ne dovremo trasmettere 125. La ridondanza permette l’utilizzo di simboli di controllo e quello di creare fra essi un codice di IDLE per l’Inter Packed Gap, il momento di silenzio tra due pacchetti. Questo è importante perchè l’IPG non deve essere fatto spegnendo il trasmettitore e quindi lasciando che il ricevitore si de-sincronizzi dal trasmettitore, ma vengono trasmesse sequenze di bit che identifi- cano un Packed Gap. Il ricevitore può dunque rimanere sincronizzato per ricevere la prossima trama. I sotto-moduli che sono dipendenti dal mezzo fisico, ovvero i Physical Medium Dependent, si chiama- no 100BASE-TX e usano cavi UTP di categoria 5, oppure cavo doppino schermato (Shielded Twisted Pair, STP), oppure 100BASE-FX che usa la fibra ottica. La codifica di linea in 100BASE-TX è NRZI verso il transceiver, ovvero tra il livello Physical Coding Sublayer e il livello Physical Medium Dependence. Il trasmettitore sul cavo fisico genera una codifica MLT-3, che ha una occupazione di spettro più ristret- ta in quanto ha una variabilità minore di una codifica NRZI. Siccome il Physical Coding Sublayer è comune tra il Physical Medium Dependence 100BASE-TX e quello 100BASE-FX allora viene anche definita dallo standard la codifica da usare tra i due sottolivelli. Quindi un transceiver che opera su fibra ottica è in grado di ricevere lo stesso segnale (quello a codi- fica NRZI) e trasmetterla sotto forma di segnale ottico. Lo standard è talmente chiaro che il transceiver può essere pluggable, cioè si possono fare schede su cui si può staccare il transceiver per rame ed infilare quello per fibra ottica, con l’interfaccia verso il Physycal Coding Sublayer ben definita. La ridondanza nei codici viene usata per assicurare che il segnale (quello sopra) che ha una periodicità più lunga di quella NRZI abbia comunque abbastanza transizione per consentire la sincronizzazione. Per quanto riguarda il dimensionamento della rete usando 100BASE-TX, avendo aumentato 10 volte la velocità della trasmissione il diametro della rete si riduce di 10 volte, con un diametro massimo di 500 m. In realtà poichè dovranno essere usati dei ripetitori, in quanto i cavi rame possono essere massimo 100 m, i ripetitori introducono un ritardo che ha un impatto sul Round Trip Delay e quindi il vincolo posto dal Medium Access Control sulla dimensione massima del dominio di collisione è 205 m. Avendo usato 100BASE-FX, occorre rispettare i vincoli del livello MAC con la dimensione massima della rete limitata dal CSMA/CD (se non si opera in full-duplex, in cui le stazioni sono collegate diretta- mente agli switch, con una lunghezza massima di quasi 500 m.). Usando ripetitori con tratte in fibra, possiamo usare un solo ripetitore e possiamo fare tratte tali per cui il dominio di collisione sia al massimo 300 m. Ovvero tra due stazioni non ci devono essere più di 300 m. 6) Come è strutturata una fibra ottica? In che modo l’informazione viene trasmessa attraverso una fibra ottica? I PRINCIPI DI COMUNICAZIONE OTTICA per capire come mai ci sono due standard per fibra ottica, che usato onde di lunghezza diversa. La comunicazione ottica usa fibre ottiche, Laser e LED, con parametri che influenzano la comunica- zione ottica. La legge di Snell si applica quando un raggio elettromagnetico incide su una superficie di separazione tra due dielettrici che hanno indice di rifrazione diversi, indice legato alla velocità di propagazione nel dielettrico. Velocità proporzionale alla velocità della luce e di tale indice. A lato la legge di Snell, con il fenomeno della rifrazione. Sotto il fenomeno della riflessione, quando gli indici di rifrazione sono molto diversi. Le fibre ottiche sono basate sul fatto di avere una superficie di separazione tra due materiali dielettrici in cui uno ha un indice di rifrazione molto più alto dell’altro. Viene mandato un segnale all’interno del primo materiale e questo segnale si riflette sulla superficie. La costruzione della fibra ottica avviene inserendo un materiale dentro l’altro. Quindi la fibra ottica contiene all’interno il materiale ad alto indice di rifrazione e rappresenta il core della fibra. L’altro materiale, a basso indice di rifrazione è detto clad- ding. I segnali ottici si propagano nella fibra ottica senza uscire e questo diventa un modo per trasferire segnali ottici, anche a lunga distanza in quanto la fibra, se costruita bene ed ha poche impurità, attenua poco il segnale. Il segnale si propaga a lungo senza perdere troppa potenza e quindi è ricevibile. Ci sono diverse problematiche, ad esempio il fenomeno per cui un segnale nella fibra si propaga in modi diversi, e quando arriva dall’altra parte ha subito una certa distorsione. Quanto sia accentuato questo fenomeno dipende dagli indici di rifrazione e dalla dimensione del core. Ci sono due grosse famiglie di fibre ottiche: fibre multi-modali e fibre mono-modali. Le prime hanno un core, relativamente, più grandi e sono misurati in micron, micrometri. La produzione delle fibre è un aspetto molto importante, la loro produzione deve essere fatta in modo molto opportuno e devono essere molto pure, in quanto le impurità hanno impatto sulle prestazioni. Sono fatte in silicio, con produzione anche in plastica, più grandi, usate per applicazioni “automotive”. La trasmissione avviene tramite LED, light emitting diode, oppure con LASER. La modulazione che si adotta nella trasmissione è di tipo on-off, quindi si accende il segnale per tra- smettere un 1, lo si spegne per trasmettere uno 0. La ricezione avviene mediante un photo detector e la trasmissione avviene sempre in modo sincrono, cioè il ricevitore deve sincronizzarsi sul trasmettitore. Attenuazione Le fibre ottiche introducono una attenuazione, che non è costante. Essa è proporzionale alla distanza. A lato immagine dell’attenuazione (in decibel) per chilometro. Al variare della lunghezza d’onda (l’inverso della frequenza), effettuata oltre il campo visivo, l’attenua- zione decresce all’aumentare della lunghezza d’onda ma soprattutto si nota che essa ha alcuni minimi. Nella trasmissione ottica si cerca dunque di usare segnali che abbiamo attenuazione in questi minimi. Si dice dunque che esistono tre finestre per la trasmissione ottica, incentrate sulle lunghezze d’onda come mostrato in figura, ovvero 850 nm, 1310 nm, 1550 nm. Dispositivi diversi usano finestre diverse. Nella prima finestra si possono usare LED, nelle altre si usano di norma solo laser. La distanza sarà maggiore per una finestra più alta perchè l’attenuazione è minore. Wavelenght Division Multiplexing (multiplazione a divisione di lunghezza d’onda) E’ un concetto importante e consiste nell’idea di inserire più segnali in una stessa fibra, segnali che usano frequenze diverse. Ci sono due grosse famiglie di division multiplexing: coarse WDM che ha granularità poco fine e usa diverse finestre e Dense WDM che ha una granularità molto piccola dei canali, con un numero di centinaia di canali e, sperimentalmente anche migliaia, nella stessa finestra. 7) Cosa si intende per BSS (Basic Service Set)? Qual’è la relazione tra BSS ed ESS (Extended Service Set)? SCENARI DI UTILIZZO delle RETI WIRELESS, standard IEEE 802.11 L’elemento base nelle wireless LAN si chiama Basic Service Set (BSS). Due terminali che comunicano nella stessa wireless LAN costituiscono un Basic Service Set. Ce ne sono due tipi:. Indipendent BSS, detto anche Ad hoc network, in cui le stazioni comunicano direttamente tra loro e non hanno bisogno di infrastruttura. Si chiama Ad hoc perché le reti Ad hoc sono quelle che si fanno per uno scopo particolare.. BSS, basato su Access point, che è un dispositivo per comunicare, in cui la stazione non comunica direttamente con un’altra stazione, ma passa per l’Access Point. Le stazioni non ricevono i segnali da altre stazioni, ma dall’Access Point, pur essendo, esse, in grado di farlo. In questo caso serve una infrastruttura. Le stazioni possono essere distanti da qualche metro a qualche centinaio di metri a se- conda delle condizioni del canale (influenzato da condizioni atmosferiche, ostacoli ecc.). Extended Service Set (ESS) Si ha un Extended Service Set quando si collegano due BSS, attraverso un Distribution System che collega i due Access Point i quali faranno da bridge. Un Access Point prende le trame dalla stazioni del suo BSS e le propagano sul Distribution System e l’altro Access Point le propaga nel suo BSS. Si crea una unica rete, pur avendo due BSS separati. I Basic Service Set possono essere completamente separati, a causa ad esempio della distanza fra Access Point, ma i Basic Service Set possono anche essere parzialmente sovrapposti e questo ad esempio al fine di supportare lo spostamento delle stazioni senza che queste perdano connettività. Il terminale nella zona di sovrapposizione può decidere se collegarsi ad uno piuttosto che ad un altro Access Poit e quindi far parte del BSS1 piuttosto che del BSS2. Il terminale in movimento si accorge che un Access Point si sta allontanando in quanto il segnale è più debole e quindi può decidere di collegarsi ad un altro e continuare a muoversi nel nuovo BSS. Serve un protocollo tra i due Access Point affinché questo possa avvenire ed è quello di cui parlavamo prima, ratificato dallo standard IEEE 802.11F. Questo ci permette di avere copertura e servizio ininterrotto anche se la stazione si muove. BSS colocate Le BSS possono essere colocate, cioè completamente sovrapposte. Una stazione, in qualsiasi mo- mento, può decidere quale BSS utilizzare, ovvero quale Access Point utilizzare. Si usa questo, ad esempio, per la tolleranza ai guasti, si rompe un Access Point e quindi la stazione si collega immediatamente all’altro. Si tenga presente che una scheda di rete (che identifica una stazione) usa sempre un solo Access Point; ci sono applicazioni particolari in cui è possibile avere schede di rete di rete doppie, che hanno due trasmettitori, due ricevitori ecc., che possono usare due Access Point diversi allo stesso tempo. Le BSS colocate possono essere fatte per migliorare le prestazioni. (“Questo per quanto riguarda il livello fisico.”; segue Servizi del Livello MAC) 8) Quali sono i servizi offerti dal livello MAC nelle reti wireless IEEE 802.11? I SERVIZI DEL LIVELLO MAC sono: Autenticazione E’ il primo servizio che il livello MAC offre. Esso è il primo passo per comunicare. La stazione deve dimostrare all’Access Point che è abilitata ad usare la rete wireless. In IEEE 802.11 l’autenticazione viene richiesta dal terminale, a cui segue l’eventuale conferma dall’Ac- cess Point. E’ possibile configurare gli Access Point ad accettare un tipo di configurazione che si chiama “Open system authentication” per cui l’Access Point è aperto e non fa nessun tipo di verifica. Un tipo di autenticazione più restrittiva è la “Shared key authentication” in cui la chiave (segreta) è precedentemente condivisa tramite un canale sicuro. L’Access point lascerà l’accesso alla rete solo ai terminali che possiedono quella chiave. L’altro aspetto importante dello standard è quello della riservatezza della rete, la privacy dei dati. Riservatezza (privacy) IEEE 802.11 definisce un meccanismo di riservatezza che si chiama “Wired equivalente privacy”, WEP. Questo è un fare in modo che il canale wireless dal punto di vista della privacy sia equivalente ad un canale cablato. Esso è basato sulla cifratura simmetrica, cioè il terminale e l’Access Point hanno una chiave condivisa segreta che usano per cifrare i dati. Questa soluzione è molto debole, quindi in seguito è stato ratifi- cato lo standard IEEE 802.11i che prende il nome di “WiFi Protected Access”, WPA. Esso realizza dei meccanismi di cifratura e di autenticazione più sofisticati e più robusti. Associazione (disassociazione) E’ un altro servizio importante del livello MAC, l’associazione o la dissociazione di una stazione all’Ac- cess Point. La stazione che vuole usare un certo Access Point deve mettersi d’accordo con l’Access Point e quindi creare una associazione tra terminale e access point e di conseguenza anche con il distribution system, per cui gli altri Access Point verranno a saperlo. L’associazione diventa un mecca- nismo fondamentale per supportare il roaming, cioè il movimento di una stazione che era prima colle- gata ad un Access Point e poi si collega ad un altro. Esiste una zona in cui due BSS sono sovrapposti ed una stazione è in grado di usare un Access Point piuttosto di un altro e quello che userà dipende da quello a cui si associa. Ci sarà dunque un protocollo per cui un Access Point dice ad una stazione che la sta usando ed un altro Access Point che dice che non la sta usando più. Quindi quest’ultimo non farà più nulla sulle trame della stazione con cui non c’è più associazione, pur potendole ricevere. Divenire parte di una rete Per divenire parte di una rete si effettua l’operazione di “Channel scanning”. Lo standard prevede, all’interno della banda, ad esempio quella a 2,4 GHz, diversi canali di comuni- cazione, la stazione li prova tutti per vedere se c’è qualche altra stazione e li può provare in due modi diversi. Il primo in modo passivo, semplicemente ascoltando se qualcuno trasmette oppure in modo attivo provando a generare un segnale per vedere se ci sono altre stazioni. Quindi quando una stazione deve diventare parte di una rete wireless prima di tutto si deve autenticare poi si deve associare ad un Access Point, e a questo punto adotta i vari parametri di livello MAC e di livello fisico che si usano in quella rete e poi può cominciare ad operare. 9) In che modo viene regolamentato l’accesso al mezzo trasmissivo nelle reti Wireless? MEDIUM ACCESS CONTROL Il funzionamento dell’algoritmo di accesso al mezzo, avendo un mezzo condiviso e decidere quale stazione può comunicare. Le modalità di controllo di accesso al mezzo sono due, distribuito o centralizzato. L’accesso distribuito è detto “Distribution control function (DCF). L’accesso centralizzato è detto, nello standard, “Point coordination function” (PCF). Distribution control function E’ basata su un meccanismo di carrier sense multiple access, simile a Ethernet, in cui le stazioni prima di trasmettere ascoltano il mezzo. Diversamente da Ethernet, dove si aveva collision detection, il DCF s usa “Collision avoidance”, cioè si cerca di evitare le collisioni attendendo un tempo casuale prima di ritrasmettere (backoff time). La stazione ascolta e sente che non c’è nessuno sul mezza, ma prima di trasmettere aspetta questo tempo detto backoff time, cercando di evitare che, se un’altra stazione nello stesso tempo ha ascoltato e trovato il mezzo libero si metta anch’essa a trasmettere contemporane- amente provocando una collisione. In alternativa si può usare un meccanismo di richiesta e di attesa di permesso (RTS/CTS), scambiando due messaggi, Request To Send e Clear To Send. La ragione per cui si fa questo è che non si può verificare se ci sono collisioni, perché il trasmettitore nel momento che trasmette satura il ricevitore che non può sentire collisioni. Nelle reti cablate trasmettitori e ricevitori sono collegati a canali fisici, doppini, diversi. Per questa ragione ci vuole un meccanismo di conferma, cioè di Acknowledgment, dopo la trasmis- sione. Quando il ricevente riceve una trama MAC conferma sempre dopo l’avvenuta ricezione. Point coordination function Essa prevede un coordinamento centrale, normalmente fatto dall’Access Point. Si hanno tempistiche controllate, con l’Access Point, o il coordinatore, che usa un meccanismo di “poll” per dire chi può trasmettere. Questo meccanismo può coesistere con il DCF. 10) Quali sono le caratteristiche della pila protocollare TCP/IP? L’ARCHITETTURA PROTOCOLLARE TCP/IP Vengono usati altri protocolli, come UDP (User Datagram Protocol), molto importante; NFS (Network File System), molto usato; ARP (Address Resolution Protocol); ed altri. L’architettura TCP/IP è uno “standard“ di dominio pubblico, le specifiche sono pubbliche. Essa non è in vero e proprio standard, che lo fa un ente di standardizzazione. Lo è diventato de facto. E’ indipendente da costruttori. I documenti che descrivono i vari protocolli e le loro specifiche si chia- mano RFC (Request For Comment). Il modello architetturale a lato mostra come ci sia- no vari protocolli. Esso è messo in confronto con il modello OSI a destra, in cui non è rappresentato il livello fisico. Alcuni protocolli dell’architettura protocollare TCP/ IP corrispondono abbastanza fedelmente al model- lo OSI nelle loro funzionalità, altri no. Questo deriva dal fatto che TCP/IP è una architettura protocollare nata indipendentemente dal modello OSI. Come tutti i modelli architetturali a strati, in Internet si usa il meccanismo di imbustamento (encapsu- lation) per cui i dati dell’utente vengono imbusta- ti, confezionati, con l’intestazione di un protocollo di un certo livello e imbustati in pacchetti IP che vengono trasmetti inserendoli in pacchetti di livello data link, quindi aggiungendo ad esempio una inte- stazione MAC per poi trasferirli nella rete ed essere ricevuti dall’altra parte per essere “de-imbustati”. Le buste vengono aperte e i vari livelli protocollari vengono elaborati fino a che si arriva ai dati che vengono passati alle applicazioni che usano i ser- vizi di rete. Livelli 1 e 2 Dall’architettura protocollare si nota che i livelli 1 e 2 mancano. Questo perché la rete Internet deve funzionare con calcolatori omogenei, di qualsiasi marca e di qualsiasi tipo, ognuno con la sua sche- da di rete. L’idea è che il protocollo IP e la rete Internet devo- no funzionare indipendentemente dalle specifiche schede di rete usate. Quindi, considerando questo dal punto di vista protocollare, devono funzionare indipendentemente dallo specifico protocollo di li- vello 2 e di livello fisico che vengono usate. Nell’architettura protocollare vengono definiti pro- tocolli che funzionano dal livello 3 in su. Il protocollo principale, quello per trasportare i dati, è il protocollo IP, Internet Protocol, e l’architettu- ra specifica come il protocollo IP specifica come può usare i servizi di moltissimi protocolli di livello 2. Ad oggi i protocolli di livello 2 usati sono pochi: Ethernet, 802.11 (reti wireless), PPP (Point to Point Protocol). Poiché l’architettura protocollare è indipendente dal livello 2 fa si che la rete sia organizzata in modo gerarchico. La rete Internet è una rete di piccole reti di livello 2, cioè di reti che usano protocolli di- versi di livello 2. I dispositivi indicati nei cerchi (R1, R2, R3 e R4) , che sono i router, prendono i pac- chetti da una rete di livello e li inoltrano su un’altra rete di livello 2. I router sono degli intermediate system (in terminologia OSI) che sono responsabili di inoltrare i pac- chetti dal mittente al destinatario, da una rete ad un’altra, ad esempio da H2 a H4 in figura. CARATTERISTICHE GENERALI DI IPv4 Il protocollo principale della rete Internet è IP, di cui analizziamo le caratteristiche generali della versio- ne 4. Esso è un protocollo di funzionalità di livello network, nella pila OSI, che trasferisce pacchetti attraverso una rete da un intermediate system ad un altro dalla sorgente alla destinazione attraverso, appunto, una serie di intermediate system. IP: Internet Protocol Protocollo a pacchetti, la rete è basata sulla com- mutazione di pacchetto, packet switching. IP fornisce un servizio non connesso (connection- less) detto anche servizio di tipo datagram. Questo vuol dire che ogni pacchetto , dal punto di vista del protocollo IP, viaggia per conto proprio ed è indi- pendente dagli altri. Il servizio è connectionless perché non richiede che la rete o chi manda un pacchetto e chi lo riceve si mettano d’accordo in precedenza, prima di trasferire i pacchetti. Quando una stazione ha un pacchetto da mandare, lo prende e lo manda nella rete. La rete a questo punto fa del proprio meglio (concetto di best effort) per portare il pacchetto a desti- nazione. Per questa ragione il servizio fornito non è affidabile, in quanto non si può sapere a priori se un pac- chetto ce la farà ad arrivare a destinazione o meno. Saranno i protocolli di livello superiore, il livello 3 o le applicazioni, a preoccuparsi di verificare se i pacchetti arrivano a destinazione ed eventualmente chiedere la ritrasmissione. IP è un protocollo vecchio, ma non obsoleto. Stiamo usando la versione 4 ma sta subentrando la versione 6. Datagram rispetto a servizio connesso Ogni pacchetto attraversa la rete indipendentemente dagli altri pacchetti, quindi due pacchetti che appartengono alla stessa comunicazione possono eventualmente seguire un percorso diverso. Questo ha delle implicazioni, ad esempio è possibile una consegna fuori ordine dei pacchetti, il che complica la vita al ricevitore. Inoltre, in un servizio di tipo datagram la gestione delle risorse (p.e. banda) è complessa. Però tale servizio ha minore complessità, prerogativa delle reti moderne che hanno successo. Usare un servio datagram lo rende più robusto, cioè si ha una adattamento “naturale” a cambiamenti nel traffico e nella topologia (guasti). In caso di guasti i pacchetti passeranno da un’altra strada. Cosa che non avviene in una soluzione di tipo connesso, in cui le stazioni, i nodi, si mettono d’accordo e il guasto è gestito rimettendosi d’accordo. Il servizio datagram è adatto al traffico “dati” (bursty), con treni di pacchetti seguito da silenzio, questo tipo di dati bursty è diverso da quello tipo voce. Il servizio datagram a pacchetti è problematico quando si vogliano realizzare servizi “carrier grade”, cioè quei servizi che gli operatori vendono per cui è necessario controllare la qualità del servizio e per cui è necessario un recupero guasti veloce. In telefonia un guasto è recuperato in tempi dell’ordine di 50 millisecondi, con un servizio di tipo data- gram tale tempo è di secondi, decine di secondi se non minuti. Dunque IP va bene per recuperare guasti a patto che non si debbano recuperare troppo velocemente. Va bene per trasportare traffico dati ma in modo best effort, quando si deve garantire una certa qualità del servizio diventa più complicato perchè la gestione delle risorse è più difficile. Il protocollo IP, Internet Protocol, specifica: Il formato dei pacchetti. La funzionalità di frammentazione/riassemblaggio [segmentation and reassembly] Il formato degli indirizzi [“addressing”] e l’assegnazione. Gli indirizzi identificano una stazione. Specifica il routing [instradamento]. Come si possono realizzare classi di servizio diverse. 11) Descrivere i campi che compongono l’intestazione di un pacchetto IP FORMATO DEI PACCHETTI L’intestazione del pacchetto è organizzata su righe di 32 bit (4 byte), come mostrato in figura. Questo perchè sarebbe difficile rappresentare tutti i campi su una unica riga. I 32 bit sono poi adattabili all’architettura di un ela- boratore che opera a 32 bit, per mezzo dei registri della sua CPU. Spostamenti dati, ad esempio dalla memoria, per multipli di 4 byte rendono tutto più efficiente. I campi: VER, la versione = 4; Lun In, la lunghezza della intestazione; questo perché la lunghezza della intestazione IP è variabile, multiplo di 4 byte; ci sono sempre le prime 5 righe, poi ci sono le Options, campi opzionali e poi riem- pimento; ToS, Type of Service, serve per implementare classi di servizio, per distinguere i tipi di pacchetto, è un campo di 8 bit; Lunghezza totale, data dall’intestazione + il campo dati, non riportato in figura, i dati sono dopo l’in- testazione; Identifier, specifica se effettuare l’operazione di frammentazione o riassemblaggio; Indirizzo mittente; Indirizzo destinatario; Checksum, per il rilevamento errori sull’intestazione, 2 byte; Protocol, contiene una indicazione di quale è il protocollo di livello superiore che è contenuto nel pacchetto, questo permette a chi riceve il pacchetto di saperlo interpretare ed elaborare (equivalente al campo Inter Type nell’intestazione Ethernet); TTL, Time To Leave, rappresenta il tempo di vita del pacchetto, è un campo molto importante, è un byte, quindi ha valore tra 0 e 255. Ogni router che inoltra il pacchetto verso un altro router decrementa il valore, se il valore è zero, il router non inoltra il pacchetto e lo butta via. Questo perché i router non conoscono la strada del pacchetto e capita che li mandino in percorsi circolari detti loop o loop di rou- ting, senza questo campo i pacchetti girerebbero nella rete per sempre; Options, di lunghezza variabile Formato TLV (type-length-value), cioè il primo byte di Option è il tipo, il secondo è la lunghezza in byte e poi segue il valore; Esempi di tipo: Source Routing, Route Recording, Timestamp; PAD: padding [riempimento]; Una stazione che trova un campo options non conosciuto nel pacchetto, lo elabora comunque. □ Esercizi relativi alle lezioni 13, 14, 15, 16, 17, 18 1) Qual’è il formato degli indirizzi IP? FORMATO DEGLI INDIRIZZI IP Indirizzi IP Hanno lunghezza 32 bit (4 byte) Sono rappresentati in notazione decimale puntata(dotted decimal notation) Ogni byte è espresso come numero decimale separato da un punto, ad esempio 12.4.56.38 oppure 193.129.3.215 Ogni elemento assume un valore tra 0 e 255 L’indirizzo è lungo 32 bit, esso deve essere organizzato come un prefisso che identifica la rete, seguito da una parte di host che identifica l’host all’interno della rete. Come facciamo a sapere quali di questi 32 bit costituiscono l’identificativo di rete (prefisso) e quali l’identificativo di host. Quello che ci chiedia- mo è quanto è lungo il prefisso: avere una dimensione fissa sarebbe troppo limitativo. Ad esempio con 2 byte per l’uno e due byte per l’altro, identifichiamo 65536 possibilità, ma se la rete fisica ha 100 host sprechiamo tantissimi identificatori di host che non possiamo usare da nessuna altra parte. Se il pre- fisso è troppo lungo abbiamo pochi identificatori di host. Non potendo decidere a priori, si stabiliscono tre dimensioni di prefisso, come segue: Class A: 1 byte Indirizzi di Class A Class B: 2 bytes Indirizzi di Class B Class C: 3 bytes Indirizzi di Class C Per identificare se il prefisso è di Classe A, B o C si deve verificare il primo byte. Il valore del primo byte ci permette di capire se l’indirizzo è di Classe A, B o C. In particolare si dovrebbero guardare i primi bit. Classe A Il primo bit ha valore 0, con il primo byte che ha un valore tra 0 e 127, per esempio 84.240.20.1; Max 128 prefissi di rete (Network) Max 16M indirizzi per host; Classe B L’indirizzo inizia per 10, quindi il primo byte ha valore tra 128 e 191, per esempio, 153.240.20.1 Max 16K prefissi di rete (Network) Max 64K indirizzi per host Classe C L’indirizzo inizia per 110, quindi il primo byte ha valore tra 192 e 223, per esempio, 203.240.20.1 Max 2M prefissi di rete (Network) Max 255 indirizzi per host Si può continuare Classe D L’indirizzo inizia per 1110, con un valore possibile tra 224 e 239, per esempio, 225.240.20.1 Usati per multicast, una stazione manda un pacchetto che ha per destinazione un gruppo di stazioni. Classe E: anycast Tutte le classi successive alla C hanno indirizzi non assegnati a interfacce, mentre gli indirizzi delle classi A, B e C identificano le interfacce, con una parte che identifica la rete ed una parte che identifica l’host. La parte che identifica l’host può assumere alcuni valori particolari. Valori particolari del campo host Tutti 1: è detto directed broadcast Per esempio, 203.240.20.255, di classe C, con l’ultimo byte con tutti i bit a 1. Il pacchetto viene inoltrato dai router fino alla rete di destinazione sulla quale il pacchetto è destinato ad essere ricevuto da chi è disposto. Il punto è che il particolare identificativo di host con tutti i bit a 1 è riservato, ed è riservato a questo scopo e quindi non può essere assegnato ad una certa interfaccia. Tutti 0: si usa per identificare la LIS, ovvero la rete logica. Per esempio, 203.240.20.0 è il cosiddetto indirizzo della rete. La rete che ha indirizzo 203.240.20 è la rete 203.240.20.0. Non è usato come indirizzo destinazione, quindi, in linea di principio, può essere assegnato ad un’interfaccia. Identificatori di host disponibili Data una parte di host di n bit, ci sono 2n - 2 identificatori disponibili. Eventualmente 2n - 1 se l’indirizzo di rete è assegnato ad un’interfaccia, cioè il.0 finale, anche se normalmente non si fa in quanto esso convenzionalmente è quello che serve per dare un nome alla LIS e, nota bene, non mandare pacchetti. Indirizzi particolari Tutti 1: limited broadcast 255.255.255.255 Esso non è ricevuto da tutte le stazioni ed inoltre non è neppure routed [inoltrato, instradato] dai rou- ter. Il pacchetto, quando inviato, viene propagato nella rete fisica e viene ricevuto da stazioni “interes- sate” a riceverlo. Non va a tutte le stazioni di Internet e non va a tutte le stazioni collegate alla stessa rete fisica. E’ un pacchetto che può essere ricevuto da un certo numero di stazione della rete fisica. Altro indirizzo particolare e fatto da tutti 0, ovvero 0.0.0.0 che rappresenta questo host, che non ha un indirizzo IP e, volendo mettere un indirizzo del mittente, metterà tutti 0. Altro indirizzo particolare, che è un insieme di indirizzi, è quello detto di loopback, nella forma 127.*.*.* ovvero con 127 nel primo byte. Se una stazione manda un pacchetto all’indirizzo che inizia con 127, e normalmente si usa 127.0.0.1. Quello che succede è che il livello IP prepara il pacchetto, mette dentro l’indirizzo destinazione, poi, invece di passare il pacchetto al livello inferiore, il livello data link affinché venga mandato via, auto-riceve il pacchetto e lo elabora. Questo serve ad esempio per ragioni di te- sting, con due applicazioni sulla stessa stazione che possono simulare una comunicazione attraverso la rete esattamente come avverrebbe con il livello IP. 2) Cosa sono il Classfull e Classless addressing? Per classfull addressing si intendono i prefissi basati sulla classe, con cui abbiamo dei problemi in quanto sono poco flessibili perché hanno una bassa efficienza nell’uso dello spazio di indirizzi (il nu- mero massimo di identificativi, ovvero di stazioni, può essere minore di quello di cui si ha realmente bisgno); inoltre l’assegnazione degli indirizzi deve essere fatta in modo centralizzato per assicurarsi che non ci siano due organizzazioni nel mondo che usano gli stessi indirizzi. La netmask permette di fare una identificazione dei prefissi non basata sulle classi, ovvero Classless Addressing, cioè prefissi non basati sulle classi. La netmask è una sequenza di bit associata ad un indirizzo IP e serve a demarcare il confine tra la parte di rete e quella di host nell’indirizzo IP. Vd. NETMASK. 3) Cos’è una netmask? NETMASK Serve a superare le limitazioni ed i problemi che si hanno con le classi di indirizzo, ovvero i problemi con il Classful Addressing, appunto i prefissi basati sulla classe. I problemi sono poca flessibilità, che portano ad una bassa efficienza nell’uso dello spazio di indirizzi. La classe C dà 254 identificativi, la classe B ne dà 16K, quindi se ho una rete con 500 host, non posso usare la classe C, devo usare la classe B con un enorme spreco. La soluzione sarebbe quella di poter avere una parte di host di 9 bit piuttosto che di 8 bit, per cui avrei 512 identificativi di host con 9 bit. Il secondo problema è che l’assegnazione degli indirizzi deve essere fatta in modo centralizzato per assicurarsi che non ci siano due organizzazioni nel mondo che usano gli stessi indirizzi. Questo si fa avendo un ente centralizzato che assegna i prefissi e, nell’assegnare gli indirizzi, assegna un prefisso naturale, di una certa lunghezza, cioè di un certo valore. Dal prefisso naturale, ad esempio 130.192, dovrebbe essere possibile per ogni nuova sottorete che vorremmo fare usare un prefisso derivato da quello, ad esempio il prefisso 130.192.5.0. In un altro 130.192.6.0. Vorremmo poter creare dei prefissi più lunghi a partire dei prefissi naturali brevi. Per questo ci viene in aiuto la netmask che ci permette di fare una identificazione dei prefissi non basata sulle classi. La netmask è una sequenza di bit associata ad un indirizzo IP. Essa serve per demarcare il confine tra la parte di rete e quella di host nell’indirizzo IP. Dato un indirizzo IP, ad esempio 192.168.10.69, questo è un indirizzo di classe C, per cui il prefissi è dato dai primi 3 byte, 24 bit. Però vorremmo trovare un modo affinchè il prefisso non sia dato dai primi tre byte, ma dai primi 26 bit. Per questo si una netmask che ha i primi 26 bit ad uno e gli ultimi a 0. Quelli a zero sono i bit che nell’indirizzo identificano l’host. Quindi dove ci sono gli 1, l’indirizzo è la parte di rete, dove ci sono gli 0 è la parte di host. La netmask è scritta in notazione decimale puntata. La parte di rete/host può avere qualunque lunghezza. La netmask non può avere valori qualsiasi, di seguito i valori ammissibili per i byte della netmask: 0 0000 0000 128 1000 0000 192 1100 0000 224 1110 0000 240 1111 0000 248 1111 1000 252 1111 1100 254 1111 1110 255 1111 1111 Netmask / Prefissi naturali I prefissi corrispondenti alla classe si chiamano prefissi naturali e per usarli quando si usano le net- mask, si definiscono le netmask cosiddette naturali che hanno un numero di bit a 1 pari alla lunghezza del prefisso specificato dalla classe. I prefissi naturali sono quelli che si ricavano da una classe. Un indirizzo di classe A ha un prefisso naturale che è un byte. La netmask naturale del prefisso di classe A è 255.0.0.0. Classe A -> 255.0.0.0 Classe B -> 255.255.0.0 Classe C -> 255.255.255.0 Con la netmask possiamo fare quello che si chia- ma subnetting o quello che si chiama supernetting. 4) Cosa si intende per subnetting e supernet- ting? Subnetting e Supernetting Subnetting: si prende un certo prefisso naturale per creare un prefisso più lungo di quello naturale, questo tramite la creazione di una netmask con un numero di bit a 1 superiore alla netmask naturale. Supernetting: si crea un prefisso più corto di quello naturale. Si fa questo quando si vuole avere un prefisso che riassume in sé una serie di altri prefissi più lunghi utile come informazione ai router per inoltrare i pacchetti. Riduce il numero di informazioni con cui i router hanno a che fare e aumenta la scalability della rete. Negli esempi di subnetting, si noti come sia evidenziato nell’indirizzo che si ha che vogliamo dividere in una parte di rete e una parte di host. La parte di rete contiene un prefisso naturale (detto anche Net) e l’estensione del prefisso naturale, il campo della rete, detta anche Subnet, come dire che c’è una rete che viene divisa in sottoreti. Dal punto di vista della logica dell’IP abbiamo un identificativo di rete che è il campo della rete e un identificativo di host. Per dire che il prefisso sarà lungo 26 bit si usa una netmask con 26 bit a 1 e i restanti a 0. A questo punto, dal prefisso naturale è possibile creare tante subnet, tanti prefissi più lunghi, per esem- pio il prefisso che ha nella subnet il valore 01 e quindi che ha identificativi di host in cui gli ultimi 6 bit vanno dal valore 000001 al valore 111110, ovvero da 65 a 126 in decimale. Scrivendo tutto in notazione decimale puntata otteniamo 192.168.10.[da 65 fino 126]. Si può anche definire altre subnet, dove gli identificativi di host hanno sempre lo stesso formato (da 000001 a 111110), ma il prefisso della subnet vale 10 invece di 01 come prima e allora, scrivendo il tutto in notazione decimale puntata abbiamo l’indirizzo 192.168.10.[da 129 a 190]. Dalla notazione decimale non si capisce bene dove finisce il prefisso e dove inizia l’estensione di host, se non si scrive il tutto i binario, per lo meno la parte finale. Subnetting e assegnazione centralizzata degli indirizzi Gli indirizzi sono assegnati alle organizzazioni in prefissi naturali, al Politecnico di Torino è stato asse- gnato il prefisso naturale 130.192. Questo è l’identificativo della Net, della rete del Politecnico di Torino. Questo viene visto come un “grosso” insieme di indirizzi e la singola organizzazione può usare il subnetting per definire prefissi per ogni rete (ogni subnet all’interno della sua rete aziendale) in modo indipendente dall’ente che assegna gli indirizzi. 5) Cos’è una Routing table? Come è strutturata? 6) Cosa si intende per Prefix Matching? L’operazione per verificare se due indirizzi hanno lo stesso prefisso o no si chiama prefix matching, PREFIX MATCHING [confronto dei prefissi] Stessa LIS: comunicazione diretta Si suppone di avere un host che deve mandare un pacchetto ad una destinazione che è nella stessa LIS e quindi ha lo stesso prefisso. Abbiamo un indirizzo dell’host (192.168.10.65, scritto anche in binario) che deve mandare un pac- chetto. L’host ha la propria netmask, fornita alla configurazione ed essa è 255.255.255.192, che indica un prefisso di 26 bit, scritta in binario. Quello che fa l’host è un AND bit a bit tra il suo indirizzo e la sua netmask. Questo avviene in un ciclo di clock. Il risultato è una sequenza di 32 bit, con valore decimale 192.168.10.64, che ha in sotanza il prefisso nei primi 26 bit ed ha una serie di bit a 0 nell’estensione dell’host. Quindi questa operazione azzera l’estensione dell’host. Abbiamo poi un indirizzo destinazione, ad esempio 192.168.10.101, l’host dovrebbe in teoria capire quale è l’indirizzo della destinazione, ma non lo sa perché non ha la netmask della destinazione. Inoltre quello che realmente gli serve è sapere se l’indirizzo di destinazione è uguale al suo. Se quindi estrae dall’indirizzo destinazione un numero di bit pari alla lunghezza del proprio prefisso e lo confrontasse con il proprio prefisso, allora saprebbe se è uguale o no. Se è uguale hanno lo stesso prefisso, se non lo è, esso non è necessariamente il prefisso dell’host che potrebbe essere in realtà più lungo o più corto. L’host prende l’indirizzo destinazione, ne fa un AND bit a bit con la propria netmask e ottiene una sequenza di bit, che è della stessa lunghezza del proprio prefisso estratta dall’indirizzo originale della destinazione più gli altri bit a 0. A questo punto confronta il risultato ottenuto dalla stessa operazione con il proprio indirizzo e verifica se sono uguali. Se sono uguali i prefissi sono uguali, la sorgente e la destinazione hanno lo stesso prefisso, e dunque la LIS è la stessa e quindi il pacchetto può essere consegnato direttamente. Se non lo sono, vedi “Different LISes: Involve Rou- ter”, il fatto che i primi 3 byte siano uguali non vuol dire nulla. Alla fine dell’operazione vengono fuori due sequenze di bit diverse, sono uguali i primi 24 bit, man non i successivi due bit. Quindi i pre- fissi sono diversi, le stazioni appartengono a LIS diverse e sono in reti fisiche diverse, le stazioni non possono mandare il pacchetto direttamente, la comunicazione deve avvenire mediante un router. 7) Cos’è una Default Net Route di una subnet? PRINCIPI DI FUNZIONAMENTO DEI ROUTER E SCENARI DI USO DI INDIRIZZI I router fanno ciò per cui sono “famosi”: “ROUTE” I PACCHETTI, ovvero scegliere un percorso per far arrivare alla destinazione i pacchetti. Prefix matching per ogni interfaccia Quando un router riceve un pacchetto da un mit- tente guarda l’indirizzo destinazione del pacchetto e deve fare la stessa operazione fatta dal mittente (prefix matching) per tutte le sue interfacce. In pra- tica deve essere verificato se la destinazione è in una delle LIS a cui il router è connesso e su quale si trova. Tramite l’operazione di prefix matching il router riesce a capire quale è l’interfaccia su cui deve inoltrare il pacchetto. Il router in figura in alto ha due interfacce e quindi per ogni interfaccia fa una operazione di bitwise AND tra l’indirizzo che ha sull’interfaccia e la netmask che ha sull’interfaccia con l’indirizzo della destinazione e la netmask che ha sull’interfaccia. Facendo questa operazione con l’interfaccia di sopra troverà che i prefissi sono diversi, facendolo con quella di sotto troverà che i prefissi sono uguali e allora sa che può consegnare direttamente il pacchetto usando il servizio Ethernet, se la rete è Ethernet, mettendo il pacchetto IP in una trama Ethernet e mandandolo a destinazione. Nel fare prefix matching il router troverà al più una corrispondenza, ma ci può non essere corrispon- denza, come mostrato nella figura centrale. In que- sto caso il router si avvarrà della sua routing table, la tabella di routing. La routing table contiene una serie di righe in cui ogni riga contiene una destinazione e un next hop. Una destinazione è una sottore- te logica IP, una Logical IP Subnet, una LIS. Quindi è un prefisso che identifica quella par- ticolare sotto rete logica per cui è una coppia indirizzo/netmask. Se stiamo usando indirizzamento classless, che è quello che si fa oggi nelle reti IP, allo- ra per capire quanto è lungo il prefisso serve una netmask. Quindi in ogni riga, detta en- try, della routing table il router ha una coppia indirizzo/netmask che rappresenta una destinazio- ne e un next hop, che è il prossimo router a cui i pacchetti, per quella particolare destinazione, inte- sa come LIS a cui la destinazione finale del pac- chetto appartiene, devono essere inoltrati. Il next hop è sempre direttamente collegato, in quanto il router deve essere in grado di consegnare il pac- chetto. Il next hop ha lo stesso prefisso di una delle interfacce del router. Ad esempio la destinazione 190.3.1.0 che è su tre byte, è raggiungibile mandando pacchetti ad un next hop che è 190.3.3.2, che è il router R2. Esso è direttamente collegato ed è parte della stessa rete fisica ed ha lo stesso prefisso di R5. Se la de- stinazione è 190.3.9.0 allora R5 invia pacchetti a 190.3.6.8 che è l’indirizzo (formato sia da 190.3.6.8 sia da 2555.255.255.0) che R3 ha sull’interfaccia collegata alla rete Ethernet 190.3.6.0 che è una rete a cui anche R5 è collegato. R5 guarda con quale delle sue interfacce fa prefix matching e la usa per inoltrare il pacchetto verso R3. Nel successivo esempio, destinazioni che hanno lo stesso prefisso naturale (190.3, indirizzo di clas- se B), vediamo che ci sono 3 sottoreti create dallo stesso prefisso naturale con lunghezze di prefissi diversi, determinati dalle netmask. Nella rete dove c’è H4 si è usato un prefisso di 24 bit, sulle due reti che collegano i due router R3 e R4, che hanno mol- te meno destinazioni e quindi hanno meno neces- sità di identificatori di host, si usa una netmask di 30 bit, che è la netmask più lunga che si può usare che ci dà due identificativi. L’identificativo della rete risulta dunque 190.3.9 e 6 bit a zero. Il router usa la tabella di routing e le entry nella tabella di routing facendo, con un indirizzo di destina- zione dato, un AND logico bit a bit tra indirizzo destinazione e la netmask e vede se il risultato è uguale all’indirizzo associato. La netmask viene messo in AND bit a bit con l’indirizzo destinazione. Il risultato viene confrontato con l’indirizzo associato: se sono uguali vuol dire che si deve usare il next hop, se non sono uguali, cioè non c’è un matching, allora si passa alla riga successiva. E così via finché il router non trova una riga che fornisca matching. Se nessuna riga risulta in un matching il pacchetto viene scartato. Se più righe fanno un matching, come per le pri- me due righe dell’esempio in figura, il router deve scegliere un next hop e sceglierà, sempre, quella riga che ha il prefisso più lungo. Il router farà l’ope- razione detta longest prefix matching. Cerca cioè nella tabella una entry che ha prefisso più lungo possibile che offra un matching e quindi in questo caso di esempio il router sceglierà la seconda riga per cui inoltrerà il pacchetto a 190.3.6.8 (R3), con destinazione 190.3.9.0. La ragione di questa scelta sta nel fatto che l’infor- mazione più specifica, ovvero la destinazione più specifica, è quella con il prefisso più lungo. C’è un caso particolare in cui si ha una route (entry nella tabella di routing) più specifica ed è quella che si chiama DEFAULT NET ROUTE, di una subnet Questo avviene quando si ha un prefisso naturale 190.3 con un next hop e poi dei prefissi, delle sub- net ricavate dal quel prefisso naturale con un next hop diverso e quindi una route specifica per quelle subnet, come in figura, la prima riga. C’è anche una route di default più generale, detta appunto default route, che prende la forma mostra- ta in ultima riga, con una entry in cui la netmask è fatta di tutti 0 e l’indirizzo è fatto di tutti 0. Questa è una entry molto particolare, per cui qual- siasi indirizzo di destinazione farà matching. In sostanza questo indica al router di guardare tutte le entry e, nel caso in cui nessuna entry dà un ma- tch allora l’entry da usare è l’ultima, la default route. In questo modo il pacchetto non sarà buttato via e 192.3.6.8 sarà il next hop. La sequenza di routing, per riassumere, consiste in: Reti direttamente collegate Entry [righe] più specifiche Meno specifiche (aggregate) Default router Lezione MOLTO importante Il piano d’uso degli indirizzi (addressing) ed il routing, in particolare le prestazioni del routing, sono strettamente legati. Quanto buono sarà il percorso che i pacchetti faranno e quanto grandi saranno le tabelle di routing sono strettamente legati. Il routing e le sue prestazioni sono strettamente legati al formato degli indirizzi ed al modo in cui gli indirizzi vengono assegnati alle stazioni e quindi alle varie reti logiche. 8) A cosa servono i protocolli ARP e RARP? ARP e ICMP sono due protocolli di servizio della architettura di protocolli della rete Internet. Sono protocolli che non vengono usati per trasportare dati dell’applicazioni dell’utente ma per aiutare il funzionamento della rete dei dispositivi. ADDRESS RESOLUTION PROTOCOL (ARP) [protocollo per la risoluzione di indirizzi] A lato è mostrato dove è collocato il protocollo ARP, al livello 3 subito sopra il livello 2. E’ un protocollo di servizio e non trasporta dati. Non ha le tipiche funzionalità del livello trasporto di trasportare dei dati attraverso più hop dal mittente al destinatario ma è un protocollo che aiuta il livello trasporto a funzionare a dovere ed ecco la ragione per cui è collocato a livello trasporto. Nell’immagine è messo subito sopra il livello 2 per indicare che i messaggi vengono imbustati direttamente dentro trame di livello 2. Caratteristiche generali → Protocollo di tipo solicitation basato su broadcast; solicitation vuol dire che una stazione richiede ad altre di fornire informazioni, a differenza di altri protocolli dove una stazione fornisce informazioni direttamente senza che siano esplicitamente richieste. E’ basato su broadcast in quanto i messaggi verranno mandati a tutte le stazioni di una rete usando i servizi di broadcast del livello 2. → Il protocollo ARP serve per trovare la corrispondenza tra un indirizzo di livello 3 e uno di livello 2 → Un indirizzo di qualsiasi protocollo di livello 2 (Ethernet o 802.3, in generale indirizzi MAC) e di livello 3 (protocollo IP), ma ARP funziona su ogni tipo di protocollo → Il protocollo di livello 3 e di livello 2 a cui si fa riferimento viene specificato in ogni singolo messaggio Principi di funzionamento → I messaggi ARP vengono imbustati direttamente dentro trame di livello 2, nel caso più come in trame Ethernet, ed in questo caso si usa il valore esadecimale sottostante nel campo Ethertype, per specificare che la trama contiene un messaggio ARP → Ethertype 0x0806 → Il protocollo, nel caso di reti TCP/IP, permette di trovare una corrispondenza tra indirizzi MAC e indirizzi IP; tale corrispondenza viene memorizzata nella cosiddetta ARP cache memorizzata in cache → ARP cache → Quando c’è un pacchetto di livello 3 da inviare, da parte di una stazione → Se la corrispondenza tra l’indirizzo della destinazione e il corrispondente indirizzo MAC di quella stazione è nella cache, il pacchetto viene inviato usando quella informazione → Altri