Reti di Telecomunicazione Lezione 2 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it
Programma della lezione Commutazione di circuito multiplexing divisione di frequenza divisione di tempo Commutazione di pacchetto trasmissione store-and-forward multiplexing statistico frammentazione di messaggio
Commutazione Esistono due approcci principali alla costruzione della parte interna di una rete: la commutazione di circuito (circuit switching) la commutazione di pacchetto (packet switching) Nella commutazione di circuito le risorse necessarie lungo un percorso (detto circuito) per fornire la comunicazione fra due terminali sono riservate per la durata della comunicazione di tutto il messaggio Nella commutazione di pacchetto le risorse necessarie lungo un percorso vengono allocate quando necessario e se disponibili
Commutazione di circuito Il percorso necessario per effettuare una comunicazione viene allocato per tutto il tempo necessario La commutazione di circuito è la modalità di funzionamento che viene tipicamente adottata per le reti telefoniche fisse Affinché un host A invii un messaggio ad un altro host B, è prima necessario che prenoti un circuito da A a B, e solo dopo averlo ottenuto inizia la comunicazione vera e propria La commutazione di circuito garantisce la velocità di una connessione, in quanto questa si svolge su un circuito riservato
Multiplexing Come fare in modo che un singolo collegamento possa essere parte di differenti circuiti? Occorre dividere un collegamento in un certo numero di parti (slot), ed assegnare ognuna di esse ad un circuito, fino ad esaurimento. L effetto è che su uno stesso link sono compresenti differenti circuiti (multiplexing) Nelle reti a commutazione di circuito vi sono due principali modi per attuare il multiplexing: a divisione di frequenza (Frequency-Division Multiplexing, FDM) a divisione di tempo (Time-Division Multiplexing, TDM)
Comunicazione da A a C Multiplexing D A B C
Comunicazione da A a C Multiplexing D A 2 B C
Comunicazione da A a C Multiplexing D 5 A 2 B C
Comunicazione da A a C Multiplexing D 5 A 2 3 B C
Comunicazione da A a C Multiplexing D 5 A 2 3 2 B C
Comunicazione da A a C Multiplexing D 5 A 2 3 2 B 8 C
Multiplexing Comunicazione da A a C Circuito: 2-5-3-2-8 D 5 A 2 3 2 B 8 C
Multiplexing FDM Ogni link suddivide il proprio spettro di frequenza in segmenti (slot) della stessa dimensione nel caso della telefonia tradizionale, una comunicazione vocale necessita di 4KHz. Un normale cavo di rame schermato su distanze cittadine può raggiungere la frequenza di 64KHz. Quindi il cavo può, al massimo contenere contemporaneamente 16 conversazioni telefoniche monodirezionali, ovvero un cavo contiene 16 slot Per allocare un circuito serve riservare uno slot per ogni link Circuito 1: 4KHz 64KHz = 16 x 4KHz Circuito 16: 4KHz
Multiplexing TDM Invece di attuare un parallelismo fisico tra comunicazioni, si usa un parallelismo logico. Ogni link può supportare al più N circuiti differenti per unità di tempo Il tempo viene diviso in unità dette frame Ogni frame è diviso in N slot Ad ogni circuito viene assegnato uno slot, sempre lo stesso, in ogni frame slot frame circuito 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 tempo
Commutazione di pacchetto La sorgente suddivide un messaggio da trasmettere in piccole unità di dati: i pacchetti Tra sorgente e destinazione ognuno di questi pacchetti viaggia lungo i link e attraverso i router i pacchetti sono trasmessi lungo un link alla massima velocità consentita da quel link La destinazione ricompone il messaggio originale dalla sequenza di pacchetti ricevuti.
Trasmissione store-and-forward Quando un router inizia a ricevere un pacchetto da un link, attende di averlo ricevuto integralmente prima di iniziare a trasmetterlo su un altro link Un router ha un buffer (store) in ingresso per ogni link, nel quale accumula un pacchetto fino a che non viene totalmente ricevuto Solo allora il router invia (forward) il pacchetto al link in uscita Ogni link in uscita ha un buffer nel quale vengono accumulati i pacchetti in attesa di essere trasmessi essendo il buffer in uscita di dimensione prefissata, se il router lo trova pieno, allora deve scartare un pacchetto, che viene perso
Multiplexing statistico Se un router riceve pacchetti da più di un host, e diretti verso lo stesso link in uscita, i pacchetti saranno accumulati nel buffer di uscita in ordine di arrivo (che è causale), quindi saranno inviati. Per questo il tipo di multiplexing che avviene con la commutazione di pacchetto è detto multiplexing statistico Il multiplexing statistico permette un miglior sfruttamento di un link rispetto agli altri sistemi di multiplexing, ma non permette di riservare porzioni di banda per una specifica comunicazione
Multiplexing statistico router
Multiplexing statistico router
Multiplexing statistico router
Multiplexing statistico router coda di pacchetti in attesa del link in uscita
Multiplexing statistico router coda di pacchetti in attesa del link in uscita
Confronto La commutazione di pacchetto è, in generale, più efficiente di quella di circuito: Un link ha 1Mbps di banda ed è condiviso tra vari utenti Ogni utente produce un traffico di 100Kbps quando è attivo Ogni utente è attivo il 10% del suo tempo Nella commutazione di circuito Ad ogni utente devono essere riservati 100Kpbs Quindi vi possono essere, al più, 10 utenti contemporaneamente Nella commutazione di pacchetto La probabilità di avere contemporaneamente più di 10 utenti attivi su 30 (condizione di saturazione del canale) è circa 0,0004 Quindi, si riesce a soddisfare le esigenze di un numero triplo di utenti, con circa le stesse prestazioni medie, essendo i ritardi introdotti un numero probabilmente trascurabile di volte
Frammentazione di messaggio Una moderna rete a commutazione di pacchetto frammenta i messaggi in piccole unità dette pacchetti questo processo introduce un ritardo alla sorgente, dovendo questa frammentare il messaggio e trasmettere ogni frammento separatamente introduce un ritardo alla destinazione, che deve riassemblare il messaggio originale a partire dai singoli pacchetti costituenti Potremmo immaginare di effettuare una commutazione di messaggio, in cui scambiamo direttamente i messaggi invece dei singoli pacchetti in questo modo eliminiamo i ritardi alla sorgente ed alla destinazione, legati al processo di frammentazione Tuttavia, la commutazione di pacchetto è molto più conveniente della commutazione di messaggio
Commutazione di messaggio 0 5 10 15 tempo (in secondi)
Commutazione di messaggio 0 5 10 15 tempo (in secondi)
Commutazione di messaggio 0 5 10 15 tempo (in secondi)
Commutazione di messaggio 0 5 10 15 tempo (in secondi)
Commutazione di pacchetto 0 1 2 3 4 1 4999 5000 5001 5002 5003 tempo (in ms)
Commutazione di pacchetto 0 1 2 3 4 1 2 1 4999 5000 5001 5002 5003 tempo (in ms)
Commutazione di pacchetto 0 1 2 3 4 1 2 1 3 2 1 4999 5000 5001 5002 5003 tempo (in ms)
Commutazione di pacchetto 0 1 2 3 4 1 2 1 3 2 1 4 3 2 1 4999 5000 5001 5002 5003 tempo (in ms)
Commutazione di pacchetto 0 1 2 3 4 1 2 1 3 2 1 4 3 2 1 5 4 3 2 4999 5000 5001 5002 5003 tempo (in ms)
Commutazione di pacchetto 0 1 2 3 4 1 2 1 3 2 1 4 3 2 1 5 4 3 2 4999 5000 5001 5002 5003 5000 4999 4998 4997 tempo (in ms)
Commutazione di pacchetto 0 1 2 3 4 1 2 1 3 2 1 4 3 2 1 5 4 3 2 4999 5000 5001 5002 5003 5000 4999 4998 4997 5000 4999 4998 tempo (in ms)
Commutazione di pacchetto 0 1 2 3 4 1 2 1 3 2 1 4 3 2 1 5 4 3 2 4999 5000 5001 5002 5003 5000 4999 4998 4997 5000 4999 4998 5000 4999 tempo (in ms)
Commutazione di pacchetto 0 1 2 3 4 1 2 1 3 2 1 4 3 2 1 5 4 3 2 4999 5000 5001 5002 5003 5000 4999 4998 4997 5000 4999 4998 5000 4999 5000 tempo (in ms)
Frammentazione di messaggio Il vantaggio della commutazione a pacchetto rispetto a quella a messaggio sta nel parallelismo Inoltre, nel caso di errori, occorre ritrasmettere una minore quantità di dati, un solo pacchetto invece di tutto il messaggio Tuttavia, la frammentazione dei messaggi impone che ogni pacchetto mantenga delle informazioni di controllo, come il numero di sequenza dei pacchetti di un messaggio Queste informazioni sono inserite nell intestazione (header) del pacchetto Tuttavia, in questo modo, i pacchetti contengono un overhead, ovvero un insieme di informazioni sovrabbondante, che non fa parte del contenuto, ma che ne permette la corretta ricezione
Questa lezione è tratta da: Kurose, cap. 1.3 Conclusione Esercizi: Si faccia un esempio per mostrare la maggiore efficacia di TDM su FDM Si faccia un esempio concreto per mostrare che la commutazione di pacchetto è mediamente migliore come rapporto tra tempi di risposta e numero utenti della commutazione di circuito In entrambi i casi precedenti, si svolgano i calcoli che sono necessari per dimostrare le proprie conclusioni