1

SOMMARIO
1.INTRODUZIONE…………………………………………………………….....………3

HARDWARE DI RETE CLASSIFCAZIONE SECONDO SCALA SOFTWARE DI RETE E GERARCHIE DI PROTOCOLLI RETI E STANDARTIZZAZIONE 2.LIVELLO FISICO………………………………………………………………...……7 MEZZI TRASMISSIONE GUIDATI TRASMISSIONI WIRELESS SATELLITI PER LE TELECOMUNICAZIONI SISTEMA TELEFONICO PUBBLICO COMMUTATO SISTEMA TELEFONICO MOBILE 3.LIVELLO DATA LINK……………………………………………………..………...12 SINCRONIZZAZIONE INIZIO E FINE TRASMISSIONE INDIRIZZAMENTO CONTROLLO ERRORI CONTROLLO DI FLUSSO PROTOCOLLI DATA-LINK 4.SOTTTOSTRATO MAC……………………………………………………………..19 ASSEGNAZIONE DEL CANALE PROTOCOLLI AD ACCESSO MULTIPLO PROTOCOLLI AD A.M. CON RILEVAMENTO DELLA PORTANTE PROTOCOLLI SENZA COLLISIONE IEEE 802 CODIFICA MANCHESTER BYNARY EXPONENTIAL BACKOFF LAN LOGICHE 802.3U FAST ETHERNET 802.3Z GIGABIT ETHERNET 802.3ae 10GE COMPONENTI DI RETE 802.11 : WIRELESS LAN PROTOCOLLO DEL SOTTOSTRATO MAC SERVIZI 802.16 WIRELESS A BANDA LARGA (WIMAX) 802.15 BLUETOOTH 5. LIVELLO NETWORK……………………………………………………………….34 ALGORITMI DI ROUTING ALGORITMI NON ADATTATIVI ALGORITMI ADATTATIVI

2

ROUTING GERARCHICO ROUTING BROADCAST ROUTING MULTICAST ROUTING PER HOST MOBILI CONTROLLO DELLA CONGESTIONE QUALITA’ DEL SERVIZIO PRENOTAZIONE RISORSE CONTROLLO AMMISSIONE PIANIFICAZIONE DEI PACCHETTI SERVIZI INTEGRATI SERVIZI DIFFERENZIATI INTERNETWORKING PROTOCOLLO TCP/IP PROTOCOLLI DI ROUTING TRA GATEWAY INTERNET MULTITASKING INTERNET PROTOCOL VERSIONE 6 (IPv6) 6.LIVELLO TRASPORTO……………………………………………………………..53 PRIMITIVE DEL SERVIZIO TRASPORTO INDIRIZZAMENTO CREAZIONE CONNESSIONE CHIUSURA CONNESSIONE CONTROLLO DI FLUSSO MULTIPLEXING LIVELLO DI TRASPORTO DEL MODELLO TCP/IP 7. LIVELLO APPLICAZIONE………………………………………………………...63 DOMAIN NAME SISTEM POSTA ELETTRONICA IL WORLD WIDE WEB

3

1.INTRODUZIONE
Le reti di calcolatori suscitano un vivo interesse,questo perche possono venire utilizzate per condividere risorse ,cioè rendere disponibile a chiunque sulla rete programmi,periferiche e dati,indipendentemente dalla posizione fisica dell’utente o della risorsa. Le reti sono anche un potente mezzo di comunicazione dato che eliminano l’ostacolo della distanza, ne è un’esempio l’e-commerce. Inoltre le reti hanno trovato sempre più spazio nelle applicazioni domestiche per accesso a informazioni remote,comunicazioni da persona a persona,intrattenimento interattivo ;visto il largo uso delle reti anche le reti mobili trovano un largo impiego. HARDWARE DI RETE Esistono due tipi di tecnologie trasmissive:  Collegamenti broadcast : hanno un solo canale di comunicazione condiviso tra tutte le macchine della rete.Dei pacchetti vengono inviati da ciascuna macchina e ricevuti da tutte le altre (che riconoscono il destinatario grazie al campo indirizzo) che processano il pacchetto se l’indirizzo corrisponde a quello della macchina ,altrimenti il pacchetto viene ignorato. Nel campo indirizzo è possibile inviare a tutti i destinatari (inserendo un opportuno codice nel campo indirizzo) che poi processano il pacchetto. In alcuni casi è possibile trasmettere a soli sottoinsiemi di macchine (multitasking).  Collegamenti punto a punto : consistono in molte connessioni tra singole coppie di macchine.Questi collegamenti sono tipici delle reti su larga scala,dato che per andare da sorgente a destinatario sono possibili perscorsi multipli don diversa lunghezza. CLASSIFICAZIONE SECONDO SCALA

 LAN : data le dimensioni contenute si possono avere alte velocità e pochi errori.Viene maggiormente utilizzata la tecnologia broadcast dove si differenziano le topologie a bus (cioè realizzata con cavo lineare) e ad anello(macchine collegate una ad una).

In una rete a bus al massimo una macchina alla volta può trasmettere ,e un meccanismo di arbitraggio

) mentre gli host dagli utenti.  Strato network: controlla lo stato della sottorete:gestisce la modalità con cui i pacchetti vengono inoltrati dalla sorgente alla destinazione.Genericamente queste subnet sono controllate dai gestori (telefonia. Quindi un servizio definisce quali operazioni lo strato è in grado di offrire su richiesta dei suoi utenti .  MAN : rete metropolitana che spesso consiste nella divisione di un servizio tra gli utenti di un’area (ad esempio dall’antenna della tv via cavo alle abitazioni della città)  WAN : copre una vasta area e racchiude macchine destinate ad eseguire programmi utente (Host).cioèarrivando ai problemi di tensione e tempo trasmissione.5).Deve assicurarsi che ogni bit sia ricevuto con lo stesso valore col quale è stato inviato.trasmessi sequenzialmente.quindi si preferisce il modello dinamico.  Strato data-link: cerca di rilevare gli errori di trasmissione in modo di non trasmetterli allo strato superiore. SOFTWARE DI RETE E GERARCHIE DI PROTOCOLLI La maggior parte delle reti è strutturata come pila di strati o livelli.cioè lavora tra il provider e il servizio utente .per la gestione dei token (evitare che le due parti tentino la stessa operazione nello stesso istante) e sincronizzazione (visionare . Le reti broadcast si possono ulteriormente suddividere in statiche e dinamiche dove nelle prime viene suddiviso il tempo in intervalli discreti.Per fare questo il trasmettitore viene forzato a suddividere i dati d’ingresso in dataframe.Esistono varie regole per arbitrare l’accesso come ad esempio l’attribuzione dei turni alle macchine (IEEE 802.  Strato sessione: serve per tenere traccia del turno da trasmettere o ricevere. Modello di riferimento OSI Definisce ciò che ogni strato deve compiere :  Strato fisico: si occupa della trasmissione dei bit grezzi sul canale di comunicazione. Il protocollo è l’intermediario per la comunicazione tra due strati e in fondo agli strati si trova il livello fisico col quale è possibile effettuare le comunicazioni.4 risolve i conflitti nel caso in cui più macchine vogliano trasmettere.lo stabilimento della comunicazione iniziale e il tipo di comunicazione. Il protocollo invece è l’insieme di regole che controllano il significato e il formato dei pacchetti.ogni bit si propaga in modo autonomo senza aspettare il resto del pacchetto a cui appartiene.internet ecc. Nella rete ad anello.Con questo metodo vengono sprecati molti cicli di clock quando non vengono effettuate comunicazioni.cioè il servizio viene offerto un servizio nascondendo i dettagli degli strati inferiori. Regola anche la velocità di traffico per evitare che un trasmettitore veloce saturi un ricevitore lento(controllo di flusso) .  Strato trasporto: lo strato trasporto accetta dati dallo strato superiore e li prepara per lo strato network e si assicura che tutti i pezzi arrivino all’altra estremità.Se vengono ricevuti il ricevitore conferma la correttezza inviando un ack-frame. Gli host sono collegati tra loro da delle sottoreti (Subnet) che trasportano i messaggi da un’host all’altro.permettendo a ogni macchina di eseguire il broadcast solo al proprio turno. L’inoltro si potrebbe basare su tabelle statiche incluse nella rete oppure potrebbe essere altamente dinamico per rendere eterogenee le comunicazioni tra le reti.con lo scopo di ogni strato di offrire determinati servizi agli strati superiori. In poche parole un programma sulla macchina sorgente comunica con la macchina del destinatario utilizzando intestazione dei messaggi e messaggi di controllo.

. Sono stati definiti due protocolli per il trasporto:il TCP (Trasmission Control Protocol)che è un protocollo affidabile orientato alla connessione che permette a un flusso di byte emessi da un computer di raggiungere senza errori il destinatario.5 trasmissione per consentirne ripresa). Anch’esso utilizza un servizio di trasmissione end-to-end e indipendente dalla rete.  Strato applicazione: contiene i protocolli a livello superiore come quelli per scambio file. Modello di riferimento TCP/IP Questo modello nacque dall’esigenza del dipartimento della difesa di avere una rete che potesse sopravvivere alla perdita dell’hardware senza interrompere le comunicazioni .scopi e tecnologie. Questo protocollo gestisce anche il flusso per fare in modo che una sorgente veloce non saturi un ricevente lento L’altro protocollo utilizzato è l’UDP (User Datagram Protocol) è un protocollo non affidabile senza connessione per le applicazioni che non vogliono garanzia di ordinamento e il controllo del flusso. La più conosciuta è senza dubbio internet che però è un'insieme di reti che usano certi protocolli e offrono servizi comuni.e con un’architettura flessibile dato che erano previste richieste divergenti.creata da ricercatori con sussidi e permessi dal governo. RETI E STANDARDIZZAZIONE Esistono vari tipi di reti da quelle su scala mondiale a quelle più ridotte.tutte con diversi obbiettivi.Gestisce strutture dati astratte e consente lo scambio e la definizione di strutture dati a livello superiore.dice solo che l’host si deve collegare alla rete usando qualche protocollo che gli permetta di spedire pacchetti IP . Lo strato fornisce un formato e un protocollo per i pacchetti (IP) dato che il suo scopo è quello di consegnare i pacchetti a destinazione corretta. La storia di internet nasce però negli anni 50 con la creazione di ARPANET la prima rete fatta costruire in america per motivi militari.dalla richiesta di pagine web al trasferimento file.  Strato applicazione: comprende una varietà di protocolli richiesti dagli utenti.e negli anni '80 quando ad Arpanet furono connesse molte altre reti fu creato il DNS (Domain Name System) per organizzare i computer in domini e per abbinare i nomi degli host a indirizzi IP.  Strato host-network: questo strato è posto sotto lo strato internet . Arpanet prese sempre più piede fra le università americane.Questo protocollo varia da rete a rete. posta elettronica.datà l'inaffidabilità delle reti telefoniche di allora.perche anche grazie al nuovo protocollo tcp/ip divenne di più semplice impiego .e di farli viaggiare in modo indipendente l’uno dall’altro e nel caso in cui vengano ricevuti in disordine lo strato superiore li riordina. Il protocollo suddivide il flusso di byte entrante in messaggi discreti e passa ciascun frammento allo strato internet e nella destinazione si compone il messaggio.è orientato alla applicazioni e diviso in tre strati:  Strato internet: il suo scopo è consentire agli host di mandare pacchetti in qualsiasi rete .  Strato trasporto: progettato per consentire la comunicazione tra entità pari degli host sorgente e destinazione.  Strato presentazione: si preoccupa della sintassi e della semantica dell’informazione trasmessa.

. Il successo istantaneo della rete portò a un'ulteriore miglioramento nel 1990 e qualche anno dopo.nazionali. Nel corso degli anni si sono andati a formare due tipi di starndard.come per le altre.si è visto che su larga scala porta un notevole vantaggio avere dei protocolli comuni a tutte le macchine che operano in rete.quelli "de facto".stabiliti senza piani formali e quelli regolarmente autorizzati da organizzazioni che possono essere volontarie.continentali.6 Data la natura militare della rete Arpanet dove era possibile operare solamente con u visto del dipartimento della difesa nacque in america un'altra rete NSFNET che collegava diversi supercomputer posizionati in parti opposte del paese e anche alcune reti regionali.venne affidata ai gestori che iniziarono a costruire la rete mondiale che noi tutti oggi conosciamo.sfruttado il protocollo tcp/ip. Quindi per le reti di computer.come anche Arpanet.

Inizialmente era usato dalle aziende telefoniche per le connessioni su lunghe distanze. Si differenziano dunque per le loro proprietà elettriche come resistenza.che mantiene un andamento lineare all'interno della fibra.7 2. Le fibre sono adatte solo a collegamenti punto a punto.questo però causa attenuazione e dispersione.capacità e induttanza che influenzano le prestazioni del cavo.con uno strato di vetro con indice di rifrazione più basso del nucleo (cladding). Le fibre ottiche sono costituite da un tubicino sottile di plastica o vetro in grado di guidare la luce (nucleo). All'interno del cavo il fascio luminoso rimbalza sul cladding e quindi viene mantenuta nel nucleo. La trasmissione tra due fibre può essere multimodale. Le fibre step-index e graded-index differsicono per il grado di rifrazione del cladding .quindi ci vogliono due fibre per fare un sistema trasmittente-ricevente.che racchiude queste tre proprietà.dato che in questo modo i due campi elettrici si annullano.cioè dove la sorgente luminosa è un LED la cui luce non è concentrata quindi soggetta a dispersione. l'impedenza. nelle prime abbiamo una velocità e un percorso maggiore rispetto alle seconde. Possono essere usati per trasmettere segnali analogici e digitali e sono largamente impiegati data la loro compatibilità con la telefonia.ora è molto utilizzato per reti metropolitane e televisioni via cavo. L'ampiezza di banda dipende dal diametro del cavo e dalla distanza percorsa ma si possono arrivare per brevi distanze anche a velocità di alcuni Mb al secondo. Questo metodo permette un'ampiezza di banda maggiore su distanze più lunghe ma il costo è superiore e l'installazione è più complessa e inoltre la durata è minore. Anche le proprietà strutturali e geometriche influenzano il rendimento dei cavi:  Doppino: il doppino telefonico è composto da due condutori di rame isolati. questo processo richiede più tempo della trasmissione dati.quindi rappresenta il collo di bottiglia della trasmissione. Nella trasmissione monomodale la sorgente luminosa è un laser ILD con una luce molto concentrata. .non soggette a interferenze .sicure e hanno una notevole larghezza di banda.inoltre la costruzione e la schermatura forniscono più ampiezza di banda ed eccellente immunità al rumore.avvolti l'uno all'altro in una forma elicoidale.e ci indica la potenza inviata che arriva al ricevitore e la distorsione del segnale.bassa attenuazione(dispersione segnale l crescere della distanza) e bassa diafonia (disturbo del campo elettrico).assenza di luce =0). Il sistema di trasmissione sono formati da una sorgente che accetta un segnele elettrico.Sono però molto costose e richiedono di personale specializzato per l'installazione. Il ricevitore è formato da un fotodiodo che genera un impulso elettrico quando è colpito dalla luce .  Cavo coassiale: è formato da un filo di rame conduttore rivestito da materiale isolante e poi da una schermatura a calza e da una guaina protettiva. Questo cavo permette di percorrere distanze più lunghe e di avere velocità più elevate.lo converte e lo trasmette tramite impulsi luminosi rappresentanti un valore binario (luce =1. Inoltre i cavi ottimali sono caratterizzati da una buona velocità di propagazione.  Fibra ottica: sono poco ingombranti.coperto da un rivestimento protettivo.i canali sono monodirezionali.LIVELLO FISICO MEZZI DI TRASMISSIONE GUIDATI Questa tipologia di mezzi di trasmissione sfrutta la proprietà dei metalli di condurre energia elettrica.

Le onde si propagano eseguendo oscillazioni. Nello spettro ci sono primale onde di frequenza più bassa . -la distanza efficace per la trasmissione Le frequenze più basse si propagano in tutte le direzioni.quindi λ x f = c.ma rimbalzano sulla ionosfera arrivando a grandi distanze.le caratteristiche più importanti per l’uso delle onde nella trasmissione dati per le reti sono: -la persistenza.cioè la possibilità di superare le pareti e altri ostacoli senza attenuazione. Le onde elettromagnettiche sono descritte dallo spettro elettromagnetico che rappresenta le onde al variare della frequenza.le frequenze più alte viaggiano in linea retta e rimbalzano sugli ostacoli. -la direzionalità. La modulazione spread spectrum suddivide l’ampiezza di banda in più sottocanali che vengono usati uno alla volta per trasmettere i segnali.cioè l’ampiezza di banda. .Nel vuoto le onde viaggiano alla velocità della luce c=3 x 10^8m/s. A frequenze molto basse sono in grado di attraversare gli ostacoli. La lunghezza d’onda è inversamente proporzionale alla frequenza quindi al crescere della frequenza diminuisce la lunghezza d’onda e viceversa. La modalità di trasmissione a banda di spettro usa delle bande di trasmissione che possono essere usate senza licenze e sono in grado di propagarsi in tutte le direzioni e di attraversare gli ostacoli ma le distanze di trasmissione sono regolamentate.quindi bisogna usare potenze di trasmissione molto basse. Le reti wireless per trasmettere i dati possono usare onde elettromagnetiche di vario tipo.si passa poi alle prime forme di luce per arrivare ai raggi x e ai raggi gamma. quali: Onde Radio Facili da generare e possono viaggiare per lunghe distanze ma sono soggette a inerferenze da parte di apparecchiature elettriche.una per la trasmissione e una per la ricezione.poi si passa alle frequenze percepibili dall’orecchio umano.8 TRASMISSIONI WIRELESS Un’antenna trasmette onde elettromagnetiche che posssono essere ricevute da un ricevitore a una certa distanza.il numero di oscillazioni al secondo si chiama frequenza e si misura in Hertz. La velocità delle onde elettromagnetiche è costante e uguale al prodotto tra lunghezza d’onda e la frequenza .cioè la possibilità di orientare in una direzione la loro propagazione -la velocità massima di trasmissione.per questo sono usate per comunicazioni radioamatoriali e militari Microonde Sono molto usate nel wireless anche se quelle a bassa frequenza (2. Questa tecnologia è molto usata perche poco costosa e non richiede diritti di passaggio l’unico problema è che non è consentita una trasmisione full-duplex su un’unica frequenza quindi si devono usare due frequenze. Le caratteristiche fisiche delle onde e le modalità di propagazione dipendono dalle frequenze utilizzate.la distanza tra due valori massimi dell’onda consecutivi si chiama lunghezza d’onda indicata con λ.le frequenze più alte possono essere concentrate in una direzione ma prmettono di trasportare una maggiore quantità di dati.4 GHz) possono essere disturbate da apparecchi come il forno a microonde o il cellulare mentre per quelle con frequenza attorno ai 5 GHz devono essere usate solamente all’interno perché altrimenti potrebbero interferire con collegamenti satellitari.tendono a essere assorbite dal suolo .

