Strato di Rete e di Trasporto
Transcript
Strato di Rete e di Trasporto
Andrea Carniani WiLab at the University of Bologna Modello di riferimento Corso in Ingegneria Gestionale • • Telecomunicazioni T-1 AA 2009/10 Strato di Rete e di Trasporto Come è strutturata C t tt t una rete t di T Telecomunicazioni? l i i i? Come devono essere fatte le procedure e le regole che regolano una rete di TLC? Le attuali reti sono organizzate in modo da rispettare opportuni modelli di per l'interconnessione dei diversi sistemi in cui è strutturata riferimento p una rete Andrea Carniani WiLab at the University of Bologna • Modello di riferimento Open Systems Interconnection (OSI) proposto dalla dall‘ International Organization for Standardization (ISO) • M d ll di riferimento Modello if i t di Internet I t t (TCP/IP) 2 Telecomunicazioni T-1 Andrea Carniani WiLab at the University of Bologna Andrea Carniani Modello ISO-OSI WiLab at the University of Bologna Modello ISO-OSI Il modello di riferimento ISO-OSI è basato su Capisaldi p del modello ISO-OSI • Organizzazione in 7 strati (layers) identificati da un numero 1-7 Simmetria: 7 strati ha A e 7 strati ha B Struttura gerarchica: lo strato n (A) parla direttamente solo con gli strati n+1 (A) [da cui riceve] e n-1 (A) [a cui fornisce i dati] Modularità: anche se si sostituiscono i protocolli dello strato n (sia da A che da B) e non cambia nulla • Ci sono 7 strati nell’entità che invia il messaggio (A) e 7 nel destinatario (B) • Lo strato n di A, prende i dati dallo strato n+1 (A) e li invia (aggiungendo qualcosa) allo strato n-1(A) • Lo strato n di B prende i dati ricevuti dallo strato n-1 (B) e li invia (togliendo qualcosa) allo strato n+1 (B) Il modello ISO-OSI rende chiara la differenza tra • Ogni O strato n fornisce f un determinato servizio, la comunicazione tra pari-strato (strato n di A con n di B) avviene attraverso le informazioni in più (header) che lo strato n (A) ha aggiunto e che lo strato n (B) legge e toglie dal messaggio Servizio: ovvero che cosa fa lo strato considerato • Ogni strato fornisce un servizio diverso dall’altro Protocollo: ovvero il “linguaggio” con cui i pari strato comunicano tra loro Interfaccia: ovvero il modo con cui lo strato n+1 accede ai servizi dello strato n Telecomunicazioni T-1 3 Telecomunicazioni T-1 4 Andrea Carniani WiLab at the University of Bologna Terminale A Terminale B strato 7 strato 7 strato 6 strato 6 strato 5 strato 5 strato 4 strato 4 strato 3 Andrea Carniani Modello di riferimento Comunicazione virtuale tra pari strato (4-7) dei due terminali strato 2 WiLab at the University of Bologna I protocolli possono essere di due tipologie strato 3 strato 2 strato t t 1 strato t t 1 RETE Mezzo trasmissivo • Protocollo orientato alla connessione: la comunicazione con il livello dall’altra parte viene stabilita attraverso una procedura di scambio reciproco di informazioni (handshaking) (ad esempio A informa B che ha dati da inviare (handshaking). inviare, B risponde dicendo che è pronta a riceverli, A invia i dati, B conferma la ricezione dei dati) -Vantaggi: la comunicazione è più controllata (A sa se i dati sono arrivati a destinazione è possibile usare tecniche di ARQ per gestire eventuali perdite di dati) destinazione, -Svantaggi: richiede sempre uno scambio bi-direzionale tra A e B e può essere costoso se ci sono vincoli temporali stringenti • Protocollo non orientato alla connessione: la comunicazione con il livello dall’altra parte viene avviata senza verificare se i dati inviati verranno effettivamente ricevuti d B ((potrebbe da bb anche h essere iinattivo) i ) - Vantaggi: è molto semplice e veloce - Svantaggi: gg non g garantisce nessuna verifica dell’affidabilità dei dati inviati Mezzo trasmissivo 5 Telecomunicazioni T-1 Andrea Carniani WiLab at the University of Bologna Tipi di Protocolli Andrea Carniani Strato di Applicazione WiLab at the University of Bologna A li Applicazione i (strato ( t t 7): 7) (scopo: ( iinterfacciare t f i utente t t e macchina) hi ) Fornisce un insieme di protocolli direttamente collegati con le applicazioni: tale strato supporta tutte quelle applicazioni che hanno bisogno di inviare dati da un n terminale all’altro (o (ovvero ero hanno bisogno della rete) rete). Inoltre elabora i dati in accordo con le specifiche richieste dall’applicazione. 6 Telecomunicazioni T-1 Strati 6 e 5 Presentazione P t i ( t t 6) (scopo: (strato ( ttrasformare f i dati d ti forniti f iti dalle d ll applicazioni li i i iin un formato standardizzato e offrire servizi di comunicazione comuni, come la crittografia, la compressione del testo) – Lo strato si occupa di gestire la semantica e la sintassi delle informa informazioni ioni trasmesse Esempio: lo strato 6 si occupa di codificare i dati in uno standard concordato tra terminale A e B (ad esempio ASCII) Osservazioni • • • • L’applicazione non fa parte dello strato di applicazione (sta sopra) Esempi di applicazione: trasferimento file, invio posta elettronica, web browsing,… È errato identificare un'applicazione utente come parte dello strato di applicazione. Protocolli tipici di strato 7: HTTP (per web browsing), FTP (trasferimento file), POP (posta elettronica), SMTP (posta elettronica),…RTP (per invio dati in tempo reale),… Telecomunicazioni T-1 Sessione (strato 5) (scopo: controllare la comunicazione tra applicazioni. Stabilire, mantenere e terminare connessioni (sessioni) tra applicazioni cooperanti.) - consente la gestione del dialogo (mono o bidirezionale), la gestione dei token (ovvero chi deve comunicare e quando) o la sincronizzazione tra i flussi (ovvero inserisce dei punti di controllo nel flusso dati: in caso di errori nell'invio dei pacchetti, la comunicazione riprende dall'ultimo punto di controllo andato a buon fine.) 7 Telecomunicazioni T-1 8 Andrea Carniani WiLab at the University of Bologna Andrea Carniani Strato di trasporto WiLab at the University of Bologna Trasporto (strato 4) (scopo: permettere un trasferimento di dati trasparente ed affidabile (implementando anche un controllo degli errori e delle perdite) tra due terminali. Il compito primario è quello di effettuare la frammentazione dei dati provenienti dallo strato superiore in elementi più piccoli, detti 'segmenti' e trasmetterli in modo efficiente ed affidabile allo strato di trasporto del terminale B. Altre funzioni: ottimizzare l'uso delle risorse di rete e di prevenire fasi di congestione della rete. Lo strato di trasporto del terminale A, in base alle indicazioni ricevute dallo strato sovrastante, crea tante connessioni “virtuali” virtuali parallele con lo strato di trasporto del terminale B (utile se si stanno eseguendo contemporaneamente più applicazioni in parallelo o se una certa applicazione richiede la connessione con più terminali) È il primo strato (partendo dal basso) realmente end-to-end (E2E), cioe' da host sorgente a host destinatario. Il software dei protocolli dello strato di trasporto risiede quindi solo nei terminali (non c’è c è bisogno che risieda anche nei nodi della rete) E’ il primo strato (partendo dal basso) che permette di stabile una connessione “virtuale” tra uno strato del terminale A ed un pari strato del terminale B. Protocolli tipici di strato 4: TCP e UDP (standard de facto per internet) • • • • 9 Telecomunicazioni T-1 Andrea Carniani WiLab at the University of Bologna • • 10 Telecomunicazioni T-1 WiLab at the University of Bologna Strato fisico Fisico ((strato 1)) ((scopo: p trasmette un flusso di dati non strutturati attraverso un collegamento fisico, occupandosi della forma e del voltaggio del segnale) - • • • • Gestisce operazioni di accesso multiplo (quando più sorgenti dati devono condividere lo stesso mezzo fisico)) Esegue operazioni di codifica di canale (FEC o ARQ) Telecomunicazioni T-1 • Non è un protocollo end-to-end perché le decisioni vengono prese guardando quello che avviene tra nodo e nodo ((o tra terminale e nodo)) ma non tra terminale e terminale. Il software dei protocolli di strato di rete risiede quindi sia nei terminali che in tutti i nodi della rete Lo strato di rete può usare protocolli orientati alla connessione o non orientati alla connessione Protocollo tipico di strato 3: IP (standard de facto per le reti internet) Andrea Carniani Osservazioni • • Strato di collegamento Collegamento g (strato ( 2)) ((scopo: p p permettere il trasferimento affidabile di dati tra le diverse sezioni della rete.) Invia blocchi di dati con la necessaria sincronizzazione ed effettua un controllo degli errori lungo la tratta. Tutto ciò consente di far apparire (allo strato di rete) il mezzo fisico come una linea di trasmissione esente (possibilmente) da errori. Gestisce il controllo delle operazioni della sottorete di comunicazione. • Rete ((strato 3)) ((scopo: p rende g gli strati superiori p indipendenti p dai meccanismi e dalle tecnologie di trasmissione usate per la connessione. Gestisce il controllo delle operazioni della sottorete di comunicazione.) Una delle tipiche funzioni dello strato di rete è quella di cercare il percorso migliore per inviare i dati dal terminale A a quello B attraverso la rete (routing). Il livello di rete gestisce anche funzioni di tariffazione. Osservazioni Osservazioni • Strato di rete • 11 In questo strato si decidono: Le tensioni scelte per rappresentare i valori logici 0 e 1 La durata in microsecondi del segnale che identifica un bit L'eventuale trasmissione simultanea in due direzioni La forma e la meccanica dei connettori usati per collegare l'hardware al mezzo trasmissivo La modulazione utilizzata Telecomunicazioni T-1 12 Andrea Carniani WiLab at the University of Bologna ISO OSI Modello riferimento Internet (TCP/IP) Andrea Carniani Internet A li Applicazione i Presentazione ese ta o e • Il modello d ll ISO-OSI ISO OSI di ffatto tt non viene i implementato i l t t in i nessuna rete, t - Vantaggi: molto ben strutturato, chiara definizione di cosa fanno i servizi/protocolli/interfacce - Svantaggi: S antaggi è estremamente dettagliato (la ssua a descri descrizione ione è llunga nga centinaia di pagine), è difficile realizzare protocolli efficaci (tendono ad essere lenti). Supporta solo protocolli orientati alla connessione nel livello di trasporto. • Modello Internet (o TCP/IP) è diventato standard de facto - Vantaggi: protocolli estremamente efficaci efficaci, usato da tutti tutti. Il livello di trasporto supporta sia protocolli orientati alla connessione (TCP) che non (UDP) gg descrizione del modello p poco chiara ((sono stati creati p prima i - Svantaggi: protocolli e poi il modello). Modello poco generale. Il livello host-to-network è solo un interfaccia tra strato di rete e strato di collegamento. Applicazione Sessione Trasporto Trasporto Rete Internet Collegamento Fi i Fisico Telecomunicazioni T-1 Differenze tra i due modelli di riferimento WiLab at the University of Bologna Host to network 13 14 Telecomunicazioni T-1 Andrea Carniani Andrea Carniani WiLab at the University of Bologna WiLab at the University of Bologna Funzionalità dello strato di rete Lo strato di Rete è implementato nei nodi (router) e nei terminali Strato di Rete Telecomunicazioni T-1 Lo strato di Rete fornisce i seguenti servizi: 15 - Determinazione del percorso tra terminale A e terminale B (routing) - Commutazione: quando un datagramma arriva ad un nodo questi deve inviarlo al collegamento (link) appropriato di uscita - Commutazione di circuito - Commutazione di pacchetto (datagram/circuito virtuale) Telecomunicazioni T-1 16 Andrea Carniani WiLab at the University of Bologna Andrea Carniani Funzione di routing WiLab at the University of Bologna Routing: scelta del percorso su cui inviare i datagrammi: i router formano una struttura interconnessa e cooperante; i datagrammi vengono trasferiti dall’uno all’altro finché raggiungono il router in grado di consegnarli direttamente al destinatario La funzione di instradamento (routing) viene eseguita dai router tramite l’utilizzo di tabelle di routing g nodo - presenti in ogni - possono essere possibili scelte diverse con costi diversi È lla più iù antica ti fforma di commutazione t i A Next hop 10 171.69.245.10 Nasce per applicazioni in cui la sorgente è attiva in modo continuo (es. la voce). a b c d e B Esempio di tabella di routing Network number Commutazione di circuito Se A deve comunicare con B, la rete identifica un percorso tra A e B (attraverso i vari nodi) e mantiene il percorso attivo e riservato ad A e B p per tutto il tempo p in cui i due terminali sono in comunicazione • La connessione tra A e B viene mantenuta ed è fissa (sono sempre coinvolti gli stessi nodi) • Non ci sono ritardi dovuti al traffico nella rete perché adesso i collegamenti a, b, c, d, e sono riservati alla comunicazione tra A e B • Ideale per servizi di telefonia (analogica o digitale) Il numero di rete 10 è raggiungibile utilizzando il router di indirizzo 171.69.245.10 • Il servizio voce del GSM (ma anche UMTS) funziona in questo modo 17 Telecomunicazioni T-1 Andrea Carniani Commutazione di pacchetto WiLab at the University of Bologna • Nelle reti che trasmettono dati, la sorgente emette informazione in modo molto disomogeneo (invia un gruppo di dati e poi rimane inattivo per diverso tempo) tempo). Il modello di commutazione di circuito risulterebbe molto inefficiente A • Gli eventuali algoritmi di creazione del percorso vengono invocati una sola volta g ((es. il router R3 è pieno), ) i dati si • E’ un metodo statico per cui se si verifica una congestione accodano e non vengono smaltiti verso altri percorsi • CV è in genere orientato alla connessione • Sistema più efficiente: le risorse (i router ed i link) vengono usati solo quando servono R2 Il percorso tra A e B avviene sempre attraverso i router R1-4. • Rischio di attese lunghe (ritardi non noti a priori) OSS: le reti ATM (Asynchronous Transfer Mode)) funzionano a CV B D Telecomunicazioni T-1 Commutazione di pacchetto WiLab at the University of Bologna • Non ci sono problemi nell’ordine di arrivo dei pacchetti (saranno sempre in ordine dato che fanno lo stesso percorso I router R1 e R2 vengono usati sia per i pacchetti di A che per i pacchetti di B R1 Andrea Carniani Circuito virtuale (CV): una volta creato il percorso tra A e B (quali router attraversare) il percorso rimane inalterato tra un fase di inattività e l’altra attraversare), l altra. Commutazione di Pacchetto: il percorso tra A e B viene creato di volta in volta che A ha dati da inviare a B B, i link tra A e B non sono riservati ai due terminali e quindi può capitare che un blocco di dati inviato da A (pacchetto) arrivi ad un nodo e venga accodato perché ci sono già altri blocchi che devono essere inviati. La commutazione di pacchetto ha senso quando i p q pacchetti scambiati hanno dimensioni p piccole C 18 Telecomunicazioni T-1 19 Telecomunicazioni T-1 C R1 A R2 R3 R4 D B 20 Andrea Carniani Commutazione di pacchetto WiLab at the University of Bologna Datagram: ogni volta che A ha dati da inviare a B, viene creato un percorso nuovo tra A e B ( possono cambiare i router intermedi) • Gli eventuali algoritmi di creazione del percorso vengono invocati tutte le volte che A ha dati da inviare Il percorso tra A e B avviene una volta tramite i router R1-4 un’altra volta tramite quelli R1,R5,R4 OSS: il livello di rete di internet è a commutazione di pacchetto datagram Distinzione tra interfacce e terminali: il terminale viene connesso alla rete tramite uno o più collegamenti fisici (es. un portatile può essere collegato sia con un cavo di rete che attraverso il mezzo wireless). wireless) Il confine tra il terminale e il collegamento fisico è detto Interfaccia. Un terminale può quindi avere più interfacce. R1 R5 A R2 L’indirizzo IP è l’identificativo di una unica interfaccia (un terminale può quindi avere più indirizzi IP) R3 R4 B D 21 Telecomunicazioni T-1 Andrea Carniani Protocollo IP Cosa rappresenta un indirizzo IP? • E’’ un metodo dinamico per cui se si verifica f una congestione ((es. il router R3 è pieno), ) i pacchetti successivi possono seguire altre strade. C WiLab at the University of Bologna Il protocollo IP (Internet Protocol) è il protocollo dello strato di rete delle reti che appartengono a Internet (le reti ATM possono essere connesse a Internet anche se protocollo diverso, è necessario usare dei g gateway yp per tradurre i vari usano un p protocolli) Ci sono problemi nell’ordine di arrivo dei pacchetti (ogni pacchetto può seguire strade diverse e quindi un pacchetto partito dopo può arrivare prima) Necessità di risincronizzare i pacchetti g in g genere non orientato • Datagram alla connessione Andrea Carniani Assegnamento indirizzi IP WiLab at the University of Bologna 22 Telecomunicazioni T-1 Andrea Carniani Assegnamento indirizzi IP WiLab at the University of Bologna Come si ottiene un indirizzo di rete? Come fa un amministratore di rete ad assegnare g un indirizzo IP ad una interfaccia? L’amministratore della rete può contattare un ISP (Internet Service Provider) che può fornirgli un gruppo di indirizzi - Assegnamento manuale L’amministratore della rete contatta l’ICANN (Internet Corporation for Assigned Names and Numbers) nell’ambito di una specifica area - Assegnamento dinamico (Dynamic Host Configuration Protocol DHCP): E E’ un protocollo che permette di assegnare dinamicamente un IP ad una interfaccia Vantaggi gg DHCP ICANN svolge le seguenti funzioni •Se ho una rete a 256 indirizzi composta da 150 computer fissi (desktop) e 150 portatili (laptop), non potrei assegnare a tutte le macchine un indirizzo (ce ne sono troppe) . Inoltre i portatili non sono sempre connessi alla rete (è probabile che appartengano ai 150 proprietari dei desktop). E’ quindi conveniente assegnare ad ogni portatile un indirizzo dinamico (con il DHCP), ho problemi solo se il numero di laptop contemporaneamente attivi supera 106! - Assegna gli indirizzi IP (in particolare i bit che identificano una rete) - Gestisce i tool server DNS - Assegna nomi di dominio e risolve le dispute tra nomi •Se S arriva i un ospite it coll il suo portatile t til non h ha senso assegnarglili un iindirizzo di i fifisso, conviene i usare DHCP (ogni volta che si ricollega gliene viene assegnato uno diverso) - Alloca indirizzi a registri regionali di internet (ARIN, RIPE, APNIC,…) che a loro volta gestiscono e allocano gli indirizzi all’interno della loro regione Telecomunicazioni T-1 23 Telecomunicazioni T-1 24 Andrea Carniani Andrea Carniani Protocollo IPv4 WiLab at the University of Bologna Protocollo IPv4 WiLab at the University of Bologna Indirizzamento Universale per classi Un indirizzo IP è composto da 32 bit divisi in gruppi di 8 bit bit. I primi N bit indicano la rete di appartenenza (es. la rete di UNIBO), gli altri (32-N) servono per indirizzare il terminale attraverso la rete si possono indirizzare fino a circa 4 miliardi di interfacce (232) L’associazione tra indirizzo fisico (4-pla di numeri) e indirizzo simbolico (es. www.unibo.it) è fatta tramite il protocollo DNS (strato Applicazione) Non tutti gli indirizzi possono essere assegnati alle reti D l 192.0.0.0 Dal 192 0 0 0 all 239.255.255.255 239 255 255 255 assegnatii per applicazioni li i i multicast lti t (classe ( l D) Costi 32 bit Dal 240.0.0.0 al 255.255.255.254 riservati per usi futuri (classe E) crescenti Classe A: N=4=128 reti Classe B: N=8=16000 reti Classe C: 255.255.255.255 è indirizzo di broadcast (va a tutte le interfacce della propria rete locale) circa 16 milioni di indirizzi Classe A + classe B + classe C + classe D + classe E ≈ 4 · 109 circa 65000 indirizzi N=24=2 milioni di reti Problema principale riguarda la scarsità à di reti di classe B che sono quelle più ù idonee a soddisfare le richieste di indirizzi di una rete aziendale circa 254 indirizzi Best effort IPv4 fa il meglio che può sulla trasmissione dei dati, non garantisce nulla sulla qualità del servizio 25 Telecomunicazioni T-1 Andrea Carniani WiLab at the University of Bologna 16 bit vers LI 16 bit T serv. Identif T vita Formato datagram IPv4 Lungh datagram Flag PSS Offset framm. Checksum intest opzioni Data Andrea Carniani WiLab at the University of Bologna Formato datagram IPv4 Tempo di vita (8 bit): serve per evitare che i datagram viaggino per sempre nella rete (il campo viene decrementato di 1 ogni volta che attraversa un router). Se arriva a 0 viene scaricato dal router Vers (4 bit): versione del protocollo IP usato g intestazione ((4 bit): ) LI: lungh espresso in multipli di 32 bit Indirizzo IP sorgente Indirizzo IP dest. 26 Telecomunicazioni T-1 Tipo servizio [Type of Service] (8 bit): specifica i requisiti del datagram (es. basso ritardo, alta affidabilità,..) [agisce sulle politiche del router di gestione datagram]] Protocollo strato superiore [PSS} (8 bit): usato quando il datagram arriva al terminale destinazione. Indica qualche protocollo di strato 4 viene usato [TCP=6, UDP=17). Il numero di protocollo ha un significato simile al numero di socket nell’intestazione del segmento Checksum intestazione (16 bit): si fa solo sull’intestazione sull intestazione e aiuta i router a capire se il datagram è danneggiato (se c’è errore il router scarica il datagram) Indirizzo IP sorgente (32 bit) e destinazione (32 bit) Opzioni (32 bit): campo previsto nell’IP V4 (tolto nell’IPV6) Lungh datagram [16 bit]: lunghezza totale in byte del datagram IP [header [header+dati] dati] (max 65536 byte), lungh. tipica 1500 (576) byte Dati: campo dati OSS: I campi identificativo (16 bit), flag (3 bit) e offset di frammento (13 bit) servono per le procedure di frammentazione/riassemblaggio dei datagram Senza il campo opzioni (poco usato): l’header è lungo 20 byte Telecomunicazioni T-1 27 Telecomunicazioni T-1 28 Andrea Carniani WiLab at the University of Bologna Problemi Protocollo IPv4 Spazio di indirizzamento in esaurimento a causa del boom di internet: IPv4 è un protocollo NON orientato alla connessione: Indirizzi insufficienti data la numerosità della popolazione, il trend di crescita e l’allocazione per classi che porta a IP inutilizzati - Non assegna nessun numero ai pacchetti; Nascono problemi sui router che devono contenere tante regole di instradamento quante sono le reti assegnate all’ azienda; Si cerca con stratagemmi ad hoc di ovviare a questi p q problemi modificando le tabelle di instradamento; Non sempre sono soluzioni efficienti … - Non assegna i datagram ad alcun flusso o ad alcuna serie di pacchetti; Si faticano a correggere gli errori, a conoscere i tempi di consegna … il protocollo IPv4 fa del suo meglio per consegnare i dati e non considera la qualità di servizio richiesta (Qos: Quality of Service) Requisiti Protocollo IPv6 - Spazio di indirizzamento sufficientemente grande (che possa sostenere la richiesta di indirizzi dovuti alla crescita demografica, g , allo sviluppo pp della domotica…)) - Indirizzi Multi/Any- cast (novità Any-cast dove a rispondere è il più vicino al mittente) - Migliorare la sicurezza (introduzione del Source Routing che permette di determinare a livello di stazione il percorso che il pacchetto andrà a fare) - Migliorare l’efficienza del routing - Soddisfare le diverse richieste sulla Quality of Service (QoS) - Introdurre il concetto di flusso (associando un identificatore di flusso a una serie di pacchetti correlati, l ti non per correggere errori,i ma per associare i a quell flflusso le l QoS Q S richieste) i hi t ) - Supporto alla mobilità (si prevede di assegnare ad ogni utente due domini, uno fisso e uno dinamico) 1) IPv6 deve risolvere il problema degli indirizzi 29 Telecomunicazioni T-1 WiLab at the University of Bologna WiLab at the University of Bologna - Autoconfigurazione del DHCPv6 (servizio analogo al DHCP ma che ha la possibilità di interagire con il DNS, in modo da assegnare i nomi agli host, garantendo così una più facile riconfigurazione degli indirizzi ai gestori della rete) 2) IPv4 non adatto per le nuove applicazioni li i i multimediali l i di li Andrea Carniani Andrea Carniani 30 Telecomunicazioni T-1 Andrea Carniani Protocollo IPv6 WiLab at the University of Bologna Indirizzamento Formato datagram IPv6 Version (4 bit): contiene il numero “6” e indica la versione del protocollo Base Header - Viene superato il concetto di classe, classe quindi non si ha più un assegnamento gerarchico - L’indirizzo IPv6 è composto da 128 bit (quindi si possono indirizzare 2128 interfacce) e si introduce la distinzione fra Internet e Intranet: Version Priority Flow Label Payload Length Next Header Source Address • assegnamento di un indirizzo Globale per la rete Internet (come in IPv4) • assegnamento di un indirizzo Locale per le reti Intranet Modifica dell’intestazione (Header) Destination Adress - In IPv6 misura 40 Byte (di cui 32 per gli indirizzi + 6 per i campi addizionali) contro i 24 Byte dell’ IPv4 (con 8 Byte per gli indirizzamenti e 16 per i campi addizionali); - Per le ffunzioni n ioni aggi aggiuntive nti e dell’ IP IPv6 6 si è definito un n Extension E tension Header presente solamente se la funzionalità è effettivamente richiesta: questo porta a trattare velocemente tutti quei dati senza richieste particolari (che sono la maggioranza) evitando di complicare eccessivamente la vita dei routers nel caso abbiano a che fare con informazioni prive di estensioni; Telecomunicazioni T-1 D t Data 31 Telecomunicazioni T-1 Hop Limit Priority y ((4 bit)) : consente al router di fare considerazioni sulle priorità dei diversi pacchetti: - I primi otto valori assumibili (0-7) per il controllo di sono utilizzati p congestione, (esempio: applicativi TCP con controlli di congestione su finestre di dimensioni variabili) - I secondi otto valori riguardano i controlli che il router deve eseguire su pacchetti senza il controllo di congestione (esempio nel real time, dove a seconda del numero decido: valore=8 pacchetti da scartare per primi nel caso di problemi alla rete; valore=15 pacchetti da scartare per ultimi 32 Andrea Carniani WiLab at the University of Bologna Andrea Carniani Formato datagram IPv6 WiLab at the University of Bologna Extension Header IPv6 Nell’ IPv4 si avevano campi opzionali per esplicare particolari caratteristiche che riguardavano i pacchetti e il loro routing: ciò comportava lavori onerosi per i routers che dovevano verificare per ognii pacchetto h tt la l presenza di suddette dd tt informazioni; i f i i Flow Label (24 bit): utilizzato per il controllo di flusso, assegna un numero univoco per i pacchetti dello stesso flusso, in modo che i router trattino allo stesso modo (priorità …) pacchetti dello stesso flusso; Nell’ IPv6 si è superato il problema inserendo solo nei pacchetti che necessitavano di trattamenti particolari l’ extension header: si possono avere più extension header per ogni pacchetto (dipende da quante caratteristiche si devono specificare), specificare) i quali saranno processati secondo l’ ordine in cui sono introdotti (e in generale l’ ordine non è casuale ma stabilito dallo RFC) y Length g ((16 bit): ) utilizzato p per esprimere p la lunghezza g del campo p dati che Payload segue l’ header: al max si può avere un campo dati di 64 Kbyte (per campi dati maggiori si usa l’ extension header) Next Header (8 bit): si utilizza questo campo per specificare il protocollo utilizzato nello strato di trasporto, solitamente TCP e UDP (è una generalizzazione del campo Protocol di IPv4) 1. Header IPv6;; 2. Hop-by-Hop Option Header; Tipi di Extension header 3. Destination Option Header (opzioni nodo destinatario e i nodi nel Router Header); 4. Routing Header (type 0); 5. Fragment Header; Source Adress (128 bit): contiene ll’ indirizzo IPv6 del nodo che ha generato il pacchetto 6 6. Authentication Header; 7. Encapsulating Security Payload Header; ) contiene l’ indirizzo IPv6 del nodo ricevente Destination Adress ((128 bit): 8. Destination Option Header (opzioni solo nodo destinatario); 9. Upper-Layer Header; Hop Limit: è un numero progressivo che si decrementa per ogni nodo che il pacchetto attraversa, arrivato a zero il pacchetto viene scartato (utilizzato per evitare i loop) 33 Telecomunicazioni T-1 Esempio Extension Header: Routing Header Andrea Carniani WiLab at the University of Bologna Next Header 8bit Ndr Ext Len 8bit Reser ed 8 bit Reserved Routing Type 8 bit Segments Left Strict/Loose Bit Map 24 bit Adress 1 128 bit ……… Simile a source router di IPv4: specifica una serie di nodi che il pacchetto deve attraversare per raggiungere la destinazione; può obbligarlo a passare per i nodi (Strict) o no (Loose) Telecomunicazioni T-1 34 Andrea Carniani WiLab at the University of Bologna Strato di Trasporto p Routing Type: poiché si possono avere diverse tipologie di routing (quello descritto è il tipo zero) si è deciso di assegnare un campo discriminatorio Segments Left: indica il numero di nodi che devo ancora visitare, cioè gli indirizzi non ancora utilizzati (è un puntatore al prossimo indirizzo da visitare): valore massimo 23 Reserved: per usi futuri, uguale a zero in trasmissione, ignorato in ricezione Strict/Loose Bit Map: è una maschera contenente un bit per ogni indirizzo: se uguale a zero tratta l’ indirizzo come Loose, se uguale a uno considera l’indirizzo come Strict Adress: sono gli indirizzi ne ho al max 23 e mi indicano gli indirizzi da visitare lungo il cammino Telecomunicazioni T-1 35 Telecomunicazioni T-1 36 Andrea Carniani Strato di trasporto WiLab at the University of Bologna Il compito principale dello strato di trasporto è quello di creare una connessione “l i ” ttra i processii applicativi “logica” li ti i che h vengono eseguiti iti sull tterminale i l A e quelli lli che h vengono eseguiti sul terminale B, permettendo un trasferimento dati trasparente ed affidabile tra i due terminali. Per fare ciò si effettua una frammentazione dei dati provenienti dallo strato superiore in elementi più piccoli (detti segmenti), segmenti) i quali devono essere trasmessi in modo efficiente ed affidabile (implementando un controllo degli errori e delle perdite) allo strato di trasporto del terminale destinatario. Lo strato di trasporto offre i seguenti servizi allo strato di applicazione (se si utilizza il modello di riferimento di Internet) - multiplexing/demultiplexing Andrea Carniani Il protocollo UDP (user datagram protocol) è il più semplice dei due protocolli dello strato di trasporto di Intenet. Intenet OSS: non è orientato alla connessione (no handshake) [no canale di ritorno tra B e A] D ll quattro ffunzioni Delle i ib base implementa i l solo l multiplexing/demultiplexing l i l i /d li l i OSS: esiste il checksum ma poiché non c’è canale di ritorno serve solo a B per verificare se i dati sono affidabili Struttura segmento UDP 16 bit - trasferimento affidabile dei dati UDP WiLab at the University of Bologna 16 bit N porta sorgente N porta dest. Lungh. checksum Lungh: lunghezza del segmento UDP (in byte) L’intestazione (header) di un segmento UDP è 8 byte) - controllo di flusso Dati per livello di applicazione - controllo di congestione 37 Telecomunicazioni T-1 Andrea Carniani TCP WiLab at the University of Bologna Il protocollo TPC (Transport Control Protocol) è più complesso del UDP ma p le q quattro funzioni base implementa Andrea Carniani WiLab at the University of Bologna TCP BUFFER di spedizione: una volta stabilita la connessione tra A e B B, il TCP è pronto per inviare i dati a B OSS: è orientato alla connessione (handshake) - il processo client invia i dati attraverso la socket, una volta che il TCP ha letto i dati dalla socket li mette in un buffer chiamato buffer di spedizione Richiesta di connessione Richiesta accettata A 38 Telecomunicazioni T-1 Nei primi due scambi non ci sono dati inviati, nel terzo potrei già farlo - Il buffer è una memoria organizzata come FIFO (first in first out) OSS: processo lungo e costoso - Il buffer ha ovviamente una dimensione finita, se l’applicazione scarica troppi dati, il buffer si congestiona Conferma ricezione ack Maximum Segment Size (MSS): è la quantità massima di dati che possono essere prelevata dal buffer e incapsulata in un segmento B OSS la OSS: l dimensione di i massima i del d l segmento t è MSS MSS+lunghezza-header l h h d Il TCP nasce per comunicazioni tra due utenti, cosa succede se voglio fare multicast? OSS: dimensioni tipiche di MSS 1500 byte, 536 byte, 512 byte Il multicast con TCP è impossibile impossibile, per queste applicazioni devo usare UDP (non c’è cè invio affidabile dei dati) Telecomunicazioni T-1 39 Telecomunicazioni T-1 40 Andrea Carniani WiLab at the University of Bologna Struttura Segmento TCP N porta sorgente 16 bit checksum Lungh. Intestazione (LI): [4 bit] (espressa in blocchi di 32 bit), in genere il campo vale 5 L’intestazione (header) di un segmento TCP è in genere di 20 byte (UDP ne ha solo 8) Campi: 2 bit non sono usati altri 6 contengono campi singoli ad 1 bit N riscontro campi Struttura Segmento TCP N porta dest. N sequenza LI WiLab at the University of Bologna Finestra di ricezione: indica la dimensione (16 bit) della finestra di ricezione (campo usato per il controllo di flusso) Struttura segmento TCP 16 bit Andrea Carniani Fin. Ricezione (RW) Numero di sequenza: Il TCP spezza i messaggi che riceve dallo strato di applicazione e li numera (per byte): in particolare, il numero di sequenza è l’id tifi ti d l’identificativo dell primo i b byte t di d dati ti contenuto t t nell messaggio i Puntatore: opzione che permette di puntare a dati ritenuti più urgenti (non usato) 0 1 Puntatore opzioni 354 124 Segmento TCP (1): numero di sequenza: 0 Dati per strato di applicazione 467 Il Messaggio è lungo 468 byte Segmento TCP (2): numero di sequenza: 124 Segmento TCP (3): numero di sequenza: 354 Il num di sequenza serve per l’ARQ 41 Telecomunicazioni T-1 Andrea Carniani WiLab at the University of Bologna Struttura Segmento TCP Numero di riscontro: il numero di riscontro che A inserisce nel segmento corrisponde al numero di sequenza del prossimo segmento che A si aspetta di ricevere da B Andrea Carniani Multiplexing/Demultiplexing WiLab at the University of Bologna Terminale B Cosa serve? Strato di applicazione IL TCP è orientato alla comunicazione e quindi si crea una comunicazione bidirezionale tra A e B (si dice che il TCP è full-duplex). La bidirezionalità viene usata per un controllo incrociato dei segmenti scambiati. processo socket p se A riceve un segmento g con numero di sequenza q 0 e campo p dati lungo g 400 byte y è Esempio: chiaro che il prossimo segmento che si aspetta di ricevere da B deve avere numero di sequenza 400. Per tale motivo mette nel numero di riscontro il numero 400. processo socket processo socket Strato di trasporto Demultiplexing (se si prelevano dati dallo strato di rete e si consegnano ai processi) Multiplexing (se si prelevano i dati dai processi e si consegnano allo strato di rete Scarto i segmenti che sono fuori ordine: E’ molto semplice ma spreco delle risorse perché B deve trasmettere due volte i byte da 640-755) b) Come fa lo strato di trasporto ad associare i dati che riceve dallo strato di rete con i diversi processi che si stanno eseguendo? (se ad esempio sono in corso due sessioni web e un trasferimento file) L’operazione che consente di fare questo prende il nome di Problema dell’ordine dell ordine dei segmenti: può capitare che A riceva dei segmenti da B fuori ordine (prima ricevo il segmento con i byte 0-399 poi quello con i byte 640-755 ed infine quello con 400-639). Le specifiche non dicono nulla al riguardo e quindi le scelte sono lasciate a chi scrive il protocollo, possibili scelte sono: a) 42 Telecomunicazioni T-1 D ti ricevuti Dati i ti dallo d ll strato t t di rete t Li conservo e aspetto che arrivino quelli intermedi: Più complesso (devo avere un buffer per memorizzare i segmenti) Telecomunicazioni T-1 43 Telecomunicazioni T-1 44 Andrea Carniani Multiplexing/Demultiplexing WiLab at the University of Bologna Andrea Carniani Multiplexing/Demultiplexing WiLab at the University of Bologna Il numero di ogni porta è definito mediante un numero compreso tra 0 e 65535 (16 bit) Come fa lo strato di trasporto a realizzare il multiplexing/demultiplexing? I primi 1024 (0-1023) sono utilizzati per applicazioni note, quelli da 1024-65535 sono liberi Lo fa usando il socket, ovvero l’identificativo della porta che il processo usa per inviare dati nella g destinatario+PORTA sorgente+PORTA g destinatario). ) rete ((IP sorgente+IP Come funziona l’utilizzo dei numeri di porta? Esempio: Multiplexing: Lo strato di trasporto riceve i dati dallo strato di applicazione attraverso le varie socket e in ogni segmento aggiunge nell’header l’indicazione della socket di origine. Un segmento non può contenere dati provenienti da due socket diverse. diverse Il segmento viene inviato allo strato di rete che lo trasforma in uno o più datagram. Supponiamo che esista l’applicazione “gamma” (la cui porta di riferimento è la 46428) e che il terminale A (con indirizzo aaa) voglia creare una connessione con il terminale B (con indirizzo bbb) per inviare dei dati. Demultiplexing: Lo strato di trasporto, una volta ricevuto il segmento dallo strato di rete, va a l leggere l’h l’header d dello d ll strato t t di trasporto t t (all’interno ( ll’i t d dell quale l sii ttrova un campo che h id identifica tifi il socket di destinazione) e lo consegna al processo destinatario. Lo strato di applicazione di A (client) invia i dati (ci vuole anche l’indirizzo) allo strato di trasporto attraverso la SAP (Service Access Point: punto di accesso al servizio) Lo strato di trasporto di A crea una nuova socket per gestire le comunicazioni con l’applicazione g ((il numero della socket viene scelto dallo strato di trasporto p ((in g genere aleatorio), ), ad “gamma” esempio 19157) p deve q quindi conoscere sia il numero della p porta ((socket)) relativa al Lo strato di trasporto processo del terminale A (che sta generando i dati) sia quello della porta del processo del terminale B (che li deve ricevere). Nell’header saranno quindi presenti un Lo strato di trasporto di A mette nel proprio header la porta sorgente (19157) e la porta destinazione (46428) Campo identificativo di porta sorgente e identificativo di porta destinazione 45 Telecomunicazioni T-1 Andrea Carniani Multiplexing/Demultiplexing WiLab at the University of Bologna - Il segmento arriva allo strato di trasporto di B che legge l’header e capisce che il segmento va inviato alla socket 46428 relativa all’applicazione all applicazione “gamma gamma Se ‘applicazione applicazione “gamma” gamma che è in esecuzione su B vuole inviare dei dati al terminale A A, usa la porta sorgente di A (19152) come nuova porta destinazione, e mette 46428 come porta sorgente (inversione dei numeri di porta) socket Telecomunicazioni T-1 Porta destin. 19152 46428 Porta sorgente Porta destin. 46428 19152 Multiplexing/Demultiplexing WiLab at the University of Bologna Nei protocolli orientati alla connessione (es. TCP) questo non avviene. In questo caso ogni socket viene identificato da una 4-pla di numeri (indirizzo d ti destinazione i e sorgente, t porta t destinazione d ti i e sorgente). t ) processo Porta sorgente Andrea Carniani Se il protocollo non è orientato alla connessione, connessione segmenti che sono inviati da terminali diversi ma che hanno la stessa porta destinazione (es. 46428) (e ovviamente lo stesso indirizzo destinazione) arrivano sempre alla stessa socket del terminale B. A cosa serve il numero di porta sorgente? processo 46 Telecomunicazioni T-1 Il livello di trasporto di B usa la 4-pla per de-multiplare il dato alla giusta socket. socket Se due segmenti hanno lo stesso indirizzo destinazione, la stessa porta destinazione, ma indirizzi sorgente diversi (possono anche avere un numero di porta sorgente uguale) verranno inviati a due diverse socket di B. OSS: Schema semplice che h vale l per protocolli t lli di livello di trasporto non orientati alla connessione (es. UDP) 47 Telecomunicazioni T-1 48 Andrea Carniani Andrea Carniani Trasporto affidabile dei dati WiLab at the University of Bologna Trasporto affidabile dei dati WiLab at the University of Bologna Come fa lo strato di trasporto a realizzare un servizio affidabile dei dati? Lo strato di trasporto può garantire il trasporto affidabile dei dati dal terminale A a B. B OSS: In internet TCP lo fa, UDP non lo fa. Lo fa attraverso il meccanismo di ARQ (Automatic Repeat Request) (è necessario un protocollo orientato alla connessione) P Perché hé sii fa f allo ll strato t t di trasporto t t e non allo ll strato t t applicativo? li ti ? Il meccanismo di ARQ si compone di tre meccanismi Si potrebbe anche fare allo strato applicativo (alcune applicazioni lo fanno) ma ha un paio di svantaggi: - rivelazione di eventuali errori in ricezione - notifica dell’eventuale presenza di errori al trasmettitore - è oneroso (chi crea un’applicazione nuova deve di volta in volta implementarlo) - ritrasmissione - rallenta l’applicazione Sono possibili diversi meccanismi di ARQ Perchè non si fa allo strato di rete? - Stop and wait Anche qui in linea di principio si potrebbe fare la verifica di affidabilità in ogni tratta, il protocollo di rete di internet non lo fa perché lo fa già il protocollo di trasporto - Stop and wait pipeline -… 49 Telecomunicazioni T-1 Andrea Carniani Trasporto affidabile dei dati WiLab at the University of Bologna Stop and wait • A invia il primo segmento • aspetta la conferma (ACK) da parte di B, • se non arriva nulla entro un certo intervallo di tempo (tempo di attesa) oppure giunge una notifica di errore (tramite ACK duplicato), ritrasmette il segmento B Dato 1 A 50 Telecomunicazioni T-1 Trasporto affidabile dei dati WiLab at the University of Bologna p and wait Stop Andrea Carniani Meccanismo non molto efficiente ma estremamente semplice Il meccanismo implementato dal TPC è più complicato Cosa succede se il messaggio di ACK è difettoso? A non è in grado di capire se l’ultimo segmento è stato ricevuto correttamente oppure no no. In genere se A non riceve niente o riceve qualcosa di difettoso, A ritrasmette l’ultimo segmento inviato Dato 1 A ack1 Dato 2 B ack1 Tempo di attesa Tempo di attesa ACK duplicati Dato 1 ack1 Dato 2 Telecomunicazioni T-1 51 Telecomunicazioni T-1 52 Trasporto affidabile dei dati WiLab at the University of Bologna Stop p and wait p pipeline p Andrea Carniani Trasporto affidabile dei dati WiLab at the University of Bologna Checksum Andrea Carniani Stop and wait pipeline Come faccio ad accorgermi che un dato contiene degli errori? A invia segmenti senza aspettare l’ACK I protocolli TCP e UDP contengono nell’header un campo chiamato checksum. Ogni segmento viene suddiviso in parole di 16 bit Se riceve un ACK duplicato oppure non riceve nulla dopo un tempo di attesa, invia tutti i segmenti che non hanno ricevuto un ACK. A B Dato 1 Dato 2 Dato 3 Dato 4 Tempo attesa ack1 Dato 2 Dato 3 - le parole vengono “sommate” (in senso logico, exclusive OR) Ora B riceve due copie dei dati 2,3 e4 4. Come fa ad accorgersi che sono copie? - si fa il complemento a 1 della somma di tutte le parole di 16 bit che costituiscono il segmento A inserisce nell’header del segmento uno 0 (se è la prima volta che lo trasmette) oppure 1 (se è una ritrasmissione) Esempio: il segmento è composto da tre parole - al segmento di aggiunge il risultato del checksum Dato 4 Nel meccanismo di stop and wait basta un bit, per altri meccanismi di ARQ possono essere necessari più bit Andrea Carniani WiLab at the University of Bologna Somma: 1100101011001010 0101010101010101 Compl 1 (checksum): 0011010100110101 Compl. 1011101110111011 1000100010001000 53 Telecomunicazioni T-1 0110011001100110 Controllo di flusso Al terminale B, si fa la “somma” di tutti i campi (compreso il checksum): se non risulta 1111111111111111 allora si è verificato ifi t un errore 54 Telecomunicazioni T-1 Andrea Carniani WiLab at the University of Bologna Controllo di congestione Cosa serve? Cosa serve? Supponiamo che A invii dei dati a B e che i dati che arrivano allo strato di trasporto di B vengono memorizzati in un buffer (buffer di ricezione) in attesa che lo strato di applicazione li legga (tramite la solita socket). Mentre il controllo di flusso serve per garantire che i dati che A invia a B non vadano persi, il controllo di congestione non ha un impatto diretto sul collegamento tra A a B, ma serve per preservare la rete da possibili congestioni. Cosa succede se lo strato di applicazione non li legge ed i dati continuano ad arrivare? Il meccanismo della ritrasmissione (ARQ), da un lato rende il trasferimento dei dati affidabile, dall’altro introduce nuovo traffico della rete. Se la rete è già congestionata, i segmenti non arrivano a destinazione (o arrivano in ritardo oltre dal tempo di attesa) e quindi si scatenano altre ritrasmissioni che aumentano la congestione della rete (effetto a valanga). La dimensione del buffer è finita e quindi c’è il rischio che i dati non possano essere inseriti nel buffer ff ((i dati vengono persi)) Per risolvere questo problema, il TCP controlla la “velocità” con cui A invia dati a B (e viceversa) ) La finestra contiene (grossomodo) (g ) attraverso la finestra di ricezione ((receive window). l’indicazione di quanto spazio rimane nel buffer di ricezione. Al contrario se la rete fosse sgombra, lo strato di trasporto dovrebbe aumentare la velocità di trasmissione dei dati da A a B. Quest’indicazione viene inviata nel segmento di risposta che B invia ad A. Quando lo strato di trasporto di A riceve il segmento da B guarda anche a quanto ammonta la finestra di ricezione e decide se inviare il dato o aspettare. OSS: UDP non fa controllo di flusso per cui se l’applicazione non legge in fretta i dati dal buffer di ricezione, i i id dati ti possono andare d persii Telecomunicazioni T-1 55 Per fare questo, il TCP utilizza un parametro chiamato finestra di congestione (congestion window CW) Telecomunicazioni T-1 56 Andrea Carniani WiLab at the University of Bologna Controllo di congestione Andrea Carniani WiLab at the University of Bologna Controllo di congestione La finestra di congestione è un parametro variabile che serve per limitare la velocità di emissione dei dati da A a B (e viceversa) E’ evidente che agendo sulla CW agisco sulla velocità con cui A invia i dati a B E B. Il TCP decide se inviare (oppure no) il segmento solo se è verificata la disuguaglianza - Se CW è troppo piccola: la velocità di trasmissione è troppo bassa (ovvero il TCP aspetta troppo prima di inviare i dati) UBS − UBR ≤ min{RW , CW } UBS: ultimo byte spedito - Se CW è troppo grande, di fatto il controllo di congestione sparisce (rimane solo il controllo sulla RW) UBR ultimo byte per il quale ha ricevuto un ACK RW: receive window Indica il numero dei byte ancora in viaggio nella rete Come faccio a capire che devo modificare la CW? CW: congestion window In g genere il TCP guarda g se si verifica uno dei due eventi Se l’ammontare dei dati inviati ma non ancora riscontrati (UBS-UBR) supera il minimo tra RW e CW allora il TCP non invia i dati (aspetta finché non arriva qualche ACK) - Time out: il TCP invia un dato e aspetta un certo tempo (TA) per vedere se arriva l’ACK: se riceve un NACK o non riceve niente assume che il segmento sia andato d t perso OSS: la RW entra nella formula perché in ogni caso non si possono inviare dati se la RW è troppo bassa - Ricezione di 3 ACK duplicati: se A riceve tre ACK duplicati (relativi cioè allo stesso segmento) assume che quel segmento sia andato perso perso. g la CW? In che modo scelgo 57 Telecomunicazioni T-1 Andrea Carniani WiLab at the University of Bologna Controllo di congestione Andrea Carniani WiLab at the University of Bologna Controllo di congestione Il precedente criterio ha lo svantaggio di essere molto lento (dato che parto da CW=0 ci vuole tempo prima che la CW assuma valori elevati) elevati). Se non c’è cè congestione, questo criterio riduce fortemente la velocità di trasmissione Di quanto aumento o calo la CW? Possibile criterio Diminuzione della CW: se la CW=C e arriva un evento di perdita di un segmento (time out o ACK duplicati) la nuova CW è fissata a C/2 [dimezza ad ogni evento perdita] Criterio alternativo: alla partenza la CW è settata a MSS, finchè non si verifica un evento di perdita, ad ogni riscontro la CW raddoppia, appena si verifica un evento di perdita la CW dimezza e poi cresce solo linearmente. Aumento della CW: ogni volta che ricevo un ACK aumento di uno step fissato ( d esempio (ad i MSS) lla CW Evento perdita Aumento additivo CW 58 Telecomunicazioni T-1 Aumento additivo CW Decremento moltiplicativo tempo Decremento moltiplicativo tempo Evento di perdita Telecomunicazioni T-1 59 Telecomunicazioni T-1 60 Andrea Carniani WiLab at the University of Bologna Controllo di congestione OSS: UDP non effettua controllo della congestione: ciò è dovuto alla mancanza di un canale di ritorno e quindi alla necessità di realizzare un servizio semplice e veloce OSS: Al momento la maggior parte delle applicazioni presenti su internet utilizzano come protocollo di strato di trasporto il TCP (web, posta elettronica,…). Cosa succederà quando nel prossimo futuro le applicazioni che usano UDP gg ((es. q quelle multimediali)? ) costituiranno la maggioranza Fortunatamente l’UDP non effettua ritrasmissioni e quindi diminuisce il rischio di congestione. Telecomunicazioni T-1 61