su un'altra frequenza.  Satelliti geostazionari : si trovano al di sopra delle fasce di Van Allen (forte campo magnetico che crea interferenze) a 35000 km di altitudine e quindi coprono una vasta area. . Un esempio di questi satelliti sono quelli usati per il GPS. Esistono due tecnologie : nella modalità a infrarossi diretti trasmettitore e ricevitore devono essere perfettamente allineati per potersi scambiare un fascio di luce e la trasmissione è punto a punto. SATELLITI PER LE TELECOMUNICAZIONI La comunicazione satellitare nacque sempre per scopi militari.5 a 30 GHz con problemi riguardanti le interferenze terrestri e climatiche.coprono un'area più piccola e quindi sono raggiungibili da trasmettitori meno potenti. Poiché la tecnologia è costosa di solito si collegano più stazioni ad un’unica unità di accesso che trasmette e riceve segnali laser per tutto il gruppo di stazioni. Sopra i 100 MHz le onde viaggiano in linea retta e possono essere direzionate e quindi per coprire grandi distanze necessitano dei ripetitori dato ce la terra rappresenta un ostacolo.per la comunicazione tra le navi della marina. Si usano di solito frequenze fino ai 10 GHz e sono sfruttate per la telefonia e trasmissioni televisive. Le frequenze di trasmissione sono da 1. I raggi infrarossi Sono onde di lunghezza millimetrica:sono relativamente direzionabili e non passano attraverso i solidi.infatti ciò che viene trasmesso può essere ascoltato da tutti a meno che non siano utilizzati metodi di crittografia. Un satellite artificiale contiene diversi transponder (ricetrasmettitori) che ascoltano diverse parti dello spettro .per poi ritrasmettere in uscita lo stesso segnale amplificato.  Satelliti su orbite medie: si spostano lentamente lungo la longitudine percorrendo la circonferenza terrestre in circa 6 ore.dove inizialmente veniva utilizzata la luna come satellite sul quale fare rimbalzare i segnali. La modiltà di trasmissione a banda singlola usa un unico canale nella fascia delle microonde dove però è necessario ottenere una frequenza dedicata con una licenza.richiede maggior potenza e disperde maggior calore.Come per gli infrarossi i raggi non possono attraversare gli ostacoli e non possono attraversare pioggia o nebbia. La luce può essere direzionata producendo un fascio molto stretto e usata a distanze maggiori degli infrarossi. Un problema che riguarda le trasmissioni satellitari è la sicurezza.9 I sottocanali possono anche essere usati in successione (sequenza diretta) o secondo una sequenza pseudocasuale che permette maggiore sicurezza e riduce la possibilità di interferenze. Successivamente vennero adottati saltelliti alrtificiali che rispetto alla luna non solo riflettono il segnale ma lo amplificano. La posizione e la quota del satellite ne determinano l'area che esso può coprire col proprio segnale che può variare dai 100 km all'intero pianeta.nella modalità a diffusione la radiazione luminosa emessa da una stazione viene diffusa in tutte le direzioni e viene quindi riflessa in tutte le altre stazioni con la trasmissione di tipo broadcast Laser La tecnologia laser è molto costosa rispetto a quella infrarossi.

mentre altri generi di cavi per i collegamenti lunghi. I sistemi si basavano sulla suddivisione del territorio in celle ognuna delle quali usa un certo insieme di frequenze per le comunicazioni. Il primo sistema che riscosse successo.Essendo molto vicini alla terra sono raggiungibili da trasmettitori meno potenti e il loro ritardo nelle comunicazioni è solo pochi millisecondi.oltra a canali di controllo per la gestione del sistema. Per interfacciare i computer sulla rete telefonica è necessario un modem che converte i bit del computer in forma analogica per fare arrivare il segnale alla centrale vicina.che è connessa a uffici terminali che sono poi connessi ad almeno un ufficio terminale nella rete fissa.la registrazione viene ripetuta ogni 15 . In ogni cella cè una stazione base dalla quale trasmettono tutti i telefoni nella cella.la prima generazione. Per la trasmissione vengono utilizzati i doppini telefonici per le bravi distanze (casa. I modem raggiungono una velocità massima di 56 kbps dato che il canale telefonico raggiunge un'ampiezza di circa 4000 Hz cioè ha un numero di 8000 campioni al secondo.e venne cosi creato un sistema analogo dove le centrali che gestivano le chiamate urbane venivano collegate da una centrale di secondo livello a altre aziende urbane di altre città. Ogni telefono ha un proprio numero di serie e un numero telefonico e qualndo il telefono si accende si registra presso una stazione base e quindi all'ufficio terminale.meno soggetto a errori quindi più economica.è stasto quello cellulare. La crescente domanda del mercato portò alla creazione di una rete urbana con al centro una centrale che si occupava di direzionare le chiamate dalla sorgente al destinatario. SISTEMA TELEFONICO MOBILE La prima tipologia di sistema telefonico mobile è rappresentata dai telefoni analogici. SISTEMA TELEFONICO PUBBLICO COMMUTATAO Quando Bell nel 1976 inventò il tefefono le comunicazioni venivano effettuate da apparecchio ad apparecchio collegati con un cavo.10  Satelliti su orbite basse : si spostano rapidamente quindi per coprire l'area planetaria ne occorrono numerosi. Per aumentare la velocità della linea sono state introdotte le linee xDSL che sfruttano sempre la linea telefonica ma utilizzando anche quelle frequenze che nei collegamenti telefonici vengono tagliate da un filtro (non signficative per la trasmissione vocale). Il metodo di trasmissione inizialmente era di tipo analogico ma con il tempo ha preso sopravvento il digitale sulle lunghe tratte. La velocità di trasmissione dipende dalla vicinanza alla centrale di commutazione e dalla tipologia di linea : nelle più comuni Asincronous DSL un filtro separa le frequenze vocali per la comunicazione telefonica e il resto dello spettro di frequenza viene indirizzato verso un modem ADSL che funziona pressapoco come un'insieme di modem analogici che lavorano in parallelo su diverse frequenze.uno per ricevere e uno per trasmettere.in Europa era utilizzato il sistema TACS ( Total Acces Comunication Systems).affidabile e facile da gestire. Le frequenze usate sono comprese tra gli 800 e i 900 MHz distriuite in due canali simplex.che poi lo riconverte in binario per farlo viaggiare sulla dorsale.differenti dalle celle adiacenti. Il numero di bit per campione è 8 ma uno è da utilizzare per il controllo e quindi moltiplicando i campioni al secondo per i bit troviamo la velocità di trasmissione.composta inizialmente da delle specie di trasmittenti sintonizzate sulla stessa banda.centralino). Il modello fu ulteriormente migliorato con la necessità di chiamate interurbane.

Ogni telefono quindi ascolta in continuazione un canale di controlloper verificare se ci sono chiamate e nel caso in cui ci siano gli viene comunicato il canale per la conversazione.un'altro lo utilizza la stazione base per emettere l'identificazione.e un'altro viene usato dai telefoni per la registrazione alla stazione base. I telefoni di seconda generazione sfruttano un sistema digitale. Lo spettro disponibile è suddiviso in canali da 200 kHz e ogni canale gestisce 8 connessioni diverse e su ogni canale viaggiano frame composti da 8 slot. Un canale viene impiegato per controllare l'arrivo di nuove chiamate. I frame vengono utilizzati oltre che per le comunicazioni anche per controllo e la gestione del sistema.anch'esso non standard . Per effettuare una chiamata bisogna prenotare uno slot in un canale che attraverso un canale di controllo viene comunicato a un canale dedicato.11 minuti.inoltre è possibile crittografare i dati per una maggiore protezione della privacy. Per effettuare una chiamata il telefono trasmette il numero da chiamare e la sua identità alla stazione base. La tecnologia W-CDMA permette di raggiungere una capacità di trasmissione fino a 2 Mbit al secondo. chiamato GSM ( Global System for Mobile Comunication) Questo sistema permette di integrare trasmissione voce e dati e di usare algoritmi di compressione vocale per una minore richiesta di banda.che informa l'ufficio terminale che trovato un canale libero sul telefono mobile aspetta la risposta del destinatario. Viene utilizzata la commutazione di pacchetto e quindi la banda viene utilizzata solamente per l'effettiva trasmissione di informazioni. Il canale di comunicazione cambia da cella a cella quindi se durante una chiamata avviene il cambio di cella cambia anche il canale.quindi anche la tariffazione si basa sui dati scambiati piuttosto che sul tempo. . Questo metodo di comunicazione però non garantisce la segretezza dell'informazione dato che con un ricevitore è possibile ascoltare il tutto. La terza generazione di telefonia mobile è definita dallo standard internazionale UMTS (Universal Mobile Telecomunication System). La frequenza sul quale lavora è circa 900 MHz ma successivamente fu utilizzata anche la banda a 1800 MHz per una trasmissione dual band.

nel caso in cui la sequenza ricorra anche all’interno dei dati. oppure può esse implicita. la stazione destinataria può negoziare i parametri per il trasferimento e il controllo del flusso dei dati. Dato che lo strato si deve occupare anche della corretta ricezione dei dati . per questo motivo il ricevitore ha necessità di sapere esattamente l’inizio e la fine di ogni carattere trasmesso. Ovviamente nel pc ricevente il livello data-link dovrà ricevere riconoscere la suddivisione dal flusso di bit fornito dal livello fisico e passarlo al livello superiore. Inoltre con questa connessione non è possibile la ritrasmissione del carattere nel caso in cui esso sia ricevuto con degli errori .12 3. il mittente manda un messaggio al destinatario con una richiesta di connesione. e rimane in attesa della risposta. I caratteri sono trasmessi come stringhe di bit definite nell’insieme degli standard per caratteri. La limitazione dei sistemi asincroni è che i dati vengono trasferiti come se fossero caratteri e dato che 2/10 dei bit sono di start e stop c’è un gravoso overhead.vengono riconosciuti e utilizzati nella macchina ricevente per controllare i dati. .E’ una tecnica poco utilizzata perché nel caso in cui non venga interpretato bene un flag . In tale meccanismo. Se la risposta è negativa. Nel caso del bit stuffing una serie ben precisa di bit indica l’inizio di un frame e un’altra ne indica la terminazione .  Trasmissione asincrona : la sincronizzazione è fatta un carattere alla volta.LIVELLO DATA-LINK Mentre lo strato fisico si occupa della mezzo di comunicazione all'interno di una rete il livello data-link si prende carico di più funzioni come gestire gli errori di trasmissione e gestire il flusso di dati per fornire un definito strato d'interfaccia allo strato network. Si applicano tecniche che utilizzano i bit di ridondanza a livello fisico.viene introdotto prima di essa un carattere identificativo “escape”. Nel caso in cui.soltanto nelle reti che presentano queste caratteristiche. si perde l’inizio del successivo.con l’inevitabile propagazione di esso. i dati vengono divisi aggiungendo informazioni di controllo all'inizio e alla fine.cioè un flag all’inizio del frame indica quanti caratteri seguiranno e quindi anche la lunghezza del frame. In queste trasmissioni lo start bit viene inviato sul canale con una serie di impulsi di polarità opposta in modo che venga subito riconosciuto. invece. il mittente può includere nel pacchetto la motivazione per cui la connessione viene rifiutata.Per permettere la comunicazione tra i dispositivi tuttavia è necessaria una sincronizzazione :  Trasmissione sincrona : il flusso di dati viene suddiviso in frame (sequenze di bit ) con un’inizio e una fine ben definiti da bit denominati flag (che poi vengono anche utilizzati per il controllo degli errori e del flusso). Un’altra tecnica utilizzata è quella del conteggio caratteri. SINCRONIZZAZIONE Questo livello ha il compito di smistare il flusso di byte del nodo ricevente .la tipologia di servizio può essere anche connesso o non connesso cioè la possibilità della macchina di inviare un ack alla ricezione di ogni pacchetto. Lo strato data-link si occupa anche della tipologia di servizio che può essere affidabile(si devono ricevere tutti i pacchetti) o non affidabile (i livelli superiori si occupano del problema della perdita di pacchetti) . inseriti dei bit di controllo al momento del'invio . INIZIO E FINE TRASMISSIONE Il livello DL potrebbe necessitare di stabilire una connessione prima che un protocollo abbia luogo.che evita allo strato di confondere i dati per flag. Il setup di una connessione di solito avviene con un meccanismo chiamato handshake. il permesso di connessione venga accordato.

Il problema degli errori all’interno del codice inviato può essere risolto in due modi.però nel caso in cui ho un numero di errori pari non riesco a individuare l’errore.più dei bit di check. Un protocollo di livello Data Link comunica con un altro protocollo Data Link attraverso un DL-SAP (Service Access Point. la codifica a correzione d’errore prevede l’utilizzo di ulteriori bit per fare in modo che gli errori siano trovati e allo stesso tempo permette anche la correzione. ognuno col suo proprio SAP. In LAN connesse a bus o ad anello. Se allo scadere del tempo non è stato ricevuto l’ack . In generale un’istanza di un protocollo DL può essere membro anche di più gruppi di tipo multicast  Broadcast usato per trasmettere un D-PDU a tutte le macchine CONTROLLO ERRORI Esiste la possibilità che un frame possa essere ricevuto con errori o non essere ricevuto affatto.13 INDIRIZZAMENTO Essendo una rete formata da più dispositivi. ossia l’indirizzo di macchina proprio di quel livello). come lo è lo nella maggior parte delle LAN. La distanza di Hamming è il numero di bit che bisogna cambiare per passare da una codeword ad un’altra dello stesso codice. Quando viene inoltrato un frame la macchina sorgente fa partire anche un timer per evitare la perdita d’informazione nel caso di perdita del frame. viene inviato alla macchina sorgente un “ack” in caso di corretta ricezione . Questo permette di avere diversi protocolli sulla stssa macchina. ed la minima delle distanze di Hamming fra tutte le possibili coppie di codewords rappresenta la distanza di Hamming per quel codice.con un’opportuno numero di sequenza (nel caso in l’altro frame venga ritrovato non abbiamo così due frame uguali). La connessione punto-punto non necessita che sia fisicamente diretta. . sorge la necessità di identificare ognuno di loro in maniera univoca. Generalmente ogni protocollo DL ha tre tipi di indirizzi:  Unicast usato per individuare esclusivamente un dispositivo  Multicast usato per individuare un gruppo di dispositivi. successivamente. logicamente diretta. Infatti con questa tecnica viene aggiunto al codice un bit che rende la sequenza binaria sempre pari (dispari se si tratta di controllo di disparità) . ma. Un insieme di codewords definisce un codice. richiedendo il pacchetto al trasmittente nel caso in cui non sia corretto.cioè bit ridondanti usati per la gestione degli errori. grazie all’indirizzamento. essa può essere.Per questo nelle connessioni di tipo sincrono alla ricezione di ogni frame viene fatto il controllo errori e .il frame viene inoltrato di nuovo. A questo livello un frame è composto da un numero di bit di dati. Il più semplice esempio di codifica a rilevazione d’errore è il controllo di parità che sfrutta il numero minimo di bit richiesti da Hamming per la rilevazione di un unico errore sul codice trasmesso. è possibile inviare il messaggio all’esatto destinatario di esso. Diremo infatti che due nodi di una rete sono direttamente connessi se. in modo che non ci siano perplessità quando si necessita indirizzare un messaggio a qualcuno di essi. mentre la codifica a rilevazione d’errore permette solamente di trovare gli errori. i dispositivi hanno un canale di trasmissione comune. sono necessari un numero di bit pari alla distanza di Hamming + 1. un i dati vanno dal mittente al destinatario senza essere modificato nel tragitto.altrimenti viene chiesta la ritrasmissione. Per rilevare l’errore in una codeword. menre per rilevare e correggere l’errore sono necessari un numero di bit pari al doppio della distanza di Hamming + 1. e l’insieme di questi due elementi viene detto codeword.

altrimenti il risultato dell’operazione ci rappresenta i bit di dati inviati. Il ricevitore e il trasmettitore utilizzano lo stesso polinomio generatore che è importante per l’efficacia del metodo. Il resto si sottrae dal polinomio ottenuto e cosi abbiamo il frame pronto per l’invio. se “a” rappresenta il numero di bit avremo allora i termini del polinomio compresi tra xªˉ¹ e xº. e anche i burst error (errori che colpiscono intensamente un flusso di bit) con lunghezza minore del resto.1. Controllo Ridondanza Ciclico (CRC) La tecnica più utilizzata per il rilevamento d’errori a livello data-link è il controllo ridondanza ciclico (CRC). cioè i bit di dati vengono visti come interi e la loro somma viene indicata da un flag di controllo.che poi verrà confrontato nel computer ricevente con la somma decimale dei dati ricevuti. dove i coefficienti dei bit che sono a uno.detti anche codici polinomiali.i cui bit di ordine più alto e più basso devono essere 1.CRC-32 e CRC-CCIT sono diventati standard e il prmo è proposto dai IEEE in ambito LAN networking. L’ampio utilizzo di questo metodo è dovuto all’individuazione degli errori su singolo bit fino a errori dispari.14 Una tecnica più raffinata è quella di disporre più sequenze di codice a matrice. Ai bit di dati vengono aggiunti tanti zeri quanto la lunghezza del polinomio generatore . Per verificare la corretta ricezione basta che il ricevente divida il frame per G(x).se la divisione dà un resto significa che si è verificato un errore.dopodiché si divide il polinomio ottenuto per il polinomio generatore. Un’altra tecnica utilizzata nella rilevazione d’errori è quella che utilizza i bit di somma (checksum) .ma anche questa tecnica non è in grado di rilevare certi tipi di controlli multipli.detto generatore polinomiale (G(x)) noto sia al mittente che al ricevente.in modo di avere un controllo incrociato su righe e colonne. I bit di dati da inviare vengono considerare come coefficienti (di valore 0 e 1) dei termini di un polinomio.sono presenti. Inoltre viene utilizzato un polinomio. .

per regolare la quantità di risorsa del destinatario e per la congestione della rete.15 CONTROLLO DI FLUSSO Un controllo di flusso viene effettuato per impedire al destinatario. Il controllo dunque risulta necessario per regolare la capacità del canale.il ricevente deve attendere un ACK. Il tempo di propagazione è ottentuto dal rapporto tra il numero di bit inviati e la capacità del canale. Anche se il canale è di tipo simplex per avere una trasmissione in entrambe le direzioni si necessita una rigida alternanza di flusso. nel caso in cui il tempo passato all’invio sia più che sufficiente per la ricezione. Questo protocollo assume qualche modifica nel caso in cui il canale sia particolarmente rumoroso (disturbato). Stop’n Wait Il metodo stop’n wait è adatto per trasferimenti di dati in una sola direzione : permette di controllare il flusso di frame in modo che il mittente possa mandare un nuovo frame solo dopo essersi assicurato che sia stato ricevuto il frame precedente. è dato dalla somma di tempo propagazione. un altro approccio è il controllo di flusso tramite riduzione della velocità. in realtà lui ne acquisisce uno alla volta. Questa tecnica è molto semplice da implementare.il tempo di trasmissione è dato dal rapporto della distanza e della velocità di propagazione del mezzo trasmissivo e il processamento è il tempo che impiega la macchina a organizzare i dati. Il tempo totale per l’accesso ai bit di dati ricevuti. . trasmissione e processamento. per ovviare al problema di perdita o mancata ricezione di pacchetti. Ogni volta che il mittente spedisce un frame.ma non sfutta sempre a pieno le caratteristiche del canale perché nei casi in cui il destinatario è in grado di processare diversi pacchetti. Gli approci comunemente usati sono il controllo di flusso tramite feedback.cioè da destinazione invia alla soregente informazioni per il permesso d’invio o per lo stato della macchina. si utilizza un timer che permette alla sorgente di rinviare il frame.prima di poter inviare un nuovo frame.dove la comunicazione avviene alternata (prima una macchina poi l’altra). di perdere frame per l’eccessiva velocità del sorgente.

di inviare un nuovo frame. i bit dell’aknowlegment in un campo del frame da inviare. se alla scadenza di questo il frame contenente l’ACK non è stato ricevuto deve essere spedito l’ACK singolarmente per evitare che il frame di dati sia spedito due volte. avremmo dei tempi di attesa considerevoli. in una connessione full-duplex. Per migliorare l’uso della banda di trasmissione viene usata la tecnica del piggybacking che consiste nell’inviare. con una grossa perdita di banda. Con la tecnica go back n viene migliorato il piggybacking perché. In caso di errore il destinatario invia il pacchetto. questo arrivato a destinazione verrebbe visto come un normale frame e passato al livello successivo. Un altro metodo per la correzione di errori.In questo caso si ha una trasmissione simile alla stop’n wait. Alla partenza di ogni frame dal mittente.16 Un’ulteriore problema si può verificare nel caso in cui venga perso un ACK.nel caso di tragitti molto lunghi. in modo da avere una trasmissione continua con pochi tempi di attesa (pipelining). Nel caso venga utilizzato un timer.in attesa che la window size accetti il suo valore. .senza però includere l’ACK. Se i frame non vengono ricevuti in successione.in modo che se il frame non arrivi a destinazione viene automaticamente rispedito allo scadere del tempo. Inoltre se viene ricevuto un frame che non rientra in quelli mancanti della window size.la window size assume i valori numerici successivi che contraddistinguono altri frame.viene inviato un pacchetto e viene inviato il successivo dopo la ricezione dell’ACK. che permette ala sorgente di liberare il posto nel buffer tenuto occupato per un’eventuale ritrasmissione e .mandando cosi solo un frame invece di due. e in caso di mancata ricezione il sorgente se ne accorgerebbe subito Sliding Windows Nella tecnica Sliding Windows. alternati uno ad uno.un frame non viene passato al livello superiore finchè tutti i frame di numero inferiore non sono stati ricevuti. Per risolvere questo problema ad ogni ACK viene associato un bit. Una differente versione del protocollo (sliding window a 1 bit) la si ha quando abbiamo entrambe le window size dimensionate a 1. Per evitare questo viene dimensionata la window size in modo che durante l’invio dell’n-esimo frame. ricevo anche il pacchetto con l’ACK del primo. A ogni frame ricevuto il destinatario invia un ACK.viene fatto partire un timer. Una volta ricevuti tutti frame richiesti .perché il sorgente rinvierebbe lo stesso frame pensando che allo scadere del timer non sia arrivato.richiedendo cosi al sorgente di trasmettere tutto il flusso di dati dall’errore in poi. esso viene memorizzato in un cella di memoria. i frame sono numerati .Prende il nome di ripetizione selettiva.consiste nel salvare in un buffer i dati successivi all’errore e rinviare solamente il frame danneggiato. e una window size indica alla sorgente il numero massimo di frame che può ricevere per volta e al destinatario il numero massimo di frame che può inviare per volta.

sono seguiti da un campo checksum dove viene indicato il CRC poi un’altra serie di bit indica la fine dei bit. Nel servizio non connesso e non affidabile vengono usati frame non numerati anche per trasmettere dati. Nel servizio connesso e affidabile vangono usati tre tipi di frame identificati dal campo di controllo: frame di informazione che contengono i dati da trasmettere. è lo standard internet usato per i collegamenti punto a punto.il secondo set l’indirizzo del nodo ricevente mentre i bit di controllo indicano il contenuto del frame (controllo o dati) e contiene informazioni come i numeri progressivi e gli hack.  un collegamento multipunto tra una stazione primaria e altre secondarie : la modalità è chiamata sbilanciata e utilizza un protocollo half-duplex. inserendo un frame e lo invia sulla linea. Il tipo di servizio può essere connesso e affidabile o non connesso non affidabile. LCP che permette di stabilire il collegamento e negoziare le relative opzioni e NCP che negozia le opzioni del livello di rete e configurare il protocollo IP. E’ un protocollo orientato al byte semplice da implementare ma che presenta molte limitazioni come la non sopportazione dell’assegnazione dinamica degli IP. prendendo un pacchetto IP. l’assegnazione dinamica degli indirizzi IP. l’autenticazione e la gestione degli errori. La serie dei bit dati. la gestione degli errori e l’autenticazione.Può essere usata anche tra due sole stazioni dove una mantiene la responsabilità del collegamento. e si usa la tecnica bit stuffing. frame di gestione per il controllo del flusso e frame non numerati usati per iviare comandi a scopo di controllo.17 PROTOCOLLI DATA LINK Hight Level Data Link Control (HLDC) Permette di gestire due tipi di collegamento :  un collegamento punto a punto tra due stazioni paritetiche : utilizza un protocollo full-duplex in cui ogni stazione può trasmettere quando vuole. SLIP (Serial Line Internet Protocol ) è stato ideato per consentire ai pacchetti TCP/IP di essere trasferiti su linee telefoniche. Inoltre questo protocollo utilizza altri due protocolli. Questo protocollo è orientato al bit:una particolare sequenza di flag indica l’inizio e la fine di un frame. I primi 8 bit indicano l’inizio del frame.Permette di trasportare più protocolli su un’unica connessione. .la stazione primaria invia comandi e le stazioni secondarie inviano risposte. la negoziazione delle opzioni di connessione. SLIP e PPP Vengono usati nella comunicazione punto a punto tra due router o più spesso nella connessione tra un utente e un provider. Il protocollo PPP (Point to Point Protocol).

un byte di controllo che indica il tipo di frame (non numerato) e un byte per indicare quale dei protocolli contiene nel campo dati. Per il resto il protocollo contiene un campo dati variabile (genericamente 1500 byte).una checksum per il controllo degli errori e il bit di chiusura.18 La struttura del protocollo prevede un primo flag per indicare l’inizio del frame. un campo indirizzo impostato per trasmettere in broadcast. .

se però un utente non lo utilizza questo viene sprecato. . Una volta generato un frame la stazione rimane bloccata finchè il frame non è stato trasmesso con successo. e per ripristinarlo occorre una ritrasmissione. e non esiste un orologio che divide il tempo in intervalli discreti. ASSEGNAZIONE DEL CANALE Assegnazione statica Genericamente per l’assegnazione viene utilizzato tradizionalmente il multiplexing a divisione di frequenza.  Tempo continuo o diviso in intervalli : lnel primo caso la trasmissione di frame può iniziare in qualsiasi istante.inoltre se il numero degli utenti variasse frequentemente avremmo il problema della continua assegnazione di banda.  Presupposto del canale singolo : un solo canale è adibito per tutte le trasmissioni e ricezioni. Assegnazione dinamica Prima di parlare di assegnazione del canale dobbiamo fare qualche premessa :  Modello della stazione : il modello è composto da N stazioni indipendenti. ognuna delle quali genera frame in trasmissione. però il software di protocollo può assegnare priorità diverse.SOTTOSTRATO MAC Questo sottostrato si occupa di tutte le connessioni di tipo broadcast e dei loro protocolli. Anche nel caso del multiplexing a divisione di tempo.19 4. le stazioni sono tutte uguali. dove a ogni utente viene assegnato l’Nesimo intervallo temporale. Ma data la variabilità del traffico in una rete se questa no ha condizioni stabili. Nessuno dei metodi tradizionali di assegnazione statica del canale funziona bene con il traffico irregolare. Nel secondo caso il tempo è diviso in intervalli discreti e la trasmissione di un frame coincide con l’inizio di un intervallo.quindi vengono utilizzati metodi di assegnazione dinamica. Nel secondo caso le stazioni non sono in grado di capire se il canale è occupato e si limitano alla trasmissione casuale.  Presupposto della collisione : se due frame vengono inoltrati contemporaneamente il loro contenuto risulterà distorto. avremo con questo metodo un grande spreco di banda nel caso in cui degli utenti non trasmettessero. e più precisamente il problema è quello di determinare tra delle entità che vogliono comunicare sullo stesso canale quale delle quali ha precedenza di utilizzo del canale. Non c’è alcuna interferenza ta gli utenti e se il numero di utenti è piccolo e costante questo metodo si rivela semplice ed efficace.  Occupazione del canale verificabile o non verificabile : nel primo caso prima di tentare la trasmissione le stazioni sono in grado di capire se il canale è occupato e finchè è occupato non viene utilizzato. cioè se ci sono N utenti la banda viene divisa in N parti uguali e ogni utente ne riceve una.

in modo che gli slot inizino contemporaneamente. Nel caso di collisione con un altro pacchetto entrambi devono essere ritrasmessi. quando ha dei dati da trasmettere per prima cosa ascolta il canale per vedere se qualcun altro sta trasmettendo. con questo metodo l’efficienza del canale circa raddoppia rispetto l’altro metodo. ascoltando il canale e nel caso di collisione lo ritrasmette. CSMA persistente e non persistente Il protocollo CSMA 1-persistente (Carrier Sense Multiple Access). Un fattore importante in questo protocollo lo ha il tempo di propagazione : esiste infatti una piccola possibilità che dopo che una stazione inizi l’invio di un frame. Se il canale è occupato. ALHOA slotted Il tempo viene diviso in intervalli chiamati slot e ogni stazione può provare a spedire un frame solo all’inizio di ogni slot. Nel caso non funzioni il sistema di feedback il trasmettitore attende per un tempo casuale poi lo ritrasmette (il tempo casuale deve essere maggiore del tempo che impiega per arrivare a destinazione). se il pacchetto subisce poi collisioni la macchina attende per un periodo casuale prima di ritrasmettere. un’altra sia pronta ad inviare e trovi il canale libero nel caso in cui il feedback non sia ancora giunto alla seconda stazione.un trasmettitore può sempre capire lo stato del frame. e in base alle azioni intraprese dalle altre stazioni. e grazie alla proprietà di feedback della trasmissione broadcast. abbiamo la possibilità di collisioni nel caso in cui una stazione trasmette e due sono in attesa.20 PROTOCOLLI AD ACCESSO MULTIPLO ALHOA puro Questo protocollo consente agli utenti di trasmettere ogni volta che hanno dati da inviare. . Il protocollo si chama 1-persistente perché trasmette con probabilità 1 quando il canale è libero. PROTOCOLLI AD ACCESSO MULTIPLO CON RILEVAMENTO DELLA PORTANTE In questo protocollo le stazioni rimangono in ascolto della portante. il protocollo attende che esso si liberi. Anche se il tempo di propagazione è uguale a zero. Le stazioni però devono essere sincronizzate tra loro.quindi questo protocollo per essere utilizzato efficacemente deve esserci un rapporto capacita del canale/traffico molto buono per evitare collisioni continue. alla fine della trasmissione entrambe inizierebbero l’invio di dati andando in collisione. adattano il loro comportamento.

ogni periodo di contesa è diviso in N intervalli. il tempo del periodo di contesa sarebbe molto elevato. PROTOCOLLI SENZA COLLISIONE Questi protocolli risolvono la contesa del canale senza generare collisioni. prima di trasmettere ogni stazione controlla il canale e nel caso sia occupato. CSMA/CD Questo tipo del protocollo CSMA prevede collision detection.Questo permette un’utilizzo migliore del canale ma allunga i ritardi. quindi se la stazione 0 deve trasmettere dei dati. Questo protocollo però non si adatta bene alle reti formate da molte stazioni . deve attendere l’intervallo 0.altrimenti aspetta lo slot successivo e trasmette con probabilità 1-p. . questi protocolli sono anche detti a prenotazione. Una volta terminato il periodo a prenotazione inizia un altro periodo di contesa. in questo modo riesce ad accorgersi subito quando avviene una collisione e in questo caso può bloccare la trasmissione. Un’altra variante del CSMA è il p-persistente che si applica ai canali divisi in intervalli temporali. la stazione ascolta il canale all’inizio di ogni slot e se è libero trasmette con probabilità p. Questo protocollo è utilizzato nelle LAN Ethernet. ovvero la stazione ascolta il canale non solo prima di trasmettere. controlla lo stato della portante dopo un tempo casuale. attende per un periodo casuale poi ritrasmette. ma anche durante sta trasmettendo. Protocollo a mappa di bit Con questo protocollo.21 Per evitare questi problemi è stato introdotto il CSMA non persistente. Se la stazione trova il canale occupato. per inviare un bit a 1 e prenotare la trasmissione. Conteggio Binario Con questo protocollo una stazione che desidera utilizzare il canale deve comunicare a tutti il proprio indirizzo sotto forma di stringa binaria. Una volta trascorsi gli N intervalli ogni stazione conosce le stazioni che vogliono trasmettere e quindi in ordine sequenziale numerico inizia la trasmissione. partendo dai bit di ordine più elevato.

01010 .ma il tempo per analizzare la mappa di bit diminuisce. Adaptive Three Walk In questo protocollo le stazioni vengono viste come foglie di un’albero binario. Per evitare conflitti si deve applicare una regola di arbitraggio: la stazione rinuncia alla trasmissione se si accorge che. con l’OR. la ricerca del suo nodo può interrompersi perché tutte le stazioni pronte sono state individuate. . 1010 tentano di occupare il canale 0 0 1 1 primi bit trasmessi 0 or 0 or 1 or 1 →1 passano al calcolo successivo solo indirizzi 1xxx Una volta terminata l’unione dei termini operati con l’OR. e un canale più largo consente alla stazione di trasmettere frame di dati.22 Tutti gli indirizzi hanno la stessa lunghezza e i bit che occupano la stessa posizione negli indirizzi di stazioni diverse sono elaborati mediante l’operatore logico OR. lo spettro è diviso in canale (bande di lunghezza d’onda).Questo protocollo WDMA (Wavelength Division Multiple Access ). PROTOCOLLI A CONTESA LIMITATA Dividono come prima cosa le stazioni in gruppi. 0100 . Protocolli WDMA Per consentire trasmissioni multiple contemporanee. Al crescere di stazioni assegnate allo stesso intervallo aumenta la probabilità di una collisione. si possono contendere l’intervallo X. Ogni nodo di bit è associato a qualche particolare nodo dell’albero. unendo i valori binari trasmessi. in modo di stare sempre più vicini alla ascissa nel grafico sottostante. In caso di collisioni la ricerca continua in modo ricorsivo con gli elementi figli posti a sinistra e destra del nodo. dove solamente ai membri di un gruppo X. 1001 . Ogni canale è diviso in gruppi di intervalli temporali (slot). a ogni stazione sono assegnati due canali: un canale stretto è utilizzato come canale di controllo per trasmettere segnali alla stazione. Questo metodo ha la caratteristica di distribuire circolarmente la possibilità di trasmettere dato che i numeri vengono permutati circolarmente dopo ogni trasmissione. sono maggiori del valore del bit di ordine più elevato. Se un intervallo di bit è libero oppure se una sola stazione trasmette durante quel periodo. si ha l’indirizzo della prima stazione trasmittente. e al termine della trasmissione si effettua nuovamente il calcolo. Le stazioni vengono divise in modo appropriato è possibile ridurre il livello di contesa per ogni intervallo.

traffico datagram e traffico a velocità dati variabile orientato alle connessione.con un clock globale per la sincronizzazione. IEEE 802 Da un progetto dell’inizio degli anni ’70 venne proposto uno standard chiamato Ethernet. inserisce i dati e un’identificatore del destinatario che.velocità a 10Mbps e con metodo di accesso CSMA/CD. Una stazione quando deve trasmettere inserisce un token in un frame vuoto (token bit a 1) . dove le stazioni trasmettono utilizzando un token di controllo. Lo standard è diviso in più parti specifiche:  802. Questa rete è di topologia a bus. In questo protocollo ogni stazione ha due trasmettitori e due ricevitori : i trasmettitori servono per trasmettere sul canale di controllo (sintonizzabile) delle altre stazioni. è caratterizzata da una topologia ad anello. Il protocollo supporta traffico a velocità dati costante orientato alle connessioni. del controllo errori.del metodo di accesso al canale. I ricevitori vengono a loro volta per ascoltare il canale di controllo e i dati da ascoltare(sintonizzabile). dei mezzi di trasmissioni utilizzati . con connessioni “vampire tap” ogni 2. La sequenza di intervalli si ripete senza fine in entrambi i canali. n servono per i dati mentre l’ultimo è utilizzato dalla stazione per comunicare il proprio stato (cioè se entrambi i canali sono liberi).Le reti quindi vengono viste alla stessa maniera dal livello network.4: descrive le reti Token Bus  802. cioè ogni stazione rimane in ascolto sul proprio canale di controllo per rilevare le richieste in arrivo per sintonizzarsi poi con la lunghezza d’onda del trasmettitore.5: descrive le ret Token Ring.3 : ETHERNET 10BASE5 Per questo tipo di ethernet viene utilizzato un grosso cavo coassiale. individuato l’indirizzo.  802. che da l’accesso all’anello.già precedentemente costruite. usa baseband e supporta segmenti fino a 500 m. Lo standard si occupa quindi della topologia della rete. ovvero del controllo del flusso.3: descrive le reti Ethernet. framing e controllo di flusso.  802. . con modalità di trasmissione half duplex. cioè denti che perforano il materiale isolante fino ad insidiarsi nel core del cavo.5 metri. un transceiver si occupa della connessione tra macchine e del CSMA/CD. 10BASE2 Questa ethernet usa connettori standard BNC e l’elettronica per carrier sense e collision detenction si trova nella scheda di rete.l’altro per trasmettere i frame di dati. in modo che la sorgente noti la avvenuta ricezione.1: definisce le caratteristiche generali degli standard per le reti locali e metropolitane e per l’interoperabilità tra reti diverse.  802.2: definisce il sottolivello LLC comune a tutte le reti 802. dal quale fu derivato lo standard IEEE 802 che descrive lo strato fisico e lo strato data-link. prende i dati e setta nuovamente il token a 0. 802.23 Sia m il numero di intervalli presenti nel canale di controllo e n+1 il numero di intervalli nel canale dati.

CODIFICA MANCHESTER La codifica Manchester usa due livelli di tensione per trasmettere ogni bit.con lo svantaggio di 100 metri massimi di segmento.Immune da rumore e intercettazioni. un bit positivo è codificato da una transizione da livello alto a basso. 10BASET In questo caso ogni cavo UTP va inserito in un Hub per facilitare la connessione/disconnessione di una macchina senza distruggere la connettivita. dato che l’Hub invia il segnale a tutte le stazioni . La topologia è a stella. Questa codifica permette di facilitare la sincronizzazione ma ha lo svantaggio di richiedere il doppio della larghezza di banda. Con la tecnica di trasmissione differenziale. L’assenza di variazione indica una violazione della codifica e viene utilizzata per delimitare i frame.-) annulla il rumore che si crea sul canale dato che il disturbo agisce in modo simmetrico.24 Vengono supportati segmenti fino a 185 metri e ogni segmento tiene al più 30 macchine.da basso a altro per un bit negativo. e la topologia della rete è a bus. la coppia di fili (+. quindi i cosi sono maggiormente elevati. ogni stazione è collegata al bus grazie a un connettore a T che permette la propagazione del segnale in entrambe le direzioni.ma unica scelta per collegare Hub molto distanti. dato che gli impulsi sono la metà del bit time .anche se dal punto di vista logico è sempre a bus. 10BASEF Vengono utilizzate fibre ottiche. questa connessione è molto economica ma difficile da gestire dato che un problema di connessione disturba l’intero segmento.

L’ultimo campo è il checksum. avere una lunghezza minima previene che una stazione completi la trasmissione prima che il primo bit sia arrivato a destinazione (evita collisioni nel percorso). Il campo successivo indica la lunghezza del campo dati che può arrivare fino a 1500 bytes e il campo Pad serve per aggiungere bytes nel caso in cui la lunghezza del campo dati sia inferiore a 46 bytes. e nel caso di un’altra collisione ogni stazione ha 2^2 slot time nei quali può provare ad inviare. Con i bit dell’indirizzo si risale anche al tipo di comunicazione multicast o broadcast. contenente un CRC in grado solamente di trovare l’errore.MAC etc.per questo viene creato un tunnel sicuro tra le due macchine che devono comunicare. Dopo la collisione il tempo viene diviso in slot di lunghezza uguale al peggior caso di tempo di propagazione sul cavo. dato che la sorgente non si accorgerebbe di eventuali collisioni. dopodiché si ha il bit di start. l’indirizzo univoco che contraddistingue ogni scheda di rete (MAC adress-globali) . Queste reti devono quindi garantire sicurezza e privacy come in una reale rete LAN. nel caso in cui le stazioni fossero troppe. . Se le collisione successive sono più di 15 il controller avvisa i livelli superiori di non poter effettuare la trasmissione. LAN LOGICHE Talvolta si può avere la necessità di separare le lan per funzione.) Per evitare attacchi come Man-in-the-middle prima di effettuare la comunicazione i due host eseguono un’autenticazione. in questo modo si evita di aumentare gli slot time avendo notevoli tempi d’attesa. BYNARY EXPONENTIAL BACKOFF In caso di collisione il frame viene trasmesso dopo un tempo random. anche se il mezzo trasmissivo è internet o una linea dedicata .25 INDIRIZZI Preamble sono 7 btes che valgono 10101010 utilizzati per favorire la sincronizzazione. senza essere legati dalla disposizione fisica. per questo sono state definite le VLAN Le VLAN sono riconosciute da un calcolatore come comune rete locale. Gli adress sono tutti a 6 bytes e indicano il MAC-adress. Dopo la prima collisione ogni stazione ha 2^1 slot time nei quali può provare a rinviare i dati (la scelta dello slot time è random). il numero di slot time nei quali la sorgente può provare a inviare viene incrementato finchè avviene il trasferimento. I protocolli maggiormente diffusi sono IPSec e TSL che sfruttano i pacchetti IP per incapsulare dati crittografati (Diffide-Hellman.

Nel caso di half-duplex si devono gestire le collisioni con lunghezza minima di 65 byte e ridurre il diametro a 25 metri e per ovviare a questo problema si puo utilizzare il carter estension (estendo via hardware il frame minimo a 512 byte) o frame bursting (il sorgente concatena più frame fino ad avere una lunghezza di 510 byte).3. dato che è troppo difficile mantenere temporizzazioni dei dati di un nsec. sui cavi infati viene usata una codifica PAM 5x5 con 25 Msimboli/sec che se moltiplicaa al pattern a 4 bit ci restituisce la velocità di 100 Mbps. 802.26 802.E’ chiamato anche 8B/6T (8 bits/6 trits).5 per trasmettere 4 simboli in parallelo.3Z GIGABIT ETHERNET Il nome indica una rete a 1000 Mbps ma realmente usa uno schema di trasmissione 8B/10B quindi la velocità effettiva è di 800 Mbps.5. 100BASEFX Usa due cavi in fibra ottica multimodale. sul cavo abbiamo una velocità di 125 Mbps. Una coppia di fili è sempre usata dalla stazione all’hub. che utilizza tutte le 4 coppie di cavi interni a 25 MHz. quindi nella codifica a 4 bit ne avanzano per la rindindanza. Per la comunicazione vengono usati due coppie di cavi. uno per ciascuna direzione. 100BASETX Devono essere usati cavo UTP di cat.E’ poco usata perché più economico ricablare la rete con cavi cat.Per consentire trasmissioni a 100 Mbps.1 o 2 e quindi con 3 coppie posso avere 27 simboli diversi. di lunghezza massima 400 metri. mentre le altre due sono orientabili a seconda della direzione di trasmissione. ovvero in un clock il filo può contenere i valori 0.3U FAST ETHERNET 100BASET4 Deve essere usati un cavo UTP di almeno cat3.Con 5 bit sono possibili 32 codici: 16 i simboli esadecimali. un’altra sempre usata dall’hub alla stazione. utilizzati per una trasmsissione full-duplex e i cavi possono trasmettere e ricevere dati a 100 Mbps nello stesso momento. E’ necessario però un DSP complicatissimo per gestire l’endoding. 5 e di lunghezza massima di 100 metri. Si possono usare sia in modo ful-duplex che half-duplex: nel primo caso ho uno switch centrale e tutte le linee sono bufferizzate e posso usare il canale in ogni istante. Viene usata una codifica Ternary signal. 1000BASE T Vengono usate quattro coppie di un cat. La codifica utilizzata è la 4B/5B che accetta gruppi da 4 bit di dati e li codifica a simboli a 5 bit per la trasmissione. Il sistema è full-duplex e usa lo schema di trasmissione di 10BaseTx con NRZI signaling. 4 bit utilizzati per controllo della trasmissione e i rimanenti sono indefiniti. . 100BASE2 Venne introdotto questo tipo di rete per avere una rete a 100 Mbps su due coppie di cavo cat.

e registra tutti i MAC adress appartenenti alle due reti.3 e offre interfaccia fisica si a per LAN che per WAN. Servono dunque a conservare i dati. amplificando il segnale per poi rimetterlo nella rete. inviando i pacchetti destinati alle reti interessate e evita di inoltrare a tutte le reti pacchetti i cui indirizzi sono nella stessa rete. I cavi utilizzati sono tutti in fibra ma con speciali doppini cat. tutte le porte possono trasmettere e ricevere frames nello stesso momento.quindi ritrasmettere ciò che riceve su una porta su tutte le altre porte. Hub L’hub serve per connettere due o più nodi in una topologia con configurazione a stella. pertanto sono inviati 2 bit di dati per doppino. 802. Questo dispositivo smista il traffico. Viene introdotto così un dispositivo detto bridge che connesso a entrambe le reti osserva tutto il traffico. con la differenza che in router gestiscono anche gli indirizzi logici. e di separare i broadcast. Se arrivano due frame assieme questi collidono.6a è possibile anche effettuare una connessione 10 GBase T. permettendo trasmissioni full-duplex. Router Un router connette diverse lan e filtra gli indirizzi in maniera simile a quella degli switches. quindi si divide la rete in gruppi di macchine che devono parlare tra loro. COMPONENTI DI RETE Bridge Quando si connettono insieme molte stazioni che trasmettono insieme il traffico aumenta fino alla saturazione. Se ogni porta ha un buffer per tenere i pacchetti in arrivo e partenza. e viene utilizzato anche con una macchina per porta dato che le collisioni sono impossibili. dato che è un unico dominio di collisione.scegliere i percorsi di routing e trasmettono i datagrammi. sono quindi usati per estendere la lunghezza delle reti.27 Ogni simbolo è codificato usando uno dei 5 livelli di tensione disponibili più uno speciale segnale di controllo. Repeater Sono oggetti analogici che connettono due segmenti di cavo. Il router è in grado di connettere tra loro diversi tipi di reti. Switches Essenzialmente è un bridge con molte porte. cioè 8 per ciclo di clock che moltiplicati per il clock (125 MHz) ci danno la velocità di 1 Gbsp. in modo da alleggerire il traffico. Pacchetti destinati a reti sconosciute vengono inviati a tutte le reti e così anche per messaggi broadcast. .3ae 10GE Mantiene lo stesso formato di frame di 802.

802. ma i continui salti di banda lo rendono molto sicuro e stabile. il data rate massimo è di 54 Mbps (24.4 GHz e si usa un generatore di numeri pseudocasuali per produrre la sequenza con cui le frequenze si susseguono.28 Gateway Vengono usati per connettere computer con due protocolli di trasporto diversi. caratteristica molto importante.11 n Modifica allo standard per un data rate attorno a 200Mbps fino a 540 Mbps. e questo offre vantaggi di resistenza alle interferenze e la possibilità di utilizzare bande non contigue .11 supporta il metodo infrarossi e sistemi radio a bassa potenza basati sulle tecniche FSSS e DSSS e utilizzano parte dello spettro dove non sono necessarie licenze : Infrarosso : usa radiazione diffusa e 0. 5. ma non per un tempo inferiore ai 400 millisec (tempo rotazione) Lo svantaggio principale di questa trasmissione è la banda ridotta.11 : WIRELESS LAN Le wireless LAN si possono configurare con o senza stazione base e lo standard prevede ad entrambe le soluzioni.Multiple Output . E’ piu lento dell’802.4 GHz.95 micrometri e supporta velocità a 1 e 2 Mbps. DHSS : anch’esso opera a 1 o 2 Mbps e utilizza uno schema simile al CDMA 802.11 b : HR-DSSS Supporta velocità di 1. La velocità effettiva di trasferimento è di circa 20 Mbps e i datii sono codificati in simboli di 299 bits.7 netto). FHSS : usa 79 canali da 1 MHz partendo da 2.11b che utilizza il metodo OFDM ma opera nella banda dei 2. 802. quindi deve capire entrambi i protocolli.11 g Versione migliorata di 802. 802. questo contemporaneamente per tutte le stazioni. 2.11 A Prima WLAN ad alta velocità usa un metdo OFDM per distribuire fino a 54 Mbps a 5 GHz : OFDM (Ortoghonal Frequency Division Multiplexing) : questo sistema utilizza 52 frequenze e ne impiega 48 per i dati e 4 per la sincronizzazione.5 e 11 Mbps ma gran parte della banda viene sacrificata per l’overhead di CSMA/CD quindi la massima velocità è al massimo 7 Mbps con frequenze a 2. Lo standard 802. cioè diverse antenne riceventi e trasmittenti per aumentare il troughput usando multiplexing . prendere il pacchetto di uno e riformattarlo per il secondo.11 a ma il campo d’azione è circa 7 volte più ampio.85 o 0. utilizza Multiple Input.4 GHz. 802.

che aumenta la capacità del canale. per questo invia frame di segnalazione broadcast riguardanti tutti i parametri del sistema. Un altro problema riguardante reti wireless. quindi supporta due modalità operative :  DCF (Distrubuited Coordination Function) : non utilizza nessun tipo di controllo centrale e utilizza CSMA/CA o CSMA/CD dove sono controllati sia il canale fisico che quello virtuale. La stazione trasmettente allora inizia la trasmissione facendo partire un timer e la stazione ricevente deve confermare la ricezione del frame di dati con una ACK prima che scada il timer. due stazioni comunicano anche se nel raggio di trasmissione ne sono presenti altre. invece attende un tempo random per ritrasmetterlo in caso di collisione. è che alcuni dipositivi per problemi energetici potrebbero venire temporaneamente disattivati: per ovviare a questo la stazione base memorizza in un buffer i dati che invierà al risveglio. e non utilizzano quella determinata frequenza per un determinato periodo di tempo. che sonda le altre stazioni chiedendo se hanno frame da trasmettere. e se non c’e traffico invia l’intero frame non curandosi della sua ricezione. Non esiste il problema della collisione dato che la stazione base gestisce l’ordine di trasmissione. Se nel raggio di comunicazione sono presenti anche due stazioni non interessate alla comunicazione. ognuna delle quali numerata e dotata di un proprio checksum di controllo. Quando un frame è stato spedito deve passare un certo tempo morto prima che un’altra stazione possa trasmettere ed esistono più tipologie di intervalli:  SIFS (ShortestInterFrameSpacing) : Permette a due stazioni in dialogo di avere una chance di andare per prime. Con CSMA/CD (nel caso di comunicazioni DCF).altrimenti si riparte dall’inizio. questa modalità utilizza CSMA/CD con controllo MECAW e utilizza il controllo di presenza del canale. Quindi una volta acquisito il canale due stazioni inviano un burst di frammenti invece di frame lunghi. Es CTS in risposta a RTS o ACK di un frame o di un frammento . Utilizzando sempre CSMA/CD ma nella modalità PCF l’ordine di trasmissione è sempre controllato dalla stazione base. esse dal RTS o dal CTS intuiscono una comunicazione che non li riguarda. Nel caso si utilizzi CSMA/CA se una stazione vuole trasmettere ascolta il canale. per prima cosa viene effettuata una richiesta (RTS).  PCF (Point Coordination Function) : usa la stazione base per controllare tutta l’attività nella cella.29 PROTOCOLLO DEL SOTTOSTRATO MAC Le trasmissioni che avvengono parte in una cella possono non essere ricevute in un’altra parte della stessa cella. Un altro problema che riguarda le reti wireless è l’eccessiva rumorosità. per questo i frame vengono divisi in parti più piccole. e come risposta viene inviato un frame CTS.

30    PICS: Solo una stazione ha il diritto di rispondere in un SIFS. Frame di dati Il formato dei frame di dati è composto da un primo campo denominato frame control che è composto da 11 frame secondari. poi segue il campo dati (max 2312 byte) e la checksum. Questo evento ha la priorità più bassa dal momento che il ricevitore potrebbe non capire quello che sta succedendo è meglio che aspetti un po’ prima di interferire in dialogo. Disassociazione: La stazione o la base si possono disassociare e rompere la loro relazione. altrimenti devono essere mandati via cavo Integrazione: Se un frame deve essere mandato ad una rete non 802. e nei successivi campi vengono indicati gli indirizzi di sorgente. i secondi legati alle attività all’interno della cella. La stazione base può accettare o rifiutare. SERVIZI Lo standard stabilisce che una WLAN deve fornire 9 servizi divisi in 5 di distribuzione e 4 servizi di stazione. per esempio spostandosi da una cella all’altra. qualunque stazione può provare ad acquisire il canale per mandare un nuovo frame. destinazione e anche le stazioni di partenza e arrivo del traffico tra celle.11 con uno schema di indirizzamento o di framing diverso. . Se usata bene nessun dato dovrebbe andare perso (ma sappiamo che 802. bisogno di PCF.      Associazione: Usato da una stazione mobile per connettersi alla stazione base non appena entra nel suo radio range.11 come Ethernet è best effort) Distribuzione: Determina come ruotare i frame mandati ad una base station. Riassociazione: Una stazione può cambiare la stazione base preferita. DIFS: DCF InterFrameSpacing– Se la stazione base non ha nulla da dire. EIFS (ExtendedInterFrameSpacing) Usato da una stazione che ha ricevuto un frame rovinato. power management). se non lo fa e passa un PICS (PCF Interframe Spacing) la stazione base può mandare un poll frame o un beacon frame. che indicano i vari dettagli del protocollo utilizzato. cioè i primi legati alla gestione dei membri di una celle e alle iterazioni con le stazioni al di fuori della cella. questo servizio gestisce la traduzione richiesta dalla rete di destinazione. Il campo frequenza permette di numerare i frammenti. Se la destinazione è locale alla base station si possono mandare via radio. Nel secondo campo viene indicata la durata dell’occupazione del canale. La stazione annuncia la sua identità e capacità (data rate.

progettato per reti di tipo punto–multipunto. Struttura dei frame Tutti i frame iniziano con un’intestazione generica. non c’è garanzia di consegna affidabile per cui i layer superiori devono rivelare e gestire gli errori   802.31  Autenticazione: Una stazione deve autenticarsi per evitare che i frame arrivino a stazioni non autorizzate. La sfida è rimandare indietro il frame criptato con la chiave.telefono). L’ultimo livello infine si occupa dell’interfaccia verso il livello rete. il sottostrato MAC si occupa dei protocolli essenziali riguardanti la gestione del canale con un’orientamento specifico per le qualità di servizio richieste dal modello (TV. Successivamente vengono indicati il tipo di frame e eventuali meccanismi d’impacchettamento nel campo type. come Ethernet. Infine nel campo lenght viene indicata la lunghezza del frame. Sopra lo strato fisico si trova un sottostrato di convergenza che nasconde le differenze dalle precedenti strutture. Deautenticazione: Quando una stazione vuole lasciare la rete viene deautenticata. coprire distaze chilometriche con grandi variazioni di potenze. Successivamente si trova il livello data link formato da tre strati: il primo si occupa della riservatezza e la protezione della rete. Dopo di che non appartiene più alla rete Privacy: Il wireless viene sniffato facilmente per cui deve essere cripatato. rumore.16 WIRELESS A BANDA LARGA (WIMAX) E’ nato dall’esigenza di aumentare la banda per offrire servizi a più utenti. connection ID definisce la connessione di appartenenza al frame e altri campi sono utilizzati per il controllo del CRC (dell’intestazione e non).seguita da un carico utile e un checksum opzionale dati che viene fatta una correzione errori già nello strato fisico e non esiste ritrasmissione. Stack dei protocolli La struttura dello stack dei protocolli è simile a quella delle reti 802 ma ha un sottostrato più basso che si occupa della trasmissione (radio a banda stretta). Quando una stazione è stata associata (accettata nella cella) la stazione base manda uno speciale frame di challenge per vedere se la stazione base conosce una chiave segreta. . Per esempio con algoritmo RC4 o AES Data Delivery: Fornisce i servizi per trasmettere e ricevere i dati. Utilizza bende che vanno dai 10 ai 66 GHz e quindi bisogna utilizzare onde direzionali ed è di tipo connection-oriented. eventuali codici di controllo e le chiavi di codifica utilizzate nei campi CI ed EK.

All’interno di una piconet possono avvenire sia trasmissioni punto-punto che punto . mentre uno shift negativo codifica uno zero logico. La piconet ha struttura gerarchica. creando così una rete più ampia chiamata scatternet. in cui uno shift positivo. seguendo i salti di frequenza della portante. I pacchetti possono contenere dati generici (link ACL) o dati audio (link SCO). Il numero massimo di piconet che possono concorrere alla formazione di una scatternet in uno spazio ristretto è indicato in dieci. detti slaves. La modulazione utilizzata è invece una GFSK (Gaussian Frequency Shift Keying). anche il rischio di collisioni. La trasmissione non è full duplex.32 Viene utilizzato acnhe un altro tipo di frame solamente per le richieste di banda. Reti Bluetooth Il Bluetooth consente la creazione di reti. ma half duplex: i due dispositivi A e B trasmettono e ricevono a turno in slot successivi. a causa del fatto che le frequenze di salto sono solo 79. nel piano della fase. e all’aumentare del numero delle piconets. di solito le piconets sono strutturate gerarchicamente all’interno della scatternet.15 BLUETOOTH Utilizza 79 frequenze distanziate di 1 MHz a partire da 2. a meno di non creare tra loro un’altra piconet: è infatti prevista la possibilità di interconnettere tra loro più piconets attraverso dei nodi ponte che partecipano ad almeno due piconet. . Rispetto agli altri frame non trasporta carico utile e il secondo e il terzo byte indica la banda richiesta. aumenta .fino a non essere più trascurabile. 802. infatti al suo interno si distingue un nodo master che ha il compito (e l’onere) di controllare tutti gli altri nodi. l’aggettivo “gaussiano” indica un filtraggio del segnale con un filtro gaussiano per migliorare le caratteristiche del segnale trasmesso. ma gli slaves possono comunicare solo con il master e non tra loro.4 GHz e a differenza delle altre reti specifica le applicazioni che è possibile utilizzare dette profili. chiamate piconets.multipunto. ma è possibile estendere la durata fino a cinque slots. cosicché un nodo slave della piconet superiore è il master della piconet gerarchicamente inferiore. La politica di accesso al canale è di tipo TDMA-TDD (Time Division Multiple Access – Time Division Duplex). Ovviamente un nodo ponte non può essere il master di entrambe le piconets a cui appartiene. Le informazioni vengono trasmesse in pacchetti: di solito un pacchetto occupa uno slot. composte da un massimo di otto nodi e caratterizzate dalla sequenza di salto della portante. ogni pacchetto viene così integralmente trasmesso su una frequenza diversa. della portante codifica un uno logico. e si basa su slots temporali con durata nominale di 625 µs.

implementando la correzione degli errori. un header a 54 bit con i tipici campi del sottostrato MAC e il campo dati. per il formato dei dati. evento. un bit di sequenza e un checksum. SCO. il cui formato dipende dal tipo di dati che il pacchetto porta. un bit di Flow per indicare quando il buffer dello slave è pieno.4 si vede l’associazione fra indicatori e pacchetti. esistono quattro tipi di pacchetti. il criptaggio. • il TCS consente il supporto per la telefonia mobile •l’RFCOMM permette di emulare la porta seriale. il tipo di connessione ne campo type. se per le comunicazioni tra host e host controller si sceglie di utilizzare una porta UART. in figura A. Il tipo del pacchetto è stabilito da un byte che viene trasmesso subito prima del pacchetto stesso.33 Frame Bluetooth Nel primo campo viene trasmessi un codice di accesso che identifica il master (se uno slave è nel range di due master). • il link manager è responsabile della creazione dei link ACL e SCO. chiamato “indicatore”. Questo stabilisce che i dati devono essere trasmessi e ricevuti in pacchetti. ACL. . all’HCI UART Transfer Layer. • l’SDP (Service Discovery Protocol) permette ad un dispositivo di individuare i servizi di cui potrebbe usufruire connettendosi . e si evidenziano le direzioni in cui i pacchetti possono muoversi. Stack di protocollo • il baseband and RF si occupa di gestire la connessione fisica tra dispositivi. delle operazioni di inquiry e della gestione delle modalità di basso consumo • l’HCI fornisce un metodo uniforme di accesso alle potenzialità in banda base del Bluetooth favorendo il partizionamento dello stack fra i due processori. la formazione dei pacchetti trasmessi. cioè pacchetti comando. L’header indica chi deve ricevere il frame nel campo adress. Come detto è il layer HCI che consente il partizionamento del sistema in due sottosistemi. • l’L2CAP (Logical Link Control and Adaptation Protocol) consente ai layers superiori di avere una visione semplificata di quelli inferiori e gestisce la QoS. si deve far riferimento.

Lo strato network offre allo strato trasporto vari servizi che però devono essere indipendenti dalla tecnologia dei router. Deve anche evitare il sovraccaricamento delle linee di comunicazione lasciandone altre libere e deve occuparsi della compatibilità tra tipi diversi di reti. .34 5. i pacchetti sono inoltrati nella sottorete individualmente e instradati indipendentemente uno dall’altro.  I protocolli di instradamento. sono invece individuati dai router per definirne il percorso. quindi allo strato superiore devono essere nascosti tutti i dettagli sul router e inoltre allo strato superiore viene fornito un sistema di numerazione uniforme. Altri protocolli utilizzati sono quelli per il controllo e quelli del nighboor greetings per sapere quali computer sono collegati alla rete. LIVELLO NETWORK Il livello network si occupa del trasporto dei pacchetti lungo il cammini percorso dall’origine alla destinazione finale. scambiare informazioni relative ai percorsi tra router e inoltrare i pacchetti. Lo strato network offre un servizio non orientato alle connessioni come può essere internet e un servizio orientato alle connessioni come può essere la rete cablata:  Se il servizio non è orientato alla connessione. prima di inviare si deve stabilire il percorso che collega il router sorgente a quello destinazione. A livello rete si trovano anche diversi tipi di protocolli che si dividono tra protocolli instradati e da instradamento:  I protocolli instradati preparano i pacchetti incapsulando le informazioni che arrivano dai livelli superiori e hanno la responsabilità di portare i pacchetti a destinazione.  Se il servizio è orientato alla connessione. Per fare questo lo strato deve conoscere la topologia delle reti e scegliere i percorsi più appropriati attraverso esse.

come conseguenza l’insieme dei cammini ottimali da tutte le sorgenti a na destinazione forma un albero con radice nella destinazione chiamato sink tree. viene utilizzato per tenere sotto controllo il processo. . La maggior parte degli algoritmi di routing utilizza una tabella di routing che indica quale linea di uscita utilizzare per ogni possibile destinazione.35 ALGORITMI DI ROUTING La funzione principale dello strato network è quella di instradare i pacchetti dal computer sorgente a quello destinazione e quindi questi algoritmi vengono utilizzati per gestire i percorsi e le strutture dati utilizzate. semplicità. vanno bene per reti piccole o con un unico percorso per ogni destinazione altrimenti in caso di modifiche alla rete o di guasti bisogna intervenire aggiornando manualmente le tabelle. stabilità. Flooding Con il flooding ogni router invia ogni pacchetto su tutte le linee di uscita.Un’alternativa è quella di indicare più percorsi per la stessa strada. altrimenti sono non adattivi (routing statico) quando il percorso utilizzato per calcolare due punti viene calcolato per poi essere applicato. con questo metodo vengono generati un gran numero di pacchetti duplicati e un contatore di salti all’interno di ogni pacchetto. ALGORITMI NON ADATTIVI Rooting statico I protocolli a instradamento statico richiedono la configurazione da parte dell’amministratore di rete delle tabelle di routing di tutti i router. imparzialità (utilizzo di tutte le linee per distribuire il traffico) e ottimizzazione(utilizzo delle lenee migliori per ottimizzare la trasmissione). Gli algoritmi di routing possono essere adattivi se modificano le decisioni secondo i cambiamenti della topologia e del traffico. Con questo metodo il pacchetto raggiunge la destinazione nel minore tempo possibile ma creando un’elevato traffico di rete. Questi algoritmi devono avere alcune proprietà indipendentemente dal tipo di servizio quali precisione. La ricerca dei cammini ottimali si basa sul principio di ottimalità che afferma che se J è sul cammino ottimale tra I e K allora il cammino ottimale tra J e K è sullo stesso percorso. Questo contatore di salti è inizializzato alla lunghezza del cammino dalla sorgente alla destinazione e a ogni salto il contatore viene decrementato e quando raggiunge zero il pacchetto viene scartato. robustezza (capacità di risolvere cambiamenti in modo dinamico). Una veriante è il flooding selettivo che invia i pacchetti solo sulle linee che vanno approssimativamente nella direzione giusta.

Un router comunica con i vicini inoltrando su ogni linea dei pacchetti Hello. La distanza può essere calcolata contando i salti o inviando un pacchetto Echo (il router attende la risposta calcolando il tempo impiegato). ogni qualvolta si verifica un cambiamento nella rete e vengono inoltrati utilizzando il flooding. lo memorizza nel database e lo ritrasmette in flodding e vengono scartati quelli che hanno il campo tempo di vita a zero. prevede che ogni router mantenga una tabella di routing chiamata vettore delle distanze.  Distribuiti: permettono al router di scambiarsi informazioni sulla rete per costruire tabelle di instradamento e prendere decisioni sul percorso migliore da seguire. Distance Vector Routine L’algoritmo a vettore di distanza. un numero di sequenza e un tempo di vita. I pacchetti LSP vengono costruiti periodicamente. il ritardo in millisecondi o il numero di pacchetti in coda lungo il cammino. o meglio. Questo router RCC conosce la tiplogia della rete perché riceve informazione da tutti i nodi e può costruire il grafo dei collegamenti e la tabella di instra damento. lavorando sul grafo il router può stabilire il cammino mnimo per ogni destinazione e creare la tabella di routing. questo pacchetto viene inoltrato ai router vicini che così sono in grado di costruire il database.  Centralizzati: si basano sull’esistenza di un router di controllo (RCC). senza conoscere niente della situazione della rete negli altri punti. . I router scambiano la propria tabella periodicamente con i vicini. La distanza si può misurare con vari tipi di metriche come il numero di salti. Il router una volta ricevuti tutti i pacchetti crea un grafo della rete in cui ogni nodo rappresenta un router e ogni arco una linea. successivamente confrontano ogni singola destinazione in base alla distanza e inserisce nel vettore delle distanze la distanza minore. e la linea di uscita da utilizzare. questo potrebbe creare difficoltà quando viene scelto un percorso danneggiato.36 ALGORITMI ADATTATIVI Si adattano in modo dinamico ai cambiamenti della rete e si suddividono in tre tipi:  Isolati: le decisioni vengono prese da ogni router. che contiene per ogni destinazione la migliore distanza conosciuta. Per il calcolo del cammino più corto può essere calcolato in base al numero dei salti. che tutti gli altri interpellano per per chiedere il percorso da seguire. e i vicini rispondono dicendo chi sono. i router tengono traccia dell’ultimo numero di sequenza ricevuto da ogni router mittente. e bisogna attendere un certo tempo di convergenza prima che venga trovato il percorso. Link State Routine L’algoritmo a stato di collegamento prevede un database che descrive la topologia della rete e le distanze in base a varie metriche. Ogni router costruisce un pacchetto con l’elenco dei vicini e la distanza da ogni vicino oltre che l’identità del mittente. Nel caso di convergenza lenta e nel caso dei percorsi non più utilizzabili si potrebbe riscontrare il problema del conteggio all’infinito. alla distanza o alla velocità della linea e spesso viene utilizzato l’algoritmo di Dijkstra. Il calcolo effettuato da ogni router consiste in un confronto tra le distanze senza considerare cambiamenti e guasti nella rete.

ma in questo caso devo avere una lista completa di tutte le destinazioni. Esistono altri metodi che creano degli spanning tree per ogni gruppo e considera un router radice del gruppo che su occupa poi dell’invio a tutte le stazioni. Nel metodo denominato multidestination routing. viene divisa in piccole unità chiamate aree. tra una regione e l’altra e all’interno della regione di destinazione. . Quando una stazione mobile entra in un’area deve registrarsi presso l’agente straniero (la sua presenza è segnalata da continui messaggi broadcast). ROUTING BROADCAST Esistono diversi metodi per le trasmissioni broadcast. come per il broadcasting la maggiore efficienza la si ha con l’uso degli spanning tree dove il router considera solo gli spanning tree relativi a quel gruppo. ovvero un albero che include tutti i router ma non include cicli. anche se si puo collegare alla rete da altre basi. Questo metodo utilizza bene la banda ma non tutti i router sono in grado di utilizzarlo. ogni router mantiene le informazioni per tutte le destinazione all’interno della regione in cui si trova e i pacchetti vengono inviati ad un router che si occupa dell’instradamento verso altre regioni. Ogni area ha un agente di base che tiene traccia di tutte le stazioni mobili la cui base è nell’area e un agente straniero che gestisce le stazioni mobili che entrano temporaneamente nell’area. nel primo caso la sorgente invia il pacchetto a ogni destinazione. il quale contatta l’agente base in cui la stazione mobile ha la base e li fornice il proprio indirizzo.37 ROUTING GERARCHICO Le tabelle di routing richiedono molta memoria e serve anche tempo di CPU per analizzarle e ampiezza di banda per lo scambio delle informazioni: il routing gerarchico viene utilizzato per fare fronte a questi problemi. e ogni stazione mobile ha la sua base in un’area. Il metodo più efficiente prevede l’utilizzo di uno spanning tree. I router devono conoscere l’elenco delle stazioni che appartengono a ciascun gruppo e sapere il gruppo d’appartenenza di ogni stazione. per ogni router che invia secondo lo spanning tree invia il messaggio a tutte le proprie destinazioni eccetto quella d’arrivo. In questo modo l’instradamento all’interno di una regione rimane invariato. la rete geografica quindi. ROUTING MULTICAST Utilizzato per inviare un pacchetto a un gruppo di stazioni. utilizzabile solamente se esiste un protocollo per la gestione dei gruppi. Il vantaggio del metodo è la semplicità di implementazione. Il router nel caso di invio a un determinato gruppo il router duplica il pacchetto per inviarlo a tutte le stazioni del gruppo. ROUTING PER HOST MOBILI Si occupa dell’instradamento di pacchetti verso stazioni che possono cambiare la loro posizione. il router genera una copia del pacchetto per ogni linea di uscita (percorso migliore verso una delle destinazioni) fino che rimangono solo quelle interessate al pacchetto. mentre per una regione diversa ci sono i problemi di instradamento verso la periferia della regione. Con il routing gerarchico la rete viene suddivisa in regioni. Un altro metodo prevede l’utilizzo del flooding (invio broadcast con contatore salti) con lo svantaggio dei numerosi pacchetti inviati e dell’eccessiva banda utilizzata.

CONTROLLO DELLA CONGESTIONE Per una sottorete a n router ognuno con k vicini la memoria deve essere almeno nk. Nella seconda fase le informazioni devono essere trasferite al punto dove essa è avvenuta. e in una rete complessa con migliaia di router questi possono diventare problemi seri. devono quindi: 1. la lunghezza media delle code. monitorare la rete per individuare le congestioni 2. può essere temporanea e le principali cause sono il numero eccessivo di pacchetti. passare le informazioni ai vari nodi per correggerle 3. quando scartare pacchetti e prendono decisioni sulla pianificazione della rete. Esistono altre possibilità come un bit in ogni pacchetto riservato ai router. se la stazione non è presente all’interno dell’area il pacchetto viene incapsulato e affidato all’agente straniero che li fa avere alla stazione mobile che li invia alla stazione dome frame data-link (senza incapsulamento). Gli algoritmi a ciclo chiuso invece gestiscono le congestioni solo quando si presentano. Per prevenire problemi di congestione possono essere usati algoritmi a ciclo aperto. il numero di pacchetti che vanno in timeout o il ritardo medio. mentre nelle reti orientate alla connessione la congestione si può creare solo al momento di una nuova connessione. La congestione è un carico maggiore di quello che le risorse possono sopportare in una zona della rete. che lo inizializzano quando la congestione supera un certo livello di guardia. All’uscita dell’area la stazione elimina la registrazione effettuata con l’agente straniero. dato che durante l’attesa della coda verrebbero rispediti. ma aggiungendo memoria la situazione non migliora. . ma per assurdo (Nagle 97) se il router avesse memoria infinita la congestione andrebbe in peggio invece che in meglio. Le congestioni vengono individuate in base a criteri come la percentuale di pacchetti scartati per mancanza di spazio nei buffer. Nelle reti che usano servizi non connessi la congestione si può verificare in qualsiasi momento. che tentano di risolvere il problema mediante un buon progetto che renda improbabile la manifestazione di congestioni. Se la memoria in un router non è efficiente i pacchetti vengono persi. le politiche di dei vari livelli e soprattutto i picchi improvvisi del traffico. Finchè l’agente base ha pacchetti da inviare viene utilizzato questo metodo. eseguire la correzione. un metodo semplice e efficace è quello di inviare messaggi per annunciare il problema. oppure il mittente che rallenta il flusso di dati essendosi accorto della congestione (algoritmi a feedback implicito) magari dai ritardi degli ACK in ricezione. però in questo modo si aumenta il carico nel momento peggiore. Questi algoritmi decidono il flusso del traffico.38 I pacchetti destinati alla stazione mobile hanno come indirizzo di destinazione l’indirizzo base. altrimenti uno continuo scambio di informazione tra router potrebbe addirittura evitarle La deduzione della cogestione può essere individuata o dal router (algoritmi a feedback esplicito) che indica al mittente di rallentare. quindi posso avere problemi di calcolo per l’esaurimento di memoria . Il problema maggiore quindi è lo sbilanciamento tra le diverse parti del sistema e il problema è risolvibile creando in equilibrio fra le componenti.

Lo stato d’allarme può essere segnalato da un’apposito bit d’allarme nell’intestazione del pacchetto.forma del traffico. Un’altra strategia utilizzata per i circuiti virtuali consiste nel negoziare un’accordo tra host e la sottorete durante l’impostazione del circuito virtuale dove vengono spacificati volume. invia al mittente un pacchetto choke dandogli la direzione verso la quale deve ridurre il traffico. Questo metodo risulta ottimo qualitativamente. una volta segnalata una congestione nessun circuito virtuale viene più impostato fino alla scomparsa del problema. Con il metodo choke packet quando un router si accorge della congestione in una linea.  Out of ordercaching policy: Se il ricevente scarta tutti i pacchetti fuori sequenza questi dovranno essere ritrasmessi. La riduzione del traffico da parte del mittente è generalmente del 50%. oppure secondo dei criteri. riduce il data rate e quindi combatte la congestione Un’altra scelta fondamentale a livello network è quella dell’utilizzo di datagrammi o circuiti virtuali dato che alcuni algoritmi sono utilizzabili solo con gli ultimi. in questo modo appena una linea supera la soglia di guardia la linea di output entra in stato d’allarme. come priorità a livello applicazione. che però incrementa leggermente in successione per evitare che avvengano subito nuove congestioni. QoS e altri parametri per garantire già all’host la disponibilità di risorse dedicate. anche se con alti sprechi di banda. Un altro approccio permette la creazione di nuovi circuiti virtuali per aggirare le aree congestionate come mostrato in figura dove vengono evitate le congestioni scegliendo un altro percorso. Per risolvere il problema delle code è possibile scartare i pacchetti da parte del router. . per esempio con finestre piccole. o nel caso delle applicazioni multimediali vengono scartati quelli vecchi. Controllo della congestione nelle sottoreti a circuito virtuale Una tecnica largamente utilizzata per evitare il peggioramento di una congestione si chiama controllo di ammissione. Controllo della congestione nelle sottoreti a datagrammi Ogni router può facilmente controllare l’utilizzo delle sue linee di output.39 Per la prevenzione della congestione si possono usare accorgimenti a partire dal livello data link:  Retrasmission policy: il mittente non deve avere un timeout troppo corto per cui ritrasmette troppo spesso tutti i pacchetti per i quali non ha ricevuto ack. oppure vengono scartati i pacchetti più nuovi (per i file servono i pacchetti in successione). mentre potrebbe chiedere alla fine solo quelli che non sono arrivati e riordinare  Ack policy: Fare l’ackdi ogni pacchetto che arriva o approfittare del traffico nell’altro senso per fare piggybacking. Ogni router lungo il percorso rallenta il proprio flusso di dati e eventualmente può anch’esso impostare un bit d’allarme nel caso in cui la congestione non si plachi in un determinato arco di tempo. essi possono venire scartati in modo casuale. che viene attivato dal router finchè la linea rimane in questo stato. associando alle linee variabili indicanti l’utilizzo recente della linea.  Flow control policy: Un flowcontrol stretto.

Un jitter alto genera un suono o un filmato di qualità variabile .40 Ad alte velocità però il metodo non è efficiente perché il tempo che impiega per arrivare il pacchetto d’avviso. in reti ad alta velocità. che permette al router di scartare dei pacchetti. QUALITA DEL SERVIZIO Le tecniche appena viste per ridurre la congestione e migliorare le prestazioni della rete. . ma la costanza del tempo di transito. Laud Shedding Quando nessuno dei metodi descritti riesce ad elinìminare la congestione viene utilizzato questo metodo. Con particolari codifiche è ancora più comodo inserire delle classi di priorità per indicare i pacchetti più importanti. ritardo. ma per garantire la qualità del servizio sono necessarie ulteriori modifiche. Controllo del jitter Per le applicazioni come la trasmissione di flussi audio e video.. la variazione di quest’ultimo è detta jitter. potrebbe essere troppo alto con la conseguenza di non favorire il decongestionamento. La scelta del pacchetto da scartare dipende dalle applicazioni in esecuzione: per il trasferimento file è più comodo ricevere pacchetti vecchi per completare la sequenza (wine). viene intrapresa la correzione. Il jitter può essere delimitato calcolando il tempo di transito atteso per ogni salto lungo il percorso. Le stazioni però devono rispondere alla mancata ricezione dell’ACK con un rallentamento dei dati in uscita.jitter e banda che determinano la QoS che necessita di diverse caratteristiche a seconda dell’applicazione. mentre per applicazioni multimediali è più comodo ricevere pacchetti nuovi (milk). Random Early Detection L’algoritmo RED prevede di scartare i pacchetti quando il buffer del router sta per essere pieno. quando il pacchetto giunge al router. i router mantengono una media mobile della lunghezza delle code. e quando supera una lunghezza di guardia. I pacchetti vengono scartati casualmente. esso controlla il ritardo o l’anticipo rispetto alla sua programmazione e ne pianifica la trasmissione. Le esigenze di ogni flusso sono caratterizzare da affidabilità. viene usato allora il metodo hop to hop che opera un miglioramento immediato nella congestione usando più memoria per spazio di buffer nei router a monte. Per stabilire quando è il momento giusto per iniziare a scartare i pacchetti. e le stazioni si accorgono della congestione a causa della mancata ricezione degli ACK. non importa la velocità di trasmissione (20 o 30 Msec) dei pacchetti.

L’ host quindi è autorizzato a inserire nella rete un solo pacchetto per ogni ciclo di clock dato che la coda è finita (ulteriori pacchi verrebbero scartati) e quindi il flusso viene regolarizzato. PRENOTAZIONE RISORSE Per garantire QoS è molto importante inviare tutti i pacchetti nella stessa direzione. Questo algoritmo gestisce meglio i picchi improvvisi e permette a una stazione inattiva. Le risorse da prenotare sono banda. spazio e banda potrebbe essere una buona soluzione. spazio nel buffer e cicli di CPU. Traffing shaping La velocità media della trasmissione dei dati viene regolata tra la sorgente e il router. dove un’ampiamento del buffer del router permetterebbe di inviare costantemente tutti i pacchetti. quindi sarebbe utile garantire un circuito virtuale da sorgente a destinazione in modo che tutti i pacchetti seguano la stessa route. Prenotando l’uso di alcune risorse posso assicurarmi anche la capacità minima necessaria. dopo i quali vado a rate costante.41 Sovradimensionamento Fornire più capacità al router. che lascia uscire i pacchetti ad un ritmo costante. senza mai scartare dei pacchetti. ma per aumentare tutte le risorse ci sarebbe una notevole impennata nei costi. se la coda è vuota non esce nulla. quindi permetto burst fino a n. Questa tecnica viene utilizzata nel caso di streaming. Nel caso in cui i pacchetti siano di dimensione variabile. in modo da avere uno streaming continuo. viene garantito un numero massimo di byte per ogni ciclo di clock. Quindi permetto di accumulare token fino a un massimo n. la seconda per evitare la perdita di pacchetti dovuti a buffer pieno e la terza per non rallentare tutto il flusso in attesa di elaborazione. utilizza una coda di gettoni generati uno ad ogni intervallo di tempo e un pacchetto per essere inviato deve avere un gettone disponibile. . la prima per non sovraccaricare le linee di output. che si accordano sulla velocità di trasmissione. di conservare gettoni per poi spedire molti pacchetti in caso di necessità. per risolvere i problemi della trasmissione dei burst talvolta viene inserito un laecky bucket in successione per avere una migliore distribuzione di pacchetti. Token Bucket L’algoritmo secchio di gettoni. e la sorgente invia pacchetti solamente nei tempi previsti dall’accordo Leaky Buchet L’algoritmo secchio bucato gestisce i pacchetti trasmessi dai mittenti attraverso una coda interna finita.

quindi il massimo rate a cui il mittente può trasmettere in media 2. Queste specifiche di flusso vengono inviate lungo il percorso e ogni router le modifica secondo le proprie necessità. Byte/sec messi nel bucket. Quando il messaggio ritorna alla sorgente la banda è stata prenotata su tutto il percorso che collega il trasmettitore al ricevitore che ha inviato la richiesta di prenotazione. L’algoritmo di accodamento equo attribuisce ai router code separate per ogni linea di trasmissione . perciò ogni processo riceve la stessa banda. in modo da costruire uno spannino tree che copre tutti i membri del gruppo. anche se con questo metodo viene assegnata più banda a chi usa pacchetti grossi. e quando arriva all’altro capo i parametri possono essere fissati. 1. Reseurce reSerVation Protocol Questo protocollo si occupa delle prenotazioni e consente a più trasmettitori di trasmettere a diversi gruppi di ricevitori. per questo i flussi devono essere descritti accuratamente in termini di parametri specifici. Massimo rate di trasmissione tollerato. questo deve decidere se gestirlo in base alle proprie capacità e ai flussi gia gestiti. utilizzati sia per applicazioni unicast (singolo utente che scarica un video clip) e multicast (televisioni digitali che trasmettono i loro programmi). Quando una coda si esaurisce il router passa alla successiva in round robin. se i pacchetti vengono elaborati nell’ordine in cui arrivano gli host più aggressivi sono liberi di prendersi più risorse e per impedire questo sono stati sviluppati vari algoritmi. ad ogni salto il router prende nota della prenotazione e riserva banda se ce ne è disponibile. Tutti i ricevitori di un gruppo possono inviare al trasmettitore un messaggio di prenotazione attraverso la struttura ad albero. Dimensioni del bucket 3. altrimenti avvisa del fallimento. una per ogni flusso. anche per brevi intervalli 4. Questa scelta non è semplice dato che molte applicazioni conoscono la necessità di banda ma non lo spazio del buffer o CPU necessaria. Con l’accodamento equo pesato. Ogni utente riceve un indirizzo di gruppo e il trasmettitore inserisce l’indirizzo del gruppo nei suoi pacchetti. SERVIZI INTEGRATI Per la trasmissione di flussi multimediali IETF creò algoritmi basati sui flussi. Dimensione minima del pacchetto 5. il peso è uguale al numero di flussi trasmessi da un computer. .42 CONTROLLO DI AMMISSIONE Quando il flusso viene proposto ad un router. Dimensione massima PIANIFICAZIONE DEI PACCHETTI Se un router sta gestendo più flussi si corre il pericolo che un flusso accaparri troppa capacità lasciando gli altri senza risorse . ai quali è permesso di cambiare canale liberamente.

non seguendo l’indirizzo di destinazione. Se un cliente si iscrive a SD. col qual host 5 condivide il collegamento SERVIZI DIFFERENZIATI I servizi differenziato possono essere offerti da un insieme di router all’interno di un dominio di amministrazione. i suoi pacchetti che entrano nel domino possono avere un campo Typeof Service. gli dedichiamo 20% della bandwidth. I router hanno due linee diverse per le due classi di servizio e la pianificazione dei pacchetti utilizza un sistema simile all’accodamento equo pesato. Qos (indica la classe). media e alta). Lo schedulingusa un algoritmo tipo WFQ. Label Switching A ogni pacchetto viene aggiunta una etichetta che aiuta il router nell’instradamento in base all’etichetta. una regolare e una accelerata. questi ultimi attraversano la rete come se non è presente nessun pacchetto. . per esempio mandando un pacchetto expeditedogni 4 normali (assumentodistribuzione di dimensioni uguali per le due classi) Inoltro sicuro Il metodo specifica quattro classi di priorità dove ogni classe ha a disposizione le proprie risorse e sono presenti anche tre probabilità di eliminazione dei pacchetti (bassa. Se host 5 decide di connettersi allo stream dell’host 1 viene stabilito un collegamento con host 1 finchè non si accorge della presenza di host 3. I pacchetti sono classificati in una delle quattro classi di priorità e sono marcati secondo la classe di appartenenza . I pacchetti poi passano attraverso un filtro modellatore/contagocce che può abbandonare o ritardare alcuni pacchetti per distribuire bene i quattro flussi. L’intestazione generica ha quattro campi: label(etichetta). S (accatastamento di più etichette). secondo il quale alcune classi avranno un servizio migliore di altre.43 L’host 3 ha un collegamento con host 1 per uno stream video e un altro collegamento diretto con host 2 per un altro stream. L’amministratore definisce un insieme di classi di servizio con regole di forwarding corrispondenti. Questo metodo è stato standardizzato con il nome di MultiProtocol Label Switching ed è stato inserito un’apposita intestazione all’interno dei pacchetti IP. per cui se per esempio il 10% del traffico èprioritario. Inoltro accelerato L’ idea di questo metodo consiste nel disporre di due classi di servizio. La maggior parte del traffico dovrà essere considerata regolare mentre una piccola frazione accelerata. attraverso questa tecnica il routing può essere fatto in maniera più rapida ed efficace.

ma non sempre bastano a colmare le differenze tra le reti. lo inserisce nel carico utile di un pacchetto dello strato network e indirizza questo al router multiprotocollo della destinazione. Le differenze del routing nelle internetwork è che può richiedere l’attraversamento dei confini internazionali. quindi vengono rimappate ad ogni passaggio in un nodo. Quando riceve il frame il router multiprotocollo rimuove il pacchetto IP. che dipende dall’hardware. che raggruppano anche i pacchetti con le stesse etichette per inoltrarli insieme. Quando arriva a destinazione. La connessione di reti differenti per protocollo e metodi trasmissivi porta a delle difficoltà. dai protocolli e s politiche come la riduzione di ritrasmissioni e l’occupazione per troppo tempo il canale. comunicano con lo stesso protocollo creando un tunnel. linee e router ad alte prestazioni. A livello network internet viene vista come un insieme di sottoreti dette Autonomous Systems interconnesse. del flusso e altro. come la dimensione dei pacchetti. INTERNETWORKING E’ simile al routing effettuato in una sottorete con alcune differenze. con l’entrata in gioco di molte leggi. dal sistema. Questo impone una dimensione massima e il relativo problema di pacchetti di grosse dimensioni che attraversano una rete che ne supporta solo di piccoli. la qualità del servizio il controllo degli errori. Il problema delle etichette è la relativa incompatibilità con i circuiti virtuali. Frammentazione Ogni rete impone una dimensione massima dei suoi pacchetti. un pacchetto internet nasce nella propria LAN dove viene indirizzato al router multiprotocollo locale che decide a quale altro router inviarlo. tra le quali non esiste nessuna struttura. la soluzione più ovvia è quella di fare passare il file .44 Le etichette hanno un significato solo locale. esistono però dei backbone . I dispositivi hardware che si occupano di questo sono i router (multiprotocollo) per il livello rete e il getaway a livello trasporto e i getaway applicativi a livello applicazione. il router rimuove il pacchetto IP e lo trasmette all’host in un frame dello stesso tipo di quello inviato. Tunneling Un caso generale di connessione fra due reti abbastanza gestibile è il tunneling: un host sorgente e uno destinazione che si trovano sulla stessa tipologia di rete ma separati da altre reti.

MF (More fragment): serve per capire quando tutti i frammenti. PROTOCOLLO TCP/IP Il protocollo IP è la colla che tiene collegato tutto Internet. Nel modo non trasparente i frammenti vengono assemblati direttamente dall’host di destinazione. Quando un pacchetto deve attraversare una rete con max packet inferiore.45 per un altro punto. IP è stato pensato per la comunicazione delle reti. ma bisogna superare il problema. dove i pezzi sono ricombinati.         DF (Don’t fragment): ordina al router di non frammentcare il pacchetto perché non si sa ricostruirlo. Header Checksum: verifica gli errori nell’header per rivelare errori dovuti a disfunzioni di memoria. ovvero il suo compito è fornire un mezzo non garantito per trasportare datagrammi fino a destinazione. Mai usato o Strict Source Routing: specifica la lista di IP address attraverso cui routare(per fare misure di timing o per forzare pacchetti di emergenza) . questo però implica che tutti i pacchetti devono seguire lo stesso percorso e il getaway deve sapere quando ha ricevuto i pezzi per poi ricompattarli. Protocol: specifico il protocollo del livello trasporto dai utilizzare. richiedendo a tutti gli host di fare la frammentazione e la deframmentazione. nel caso in cui la rete di destinazione non supporti file delle stesse dimensioni. ma si ha il vantaggio di poter usare qualsiasi getaways e di avere migliori prestazioni. Ogni pacchetto ha il suo header che aggiunge overhead.  Version: indica la versione del IP  IHL: indica la lunghezza dell’header  ToS: indica quale clesse di servizio usare per i Servizi differenziati  Total Lenght: lunghezza totale del datagram  Identification: permette all’host di destinazione di capire a quale datagram appartiene il frammento che è arrivato. Source & Destination Adress: indicano il numero di rete e di host del mittente e del destinatario. deve essere diviso dal router in frammenti. Time to live: contatore che limita la durata di vita del pacchetto in base ai salti o al tempo. Options: o Security: dice quanto sono sicure le informazioni(un router potrebbe usarlo per decidere di non routare per una router insicura. ognuno contenuto nel suo pacchetto internet. Fragment offsett: serve per capire all’interno del datagram dove va situati il corrente frame. senza tener conto della posizione delle macchine Un datagramma IP è costruito da una parte di intestazione e da una parte di testo e la dimensione generalmente non supera i 1500 Bytes. Per costruire il pacchetto in modo trasparete tutti i pacchetti sono indirizzati allo stesso gateway di uscita.

255.0. tutti gli indirizzi sono lunghi 32 bit e sono utilizzati nei campi indirizzo sorgente e di destinazione dei pacchetti IP che identificano la scheda di rete di un’host.0: viene usato dagli host nella fase di boot. Utile per suggerire una router invece ch eun’altra o Record Router: dice ai Router lungo il path di loggare il loro indirizzo per capire se ci sono bug nel routing o Timestamp: come sopra ma oltre all’indirizzo a 32 bit ogni router scrive anche una time stamp a 32 bit Indirizzi IP Host e router hanno indirizzi IP che li codificano univocamente. Gli indirizzi sono scritti in notazione decimale a punti. I numeri di rete sono gestiti da un ente no profit chiamato ICANN.  Indirizzi con la parte network a zero: indica che si vuole indirizzare una macchina nella stessa rete.  Indirizzi che iniziano per 127: per il test del loopback (processati localmente e trattati come pacchetti d’ingresso)  Classi IP Il protocollo IP prevede la divisione in classi di varia dimensione ognuna:  ClasseA: 128 networks con 16M indirizzi ciascuna  ClasseB: 16384 networks con 64K indirizzi ciascuna  ClasseC: 2M networks con 256 indirizzi ciascuna  ClasseD: Indirizzi Multicast  ClasseE: Riservata . con ogni numero compreso tra 0 e 255.0.46 o Loose Source Routing: specifica la lista di alcuni router da usare e nell’ordine specificato ma non tutti i router. in modo da poter essere scritto con 4 byte. Esistono degli indirizzi speciali:  0.255 significa un broadcast nella LAN  Indirizzi con la sola parte di host a 1: broadcast su una determinata rete remota.255.  255.

quando arriva il pacchetto come prima cosa il router estrae il suo indirizzo IP di destinazione. 000010|00 .1. Quindi per potere avere n sottoreti si devono utilizzare tanti bit dell’identificatore stazione (seconda parte della classe di indirizzi usata) da permettere almeno n+2 combinazioni diverse (combinazioni con tutti 0 o 1 non sono possibili). . Il CIDR permette di eliminare il concetto di classe di indirizzi. I dati sono inviati all’indirizzo del gruppo e non si sa a quale host è destinato il pacchetto. poi 130. Network Adress Traslation L’idea è di associare a ogni gruppo di utenti un singolo indirizzo IP per il traffico di internet. 000011|00 . ma quando un pacchetto viene immesso in internet viene eseguita una traduzione dell’indirizzo con quello del gruppo dal dispositivo NAT. Per configurare correttamente una sottorete bisogna chiedersi quante sottoreti si vogliono realizzare e quante stazioni al massimo dovranno essere presenti in un segmento. quando il pacchetto arriva cerco il suo indirizzo IP.50.8. L’abbandono delle classi però rende complesso l’inoltro.4.50.50. Esempio. 00000001 Dividendo la differenza degli indirizzi.47 Sottoreti Tutti gli host della rete hanno uno stesso indirizzo network. che indica le sottoreti che è possibile creare. delle quali scelgo la più lunga.1 per dividere 64 gruppi. 00000001 Subnet2 10000010 . per 255+2 combinazioni possibili ottengo 64. con la quale il router facendo un AND booleano mette a 1 tutti i bit della parte host che invece fa parte della subnet e cerca questo indirizzo nelle sue tabelle. non può permettere che vengano sprecati parti di essi nell’assegnazione per classi.0.25 Classless InterDomain Routing (CIDR) L’esaurimento degli indirizzi IP. Quindi con il CIDR c’è unica routing table composta da indirizzo IP. 00110010 . l’idea di base è quella di assegnare a blocchi di indirizzi di classe C ad una singola rete . 000001|00 . ed esamina la tabella di routing voce per voce.Creare una maschera di sottorete dell’indirizzo 130. subnet mask e linea di uscita. ma apparendo sempre come rete unica verso l’esterno.1. Perché il router veda il blocco di indirizzi come un’unica destinazione le tabelle di routing devono contenere oltre all’inidirizzo di destinazione anche una subnet mask a 32 bit.1. ma potrebbe servire in alcuni casi dividere la rete in parti diverse. Questo può avvenire con una subnet mask. la seconda 130. e se trovo lo stesso indirizzo controllo le subnet mask. di quattro in quattro come si vede contando in binario: Subnet1 10000010 . 00110010 . La machera di sottorete è 255. Un problema lo si ha quando un pacchetto viene destinato a un’host.50. 00110010 . all’interno della rete locale ogni router riceve un indirizzo IP unico da utilizzare all’interno della LAN. Per creare una sottorete invece di avere un singolo indirizzo di classe B. 00000001 Subnet3 10000010 .12. alcuni bit sono tolti al numero di host per creare un numero di sottorete.255. La prima subnet potrebbe usare l’indirzzo130.

peggiorano la situazione. per chiedere all’interno della LAN in broadcasting.48 Dato che i campi IP sono completamente utilizzati. Sintomo di problemi di looping oppure TTL settato troppo basso.  REDIRECT: Usato quando un router nota che un pacchetto sembra essere stato ruotato in modo incorretto  ECHO e ECHO REPLY: Usati per vedere se una destinazione è viva e raggiungibile. Possibile bug nell’host mittente o in un router di transito  SOURCE QUENCH: Una volta era usato per frenare gli host che mandavano troppi pacchetti. perche l’hardware che opera a livello data-link non comprende indirizzi internet. ed inserirle nell’indice della tabella di mappatura. si potrebbe pensare di una tabella all’interno della LAN nella quale sono associati tutti gli indirizzi IP con i rispettivi indirizzi etheret. hanno approfittato di questi due protocolli che tra i loro campi hanno anche una porta sorgente e una destinazione. . Questo facilita misure di performance.  DESTINATION UNREACHABLE: Usato quando la subnet o il router non riesce a trovare la destinazione oppure quando il pacchetto con il campo DF (dont’ fragment) non può essere inoltrato perché c’è di mezzo una rete “small packet”  TIME EXCEEDED: Quando un pacchetto viene droppato perché il suo contatore è decrementato fino a zero.  PARAMETER PROBLEM :Indica un valore illegale in un campo del header. Viene usato raramente perché questi pacchetti. dato che viola l’indipendenza dai layers (si è dipendenti da TCP e UDP). in caso di congestione. Viene utilizzato allora il protocollo ARP. Quindi tutti gli indirizzi IP vengono associati a indirizzi del livello data-link. La congestione viene gestita solitamente a livello di trasporto. Internet Control Message Protocol Il funzionamento di internet è monitorato dai router che nel caso di imprevisto inviano il loro messaggio a ICMP che viene anche utilizzato per testare internet. NAT è una soluzione provvisoria in attesa dei nuovi IPv6. non ripristina le connessioni in caso di crach del NAT. ma richiederebbe molto tempo e sarebbe soggetto ad errori in caso di molti utenti collegati. i progettisti vedendo che la maggior parte del traffico in rete si basa su protocolli TCP e IP. quale è l’indirizzo ethernet associato a un IP e viene memorizzato in cache. non si ha più un’indirizzo univoco per macchina e non funziona con tutti i protocolli. Ricevuto un echo la destinazione risponde con un echo reply  TIMESTAMP e TIMESTAMP REPLY: Sono simili ma vengono registrati anche tempo di partenza e arrivo dei pacchetti. Adress Resolution Protocol Anche se ogni macchina ha uno o più indirizzi IP questi non possono essere utilizzati per spedire pacchetti. Il dispositivo NAT allora ha il compito di estrarre le informazioni dei campi TCP o UDP che indicano gli indirizzi.

I router vengono divisi in router interni a un’area. router di backbone e router ai confini del sistema autonomo. che può adottare un proprio algoritmo di routing. in modo che il messaggio possa essere letto nella rete fisica locale. il server RARP riceve la richiesta e assegna l’indirizzo IP corrispondente. deve essere raggiungibile via broadcast oppure serve un DHCP relay agent. Il routing può essere fatto all’interno di un sistema autonomo dove viene usato un protocollo di routing tra getaway interni. che permette sia l’assegnazione dinamica che manuale. Con questo metodo il client manda in broadcast un pacchetto DHCP Discovery. che il DHCP relay intercetta e manda via unicast al server DHCP.49 Grazie a questo meccanismo il gestore del sistema può lavorare assegnando solo indirizzi IP e non occupandosi del problema a livello data-link. quindi adatto solo a reti di piccole dimensioni. Si basa sull’idea che un server speciale assegni numeri IP agli host che lo chiedono. un protocollo alternativo chiamato BOOTP. Il numero di salti massimo è 15 quindi ogni destinazione più lontana di 15 salti viene considerata non raggiungibile. BOOTP & DHCP Questo protocollo però obbliga ad installare un server RARP per ogni rete dato che i messaggi broadcast non vengono inoltrati dal router. le tabelle contengono una sola voce per ogni destinazione dove come metrica viene usato il numero di salti. . Per default i router si scambiano la tabella delle distanze con i vicini ogni 30 secondi. Open Shortest Path First (OSPF) è un protocollo di tipo link state. Il routing è di tipo gerarchico e permette di dividere il sistema in aree numerate che contengono una o più reti che non si intersecano. che quindi si adatta velocemente ai cambiamenti di tipologia. Quando un’host si collega alla rete l’operazione di acquisizione dell’indirizzo IP avviene grazie al Reverse ARP che permette a una stazione di lavoro di inviare il proprio indirizzo Ethernet in broadcast. PROTOCOLLI DI ROUTING TRA GATEWAY Protocolli di routing tra gateway interni Internet è un insieme di sistemi autonomi gestiti ognuno da una organizzazione diversa. I Routing Information Protocol (RIP) è un protocollo di tipo distance vector e quindi è lento in caso di modifiche alla topologia della rete. invia la richiesta via UDP in broadcast. router di confine di un’area. Il problema della configurazione manuale di BOOTP ha aperto le porte al protocollo DHCP (Dinamic Host Configuration Protocol). tutte le aree sono connesse a un’area principale detta backbone.

50 Possono essere richiesti tre tipi di percorso:  All’interno di un’area, gia noti i router dell’area  Tra due aree; i percorsi vengono divisi in tre passi: o Dalla sorgente a un router di confine o Attraverso la backbone a un router di confine dell’area di destinazione o Alla destinazione  Tra sistemi autonomi attraverso un protocollo di routine tra getaway esterni OSPF rappresenta il sistema come un grafo; una rete locale è rappresentata da un nodo per la rete più un nodo per ogni router;una connessione tra due router è rappresentata da due archi (uno per direzione) ai quali viene associato un costo. OSPF gestisce tre tipi di metriche e permette di trovare percorsi per ottimizzare i ritardi, la capacità totale o l’affidabilità; per farlo mantiene tre copie del grafo ognuna con una metrica. Il cammino più breve viene dunque calcolato in base al tipo di servizio richiesto e in base ai pesi degli archi. I grafi vengono scambiati tra router, ma non tra tutti i vicini; viene eletto un router designato che comunica con tutti i router interni alla LAN e con gli altri router designati, detti adiacenti. Per lo scambio di informazioni tra router adiacenti, ogni router manda periodicamente dei messaggi “LINK STATE UPDATE” ai router adiacenti, con gli stati e i costi usati nel database della topologia. Vengono usati anche messaggi come DATABASE DESCRIPTION per avere i numeri di sequenza di tutte le entrate e vengono mandati quando una linea ripristina l’attività. Il messaggio LINK STATE REQUEST serve per confrontare chi dei router adiacenti ha informazioni più recenti. Per aumentare l’affidabilità ognuno di questi messaggi ha un numero sequenza e deve essere confermato da un ack.

Protocolli di routing tra gateway esterni I protocolli tra gateway esterni devono, oltre che spostare in modo efficiente i pacchetti tra sorgente e destinazione, occuparsi della politica di gestione. Il protocollo utilizzato è il Border Gateway Protocol (BGP); in ogni router vengono configurati dall’amministratore dei vincoli sui percorsi possibili; il router esamina i percorsi per una data destinazione, assegna a loro un punteggio e sceglie il percorso con la distanza più breve. Il metodo di assegnazione del punteggio non è definito dal protocollo ma viene scelto dall’ amministratore; qualsiasi percorso che non soddisfi uno dei vincoli assume automaticamente un punteggio infinito. BGP si occupa del traffico in transito tra sistemi autonomi e le reti sono suddivise in tre categorie:  Stub networks: Ha un’unica connessione al grafo BGP. Non possono essere usati per transito perché non c’è nulla all’altro lato  Multiconnected network: Possono essere usate per transitare traffico eccetto il traffico che rifiutano  Transit network: come i backbone che sono disposti a gestire traffico di terzi, forse con restrizioni e di solito a pagamento

51 BGP è un protocollo a distance vector modificato in modo da risolvere il problema del conteggio all’infinito: ogni router non registra solo il costo per ogni destinazione, ma l’intero percorso e scambia queste informazioni con i vicini; quindi un router che non può raggiungere una destinazione si accorge dei percorsi suggeriti dagli altri router che passano attraverso di lui e li elimina dalla tabella di instradamento. Il BGP usa il protocollo TCP per trasferire i messaggi di instradamento; due router stabiliscono una connessione TCP dove prima si scambiano la tabella, poi solo le modifiche. INTERNET MULTITASKING Per alcune applicazioni è utile che un processo possa comunicare contemporaneamente con un gran numero di ricevitori. Il multitasking è supportato dal protocollo IP nella classe D, dove un gruppo di host è identificato dall’indirizzo e 28 bit sono utilizzati per identificare i gruppi; quando un processo invia un pacchetto a un gruppo di host, esso viene inviato in best effort per inviare i dati a tutti, senza garanzie però. Sono supportati due tipi di indirizzi di gruppo:  Permanenti: sono sempre presenti, non devono essere impostati e possiede un’indirizzo permanente.  Temporanei: devono essere creati prima di poter essere visualizzati. La trasmissione multicast è implementata da speciali router multicast, che circa una volta al minuto generano una trasmissione hardware multicast diretta agli host sulla LAN che chiede alle macchine di indicare i gruppi di appartenenza dei loro processi. Il routine multicast è eseguito usando le strutture spanning tree e ogni router multicast scambia informazioni con i suoi vicini usando un protocollo basato sul vettore delle distanze; ciò consente a ogni router di costruire per ogni gruppo uno spannino tree che copre tutti i membri. Il protocollo usa frequentemente i tunnel per evitare di infastidire i nodi che non fanno parte dello spanning tree. INTERNET PROTOCOL VERSIONE 6 (IPv6) Una soluzione al problema dell’esaurimento degli indirizzi IP viene da IPv6 che offre indirizzi a 128 bit; possono essere singoli e di gruppo e un nuovo tipo chiamato anycast, ma non esiste il broadcasting. Gli indirizzi unicast possono essere o per uso locale ( i pacchetti che li contengono non vengono inoltrati dal router) o per uso globale. Gli indirizzi anycast sono indirizzi normali ma assegnati a più di una stazione; un pacchetto inviato a un’indirizzo unicast,viene inviato a una sola delle stazioni con questo indirizzo, che poi passa il pacchetto alle altre.La forma del pacchetto è la seguente:  VERSION: vale sempre 6 in IPv6.  TRAFFIC CLASS: distingue i pacchetti real time  FLOW LABEL: permette a sorgente e destinatario di creare una pseudo-connessione, simile al VC.  PAYLOAD LENGHT: indica i bytes dopo l’header  NEXT HEADER: dice quali degli attuali sei header  HOP LIMIT: limita la vita del pacchetto.  SOURCE ADRESS: indirizzo sorgente  DESTINATION ADRESS: indirizzo destinazione. di estensione segue questo header.

52 Gli indirizzi vengono scritti come 8 gruppi di quattro cifre esadecimali separati da “;”. Nel caso in cui contengano zeri, per semplificare gli zeri possono essere omessi e gruppi di 16 bit a zero sono sostituiti da “:”. In totale con questo protocollo a 16 byte ho 2128 indirizzi, del tutto necessari per coprire il fabbisogno.

servendosi dei servizi forniti dal livello network. ma anche l’indirizzamento e il controllo del flusso sono simili.  Connectionless: anch’esso simile allo stesso del livello network. cioè un’interfaccua al livello trasporto. per renderle indipendenti dalle primitive del servizio di rete. . quando arriv un frame lo strato data link elabora l’intestazione del frame e passa il contenuto del carico utile al frame del livello superiore che elabora l’intestazione e passa in carico utile all’entità trasporto. il livello trasporto del server controlla se è in ascolto (LISTEN) e sblocca il client accettando la connessione.LIVELLO TRASPORTO Il livello trasporto deve fornire un servizio di trasporto efficiente ed affidabile solitamente ai processi del livello applicazione. I pacchetti persi e i dati danneggiati possono essere rilevati e compensati dallo strato trasporto e le primitive del servizio di trasporto possono essere implementate come chiamate a procedure di libreria. Le primitive permettono al programmatore un’interfaccia semplice verso il più complesso livello rete. Questo protocollo è contenuto in pacchetti. Il protocollo utilizzato è il Trasporto Protocol Data Unit (TPDU) per inviare messaggi da entità di trasporto ad altre entità di trasporto.53 6. una TPDU di CONNECT REQUEST arriva al server. La disconnessione si presenta in forma asimmetrica quando un utente può emettere un primitiva DISCONNECT che viene trasmessa anche all’altro host e viene effettuata la disconnessione. controllo della congestione ecc. associando a semplici comandi. PRIMITIVE DEL SERVIZIO TRASPORTO Per consentire agli utenti di accedere al servizio di trasporto. In entrambi i casi le connessioni seguono le tre fasi di setup. a loro volta contenuti in frame dello strato data-link.). Questo layer viene distinto dal livello network perché viene utilizzato sulla macchina dell’utente e non nei router come a livello rete. trasferimento dati e sconnessione. Anche il livello trasporto offre due tipi di connessione:  Connection oriented: simile al tipo del livello rete. Ora il client e il server si scambiano nel pyload del TPDU messaggi di SEND e RECEIVE per scambiarsi i dati. deve fornire alcune funzioni ai programmi applicativi. Quando il client chiama la CONNECT. questo per migliorare la qualità del servizio e l’affidabilità. i più complessi del livello inferiore (senza considerare i problemi di routing.

i parametri indicano il formato di indirizzamento da usare. Il server può costruire un processo o un thread per gestire la connessione del nuovo socket e tornare ad attendere la connessione successiva del socket originale. dato che l’indirizzo non interessa al server INDIRIZZAMENTO Quando un processo di un’applicazione vuole stabilire una connessione con un processo di un’applicazione remota deve sapere a quale connettersi. nel caso diversi client si vogliano connettere nello stesso istante.  SEND: invia alcuni dati sulla connessione.  BIND: Associa un inidirizzo lacale alla socket per permettere la connessione. quando arriva una TPDU il server crea un nuovo socket con le stesse proprietà dell’originale. su internet questi punti sono chiamate porte. non visibile a livello di trasporto. Nello strato trasporto anche uno scambio di dati unidirezionale è più complesso. Allo stesso modo le entità di trasporto devono preoccuparsi di timer e ritrasmissioni sempre in modo invisibile all’utente del livello trasporto. . ogni pacchetto inviato viene seguito da un’ACK ( compresi quelli di controllo).  CLOSE: rilascia la connessione in modo simmetrico.   SOCKET: crea un punto finale e alloca spazio nel server.Non è bloccante.  LISTEN: alloca dello spazio per accordare le chiamate entranti. Il metodo normalmente utilizzato consiste nel definire indirizzi di trasporto su cui i processi possono restare in ascolto delle richieste di connessione. quando entrambi chiamano la CLOSE la connessione è chiusa. non si crea direttamente l’indirizzo dato che alcune applicazioni hanno la necessità di sceglierselo.  CONNECT: blocca il chiamante e attiva l’inizio del processo di connessione. Sono ampliamente utilizzate per la programmazione in internet e seguono circa il modello delle primitive elencate sopra ma in modo più dettagliato e flessibile. quindi la disconnessione avviene quando entrambi inviano la primitiva DISCONNECT .  ACCEPT: blocca il chiamante fino all’arrivo di un tentativo di connessione. Dal lato del client deve essere creata un SOCKET ma BIND non è richiesto. ma non indica che non li può ricevere.  RECEIVE: riceve alcuni dati sulla connessione.54 Nella variante simmetrica la primitiva DISCONNECT indica solo la indisponibilità di una macchina di inviare dati. Berkeley Socket Sono un’altra tipologia di primitive utilizzate per TCP in Berklay Unix. il tipo di servizio desiderato e il protocollo.

L’applicazione manda la richiesta 4. Il time server risponde con l’ora esatta 5. 2. risponde con la l’indirizzo TSAP. da qui il problema della memoria. CREAZIONE CONNESSIONE La connessione non è banale. dato che nel caso in cui la rete perda. Metto un contatore di hop nel pacchetto ed ogni hop lo decremento. Allora viene intrapresa un’altra strategia che è quella di impedire che i pachetti vivano per sempre nella subnet. dove per trovare l’indirizzo TSAP di un determinato servizio. Questo metodo richiede però che tutti i router siano sincronizzati tra di loro con un GPS o un segnale radio. per servizi molto utilizzati vengono usate tabelle con gli indirizzi dei server perennemente collegati alle porte. Questo metodo però occuperebbe molta memoria dato l’elevato numero di server e anche dispendioso mantenere attivi tutti i server in ascolto su un’indirizzo IP stabile. Ogni volta che arriva una richiesta di connessione viene confrontata con la tabella per vedere se apparteneva a una connessione rilasciata in precedenza. e può essere affrontato in vari modi: 1. viene previsto l’utilizzo di indirizzi di trasporto monouso: ogni volta che diventa necessario un indirizzo di trasporto ne viene generato uno nuovo e quando una connessione viene lasciata l’indirizzo è scartato e non viene più utilizzato. viene aperta una connessione con il server dei nomi che. La connessione viene chiusa. viene assegnato a ogni connessione un identificatore (numero sequenziale incrementato a ogni connessione stabilita) . Il nodo del problema è l’esistenza di duplicati ritardati. Questo servizio viene offerto per distinguere i diversi punti finali di trasporto dato che una macchina possiede un solo Network Service Access Point (NSAP). viene usato allora il protocollo di connessione iniziale. Ogni pacchetto ha un etichetta con la data di creazione per cui butto tutti i pacchetti più vecchi di una certa data. Per gestire server per i file. Il process server rimane in ascolto su determinate porte e appena un utente richiede una connessione. Un processo “time of day” su host2 si attacca al TSAP 1522 in attesa di una call (tipo una LISTEN) 2. Impedisco in qualche modo ai pacchetti di andare in loop e cerco di mettere un limite al delay di congestione 2. Si usa uno dei tre metodi: 1. Un problema che si riscontra in queste connessioni con TSAP è l’individuazione della porta quando si deve accedere a un servizio. che corrisponde al protocollo IP.55 Genericamente vengono chiamate Trasport Service Acces Point (TSAP) e i processi applicativi possono collegarsi a un TSAP per stabilire una connessione con un TSAP remoto. una volta saputo il nome del servizio. memorizzi e duplichi i pacchetti. 1. fa ereditare al server stesso la connessione con l’utente. . che anziché avere ogni server in ascolto su un TSAP dispone di un process server che agisce da proxy per i server utilizzati più raramente. Un processo su host1 vuole sapere che ore sono e fa una CONNECT dalla TSAP 1208 alla TSAP 1522 3. dato che in caso di crash non si saprebbe più quali identificatori sono stati usati. Quando arrivo a zero butto il pacchetto 3. scelto da chi inizia la connessione e inserito in ogni TDPU compreso quello per la connessione.Non consente però process server. Esempio. vengono usati dei server dei nomi.

Per evitare questo devo fare in modo che la velocità sia impostata ad un certo numero di TPDU a ciclo di clock (pochi millisecondi). quindi occorre un tempo dove è proibito inviare sequenze dato che ancora potrebbero essere in circolazione pacchetti antecedenti al crash (per evitare che arrivino duplicati). quindi su può usare anche quando non c’è un clock globale. quindi si attende anche un tempo T tale che tutti gli ACK relativi a quel pacchetto siano morti. . ma che siano defunti anche tutti i relativi ACK. il destinatario risponde con un messaggio di conferma per x contenente a sua volta il numero di sequenza y.entrando nella regione proibia (da sotto). Ovviamente ogni connessione inizia con un numero diverso nella sequenza. Analogamente anche quando la frequenza di invio è molto lenta. Three-way Handshake non richiede che entrambi i lati usino lo stesso numero di sequenza. al riavvio non sa dove dovrebbe essere il numero di sequenza. l’oroloogio viene visto come un contatore binario che si incrementa uniformemente nel tempo. Ogni macchina deve avere un orologio che misura l’ora con una certa precisione. ma questo problema viene risolto controllando se si è all’interno della zona proibita. Questo perché non si devono avere due TDPU vive con lo stesso numero di sequenza. e devo aspettare un rate del clock prima di aprire una connessione dopo un crash. usate anche da TCP. che però non deve essere ripetuto finchè le vecchie TDPU con quel numero siano ormai morte da un pezzo. ma che non deve essere sincronizzata con gli orologi delle altre macchine. molto più velocemente del numero di sequenza iniziale rispetto al tempo. si deve fare in modo che le parti si accordino per un numero di sequenza iniziale. migliorato poi da Sunshine e Dalal con diverse varianti. si potrebbe entrare nella zona proibita. Metodo Tomilson Un metodo ancora più accurato è stato creato da Tomilson. il mittente manda una conferma per y insieme ai primi dati. Se un’host va in crash. ed eventualmente ritardando la TPDU di T secondi o risincronizzando i numeri di sequenza. quindi quando si stabilisce la connessione i k bit più bassi del clock vengono usati come numero iniziale della sequenza ( k bit). Three-way Handshake Dato che anche le TPDU di controllo possono essere ritardate. con un numero di bit superiore a quello dei numeri di sequenza e deve anche funzionare a macchina spenta. La stazione invia una richiesta di connessione contenente un numero di sequenza x. Altri problemi il protocollo li ha nel caso in cui un’host invii dati troppo velocemente su una nuova connessione.56 Inoltra bisogna assicurarsi non solo che un pacchetto sia defunto.

Non garantisce che tutti i dati vengano consegnati. potrebbe aspettare la conferma dell’altra armata. i buffer di dimensione variabile sono più efficienti anche se la gestione è più complessa. ma se il messaggero che porta la conferma viene catturato abbiamo lo stesso problema. Per la chiusura della connessione si usa un protocollo three way handshake: una delle stazioni manda una richiesta di chiusura della connessione. Per concordare la chiusura della connessione possono verificarsi dei problemi. dato che devono essere usati dei buffer per conservare le TPDU inviate. la prima non ricevendo risposta entro un tempo prestabilito invia di nuovo la sua richiesta. sarebbe inviare un messaggero attraverso il canale (che quindi potrebbe venire catturato). il destinatario manda la conferma con il numero di sequenza y. . CHIUSURA CONNESSIONE La chiusura di una connessione può avvenire in due modi:  Chiusura asimmetrica: una stazione può chiudere la connessione quando vuole. In pratica l’armata che manda il messaggio non è sicura che il messaggio arrivi. il destinatario non usa buffer dato che non sa quanti riservarne (o li riserva dinamicamente). I buffer possono essere di dimensione fissa o variabile dato che le TPDU possono essere di dimensioni molto diverse e il traffico può subire cambiamenti. riprova per un certo numero di tentativi poi chiude comunque la connessione allo scadere del suo timer.  Chiusura simmetrica: la connessione viene considerata come due connessioni unidirezionali separate ognuna delle quali deve essere chiusa separatamente. Il protocollo non funziona nel caso in cui vadano perse tutte le richieste di chiusura della prima stazione. finchè non vengono confermate. Una soluzione è che le stazioni chiudano la connessione quando non ricevono nulla per un determinato intervallo di tempo. esemplificati dal problema degli eserciti. I buffer possono essere usati i dalla sorgente o dalla destinazione: nel caso di traffico scarso con picchi improvvisi (terminale interattivo). alla velocità massima. la prima stazione quando la riceve manda una conferma e chiude la connessione e anche la seconda chiude la connessione quando riceve la conferma (se viene persa chiude la connessione allo scadere del timer). quindi il mittente deve mantenere una copia dei dati finchè la ricezione non è confermata. ma il mittente manda un messaggio di rifiuto perché non ha richiesto una connessione. mandando eventualmente messaggi vuoti per tenere in piedi la connessione.57 Se arriva una richiesta di connessione duplicata in ritardo. contenente il numero di sequenza x. l’altra stazione manda a sua volta la richiesta di chiusura della connessione e fa partire un timer. le due armate ai lati del canale insieme potrebbero battere l’esercito nemico ma l’unico modo per accordarsi sul momento dell’attacco. Se si perde la richiesta di chiusura della connessione inviata in risposta dalla seconda stazione. Nel caso di traffico abbondante e continuo (trasferimento file) è preferibile avere buffer a destinazione per potere sempre accettare i dati che arrivano. Due armate dello stesso esercito si trovano ai lati di un canale dove si trova l’esercito nemico. CONTROLLO DI FLUSSO Il problema del controllo di flusso è simile a quello a livello data-link .

Il valore di UDP è di avere le porte di sorgente e destinazione. la prima serve quando devo mandare indietro un reply . il multiplexing upward permette di ridurre le spese per i servizi di rete se i costi dipendono dal tempo di connessione. . Il multiplexing può essere di tipo upward se un’unica connessione di rete viene utilizzata da diverse connessioni di trasporto. Il multiplexing può invece essere di tipo downard se una connessione a livello di trasporto viene ripartita su varie connessioni a livello di rete (su una o più linee fisiche). il multiplexing downward permette di utilizzare una larghezza di banda maggiore e quindi di velocizzare la trasmissione 1.Upward 2. uno connesso e affidabile detto Trasmissione Control Protocol e l’altro non connesso e non affidabile detto User Data Protocol. Il problema dell’udp è che si limita a fornire una interfaccia a IP con il demultiplexing di diversi processi su tante porte. I campi del protocollo UDP sono le due porte (sorgente e destinazione). ma non garantendo il flusso. I numeri di porta vengono usati per identificare i punti terminali nelle macchine sorgente e destinazione. questo legame viene fatto con una operazione di tipo BIND. in cui il client manda una piccola richiesta al server e si aspetta una piccola risposta indietro. un campo UDP length che comprende header e dati e un checksum opzionale che viene messo a zero se non calcolato.Downward LIVELLO DI TRASPORTO DEL MODELLO TCP/IP Il livello di trasporto offre due protocolli. quindi quando il pacchetto arriva viene consegnato al processo legato alla porta di destinazione.58 MULTIPLEXING Lo strato di trasporto permette il multiplexing delle connessioni a livello di trasporto sulle connessioni a livello di rete. ma viene comunque utilizzato nelle applicazioni client-server. Protocollo UDP Permette alle applicazioni di mandare un datagram IPincapsulato senza stabilire una connessione.

RTP è un protocollo dove la sorgente specifica l’encoding ma non viene coinvolto in esso.59 Remote Procedure Call Consentire ai programmi di chiamare le procedure situate su host remoti è un’operazione frequente ed è descritta nel Remote Procedure Call dove la macchina 1 chiama una funziona sulla macchina 2. dato che client e server vivono in due differenti spazi di indirizzamento. Il client chiama lo stub del client e inserisce i parametri nel pacchetto (marshaling) e prenota il sistema dell’invio del messaggio. Il frame RTP è composto da diversi campi:     VERSION: indica il nome della versione. la attuale è la 2 P:indica che il pacchetto è stato riempito fino a un multiplo di 4 byte X: estensione dell’header presente CC: numero di sorgenti che contribuiscono (0-15) . in modo da essere adattato a vari tipi di codifica e di soddisfare le richiesta dell’applicazione (sincronizzazione. il processo chiamante si blocca e l’esecuzione della funzione avviene sulla macchina 2. La libreria multiplexa gli stream di e li codifica in pacchetti RTP che vengono messi in un socket. che poi il kernel del sistema operativo converte in pacchetti UDP. diversi stream di dati real time in un unico stream vengono multiplexati. Per chiamare una procedura remota il cliente deve essere associato a una piccola procedura di libreria chiamata stub del client . infine lo stub del server riceve il pacchetto e ne estrae i parametri per chiamare la procedura. Questo metodo presenta dei problemi dato che non si possono passare puntatori. riduzione jitter). che può essere mandato a un’unica o multilple destinazioni. Ogni pacchetto ha un numero di sequenza per capire eventuali smarrimenti. Real-Time Trasport Protocol Per le applicazioni multimediali è stato creato questo protocollo che viene eseguito sopra UDP. ack e ritrasmissioni. per questo non sono necessari controlli di flusso. Le informazioni possono essere trasportate dal chiamante al chiamato nei parametri e possono tornare indietro come risultato della funzione. che rappresenta la procedura del server nello spazio di indirizzamento del client. correzione di errori. Anche il server è associato a una procedura chiamata stub del server e sono usate per nascondere che la chiamata a procedura dal client al server non sia locale. e nemmeno le variabili globali possono essere usate. dato che la ritrasmissione non sarebbe pratica dato che in uno stream se un pacchetto arriva in ritardo perde utilità. in modo da rendere una chiamata a procedure remote simile a una locale. che però potrebbero venire approssimati per interpolazione. Per funzionare su UDP.

per gestire il jitter SYNCRRONIZATION SOURCE IDENTIFIER: usato per multiplexare o demultiplexare diversi stream in un diverso flusso UDP CONTRIBUTING SOURCE IDENTIFIER: vengono elencati i vari stream mixati. Protocollo TCP Progettato per avere uno stream di byte end to end affidabile. Questo però comporta il problema di ritardi di segmenti in successione. per questo si ottimizza il processo della ritrasmissione di bytes che non hanno avuto un ACK. delay e altro. un processo utente o una parte del kernel. che può essere una procedura di libreria. quindi il mittente quando invia un segmento fa partire un timer. li suddivide in pezzi non superiori di 64 Kb e invia ogni pezzo in un datagaramma IP. Ogni computer che supporta TCP dispone di un’entità di trasporto TCP. su una rete internet nonostante i problemi legati alla topologia. gestisce anche il timeout e la ritrasmissione secondo necessità. audio) PAYLOAD TYPE: algoritmo di encoding utilizzato. L’header TCP occupa 20 bytes e sottraendo anche i 20 bytes del intestazione del pacchetto IP rimangono 65495 bytes per i dati. dato che ci possono essere delle opzioni. quindi la dimensione dei segmenti viene negoziata. che vengono chiamati socket. non può cambiare durante la trasmissione SEQUENCE NUMBER: numero incrementale per controllare la perdita di pacchetti TIMESTSMP: viene usato per disaccoppiare la riproduzione dall’arrivo dei pacchetti.60       M: indica l’inizio dell’applicazione (video.      SOURCE PORT: numero porta mittente DESTINATION PORT: numero porta destinatario SEUQUENCE NUMBER: numero di sequenza del primo byte di dati ACK NUMBER: numero di sequenza del prossimo byte atteso HEADER LENGHT: indica dove iniziano i dati all’interno del segmento. Le connessioni TCP sono full duplex e point to point e i dati arrivano sotto forma di byte stream. spesso però i segmenti sono di dimensioni inferiori. il destinatario risponde con un segmento con dati (altrimenti vuoto) con un numero di ACK uguale al prossimo numero di sequenza che si aspetta d ricevere. dato che sono vincolati dal Maximum Transfer Unit delle reti che devono attraversare. Il protocollo base tra due entità TCP è di tipo sliding windows. banda. in generale gestisce tutti i flussi TCP e le interfacce verso lo strato IP. E’ ottenuto con la creazione di punti finali da parte del mittente e del ricevente. ognuna possiede un indirizzo composto dallìinidirizzo IP dell’host e da un numero di 16 bit locali all’host chiamato porta. ovivamente prima che il timer scada altrimenti il mittente rinvia il segmento. I numeri di porta sotti il 1024 sono chiamati well know ports riservati per servizi standard serviti da processi con privilegi elevati. Un’entità TCP accetta dai processi locali i flussi di dati dell’utente. .

dati e dello pseudoheader (indirizzo IP di sorgente e destinazione ) . una delle due manda un segmento con il bit di FIN e una volta ricevuto l’ACK la connessione è terminata in una direzione. grazie a un timer che viene fatto partire con la richiesta. La primitiva Connect spedisce un segmento TCP con il bit SYN impostato e un numero di sequenza calcolato in base all’orologio di sistema. . =0 indica che il segmento non contiene Ack così il campo suddetto non viene considerato o PSH indica dati pushed. La stessa cosa deve essere fatta per chiudere la connessione nell’altra direzione. Usato anche per non accettare una connessione o per rifiutare un segmento in formato non valido o SYN per stabilire una connessione. CHECKSUM: viene fatto il controllo di header. per evitare il problema degli eserciti. La richiesta di connessione ha SYN=1 e ACK=0. Il ricevente è quindi gentilmente pregato di non bufferizzare i dati all’arrivo come aveva magari intenzione di fare per maggiore efficienza o RST usato per resettare una connessione il cui stato per vari motivi è incerto. altrimenti manda un segmento di conferma SYN e ACK impostati. invia un segmento con il bit di RST impostato per rifiutare la connessione. la risposta ha SYN=1 e ACK=1 o FIN bit per segnalare la chiusura di una connessione WINDOW SIZE: finestra di dimensione variabile che gestisce il controllo di flusso.61   6 BIT NON USATI 6 BIT DI FLAG: o URG=1 se viene usato lo Urgent Pointer (questo indica l’offset nel segmento dove trovare i dati urgenti. una connessione viene ugualmente chiusa anche in caso di mancato arrivo dall’ACK. Il valore 0 segnala di non inviare altri dati per il momento.inoltre vengono inviati anche otto 0. Questo metodo aiuta nel rivelare pacchetti consegnati male ma vìola la gerarchia di protocolli. si può usare al posto di un messaggio di interrupt o ACK=1 indica che il Acknowledment number è valido. 8 bit che indicano il protocollo e 16 bit con la lunghezza del segmento TCP. dice quanti byte posso mandare a partire dall’ultimo byte acknowledged. OPTIONS: permette funzioni extra oltre a quelle fornite URGENT POINTER: viene usato per indicare dopo quanti bytes iniziano i bytes uregenti       Creazione connessione TCP L’apertura di una nuova connessione utilizza il protocollo three-way handshake. mentre si ripristina l’invio dei dati con l’invio dello stesso segmento ma con valore window size uguale a 1. Se il server non può accettare la connessione. Chiusura connessione TCP La connessione full duplex viene chiusa come una coppia di connessioni simplex. per stabilire la connessione anche nella altra direzione il server deve inviare u numero di sequenza e aspetta la conferma.

Dato che ne il mittente. ne il destinatario sono obbligati a trasmettere i dati appena vengono ricevuti dall’applicazione. e riempiendo il payload del segmento successivo mentre si attende l’ACK. . Se però si inviano solamente pochi bytes per volta. Quando la dimensione della finestra è 0 il mittente non può spedire dati. La finestra di congestione continua a crescere in modo esponenziale finche non raggiunge la finestra del ricevente. così il segmento può venire spedito una volta riempito il payload. Se l’applicazione ricevente legge dal buffer pochi bytes per volta. La finestra di congestione viene inizialzzata ala massima dimensione del segmento in uso. che prevede di inviare solamente un primo byte. tra i due viene trasmesso il minimo delle finestre. ma solo segmenti con dati urgenti o segmenti di un byte per prevenire deadlock se un annuncio di finestra dovesse andare perso. L’algoritmi di Clark consiste nel fare in modo che il ricevente mandi un aggiornamento della finestra solo se il buffer è mezzo vuoto. in questo modo non vengono inviati pacchetti che non possono essere consegnati al destinatario. ma oltre a questo deve essere presa in considerazione anche la capacità della rete. quando però ho un timeout la soglia viene (threshold) viene ridotta alla metà della finestra di congestione e la crescita del massima dimensione di segmento cresce linearmente. Il mittente tiene aperte due finestre che indicano quanti dati possono essere trasmessi in ogni istante in base alla capacità del ricevente e della rete. Il mittente mantiene due finestre che indicano quanti dati il destinatario è pronto a ricevere. Quando il mittente trasmette un segmentofa partire un timer. invia messaggi al destinatario informandolo della disponibilità di spazio. viene utilizzato l’algoritmo di Nagle.62 Controllo di flusso Per il controllo di flusso TCP utilizza un protocollo a sliding windows con la gestione degli errori di tipo go back n. e se il primo segmento passa senza timeout viene raddoppiata la dimensione massima. questo finchè sicevo tutti gli ACK. dato che la riduzione del flusso di dati è l’unica soluzione. e ritrasmette alla fine del timer. la durata del timer è importante per evitare troppe ritrasmissioni o ritardi inutili. ma il sorgente continua comunque a inviare pochi byte. vengono mandati ACK dell’ultimo byte ricevuto. Controllo della congestione Il livello TCP si preoccupa del controllo delle congestioni.

Questi campi contengono le informazioni per trasportare il messaggio. Multipurpose Internet Mail Extension (MIME) Si usa ancora il protocollo RFC 822 ma vengono aggiunte nuove intestazioni e vengono definite delle regole di codifica in modo che tutto sia inviato come codice ASCII.immagini. MIME definisce nuovi tipi di intestazione per definirne la versione. LIVELLO APPLICAZIONE Il livello applicazione comprende tutte le applicazioni comunemente note come applicazioni di rete (posta elettronica. o metodi grafici per interagire con il sistema di posta elettronica. indirizzo di destinazione e priorità. in modo che i nomi delle stazioni possono essere duplicati. cioè per cercare il nome noto l’indirizzo IP POSTA ELETTRONICA Anticamente consisteva di un protocollo di file transfer definito nella RFC 822. Il Message Transfer Agent viene utilizzato per spostare il messaggio da sorgente a destinazione e utilizza le informazioni all’interno dell’header. i messaggi non avevano struttura interna. basata su comandi. usato nella rete Internet. Usa un sistema di denominazione con una struttura gerarchica. dove venivano usati solo caratteri dell’ASCII ristretto e alcuni campi. DNS (Domain Name System) è un sistema di risoluzione dei nomi usato principalmente per associare nomi di host e destinazioni di posta elettronica a indirizzi IP. trasferimento file. noto il nome (servizio di risoluzione dei nomi). DOMAIN NAME SISTEM Per accedere più facilmente alle risorse si può associare ad ogni risorsa un nome. o su menu. . i nomi sono composti dal nome host e dal nome di dominio. in questo modo si possono continuare a usare gli stessi programmi e protocolli di posta cambiando solo gli agenti utente. non si aveva la certezza dell’arrivo del messaggio e la semplicità del protocollo impediva l’interfaccia ad applicazioni multimediali. ecc…) e altre applicazioni di supporto.messaggio suddiviso in più parti). Lo spazio dei nomi è una struttura ad albero che rappresenta tutti i domini. come i servizi di directory che permettono di individuare le risorse all’interno della rete.63 7. Una delle forme più semplici di guida di rete è quella che permette di ottenere l’indirizzo di una risorsa. il sistema di risoluzione dei nomi più noto è il DNS. la natura del corpo del messaggio e il metodo di codifica utilizzato e vengono definiti anche tipi per la natura del corpo del messaggio (testo con tag html. Questo però rendeva difficile mandare un mail a diversi destinatari. suddiviso in domini .. In una rete TCP/IP ogni stazione è identificata da un indirizzo IP. più facile da ricordare dell’indirizzo. queste informazioni vengono usate per il routing Per il leggere e spedire mail viene usato il Message User Agent che fornisce una interfaccia. al posto degli indirizzi si possono usare i nomi. I domini di massimo livello sono di tre tipi:  Organizzativi: rappresentano il tipo di organizzazione  Geografici: due caratteri che rappresentano una nazione (definiti in ISO 3166)  Dominio inverso: viene usato per la ricerca inversa.

risposta automatica. Perchè i messaggi possano essere trasmessi al server SMTP. che poi viene ricevuto oppure li riceve tutti. in un’indirizzo IP tramite il DNS. Simple Mail Transfer Protocol (SMTP) Protocollo che si occupa dell’invio del messaggio. una volta ricevuta e controllata dal server permette di accedere alla pagina di posta per creare. e codifica quoted-printable per i messaggi completamente in ASCII ristretto. il server Web per default resta in ascolto sulla porta 80. il server copia i messaggi nelle appropriate caselle postali e se non possibile invia una notifica di errore. Rispetto al POP3 presenta anche varie funzioni. per comunicare con il server di posta POP3. IL WORLD WIDE WEB Il World Wide Web nacque da un accordo tra due società pronte a sviluppare il web per standardizzarne i protocolli e l’interoperabilità. il client deve essere in grado di risolvere il nome del serve che compare nell’indirizzo e-mail. l’eliminazione della posta indesiderata. Internet MessageAccess Protocol (IMAP) IMAP è pensato per uso online. per comunicare con il server di posta. Il browser stabilisce una connessione TCP con il server. i messaggi vengono copiati dalla casella di posta al computer dell’utente.64 Vegono usati schemi di codifica a bese64 usata per i messaggi in binario. Viene stabilita una connessione TCP con il server dell’Internet Service Provider sulla porta 110. a differenza di POP3. modificare ed eliminare posta. come l’organizzazione automatica della posta. dopo aver stabilito la connessione il client invia una richiesta e il server risponde. presume che tutti i messaggi devono rimanere sul server all’infinito e quindi permette all’utente di modificare creare ed eliminare messaggi direttamente dal server. Il web permette di consultare delle pagine attraverso un browser che preleva la pagina richiesta e la visualizza secondo l’ipertesto da cui è composta. Vengono utilizzati quattro tipi di messaggi per la comunicazione:  HELO: messaggio iniziale per annunciare il nome  MAIL FROM: per indicare il mittente  RCPT TO: per indicare un destinatario (con più messaggi indico più destinatari)  DATA: il corpo dl messaggio da spedire Post Office Protocol 3 (POP3) Per la lettura dei messaggi viene utilizzato questo protocollo. Per accedere alla propria casella di posta è necessario effettuare un’autenticazione che. Viene stabilita una connessione col server destinatario che è in attesa sulla porta 25. poi la . All’autenticazione il server risponde con il numero di messaggi presenti nella casella di posta e il client risponde con il numero del messaggio da ricevere.

ottiene il nome del file richiesto che preleva dal disco per inviare al client. Le richieste del client chiedono di trasferire un file di risorse dal computer del server al computer del client. Il protocollo HTTP è privo di stati. Il server FTP usa 2 porte: la 20 (dati) e la 21 (controllo). se la pagina contiene immagini. Poiché viene usato TCP come protocollo di trasporto i trasferimenti file sono affidabili. descrivendo in dettaglio le intestazioni e il corpo dei messaggi. che chiude quando il trasferimento è completato (quindi deve essere aperta una nuova porta dati sul client ogni volta che comincia un nuovo trasferimento dati). cioè ad ogni connessione non ricorda cosa è avvenuto in precedenza. per ogni immagine viene ripetuto il procedimenti.65 connessione viene chiusa. Per la comunicazione tra client e server vengono usate due connessioni TCP: una connessione di controllo e una connessione di trasferimento dati. per mantenere informazioni ottenute nelle connessioni precedenti si possono usare i cookie (stringhe di testo memorizzate sul computer dell’utente). HTTP Il protocollo HTTP (Hyper Text Transfer Protocol) definisce il formato delle richieste del browser e delle risposte del server. però tutte le trasmissioni sono in chiaro e quindi nome utente e password possono essere facilmente intercettati. ogni interazione tra client e server consiste in una sola richiesta e una sola risposta. Il client stabilisce una connessione sulla porta 21 che rimane attiva per tutta la sessione FTP e che permette di inviare i comandi al server. . Dal lato server quando viene accettata una connessione TCP (da browser). aprendo una nuova connessione. File Transfer Protocol (FTP) Il protocollo FTP richiede che l’utente si colleghi con nome utente e password per avere accesso al server. per ogni richiesta di trasferimento dati il server apre una connessione sulla porta 20.