Telecomunicazioni
description
Transcript of Telecomunicazioni
TelecomunicazioniCorso di Laurea in Ingegneria Gestionale / Informatica
Prof. Enzo Baccarelli
Lezioni dell’A.A. 2008-2009
2
Obiettivi del Corso
Vengono introdotti i concetti di base sui Sistemi di Telecomunicazioni (Sistemi di TLC) e sulla rappresentazione/elaborazione/trasformazione dei Segnali che sono trasferiti (trasportati) dai suddetti Sistemi.Vengono introdotti e sviluppati i concetti di Rete di TLC e di Servizio fornito da una Rete di TLC.In particolare, vengono introdotti ed esaminate due specifiche Reti di TLC di rilevante importanza:
i. la rete Internetii. le reti in Area Locale (Local Area Networks (LANs))
3
Materiale Didattico
Tutti i lucidi delle lezioni e delle relative esercitazioni sono disponibili sul sito:
http://infocom.uniroma1.it/~enzobac/tlc9cfu.htmlPer le parti relative alle Reti di TLC ed ad Internet si consiglia il seguente testo:
Jim Kurose, Keith Ross, “Reti di Calcolatori e Internet: Un approccio top-down ”, 3° Edizione, Pearson Education Italia,
i. Capitolo 1;ii. Capitolo 3: Sez. 3.1, 3.2, 3.3, 3.4, 3.5, 3.6;iii. Capitolo 4: Sez. 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7;iv. Capitolo 5: Sez. 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8.1;
4
Riferimenti
Prof. Enzo BaccarelliRicevimento: Giovedì, ore 12:00-13:00, stanza 10, Dpt. INFOCOM, via Eudossiana 18.Email: [email protected]
Baccarelli, Cordeschi, Patriarca, Polli
1
Capitolo 1Introduzione ai Sistemi di
Telecomunicazione (TLC) e alle Reti di computer
Baccarelli, Cordeschi, Patriarca, Polli
2
Introduzione ai Sistemi di TLC e alleReti di Computer
Obiettivo:terminologiavisione d’insieme, dettagli nel seguito del corsoapproccio:o Internet come esempio
Sommario:che cos’è Internet?che cos’è un protocollo?Come è organizzata una rete di TLCStrati di protocollo, modelli di servizioOrgani di Standardizzazione
Baccarelli, Cordeschi, Patriarca, Polli
3
Che cosa è un Sistema di TLC (1/3)Un Sistema di TLC è costituito da un insieme dinodi (elaboratori di dati) e di collegamenti (canalidi interconnessione tra nodi) che consentono ad una (o più) entità Sorgenti di inviare dati(informazioni) ad una (o più) entità Destinazioni
Le entità Sorgenti e Destinazioni sono chiamatenodi terminali (end-systems oppure hosts) del Sistema. Tutti gli altri nodi del sistema sonochiamati nodi di commutazione (switching nodes)
L’interconnessione dei nodi mediante i collegamenti costituisce, nel suo complesso, la Rete di TLC
Baccarelli, Cordeschi, Patriarca, Polli
4
Che cosa è un Sistema di TLC (2/3)
Un Sistema di TLC ha lo scopo diconsentire il trasferimento di dati(informazioni) tra i nodi Sorgente e quelliDestinazione.
L’informazione generata dalle sorgentiviene trasferita alle Destinazioni sotto forma di Segnali. Quindi, il segnale èl’entità fisica che trasporta informazionedalle Sorgenti alle Destinazioni.
Baccarelli, Cordeschi, Patriarca, Polli
5
Che cosa è un Sistema di TLC (3/3)
L’insieme di apparati e connessioni (canali) che permettono a due o più utenti di scambiarsi tra di loro informazioni.
UtenteA Utente
B
CANALE
CANALECANALE
CANALE
NODONODO
NODO
Rete di Accesso
Rete di Trasporto
Rete di Accesso
Rete TLC
Baccarelli, Cordeschi, Patriarca, Polli
6
Sistemi di TLC cablati (wired)Sistemi di TLC wired (su filo o cablati):
Rete telefonica (commutata: PSTN, Public SwitchedTeleph. Network)Rete ISDN (Integrated System Data Network)Reti a larga banda (“core” networks)Reti locali (LAN, Local Area Networks)
Accesso wired alla linea telefonica:Doppino modem audio, ISDN, ADSL, HDSL, VDSLFibra otticaSistemi su linee di potenza: Power Line Carrier (PLC)
Baccarelli, Cordeschi, Patriarca, Polli
7
Sistemi di TLC “radio” (wireless)Sistemi di TLC wireless (senza filo, via radio):
Broadcasting radio/televisione Cordless digitale (DECT), cordless analogicoReti cellulari terrestri: TACS, GSM, GPRS, UMTS e satellitariReti locali senza fili (WLAN, Wireless LAN): Bluetooth, IEEE802.11, HiperlanReti Satellitari
Accesso wireless alla linea telefonica:Wireless Local Loop (WLL)Internet satellitare (con ritorno via telefono o via satellite)
Baccarelli, Cordeschi, Patriarca, Polli
8
Rete telefonica pubblica di tipo commutato
Mezzi trasmissivi:doppino telefonico, fibra ottica, etere (ponti radio)
commutatoreRete di Trasporto
Rete di Accesso
Rete di Accesso
Baccarelli, Cordeschi, Patriarca, Polli
9
Reti cablate in area locale (wiredLAN)
PSTN
Mezzi trasmissivi: cavo coassiale, doppino, fibra otticaRete Locale “WIRED”
Rete di Accesso
Rete di Trasporto
Baccarelli, Cordeschi, Patriarca, Polli
10
Broadcasting terrestre
Mezzo trasmissivo: etere (collegamenti radio)Esempi: Servizi di Radio e Televisione- Televisione Diditale Terrestre (DVBT)
Baccarelli, Cordeschi, Patriarca, Polli
11
Broadcasting satellitare
Mezzo trasmissivo: etere (collegamenti radio)Esempi: Televisione satellitare (analogica o digitale): SKY e simili
Utenti
Satellite
Trasmettitori
Baccarelli, Cordeschi, Patriarca, Polli
12
Reti cellulari terrestri
Utentecellulare
Stazione base
Mezzo trasmissivo: etere (collegamenti radio)Esempi: TACS, GSM, UMTS,… (Reti cellulari terrestri)Iridium, Globalstar (reti cellulari satellitari)
Baccarelli, Cordeschi, Patriarca, Polli
13
Reti locali senza fili (WLAN)
Mezzo trasmissivo: etere (collegamenti radio)
Modalità “SRUTTURATA” Modalità “AD HOC”
Baccarelli, Cordeschi, Patriarca, Polli
14
Internet
PSTN Internet PSTN
Rete di Trasporto
Rete di Accesso
Rete di Accesso
Rete telefonica pubblica
Rete telefonica pubblica
Mezzi trasmissivi:doppino telefonico, fibra ottica
Baccarelli, Cordeschi, Patriarca, Polli
15
Che cosa è InternetGeneralmente parlando, Internet è una particolareRete di TLC i cui nodi terminali (Sorgenti e Destinazioni) sono Computer, ossia sistemi in grado dielaborare datiInternet è costituita da un (grande) insieme di sotto-reti opportunamente interconnesse fra di loroPossiamo definire che cosa è Internet adottando due punti di vista tra di loro complementari, e cioè:
o descrivendo e definendo gli elementi (hardware e software) che compongono Internet;
o descrivendo e definendo i servizi che Internet fornisce agliutenti che si collegano ad essa.
Baccarelli, Cordeschi, Patriarca, Polli
16
Che cosa è Internet- Elementicostitutivi (1/4)
Home network
Institutional network
Mobile network
Global ISP
Regional ISP
Baccarelli, Cordeschi, Patriarca, Polli
17
Che cosa è Internet- Elementicostitutivi (2/4)
I Sistemi Terminali sono connessi indirettamenteattraverso nodi di indirizzamento (instradamentodell’informazione) detti Commutatori di pacchetto (packet switches)A seconda del tipo di elaborazione svolto, i commutatori dipacchetto si suddividono in Router e BridgeLa sequenza ordinata di canali e commutatori di pacchettoche connette una (assegnata) sorgente S ad una assegnatadestinazione D è detta rotta tra S e D (o path tra S e D) I Sistemi terminali accedono ad Internet mediante sotto-reti di accesso note come Internet Service Providers (ISPs)Ciascun ISP è essa stessa costituita dalla (opportuna) interconnessone di canali e commutatori di pacchetto
Baccarelli, Cordeschi, Patriarca, Polli
18
Che cosa è Internet- Elementicostitutivi (3/4)
Per poter scambiare dati tra di loro, i nodi(Sistemi Terminali e Commutatori dipacchetto) di Internet eseguono programminoti come protocolli di ComunicazioneIl Transmission Control Protocol (TCP) e l’Internet Protocol (IP) sono i protocolli dibase che regolano il funzionamento diInternetGruppi di utenti che accedono ad Internet possono, a loro volta, essere organizzati in sotto-reti: queste ultime costituiscono le cosiddette Intranets.
Baccarelli, Cordeschi, Patriarca, Polli
19
Che cosa è Internet- Elementicostitutivi (4/4)
Protocolli di controlloper l’invio e la ricezionedi messaggi
o TCP, IP, HTTP, Skype, Ethernet
Internet: “rete di reti”o Gerarchia di retio Internet pubblico contro
intranet private
Home network
Institutional network
Mobile network
Global ISP
Regional ISP
Baccarelli, Cordeschi, Patriarca, Polli
20
Che cosa è Internet- Servizi(1/3)
Per definizione, Internet è una infrastruttura(piattaforma tecnologica) che fornisce servizi dicomunicazione (ossia, permette di scambiare dati) alleapplicazioni che sono eseguite dagli Utenti Terminali.Poiché i sistemi terminali non sono (in genere) direttamente connessi tra di loro, le applicazioni daesse eseguite e che si devono scambiare informazionisi dicono di tipo distribuito.Esempi di applicazioni eseguite da Utenti Terminaliche comunicano tra di loro includono:
o Web surfing, instant messaging, audio/video streaming, VoIP, e-mail
Baccarelli, Cordeschi, Patriarca, Polli
21
Che cosa è Internet- Servizi(2/3)
L’applicazione eseguita da un SistemaTerminale accede (invia i dati) ad Internet in accordo ad un programma (protocollo) notocome Application Programming Interface(API)L’API specifica l’insieme di regole (ossia, ilprotocollo) che l’applicazione deve seguire(rispettare) affinché Interet trasporti alladestinazione desiderata i dati generatidall’applicazione.
Baccarelli, Cordeschi, Patriarca, Polli
22
Che cosa è Internet- Servizi(3/3)
Internet fornisce due tipi di servizi di base alle sue applicazioni:
i. un servizio affidabile orientato alla connessioneii. un servizio non affidabile privo di connessione
Informalmente, i. il servizio affidabile orientato alla connessione garantisce
che i dati trasmessi dall’applicazione-sorgente sarannoricevuti dall’applicazione-destinazione senza errori e nell’ordine corretto;
ii. il servizio non affidabile privo di connessione non garantiscené la correttezza (assenza di errori) né il correttoordinamento dei dati trasferiti alla destinazione.
Baccarelli, Cordeschi, Patriarca, Polli
23
Che cosa è un protocollo
Informalmente, un protocollo è un insieme diregole e di azioni che due applicazioni chevogliono comunicare debbono applicare e seguire per poter scambiarsi i dati.Il protocollo specifica:
i. i messeggi che le applicazioni comunicantidebbono scambiarsi;
ii. le azioni che esse debbono intraprendere in risposta ai messaggi ricevuti per poter scambarsicorrettamente i dati.
Baccarelli, Cordeschi, Patriarca, Polli
24
Che cosa è un protocollo- Alcuniesempi (1/2)
Protocolli umani:“Ho una domanda”“Che ora è?”Accordo tra le parti
… inviati messaggi specifici… intraprese azioni specifiche quando i messaggi sono
ricevuti, o altri eventiProtocolli di rete:
macchine invece di umanitutte le attività della comunicazione in Internet sonogovernate da protocolli
Baccarelli, Cordeschi, Patriarca, Polli
25
Che cosa è un protocollo- Alcuni esempi(2/2)
Un protocollo umano e un protocollo in una retedi computer
Protocollo tra umani
Hi
HiGot thetime?2:00
TCP connectionrequest
TCP connectionresponseGet http://www.awl.com/kurose-ross
<file>time
Protocollo tra computer
Baccarelli, Cordeschi, Patriarca, Polli
26
Che cosa è un protocollo-Definizione formale
Formalmente, un protocollo definisce il formato(ossia, la struttura) e l’ordine dei messaggi scambiatitra due applicazioni comunicanti, unitamente alleazioni che le applicazioni comunicanti debbonointraprendere in funzione dei messaggi trasmessi e/oricevutiIn Internet, differenti protocolli sono usati per permettere la corretta esecuzione di applicazionidifferenti. Ad esempio, il protocollo che regolal’accesso al Web non è uguale a quello che permettel’invio/ricezione di e-mail.
Baccarelli, Cordeschi, Patriarca, Polli
27
Modi di ServizioSupponiamo che una applicazione A richieda un servizio (ad esempio, l’invio di dati) ad unaapplicazione B. Il servizio richiesto può essereerogato con o senza una intesa preliminare(handshaking) tra le due applicazioni coinvolte:
i. nel caso in cui l’intesa (handshaking) sussista, il servizio si dice orientato allaconnessione (connection-oriented)
ii. nel caso in cui l’intesa (handshaking) non sussista, il servizio si dice privo diconnessione (connection- less). In questocaso, lo scambio di dati tra le due applicazioni avviene senza che vi sia stato un prevetivo accordo (handshaking) tra le parti.
Baccarelli, Cordeschi, Patriarca, Polli
28
Modi di Servizio – Servizio con connessione
Un servizio con connessione è caratterizzato da:i. una fase di accordo preventivo (handshaking)
tra le applicazioni coinvolte;ii. una negoziazione dei parametri di sistema (ad
esempio, la velocità di trasferimento) coinvoltinel trasferimento;
iii. una strutturazione in tre fasi temporali(instaurazione della connessione, trasferimentodei dati, abbattimento della connessione);
iv. un indirizzamento basato su identicatori diconnessione;
v. una numerazine progressiva dei datid’informazione scambiati.
Baccarelli, Cordeschi, Patriarca, Polli
29
Modi di Servizio – Servizio privodi Connessione
Un servizio privo di connessione è caratterizzato da:i. la mancanza di un accordo preventivo (handshaking)
tra le applicazioni coinvolte;ii. un’assenza di negoziazione preventiva dei parametri di
sistema coinvolti nel trasferimento dei dati;iii. una strutturazione in un’unica fase temporale
(mancano le fasi di instaurazione e di abbattimentodella connessione);
iv. un indirizzamento basato sugli indirizzi delleapplicazioni coinvolte nella comunicazione;
v. indipendenza e autoconsistenza dei singoli datiscambiati.
Baccarelli, Cordeschi, Patriarca, Polli
30
Componenti di un Modo diTrasferimento (1/2)
Supponiamo di avere due applicazioni chevogliono scambiarsi dati attraverso una retedi TLC interposta tra di loro.
Generalmente parlando, per Modo diTrasferimento si intendono le modalità(strategie) adottate dalla rete per permettere lo scambio di dati tra le due applicazioni.
Baccarelli, Cordeschi, Patriarca, Polli
31
Componenti di un Modo diTrasferimento (2/2)
Un Modo di Trasferimento è individuatoquando sono specificate le tre seguenticomponenti:
i. la tecnica di multiplazione adottata dalla rete;ii. la tecnica di commutazione adottata dalla rete;iii. l’architettura protocollare della rete.I due Modi di Trasferimento di maggiorerilevanza sono:
i. il Modo di Trasferimento “a circuito”ii. il Modo di Trasferiento “a pacchetto”
Baccarelli, Cordeschi, Patriarca, Polli
32
La Multiplazione - GeneralitàLo schema di Multiplazione definisce le modalità secondo cui i dati generati da piùapplicazioni distinte possono esseretrasmesse ordinatamente attraverso unostesso canale presente nella rete di TLC.
Ovvero, lo schema di Multiplazione definiscela modalità secondo cui più flussi informativigenerati da applicazioni distinte condividono le risorse di trasmissione (banda e tempo) messea disposizione da ciascun singolo canalecostituente la Rete di TLC.
Baccarelli, Cordeschi, Patriarca, Polli
33
La Multiplazione - ClassificazioneLe tecniche di Multiplazione possono essere di tipoStatico oppure DinamicoNelle tecniche di multiplazione Statiche:
i. ogni canale è suddiviso in più sotto-canali;ii. un singolo sotto-canale è assegnato alla applicazione
che ne fa richiesta all’inizio del processo dicomunicazione;
iii. l‘assegnazione del sotto-canale è mantenuta per tuttala durata della comunicazione
Nelle tecniche di multiplazione Dinamiche, la capacitàtrasmissiva (banda, tempo) globale di ciascun canale ètrattata come una risorsa singola (ossia, indivisibile), allaquale le applicazioni richiedenti possono accedere surichiesta e nel rispetto di una opportuna procedura diassegnazione (procedure di controllo).
Baccarelli, Cordeschi, Patriarca, Polli
34
La Multiplazione - Esempi
Fanno parte delle tecniche di multiplazioneStatiche:
i. La multiplazione a divisione di freqenza(Frequency Division Multiplexing: FDM);
ii. La multiplazione a divisione di tempo (Time Division Multiplexing: TDM).
Fa parte delle tecniche di multiplazionedinamiche:
i. La multiplazione statistica (Statistical Multiplexing).
Baccarelli, Cordeschi, Patriarca, Polli
35
La Multiplazione a Divisione difrequenza (FDM)
La banda C (Hz) di ciascun canale è suddivisa in sottobande non sovrapponentisi di largezza ciascunapari a C/n (Hz).A ciascuna applicazione che lo richieda, è assegnato un sotto-canale di larghezza di banda C/n (Hz) per tuttala durata della comunicazione.
Frequenza (Hz)
Tempo (sec)Sottocanale 1Sottocanale 2
Sottocanale n
C/n
C/n
C/n
≥n 2
Baccarelli, Cordeschi, Patriarca, Polli
36
La Multiplazione a Divisione ditempo (TDM)
L’asse dei Tempi è suddiviso in intervalli detti Frame. La duratadi un frame è indicata con TF (sec)Ciascun frame è, a sua volta, suddiviso in n ≥ 2 sotto-intervallichiamati “slot”. La durata TS (sec) di uno slot è pari a TS=TF/n.A ciascuna applicazione che lo richiede, il canale dedica uno slot in ogni frame per la trasmissione dei corrispondenti dati.
Tempo (sec)
Frequenza (Hz)
SLOT
1
SLOT
2
SLOT
n
SLOT
1
SLOT
2
SLOT
n
Frame 1 Frame 2
TF
TS
Baccarelli, Cordeschi, Patriarca, Polli
37
FDM e TDM
FDM
Frequenza(Hz)
Tempo (sec)TDM
Frequenza(Hz)
Tempo (sec)
4 utentiEsempio:
Baccarelli, Cordeschi, Patriarca, Polli
38
La Multiplazione Statistica (SM) (1/2)
Nella Multiplazione Statistica, ciascun canale dellarete è preceduto da almeno un buffer dimemorizzazione
I dati (pacchetti) generati da più applicazioni e chedebbono essere trasmessi attraverso un nodo o su un canale, vengono temporaneamente posti in coda nelbuffer e, poi, vengono immesse (trasmessi) uno allavolta nel canale.
Quindi, di volta in volta, l’intera capacità trasmissiva C del canale è messa a disposizione del pacchetto che ètrasmesso in quel momento.
Baccarelli, Cordeschi, Patriarca, Polli
39
La Multiplazione Statistica (SM) (2/2)
La sequenza di pacchetti A & B non ha una struttura(pattern) fissata; la banda è condivisa su base richiesta(on demand) Multiplazione Statistica.
A
B
C100 Mb/sEthernet
1.5 Mb/s
D E
Multiplazione Statistica
coda di pacchetti in attesa del canale di
uscita
Baccarelli, Cordeschi, Patriarca, Polli
40
La Commutazione – Generalità(1/2)
Consideriamo un nodo di rete che abbia m ≥ 1 canali in ingresso e n ≥ 1 canali in uscita.
NODO
1
2
m
1
2
n
Canali di ingresso Canali di uscita
Baccarelli, Cordeschi, Patriarca, Polli
41
La Commutazione – Generalità(2/2)
La commutazione definisce il modo (la strategia) secondo cui i dati provenienti daciascun specifico canale di ingresso al nodosono trasferiti ad uno specifico canale diuscita del nodo.
Lo scopo della commutazione è quello ditrasferire (inoltrare) i dati provenienti daciascun canale di ingresso al nodo verso unospecifico canale d’uscita, in modo che il datotrasferito possa procedere verso la destinazione finale.
Baccarelli, Cordeschi, Patriarca, Polli
42
La Commutazione – FunzioniComponenti
L’operazione di commutazione è attuata per mezzo delle due funzioni di:
i. InoltroE’ la funzione decisionale, che ha lo scopo distabilire il canale di uscita verso cui deve essereinoltrato il dato informativo che proviene da unospecifico canale di ingresso
ii. AttraversamentoÈ la funzione attuativa, che ha lo scopo ditrasferire il dato dal canale di ingresso allospecifico canale di uscita.
Baccarelli, Cordeschi, Patriarca, Polli
43
La Commutazione – Nodi diCommutazione
In generale, indicheremo come nodo dicommutazione un qualsiasi nodo di rete cherealizzi l’operazione di commutazione.A secondo delle modalità con cui l’operazione di commutazione è effettuata, i nodi di commutazione si suddividono in:
i. Router ii. Bridge
Router Bridge
Baccarelli, Cordeschi, Patriarca, Polli
44
Modo di trasferimento “a Circuito” (1/3)
Una rete che utilizza il modo di trasferimento “a circuito” mette a disposizione di ciascuna coppia di applicazioni comunicanti un circuito fisico che rimane ad esse dedicato per tutta la durata della comunicazione.
1
2A
E
BC
DApplicazione Sorgente
Applicazione Destinazione
Baccarelli, Cordeschi, Patriarca, Polli
45
Modo di trasferimento “a Circuito” (2/3)
Un circuito è un canale trasmissivo tra l’applicazionesorgente e l’applicazione destinazione di capacità(bit/sec) sufficiente per il trasferiemtno dei dati trale due applicazioni.Un circuito è costituito da una sequenza ordinata disotto-canali, in cui ciascun sotto-canale èimplementato attuando una tecnica di multiplazione ditipo statico (TDM o FDM).La capacità di ciascun sotto-canale costituente ilcircuito è assegnata individualmente alla coppia diapplicazioni Sorgente-Destinazione che desideranocomunicare. Il circuito rimane permanentemente assegnato alleapplicazioni richiedenti per tutta la durata dellaconnessione.
Baccarelli, Cordeschi, Patriarca, Polli
46
Modo di trasferimento “a Circuito” (3/3)
Il modo di trasferimento “a Circuito” offre un servizio di trasferimento con una strategia di Multiplazione di tipo “Statico”.In ogni connessione, possono essere distinte le tre fasi caratteristiche di un servizio con connessione, e cioè:
i. Fase di INSTAURAZIONE della connessione;ii. Fase di TRASFERIMENTO dei dati;iii. Fase di ABBATTIMENTO della connessione.
Baccarelli, Cordeschi, Patriarca, Polli
47
Modo di Trasferimento “a Pacchetto” (1/2)
Servizio di rete:o con o senza connessione
Multiplazione:o statistica
Baccarelli, Cordeschi, Patriarca, Polli
48
Modo di Trasferimento “a Pacchetto” (2/2)
Le unità di dati trasferite in rete sono detti PACCHETTI e sono composte da:i. un’intestazione (header) contenente informazioni di
controllo della comunicazione ed avente una lunghezza fissa (Lh)
ii. un campo informativo (payload) avente lunghezza variabile (Li) e contenente le informazioni (dati) da trasferire
Intestazione Campo informativo
Lh Li
( header ) ( payload )
Baccarelli, Cordeschi, Patriarca, Polli
49
Modo di Trasferimento “a Pacchetto” – Multiplazione
StatisticaA
CC bit/s
CB bit/s
CA bit/s
B
C
MUX M
UX
CM bit/s
CM>CA+CB+CCβ
α
A1 A2
B1 B2
C1 C2
A1 B1 C1 A2 C2
Baccarelli, Cordeschi, Patriarca, Polli
50
Modo do Trasferimento “a Pacchetto”- Code ai nodi di
commutazione.Un nodo a commutazione di pacchetto esegue la funzione di commutazione in accordo alla tecnica dell’accodamento.
Due componenti del ritardo di commutazione:i. FISSA, composta dai tempi di elaborazione e di propagazioneii. VARIABILE, composta dal tempo di memorizzazione in uscita
(tempi di coda)
1
2
Linee diingresso
Linee diuscitaBuffer di
ingressoBuffer di
uscita
3
Baccarelli, Cordeschi, Patriarca, Polli
51
Confronto tra Commutazione diPacchetto e Commutazione di
Circuito (1/2)Confrontiamo i pro e i contro delle due tecniche di commutazione menzionateo La commutazione di pacchetto si basa sulla
multiplazione statistica; quindi, sin tanto che cisono pacchetti che aspettano di essere trasmessiin coda ad un nodo di rete, il canale in uscita al nodo è sempre utilizzato
o Per contro, la commutazione di pacchetto generacode ai nodi di commutazione. Le code introduconoritardi (variabili e spesso elevati) neltrasferimento dei dati attraverso la rete.
Baccarelli, Cordeschi, Patriarca, Polli
52
Confronto tra Commutazione diPacchetto e Commutazione di
Circuito (2/2)o La commutazione di circuito si basa su
tecniche di multiplazione di tipo statiche(TDM o FDM). Quindi, non si generano maicode ai nodi di una rete a commutazione dicircuito e non si hanno ritardi di coda.
o Per contro, può accadere che il circuitoassegnato ad una particolare coppia Sorgente-Destinazione possa rimanere inutilizzato per più o meno lunghi periodi di tempo durante la durata della connessione.
Baccarelli, Cordeschi, Patriarca, Polli
53
Modo di Trasferimento a pacchetto-Classificazione
Le Reti con modo di Trasferimento a pacchetto sono anche dette “Reti a Commutazione di Pacchetto”(Packet Switching Networks).Le Reti a Commutazione di Pacchetto possono offrire servizi “orientati alla connessione” oppure servizi “privi di connessione”.Le Reti a Commutazione di Pacchetto con servizio privo di connessione sono dette Reti a Datagramma.Le Reti a Commutazione di Pacchetto con servizio orientato alla connessione sono dette Reti a Circuito Virtuale.Le Reti a Datagramma differiscono dalle reti a Circuito Virtuale nella modalità (strategia) impiegata per indirizzare un pacchetto.
Baccarelli, Cordeschi, Patriarca, Polli
54
Tassonomia e Classificazione delle Reti di TLC sulla base del Modo di
Trasferimento adottatoReti di TLC
Reti a Commutazione di
Circuito
Reti a Commutazione di
Pacchetto
Reti TDM
Reti a Circuito Virtuale
Reti FDM
Reti a Datagramma
Baccarelli, Cordeschi, Patriarca, Polli
55
Modo di Trasferimento “a Pacchetto”- Reti a DatagrammaIn una rete a commutazione di pacchetto con servizio di trasferimento di tipo a Datagramma, il trasferimento dei pacchetti avviene senza accertare preventivamente la disponibilità dell’applicazione chiamata (applicazione di destinazione) all’effettuazione dello scambio informativo.Non esistono le fasi di instaurazione e di abbattimento della connessione ed ogni pacchetto ègestito dalla rete indipendentemente dagli altri, anche se fanno parte dello stesso flusso: applicazione sorgente applicazione destinazione.L’indirizzamento adottato, nelle reti a Datagramma, consiste nell’indicare su ogni pacchetto l’indirizzo del programma Sorgente e l’indirizzo del programma Destinazione.
Baccarelli, Cordeschi, Patriarca, Polli
56
Modo di Trasferimento “a Pacchetto”- Circuito Virtuale (1/2)
In una rete a commutazione di pacchetto a Circuito Virtuale, il servizio di trasferimento dei pacchetti èorientato alla connessione.Esistono quindi, oltre alla fase di trasferimento dei dati, anche le fasi di instaurazione ed abbattimento del Circuito Virtuale.Durante la fase di instaurazione viene:
i. indicato il cammino fisico che i pacchetti seguiranno in rete (funzione di instradamento);
ii. accertata la possibilità di instaurare la connessione (funzione di controllo di accettazione di chiamata);
iii. effettuata un’assegnazione delle risorse di rete;iv. assegnati opportuni identificatori della connessione che
saranno trasportati da tutti i pacchetti appartenenti alla connessione stessa
Baccarelli, Cordeschi, Patriarca, Polli
57
Modo di Trasferimento “a Pacchetto”- Circuito Virtuale (2/2)Un Circuito Virtuale (Virtual Circuit-VC) differisce da un circuito fisico (quale quelli attuati nelle Reti a Commutazione di Circuito) in quanto più Circuiti Virtuali distinti possono condividere uno stesso circuito fisico.Le Reti a Pacchetto a Circuito Virtuale adottano ancora la multiplazione Statistica ai nodi di rete. Quindi, i nodi di rete possono presentare code, e i pacchetti trasferiti sono soggetti a ritardi di coda.
Baccarelli, Cordeschi, Patriarca, Polli
58
Reti a Datagramma e Reti a Circuito Virtuale- Confronto
Nelle Reti a Circuito Virtuale, tutti i pacchetti assegnati ad uno stesso Circuito Virtuale seguono una medesima rotta (path) per essere trasferiti dalla Sorgente alla Destinazione. Una stessa rotta può essere, però, condivisa (usata) da più Circuiti Virtuali.
Nelle Reti a Datagramma, ciascun nodo di rete instrada un pacchetto solo sulla base degli indirizzi di Sorgente e di Destinazione specificati nell’intestazione del pacchetto. Ciò implica che pacchetti con gli stessi indirizzi Sorgente-Destinazione possono essere trasferiti dalla Sorgente alla Destinazione seguendo rotte diverse.
Baccarelli, Cordeschi, Patriarca, Polli
59
Modo di Trasferimento “a Pacchetto”- Datagramma vs
Circuito Virtuale
AE
BC
D
U
U
U
Datagramma
AE
BC
D
U
Circuito Virtuale
Baccarelli, Cordeschi, Patriarca, Polli
60
Configurazione Generale della Rete Internet
Passiamo ad esaminare un po’ più da vicino la configurazione della Rete Internet. La Rete Internet è essenzialmente composta da tre parti (sezioni) principali :
i. La periferia della Rete (Network Edge)- E’ costituita dai Sistemi Terminali (End System o Hosts) che vogliono interconnetersi tramite la rete stessa.
ii. La Rete di Accesso (Access Network)- E’ costituita dai canali fisici (doppini telefonici, cavi coassiali, fibra ottica etc) che collegano ciascun Sistema Terminale al proprio Router d’Ingresso (Edge Router), che è il primo nodo di commutazione tra il Sistema Terminale e la Rete Internet.
iii. La rete di Trasporto (Core Network)- E’ costituita dai nodi di commutazione (Router e/o Bridge) e dai canali fisici che interconnettono tra di loro i Router d’Ingresso (EdgeRouter).
Baccarelli, Cordeschi, Patriarca, Polli
61
La struttura della rete:Network Edge(Periferia della Rete):applicazioni e nodi terminaliRete d’accesso, canali fisici:collegamenti di comunicazione wired(cablati), wireless (senza fili)Network core (Cuore della Rete):
o Router interconnessio Rete di reti
Baccarelli, Cordeschi, Patriarca, Polli
62
Periferia della Rete (Network Edge) (1/2)
Sistemi terminali (hosts):o Programmi applicativio Esempio: Web, email
Modello client / servero Le richieste dei sistemi
terminali (clienti) vengono soddisfatte da server sempre attivi (always-on)
o Esempio: Web browser / server; email client / server
Modello peer-to-peer:o Minimo (o nullo) impiego di
server dedicatio Esempio: Skype, BitTorrent
client/server
peer-to-peer
Baccarelli, Cordeschi, Patriarca, Polli
63
Periferia della Rete (Network Edge) (2/2)
Due applicazioni eseguite da due Sistemi Terminali non direttamente collegati comunicano tra di loro mediante una connessione.Informalmente, una connessione è costituita da una o più sequenze ordinate di canali e nodi di commutazione che Internet mette a disposizione delle applicazioni (programmi) che vogliono scambiarsi dati.In generale, due applicazioni che vogliono scambiarsi dati possono farlo in accordo all’uno o l’altro dei due seguenti modelli di interazione :
i. Il modello cliente/servente (client/server Model)ii. Il modello pari-a-pari (peer-to-peer Model)
Baccarelli, Cordeschi, Patriarca, Polli
64
Periferia della Rete: Modello Cliente/Servente
Per definizione, il modello cliente/servente prevede che una applicazione (programma) cliente eseguita da un sistema terminale richieda e riceva un servizio (delle informazioni o/e dei dati) da una applicazione servente che è eseguita da un altro sistema terminale.Poiché il programma cliente e il programma servente sono eseguiti da sistemi terminali distinti, le applicazioni cliente-servente sono, per definizione, esempi di applicazioni distribuite.I programmi cliente e servente si scambiano dati mediante la connessione messa a disposizione da Internet.Esempi di applicazioni cliente-servente: Web, e-mail, Trasferimento di Files (FTP)
Baccarelli, Cordeschi, Patriarca, Polli
65
Periferia della Rete: Modello Peer-to-Peer (P2P)
Per definizione, il modello di interazione Peer-to-Peer (P2P) prevede che le due applicazioni comunicanti ricoprano, a turno, il ruolo di programma servente e quello di programma cliente.
Esempi di applicazioni P2P:i. Condivisione di Files (Limewire, eDokey, Kazaa);ii. Telefonia via Internet (VoIP).
Anche le applicazioni P2P sono di tipo distribuito.
Baccarelli, Cordeschi, Patriarca, Polli
66
La Rete di accesso e i canali fisici- Classificazione
Come detto, la Rete di Accesso è costituita dai canali fisici che collegano ciascun sistema terminale al proprio Edge Router (primo nodo di commutazione)A seconda del tipo di canale fisico impiegato per il collegamento, le Reti di Accesso si suddividono in:
i. Reti di Accesso Cablate – i canali fisici sono costituiti da mezzi trasmissivi cablati, quali il doppino telefonico, la fibra ottica, il cavo coassiale;
ii. Reti di Accesso Radio – i canali fisici sono costituiti da porzioni dello spettro radio (WiFi, Wimax, Wireless LANs, Collegamenti Satellitari).
Baccarelli, Cordeschi, Patriarca, Polli
67
Utenza della Reti di AccessoChi accede ad Internet?
reti di accessoresidenzialireti di accessoistituzionali (scuole, compagnie)reti di accesso mobili
Importante: banda (bit al secondo) delle reti di accesso
Baccarelli, Cordeschi, Patriarca, Polli
68
Reti d’Accesso residenziali-Accesso punto-punto
Come accede ad Internet un utente residenziale?Dialup via modem
o fino a 56Kbps per l’accesso direttoal router (spesso meno)
o Impossibilità di navigare e telefonare allo stesso tempo: no “always on”
DSL: digital subscriber lineo compagnia telefonica (tipicamente)o fino a 1 Mbps in upstream (oggi tipicamente < 256 kbps)o fino a 8 Mbps in downstream (oggi tipicamente < 1 Mbps)
Edge Router
Baccarelli, Cordeschi, Patriarca, Polli
69
Accesso ad Internet dicompagnie- Reti in Area localeCome accedono ad Internet le compagnie?Reti in area locale (Local Area Network) (LAN): connettono sistemiterminali agli edge routerEthernet:
o 10 Mbs, 100Mbps, 1Gbps, 10Gbps Ethernet
o configurazione: sistemiterminali connessi aicommutatori Ethernet
Internet
Baccarelli, Cordeschi, Patriarca, Polli
70
Reti di Accesso RadioReti di accesso radio condiviseconnettono i sistemi terminali airouter
o attraverso base station “access point” (stazioni base)
wireless LANs:o 802.11b/g (WiFi): 11 o 54 Mbps
accesso wireless a più ampiacopertura
o fornito dall’ operatore telcoo ~1Mbps su sistemi cellulario (EVDO, HSDPA)o fino a: WiMAX (10 Mbps) su
ampio raggio
basestation
mobilehosts
Edge router
Internet
Baccarelli, Cordeschi, Patriarca, Polli
71
I canali fisici della Rete diAccesso
Bit: trasferiti tra le coppietrasmettitore/ricevitore.Collegamento fisico: quello che sta tra iltrasmettitore e il ricevitore.mezzi guidati (cablati):o segnali propagati in mezzi solidi: doppino,
cavo, fibra.mezzi non guidati (radio):o segnali propagati liberamente
Baccarelli, Cordeschi, Patriarca, Polli
72
Capacità dei Canali FisiciIn generale, i canali fisici che costituiscono Internet trasportano dati sotto forma di sequenza di simboli binari (sequenza di bit).Per definizione, la capacità C di un canale fisico è il numero massimo di bit che il canale può trasferire nell’intervallo temporale di 1 sec.La capacità C di un canale fisico può equivalentemente misurarsi in:
i. bit/secii. Hz
Ogni canale fisico ha una sua propria capacità C non nulla. I canali “migliori” sono quelli con più altovalore di C.
Baccarelli, Cordeschi, Patriarca, Polli
73
Mezzi Fisici: cavo (1/2)
Cavo coassiale:
due conduttori concentrici di ramebidirezionale
Baccarelli, Cordeschi, Patriarca, Polli
74
Mezzi Fisici: fibra (2/2)
Fibra otticafibra di vetro che trasporta impulsi luminosi; ciascunimpulso un bitoperano ad alta velocità:o trasmissioni punto-punto ad alta velocità (e.g., 10-
100 Gb/sec).basso tasso d’errore: ripetitori molto spaziati l’unodall’altro; immune al rumore elettromagnetico
Baccarelli, Cordeschi, Patriarca, Polli
75
Mezzi Fisici: radioSegnale trasportato da onde elettromagneticheNessuna “guida” fisicaBidirezionale
Tipologie di collegamento radio:microonde terrestrio fino a 45 Mb/sec
LAN (e.g., Wifi)o 11Mb/s, 54 Mb/s
wide-area (cellulari)o cellulare 3G: ~ 1 Mb/s
Baccarelli, Cordeschi, Patriarca, Polli
76
La Rete di Trasporto di Internet (Core Network) (1/2)
Baccarelli, Cordeschi, Patriarca, Polli
77
La Rete di Trasporto di Internet (Core Network) (2/2)
Come detto, la Rete di Trasporto di Internet ècostituita dai Nodi di Commutazione (router) e dai canali fisici che interconnettono tra di loro gli Edge Router.La Rete Internet offre due tipi di servizi alle applicazioni eseguite dai sistemi terminali:
i. Servizio orientato alla connessione e affidabile;ii. Servizio non orientato alla connessione e non
affidabile.La Rete Internet è
i. una rete a commutazione di pacchetto;ii. che impiega il modo di Trasferimento a Datagramma.
La multiplazione effettuata dai router presenti nella Rete di Trasporto di Internet è statistica. Quindi, il trasferimento di pacchetti attraverso Internet èsoggetto a Ritardi di Coda.
Baccarelli, Cordeschi, Patriarca, Polli
78
La Struttura di Internet- Una rete di reti (1/5)
La Core Network di Internet è organizzata (strutturata) in sotto-reti di varia dimensione che sono interconnesse tra di loro.Ciò significa che la Rete Internet è, in realtà, una rete di reti interconnesse.Le reti che costituiscono Internet sono organizzate gerarchicamente in Internet Service Providers (ISPs) di livello 1, livello2 e livello 3.ISPs distinte comunicano tra di loro mediante Router. I punti nei quali un ISP si collega con altri ISPs sono detti Punti –di- Presenza ( Point-of-Presence: POP)
Baccarelli, Cordeschi, Patriarca, Polli
79
La Struttura di Internet- Una rete di reti (2/5)
al centro: ISPs di Livello 1 (“Tier 1”) (Verizon, Sprint, AT&T), copertura nazionale/internazionale
L’insieme di Tier 1 ISPs costituisce la così detta“Internet backbone” ( dorsale di Internet)
Tier 1 ISP
Tier 1 ISP
Tier 1 ISP
Providers diLivello 1 interconnessiprivatamente
POPPOPPOP
Baccarelli, Cordeschi, Patriarca, Polli
80
La Struttura di Internet- Una rete di reti (3/5)
“Tier-2” ISPs: più piccoli (spesso regionali) ISPso Connessi a uno o più Tier-1 ISPs,
eventualmente ad altri Tier-2 ISPs
Tier 1 ISP
Tier 1 ISP
Tier 1 ISP
Tier-2 ISPTier-2 ISP
Tier-2 ISP Tier-2 ISP
Tier-2 ISP
Tier-2 ISP pagano Tier-1 ISP per la connettività al resto di Internet
Tier-2 ISP ècliente del providerTier-1
Tier-2 ISPs sono ancheconnessiprivatamentecon altre reti.
POP
POPPOP
Baccarelli, Cordeschi, Patriarca, Polli
81
La Struttura di Internet- Una rete di reti (4/5)
“Tier-3” ISPs o ISPs locali (local ISPs) o last hop network (“reti di accesso”) (le più vicine ai sistemi terminali)
Tier 1 ISP
Tier 1 ISP
Tier 1 ISP
Tier-2 ISPTier-2 ISP
Tier-2 ISP Tier-2 ISP
Tier-2 ISP
localISPlocal
ISPlocalISP
localISP
localISP Tier 3
ISP
localISP
localISP
localISP
Tier- 3 ISPs e ISPs localisono clientidegli ISPsdi livellosuperiore, cheli connettonoal resto diInternet
POP
POPPOP
Baccarelli, Cordeschi, Patriarca, Polli
82
La Struttura di Internet- Una rete di reti (5/5)
un pacchetto passa attraverso molte sotto-reti costituite dadifferenti ISPs
Tier 1 ISP
Tier 1 ISP
Tier 1 ISP
Tier-2 ISPTier-2 ISP
Tier-2 ISP Tier-2 ISP
Tier-2 ISP
localISPlocal
ISPlocalISP
localISP
localISP Tier 3
ISP
localISP
localISP
localISP
Baccarelli, Cordeschi, Patriarca, Polli
83
Organizzazione “a strati” deiprotocolli di Rete
Le reti sono complesseMolte componenti:o Terminali d’utenteo Routero Canali di mezzi diversio Applicazionio Protocollio hardware, software
Domanda:C’è una speranza di organizzare la struttura di una
rete? O almeno la nostra discussione sulle reti?
Baccarelli, Cordeschi, Patriarca, Polli
84
Un esempio- Organizzazione di un viaggio in aereo
una serie di servizi/azioni svolti sequenzialmente
biglietto (acquisto)
bagagli (controllo)
gates (carico)
decollo
instradamento
biglietti (reclamo)
bagagli (ritiro)
gates (scarico)
atterraggio
instradamento
instradamento dell’aereo
Baccarelli, Cordeschi, Patriarca, Polli
85
biglietto (acquisto)
bagagli (controllo)
gates (carico)
decollo
instradamento
Partenza Arrivointermediate air-trafficcontrol centers
Instradamento dell’aereo
biglietto (reclamo)
bagagli (ritiro)
gates (scarico)
atterraggio
instradamento
biglietto
bagagli
gate
Decollo/atterraggio
Instradamento
Organizzazione “a strati” delle funzioni svolte per realizzare un
viaggio in aereo (1/2)
Baccarelli, Cordeschi, Patriarca, Polli
86
Organizzazione “a strati” delle funzioni svolte per realizzare un
viaggio in aereo (2/2)Nella Figura precedente, l’insieme dei servizi (funzioni) necessarie per effettuare un viaggio in aereo è partizionato (suddiviso) in strati organizzati gerarchicamente.Lo strato n offre un servizio allo strato (n+1) immediatamente superiore
i. effettuando certe azioni (funzioni) che sono specifiche dello strato n;
ii. avvalendosi del servizio (dati di input) offerto dallo strato (n-1) immediatamente inferiore .
Baccarelli, Cordeschi, Patriarca, Polli
87
Perché organizzare in strati le funzioni svolte dai Protocolli di rete?
Una architettura gerarchica a strati delle funzioni svolte dai vari protocolli di rete permette di esaminare separatamente una parte specifica di un sistema grande e complesso.Specificatamente, fin tanto che lo strato n fornisce lo stesso servizio allo strato (n+1) immediatamente superiore e usa lo stesso servizio fornitogli dallo strato (n-1) immediatamente inferiore, il resto dell’intero sistema non cambia quando viene (eventualmente) cambiato il modo in ciu lo strato n attua il suo servizio.La possibilità di cambiare il modo in cui un servizio èattuato da uno strato senza modificare nessuna altra componente del restante sistema costituisce il vantaggio principale dell’organizzazione gerarchica a strati dell’insieme dei protocolli di rete.
Baccarelli, Cordeschi, Patriarca, Polli
88
La stratificazione- Definizione formale (1/2)
Supponiamo che l’insieme J delle funzioni da svolgere per consentire l’attuazione di un processo di comunicazione:
i. sia partizionato in sottoinsiemi funzionali;ii. sia organizzato in modo che questi sottoinsiemi
funzionali operino in un ordine gerarchico.Coerentemente con queste ipotesi, ogni sottoinsieme è identificato da un numero crescente al crescere del livello gerarchico.
Baccarelli, Cordeschi, Patriarca, Polli
89
La stratificazione- Definizione formale (2/2)
Sotto le precedenti ipotesi, ogni sottoinsieme funzionale dell’architettura a strati:
i. riceve un “servizio” dal sottoinsieme che gli èimmediatamente inferiore nell’ordine gerarchico;
ii. arricchisce questo “servizio” con il valore derivante dallo svolgimento delle proprie funzioni;
iii. offre un nuovo “servizio” a valore aggiunto allo strato che gli è immediatamente superiore nell’ordine gerarchico.
Baccarelli, Cordeschi, Patriarca, Polli
90
Definizione di strato nell’organizzazione gerarchica dei
protocolli di una rete di TLC
Mezzi trasmissivi
Sottosistemi omologhi
Sistema A Sistema B
Strato più elevato
Strato di rango N
Strato più basso
Baccarelli, Cordeschi, Patriarca, Polli
91
Servizio di “strato”nell’organizzazione gerarchica dei
protocolli di una Rete di TLCRiassumendo,
ogni strato di rango N fornisce un servizio allo strato di rango N+1.
Per questo scopo utilizza il servizio fornito dallo strato di rango N-1.
Arricchisce tale servizio con lo svolgimento di particolari proprie funzioni.
Baccarelli, Cordeschi, Patriarca, Polli
92
Modello di architettura protocollare “Open System Interconnection” (Modello
OSI)Strati
Strato di Applicazione
Strato di Trasporto
Strato di Presentazione
Strato di Sessione
Strato di Rete
Strato di Collegamento
Strato Fisico
Fornisce ai processi applicativi i mezzi per accedere ad Internet(è costituito da programmi applicativi quali FTP, HTTP,SMTP).
Risolve problemi di compatibilità sulla rappresentazione dei dati da trasferire e offre servizi di cifratura.
Struttura e sincronizza lo scambio di dati in modo da poterlo sospendere, riprendere e terminare ordinatamente.
Colma le deficienze della qualità di servizio delle connessioni di livello rete. Funz. fondament.: multiplazione e frammentazione.
Instaura, mantiene e abbatte connessioni di rete. Funzioni fondamentali: instradamento e controllo di flusso.
Fronteggia malfunzionamenti del livello fisico (rivelazione e recupero degli errori di trasmissione, controllo di flusso).
Fornisce i mezzi meccanici, fisici, funzionali e procedurali perattivare, mantenere e disattivare le connessioni fisiche.
Mezzi fisici di trasmissione
Servizi offerti
Baccarelli, Cordeschi, Patriarca, Polli
93
Modello di architettura protocollare adottata da Internet (Modello Internet)
Corrisponde a parte dello strato di sessione e agli strati di presentazione e di apllicazione del modello OSI.
Corrisponde allo strato di trasporto e a parte dello strato di sessione del modello OSI. Offre un servizio di trasporto affidabile con connessione (TCP), ovvero un servizio più semplice, senza connessione (UDP).
Consente l’interconnessione delle varie reti componenti con funzionalitàche nel modello OSI sono collocate in un sottostrato di rete alto. Fornisce un servizio di trasferimento dati senza connessione (IP).
Include le funzioni che, nel modello OSI, sono comprese negli strati fisico, di collegamento e di rete,quest’ultimo almeno per ciò che riguarda gli aspetti connessi al funzionamento di ogni singola rete componente (sottostrato di rete basso). Il servizio offerto allo strato superiore (Strato Internet) può essere con o senza connessione.
Strati Servizi offerti
StratoApplicativo
Strato diTrasporto
Strato di Rete
Strato diCollegamento
Strato Fisico
Baccarelli, Cordeschi, Patriarca, Polli
94
Sorgente
HtHn M
segmento Ht
datagramma
Destinazione
HtHnHl M
Router
Bridge
Trasferimento deiDati nel Modello
Internetmessagio M
Ht M
Hntrama
ApplicativoTrasporto
ReteCollegamento
Fisico
Collegamento
Collegamento
Collegamento
Fisico
Fisico
Fisico
Rete
Rete
Trasporto
Applicativo
HtHnHl M
HtHnHl M
HtHnHl M
HtHn M
HtHn M
Ht M
M
Baccarelli, Cordeschi, Patriarca, Polli
95
Trasferimento dei Dati nel Modello Internet- Pile protocollari
La Figura precedente mostra il cammino fisico che i pacchetti generati dall’applicazione-sorgente seguono attraverso le pile protocollari per raggiungere l’applicazione-destinazione.La Figura si presta ad alcune osservazioni:
o Similmente ai sistemi terminali, anche i Router e i Bridge organizzano i loro protocolli in strati.
o I Router implementano solo i protocolli di Strato Fisico, di Collegamento e di Rete.
o I Bridge implementano solo i protocolli di Starto Fisico e di Collegamento.
o I terminali d’utente implementano i protocolli di tutti e 5 gli strati del modello Internet.
Baccarelli, Cordeschi, Patriarca, Polli
96
Trasferimento dei Dati nel Modello Internet- Messaggi, Segmenti,
Datagrammi e Trame
Inoltre, i. I pacchetti generati dallo Strato Applicativo
sono chiamati Messaggi ;ii. I pacchetti generati dallo Strato di Trasporto
sono chiamati Segmenti ;iii. I pacchetti generati dallo Strato di Rete sono
chiamati Datagrammi ;iv. I pacchetti generati dallo Strato di Collegamento
sono chiamati Trame (frame)
Baccarelli, Cordeschi, Patriarca, Polli
97
Trasferimento dei Dati nel Modello Internet- Il Principio
dell’ Incapsulamento (1/2)
La figura mostra anche che, al lato sorgente, il pacchetto generato da ciascuno strato n si ottiene aggiungendo un header Hn al pacchetto generato dallo Strato (n+1).Il contenuto dell’header è specifico dello strato al quale l’header viene aggiunto e contiene informazioni necessarie per svolgere le funzioni proprie dello strato.Ciò significa che, al lato sorgente, il pacchetto di strato n è ottenuto per incapsulamento del pacchetto di strato (n+1).
Baccarelli, Cordeschi, Patriarca, Polli
98
Trasferimento dei Dati nel Modello Internet- Il Principio
dell’Incapsulamento (2/2)Al lato Destinazione, i pacchetti subiscono la procedura (reciproca) del De-incapsulamento. Ovvero,
i. Lo strato n riceve il pacchetto che gli compete dallo strato (n-1);
ii. Lo strato n elabora il pacchetto;iii. Lo strato n elimina dal pacchetto l’Header specifico dello
strato n;iv. Lo strato n passa la parte rimanente del pacchetto allo
strato (n+1).Se non sono stati introdotti errori nel trasferimento dei dati del Terminale-Sorgente al Terminale-Destinazione, il messaggio M ricevuto allo strato applicativo del Terminale di Destinazione coincide col messaggio M generato dallo strato applicativo del Terminale Sorgente
Baccarelli, Cordeschi, Patriarca, Polli
99
La Normativa nelle TLC-Organismi Mondiali
International Telecommunication Union (ITU)
International Standard Organization (ISO)
International Electrotechnical Commission(IEC)
Internet Engineering Task Force (IETF)
Baccarelli, Cordeschi, Patriarca, Polli
100
La normativa nelle TLC- L’organismo ITU
È un’agenzia specializzata delle Nazioni Unite, con sede in Ginevra e con il compito di armonizzare tutte le iniziative mondiali e regionali nel settore delle Telecomunicazioni.Tiene tre tipi di conferenze amministrative tra cui si menziona:
i. WARC (World Administrative Radio Conference). -considera ed approva tutti i cambiamenti alle regolamentazioni sulle radio comunicazioni con particolare riferimento all’uso dello spettro delle frequenze radio.
Dagli inizi degli anni ’90 è organizzato in tre settori:i. Sviluppoii. Standardizzazioneiii. Radiocomunicazioni
Baccarelli, Cordeschi, Patriarca, Polli
101
La normativa nelle TLC- L’organismo ISO
Ente delle Nazioni Unite, creato con l’obiettivo di promuovere lo sviluppo della normativa internazionale per facilitare il commercio di beni e servizi nel mondo.
Relativamente alle Telecomunicazioni e alle aree collegate, opera tramite un comitato tecnico congiunto con l’IEC: Joint Technical Committee on Information Technology (JTC1).
L’ISO-IEC JTC1 è organizzato in Comitati Tecnici (TC), attualmente otre 170, e in Sotto-comitati (SC).
Baccarelli, Cordeschi, Patriarca, Polli
102
La normativa nelle TLC- L’organismo IETF
Coordina l’attività di standardizzazione nell’ambito della rete Internet.E’ organizzata in Working Group tematici.L’iter di standardizzazione prevede la produzione di:
i. Draft (documenti di lavoro)ii. RFC (standard)Tutti i documenti IEFT sono disponibili sul sito:
www.ieft.org
Baccarelli, Cordeschi, Patriarca, Polli
103
Organizzazione e Struttura del Corso (1/2)
In accordo al Modello protocollare Internet, il corso si articola nelle seguenti parti:
1. Strato Fisicoo Segnali analogici e numericio Elaborazione analogica e numerica dei segnalio Mezzi trasmissivi e canali di comunicazioneo Modulazioni analogiche e numericheo Codifica di canale
2. Strato di collegamentoo Accesso multiploo Reti in Area Locale (LANs)
Baccarelli, Cordeschi, Patriarca, Polli
104
Organizzazione e Struttura del Corso (2/2)
4. Strato di Reteo Il protocollo IPo Algoritmi e Protocolli di instradamento
5. Strato di Trasporto– I protocolli TCP e UDP
Baccarelli, Cordeschi, Patriarca, Polli
1
Capitolo 2Introduzione allo Strato
Fisico:Segnali Analogici e numerici
Baccarelli, Cordeschi, Patriarca, Polli
2
Segnali – Definizioni (1/2)Concettualmente un segnale x(t) rappresenta l’andamento nel tempo t di una grandezza fisica x (tensione, corrente, intensità luminosa, temperatura)Formalmente, un segnale x(t) è una funzione
definita in un dominio sottoinsieme di R1 (detto spazio di parametro) e a valori in un codominio sottoinsieme di R1 o C1 (detto spazio dei valori)
: →T Dx(t)
TD
Baccarelli, Cordeschi, Patriarca, Polli
3
Segnali – Definizioni (2/2)Un segnale è detto di durata limitata se è un
sottoinsieme [a,b] limitato di R1 (ossia =[a,b] con e )
Un segnale è detto di durata illimitata se è un sottoinsieme illimitato di R1 (ossia, oppure oppure )
Un segnale è detto analogico se è un sottoinsieme continuo di R1 (ossia è costituito da una infinità non numerabile di punti) e è un sottoinsieme continuo di R1 o C1 (ossia è costituito da una infinità non numerabile di numeri reali o complessi)
Un segnale è detto numerico (o digitale) se è un sottoinsieme continuo di R1 e è costituito da un numero finito di elementi.
: →T Dx(t) TT | |< +∞a | |< +∞b
: →T Dx(t)( , )= −∞ +∞T ( , ]= −∞T b
[ , )= +∞T a
T
: →T Dx(t) TT D
D
: →T Dx(t) T0 1{ ,..., }L−= α αD
1L ≥
Baccarelli, Cordeschi, Patriarca, Polli
4
Segnali-Classificazione
Esempio di Segnale Analogico con
Esempio di segnale numerico con
[ 5,5] e [0,10]= − =D T
-5
5
0 10 t
x(t)
{ 1,1} e [ 10,10]= − = −D T1
10 t
x(t)
-10
Baccarelli, Cordeschi, Patriarca, Polli
5
Segnali analogici e numerici (1/3)Segnali analogici:
o Audio (voce, musica)o Video (TV analogica)
Segnali numerici (sequenze di digit):o Audio e video digitalizzatio Immagini Digitalio Sequenze di immagini (videoclip, TV digitale, …)o Dati (documenti word/excel, files, …)
Reti analogiche: Broadcast radio/TV, cellulare TACS, cordless analogico
Tutte le altre reti sono numeriche (audio e video vengono digitalizzati)
t
Baccarelli, Cordeschi, Patriarca, Polli
6
Segnali analogici e numerici (2/3)Nota bene: il segnale che trasporta un bit è comunque analogico:
Però l’informazione ad esso associata è numerica, ovvero 0 od 1.
t- 5 V
0 1 0 0 0 1 0 1 …
t
+ 5 V
Tensione elettrica sul filo, dalla tastiera alla CPU
Potenza luminosa entrante in una fibra ottica
0 1 0 0 0 1 0 1 …
Baccarelli, Cordeschi, Patriarca, Polli
7
Segnali analogici e numerici (3/3)È quindi importante considerare i segnali analogici, facendo riferimento a collegamenti analogici unidirezionali (es. radiodiffusione):
SACanale di
Trasmissione
SorgenteAnalogica
tDA
DestinazioneAnalogicat
A livello logico si può identificare un collegamento numerico (binario) (es. modem in banda audio):
SBCanaledi Tx
SorgenteBinaria
DB
DestinazioneBinaria
ModemTx
ModemRx
..010110..
t t
Baccarelli, Cordeschi, Patriarca, Polli
8
Fondamenti sui segnali analogici-Strato Fisico
Baccarelli, Cordeschi, Patriarca, Polli
9
Segnali analogici (1/2)
Collegamenti analogici punto-punto unidirezionali (es. radiodiffusione):
SACanale di
Trasmissione
SorgenteAnalogica
DA
DestinazioneAnalogica
tt
Esempi:Voce segnale di pressione acusticaTelefono segnale elettricoVideo segnale ottico
S DTrasduttore diemissione
Trasduttore diricezione
Canale fisico (mezzo trasmissivo)
Baccarelli, Cordeschi, Patriarca, Polli
10
Segnali analogici (2/2)
Esempi di segnale continuo, tempo-continuo (analogico):Voce, temperatura ambiente, musica, televisione
Segnale: andamento nel tempo di una grandezza perturbata),(tx +∞<<∞− t
)(tx
t
Baccarelli, Cordeschi, Patriarca, Polli
11
Esempi di segnali analogici (1/3)
T0
)2cos()( 0 ϕπ += tfAtx
)(tx)cos()0( ϕAx =
Sinusoide:
A ampiezza; frequenza; fase (radianti);
To =1 / periodo (sec); = pulsazione (rad/sec);
0f ϕ
0ω 02 fπ ≡0f
≡ ≡
≡
≡
t
Baccarelli, Cordeschi, Patriarca, Polli
12
Esempi di segnali analogici (2/3)
( ) ,tx t Ae tβ= − ∞ < < +∞
Esponenziale reale: Rettangolo:
⎩⎨⎧
==01
)()( trecttx T
/2
/2
t T
t T
<
≥
A.)(tx0<β 0>β
t2T
−2T
1
)(tx
t
Baccarelli, Cordeschi, Patriarca, Polli
13
Esempi di segnali analogici (3/3)
11
Triangolo: Gradino unitario:−
⎪⎩
⎪⎨
⎧+==
0/1/1
)( TtTt
ttri)(tx T
TttTTt
>
<<−≤≤
00
⎩⎨⎧
== − 01
)()( 1 tutx00
<≥
tt
)(tx )(tx
ttT− T
Baccarelli, Cordeschi, Patriarca, Polli
14
I numeri complessi (1/4)
(unità immaginaria);1−=j
Se b2<4ac si ha la radice quadrata di un numero negativole radici x1, x2 sono numeri complessi
=−±−
=→=++a
acbbxcbxax2
402
2x1
x2
Esempio:
12 −=j
Baccarelli, Cordeschi, Patriarca, Polli
15
I numeri complessi (2/4)
Numero complesso:
⎟⎠⎞
⎜⎝⎛=⎟
⎠⎞
⎜⎝⎛==
+=
−
22
αβ
αβϕ
βα
1arctanarg tgx
x
ϕβ
ϕα
sin
cos
x
x
=
=Relazioni inverse
ϕβα jexjx =+=
.
α
β
ϕ
x
x
Baccarelli, Cordeschi, Patriarca, Polli
16
I numeri complessi (3/4)
ϕβα jexjx −=−=*
)()()()( δβγαδγβα +++=+++=+ jjjyx)()()( ϑϕαδβγβδαγ +=++−= jeyxjxy
Somma e prodotto tra numeri complessi:
Complesso coniugato:
,ϕβα jexjx =+= ϑδγ jeyjy =+=
Reciproco di un numero complesso:
ϕϕβα
ββα
αβαβα
βαj
j exex
jjjx
x −− ==+
−+
=+−
=+
==1111
2222221
Baccarelli, Cordeschi, Patriarca, Polli
17
I numeri complessi (4/4)
Rapporto tra due numeri complessi:
)(222222
))(( ϑϕ
δγαδβγ
δγβδαγ
δγδγβα
δγβα −=
+−
+++
=+
−+=
++
= jeyx
jjjjj
yx
Formule di Eulero:
jeeeeje
jjjjj
2sin,
2cossincos
ϕϕϕϕϕ ϕϕϕϕ
−−± −
=+
=→±=
; ϕ ϑ= α + β = = γ + δ =j jx j x e y j x e
Baccarelli, Cordeschi, Patriarca, Polli
18
Segnali complessi (1/2)
Coppia di segnali reali, associati come parte reale xR(t) e parte immaginaria xI(t) di un segnale complesso x(t) = xR(t) + j xI(t)
Esempio - esponenziale complesso:)2sin()2cos()( 00
)2( 0 ϕπϕπϕπ +++== + tfjAtfAAetx tfj
)2sin()()2cos()(
0
0
ϕπϕπ
+=+=
tfAtxtfAtx
I
R parte realeparte immaginaria
)(txR )(txI
Baccarelli, Cordeschi, Patriarca, Polli
19
Segnali complessi (2/2)
2 2( ) ( ) ( )
( )arg( ( ))( )
R I
I
R
x t x t x t
x tx t arctgx t
= +
⎛ ⎞= ⎜ ⎟
⎝ ⎠
A
ϕt
t
0(2 )( ) j f tx t Ae π +ϕ=
0(2 )arg( ( )) arg( )j f tx t Ae π +ϕ=
Baccarelli, Cordeschi, Patriarca, Polli
20
Operazioni sui segnali (1/2)
Somma, Prodotto:
Prodotto per costante:
Ribaltamento:
),()()( tytxtz += )()()( tytxtz ⋅=
)()( tcxtz = (amplificazione, attenuazione)
)()( txtz −=
Poiché i segnali sono funzioni, tutte le operazioni tra funzioni possono essere anche applicate ai segnali. In particolare:
t t
)(tx )(tz
ribaltamento
Baccarelli, Cordeschi, Patriarca, Polli
21
Operazioni sui segnali (2/2)
1, ( )
d ila ta z io n ee sp a n s io n e d i sc a laα < 1,
( )c o n tra z io n e
c o n tra z io n e d i sc a laα >
Traslazione )()( τ−= txtz
t tt
t0 ,
( )a n tic ip o
tra s la z io n e a s in is traτ < 0 , r ita rd o
tra s la z io n e a d e s traτ >
)(tz )(tz)(tx
Dilatazione e contrazione 0),()( >= ααtxtz
ttt
)(tz )(tz)(tx
τ τ
Baccarelli, Cordeschi, Patriarca, Polli
22
Energia di un segnale (1/3)
xε
Segnale “di energia”:
Segnale “impulsivo”:∫+∞
∞−+∞<dttx )(
Def:
Def:
Def:
xε +∞<0 <
2( ) 0+∞ ≥∫−∞ x t dt
Baccarelli, Cordeschi, Patriarca, Polli
23
Energia di un segnale (2/3)
Esempio: esponenziale negativo unilatero
xε ( ) →=−
===∞+−∞+ −∞+ − ∫∫ αα
ααα
22
2
0
22
0
22
0
2 AeAdteAdtAe ttt di energia
→=−
==∞+−∞+
∞−
∞+ −∫ ∫ αααα AeAdtAedttx tt
00)( impulsivo
⎩⎨⎧
==−
−−
0)()( 1
tt Ae
tuAetxα
α t 0t< 0≥
)(tx
t
0α >
Baccarelli, Cordeschi, Patriarca, Polli
24
Energia di un segnale (3/3)
Esempio: esponenziale decrescente bilatero
0 ,)( >= − αα tAetx
→== ∫∞+
∞− 2)( ,
2
ααAdttxA
xε Impulsivo e di energia
)(tx
t
Baccarelli, Cordeschi, Patriarca, Polli
25
Potenza di un segnale
Segnali “di potenza”: +∞<xP
Esempio: segnale costante ctx =)(2222/
2/
1lim1lim ctt
cdtct
Pt
t
ttx =ΔΔ
=Δ
=+∞→Δ
Δ
Δ−+∞→Δ ∫
)(tx
t0 <
Def:
Def:
2/21lim ( ) 0/2tP x t dtx t tt
Δ ≥∫Δ −ΔΔ →+∞
Baccarelli, Cordeschi, Patriarca, Polli
26
Segnale periodico (1/3)
Formule di calcolo della potenza di un segnale periodico/ 2 2
/ 2
1 ( ) T
x TP x t dt
T −= ∫
( ) ( ) 0, 1, 2,... ( ) ( ) n
x t x t nT n x t g t nT T periodo+∞
=−∞
= + = ± ± → = − ≡∑
)(tg)(tx
Tt
(periodo principale)
……
Un segnale periodico è un segnale di potenza
Baccarelli, Cordeschi, Patriarca, Polli
27
Segnale periodico (2/3)
Esempio: sinusoide 00 /1 ),2cos()( fTtfAtx =+= ϕπ
2 nulla) area ha coseno (il 0
222
)24cos(22
1
)]24cos(1[21)2(cos1
22
2/
2/
2/
2/ 0
22
2/
2/ 0
22/
2/ 022
ATTT
A
dttfT
AdtTA
dttfTAdttfA
TP
T
T
T
T
T
T
T
Tx
=+⎟⎠⎞
⎜⎝⎛ +=
=++=
=++=+=
∫ ∫
∫∫
− −
−−
ϕπ
ϕπϕπ
Baccarelli, Cordeschi, Patriarca, Polli
28
Segnale periodico (3/3)
Esempio: treno di “impulsi” rettangolari
( ) ( )
/ "duty cicle" 1
n
nx t rect t nT
T
=+∞
τ=−∞
= −
τ ≡ ≤
∑t
)(tx
Tτ
TTdt
TdtnTtrect
TP
T
Txττττ
ττ =⎟⎠⎞
⎜⎝⎛ +==−= ∫∫ −− 22
111)]([1 2/
2/
22/
2/
2
Baccarelli, Cordeschi, Patriarca, Polli
29
Relazione tra segnali di energia, impulsivi e di potenza
Segnali di energia Segnali impulsivi
Segnali di potenza
Segnali periodici
Baccarelli, Cordeschi, Patriarca, Polli
30
Attraversamento di un sistema tempo-continuo da parte di un
segnale analogico
S)(tx ( ) ( ( ))y t f x t=
Un sistema S è un blocco che trasforma un segnale di ingresso x(t) in uno di uscita y(t)=f(x(t))
Baccarelli, Cordeschi, Patriarca, Polli
31
Attraversamento di un sistema tempo-continuo da parte di un
segnale analogico
(sovrapposizione degli effetti)
Sistema Lineare:
)()()()(
22
11
tytxtytx
→→
)()()()( 2121 tbytaytbxtax +→+
Sistema Permanente:
)()()()( ττ −→−⇒→ tytxtytx (invarianza nel tempo)
Un sistema lineare e permanente (LP) è detto “filtro”
Classificazione dei sistemi:
Baccarelli, Cordeschi, Patriarca, Polli
32
L’impulso matematico
)(1lim)(0
trectt
t tt Δ→Δ Δ=δ
area 1
⎩⎨⎧
≠=∞+
=0 00
)(tt
tδ
2tΔ
−2tΔ t
)(1 trectt tΔΔ
t
1
)(tδ
Rappresenta un segnale di durata brevissima (al limite, zero) e di ampiezza elevatissima (al limite, infinita) il cui integrale èunitario
Baccarelli, Cordeschi, Patriarca, Polli
33
Proprietà fondamentali dell’impulso matematico
1. (l’impulso matematico ha area unitaria)
2.
3. (proprietà di campionamento dell’impulso
matematico)
( ) 1t dt+∞
−∞
δ =∫
0 0( ) ( ) ( )x t t t dt x t+∞
−∞
δ − =∫
0
0
0( ) 1, per ogni 0t
t
t t dt+ε
−ε
δ − = ε >∫
Baccarelli, Cordeschi, Patriarca, Polli
34
Risposta impulsiva di un sistema lineare e permanente
Filtrox(t)=δ(t) y(t)=h(t)
La risposta impulsiva h(t) di un sistema lineare e permanente (filtro) èdefinita come l’uscita y(t) del sistema quando all’ingresso è applicato l’impulso unitario x(t)=d(t)
Proprietà elementari di h(t)Permanenza
Linearità
( )0 0( ) ( ) ( )x t t t y t h t t= δ − → = −
( ) ( )0 0( ) ( ) ( ) ( )x t a t b t y t ah t bh t= δ + δ → = +
Baccarelli, Cordeschi, Patriarca, Polli
35
Convoluzione – Definizione (1/6)
Se il sistema è LP con risposta impulsiva h(t), allora l’uscita y(t) corrispondente ad un generico segnale di ingresso x(t) è pari a
L’integrale precedente è detto integrale di convoluzione tra l’ingresso x(t) e la risposta impulsiva h(t) del filtro.
h(t)x(t) y(t)
( ) ( ) ( ) ( ) ( ),y t x h t d x t h t tτ=+∞
τ=−∞
= τ − τ τ = ∗ −∞ < < +∞∫
Baccarelli, Cordeschi, Patriarca, Polli
36
Convoluzione – Calcolo (2/6)
( ) ( )* ( ) ( ) ( ) , - <t<++∞= = τ −τ τ ∞ ∞∫−∞y t x t h t x h t d
1. Poiché per ogni fissato valore di t, l’integrale ènella variabile , conviene innanzitutto graficare i due segnali da convolvere x(.) e y(.) come funzioni di ottenendo così , , .
2. Il segnale va poi ribaltato rispetto all’asse , ottenendo quindi .
( )x τ - < <+∞ τ ∞( )τh
ττ
( )τh τ( )−τh
Baccarelli, Cordeschi, Patriarca, Polli
37
Convoluzione – Calcolo (3/6)3. Il segnale così ottenuto va poi traslato della
quantità t lungo l’asse ottenendo così. A questo riguardo quando t>0 allora
va traslato di t verso destra. Quando invece t<0, va traslata di t verso sinistra
4. Per ogni valore di si calcola il prodotto
5. Si integra rispetto a la funzione e cioè si calcola l’area sottesa dalla funzione
. La suddetta area è proprio il valore y(t) assunto dalla convoluzione all’istante t.
( , )τ∈ −∞ +∞
( ) ( )x h tτ − τ
( ) ( )x h tτ − τ( ) ( )x h tτ − τ
τ( )− τh t( )−τh
( )−τh
τ
Baccarelli, Cordeschi, Patriarca, Polli
38
Convoluzione – Esempio di Calcolo (4/6)
( )x τ
τ-4 4
2
0 3
1
-3 0
1τ
τ
-3+t t
1
τ -3+t t
1
τ
-3+t t
2
τ -3+t t
2
τ
( )y t
( )−τh
( ), 0− τ <h t t
( ) ( ),τ − τx h t( ) ( )τ − τx h t
( ), 0− τ >h t t
Baccarelli, Cordeschi, Patriarca, Polli
39
Proprietà di base della Convoluzione (5/6)
( ) * ( ) ( ) * ( )x t h t h t x t=1. L’operazione di convoluzione è commutativa, ossia2. L’operazione di convoluzione è associativa, cioè
3. L’operazione di convoluzione è distributiva rispetto alla somma di segnali
4. La convoluzione di trasla di t0, ossiaOssia
5. Dati due segnali , di durata ,il segnale convoluto ha durata pari alla somma
[ ( )* ( )]* ( ) ( )*[ ( )* ( )]x t h t z t x t h t z t=
[ ( ) ( )]* ( ) [ ( ) * ( )] [ ( ) * ( )]x t z t h t x t h t h t z t+ = +
0( ) con ( )x t t tδ − ( )x t
0 0( ) * ( ) ( )x t t t x t tδ − = −
( ) x t ( ) h t e x hΔ Δx hΔ + Δ
Baccarelli, Cordeschi, Patriarca, Polli
40
Risposta di un sistema LP-Prova(6/6)
• può essere espresso come• Permanenza
• Linearità
( ) ( ) ( ) ( )d x t d x h tτ τ δ − τ → τ τ − τ
( ) ( ) ( ) ( )x t t y t h t= δ − τ → = − τ
( ) x t ( ) ( ) * ( )y t x t h t=Filtro h(t)
( ) x t ( ) ( ) ( )x t x t d+∞
−∞
= τ δ − τ τ∫
( ) ( ) ( ) ( ) ( ) ( )x t x t d x h t d y t+∞ +∞
−∞ −∞
= τ δ − τ τ→ τ − τ τ =∫ ∫
Baccarelli, Cordeschi, Patriarca, Polli
41
Causalità e stabilità di un filtro
Def: Filtro causale:
il sistema “risponde” solo dopo cheè stato “eccitato”
0 0)( <= tperth )(th
t
Def:Filtro stabile:
Ingressi limitati, corrispondano uscite limitate
')()( MtyMtx <→<
Baccarelli, Cordeschi, Patriarca, Polli
42
Trasformazioni istantanee (senza memoria)
Ritardo
Moltiplicazioneper costante
Quadratore
Lineare
Segno
0 0( ) ( ) ( ) è LP con ( ) ( )x t y t x t t h t t t→ = − = δ −
( ) ( ) ( ) è LP con ( ) ( )x t y t cx t h t c t→⊗→ = = δ
P si L, no )()( 2 txty =c
P si L, no )()( btaxty +=+1, se x(t) 0
( ) sign[x(t)] no Li, si P-1, se x(t) < 0
y t≥⎧
= ⎨⎩
Baccarelli, Cordeschi, Patriarca, Polli
43
Sviluppo in serie di Fourier (SdF) per segnali periodici (1/7)
è una rappresentazione di x(t)
frequenza fondamentale:T
F 1=
⎪⎪⎩
⎪⎪⎨
⎧
=+==
=
∫
∑
−
−
+∞
∞=
2/
2/
2
-n
2
)(1 T
T
jnnn
tfjn
tfjn
nn
n
eMjIRdtetxT
X
eXx(t)
ϕπ
π
Segnale periodico, periodo T:
{ } { },...,,..., 101 XXXX n −=
Sviluppo in serie di Fourier
Coefficienti dello sviluppo
TnnFfn /== Armonica n-esima
∑ −=+=n
nTtgTtxtx )()()(
Baccarelli, Cordeschi, Patriarca, Polli
44
Sviluppo in serie di Fourier (SdF) per segnali periodici (2/7)
(dispari)
(simmetria coniugata)
(dispari))2sin()(1
(pari)MM(pari))2cos()(1
reale e periodico di periodo Tsegnale)(
*
2/2/ nn
2/2/ nn
nn
TT nnn
TT nnn
XX
IdttftxT
I
RdttftxT
R
tx
−
− −−
− −−
=
−=−=−=
===
∫
∫
ϕϕπ
π
Baccarelli, Cordeschi, Patriarca, Polli
45
Sviluppo in serie di Fourier (SdF) per segnali periodici (3/7)
[
[
fase)eampiezzaopportunadicoseni(solo)2(cos2
)(
10
1
)2()2(0
1
220
nnn
n
n
tfjn
tfjn
n
tfjn
tfjn
tfMR
eMeMR
eXeXXtx
nnnn
nn
ϕπ
ϕπϕπ
ππ
++=
=++=
=++=
∑
∑
∑
∞+
=
∞+
=
−−−
+
∞+
=
−−
−
]
]
e periodico di periodo T:)(toneRicostruzi realex
Baccarelli, Cordeschi, Patriarca, Polli
46
Sviluppo in serie di Fourier (SdF) per segnali periodici (4/7)
( )TnX
XeXT
dttxT
P
n
nn
T
Tn
tfjn
T
Txn
/ frequenza a armonica singola della potenza la è
1)(1
:periodici) segnali(per Parseval di Teorema
2
22
2/
2/
22/
2/
2 ∑∫ ∑∫ ===−−
π
Baccarelli, Cordeschi, Patriarca, Polli
47
Sviluppo in serie di Fourier (SdF) per segnali periodici (5/7)
Esempio di sviluppo in serie di Fourier
/ 2 / 22 2
/ 2 / 2
2 / 2 2 / 2
( ) ( )
1 ( ) 1
2 sin( )2 2
sin( ) sinc( )
sin( )sinc( )
n n
n n
n
T j f t j f tn T
j f j fn
n n
nn
n
x t A rect t nT
AX x t e dt e dtT T
j fA e e AT j f T j f
fA A fT f T
xxx
τ
τ− π − π
− −τ
− π τ π τ
= −
= = ⋅ =
π τ−= = =
− π ππ ττ τ
= = π τπ τ
⎡ ⎤=⎢ ⎥⎣ ⎦
∑
∫ ∫
t
)(tx
Tτ
A
nX
n
•
• •
•
•
••••
• •• •
1X
2X
3X 5X
6X
1−X
2−X
3−X5−X
6−X
0X
τ1
τ2
Baccarelli, Cordeschi, Patriarca, Polli
48
Sviluppo in serie di Fourier (SdF) per segnali periodici (6/7)
{ }
0 0
1 1
2 2
0 1 1 2 2
3 3 4 4
( ) reale e pari reale pari, ossia
sin( / )/
sin(2 / )2 /
........
Caso particolare: 2
, , 0,2
, 0, .......3
n n -nx t X X = X
X R AT
TX X AT T
TX X AT T
T/A AX X X X X
AX X X X
−
−
− −
− −
→
τ= =
τ πτ= =
πττ πτ
= =πτ
τ =
= = = = =π
= =− = =π
nX
•
• •
•
•
π/A
0
2/A
0•
• •
•
Baccarelli, Cordeschi, Patriarca, Polli
49
Sviluppo in serie di Fourier (SdF) per segnali reali e periodici (7/7)
F " a r m o n i c a n -e s i m a "n
nX
n
•
• •
•
•
••••
• •• •
1 2
continua"" 0=F 1T
F = “fondamentale”
n
2nn XP =
•
• •
•
•
••••
• •• •
1 2
Spettrodi ampiezza(complessa)
Spettrodi potenza { , 0, 1, 2,...}nP n = ± ±
Baccarelli, Cordeschi, Patriarca, Polli
50
Trasformata di Fourier (1/7)
Def: Un segnale x(t) è impulsivo se
FT :
FT-1 :
}{ +∞<<∞−== ∫+∞
∞−
− f,)t(xFTdte)t(x)f(X ftj π2
}{ +∞<<∞−== −+∞
∞−∫ tfXFTdfefXtx ftj ,)()()( 12π
X(f) è una rappresentazione di x(t) nel dominio della frequenza(dominio “spettrale”) anziché del tempo
( )+∞
−∞<+∞∫ x t dt
Baccarelli, Cordeschi, Patriarca, Polli
51
Trasformata di Fourier (2/7)
X(f) = R(f) + j I(f) = M(f)e j ∫ +=f
fftj dfefMtx ))(2()()( ϕπ
f
M(f)
f
f
(f)
f
I(f)
R(f)
Baccarelli, Cordeschi, Patriarca, Polli
52
Trasformata di Fourier di segnalireali (3/7)
)( tx segnale reale:
∫∫+∞
∞−
+∞
∞−−= dtfttxjdtfttxfX )2sin()()2cos()()( ππ
)()( fRfR −= )()( fIfI −−=
)()( fMfM −= ( ) ( )f fϕ ϕ=− −)()( * fXfX −=
Simmetria coniugata:
Baccarelli, Cordeschi, Patriarca, Polli
53
Trasformata di Fourier di segnalireali (4/7)
Conseguenza :Per segnali reali si può fare riferimento alle sole frequenze positive della X(f)
f
M(f)
f
M(f)
f
(f)ϕ
f
(f)ϕ
Baccarelli, Cordeschi, Patriarca, Polli
54
Trasformata di Fourier – Banda di un segnale di banda base (4/7)Un segnale reale x(t) si dice limitato nella banda [-W,W] se la sua trasformata di Fourier X(f) è identicamente nulla per f ∉[-W,W]
La quantità W si misura in Hz (o suoi multipli) e costituisce la “Larghezza di Banda” del segnale x(t)
Poiché X(f)≠0 in un intorno [-W,W] di f=0, il segnale x(t) si dice “segnale di banda base”
-W W f
X(f)
Baccarelli, Cordeschi, Patriarca, Polli
55
Trasformata di Fourier – Banda di un segnale di banda base (6/7)
-f0-W -f0 W-f0 -W+f0 f0 f0+W f
X(f)
Un segnale reale x(t) si dice limitato in banda, con banda 2W centrata intorno alla frequenza f0 (Hz) se:
1) f0 >W;2) X(f) è identicamente nulla per f ∉[- f0-W,- f0 +W]U [f0-W,f0 +W]
La quantità 2W (Hz) costituisce la larghezza di banda del segnale x(t)Poiché X(f)≠0 in un intorno di ±f0 non adiacente all’origine f0, il segnale x(t) si dice “segnale in banda traslata”.
Baccarelli, Cordeschi, Patriarca, Polli
56
Trasformata di Fourier – Unità dimisura della larghezza di banda
(7/7)
1sec
Hz =
La larghezza di banda W (2W) di un segnale x(t) di banda base (di banda traslata) si misura in
o in suoi multipli
3
6
9
1 kHz 10 Hz1 MHz 10 Hz1GHz 10 Hz
=
=
=
Baccarelli, Cordeschi, Patriarca, Polli
57
Trasformata di Fourier e Teorema diParseval
E’ possibile calcolare l’energia di un segnale “impulsivo” o “di energia” x(t) mediante la sua trasformata X(f).In particolare, vale il seguente risultato noto come “Teorema di Parseval per segnali impulsivi e/o di energia”:
2X(f ) dfx
+∞
−∞
= ∫ε
Baccarelli, Cordeschi, Patriarca, Polli
58
Trasformata di Fourier: Esempi (1/4)
)()( trecttx T=
)(sin)sin(22
)(2
22
2
2
2
22
2
2 fTcTfTfTT
fjee
fjedtefX
TfjTfjT
Tt
ftjT
Tftj π
ππ
ππ
ππππ ==
−−
=−
==+−
=
−
−
−∫
essendo )sin(2
zjee jzjz
=− −
t2T
−2T
1)(tx
)( fX
fT1
−T1••• •
T2
T2
−
Baccarelli, Cordeschi, Patriarca, Polli
59
S
Trasformata di Fourier: Esempi (2/4)
1)1
)(tx
t2
T2
T−
( ) sinc( )X f T fT= π
1T
− 1T
f
)()( ttx δ= 1)( =fX
t
2)
1
)( fX
f
Baccarelli, Cordeschi, Patriarca, Polli
60
Trasformata di Fourier: Esempi (3/4)
ctx =)( )()( fcfX δ=
t
)(txc
f
)( fXc
3)
)(2
)(2
)2cos()( 2oo
ftjo ffAffAdtetfAfX ++−== −∞+
∞−∫ δδπ π
t
)(tx )( fX
fof− of
2A
2A
( )tfcosA)t(x oπ2=
4)
Baccarelli, Cordeschi, Patriarca, Polli
61
Trasformata di Fourier: Esempi (4/4)
)()( 1 tuetxt
−
−= τ
τπτ
fjfX
21)(
+=
22241)(
τπτ
ffM
+=
)2()( τπϕ farctgf −=
5)
t
)(tx )()( fXfM =
f
)(tx
t
τ piccolo:
f
)( fM
Baccarelli, Cordeschi, Patriarca, Polli
62
Relazioni tempo/frequenza
Segnali brevi (in t) banda larga (in f)
Segnali lunghi (e lenti) banda stretta (in f)
Segnali rapidamente varianti in t banda larga (in f)
t f
t f
Baccarelli, Cordeschi, Patriarca, Polli
63
Proprietà della trasformata diFourier
1) Linearità:
( ) ( )y t Y f⇔{ ( ) ( )} ( ) ( ) (linearità)FT x t y t X f Y fα +β = α +β
( ) ( )x t X f⇔
2) Ritardo:( ) ( )x t X f⇔ 2{ ( )} ( ) (sfasatura)j fFT x t X f e− π τ− τ =
3) Modulazione:( ) ( )x t X f⇔ 2
0{ ( ) } ( ) (modulazione)oj f tFT x t e X f fπ = −
4) Derivazione:
( ) ( ) /y t dx t dt= ( ) 2 ( )Y f j f X f= π
Baccarelli, Cordeschi, Patriarca, Polli
64
TdF di un segnale periodico
∑ −=+=n
nTtgTtxtx )()()(
tfj
nn
neXtx π2)( ∑∞+
−∞=
=SdF:
TdF: )()( ∑ −=n
nn ffXfX δ
n
nX•
•
• • •• •
•
(segnale periodico)
••
f
)( fX
Baccarelli, Cordeschi, Patriarca, Polli
65
Proprietà fondamentale dellaconvoluzione
La trasformata di Fourier della convoluzione
è pari al prodotto delle trasformate
dove
( ) ( )* ( )y t x t h t=
( ) ( ) ( )Y f X f H f=
( ) { ( )}Y f FT y t=( ) { ( )}X f FT x t=
( ) { ( )}H f FT h t=
Baccarelli, Cordeschi, Patriarca, Polli
66
Risposta in frequenza di un sistemaLP (filtro)
∫∞+
−∞=−=
ττττ dthxty )()()(
)(ty)(tx
Convoluzione (nel tempo):
)(th
Prodotto (in frequenza):
( ) ( ) ( )Y f H f X f=
)( fX )( fY)( fH
)(th : risposta impulsiva del filtro : risposta in frequenza del filtro o funzione di trasferimento del filtro)( fH
dfefXfHdfefYtyf
ftj
f
ftj ∫∫ ⋅== ππ 22 )()()()(
Baccarelli, Cordeschi, Patriarca, Polli
67
Filtraggio analogico (1/2)
Meccanismo di filtraggio:
f
)( fX
Filtro passa-basso:
(LP, low-pass)
f
)( fH
f
f
)( fH
)( fY
1Filtro
Filtro passa-alto(HP, high-pass)
f
)( fH
Filtro passa-banda(BP, band-pass)
f
)( fH
Baccarelli, Cordeschi, Patriarca, Polli
68
Filtraggio analogico (2/2)
)(th reale )()( fHfH −= ∗ (simmetria coniugata)
E’ sufficiente conoscere solo per le frequenze positive, perché le f negative si deducono dalla simmetria coniugata
f
)( fH
f
)( fϕ
)( fH
Baccarelli, Cordeschi, Patriarca, Polli
69
Risposta di un filtro al segnalesinusoidale
Le sinusoidi sono largamente impiegate nelle trasmissioni(esempi: fax, tastiera telefono, GSM, …)
)2cos()( θπ += tfAtx o))(2cos()()( ooo ftffHAty ϕθπ ++=
)( fH )(ty)(tx
t
of1
)(2 ofHAA2
of1
Baccarelli, Cordeschi, Patriarca, Polli
70
Proprietà duale della FTProprietà della FT: alla convoluzione in t corrisponde il prodotto in f
( ) ( ) ( )Y f H f X f=∫∞+
−∞=−=
ττττ dthxty )()()(
La convoluzione in t aumenta la durata temporale del segnale
)()()( thtxty = ( ) ( ) ( ) ( ) * ( )Y f H X f d X f H fσ
= σ ⋅ − σ σ =∫
Proprietà duale: al prodotto in t corrisponde la convoluzione in f
Il prodotto in t aumenta la banda (occupazione in frequenza) del segnale
Baccarelli, Cordeschi, Patriarca, Polli
71
Segnale aleatorio (Gaussiano)
t
)(txSegnale aleatorio:
Funzione densità di probabilità di una variabile:esprime la probabilità che la variabile
assume un valore nell’intorno di x.)(xpx
x
)(xp
Sono più probabili i valori piccoli e meno probabili i valori grandi (positivi e negativi in ugual misura)
Densità di probabilità gaussiana:(media nulla, varianza )2σ
2
2
222
1)( σ
πσ
x
x exp−
=
Baccarelli, Cordeschi, Patriarca, Polli
72
Segnale aleatorio (Gaussiano)- Esempi
Esempi di segnale con “distribuzione”Gaussiana:
o Voce umana o Suonio “rumore” caotico (voci da stadio, radio fuori
sintonia, …)
I segnali aleatori sono tipicamente segnali di potenza
Baccarelli, Cordeschi, Patriarca, Polli
73
Fondamenti sui segnali numerici-Strato Fisico
Baccarelli, Cordeschi, Patriarca, Polli
74
21
-1-1 0 1 n
Sequenza numerica- Definizione
Una sequenza numerica è una stringa ordinata di numero reali o complessi il cui indice di posizione n può assumere solo i valori interi (positivi e/o negativi)EsempioLa sequenza può essere rappresentata graficamente come in
Una sequenza numerica è detta di durata finita N>0 se ammette valori diversi da zero solo in corrispondenza di N valori dell’indice n.
{ }, 0, 1, 2,...nx n = ± ±
0 1 1{ 1, 1, 2}x x x−= = − =
Baccarelli, Cordeschi, Patriarca, Polli
75
Campionamento
nTttxnx
== )()(
t
Campionatore:Trasmissione a distanza, o immagazzinamento)(tx )(nx
t
•
)1(x
)0(x TT
T2•
••
•• •
•. . . .
Segnale analogico Sequenza dei suoi campioni:
≡T intervallo di campionamento (sec)T
fc1
= frequenza di campionamento (Hz)
)(tx
cf
Baccarelli, Cordeschi, Patriarca, Polli
76
Ricostruzione (1/3)
'( ) ( ) ( )n
x t x nT t nT+∞
=−∞
= δ −∑
)(tx
t
)1(x
)0(x TTT2
)1(−x
Ricostruzione, con treno di impulsi matematici:
Filtro LP:)( fH
)(txR)(' txSegnale
ricostruito
Baccarelli, Cordeschi, Patriarca, Polli
77
Ricostruzione (2/3)
)/(sinc)( Ttth π=
∑ −=n
nTtnxtx )()()(' δ
Ricostruzione ideale, con treno di impulsi matematici:
fT21 tTT2−
1/( ) ( )TH f T rect f=T
•T21
− T2T−•••• •
Baccarelli, Cordeschi, Patriarca, Polli
78
Ricostruzione (3/3)
( ) ( )sinc( ( ) / )Rn
x t x nT t nT T+∞
=−∞
= π −∑
•
•
•
•
•)0(x)1(x
)2(x
)1(−x
)3(x
Baccarelli, Cordeschi, Patriarca, Polli
79
Teorema del campionamento (1/4)
Se è limitato in banda, con banda intorno all’origine, e se(criterio di Nyquist), allora il segnale ricostruito
risulta uguale all’originale, ossia:
)(tx W±
Wfc 2≥ )(txR
)()( txtxR = 2cper f W≥
Baccarelli, Cordeschi, Patriarca, Polli
80
Teorema del campionamento (2/4)
Spiegazione intuitiva: se varia lentamente, e se la si osserva abbastanza frequentemente, allora il suo andamento completo èperfettamente ricostruibile tramite interpolazione delle osservazioni
{ ( ), 0, 1, 2,...}x nT n = ± ±
)(tx
Baccarelli, Cordeschi, Patriarca, Polli
81
Teorema del campionamento (3/4)
La proprietà fondamentale che sta alla base del teorema del campionamento è la seguente:
1( ) ( )n n
nFT t nT fT T
+∞ +∞
=−∞ =−∞
⎧ ⎫δ − = δ −⎨ ⎬
⎩ ⎭∑ ∑
Baccarelli, Cordeschi, Patriarca, Polli
82
Teorema del campionamento (4/4)
Nel dominiodella frequenza:
f
X(f)
2W
Wfc 2≥
f
∑ −=k
TkfXT
fX )/(1)('
cfcf−cf2− cf2
f
)()( fXfXR =
W− WT
f c
21
2=
2cf
−
)( fH
Baccarelli, Cordeschi, Patriarca, Polli
83
Aliasing da sotto-campionamento
1) Manca una parte dello spettro
f2W
f
)(' fX
cfcf−
Wfc 2<Sotto-campionamento:
f
)( fXR
2cf
2cf
−
2) La parte mancante si “ripiega” e si somma al resto
)( fX
c’è dell’altro (“alias”) nello spettro ricostruito
Baccarelli, Cordeschi, Patriarca, Polli
84
Campionamento e quantizzazione(conversione A/D)
b bit, che rappresentano:
)n(x)n(x ≅Q)(tx
0
1
Sampling Quantizer
)n(x)n(q)n(x)n(x ≅+=
ADC: Analog-to-Digital Converter
x(n)
q(n): errore di quantizzazione, che svanisce all’aumentare di b, ovvero del numero di bit impiegati nella conversione A/D
cf
Baccarelli, Cordeschi, Patriarca, Polli
85
Relazione ingresso-uscita di un quantizzatore uniforme
-xmax xmax
xq(2)
xq(1)
-xmax=xq(0)
x(n)
ˆ( )x n
xmax= xq(L-1)
⎧Δ⎨⎩
Δ
Passo di quantizzazione
Livello di restituzione
rappresentato con b bits
Numero dei livelli di quantizzazione
Δ
xq(i)
L
Baccarelli, Cordeschi, Patriarca, Polli
86
Ricostruzione (conversione D/A)
Generatoredi livelli di
restituzione
Generatoredi forma d’onda
b bits
)nTt(rect)n(x T −
tnT
T
DAC: Digital-to-AnalogConverter
)n(x
)n(x
Baccarelli, Cordeschi, Patriarca, Polli
87
Schema completo di campionamento e ricostruzione
Campionatore +
quantizzatoreP/S
)(txWfc 2=
b bits
Convertitoreparallelo/serie
flusso binario
(bits/sec)cb bff =Trasmissione
Convertitoreserie/parallelo
S/PConvertitore analogico-
digitale
Filtro LPCon banda
[-W,W]
flusso binario,bit/secbf )(txR
b bitsWfc 2=
Baccarelli, Cordeschi, Patriarca, Polli
88
Esempi
Esempio: digitalizzazione del segnale telefonico (PCM, Pulse Code Modulation)
Voce filtro 4 2 4 8 (8000 campioni/sec)8 digit/campione 64 (64000 digit al secondo)
ckHz f kHz kbps
→ ± → = × =→
Esempio: brano musicale di 3 minuti
filtro 20k 40 k12 digit/campione 480 3 minuti 480 180 480 86,4 10,8 (1byte=8 bit)
cHz f Hzkbps
kbps k Mbit Mbyte
± → =→
× = × = =
Baccarelli, Cordeschi, Patriarca, Polli
89
Rumore di quantizzazione nel PCM (1/3)
•• • ••• •
••
•• •
• ••
•
•• •
• ••••
MAXx+
MAXx−
t
0
1L −
(0) ( 1),..., Lq qx x
L intervalli di quantizzazione,L valori (“livelli”) di quantizz.
−
b
(i)q
b bit per campione L 2 intervalli di quantizzazione ampiezza intervallo: 2 / (2 )2 l'i-esimo livello quantizzazione x è posto al centro dell'i-esimo
intervallo di quantizzazione.
bMAX MAXx L x −
• → =
• = =
•
Δ
)(tx
Baccarelli, Cordeschi, Patriarca, Polli
90
Rumore di quantizzazione nel PCM-Prestazioni del quantizzatore (2/3)
q
• Modello probabilistico: q è una variabile aleatoria con “distribuzione” (densità di probabilità) uniforme tra e , e a media nulla
• L’errore di quantizzazione può assumere tutti i valori da a 2/Δ
Il valore massimo del modulo dell’errore q è: , e va a zero al crescere di bSul segnale ricostruito l’errore di quantizzazione viene percepito come un disturbo (rumore) sommato al segnale originale
qxx +=campione
quantizzatocampioneoriginale
errore diquantizzazione
2/Δ−
2/Δ− 2/Δ2Δ
−2Δ
)(qp
bMAXx −=Δ 2
2)2(
2
Baccarelli, Cordeschi, Patriarca, Polli
91
Rumore di quantizzazione nel PCM-Prestazioni del quantizzatore (3/3)
ˆ x x q= +
o Supponiamo che x possa assumere solo valori in [-xmax, xmax]o Supponiamo che l’intervallo [-xmax, xmax] sia suddiviso in L=2b intervalli di quatizzazione di estensione
Si può dimostrare che il valore medio E{q2} del quadrato dell’errore di quantizzazione q vale
Quindi E{q2} va a zero in maniera esponenziale al crescere di 2b
max maxΔ 2 / 2 / 2bx L x= =
( )22max2 2ΔE{q } 2
12 3bx −= =
Baccarelli, Cordeschi, Patriarca, Polli
92
Elaborazione numerica dei segnali- Strato Fisico
Baccarelli, Cordeschi, Patriarca, Polli
93
Sequenza numerica
{ }0, 1, 2,.., n nx = ± ±
può essere quantizzata oppure no
può essere la sequenza dei campioni
di un segnale analogico , oppure può nascere proprio come
sequenza (esempi: indicatori economici, distribuzione di
temperatura)
)()( cnTtn nTxtxxc==
=
)t(x
Sequenza numerica di durata finita (N elementi):
{ }, 0, 1, ..., 1nx n N= − 11 ,0 ..., , −Nxxx
Baccarelli, Cordeschi, Patriarca, Polli
94
DFT: Discrete Fourier Transform
kNnjN
nnk ex
NX
π21
0
1 −−
=∑= { }0, 1 1,..., NX X X −
1 ...., ,1 ,0 −= Nk
0 1 −N
k
Trasformata discreta di Fourier per sequenze di durata finita (DFT)
Baccarelli, Cordeschi, Patriarca, Polli
95
La DFT {Xk,k=0,…,N-1} costituisce una rappresentazione di nel dominio k delle frequenze discrete. Infatti vale la seguente formula di ricostruzione
{ }nx
1-DFT1 2
0
1 0, ..., 1kN j nN
n kk
x X e n NN
− + π
=
= = −∑
Trasformata discreta di Fourier per sequenze di durata finita (DFT)
Baccarelli, Cordeschi, Patriarca, Polli
96
i. Linearità:
ii. Simmetria:se è a valori reali, allora
{ }n n k kDFT ax by aX bY+ = +
{ , 0,...,( 1)}nx n N= −
*1 1
2,11
2
N k k
Nk per N pariX X dove
Nk per N dispari−
⎧ ≤ ≤ −⎪⎪= ⎨ −⎪ ≤ ≤⎪⎩
Proprietà elementari della DFT
Baccarelli, Cordeschi, Patriarca, Polli
97
Definiamo come impulso discretola sequenza numerica che vale 1 in n=0 ed è nulla altrove, ossia
{ }, 0, 1, 2,...n nδ = ± ±
1, 00, 0n
nn=⎧
δ = ⎨ ≠⎩
nδ
n-4 -3 -2 –1 0 1 2 3 4
1
Filtraggio numerico(1/9)
Baccarelli, Cordeschi, Patriarca, Polli
98
Un sistema numerico S è un sistema che trasforma una sequenza di ingresso in una di uscita in accordo ad una specifica relazione ingresso-uscita .
Un sistema numerico è lineare se vale il principio di sovrapposizione degli effetti, ossia
Un sistema numerico è permanente se il suo comportamento non varia nel tempo, ossia
{ }0, 1, 2,.., n nx = ± ± { }..0, 1, 2,, n ny = ± ±( )n ny f x=
Snx ( )n ny f x=
(1) (1)(1) (2) (1) (2)
(2) (2)n n
n n n nn n
x yax bx ay by
x y
⎫→ ⎪⇒ + → +⎬→ ⎪⎭
Filtraggio numerico (2/9)
0 00, 1, 2,..,n n n n n n nx y allora x y− − = ± ±→ →
Baccarelli, Cordeschi, Patriarca, Polli
99
Un sistema numerico lineare e permanente è un filtro numerico
Si definisce come risposta impulsiva del filtro numerico la sequenza di uscita dal filtro quando all’ingresso è applicata la sequenza impulso discreto
Filtro Numerico
nδ nh
Filtraggio numerico (3/9)
{ , 0, 1, 2,..}= ± ±h nn
{ , 0, 1, 2,..}δ = ± ±nn
Baccarelli, Cordeschi, Patriarca, Polli
100
CLASSIFICAZIONE DEI FILTRI NUMERICIUn filtro numerico è causale se hn=0 per ogni n<0Un filtro numerico è FIR (Finite Impulse Response)
se {hn} è diversa da zero solo per un numero finito di valori di n.
Un filtro numerico è IIR (Infinite ImpulseResponse) se {hn} è diversa da zero per un numero infinito di valori di n
Filtraggio numerico (4/9)
Baccarelli, Cordeschi, Patriarca, Polli
101
Filtro hn
nx ny
Dato un filtro numerico con risposta impulsiva {hn}, la sequenza di uscita {yn} ottenuta in corrispondenza di una generica sequenza di ingresso {xn} si ottiene mediante la convoluzione discreta di {xn} e {hn}, ossia come in:
* , 0, 1, 2,...n m n m n nm
y x h x h n+∞
−=−∞
= = = ± ±∑
Filtraggio numerico – Convoluzionediscreta (5/9)
Baccarelli, Cordeschi, Patriarca, Polli
102
Per calcolare la convoluzione discreta
si procede come segue:i. Poiché per ogni fissato valore di n, la sommatoria è
nell’indice m, conviene innanzitutto graficare le due sequenze da convolvere come funzioni di m, ottenendo {xm} e {hm}.
ii. La sequenza {hm} va poi ribaltata rispetto all’asse delle ascisse, ottenendo quindi la sequenza {h-m}
, 0, 1, 2,...n m n mm
y x h n+∞
−=−∞
= = ± ±∑
Calcolo della convoluzionediscreta (6/9)
Baccarelli, Cordeschi, Patriarca, Polli
103
Calcolo della convoluzionediscreta (7/9)
iii. La sequenza {h-m} va poi traslata della quantità n lungo l’asse m, ottenendo così {hn-m, m=0, ±1, ±2,…}. A questo riguardo
– quando n≥0, allora {h-m} va traslata di n verso destra
– quando n<0, allora {h-m} va traslata di n verso sinistra
iv. Per ogni valore di m, si calcola il prodotto xmhn-m, m=0, ±1, ±2…v. Si sommano rispetto all’indice m tutti i prodotti
{xm hn-m, m=0, ±1, ±2…} ottenendo il valore yndelle sequenza convoluta al passo n.
Baccarelli, Cordeschi, Patriarca, Polli
104
m
xm2
m
hm
1
m
-2 –1 0 1 2 0 1
-1 0
h-m
1
m
hn-m
1
n-1 n
m
xmhn-m
2
–1+n n
m
hn-m
1
-1+n n
m
xmhn-m2
-1+n n2 2 4ny = + = 2 2 4ny = + =
0n≥ 0n≤
Calcolo della convoluzioneDiscreta (8/9)
Baccarelli, Cordeschi, Patriarca, Polli
105
i. La convoluzione discreta è communtativa, ossia: ii. La convoluzione discreta è associativa, ossia:
i. La convoluzione discreta è distributiva rispetto alla somma, ossia:
iv. Se {xm,m=0,..,M-1} è una sequenza lunga M e {hn,n=0,…,L-1} è una sequenza lunga L, allora la convoluzione discreta yn=xn*hn è una sequenza lunga L+M-1
Proprietà della convoluzione discreta(9/9)
x h h xn n n n∗ = ∗
[ ] [ ]x h z x h zn n n n n n∗ ∗ = ∗
[ ] ( ) ( )x y h x h y hn n n n n n n+ ∗ = ∗ + ∗
Baccarelli, Cordeschi, Patriarca, Polli
106
Ritardo di1 passo(delay)
Ritardo di1 passo(delay)
Ritardo di1 passo(delay)
∑
0h1h 1−Lh
nx 1−nx 1−−Lnx Linea di ritardo digitale
∑−
=−=
1
0
L
mmnmn xhy
ny
…..
Def: un filtro numerico è detto FIR se la sua risposta impulsiva {hn,n=0,…,L-1} ha lunghezza finita L<+∞
Filtri FIR (Finite Impulse Response) (1/2)
1 ..., , −−Lnn xxL’uscita all’ ”istante” n è pari alla combinazione lineare di L
valori di ingresso immagazzinati nella linea di ritardo digitale
Baccarelli, Cordeschi, Patriarca, Polli
107
Esempio di filtro FIR“media mobile” su 2 istanti: ⎟
⎠⎞
⎜⎝⎛=→+=
+= −
−
21,
21
21
21
2 11
nnnnn
n hxxxxy
• • ••
•
•
•
5.0
2−
1
5.0−
5.1•
000
• • • •• • •
2 2 25.2
1 0
5.0−
5.22•
•
• • • •
••
•
• •
2 2 23
1−
1
4
0
1−
nx
ny
⎟⎠⎞
⎜⎝⎛ −=→−= − 2
121
21
21
1 ,hxxy nnnn
ny
Altro esempio:
2−
Filtri FIR (Finite Impulse Response) (2/2)
Baccarelli, Cordeschi, Patriarca, Polli
108
∑∑−∞=
−
+∞
=− ==
n
mmnm
mnmmn hxxhy
0
n
nnh a=
01<a
Un filtro è detto IIR (Infinite ImpulseResponse) se la sua risposta impulsiva {hn} ènon nulla in un numero infinito di istanti.
Filtri IIR (Infinite Impulse Response) (1/2)
Baccarelli, Cordeschi, Patriarca, Polli
109
Esempio di filtro IIR
D
nx 1−+= nnn ayxy
a
1−ny
Filtri IIR (Infinite Impulse Response) (2/2)
1, 0 0, 0nxn n n
δ⎧⎪⎪⎨⎪⎪⎩
== =≠
, 0 0, 0na ny hn n n
⎧⎪⎪⎨⎪⎪⎩
≥= =<
Baccarelli, Cordeschi, Patriarca, Polli
1
Capitolo 3Strato Fisico- Cenni sulle
Modulazioni analogiche
Baccarelli, Cordeschi, Patriarca, Polli
2
I segnali spesso nascono in “banda base”(esempi: voce,
video)
Esigenza di traslare in frequenza il segnale, per:
i. Assicurare la trasmissione (es. antenna)
ii. Separarlo da altri segnali (es. multiplazione di
frequenza)
iii. Trasmetterlo su di una banda (insieme di
frequenze) poco disturbata
Obiettivi della modulazione
Baccarelli, Cordeschi, Patriarca, Polli
3
Schema fondamentale di modulazioneSegnale modulante: )(tm
Portante: cos(2 )of tπ of ≡frequenza di portante
( )m t ( )x t ( )y tmodulatore canale demodulatore+
( )r t
( )n t
( )d t
cos(2 )of tπ Disturbo additivo(rumore di canale)
( )y t Segnale all’uscita del canale di trasmissione( )r t Segnale ricevuto
Segnale demodulato, eventualmente con errore residuo
( ) ( ) ( )d t m t tε= +
Baccarelli, Cordeschi, Patriarca, Polli
4
2WWW−
( )M f
Trasformata di Fourier, per segnali impulsivi:
Segnale di banda base
Segnale modulato
Rappresentazioni in frequenza
ofof−
2W2W
( )X f
Baccarelli, Cordeschi, Patriarca, Polli
5
Banda laterale doppia (BLD-PI)
+ xak( )m t
pa cos(2 )of tπ
( ) ( )0 0 0 02 2 2 2
( ) ( ) cos(2 )
( )2 2
π π π π
π
+ − + −
⎡ ⎤= + =⎣ ⎦⎡ ⎤ ⎡ ⎤= + + +⎢ ⎥ ⎢ ⎥⎣ ⎦⎣ ⎦
p a o
p j f t j f t j f t j f ta
x t a k m t f t
a k m te e e e
Modulazione di ampiezza (1/3)
AM – AMPLITUDE MODULATION
x(t)
Baccarelli, Cordeschi, Patriarca, Polli
6
Modulazione di ampiezza (2/3)
Trasformata di Fourier di x(t):
dove M(f) FT{m(t)}
( ) ( )0 0 0 02 2 2 2( )( )2 2
( ) ( ) ( ) ( ),2 2 2 2
π π π π
δ δ
+ − + −⎧ ⎫⎡ ⎤ ⎡ ⎤= + + + =⎨ ⎬⎢ ⎥ ⎢ ⎥⎣ ⎦⎣ ⎦⎩ ⎭
= − + + + − + +
p j f t j f t j f t j f ta
p p a ao o o o
a k m tX f FT e e e e
a a k kf f f f M f f M f f
f
( )M f
WW−
+- f
( )X f
0f−- +
0f- +
2pa
2pa
Baccarelli, Cordeschi, Patriarca, Polli
7
“Portante soppressa” :
C’è inversione di segno della portante
Demodulazione “meno facile”, occorre conoscere
Però non si spreca potenza per trasmettere la portante
Modulazione di ampiezza (3/3)
fo
0, ( ) ( )cos(2 ) π= =a x t k m t f tp a o
Baccarelli, Cordeschi, Patriarca, Polli
8
)(tx Filtro passa-bassoH(f)
)(tm
02 cos(2 )f tπ
Demodulazione AM (1/3)Demodulazione di tipo coerente (omodina)o necessaria per segnali a BLD-PS (ap = 0)o può essere effettuata per segnali a BLD-PI (ap ≠ 0)
2f0f
)( fX
0f0f−
=FT{x(t)}
-2f0
2W 2Wf
0{2 ( )cos(2 )}πFT x t f t
02 f−02 f
1
0
H(f)
2W 2W
fW2
FT{m(t)}
Baccarelli, Cordeschi, Patriarca, Polli
9
Demodulazione AM (2/3)
(segnale modulato BLD-PI) con f0 > W per ipotesi.
)(tx( ) p
a
am t
k+
02 cos(2 )f tπ
Filtro passa-basso
f
1/ka
W-Wp
a
ak
−
m(t)
0( ) ( ) cos(2 ) p ax t a k m t f tπ⎡ ⎤= +⎣ ⎦
[ ] [ ]
20 0
20
( )2 cos(2 ) 2 ( ) cos (2 )
1(cos 1 cos(2 ) ) ( ) 1 cos(2 2 ) .2
p a
p a
x t f t a k m t f t
x x a k m t f t
π π
π
⎡ ⎤= + =⎣ ⎦
⎡ ⎤= = + = + +⎣ ⎦
Baccarelli, Cordeschi, Patriarca, Polli
10
Demodulazione AM (3/3)
Dopo filtraggio nella banda [-W,W], si ottiene un segnale di banda la cui T.d.F risulta pari a:
Dopo l’operazione di sottrazione si ottiene il segnale modulante m(t).
{ } { } { }{ } ( ){ }
( )
0 0
0 0
4 4
0 0
0 0
( )2 cos(2 ) ( ) ( ( ))cos(4 )
1( ) ( ( ))2
1( ) ( ) ( 2 ) ( 2 )2
( 2 ) ( 2 ))
p a p a
j f t j f tp a p a
p a p p
a a
FT x t f t FT a k m t FT a k m t f t
FT a k m t FT a k m t e e
a f k M f a f f a f f
k M f f k M f f
π π
π π
δ δ δ
+ −
= + + + =
= + + + + =
= + + − + + +
+ − + +
( ) ( ),p
a
af M f
kδ +(TdF dell’uscita del
filtro passa-basso) per f0 > W
( )p
a
am t
k+
Baccarelli, Cordeschi, Patriarca, Polli
11
Nella AM a BLD-PD e AM BLD-PS la banda del segnale modulato è doppia (BLD) rispetto a quella del segnale modulante:
fcf− cf
BLD BLDSegnalemodulante
M(f)
X(f) (segnale modulato AM-BLD)
Occupazione di banda per segnali AM
Baccarelli, Cordeschi, Patriarca e Polli
1
Capitolo 4Strato Fisico-
Modellazione delle Sorgenti d’Informazione e Codificazione di
Sorgente
Baccarelli, Cordeschi, Patriarca e Polli
2
Sorgenti d’Informazione- Generalità
Per valutare le prestazioni di un Sistema di TLC, è necessario descrivere opportunamente (ossia, modellare) le Sorgenti che generano i flussi informativi.
Per definizione, una Sorgente d’Informazionebinaria è un apparato (terminale d’utente, codificatore audio/video, nodo di commutazione) che genera flusso di bit per intervalli di tempo di durata fissa o variabile.
Baccarelli, Cordeschi, Patriarca e Polli
3
Stato di una Sorgente di Informazione (1/4)
In ogni (generico) istante di tempo t0, una Sorgente d’Informazione binaria può trovarsi in uno di due possibili stati:
i. Stato di Attività (Stato ON), nel quale la sorgente genera bit a una velocità di picco RP(bit/sec) assegnata e dipendente dalla sorgente considerata;
ii. Stato di Inattività (Stato OFF), durante il quale la Sorgente non genera bit.
Baccarelli, Cordeschi, Patriarca e Polli
4
Stato di una Sorgente di Informazione (2/4)
L’intervallo di tempo TON (sec) nel quale la Sorgente permane nello Stato ON e l’intervallo di tempo TOFF (sec) nel quale la Sorgente permane nello Stato OFF possono variare di volta in volta durante il periodo di funzionamento della Sorgente.Quindi, TON e TOFF sono modellabili come variabili aleatorie. Indichiamo conTON E{TON} (sec) , TOFF E{TOFF } (sec)
i valori medi (valori attesi) delle suddette variabili aleatorie.
Baccarelli, Cordeschi, Patriarca e Polli
5
Stato di una Sorgente di Informazione (3/4)
Ciò significa che:i. 1/ Ton ( sec-1) è il numero medio di
transizioni della Sorgente dallo Stato OFF allo Stato ON nell’intervallo temporale di 1 sec;
ii. 1/ TOFF ( sec-1) è il numero medio di transizioni della Sorgente dallo Stato ON allo Stato OFF nell’intervallo di tempo di 1 sec.
Baccarelli, Cordeschi, Patriarca e Polli
6
Stato di una Sorgente di Informazione (4/4)
Il funzionamento di una Sorgente d’Informazione è, quindi, rappresentabile graficamente mediante il seguente “Diagramma degli Stati”.
StatoOFF
Stato ON
1/ Ton
1/ TOFF
Baccarelli, Cordeschi, Patriarca e Polli
7
Probabilità di Stato
La probabilità PON che la Sorgente ha di trovarsi nello Stato ON in un generico istante t0 è pari alla frazione media del tempo che la Sorgente passa nello Stato ON, quindi,
PON Ton / (Ton + TOFF)
La probabilità POFF che la Sorgente ha di trovarsi nello Stato OFF in un generico istante di tempo t0 è pari alla frazione media del tempo che la Sorgente passa nello Stato OFF, quindi,
POFF TOFF / (Ton + TOFF)
Baccarelli, Cordeschi, Patriarca e Polli
8
Velocità Media di Emissione e Fattore di Burstiness
Per definizione, la velocità media R (bit/sec) con cui la sorgente genera bit nell’unità di tempo è pari a:
R PON RP ≡ [Ton / (Ton + TOFF)] RP
Per definizione, il Fattore di Burstiness BSdella Sorgente è pari a :
BS R/RP ≡ Ton / (Ton + TOFF)]
Baccarelli, Cordeschi, Patriarca e Polli
9
Sorgenti CBR e VBR
Ovviamente, abbiamo che: 0 ≤ BS ≤ 1.Per definizione, una Sorgente è detta di tipo Constant Bit Rate (Sorgente CBR) quando BS ≡ 1.Per definizione, una Sorgente è detta di tipo Variable Bit Rate (Sorgente VBR) quando BS < 1.Ne deriva che,
i. per le Sorgenti CBR, R ≡ RP;ii. per le sorgenti VBR, R < RP.
Baccarelli, Cordeschi, Patriarca e Polli
10
Classificazione delle Sorgenti sulla base della Velocità di Picco
Sulla base del valore di RP, le Sorgenti possono essere classificate come riportato nella Tabella seguente:
RP (Mb/sec) Classe di Sorgente Applicazioni
10-4-10-1
10-1-10
10-1000
Bassa Velocità
Media Velocità
Alta Velocità
Telemetria VoIPVideo ConferenzaSuono ad alta fedeltà
TV digitale,Trasmissione Dati
Baccarelli, Cordeschi, Patriarca e Polli
11
Classificazione sulla Base di RP e di BS (1/2)
Sulla base dei valori assunti da RP e BS, le Sorgenti possono essere classificate come riportato nella Figura seguente.
1
BS
RP (bit/sec)
10-2
10-1
103 104 105 106 107 108 109
Voce Audio VideoConf. Immagini ad
Alta Risolu-zione
Baccarelli, Cordeschi, Patriarca e Polli
12
Classificazione sulla Base di RP e di BS (2/2)
Le Reti con modalità di trasferimento a commutazione di circuito sono più adatte a trasferire i flussi binari generati da Sorgenti con valori di BS unitari (Sorgenti CBR) o prossimi all’unità, (diciamo, BS >10-1).
Le Reti con modalità di trasferimento a commutazione di pacchetto (multiplazione statistica) sono più adatte a trasferire i flussi binari generati da Sorgenti con Valori di BS (molto) minori dell’unità (Sorgenti VBR con BS < 10-1).
Baccarelli, Cordeschi, Patriarca e Polli
13
Sorgenti CBR- Esempio (1/2)
L’andamento nel tempo della velocità di emissione R(t) (in bit/sec) di una sorgente CBR è riportato in Figura.
0 Durata della trasmissione
RP
t (sec)
R(t) (bit/sec)
Baccarelli, Cordeschi, Patriarca e Polli
14
Sorgenti CBR- Esempio (2/2)
Dalla precedente Figura, deduciamo che
i. una sorgente CBR lavora sempre e solonello Stato ON;
ii. per una Sorgente CBR abbiamo che:R ≡ RP.
Baccarelli, Cordeschi, Patriarca e Polli
15
Sorgenti VBR- Esempio (1/2)Un possibile andamento nel tempo della velocità di emissione R(t) (bit/sec) di una Sorgente VBR con velocità di picco RP e fattore di Burstiness BS < 1 entrambi assegnati è riportato in Figura.
RP
t (sec)
R(t) (bit/sec)
R
Durata della Trasmissione
Baccarelli, Cordeschi, Patriarca e Polli
16
Sorgenti VBR- Esempio (2/2)
Dalla precedente Figura, osserviamo che:i. una sorgente VBR alterna Stati ON a Stati OFF;ii. le durate TON e TOFF degli Stati ON e OFF
possono variare nel tempo, ossia TON e TOFF sono variabili aleatorie;
iii. la velocità media R (bit/sec) di emissione èsempre strettamente inferiore alla velocità di picco RP, ossia:
R = BS RP, con BS < 1.
Baccarelli, Cordeschi, Patriarca e Polli
17
Segnale vocale (1/2)
)(tx
t
“C” “A” “S”
Intervallo di “stazionarietà”
sec20T m≅
o No componenti alle basse frequenzeo Energia concentrata fino a 4-5 kHz
Baccarelli, Cordeschi, Patriarca e Polli
18
Segnale vocale (2/2)
Filtro telefonico (telefonia fissa, GSM)
f
)(fH
Hz 300 4 kHz
300 - 4 Hz kHz→
Campionamento:
2 4 8 64 / trasmissione digitale a 64 kbpssecc
campioni bitf k kbit scampione
= × × = →
Baccarelli, Cordeschi, Patriarca e Polli
19
Compressione del segnale vocale
ADC(camp+quant.) P/S Codificatore
( )x t
campionamentocf
b cf bf= cbf
segnale vocale, analogico
bbit per
campione
flusso binario
Flusso binario dopo codifica
decodificatore S/P DACbfcbf ( ) ( )Rx t x t
Segnale ricostruito
cbf bf<
Baccarelli, Cordeschi, Patriarca e Polli
20
DPCM: Differential Pulse Code Modulation (1/2)
2.9 3.3 4.1 4.1 3.8 4.7 5.0
PCM codifica e ricostruzione 3 3 4 4 4 5 5
DPCM differenza +0.4 +0.7 0 -0.3 +0.9 +0.3
Codifica 3 0 1 0 0 1 0
Ricostruzione 3 3 4 4 4 5 5
Anziché quantizzare e trasmettere il campione attuale si quantizza e trasmette la differenza tra ed il campioneprecedente
( )x nT
(( 1) )x n T−( )x nT
Le differenze sono “Numeri” più piccoli dei campioni e
Esempio :
( )( ) ( 1 )x nT x n T− −( )x nT (( 1) )x n T−
( )x nT
Baccarelli, Cordeschi, Patriarca e Polli
21
DPCM: Differential pulse code modulation (2/2)
( ) ( ) (( 1) )d nT x nT x n T= − −
Codificare e trasmettere numeri piccoli, come si fa nel DPCM, “costa” meno bit rispetto al PCML’ipotesi è che il segnale evolve lentamente da campione a campione, cosicchè la differenzaè in modulo più piccola di
ossia
( ) (( 1) )x nT e x n T−
( ) ( ) , (( 1) )d nT x nT x n T<< −
Baccarelli, Cordeschi, Patriarca e Polli
22
Codificatori usati nella praticaRate (kbps) Livello Qualità
PCM 64 TOLL TelefonicaADPCM 32 NEAR TOLL Quasi telefonica
LD-CELP 16 DIGITAL CELLULAR Quasi telefonica ma rumorosa
LTP-RPE 13 DIGITAL CELLULAR Quasi telefonica ma rumorosa
MP-LPC 9DIGITAL CELLULAR,
LOW BIT RATE
Segnale naturale, parlatore
riconoscibile
CELP 5DIGITAL CELLULAR,
LOW BIT RATE
Segnale naturale, parlatore
riconoscibile
LPC-10 2,4 LOW BIT RATESegnale
comprensibile ma artificiale
Baccarelli, Cordeschi, Patriarca e Polli
23
Parametri di Prestazione di un codificatore vocale
Prestazioni di un codificatore:
o Qualità del segnale ricostruito
o Fattore di compressione bit rate, occupazione di memoria
o Ritardo di codifica
o Complessità di calcolo e memoria degli apparati
o Robustezza rispetto agli errori di trasmissione
Baccarelli, Cordeschi, Patriarca, Polli
1
Capitolo 5Strato Fisico- I mezzi trasmissivi
Baccarelli, Cordeschi, Patriarca, Polli
2
BipoliBipolo: circuito elettrico che presenta due soli punti accessibili; può essere attivo (generatore) oppure passivo (carico).
Segnali elettrici associati ad un bipolo: tensione ai capi, correnteche lo attraversa.
Se i segnali di tensione e corrente sono impulsivi, o di energia esistono le Trasformate di Fourier delle tensioni e delle correnti.
v(t)Volt
i(t)Ampère bipolo passivo:
(carico)
bipolo attivo:(generatore)g(t)=tensione a vuoto del generatorev(t)
i(t)
g(t)
Baccarelli, Cordeschi, Patriarca, Polli
3
Esempi di Bipoli passivi
Resistore Condensatore Induttorev(t)=R i(t) i(t)=C dv(t)/dt v(t)=L di(t)/dtZ(f)=R Z(f) = 1/( j2p f C) Z(f) = j2p f L
R (Ohm) L (Henry)C (Farad)v(t)
+
-v(t)
+
-v(t)
+
-
i(t) i(t) i(t)
Si definisce impedenza Z(f) di un bipolo il rapporto
Z(f)= V(f) / I(f)
Esempi di bipoli passivi:
Baccarelli, Cordeschi, Patriarca, Polli
4
Modello fisico di un collegamento (1/2)
s(t) r(t)
s(t) r(t)
Esempi di collegamenti rappresentati dal modello fisico:
caricor(t)Z1(f) gu(t)Z2(f)g(t) s(t)
Trasmettitore Mezzo trasmissivo Ricevitore
Baccarelli, Cordeschi, Patriarca, Polli
5
Modello fisico di un collegamento (2/2)
Il segnale ricevuto r(t) può differire dal segnale trasmesso s(t) a causa di
Distorsione di natura lineareoRitardo nel tempooAttenuazione di potenzaoAlterazioni della forma d’onda del segnale (filtraggio di canale)
Distorsione di natura non lineareSomma di disturbi di natura casuale (rumore)Somma di altri segnali indesiderati
Baccarelli, Cordeschi, Patriarca, Polli
6
Modello simbolico di un collegamento
WS Potenza
Trasmessa
N
R
WW SNR:moresegnale/ru Rapporto d =
r(t) = s(t)*h(t)+n(t)*e(t)
Componente di rumore del segnale ricevuto,
di potenza WN
Componente utile del segnale ricevuto,
di potenza WR
Segnale trasmesso s(t)limitato in banda
da –B a B
Filtro di ricezionepassabassoda –B a B
H(f)
n(t)
r(t)E(f)
s(t)S D
Canale
Baccarelli, Cordeschi, Patriarca, Polli
7
Misure Logaritmiche Di PotenzaWwatt Potenza assorbita: misurata in WattWmW Potenza assorbita: misurata in milliWatt
Misura logaritmica delle potenze:dB riferito al Watt:
WdBW = 10 log10(Wwatt /1watt)dB riferito al milliWatt:
WdBm = 10 log10(WmW /1mwatt)
Misura logaritmica di rapporto di potenze (numero puro): R= W1/ W2 :
RdB = 10 log10 R
Potenza in mW: 1 10 100 1000Potenza in dBm: 0 10 20 30
Baccarelli, Cordeschi, Patriarca, Polli
8
Attenuazione di un collegamento (1/2)
Supponiamo di trasmettere un segnale sinusoidale alla frequenza f0:s(t)=A cos(2 p f0 t)
di potenza WS=A2/2.All’uscita di un canale LP con funzione di trasferimento H(f) la
componente utile del segnale ricevuto è ancora una sinusoide, scalata in ampiezza di un fattore |H(f0)| e sfasata di ϕ0=arg{H(f0)}:
|H(f0)| A cos(2 p f0 t+ ϕ0)di potenza WR= |H(f0)|2 A2/2.
La potenza è ridotta di un fattore WS/ WR=1/|H(f0)|2
A(f0) = 1/|H(f0)|2
Si definisce quindi attenuazione del collegamento A(f0) alla frequenza f0 il valore
Baccarelli, Cordeschi, Patriarca, Polli
9
Attenuazione di un collegamento (2/2)
Misura logaritmica dell’ attenuazione del collegamento A(f0) (Decibel):
AdB(f0) = 10 log10A(f0)
La potenza ricevuta è legata a quella trasmessa da:WR dBm(f0) = WS dBm(f0) - AdB(f0)(potenze misurate in
milliwatt)ovvero
WR dBW(f0) = WS dBW(f) - AdB(f0) (potenze misurate in watt)Calcoli:
WRdBW ≡10 log10(WR(f0)/1 w)=10 log10(WS(f0) |H(f0)|2 /1 w)=10 log10(WS(f0) /1 w) +10 log10( |H(f0)|2 ) = WSdBW –10 log10( 1/|H(f0)|2 )
Baccarelli, Cordeschi, Patriarca, Polli
10
Caratterizzazione del rumore (1/2)
Rumore di natura termica:potenza WN (Watt) proporzionale alla larghezza di banda B(Hz) del filtro di ricezione, ossia
WN=FKToB (watt)
dove F è il fattore di rumore del ricevitore (F≥1), K è la costante di Bolzmann (K = 1.38x10-23 J / ° Kelvin) , To è la temperatura di lavoro del ricevitore (To = 290° Kelvin).
Ne deriva che il rapporto segnale-a-rumore a valle del filtro di ricezione è
BFKTWSNR
o
R=
Baccarelli, Cordeschi, Patriarca, Polli
11
Caratterizzazione del rumore (2/2)
HzdBdBm BFWSNR 10log10174 −+−= RdB
Misura logaritmica del rumore:
WN dBm=F dB +KTo dBm/Hz+ BdBHz
FdB≥0 dB, KTo = -174 dBm/Hz e BdBHz=10log10BHz
Baccarelli, Cordeschi, Patriarca, Polli
12
Collegamenti mediante Linee in Rame
Isolante
rame
Conduttore internoConduttore esterno (calza)
Doppino(per segnali a banda medio/piccola)
Cavo coassiale(per segnali a banda medio/alta)
Linea aerea(in disuso per motivi di costo)
Baccarelli, Cordeschi, Patriarca, Polli
13
Caratterizzazione delle Linee in Rame (1/3)
dxlunghezza complessiva d (Km)
generatore caricoG dxL dx R dxC dx
x
Modello fisico di una linea in rame
R = resistenza dei conduttori (Ohm/Km)Parametri caratteristici: C = capacità tra conduttori (Farad/Km)
L = Induttanza dei conduttori (Henry/Km)G = conduttanza tra conduttori (Mho/Km)
Baccarelli, Cordeschi, Patriarca, Polli
14
Caratterizzazione delle Linee in Rame (2/3)
(dB/Km)1)(6,281 )( dB/Km +⋅⋅+⋅
≅ 2HzHz GCfGRfA
2
Attenuazione tipica di una linea alle basse frequenze(qualche decina di kilohertz)
attenuazione delle linee alle basse frequenze
0.00.51.01.52.02.53.03.54.04.55.05.56.0
0 5000 10000 15000 20000 25000f (Hz)
atte
nuaz
ione
(dB
/Km
)
Baccarelli, Cordeschi, Patriarca, Polli
15
Caratterizzazione delle Linee in Rame (3/3)
Attenuazione tipica di un coassiale alle frequenze medio/alte(decina di Megahertz)
coassiale
0
1
2
3
4
5
6
7
8
0 1 2 3 4 5 6 7 8 9 10f (MHz)
atte
nuaz
ione
(dB/
Km
)
MHzoKmdB ff ⋅= AA /)(
Ao = 2,3 dB/Km @ 1MHz
(dB/Km)(dB/Km)
Baccarelli, Cordeschi, Patriarca, Polli
16
Collegamenti Radio
d
segnale elettricodi uscita
segnaleelettricodi ingresso
raggio elettromagnetico
Collegamento fisico
Circuito equivalente Segnale elettricodi ingresso s(t)
Segnale elettricodi uscita r(t)
A(f)
Attenuazione
Terreno
Baccarelli, Cordeschi, Patriarca, Polli
17
Gamme di frequenza utilizzate nelle TLC
Gamma Nome Sigla servizio
0,3-300 kHz Onde lunghe LF Radiolocalizzazione marittima
300-3000 kHz Onde medie MF Diffusione AM
3-30 MHz Onde corte HF Collegamenti a lunga distanza
30-300 MHz Very high frequency VHF Radiomobili militari. Diffusione FM
300-3000 MHz Ultra High frequency UHF
Ponti radio. Diffusione televisiva
terrestre.GSM.UMTS.
3-30 GHz Super High frequency SHF Ponti radio. Satelliti.
Radar.
Baccarelli, Cordeschi, Patriarca, Polli
18
Relazioni tra le potenze
Relazione tra le potenze )(/)()( fff SR AWW =
Osservazione: la banda 2W occupata dal segnale modulato intorno alla frequenza portante fp e’ piccola rispetto alle variazioni di A(f). Quindi A(f) può ritenersi (circa) costante nella banda del segnale modulato.
8
/ ( ) ( )
frequenza portante λ lunghezza d'onda
c 3 10 m/s (velocità della luce)
R S p RdBm SdBm p dB
p p
f f
f c / f
= ⇒ = −
≡ ≡ =
≡ ⋅
W W A W W A
)(fRW
)(fA
ffp
Baccarelli, Cordeschi, Patriarca, Polli
19
Guadagno d’antenna (1/7)
Supponiamo che un antenna trasmittente sia posta in O. Sia R un punto di coordinate polari (d, θ, ϕ ) a distanza d (m) dall’antenna. La sfera su cui giace R ha superficie 4πd2.
Sia PTOT (Watt) la potenza totale irradiata dall’antenna. Sia PR =PR (d, θ, ϕ ), la quota parte della potenza irradiata dall’antenna
che transita attraverso una superficie di area S (m2) centrata intorno ad R.
OO
RRSS
Baccarelli, Cordeschi, Patriarca, Polli
20
Guadagno d’antenna (2/7)Definizione:Un’antenna si dice isotropa se irradia la stessa quantità di
potenza in tutte le direzioni (θ, ϕ) dello spazio con
-π/2 ≤θ ≤π/2, 0 ≤ ϕ ≤2π
Quindi, se l’antenna trasmittente è isotropa abbiamo chePR (d, θ, ϕ ) =PR (d)=(PTOT/4 π d2) S
(Watt)per ogni valore di θ, e di ϕ.
Baccarelli, Cordeschi, Patriarca, Polli
21
Guadagno d’antenna (3/7)Un’antenna trasmittente non isotropa distribuisce in modo non
uniforme la potenza irradiata nelle direzioni θ, ϕ.
oSia PTOT (Watt) la potenza totale irradiata dall’antenna.
oSia PR (d, θ, ϕ ), la quota parte della potenza irradiata
dall’antenna che transita attraverso una superficie di area S (m2)
centrata intorno ad un punto a distanza d, visto sotto le direzioni
θ, ϕ . In generale PR (d, θ, ϕ ) differisce dal valore
PTOT/(4 π d2) S corrispondente al caso di antenna trasmittente
isotropa.
Baccarelli, Cordeschi, Patriarca, Polli
22
Guadagno d’antenna (4/7)Si dice Guadagno d’antenna G(θ, ϕ) la funzione
G ( θ, ϕ ) ≡ PR (d, θ, ϕ ) / [PTOT/(4 π d2) S] (Watt)-π/2 ≤θ ≤π/2, 0 ≤ ϕ ≤2π
che descrive il modo in cui un’antenna trasmittente irradia la potenza nelle varie direzioni ( θ, ϕ) dello spazio.
Baccarelli, Cordeschi, Patriarca, Polli
23
Guadagno d’antenna (5/7)Il Guadagno d’antenna G(θ, ϕ) gode delle seguenti proprietà:
È una funzione non negativa
G ( θ, ϕ ) ≥ 0, ∀ θ, ϕ ;
Un’antenna isotropa presenta un guadagno costante in tutte le
direzioni,
G ( θ, ϕ ) =1, ∀ θ, ϕ ;
Un’antenna si dice direttiva nella direzione θ0, ϕ 0 se presenta un
guadagno molto grande nella direzione θ0, ϕ 0 , ossia se
G (θ0, ϕ 0 ) >>1 e G (θ, ϕ ) <<1 altrove
Tipicamente il guadagno d’antenna è espresso in unità logaritmiche (dB)
G( θ, ϕ) (dB) =10 log 10 (G( θ, ϕ) ).
Baccarelli, Cordeschi, Patriarca, Polli
24
Guadagno d’antenna (6/7)
Si definisce come solido d’irradiazione di un’antenna con
guadagno G(θ, ϕ) (dB) la superficie tridimensionale ottenuta
riportando per ogni direzione (θ, ϕ) un segmento
proporzionale a G(θ, ϕ) (dB)
Quindi il solido d’irradiazione è la rappresentazione grafica
del guadagno G(θ, ϕ) (dB)
Baccarelli, Cordeschi, Patriarca, Polli
25
Guadagno d’antenna (7/7)
δΦδΘ δε
antenna circolare antenna a bandiera antenna a spillo
Le antenne direttive possono essere classificate secondo la forma
assunta dal solido di irradiazione:
Antenne fortemente direttive possono presentare valori del
guadagno d’antenna G(dB) anche dell’ordine di 50 dB nella direzione
preferenziale (θ0, ϕ0).
Baccarelli, Cordeschi, Patriarca, Polli
26
Area efficace di un’antenna ricevente (1/3)
Supponiamo che un antenna ricevente sia posta in O. Supponiamo che incida sull’antenna un’onda e.m. proveniente dalla direzione (θ, ϕ ). oSia PR (Watt) la potenza totale captata dall’antenna. oSia pI (θ, ϕ ) (Watt/m2) la densità superficiale di potenza convogliata dall’onda incidente sull’antenna.
OO θϕ
Baccarelli, Cordeschi, Patriarca, Polli
27
Area efficace di un’antenna ricevente (2/3)
Si dice Superficie efficace d’antenna SE(θ, ϕ) la funzione
SE ( θ, ϕ ) = PR / pI (θ, ϕ ) (m2)
-π/2 ≤θ ≤π/2, 0 ≤ ϕ ≤2π
che descrive il modo in cui un’antenna ricevente capta la potenza incidente dalle varie direzioni ( θ, ϕ) dello spazio.
Baccarelli, Cordeschi, Patriarca, Polli
28
Area efficace di un’antenna ricevente (3/3)
Una stessa antenna può operare indifferentemente come ricevente o trasmittente. Sussiste il seguente legame fra il guadagno di un‘antenna e la sua superficie efficace:
SE ( θ, ϕ ) = G ( θ, ϕ ) λ2 / 4pdove λ =c/f è la lunghezza d’onda dell’onda e.m. irradiata/captata dall’antenna, a sua volta legata alla frequenza f dalla relazione λ =c/f, con c=3 x108 m/s (velocità della luce nel vuoto).
Baccarelli, Cordeschi, Patriarca, Polli
29
Attenuazione di spazio libero (1/2)
( , ) guadagno dell'antenna trasmittente( ', ') guadagno dell'antenna ricevente
T
R
θ ϕθ ϕ
==
GG
( ) 22
2
S
R
4 p
RTp fd
cfA⋅
′′⋅=≡
⋅
),(),()( 2
ϕθϕθπ
GGWW
( , )
( , )/
T
R
c
= θ ϕπ⋅
′ ′θ ϕ=
π⋅
E
E
WW G S
GS
SR 2
2 2
4 d
4 f
SSEE
Area efficaceArea efficaceθ
d
ϕ
θ’ϕ’
Baccarelli, Cordeschi, Patriarca, Polli
30
Attenuazione di spazio libero (2/2)
L’attenuazione introdotta dal collegamento dipende dala distanza fra le antennedalla frequenza portante utilizzatail guadagno dell’antenna trasmittente (attitudine dell’antenna
trasmittente ad amplificare il segnale trasmesso nella direzione del collegamento)
il guadagno dell’antenna ricevente (attitudine dell’antenna ricevente ad captare il segnale ricevuto nella direzione del collegamento).
RdBTdBMHzKmdB fdf GGA −−++= 1010 log20log204,32)(Attenuazione dello spazio libero
Misura logaritmica dell’attenuazione introdotta dal collegamento:
Baccarelli, Cordeschi, Patriarca, Polli
31
Fibra Ottica: caratteristiche fisiche (1/4)
cladding
core
n2n1
FIBRA OTTICA
Una fibra ottica è costituita da un cilindro dielettrico (cuore, o core) circondato esternamente da una corona circolare (mantello, o cladding) costituita da un altro materiale dielettrico.
Baccarelli, Cordeschi, Patriarca, Polli
32
Fibra Ottica: caratteristiche fisiche (2/4)
Le grandezze fisiche e i parametri geometrici che caratterizzano la fibra sono:– a raggio del cuore (m) – b raggio esterno del mantello (m) – n1 = c / v1 indice di rifrazione del cuore – n2 = c / v2 indice di rifrazione del mantello
dove c=3 x108 m/s rappresenta la velocitàdella luce nel vuoto, v1 la velocità della luce nelcuore, v2 la velocità della luce nel mantello.
Baccarelli, Cordeschi, Patriarca, Polli
33
Fibra Ottica: caratteristiche fisiche (3/4)cladding
core
n2n1
FIBRA OTTICA
Una fibra ottica impiegata come mezzo trasmissivo tra una sorgente ed una destinazione di un collegamento di telecomunicazioni opera sotto le seguenti condizioni:
n1 >n2 , b>>aTipicamente, si ha
b≥ 10 an1≈1.01 n2
a≤ 2.4 λ / (2π ) (condizione di monomodo)dove λ(m) è la lunghezza d’onda della radiazione luminosa che viaggia nella fibra.
2
2
2
1 nn −
Baccarelli, Cordeschi, Patriarca, Polli
34
Fibra Ottica: caratteristiche fisiche (4/4)
Sia θ l’angolo di incidenza del raggio luminoso rispetto alla normale alla superficie di separazione cuore/mantello. Se è verificata la condizione di riflessione totale
allora il raggio luminoso incidente alla superficie di separazione cuore/mantello è totalmente riflesso all’interno del cuore e il raggio luminoso si propaga lungo l’asse della fibra, subendo, eventualmente, riflessioni multiple.
( )12 /arcsin nn>θ
n2
n1θ θ
Baccarelli, Cordeschi, Patriarca, Polli
35
Collegamenti in Fibra OtticaCircuito fisico
θ1 θ 1
tensione diingresso
DIODO LED o LASER FIBRA OTTICA
tensionedi uscita
FOTORIVELATORE
ww((tt) (watt)) (watt)
Circuito equivalente
ConvertitoreConvertitore
ElettroElettro--otticootticoConvertitoreConvertitore
ElettroElettro--otticoottico
0 1 1 0 1 00 1 1 0 1 0 0 1 1 0 1 00 1 1 0 1 0
ss((tt) (volt)) (volt) rr((tt) (volt)) (volt)
0 1 1 0 1 00 1 1 0 1 0
Segnale potenza Segnale potenza segnalesegnaleElettricoElettrico ottica elettricoottica elettrico
Baccarelli, Cordeschi, Patriarca, Polli
36
Caratteristiche di attenuazione di una fibra
100
0.1
1
10
0.5 1 1.5 2λ (μm)
dB/ Km
I II III
attenuazione (dB/Km)
La luce emessa ha uno spettro di emissione molto stretto, centrato intorno ad una lunghezza d’onda compresa tra 0,8 e 1,8 micron.
L’attenuazione in dB/km presenta un minimo in corrispondenza di alcuni intervalli di lunghezze d’onda (finestre).
Baccarelli, Cordeschi, Patriarca, Polli
37
Caratteristiche di dispersione temporale in una fibra (1/3)
t
uscitapotenza
ottica
Dispersione temporale: un impulso luminoso applicato all’ingresso si presenta in uscita con una durata temporale maggiore
Dispersione modale: Se il cuore della fibra ha un raggio a “elevato” si verificano più modalità di propagazione (modi), ciascuno dotato di diversa velocità di propagazione. Per evitare questa dispersione
osi usano fibre di piccolo diametro, chiamate MONOMODO
ingressot
potenzaottica
Baccarelli, Cordeschi, Patriarca, Polli
38
Caratteristiche di dispersione temporale in una fibra (2/3)
Dispersione cromatica: Il diodo generatore distribuisce l’energia luminosa su piùlunghezze d’onda, λ1,λ2,.. aventi diversavelocità di propagazione. Il fenomeno è molto poco sensibile in seconda finestra. Per ridurre questa dispersione
–si usano sorgenti a banda molto stretta, quasi monocromatiche (LASER invece che LED)
Baccarelli, Cordeschi, Patriarca, Polli
39
Caratteristiche di dispersione temporale in una fibra (3/3)
La dispersione temporale D (sec.) è proporzionale alla lunghezza del collegamento in accordo a
dove, per il caso di sola dispersione cromatica τ = 0,06 nsec/Km per i laser e τ = 2,5 nsec/Km per i led.
La massima dispersione tollerabile è (2 τ dkm) ≅ TbitQuindi la Massima frequenza binaria fb utilizzabile, per un collegamento di dKm è
Δ=2 τ dkmΔ=2 τ dkm
sec)/(2
11/
GbitdT
fKmkmnsbit
b ⋅⋅≤=
τ
Baccarelli, Cordeschi, Patriarca, Polli
40
Caratteristiche di impiego di una fibra
Le fibre attualmente impiegate sono monomodo, e dunque presentano solo dispersione cromatica. Si utilizza la terza finestra.
minore attenuazione, dell’ordine di 0,25 dB/Km
maggiore dispersione cromatica , dell’ordine di τ = 0,06 nsec/Kmper i laser, e di τ = 2,5 nsec/Km per i led
sec)/(2
11/
GbitdT
fKmkmnsbit
b ⋅⋅≤=
τ
LED LASERd(Km) (Mb/s) (Mb/s)
4 50.0 2083.38 25.0 1041.7
15 13.3 555.630 6.7 277.860 3.3 138.9
120 1.7 69.4240 0.8 34.7
Frequenze binarie di trasmissione raggiungibili in una fibra monomodo, in terza finestra.
Baccarelli, Cordeschi, Patriarca, Polli
41
Caratteristiche dei fotorivelatori(1/2)
i(t)fibra
R
im
t
i(t)
All'uscita della fibra ottica è applicato un diodo fotorivelatore che, investito dalla luce in uscita dalla fibra, genera una corrente elettrica il cui valor medio im (ampere) è proporzionale al valore della potenza luminosa incidente in accordo a
im=mg ρ WR
dove WR (watt) è la potenza ottica ricevuta, ρ è la responsività del fotodiodo(valore tipico 0.5 Ampère/Watt), mg è il fattore di fotomoltiplicazione, e dipende dal tipo di diodo utilizzato. In un diodo PIN ogni fotone produce una coppia elettrone-lacuna e quindi mg=1. In un diodo APD per effetto valanga ogni fotone produce in media mg coppie, con mg >1.
Baccarelli, Cordeschi, Patriarca, Polli
42
Caratteristiche dei fotorivelatori(2/2)
i m
i’m
t
i (t )Corrente all'uscita del fotorivelatore per due diversi valori della potenza ottica incidente WR.
La potenza del rumore quantico iq(t) aumenta all’aumentare di WR e di mg mentre la potenza di in(t) non varia al variare di WR e mg
Sovrapposte al segnale utile im=mg ρ WR sono presenti in uscita due componenti di rumore, il rumore quantico iq(t) e il rumore termico in(t) in accordo alla:
i(t)= mg ρ WR + iq(t)+in(t)
Baccarelli, Cordeschi, Patriarca, Polli
43
Rapporto segnale/rumore in una fibra (1/2)
Il rapporto segnale/rumore quantico SNRQ
oCresce al crescere della potenza ottica ricevuta WR
oDecresce al crescere del guadagno di fotomoltiplicazione mg
Il rapporto segnale/rumore termico SNRT
oCresce al crescere della potenza ottica ricevutaoCresce al crescere del guadagno di fotomoltiplicazione mg
( ) 1111 −−− +=+
=+
= TQ
R
N
R
QNQ
R SNRSNR
WW
WWWW
WSNR
Baccarelli, Cordeschi, Patriarca, Polli
44
Rapporto segnale/rumore in una fibra (2/2)
Caso di “bassa” potenza ricevuta (ad esempio in uscita da un collegamento in fibra molto lungo)
oIl rapporto segnale rumore complessivo é principalmentelimitato dalla presenza di rumore termicooIn tal caso é opportuno utilizzare un diodo APD, con guadagno di fotomoltiplicazione mg>1.
Caso di “alta” potenza ricevutaoIl rapporto segnale rumore complessivo é principalmentelimitato dalla presenza di rumore quantico oIn tal caso é opportuno utilizzare un diodo PIN, con guadagno di fotomoltiplicazione mg=1.
Baccarelli, Cordeschi, Patriarca, Polli
1
Capitolo 6Strato Fisico-
Le Modulazioni Numeriche
Baccarelli, Cordeschi, Patriarca, Polli
2
modulatore numerico
demodulatore numerico
mezzo trasmissivo
segnale analogico
segnale numerico
segnale numerico
segnale analogico
...0010111001...
...0010011001...
affetto da errori
affetto da distorsioni e
rumore
Modulazione e Demodulazione numerica
Baccarelli, Cordeschi, Patriarca, Polli
3
banda base
utilizza segnali analogicicon trasformata di Fourier
contenutain un intervallo di frequenza
contiguo all’origine
Mezzi trasmissivi in banda base
(es.: linea bifilare)
banda traslata
utilizza segnali analogicicon trasformata di Fourier
contenutain un intervallo di frequenza
non contiguo all’origine
Mezzi trasmissiviin banda traslata
(es.: trasmissioni radio)
f
X(f)
f
X(f)
Modulazione numerica: banda base e banda traslata
Baccarelli, Cordeschi, Patriarca, Polli
4
modulatore numerico in
banda traslata
demodulatore numerico
(banda traslata)
mezzo trasmissivo
segnale analogicoin banda traslata
segnale numerico
segnale analogicoin banda traslata
segnale numerico
Schema di modulazione in banda traslata
Baccarelli, Cordeschi, Patriarca, Polli
5
Un segnale numerico è rappresentato da un segnale fisico analogico:
Segnali con fronti ripidi di salita e di discesa: banda troppo larga, impiego inefficiente della banda passante del mezzo trasmissivo
Tecniche di MODULAZIONE IN BANDA BASE
t- 5 V
0 1 0 0 0 1 0 1 …
Tensione elettrica sul filo, dalla tastiera alla CPU
Potenza luminosa entrante in una fibra ottica
0 1 0 0 0 1 0 1 …
P0
0
+ 5 V
t
Rappresentazione dei segnali numericimediante segnali analogici (1/8)
Baccarelli, Cordeschi, Patriarca, Polli
6
... 0 1 0 0 0 1 0 1 …segnale numerico b(n) →(sequenza di simboli)
sequenza di ampiezze a(n) →(valori associati ai simboli secondo una corrispondenza biunivoca: Es. +5 ⇔ 0 ; -5 ⇔ 1 )
...+5 -5 +5 +5 +5 -5 +5 -5 …
impulsi →di forma g(t) di ampiezza a(n) trasmessi negli istanti nT
asse dei tempi → 0 T 2T 5T
+5
-5
a(0)g(t)
a(1)g(t-T)a(2)g(t-2T)
a(3)g(t-3T)
( ) )nTt(g )n(atxn
−= ∑∞+
−∞=
t1
t
Rappresentazione dei segnali numericimediante segnali analogici (2/8)
Baccarelli, Cordeschi, Patriarca, Polli
7
Esempio:
0 tsimboli: 0 1ampiezze: P0 0
forma di impulso:
segnale analogico:
0 T
g(t)
t1
( ) )nTt(g )n(atxn
−= ∑∞+
−∞=
0 1 0 0 0 1 0 1 …
P0
x(t)
Rappresentazione dei segnali numericimediante segnali analogici (3/8)
Baccarelli, Cordeschi, Patriarca, Polli
8
Sia {b(n)} una qualsiasi sequenza numerico avente:
alfabeto di ordine α, cioè costituito da αsimboli arbitrari rappresentabili,senza perdita di generalità, con i numeri naturali
{0, 1, 2, ..., a –1}intervallo di tempo tra simboli consecutivi : Tvelocità di emissione dei simboli: fs=1/T
Rappresentazione dei segnali numericimediante segnali analogici (4/8)
Baccarelli, Cordeschi, Patriarca, Polli
9
Rappresentazione dei segnali numericimediante segnali analogici (5/8)
Esso è rappresentabile mediante il segnale analogico
( ) )nTt(g )n(atxn
−= ∑∞+
−∞=dove g(t) è un segnale impulsivo, in molti casi limitato
all’intervallo (-T/2 , +T/2), detto impulso sagomatore
i valori a(n) sono estratti da un insieme di α ampiezze di impulso (numeri reali arbitrari), biunivocamenteassociati agli α simboli dell’alfabeto
[ a0 , a1 , a2 , ... , aa-1 ]
Baccarelli, Cordeschi, Patriarca, Polli
10
Criteri di scelta dei valori di ampiezza: ugualmente spaziate e simmetricherispetto allo 0.
a
+1
-1
a
+1
-1
0
[ ]1 - , ... 2, 1, 0,i 1
i21ai α=−α
−=
Un segnale numerico {b(n)} è univocamente associato ad una sequenza di valori reali mediante una corrispondenza biunivoca fra simboli e ampiezze{a(n)}.
a
+1
-1
+1/3
-1/3
simboli ampiezze di impulso0 a01 a1... ...
a -1 aa-1
Esempi:α = 2 α = 3 α = 4
Senza perdita di generalità,nel caso di α=2assumeremo a0 =1, a1=-1.
b(n) a(n)
Rappresentazione dei segnali numericimediante segnali analogici (6/8)
Baccarelli, Cordeschi, Patriarca, Polli
11
onda PAM
( ) )nTt(g )n(atxn
−= ∑∞+
−∞=
PAM : Pulse Amplitude Modulation, (Modulazione di Ampiezza di Impulso)
simboli diversi ⇔ differenti valori della ampiezza degli impulsi
larghezza di banda dell’onda PAM
larghezza di banda del segnale g(t)
⇔
Rappresentazione dei segnali numericimediante segnali analogici (7/8)
Baccarelli, Cordeschi, Patriarca, Polli
12
Esempi di segnali PAM
Ordine dell’alfabeto α
Ampiezze di impulso ai(i=0,1,...,α-1)
Forma di impulso g(t)
segnale PAM x(t)
2 [+1 , -1]
3 [+1, 0, -1]
4 [+1, +1/3, -1/3, -1]-T/2 0 +T/2
1
-T/2 0 +T/2
1
-T/2 0 +T/2
1
0 T 2T
0 0 1 0
0 T 2T
0 0 1 2
0 T 2T
0 1 0 3
Rappresentazione dei segnali numericimediante segnali analogici (8/8)
Baccarelli, Cordeschi, Patriarca, Polli
13
Prestazioni delle Modulazioni Numeriche
PAM
Baccarelli, Cordeschi, Patriarca, Polli
14
Obiettivi: • trasmettere un segnale numerico facendo uso di un canale
avente banda passante (fisica) limitata tra 0 ed un valore massimo fm;
• ottenere elevata efficienza di banda, definita come:
velocità di simbolo [(simboli/sec)/Hz]larghezza di banda del segnale modulato
s
m
ff
=
Gli esempi di segnali PAM esaminati, occupano una banda troppo estesa in relazione alla velocità di simbolo fs, a causa delle rapide transizioni ideali (discontinuità matematiche) o approssimate (fronti di salita e di discesa di durata finita) nella forma d’impulso g(t).
Modulazione numerica
Baccarelli, Cordeschi, Patriarca, Polli
15
Segnale dalla sorgente
(rappres. PAM ideale)
Filtroformatore di impulso
con risposta impulsiva g(t)
Segnale PAM ideale
( ) )nTt( )n(atun
−δ= ∑∞+
−∞=
( ) ( )tgtu)t(x ∗=
Segnale PAM a banda limitata(in uscita dal modulatore)
( ) )nTt(g )n(atxn
−= ∑∞+
−∞=
0 T 2T
0 0 1 0
0 t
0 0 1 0
t
Schema di principio di un modulatore PAM
Baccarelli, Cordeschi, Patriarca, Polli
16
Canalelineare e permanente
C(f) = FT [c(t)]passa-basso
C(f) = 0 per |f | > fm
+
rumore additivo gaussiano n(t) con spettro di densità di
potenzauniforme Wn(f) = N0 (Watt/Hz)
“rumore Gaussiano bianco”
z(t) = y(t) + n(t) segnale in uscita
dal canaleSegnale PAM a banda limitata(in uscita dal modulatore)
( ) )nTt(g )n(atxn
−= ∑∞+
−∞=
0 T 2T
0 0 1 0
y(t) = x(t) * c(t)
n(t)
Modello di Canale lineare e permanente affetto da rumore additivo Gaussiano
Baccarelli, Cordeschi, Patriarca, Polli
17
z(t)segnale in
uscitadal canale
Filtro di ingressoal demodulatore
GR(f)
Campionamentonegli istanti
t = kT
Decisione
criterio di decisione
â(k) sequenza
stimata delle ampiezzetrasmesse
w(t) = y(t) * gR(t) + η(t)
= r(t) + η(t)w(kT)
rumore filtrato
componenteutile
Il criterio qui applicato è il seguente: w(kT) ≥ 0 → a(k) = +1 ; w(kT) < 0 → a(k) = -1 Nel segnale numerico ricevuto possono comparire errori dovuti a decisione errata.
Esempio:w(kT) → +1,21 +0,66 -1,35 +1,17a(k) → +1 +1 -1 +1 b(k) → 0 0 1 0^^
( )* ( )Rn t g t
Demodulatore PAM
^^
Baccarelli, Cordeschi, Patriarca, Polli
18
Segnaledalla sorgente
Filtro formatore di impulso G(f)
( ) )nTt( )n(atun
−δ= ∑∞+
−∞=
( ) ( )tgtu)t(x ∗=
Canalelineare e permanente
C(f)+ z(t) = y(t) + n(t) =
= x(t)*c(t) + n(t)
Filtro di ingresso al demodulatore GR(f)
Campionamentonegli istanti t = kT
Decisione
sequenza â(k)
w(t) = y(t) * gR(t) + η(t)
w(kT)
n(t)
MODULATORE DEMODULATORE
CANALE
y(t)
Modulazione numerica
Baccarelli, Cordeschi, Patriarca, Polli
19
( ) ( )( ) ( ) ( )( ) ( ) ( ) ( )
( ) ∑ −∗=
∗∗∗=∗∗=
∗=
∞+
−∞=n
R
R
R
nTtnath
tgtctgtutgtctx
tgtytr
)( )(
)(
δ
con
risposta impulsiva della cascata di tre filtri:
formatore di impulso, canale, filtro di ingresso al demodulatore
Per le funzioni di trasferimento: H(f) = G(f) C(f) GR(f)
( ) ( ) ( ) ( )tgtctgth R∗∗=
( ) )nTt(h )n(atrn
−= ∑∞+
−∞=
Il segnale utile r(t) è
ancora un segnale PAM
con forma di impulsoh(t)
w(t) = y(t)*gR(t) + n(t)*gR(t) = r(t) + η(t)
segnale utile rumore(filtrato)
Componente di segnale utile all’ingresso del campionatore
Baccarelli, Cordeschi, Patriarca, Polli
20
Demodulazione del segnale PAM
in assenza di rumore
Baccarelli, Cordeschi, Patriarca, Polli
21
Obiettivo: ricavare una stima {â(k)} della sequenza di ampiezze trasmessa {a(k)} dalla sequenza di valori campionati in ricezione
{w(kT) , k = ..., -2, -1, 0, +1, +2, +3, …}Ipotesi: assenza di rumore n(t)=0⇒ η(t)=0
( ) ( ) ( ) ( ) )( )( nTthnatrttrtwn
−∑==+=∞+
−∞=η
( )
∑ −+=
−∑=
∞+
−∞=
∞+
−∞=
n
n
nTkThnahka
nTkThnakTw
)( )()0( )(
)( )(
, n ≠ k
coincide con a(k) a meno della costante
(guadagno) h(0)
componente dipendente dalle ampiezze trasmesse prima e dopo l’ampiezza k-esima e dalla funzione h(t) (ISI)
Interferenza intersimbolica (ISI)
Demodulazione in assenza di rumore
Baccarelli, Cordeschi, Patriarca, Polli
22
1, k 0( )
0, k 0 per
h kTper
=⎧= ⎨ ≠⎩
Ponendo le condizioni seguenti, dette condizioni di Nyquist:
si ha sempre w(kT) = a(k)
Il termine di ISI si annulla e la sequenza demodulata coincide con quella trasmessa (in assenza di rumore).
( ) ∑ −+=∞+
−∞=nnTkThnahkakTw )( )()0( )(
Interferenza intersimbolo e condizioni di Nyquist
Baccarelli, Cordeschi, Patriarca, Polli
23
Esempio:
Il segnale ricevuto all’uscita del filtro di ricezione è costituito da una sequenza di impulsi separati tra loro.
Le condizioni di Nyquist risultano soddisfatte, in particolare, quando la forma di impulso in ricezione, h(t), è limitata nel tempo tra i valori ±T/2.
-T -T/2 +T/2 +T +2T
1
h(t)
-T -T/2 +T/2 +T +2T
1
w(t)
Condizioni di Nyquist e forme di impulso limitate nel tempo
(1/2)
Baccarelli, Cordeschi, Patriarca, Polli
24
Condizioni di Nyquist e forme di impulso limitate nel tempo
(2/2)PROBLEMA
Un impulso h(t) di durata limitata nel tempoha trasformata di Fourier H(f), illimitata in frequenza (banda infinita).
Il canale ha banda limitata (C(f) è limitata in frequenza) e,quindi, H(f) = G(f) C(f) GR(f) deve necessariamente essere limitata in frequenza ossia nulla per .mf >f
Baccarelli, Cordeschi, Patriarca, Polli
25
1 0 ( )
0 per 0per k
h kTk
=⎧= ⎨ ≠⎩
Se h(t) soddisfa le condizioni di Nyquist nel dominio del tempo
la sua trasformata di Fourier H(f) soddisfa la seguente condizione di Nyquist nel dominio della frequenza
Tm
mH fT
+∞
=−∞
⎛ ⎞− =⎜ ⎟⎝ ⎠
∑
f
H(f)
-1/2T 0 +1/2T f-2/T -1/T 0 +1/T +2/T
H(f) H(f-1/T) H(f-2/T)H(f+1/T)costante
Esempio:T
Condizioni di Nyquist nel dominio della frequenza
Baccarelli, Cordeschi, Patriarca, Polli
26
Dalle condizioni di Nyquist nel dominio della frequenza si deduce che non è possibile avere forme di impulso h(t) senza interferenza intersimbolo se H(f) occupa una banda minore di:
f-1/2T 0 +1/2T
H(f)La somma delle repliche traslate di una H(f) di frequenza massima minore di fN non può mai dare luogo a una costante.
Banda di Nyquist2
simbolo di velocità2f
T21f s
N ===
Banda minima per la trasmissione di segnali PAM senza ISI
Baccarelli, Cordeschi, Patriarca, Polli
27
Una particolare forma di impulso h0(t) i. limitato in banda ii. che soddisfa le condizioni di Nyquist
è quella la cui trasformata di Fourier H0(f) è la funzione di trasferimento di un filtro passa-basso ideale (moltiplicata per il fattore costante T):
H0(f)
f
T
-1/2T 0 +1/2T
( )⎪⎩
⎪⎨
⎧
>
≤=
2T1fper 02T1fper
0T
fH0
sin( )
tTh t t
T
⎛ ⎞π⎜ ⎟⎝ ⎠=π
Forma d’impulso di Nyquist a banda limitata -passa-basso di Nyquist
h0(t)
t0 T 2T 3T 4T 5T 6T
Baccarelli, Cordeschi, Patriarca, Polli
28
Esempio:Segnale PAM privo di ISI nel caso di forma di impulso h0(t)
h0(t)
t
t
r(t)
T0
+1
+1
-1
0
f
H0(f)
T
-1/2T 0 +1/2T
Forma d’impulso di Nyquist a banda limitata
Baccarelli, Cordeschi, Patriarca, Polli
290 fN 2fN
H(f)
Tγ = 0.3
γ = 0.6γ = 1
γ = 0
( ) ( )
( )
T, per 0 (1 )
T 1 sin( ( )) , per 1 1 ( )2
0 per 1
N
n N N
N
f f
T f f f f fH f
f f
≤ ≤ − γ
⎡ ⎤π− − − γ ≤ < + γ= ⎢ ⎥γ⎣ ⎦
> + γ
⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩
γ fattore di roll-off, 0 < γ ≤ 1
Forma d’impulso di Nyquist a coseno rialzato
Baccarelli, Cordeschi, Patriarca, Polli
30
All’aumentare del fattore di roll-off g da 0 (filtro passa-bassoideale) a 1 Le oscillazioni della h(t) ai due lati del picco dell’impulso si smorzano più rapidamente.
La banda occupata aumenta da fN a fN(1 + g)
Minore criticità nel campionamento in ricezione.
Forma d’impulso di Nyquist a coseno rialzato
γ = 0.6
γ =0
0 T 2T 3T 4T
h(t)
t
1
-4T -3T -2T -T
γ=1
γ= 0.3
Baccarelli, Cordeschi, Patriarca, Polli
31
h(t)
T0
+1
t
h(t)
tT
0
+1
r(t)+1
-1
0 t
r(t)+1
-1
0 t
Esempio:
Segnali PAM privo di ISI per forma di impulso h (t) a coseno rialzato,( g = 0 e g = 1 )
γ = 0 γ = 1
Forma d’impulso di Nyquist a coseno rialzato
Valori di γ di interesse operativo: 0,2 < γ < 0,6
Baccarelli, Cordeschi, Patriarca, Polli
32
Se la forma dell’impulso h(t) non rispetta le condizioni di Nyquist, i campioni del segnale ricevuto sono affetti da interferenza intersimbolo (anche in assenza di rumori di canale).Esempio:
Impulso h(t) che non soddisfa le condizioni di Nyquist [in neretto i valori non nulli di h(kT), per k ≠ 0]
Corrispondente segnale PAM [i valori campionati sono diversi dai valori di ampiezza trasmessi ±1]
T
Ricezione in presenza di interferenza intersimbolo
+1
-1
T
Baccarelli, Cordeschi, Patriarca, Polli
33
I simboli sono associati ad α ampiezze diverse (segnale PAM multilivello ad α livelli)
velocitàdi simbolo binario fb
velocità di simbolo
sorgente binaria
conversione di alfabeto
2 → α
modulatore PAM ad α
livelli
canale in banda base(freq. max.
fm)
≥ s sm
2
f ff =2 2log αbs
2
ff =log α
Minima banda di canale per trasmissione priva di interferenza intersimbolo (condizione di Nyquist).
Segnale PAM multilivello
Baccarelli, Cordeschi, Patriarca, Polli
34
i. Aumento dell’efficienza spettrale Velocità di trasmissione dei simboli binari fb più alta, a parità di banda fm occupata dal segnale PAM,ovvero riduzione della banda fm occupata dal segnale PAM a parità di frequenza di simbolo binario fb.
ii. Aumento della probabilità di errore in presenza di interferenza intersimbolo e/o rumore, a causa della minore differenza tra valori adiacenti di ampiezza di impulso.
All’aumentare del numero di livelli a del segnale PAM utilizzato abbiamo che:
Vantaggi e svantaggi del PAM multilivello
Baccarelli, Cordeschi, Patriarca, Polli
35
Demodulazione del segnale PAM
in presenza di rumore gaussiano
Baccarelli, Cordeschi, Patriarca, Polli
36
( ) ( ) ( ) ( )kTkakTkTrkTw ηη +=+= )(
( ) ( ) ( ) ( )t)nTt(h )n(attrtwn
η+−=η+= ∑∞+
−∞=
Supponendo che la forma di impulso in ricezione, h(t), sia priva di interferenza intersimbolo, e con h(0) =1, agli istanti di campionamento kT si ha
Variabile con α valori possibili
Variabile aleatoria Gaussiana con valore atteso nullo e varianza ση
2
( ) df fG N 2R
-
02 ∫
∞
∞+
η =σ
Obiettivo: ricavare una stima {â(k)} della sequenza di ampiezze trasmessa {a(k)} dalla sequenza di valori campionati in ricezione
{w(kT) , k = ..., -2, -1, 0, +1, +2, +3, …}Ipotesi: rumore additivo Gaussiano bianco
(Segnale all’ingresso del campionatore di ricezione)
Demodulazione PAM in presenza di rumore di canale
Baccarelli, Cordeschi, Patriarca, Polli
37
Decisione in presenza di rumore Gaussiano.Criterio della Massima Verosimiglianza (1/3)
w(kT)=a(k)+η(kT)
Problema: Misurato w(kT) w* all’ uscita del campionatore di ricezione, di possiamo calcolare una “buona” decisione (stima) a(k) del simbolo trasmesso sulla base di w* ? ≡
Misurato w(kT) w*, si decide a favore della più verosimile tra le ampiezze {a0 .. aa-1} assumibili dal simbolo a(k), ossia a favore di quell’ampiezza a alla quale corrisponde la più grande del seguente insieme di probabilità condizionate {p[w* a(k)= a0 ],…, p[w* a(k)= aa-1]}.
In formule,la decisione MLD a(k) sul simbolo a(k) è quindi definita come segue:
a(k) argmax{p[w* a(k)= ai]}
≡
∧
∧
≡∧
0 1i≤ ≤ α −
Criterio della Massima Verosimiglianza (MLD)
Baccarelli, Cordeschi, Patriarca, Polli
38
a(k)=argmin{(w*- ai) }
w(kT)=a(k)+η(kT),Poiché la componente di rumore η(kT) è Gaussiana e a media nulla, si può provare che la decisione MLD a(k) precedentemente definita
è equivalente a scegliere come decisione a(k) quello tra i possibili αvalori {a0… aa-1} assumibili da a(k) che è più vicino (ossia, dista di meno) dal valore misurato w(kT) w*.
Quindi, per la decisione MLD a(k) vale la seguente proprietà: ≡
2
0 i 1≤ ≤ α −
IL Decisore MLD è un decisore a minima distanza Euclidea
∧
∧
∧
Decisione in presenza di rumore GaussianoDecisore a minima distanza Euclidea (2/3)
Baccarelli, Cordeschi, Patriarca, Polli
39
w(kT)=a(k)+η(kT)Supponiamo che a(k) possa assumere i due valori a(k)= 1 (caso di
modulazione PAM binario).
Allora il decisore a minima distanza Euclidea si riduce (ossia, èequivalente) ad un decisore “a soglia” che decide a(k)=+1 quando w(kT) 0 e decide a(k)=-1 quando w(kT)<0, in accordo alla relazione
±
≥
+1, -1,
per w(kT) 0per w(kT) 0
⎫⎧ ⎪⎪ ⎪⎨ ⎬⎪ ⎪⎩ ⎪⎭
≥≤
Ovviamente, non sempre la decisione a(k) è esatta. Quindi, definiamo
come probabilità d’errore Pe del decisore MLD la quantità:
Pe P(a(k) a(k)).
∧∧
≠
∧
∧a(k)= (2-PAM)
∧
Decisione in presenza di rumore Gaussiano Caso del 2-PAM (3/3)
Baccarelli, Cordeschi, Patriarca, Polli
40
p [w(kT) | a(k) = -1]=
+1
-1
0
w(kT)
p [w(kT) | a(k) = +1]=
w(k) > 0
a(k) = -1
η(kT) > +1
w(kT) = a(kT) + η(kT) > 0↓
â(kT) = +1 ≠ a(kT) “errore”
a(k)
( )| 1
0
| 1 eP p w a k dw+∞
− ⎡ ⎤= = − =⎣ ⎦∫
( ) ee PPdp ==∫= +∞+
1|1
ηηη
Probabilità di errore(area tratteggiatain figura)
Densità di probabilità gaussiana
pη [η=w(kT)-1]
pη [η=w(kT)+1]
Probabilità d’errore in presenza di rumore gaussiano
Caso 2-PAM
Baccarelli, Cordeschi, Patriarca, Polli
1
Capitolo 7Strato Fisico-
Codici correttori d’errore e capacità di canale
Baccarelli, Cordeschi, Patriarca, Polli
2
Codici correttori d’errore
richiedere la ritrasmissionescartare parte del segnale
Obiettivi:
correggere o rivelare errori nella trasmissione disegnali numerici (sequenze di simboli, usualmentebinari)
Correzione di errore → Eliminare l’errore dalsegnale ricevuto
Rivelazione di errore → Segnalare l’errore nelsegnale ricevuto
Baccarelli, Cordeschi, Patriarca, Polli
3
Esempio di correzione di errore tratto da esperienza comune
Messaggio da trasmettere....arriverò il 26/4/2002...
Errore di trasmissione; messaggio ricevuto:....arriverò il 28/4/2002...
Errore non visibile, né recuperabile, in ricezione.
Messaggio codificato :....arriverò il ventisei aprile prossimo venturo...
Due errori di trasmissione; messaggio ricevuto :....arriverò il vantisei aprole prossimo venturo...
Errori correggibili da parte del ricevente.
Costo dell’operazione di codifica: un messaggio
con più caratteri alfanumerici, cioè con una maggiore ridondanza
Baccarelli, Cordeschi, Patriarca, Polli
4
RidondanzaRidondanza di un messaggio discreto (sequenza di simboli):
dove si è indicato conNI il numero di simboli strettamente necessario per trasmettere l’informazione contenuta nel messaggio,NT il numero totale dei simboli contenuti nel messaggio
stesso(quindi NR = NT - NI numero di simboli ridondanti).
Il valore della ridondanza è compreso nell’intervallo
0 ≤ ρ ≤ 1
1I RΤ
Τ Τ
Ν − Ν Νρ = = ≤
Ν Ν
messaggio costituitodal minimo numerodi simboli possibile
messaggiocon contenuto
informativo nullo (solo ridondanza)
Baccarelli, Cordeschi, Patriarca, Polli
5
Canale Discreto
sequenza disimboli di ingresso
sequenza disimboli di
uscita
per ogni simbolo introdotto all’ingresso viene prodotto
un simbolo in uscita dal canale
canale discreto
I simboli sono usualmente costituititi da bit, singoli o raggruppati in parole binarie.
xn yn
Baccarelli, Cordeschi, Patriarca, Polli
6
Esempi di canali discreti (1/2)Sistema di trasmissione per segnali di dati (segnali numerici):
Sorgentedi dati
Modulatorenumerico
Mezzotrasmissivo
Demodulatorenumerico
Destinatariodei dati
sequenza disimboli di ingresso
sequenza disimboli di uscita
canale discreto
Baccarelli, Cordeschi, Patriarca, Polli
7
Esempi di canali discreti (2/2)Sistema di trasmissione per segnali fonici:
codificatorePCM
Modulatorenumerico
Mezzotrasmissivo
demodulatorenumerico
decodificatorePCM
sequenza di simbolidi ingresso (bit)
sequenza di simbolidi uscita (bit)
microfono altoparlante
segnalianalogici
Baccarelli, Cordeschi, Patriarca, Polli
8
Canali discreti binari, ideali o rumorosi
canalebinarioideale
canalebinario
rumoroso
la sequenza di simboli di uscita contiene errori casuali
....001011011........011010010....
la sequenza di simboli di uscita è identica a quella di ingresso
....001011011.... ....001011011....
Baccarelli, Cordeschi, Patriarca, Polli
9
Canale discreto binario (1/2)CANALE BINARIO RUMOROSO
1 1
0 0
1-p’
p’
p
1-p
p = probabilità che uno “0” introdotto all’ingresso dia luogo a un “1” in uscita
p’ = probabilità che un “1” introdotto all’ingresso dia luogo a uno “0” in uscita
( 1| 0)P Y X
X Y
= = =
( 0 | 1)P Y X= = =
Baccarelli, Cordeschi, Patriarca, Polli
10
Canale discreto binario (2/2)
CANALE BINARIO IDEALE
1 1
0 01
1
p = p’ = 0 ; 1 - p = 1 - p’ = 1
X Y
Baccarelli, Cordeschi, Patriarca, Polli
11
Canale Binario Simmetrico
1 1
0 0
1-p
p
p
1-p
il parametro p è la “probabilità di errore” del canale che è uguale a
p=P(Y=0|X=1)=P(Y=1|X=0)
Canale binario con p = p’
X
Baccarelli, Cordeschi, Patriarca, Polli
12
Canale discreto generico
Probabilità di ricevere il simbolo bk, condizionata all’aver trasmesso il simbolo ai,
a ordinedell’alfabeto di ingresso
a0
a1
aα-1
aα-2
.
.
....
.
.
.
.
.
.
ai
b0
b1
bβ-1
bβ-3
bk
bβ-2
P(bk |ai )
a0 , ... , aα-1
alfabetodi ingresso
b0 ,... , bβ-1
alfabetodi uscita
Probabilitàdi transizione del canale
P(Y=bk |X=ai)
X Y
Baccarelli, Cordeschi, Patriarca, Polli
13
Comportamento del canale discreto
In funzione del tempo
In funzione della sequenza di simboli trasmessa
Le probabilità di transizione possono variare in funzione del tempo
Le probabilità di transizione possono dipendere dai simboli trasmessi prima del simbolo attuale (od anche dopo)
Baccarelli, Cordeschi, Patriarca, Polli
14
Canale binario simmetrico stazionario e senza memoria
E’ un canale binario simmetrico in cui le probabilità di transizione:
sono costanti nel tempo (“stazionarietà”)
non dipendono dai simboli trasmessi prima o dopo il simbolo in esame (il canale “non ha memoria”)
Il canale binario simmetrico, stazionario, senza memoria costituisce il
caso di riferimento per lo studio dei codici correttori d’errore binari.
Per questo tipo di canale la probabilità di errore, p , è un
parametro costante che caratterizza completamente il canale
stesso.
Baccarelli, Cordeschi, Patriarca, Polli
15
Probabilità di errore p nel BSCp
10.50
intervallo di valori teoricamente possibili
Un BSC con probabilità di errorep > 0,5 è equivalente a un BSC conprobabilità d’errore q = 1-p < 0,5
seguito da un invertitore (0→1 ; 1 →0)intervallo di valori presi in considerazione nella
teoria dei codici
La probabilità pè compresa per
definizionenell’intervallo
0 ≤ p ≤ 1
intervallo di valori di interesse applicativo, con
p sufficientementepiccolo
Esempio:Canale radio-mobile (GSM) p≅10-1, p≅10-2, Downlink satellitare (DVB-S) p≅10-2, Cavo Coassiale (DVB-C) p≅10-4,
Baccarelli, Cordeschi, Patriarca, Polli
16
Schema di trasmissione con impiego di codifica per correzione d’errore
Sorgentebinaria
codificatore Canale binario
simmetricodecodificatore destin.
sequenza trasmessa
Sequenza decodificata eventualmente affetta
da errore
sequenza codificata
probabilitàdi errore di canale = p
La codifica è utile se ha l’effetto di ridurre la probabilità di errore, ossia se
Pe < p
probabilità di errore dopo decodificazione = Pe
Baccarelli, Cordeschi, Patriarca, Polli
17
Esempio di codice correttore d’errore
Data una sequenza binaria di sorgente, codificare ogni simbolo con una parola di 3 simboli, secondo la corrispondenza biunivoca
simbolo di parolasorgente di codice
0 0 0 01 1 1 1
Esempio:sequenza di sorgente. . . . 0 1 1 0 1 . . .sequenza codificata. . . . . 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1…
In base a quale criterio di decodifica il codice corregge gli errori?
Baccarelli, Cordeschi, Patriarca, Polli
18
Criterio di decisione a Massima Verosimiglianza (ML) per trasmissioni in canali binari discreti e rumorosi (1/2)
Canale binario
Decisore MLDrx x
Sequenza binaria trasmessa
Sequenza binaria ricevuta
Sequenza decisa
Supponiamo che la sequenza x=[x0…xn-1] possa assumere uno degli L possibili valori {c0, c1,…, cL-1} ciascuno dei quali è una stringa binaria lunga n bit
Indichiamo con r=[r0…rn-1] la stringa binaria ricevuta (ossia “misurata”) all’uscita del canale binario.
Indichiamo con {P(r|x=ci, i=0,…,(L-1)} le risultanti L probabilità di transizione del canale binario.
Baccarelli, Cordeschi, Patriarca, Polli
19
Criterio di decisione a Massima Verosimiglianza (ML) per trasmissioni in canali binari discreti e rumorosi (2/2)
Criterio di decisione ML
Ricevuto r, il decisore scegli come decisione quella tra gli L possibili valori {c0, c1,…, cL-1} alla quale corrisponde la probabilità di transizione più grande, ossia in formule
( ){ }0 L 1
x arg max P r | x cii≤ ≤ −
= =
Baccarelli, Cordeschi, Patriarca, Polli
20
Esempio di decodifica a massima verosimiglianza
Canale Binario Simmetrico stazionario senza memoria, p<0.5
Errori sui bit indipendenti
Messaggi trasmessi lunghi 3 bitsProbabilità che sia commesso 1 errore P1=p (1-p)2
2 errori P2=p2(1-p)3 errori P3=p3
P3 < P2 <P1
101 P(101|111) > P(101|000)(un solo errore è più
probabile di due)
111 !
Cioè la sorgenteha emesso un 1
viene da111 o da 000 ?
canale
Baccarelli, Cordeschi, Patriarca, Polli
21
Codici a blocco (n,k)
In generale, un codice a blocco risulta definito da 2k parole di codice di n simboli, scelte tra le 2n sequenze possibili di n simboli. Ad esempio
Codice a blocco (3,1):2 parole di sorgente possibili (21 = 2) → 0, 12 parole di codice (scelte tra 23 = 8 possibili)→ 000, 111
Codice a blocchi (5,2):4 parole di sorgente possibili (22 = 4) → 00, 01, 10, 114 parole di codice (scelte tra 25 = 32 possibili)→ 00000, 01111, 10110, 11001
I simboli binari emessi dalla sorgente sono codificati a gruppi di k (“parole”)Il codificatore, ad ogni parola di sorgente di k simboli in ingresso, associa biunivocamente una parola di codiceformata da n simboli in uscita, con n > k
Baccarelli, Cordeschi, Patriarca, Polli
22
Schema generale per la co-decodificadi un codice a blocco (n,k)
parola di sorgente emessaformata da k simboli(2k parole possibili)
parola di codiceformata da n simboli(2k parole scelte tra 2n
possibili)
sequenza ricevutaformata da n simboli(2n sequenze possibili, a causa degli errori di canale)
sorgente destinatario
canale
BSC
codificatore decodificatore
a a
rc
^
parola di sorgentedecisa, formata da k simboli(2k parole possibili), non necessariamente uguale ad a, a causa di errori di decodifica.
Baccarelli, Cordeschi, Patriarca, Polli
23
Distanza di Hamming fra sequenze binarie
Date due sequenze binarie x ed y formate da m simboli, si definisce Distanza di Hamming d(x,y) il numero di simboli, in posizioni omologhe, in cui le due sequenze differiscono.
Si osservi che risulta 0≤d≤n.
Esempio per n = 7:n
sequenza x → 0 1 0 1 1 1 1sequenza y → 1 1 0 0 0 1 1
distanza: d = 3
Baccarelli, Cordeschi, Patriarca, Polli
24
Distanza minima di Hamming di un codice a blocchi
Si definisce come distanza minima dmin di Hamming di un codice a blocco (n,k) il minimo valore della distanza di Hamming tra due parole qualsiasi appartenenti al codice
Il codice (3,1), ed il codice (5,2) prima definiti hanno ambedue distanza dmin = 3.
d = 4
d = 3 d = 3
d = 4
d = 3
d = 3d = 3111
00000011111011011001
000
Baccarelli, Cordeschi, Patriarca, Polli
25
Relazione tra distanza di un codice e probabilità di errore dopo
decodificazione (1/2)
Sia t (0 ≤ t ≤ n) la distanza di Hamming tra c e r, ossia:d(r,c) = t
Quindi, su n simboli trasmessi abbiamo:t trasmissioni con erroren-t trasmissioni senza errore
Supponiamo gli errori statisticamente indipendenti (canale senza memoria), allora la probabilità di transizione di canale è calcolabile come segue
( ) ( ) ( ) ( )1
0
| | 1 11
tnn t nt
i ii
pP P r c p p pp
−−
=
⎛ ⎞= = − = −⎜ ⎟−⎝ ⎠∏r c
dal codificatore
al decodificatore
c = [c0 , c1 ,..., cn-1] 1 1
0 0
1-pp
p
1-pcanale
r = [r0 , r1 ,..., rn-1]
Baccarelli, Cordeschi, Patriarca, Polli
26
Relazione tra distanza di un codice e probabilità di errore dopo
decodificazione (2/2)Criterio di decisione a Massima Verosimiglianza: data la sequenza r ricevuta, decidere in favore della parola di codice c per la quale è massima la P(r|c) data dalla
Per p≤0.5 il massimo di P(r|c) al variare di c si ha in corrispondenza del minimo di t.
Criterio della Minima Distanza di Hamming:data la sequenza ricevuta r, decidere in favore di quella del
codice c* che ha la minima distanza di Hamming da r.
( ) ( )| 11
tnpP p
p⎛ ⎞
= −⎜ ⎟−⎝ ⎠r c
Baccarelli, Cordeschi, Patriarca, Polli
27
Esempio di decodifica a minima distanza di Hamming
Codice (5,2) con dmin = 3 :Parole del codice: 00000 01111 10110 11001Parola trasmessa: 10110
min d(r,c) = 0
min d(r,c) = 1
min d(r,c) = 1
Errori nel canale Sequenza ricevuta Parola decisa
0 10110 10110
1 10111 10110
1 10100 10110
1 10010 10110
1 11110 10110
1 00110 10110
2 00111 00111
… … …
Baccarelli, Cordeschi, Patriarca, Polli
28
Capacità di correzione di errori del codice
Sia c(T) la parola di codice trasmessa e sia r la sequenza ricevuta, con d(r, c(T) ) = t
Dato che r è stata ottenuta da c(T) modificandola in t posizioni, occorre modificare r in almeno altre dmin - t posizioni per ottenere un’altra parola di codice, distante almeno dmin da c(T) . Per t < dmin /2 valgono le relazioni
d(r, c ) ≥ dmin - t > t per ogni c ≠ c(T)
Nelle condizioni dette la decodifica a minima distanza è sempre corretta. Quindi deduciamo che
un codice a blocco (n,k) con distanza di Hamming dmingarantisce la correzione di tutte le configurazioni di
errore contenenti un numero di errori
t ≤ ⎣(dmin–1)/2⎦
Baccarelli, Cordeschi, Patriarca, Polli
29
Capacità di rivelazione d’errore di un codice a blocco
Un codice a blocco (n,k) può essere anche usato per rivelare errori di canale nella sequenza ricevuta r.
La presenza di errori viene rivelata tutte le volte che la sequenza ricevuta r non coincide con alcuna delle parole di codice {c0,c1,…,cL-1}.
Errori di canale che trasformino una parola di codice in un’altra non possono essere rivelati. Quest’ultima evenienza può evidentemente verificarsi soltanto se t≥ dmin .
Quindi
un codice a blocco (n,k) con distanza dmin garantisce la rivelazione di tutte le configurazioni di errore contenenti un numero di errori t ≤ dmin-1
Correzione d’errore Rivelazione d’erroret ≤ ⎣(dmin–1)/2⎦ t ≤ dmin-1
Baccarelli, Cordeschi, Patriarca, Polli
30
Probabilità d’errore residua dopo decodificazione (1/2)
Trasmissione senza codifica:
La probabilità di simbolo errato Pe al destinatario è uguale alla probabilità d’errore del canale, p.
destinazionesorgente codificatore decodificatorea
Pe = P(c≠c)= < p
canale BSCprob.err. p
sorgente canale BSCprob.err. = p
destinazionea
Pe =P(a≠a)= p
a
cc
^
^
Trasmissione con codifica a correzione d’errore:
la probabilità Pe di errore “residuo” dopo decodificazione (dovuta agli errori che non vengono corretti dal decodificatore) è minore della probabilità d’errore del canale, p.
Baccarelli, Cordeschi, Patriarca, Polli
31
Probabilità d’errore residua (2/2)
Codice (n,k) a distanza dmin
Ha la capacità di correggere tutte le configurazioni d’errore con un numero massimo di errori t = ⎣(dmin-1)/2⎦
Relazione di calcolo per la Pe =P(c≠c) probabilità di errore sulla parola di codice:
( ) 1
1 1-p , 1/ 2
1
nn ii t
ei t
n nP p p p
i t− +
= +
⎛ ⎞ ⎛ ⎞= ≅ <<⎜ ⎟ ⎜ ⎟+⎝ ⎠ ⎝ ⎠∑
Baccarelli, Cordeschi, Patriarca, Polli
32
Complessità della co-decodificaCodificatore:Accesso a tabella che definisce la corrispondenza biunivoca tra parole di sorgente e parole di codice. Tale tabella contiene 2k coppie di elementi.
complessità esponenziale con k
Decodificatore:Confronto della sequenza ricevuta con le 2k possibili parole di codice trasmesse.
complessità esponenziale con k
Esistono codici a contenuto algebrico, nei quali le operazioni di co-decodifica sono realizzate mediante operazioni algebriche e non mediante accesso a tabella (teoria algebrica dei codici)
riduzione della complessità (lineare in k)
Baccarelli, Cordeschi, Patriarca, Polli
33
Ridondanza e “transmission rate”
Si definisce “transmission rate” (tasso di trasmissione) R di un codice il rapporto tra numero di simboli entranti ed uscenti dalcodificatore
dove ρ
rappresenta la ridondanza del codice. Poiché n>k, avremo che R<1.
nkn −=ρ
ρ−== 1nkR
Baccarelli, Cordeschi, Patriarca, Polli
34
Scelta dei valori di k e di nSi consideri costante il transmission rate k/n. All’aumentare di k e di n:
È possibile trovare codici aventi dmin (e quindi capacità di rivelazione e di correzione d’errore) piùelevata
Aumenta la complessità di co-decodificaAll’aumentare solo di n, diminuisce il
transmission rate R.
Baccarelli, Cordeschi, Patriarca, Polli
35
La Capacità di Canale – Generalità(1/4)
^
^
S
D
CODER
DECODER
MOD.
DEMOD.
CANALE
( )bb kT
ˆ( )bb kT
( )s t
( )r t
Con riferimento allo schema precedente, supponiamo che la sorgente emette una sequenza di bit {…, b((k-1)Tb), b(kTb),…} a periodo di segnalazione binaria: Tb=1/fb (sec).
Supponiamo che la sequenza binaria {b(kTb), k=0,±1, ±2…} sia codificata, modulata, trasmessa nel canale, demodulata e , infine, decodificata nella sequenza { b(kTb), k=0,±1, ±2…}.
Indichiamo con
PE P(b(kTb) ≠ b(kTb) )
la risultante probabilità di errore di decodifica.
Baccarelli, Cordeschi, Patriarca, Polli
36
La Capacità di Canale – Definizione (2/4)
Per definizione, la capacità C (bit/sec) del canale trasmissivo è il massimo valore che può assumere fb al variare in tutti i modi possibili delle coppie Mo-Demodulatore e Co-Decodificatore sotto il vincolo che la PE risultante sia nulla.In formule,
C max{ fb= 1/Tb} (bit/sec),Sotto il vincolo che
PE = P(b ≠ b)=0,dove il massimo è da intendersi rispetto a tutte le
possibili scelte delle coppie Mo-Demodulatore e Co-Decodificatore.
^
Baccarelli, Cordeschi, Patriarca, Polli
37
La Capacità di Canale – Proprietà(3/4)
Dal punto di vista analitico, la capacità C di un canale è un numero reale e non negativo, che si misura in (bit/sec).Dal punto di vista ingegneristico, C rappresentante la massima velocità con cui una sorgente binaria connessa al canale può trasferire simboli d’informazione binari sotto il vincolo che la sequenza {b(kTb), k=0,±1, ±2…} ottenuta dopo decodificazione coincida con la sequenza trasmessa {b(kTb), k=0,±1, ±2…} .
^
Baccarelli, Cordeschi, Patriarca, Polli
38
La Capacità di Canale – Proprietà(4/4)
Ogni canale ha un suo specifico valore di capacità C, che dipende dal tipo e dall’entitàdei disturbi introdotti dal canale stesso.
I canali migliori sono quelli con capacità piùelevate.
Baccarelli, Cordeschi, Patriarca, Polli
39
La capacità del canale “Additive White Gaussian Noise” (AWGN) (1/3)
Come esempio di calcolo di capacità, consideriamo il seguente modello di canale, detto canale AWGN a banda limitata.
+( )r t( )s t
( )n t( )H f
W W f−
Essenzialmente il canale,i. Somma al segnale modulato s(t) un segnale n(t) di rumore gaussiano
bianco, a media nulla, e con spettro bilatero di densità di potenzaPnn(f)=N0/2 (Watt/Hz);
ii. Fa transitare il segnale somma risultante s(t)+n(t) attraverso un filtro passa-basso di larghezza di banda W(Hz).
Baccarelli, Cordeschi, Patriarca, Polli
40
La capacità del canale Additive White Gaussian Noise (AWGN) (2/3)
Indichiamo con
la potenza del segnale modulato che entra nel canale.Si può dimostrare che la capacità C (bit/sec) del suddetto canale è pari a
La formula precedente è nota come “formula della capacità di Shannon-Hartley”.
/22
/2
1lim ( ) ( )T
s TT
P s t dt WattT→+∞
−
= ∫
20
log 1 (bit/sec)sPC WN W
⎛ ⎞= +⎜ ⎟
⎝ ⎠
Baccarelli, Cordeschi, Patriarca, Polli
41
La capacità del canale Additive White Gaussian Noise (AWGN) (3/3)
E’ interessante osservare che :i. Per ogni fissato valore della banda W, abbiamo
che:
ii. Per ogni fissato valore del rapporto Ps/N0, abbiamo che:
0 0/ 0 /lim 0 , lims sP N P N
C C→ →∞
= = +∞ e :
200
lim 0, e: lim (log ) (bit/sec)sW W
PC C eN→ →∞
= =
Baccarelli, Cordeschi, Patriarca, Polli
1
Capitolo 8Strato di Collegamento-
Accesso Multiplo e Reti in Area Locale
Baccarelli, Cordeschi, Patriarca, Polli
2
Sommario del CapitoloServizi offerti dallo Strato di Collegamento
o Rivelazione di errore e controllo di errore (ARQ)o Indirizzamento o Controllo di flussoo Accesso Multiplo
Reti in Area Localeo La famiglia delle Reti Etherneto L’interconnessione di Reti in Area Localeo Il protocollo PPP
Reti a Circuito Virtualeo Generalitào Indirizzamento
Introduzione alle Reti ATMo Architettura Protocollareo Servizi Offertio Virtualizzazione dello Strato di Collegamento
Baccarelli, Cordeschi, Patriarca, Polli
3
Il Servizio di Base offerto dallo Strato di Collegamento
Il servizio di base offerto dallo Strato di Collegamento è quello di permettere il trasferimento di interi datagrammi (cioè, di pacchetti generati dallo Strato di Rete) da un nodo (utente terminale o Commutatore) ad uno ad esso adiacente attraverso un singolo canale fisico.Il canale fisico che collega una coppia di nodi adiacenti può essere
o dedicato esclusivamente alla comunicazione della coppia di nodi in oggetto (canale punto-punto);
o Condiviso (ovvero, utilizzato) da più coppie di nodi che vogliono comunicare tra di loro simultaneamente (canale broadcast).
Baccarelli, Cordeschi, Patriarca, Polli
4
Strato di Collegamento- Contesto Operativo
I datagrammi vengono trasferiti da differenti protocolli di Collegamento mediante canali diversi:
o esempio: Ethernet sul primo collegamento, rilancio delle trame sui collegamenti intermedi e 802.11 sull’ultimo collegamento.
Ogni protocollo di collegamento fornisce servizi differenti.Analogia
viaggio da Princeton a Losannai. macchina da Princeton fino all’aeroporto JFK;ii. aereo dall’aeroporto JFK a Ginevra;iii. treno da Ginevra a Losanna.
turista= datagrammasegmento di trasporto= collegamento di comunicazionemodo di trasporto= protocollo dello strato di collegamento.
Baccarelli, Cordeschi, Patriarca, Polli
5
Strato di Collegamento- Servizio di Base (1/2)
Terminologia:hosts and router sono i nodii canali di comunicazione che
collegano nodi adiacenti lungo un cammino di comunicazione sono i collegamenti (link)
o collegamenti wiredo collegamenti wirelesso LANsil pacchetto di strato-2 è
una trama, datagramma incapsulato
Lo strato di collegamento ha la responsabilità di trasferire datagrammi da un nodo ad un nodo adiacente su un collegamento che può essere dedicato (punto-punto) o condiviso (broadcast).
Baccarelli, Cordeschi, Patriarca, Polli
6
Strato di Collegamento: Servizio di Base (2/2)
I canali di comunicazione che collegano nodi adiacenti lungo un cammino sono i collegamenti (canali trasmissivi o “link”). Essi possono essere:o cablatio wireless (radio)
Le unità di dati scambiate dai protocolli a livello di Strato di Collegamento sono chiamate trame (frame).I protocolli a livello di Strato di Collegamento si occupano del trasporto di Trame lungo un singolo canale di comunicazione.
Baccarelli, Cordeschi, Patriarca, Polli
7
Modalità di Trasmissione tra coppie di nodi (1/5)
Quali sono le modalità che una coppia di nodi possono adottare per trasferire segnali tra di loro attraverso il canale fisico che li collega?
Baccarelli, Cordeschi, Patriarca, Polli
8
Modalità di Trasmissione (2/5)
Ad una via (unidirezionale): dalla sorgente S verso al destinazione D.
A due vie (bidirezionale): tra 2 terminali T1, T2.
S D
T1 T2 (Duplexing)
Baccarelli, Cordeschi, Patriarca, Polli
9
Duplexing a divisione di frequenza(FDD: Frequency Division Duplexing)
Duplexing a divisione di tempo (TDD: Time DivisionDuplexing)
Duplexing a divisione di spazio
B1
T2 -->T1T1 --> T2
Frequenza (Hz)B2
f1 f2
T2 --> T1
Tempo (sec)
T1 --> T2 T1 --> T2T2 --> T1 …
T2
T1 T2
T1f1
f2
T1 T2Collegamento 1
Collegamento 2
Modalità di Trasmissione Bidirezionale (Duplexing) (3/5)
Baccarelli, Cordeschi, Patriarca, Polli
10
Modalità di Trasmissione Bidirezionale Full-Duplex e Half-
Duplex (4/5)Consideriamo la trasmissione bidirezionale tra due
terminali (nodi) T1 e T2.
La trasmissione è detta Full-Duplex quando sia T1 che T2 possono trasmettere e ricevere simultaneamente.La trasmissione è detta Half-Duplex quando alternativamente, T1 trasmette e T2 riceve e, poi, T2 trasmette e T1 riceve.La modalità di trasmissione Full-Duplex è detta anche bidirezionale simultanea. La modalità di trasmissione Half-Duplex è detta anche bidirezionale alternata.
T1 T2
Baccarelli, Cordeschi, Patriarca, Polli
11
Unicast: da una sorgente S verso una sola destinazione D (es. telefono)
S D
S DD
D
DD
S
D
D
DD
D
Broadcast: da una sorgente verso tutte le destinazioni (es. radio, televisione “in chiaro”)
Multicast: da una sorgente verso solo alcunedestinazioni (es. televisione “criptata”,video-conferenza)
Modalità di Trasmissione tra Sorgente e Destinazione (5/5)
S
Baccarelli, Cordeschi, Patriarca, Polli
12
Ulteriori Servizi offerti dallo Strato di Collegamento (1/3)
Gli ulteriori servizi che i protocolli di Strato di Collegamento possono offrire sono:
o la delimitazione delle trame (frames);o l’indirizzamento delle trame;o la rivelazione degli (eventuali) errori introdotti dal canale;o il recupero, quando richiesto, del corretto trasferimento
delle trame in caso di errori (controllo di errore mediante tecniche ARQ);
o il controllo della velocità di trasferimento delle trame dal nodo-sorgente al nodo-destinazione (controllo di flusso);
o la gestione (instaurazione, abbattimento e re-inizializzazione) della connessione di strato di collegamento.
Baccarelli, Cordeschi, Patriarca, Polli
13
Ulteriori Servizi offerti dallo Strato di Collegamento (2/3)
Delimitazione di trame (Framing):o I protocolli incapsulano i datagrammi generati dallo
Strato di Rete all’interno di un frame di Strato di Collegamento;
o Per identificare origine e destinatario di ciascuna trama, vengono utilizzati indirizzi di Strato di Collegamento (detti anche indirizzi MAC).
Trasferimento affidabile dei datagrammio E’ considerato non necessario nei collegamenti che
presentano un basso numero di errori (fibra ottica, cavo coassiale e doppino intrecciato)
o E’ spesso utilizzata nei collegamenti soggetti a elevati tassi di errori (es.: collegamenti radio)
Baccarelli, Cordeschi, Patriarca, Polli
14
Ulteriori Servizi offerti dallo Strato di Collegamento (3/3)
Controllo di flusso:o Evita che il nodo trasmittente saturi la memoria
tampone presente presso il nodo ricevente.
Rivelazione degli errori:o gli errori sono causati dall’attenuazione del segnale
e dal rumore;o il nodo ricevente individua la presenza di errori
grazie all’inserimento, da parte del nodo trasmittente, di bit per il controllo di errore all’interno delle trame trasmesse.
Baccarelli, Cordeschi, Patriarca, Polli
15
Adattatori (1/3)Per ogni assegnato canale di comunicazione tra coppie di nodi adiacenti, il protocollo di Strato di Collegamento è realizzato in un Adattatore.Un Adattatore è una scheda PCMCIA (detta anche Network Interface Card(NIC)) che è costituita da RAM, DSP chips e linee di collegamento.
Data-gramma
Frame
Data-gramma
FrameCanale Fisico
Adattatore Adattatore
Nodo Tr. Nodo Ric.
Protocollo di Strato di Collegamento
Baccarelli, Cordeschi, Patriarca, Polli
16
Adattatori- Funzionamento (2/3)L’Adattatore al lato Trasmittente:
i. Incapsula il datagramma in una trama (frame);
ii. Invia il frame nel canale fisico.
L’Adattatore al lato Ricevente:i. Effettua le funzioni di rivelazione/controllo
degli errori sul frame ricevuto;ii. Se non sono stati rivelati errori nel frame
ricevuto, estrae il datagramma dal frame e passa il datagramma allo Strato di Rete presso il nodo-Ricevente.
Baccarelli, Cordeschi, Patriarca, Polli
17
Adattatori- Funzionamento (3/3)Tutti i servizi offerti dal protocollo di Strato di Collegamento sono attuati dagli Adattatori presenti al Nodo-Tr. e al Nodo-Ric.Un Adattatore è un sistema Semi-Autonomo, ossia èun sistema che è in grado di svolgere alcuni servizi (quali la rivelazione e il controllo degli errori sui frame ricevuti) autonomamente, ossia senza il controllo dello Strato di Rete del nodo a cui l’Adattatore appartiene.Ad esempio, un Adattatore può ricevere un frame, verificare se il frame contiene errori, e ,se vi sono errori, scartare autonomamente il frame, senzainterpellare lo Strato di Rete del nodo a cui l’Adattatore appartiene.
Baccarelli, Cordeschi, Patriarca, Polli
18
Indirizzamento al Livello di Strato di Collegamento (1/3)
Ciascun Adattatore ha un suo proprio indirizzo, in generale noto come Indirizzo MAC.Un indirizzo MAC è costituito da 6 bytes (48 bits) e il contenuto di ogni byte è espresso mediante una coppia ordinata di cifre esadecimali.Le 16 cifre della numerazione esadecimale sono:
0, 1, 2, 3, 4, 5, 6, 7, 8 , 9, A, B, C, D, E, F.Esempi di indirizzi MAC:
i. 1A- 23- F9- CD- 06- 9Bii. 88- B2- 2F- 54- 1A- 0Fiii. 49- BD- D2- C7- 56- 2A
Baccarelli, Cordeschi, Patriarca, Polli
19
Indirizzamento MAC (2/3)Ogni Adattatore ha un unico indirizzo MAC
LAN(wired o wireless)
1A-2F-BB-76-09-AD
71-65-F7-2B-08-53
0C-C4-11-6F-E3-98
58-23-D7-FA-20-B0
Indirizzo Broadcast=FF-FF-FF-FF-FF-FF
= Adattatore
Baccarelli, Cordeschi, Patriarca, Polli
20
Proprietà degli Indirizzi MAC (3/3)Ad ogni Adattatore corrisponde uno e uno solo indirizzo MAC (unicità dell’Indirizzamento MAC).L’indirizzo MAC è permanente, ossia non cambia quando l’adattatore cambia area geografica di funzionamento.L’indirizzo MAC è piatto (ossia, non è di tipo gerarchico). Ciò significa che non vi è alcun legame tra l’indirizzo MAC di un adattatore e la regione geografica in cui l’adattatore si trova ad operare.L’indirizzo MAC per frames di tipo Broadcast (cioè, per frames che hanno come destinatari tutti gli adattatori presenti nella rete) è:
FF-FF-FF-FF-FF-FF
Baccarelli, Cordeschi, Patriarca, Polli
21
Servizi Offerti dallo Strato di Collegamento
Baccarelli, Cordeschi, Patriarca, Polli
22
Servizio di Rivelazione degli Errori (1/3)
Ha lo scopo di rivelare la presenza di eventuali errori introdotti dal canale trasmissivo e presenti (eventualmente) nel frame ricevuto dal nodo-destinazione.Per essere attuato, è richiesto l’impiego di un codice a rivelazione degli errori.Poiché la capacità di rivelazione degli errori di un (qualsiasi) codice è sempre finita, non rivelare errori nel frame ricevuto non assicura che il frame ricevuto è privo di errori.
Baccarelli, Cordeschi, Patriarca, Polli
23
Attuazione della Rivelazione degli Errori (2/3)
EDC= Error Detection and CorrectionD= Dati che devono essere protetti da errori e ai quali vengono aggiunti dei bit EDC.
Datagram Datagram
D EDC
Bit-error prone link
AllBits in D’ OK?
D’ EDC’d data bits
YesNo
detectionError-chiedi la
ritrasmissione del frame
Baccarelli, Cordeschi, Patriarca, Polli
24
Servizio di Rivelazione degli Errori (3/3)
Nel caso in cui il nodo ricevente riveli errori nel frame ricevuto, il nodo ricevente chiede al nodo trasmittente di ri-trasmettere di nuovo il frame in oggetto.
Quindi, il Servizio di Rivelazione degli errori èsempre attuato in congiunzione col Servizio di Controllo degli Errori mediante strategie di Automatic Repeat Request (Sistemi ARQ).
Baccarelli, Cordeschi, Patriarca, Polli
25
Servizio di Recupero degli Errori mediante Strategie di
tipo ARQ
Baccarelli, Cordeschi, Patriarca, Polli
26
Trasferimento Dati Affidabile-Definizione (1/2)
Supponiamo che il nodo NT trasmetta frame al nodo NR attraverso un canale che introduce errori.Per definizione, il trasferimento di frame da NT a NR è detto affidabile se:
i. Tutti i frame sono ricevuti da NR senza errori;ii. Ciascun frame privo di errori è ricevuto da NR
una ed una sola volta (no duplicazione di frame corretti);
iii. I frame corretti sono ricevuti da NR nello stesso ordine in cui sono stati trasmessi da NT.
Baccarelli, Cordeschi, Patriarca, Polli
27
Trasferimento Dati Affidabile (2/2)
Lo scopo del Servizio di Recupero degli errori è quello di dar luogo ad un trasferimento di frame affidabile impiegando un canale trasmissivo che introduce errori nei frame in transito.
Canale non affidabile
Processotrasmittente
Processoricevente
Processotrasmittente
Processoricevente
Canale affidabile
Protocollo X affidabilità
Protocollo X affidabilità
Canale non affidabile
Baccarelli, Cordeschi, Patriarca, Polli
28
Schema Generale di un Sistema ARQ di tipo punto-punto (1/3)
E’ supposto che:Il Canale Diretto possa introdurre errori e/o perdite, così che il frame ricevuto non coincida col frame trasmesso o non venga mai ricevuto.Il Canale di Ritorno non introduca errori, ma possa introdurre perdite, così che uno o più messaggi di riscontro (ACK o NACK) generati dal Nodo-Destinazione potrebbero non raggiungere mai il Nodo-Sorgente.
Nodo sorgente
Frame trasmessoCanale diretto
Frame trasmesso Nodo destinazione
Canale di Ritorno
Riscontro (ACK/NACK)Riscontro (ACK/NACK)
Baccarelli, Cordeschi, Patriarca, Polli
29
Parametri Principali di un Sistema ARQ (2/3)
I parametri principali che definiscono il funzionamento di un sistema ARQ sono:o C (bit/sec) capacità trasmissiva del canale diretto;o v (m/sec) velocità di propagazione del segnale
elettrico nel Canale Diretto;o dmax(m) distanza massima tra il Nodo-Sorgente e il
Nodo-Destinazione;o τ dmax/v (sec) ritardo di propagazione del segnale
elettrico dal Nodo-Sorgente al Nodo-Destinazione;o Lmin (bit) lunghezza minima di una trama;o Lmax (bit) lunghezza massima di una trama;o Tt Lmax/C (sec) tempo richiesto per trasmettere una
trama di lunghezza massima;o Tout (sec) intervallo (o tempo) di Time-Out.
Baccarelli, Cordeschi, Patriarca, Polli
30
Principio Generale dei Sistemi ARQ (3/3)
Nei sistemi ARQ, a ciascun frame da trasmettere si aggiunge un campo che contiene un codice per la rivelazionedegli errori. Una volta rivelato l’(eventuale) errore nel frame ricevuto, il Nodo-Destinazione deve comunicare questa situazione al Nodo-Sorgente, affinchè quest’ultimo provveda a ri-trasmettere i frame ricevuti con errore. Per questo motivo, i Sistemi ARQ prevedono sempre la presenza di un Canale di Ritorno dal Nodo-Destinazione al Nodo-Sorgente.Poiché uno stesso frame potrebbe essere ri-trasmesso piùvolte, i Sistemi ARQ richiedono sempre la presenza di un buffer dal Nodo-Sorgente, dove vengono temporaneamente memorizzati i frame trasmessi e che sono in attesa di un riscontro positivo da parte del Nodo-Destinazione.
Baccarelli, Cordeschi, Patriarca, Polli
31
Classificazione dei Sistemi ARQ (1/2)
I protocolli ARQ si suddividono in Stop and Wait e Continuous ARQ.Nel protocollo Stop and Wait, il Nodo-Sorgente invia un frame e, quindi, aspetta di ricevere un riscontro positivo (ACK) da parte del Nodo-Destinazione prima di procedere alla trasmissione di un nuovo frame.Nei protocolli Continuous ARQ, il Nodo-Sorgente può trasmettere con continuità frame che vengono, però, opportunamente numerate, così che il Nodo-Destinazione possa ri-posizionarle nell’ordine corretto.A loro volta, i protocolli Continuous ARQ si suddividono in:
i. Protocollo Go-Back-m (GBm)ii. Protocollo Selective Repeat (SR)
Baccarelli, Cordeschi, Patriarca, Polli
32
Classificazione dei Sistemi ARQ (2/2)
Recupero degli errori
Protocolli ARQ
Stop and Wait(SaW)
CountinuousARQ
Go-Back-m(GBm)
Selective Repeat(SR)
Baccarelli, Cordeschi, Patriarca, Polli
33
Strategie impiegate nei Sistemi ARQPer ottenere un trasferimento di frame affidabilemediante un canale diretto che introduce errori e/o perdite, i sistemi ARQ fanno (opportuno) impiego delle seguenti 3 strategie di base:
i. I frame trasmessi vengono numerati progressivamente, come anche i corrispondenti riscontri (ACK/NACK);
ii. Il Nodo-Destinazione invia nel canale di ritorno opportuni messaggi di riscontro positivo (ACK) oppure negativo (NACK);
iii. Il Nodo-Sorgente impiega un Temporizzatore (Timer) per misurare il tempo trascorso dalla trasmissione di un frame;
iv. Si impiegano buffer in trasmissione (sempre) e in ricezione (talvolta) per la memorizzazione temporanea dei frame trasmessi e di (alcuni) di quelli ricevuti.
Baccarelli, Cordeschi, Patriarca, Polli
34
Numerazione “Ciclica” dei Frame e dei Riscontri (1/4)
Nei protocolli Continuous ARQ si possono trasmettere più trame consecutivamente in attesa dei riscontri (positivi o negativi) sulle prime trame trasmesse.Ciò richiede un meccanismo di numerazione delle trame trasmesse e dei corrispondenti riscontri (positivi o negativi) per far si che le trame trasmesse, ma non ancora riscontrate positivamente, abbiano un numero di sequenza NS per consentire al Nodo-Sorgente e al Nodo-Destinazione di intendersi su quali trame sono state ricevute correttamente e quali no.
Baccarelli, Cordeschi, Patriarca, Polli
35
Numerazione “Ciclica” dei Frame e dei Riscontri (2/4)
Indichiamo con:o b (bit) numero (intero) di bit a
disposizione per numerare le trame;o M 2b numero di numeri di trama
distinti;o NS numero di sequenza di una (generica)
trama.
Baccarelli, Cordeschi, Patriarca, Polli
36
Numerazione “Ciclica” dei Frame e dei Riscontri (3/4)
Allora, si ha che:La numerazione NS delle trame è ciclica modulo-M, con ciò intendendo dire che NS può assumere solo i seguenti M 2b
valori distinti:NS ∊ {0,1,2,3,…,M-2,M-1}.
Per esempio, se b=3, le trame vengono trasmesse con i seguenti numeri di sequenza consecutivi:
0,1,2,3,4,5,6,7,0,1,2,…
Dato un (qualsiasi) numero intero (non negativo) x, per definizione, l’operazione
(x) mod.Msta ad indicare il resto della divisione intera di x per M. Quindi, il suddetto resto è sempre un numero intero compreso tra 0 e (M-1).
Baccarelli, Cordeschi, Patriarca, Polli
37
Numerazione “Ciclica” dei Frame e dei Riscontri (3/3)
Ad esempio,(0) mod.8 = (8) mod.8 = (16) mod.8 ≡ 0;(7) mod.8 = (15) mod.8 = (23) mod.8 ≡ 7;(12) mod.8 = (20) mod.8 = (28) mod.8 ≡ 4.Gli esempi precedenti mostrano che la numerazione mod.M delle trame può dar luogo ad ambiguità, con ciò intendo dire che:
i. dato M;ii. dato il risultato di (x) mod.M;non è univocamente calcolabile il numero x che è il dividendo dell’operazione mod.M.
Baccarelli, Cordeschi, Patriarca, Polli
38
Riscontri Positivi e Negativi (1/5)
Per indicare che la trama con numero di sequenza NS=i è stata rivelata priva di errori, il Nodo-Destinazione invia indietro al Nodo-Sorgente attraverso il canale di ritorno un messaggio di riscontro positivo che reca il numero di sequenza NS=idella trama riscontrata, ossia il messaggio:
ACK(i).Per definizione, in tutti i protocolli ARQ, il riscontro ACK(i) ha il seguente significato:
o Tutte le trame sino alla i-ma compresa sono state rivelate prive di errori (ricevute correttamente) dal Nodo-Destinazione.
Baccarelli, Cordeschi, Patriarca, Polli
39
Riscontri Positivi e Negativi (2/5)
Per indicare che la trama con numero di sequenza NS=s è stata rivelata con errori (ècorrotta da errori), il Nodo di Destinazione invia indietro al Nodo-Sorgente attraverso il canale di ritorno un messaggio di riscontro negativo che reca il numero di sequenza NS=sdella trama riscontrata negativamente, ossia il messaggio:
NACK(s).Per definizione, il protocollo SaW non impiega messaggi di riscontro negativi.
Baccarelli, Cordeschi, Patriarca, Polli
40
Riscontri Positivi e Negativi (3/5)
Per definizione, nel protocollo Go-Back-m, il messaggio NACK(s) significa:o la trama s-ma è stata ricevuta con errori,
ma tutte le trame precedenti (sino alla (s-1)-ma compresa) sono state ricevute correttamente.
Per definizione, nel protocollo SR, il messaggio NACK(s) significa:o La trama s-ma è stata ricevuta con errori.
Baccarelli, Cordeschi, Patriarca, Polli
41
Riscontri Positivi e Negativi (4/5)
In tutti i protocolli ARQ, una stessa trama èri-trasmessa dal Nodo-Sorgente una o piùvolte, finchè il Nodo-Sorgente non riceve da parte del Nodo-Destinazione un riscontro positivo (ACK) relativo alla trama in oggetto.Al Nodo-Destinazione, una trama con lo stesso numero di sequenza può essere ricevuta più volte, dando così luogo al fenomeno della Duplicazione della trama.
Baccarelli, Cordeschi, Patriarca, Polli
42
Riscontri Positivi e Negativi (5/5)
Duplicazioni di Trama al Nodo-Destinazione possono aver luogo per 2 motivi diversi:
i. È il Nodo-Destinazione ad avere richiesto (mediante invio di un NACK) la ri-trasmissione di una trama che era stata ricevuta con errori;
ii. È il Nodo-Sorgente che spontaneamente ri-trasmette una trama che aveva già trasmessa, perché il Nodo-Sorgente non ha ricevuto il riscontro positivo ( messaggio ACK) relativo alla trama in oggetto.
Baccarelli, Cordeschi, Patriarca, Polli
43
Temporizzatori e Time-Out (1/3)Poiché il Canale di Ritorno e il Canale Diretto possono introdurre perdite, può accadere che uno (o più) messaggi di riscontro positivo relativi al frame s-mo non siano mai ricevuti dal Nodo-Sorgente e/o che uno o più frame non siano mai ricevuti dal Nodo-Destinazione.Per ovviare a questo inconveniente, in tutti i protocolli ARQ, il Nodo-Sorgente:
i. Avvia un Temporizzatore (Timer) nell’istante in cui inizia a trasmettere la trama s-ma;
ii. Aspetta per un prefissato tempo di Time-Out (Tout) di ricevere un riscontro (positivo o negativo) da parte del Nodo-Destinazione relativamente alla trama s-ma;
iii. Se non ha ricevuto alcun riscontro (né positivo, nénegativo), allo scadere del tempo di Tout, il Nodo-Sorgente ri-trasmette spontaneamente la trama s-ma.
Baccarelli, Cordeschi, Patriarca, Polli
44
Temporizzatori e Time-Out (2/3)Poiché
i. il Temporizzatore è avviato nell’istante in cui la trama s-ma inizia ad essere trasmessa;
ii. il Tempo necessario per trasmettere una trama di dimensione massima è Tt≡ Lmax/C (sec);
iii. poiché il segnale elettrico impiega un tempo τ dmax/v per propagarsi dal Nodo-Sorgente al Nodo-Destinazione (tempo di propagazione di una trama), e, poi, un altro tempo τ per propagarsi dal Nodo-Destinazione al Nodo-Sorgente (tempo di propagazione del messaggio di riscontro), allora il Tempo di Time-Out (Tout ) deve soddisfare il seguente limite:
Tout ≥ Tt+2 τ
Baccarelli, Cordeschi, Patriarca, Polli
45
Temporizzatori e Time-Out (3/3)
In tutti i protocolli ARQ, il Nodo-Sorgente impiega uno e un solo Temporizzatore.Specificatamente, in ogni istante t0 di funzionamento del Sistema ARQ, il Temporizzatore è sempre associato dal Nodo-Sorgente al frame trasmesso e non ancora riscontrato positivamente che, tra tutti i frame trasmessi e non ancora riscontrati positivamente, è quello che è stato trasmesso per primo (ossia, il frame trasmesso e non ancora riscontrato positivamente più anziano).
Baccarelli, Cordeschi, Patriarca, Polli
46
Buffer di memoria
Tutti i protocolli ARQ impiegano, al Nodo-Sorgente, un Buffer di Trasmissione in cui vengono temporaneamente memorizzati i frame che sono giàstati trasmessi almeno una volta, ma che non sono ancora stati riscontrati positivamente.Solo il protocollo SR richiede, al Nodo-Destinazione, un Buffer di Ricezione in cui vengono
i. memorizzati temporaneamente;ii. ordinati sequenzialmente in accordo ai Numeri di
Sequenza,le trame che sono state ricevute correttamente.
Baccarelli, Cordeschi, Patriarca, Polli
47
Esempio di Numerazione delle trame (1/2)
Ogni trama contiene un numero di sequenza (nell’esempio, NS∊ {0,1}).o Il numero di sequenza NS è il numero d’ordine sequenziale
caratterizzante la trama uscente dal Nodo-Sorgente.
Nodo-Sorgente
0 010Tout Tout
Nodo-Destinazione ACK(1)
0ACK(0)ACK(1)
0 (duplicata) 1 0
La ricezione di trame consecutive recanti lo stesso valore del numero di sequenza è indice di duplicazione.
Baccarelli, Cordeschi, Patriarca, Polli
48
Esempio di Numerazione delle trame (2/2)
È necessario numerare anche i riscontri, altrimenti il Nodo-Sorgente non sarebbe in grado di sapere a quale trama fa riferimento il riscontro ricevuto (i riscontri possono perdersi; nell’esempio NS∊ {0,1}).
Nodo-Sorgente
0 10Tout Tout?
Nodo-Destinazione ACK
0ACK
0 (duplicata) 1
Baccarelli, Cordeschi, Patriarca, Polli
49
Esempi di uso dei temporizzatori
Temporizzatori Si introducono dei meccanismi di temporizzazione: quando il Nodo-Sorgente emette una trama fa contemporaneamente partire un temporizzatore allo scadere del quale la trama viene ri-trasmessa dal Nodo-Sorgente.
Nodo-Sorgente
Trama 1 Trama 2Trama 1Tout
tempo
Nodo-Destinazione
tempo
1
ACK ACK
2
Baccarelli, Cordeschi, Patriarca, Polli
50
Protocollo Stop-and-Wait (SaW) (1/6)
Il principio generale del protocollo SaW è che il Nodo-Sorgente non trasmette la prossima trama se non ha ricevuto un riscontro positivo (ACK) relativo alla trama correntemente trasmessa.Nel protocollo SaW, il Nodo-Sorgente opera come segue:
i. numera la trama da trasmettere, avvia il temporizzatore (Timer), trasmette la trama e, contemporaneamente, la memorizza nel Buffer di Trasmissione;
ii. se riceve l’ACK prima che scada il Timer, allora il Nodo-Sorgente rimuove la trama dal Buffer di Trasmissione e, poi, passa a trasmettere il frame successivo;
iii. se il Timer scade prima di ricevere l’ACK, allora il Nodo-Sorgente ri-inizializza il Timer e, poi, ritrasmette il frame memorizzato nel Buffer di Trasmissione.
Baccarelli, Cordeschi, Patriarca, Polli
51
Protocollo Stop-and-Wait (SaW) (2/6)
Nel protocollo SaW, il Nodo-Destinazione opera come segue sul frame correntemente ricevuto:
i. applica la decodifica a rivelazione di errore;ii. se il frame ricevuto è corrotto da errori, allora il Nodo-
Destinazione scarta il frame e non invia alcun messaggio al Nodo-Sorgente;
iii. se il frame è ricevuto correttamente ed ha lo stesso numero di sequenza del frame ricevuto precedentemente, allora il Nodo-Destinazione scarta il frame (frameduplicato) e, poi, invia un messaggio ACK al Nodo-Sorgente;
iv. se il frame è ricevuto correttamente e non ha lo stesso numero di sequenza del frame ricevuto precedentemente, allora il Nodo-Destinazione accetta il frame e, poi, invia un messaggio ACK al Nodo-Sorgente.
Baccarelli, Cordeschi, Patriarca, Polli
52
Protocollo Stop-and-Wait (SaW) (3/6)
Nel protocollo SaW, il Canale Diretto rimane inutilizzatonegli intervalli di tempo intercorrenti tra la fine della trasmissione del frame corrente e l’istante di ricezione dell’ACK o quello di superamento di Tout.Poiché il Nodo-Sorgente non trasmette un nuovo frame prima che quello attualmente sotto trasmissione sia stato riscontrato positivamente, nel protocollo SaW il numero di sequenza NS assume solo i due valori {0,1} (ossia, b=1 e M
2b ≡2).Specificatamente, il Nodo-Sorgente numera alternativamente le trame trasmesse con NS=0 e NS=1. Il Nodo-Destinazione può accettare solo trame consecutive con numerazione alternata. Quando il Nodo-Destinazione riceve due trame consecutive prive di errori e con lo stesso numero di sequenza, il Nodo-Destinazione scarta la seconda trama ricevuta in quanto è trama duplicata.
Baccarelli, Cordeschi, Patriarca, Polli
53
Protocollo Stop-and-Wait (SaW) (4/6)
Riscontri il principio è quello per cui il Nodo-Sorgente non invia la prossima trama se non riceve il riscontro relativo a quella precedentemente trasmessa.
Nodo-Sorgente
Trama 0 Trama 1Trama 1Tout
Nodo-Destinazione
ACKACK
Trama 0 consegnataallo strato superiore
Trama 1 consegnataallo strato superiore
Diagramma spazio tempo
Baccarelli, Cordeschi, Patriarca, Polli
54
Protocollo SaW: Azioni del Nodo-Sorgente (5/6)
Inizializza Numero SequenzaNS:=0
Preleva nuovo datagrammaDat e costruisci nuovo frame
F: = < NS, DAT >
Memorizza F in BufferTrasmissione
Preleva frame F dalBuffer di
Trasmissione
Ricevuto ACK ?
Timer > Tout
Inizializza Timer Rimuovi F dal Buffer diTrasmissione
Aggiorna NSNS : = NS+1
SI
NONOSI
Ri-inizializzaTimer
Ri-trasmettiF
Baccarelli, Cordeschi, Patriarca, Polli
55
Protocollo SaW: Azioni del Nodo-Destinazione (6/6)
Inizializza Numero Atteso di SequenzaX : =0
Hai ricevuto un frameF dal Canale Diretto?
Hai rivelato erroriin F
SI ScartaF
Attendi
NO
Estrai Numero di Sequenza NS da F
NS è uguale a x ?NO
ScartaFrame F
(F èduplicato)
Invia ACK
SIAccetta F
Invia ACK
Aggiorna Numero Atteso di Sequenza
X : = (X+1)mod.2
NO
SI
Baccarelli, Cordeschi, Patriarca, Polli
56
Protocollo Go-Back-m (GBm) (1/8)Nel protocollo Go-Back-m, il Nodo-Sorgente mantiene una finestra di emissione WS di dimensione m dove sono via via memorizzati i numeri di sequenza NS che il Nodo-Sorgente può trasmettere consecutivamente, senza, cioè, attendere alcun riscontro positivo da parte del Nodo-Destinazione.In altri termini, il numero (intero) m ≥ 1 nel nome stesso del protocollo indica il numero massimo di trame che il Nodo-Sorgente può trasmettere consecutivamente in assenza di alcun riscontro positivo da parte del Nodo-Destinazione.
Baccarelli, Cordeschi, Patriarca, Polli
57
Protocollo Go-Back-m (GBm) (2/8)Nel protocollo GBm, il Nodo-Destinazione accetta le trame ricevute solo se:
i. non vi rileva errori e, inoltre,ii. esse sono rigidamente in sequenza.
Se una trama è ricevuta con errore, allora il Nodo-Destinazione:
i. scarta la trama in oggetto;ii. richiede la ri-trasmissione della trama in
oggetto;iii. scarta anche tutte le trame ricevute dopo la
ricezione della trama con errore, e questo anche se le suddette trame sono state ricevute correttamente.
Baccarelli, Cordeschi, Patriarca, Polli
58
Protocollo Go-Back-m: Nodo-Sorgente (3/8)
Specificatamente, nel protocollo GBm, il Nodo-Sorgente opera come segue:
i. trasmette al massimo, WS ≡ m trame consecutive senzattendere alcun riscontro positivo;
ii. memorizza temporaneamente nel Buffer di Trasmissione le trame trasmesse e delle quali non ha ancora ricevuto un riscontro positivo;
iii. quando riceve il riscontro ACK(i), allora:o rimuove dal Buffer di Trasmissione tutti i frames con
Numero di Sequenza: NS ≤ i;o trasmette tutti i frames con numero di sequenza
compreso tra:(i+1) ≤ NS ≤ (i+m),
e che non sono mai stati ancora trasmessi.o Infine, memorizza nel Buffer di Trasmissione i frames
che sono stati correttamente trasmessi;
Baccarelli, Cordeschi, Patriarca, Polli
59
Protocollo Go-Back-m: Nodo-Sorgente (4/8)
iv. quando riceve NACK(j), allora:o ri-trasmette il frame j-mo;o ri-trasmette anche tutti i frames già trasmessi e con
numero di sequenza NS strettamente maggiore di j;v. quando riceve un riscontro (positivo o negativo),
allora:o inizializza il Timer;
vi. quando il Timer scade (ossia quando Timer> TOUT, allora:
o ri-inizializza (cioè pone a zero) il Timer;o ri-trasmette il frame già trasmesso, ma non ancora
riscontrato positivamente e che, tra tutti i frames giàtrasmessi, ma non ancora ri-scontrati, è quello col numero di sequenza NS più piccolo (ossia, il frame “piùvecchio”).
Baccarelli, Cordeschi, Patriarca, Polli
60
Protocollo Go-Back-m: Nodo-Destinazione (5/8)
Nel protocollo GBm, il Nodo-Destinazione opera come segue su ciascun frame ricevuto dal canale diretto:
i. Applica la procedure di rivelazione di errori;ii. Se sono stati rivelati errori, allora:
o invia al Nodo-Sorgente il messaggio NACK(j), dove j è il numero di sequenza del frame con errori;
o scarta tutti i frame ricevuti dal Canale Diretto e con numero di sequenza strettamente maggiore di j.
Baccarelli, Cordeschi, Patriarca, Polli
61
Protocollo Go-Back-m: Nodo-Destinazione (6/8)
iii. Se non sono stati rivelati errori e il frame ricevuto non è un frame duplicato, allora:
o accetta il frame ricevuto;o invia al Nodo-Sorgente il messaggio ACK(j),
dove j è il numero di sequenza del frame ricevuto;
iv. Se non sono stati rivelati errori e il frame ricevuto è un frame duplicato, allora:
o scarta il frame ricevuto;o invia al Nodo-Sorgente il messaggio ACK(j),
dove j è il numero di sequenza del frame ricevuto.
Baccarelli, Cordeschi, Patriarca, Polli
62
Protocollo Go-Back-m: Azioni del Nodo-Sorgente (7/8)
Inizializza TimerTimer : = 0
Trasmetti m frameconsecutivi
Memorizza frames Trasmessinel Buffer di Trasmissione
Timer > ToutSI Timer : =0
Tra tutti i frame trasmessie non ancora riscontrati, ri-trasmetti quello col NS più basso
Ricevuto ACK (i)?SI
Rimuovi dal Buffer diTrasmissione tutti i frame con numeri di Sequenza:
NS<=i
NO
Timer : =0
Trasmetti tutti i framenon ancora trasmessi e con NS compreso tra
(i+1)<=NS<= (i+m)
NO
Ricevuto NACK (j)?NO
Ritrasmetti il frame j-moE, poi, tutti i frames già
Trasmessi dopo il frame j-mo
SI Timer : =0
Baccarelli, Cordeschi, Patriarca, Polli
63
Protocollo Go-Back-m: Azioni del Nodo-Destinazione (8/8)
Inizializza Numero Atteso di SequenzaX : = 0
Hai ricevuto un frame Fdal Canale Diretto?
NO
Attendi
SI
Estrai Numero diSequenza NS dal frame
F
NS = X ? Scarta il frameF
SI
SI ScartaFrame F
InviaNACK (NS)
NOAccetta Frame F
Aggiorna il NumeroAtteso di Sequenza:X : = (NS+1) mod. M
InviaACK (NS)
Hai rivelato errorinel frame F ?
Baccarelli, Cordeschi, Patriarca, Polli
64
Protocollo Selective Repeat (SR) (1/15)
Nel protocollo SR, il Nodo-Sorgente può trasmettere consecutivamente un numero massimo di trame WS ≥ 1 senza bisogno di ricevere alcun riscontro positivo dal Nodo-Destinazione.
Il Nodo-Destinazione può accettare un numero massimo di trame WR ≥ 1 anche se ricevute non in ordine; ciò richiede la presenza presso il Nodo-Destinazione di un Buffer di Ricezione che consenta di ripristinare l’ordine corretto delle trame ricevute, affinchè i Datagrammi da esse trasportati possano essere consegnati in ordine sequenziale allo Strato di Rete del Nodo-Destinazione.
Baccarelli, Cordeschi, Patriarca, Polli
65
Protocollo SR (2/15)
Nel protocollo SR, il riscontro NACK(i) indica che il solo frame i-mo deve essere ritrasmesso dal Nodo-Sorgente, ma non indica che tutti i frame precedenti l’i-mo sono stati ricevuti correttamente.
Nel protocollo SR, il riscontro ACK(i) indica che il frame i-mo e tutti quelli precedenti sono stati ricevuti correttamente dal Nodo-Destinazione.
Baccarelli, Cordeschi, Patriarca, Polli
66
Protocollo SR- Finestre di Trasmissione e Ricezione (3/15)
Nel protocollo SR,il Nodo-Sorgente mantiene e aggiorna una finestra che contiene WS ≥ 1 numeri di sequenza consecutivi. La suddetta finestra è detta Finestra di Trasmissione, e, in ogni istante, contiene i numeri di sequenza dei frame che il Nodo-Sorgente può trasmettere consecutivamente senzabisogno di attendere riscontri da parte del Nodo-Destinazione;
il Nodo-Destinazione mantiene ed aggiorna una finestra che contiene WD ≥ 1 numeri di sequenza consecutivi. La suddetta finestra è detta Finestra di Ricezione, e, in ogni istante, contiene i numeri di sequenza dei frame che il Nodo-Destinazione è disposto ad accettare, anche se ricevuti non in ordine sequenziale.
Baccarelli, Cordeschi, Patriarca, Polli
67
Protocollo SR- Finestre di Trasmissione e Ricezione (4/15)In ogni istante,
i. il Nodo-Sorgente non può trasmettere (o ri-trasmettere) frame i cui Numeri di Sequenza non cadano nella Finestra di Trasmissione corrente;
ii. il Nodo-Destinazione non può accettare trame i cui numeri di sequenza non cadano nella corrente Finestra di Ricezione, anche se le suddette trame sono state ricevute correttamente.
Baccarelli, Cordeschi, Patriarca, Polli
68
Protocollo SR- Aggiornamento della Finestra di Trasmissione (5/15)
Indichiamo con IS ≥ 0 l’estremo inferiore corrente della Finestra di Trasmissione, ossia il più piccolo Numero di Sequenza che fa correntemente parte della Finestra di Trasmissione. Allora:
i. la Finestra di Trasmissione corrente è costituita da tutti i Numeri di Sequenza NS compresi tra
IS ≤ NS ≤ ( IS + WS – 1) mod. M
Baccarelli, Cordeschi, Patriarca, Polli
69
Protocollo SR- Aggiornamento della Finestra di Trasmissione (6/15)
ii. Quando il Nodo-Sorgente riceve un riscontro ACK(i), allora aggiorna il valore di IS in accordo a :
IS:= (i+1) mod. M
iii. Poiché i riscontri ACK(i) ricevuti dal Nodo-Sorgente hanno Numero di Sequenza incrementale, e poiché, alla ricezione di ciascun ACK(i), il Nodo-Sorgente aggiorna (ovvero incrementa) IS, la Finestra di Trasmissione èdetta anche Finestra Mobile (Sliding Window).
Baccarelli, Cordeschi, Patriarca, Polli
70
Protocollo SR- Aggiornamento della Finestra di Ricezione (7/15)
Indichiamo con ID ≥ 0 l’estremo inferiore corrente della Finestra di Ricezione, ossia il più piccolo Numero di Sequenza che il Nodo-Destinazione è correntemente in grado di accettare.Allora,
i. La Finestra di Ricezione corrente è costituita da tutti i Numeri di Sequenza compresi tra:
ID ≤ NS ≤ ( ID+ WD– 1) mod. M.
Baccarelli, Cordeschi, Patriarca, Polli
71
Protocollo SR- Aggiornamento della Finestra di Ricezione (8/15)
ii. Dopo aver inviato al Nodo-Sorgente un riscontro positivo ACK(j), il Nodo-Destinazione aggiorna ID in accordo a:
ID := (NSMAX + 1 ) mod. M,
dove NSMAX è il valore più alto del Numero di Sequenza dei frame che il Nodo-Destinazione ha ricevuto senza errori e in ordine sino all’istante corrente.
iii. In generale, NSMAX ≥ J. Quindi, poiché, ad ogni invio di un riscontro ACK(.), l’estremo inferiore ID della Finestra di Ricezione assume un valore non inferiore a quello assunto precedentemente, anche la Finestra di Ricezione è una Finestra Mobile (Sliding Window).
Baccarelli, Cordeschi, Patriarca, Polli
72
Protocollo SR- Nodo Sorgente (9/15)
Nel protocollo SR, il Nodo-Sorgente opera come segue:
i. senza attendere alcun riscontro, il Nodo-Sorgente trasmette tutti i frame che non sono già stati trasmessi e i cui Numeri di Sequenza cadono nella Finestra di Trasmissione corrente;
ii. memorizza temporaneamente nel Buffer di Trasmissione le trame trasmesse e delle quali nonha ancora ricevuto un riscontro positivo;
Baccarelli, Cordeschi, Patriarca, Polli
73
Protocollo SR- Nodo Sorgente (10/15)
i. quando riceve il riscontro ACK(i), allora:o rimuove dal Buffer di Trasmissione tutti i frames
con Numeri di Sequenza: NS ≤ i;o aggiorna IS in accordo a: IS:= (i+1) mod. M;o trasmette tutti i frame che non sono stati ancora
trasmessi e che hanno un Numero di Sequenza compreso tra:
IS ≤ NS ≤ ( IS + WS – 1) mod. M;
o memorizza i frame trasmessi nel Buffer di Trasmissione.
Baccarelli, Cordeschi, Patriarca, Polli
74
Protocollo SR- Nodo Sorgente (11/15)
iv. quando riceve NACK(j), allorao ri-trasmette solo il frame j-mo;
v. quando riceve un riscontro (positivo o negativo), allora
o inizializza il Timer;vi. quando il Timer scade (ossia quando Timer >
TOUT )o ri-inizializza il Timer;o tra tutti i frame già trasmessi e non riscontrati
positivamente, ri-trasmette quello con il Numero di Sequenza più piccolo.
Baccarelli, Cordeschi, Patriarca, Polli
75
Protocollo SR- Nodo Destinazione (12/15)
Nel protocollo SR, il Nodo-Destinazione estrae il Numero di Sequenza NS dal frame F correntemente ricevuto dal Canale Diretto e, quindi:
i. se NS non cade nella Finestra di Ricezione corrente, allora il Nodo-Destinazione scarta il frame F ricevuto;
ii. se NS cade nella Finestra di Ricezione corrente e in F sono rivelati errori, allora il Nodo-Destinazione:
o scarta il frame F ricevuto;o Invia al Nodo-Sorgente il riscontro NACK(NS).
Baccarelli, Cordeschi, Patriarca, Polli
76
Protocollo SR- Nodo Destinazione (13/15)
iii. Se NS cade nella Finestra di Ricezione corrente e in F non sono rivelati errori, allora il Nodo-Destinazione:
o pone F nel Buffer di Ricezione;o ri-ordina i frame correntemente contenuti nel Buffer di
Ricezione secondo Numeri di Sequenza crescenti;o invia al Nodo-Sorgente il riscontro ACK(NS);o aggiorna l’estremo inferiore ID della Finestra di Ricezione
in accordo a:ID := (NSMAX + 1 ) mod. M
o preleva dal Buffer di Ricezione tutti i frame ivi contenuti con Numeri di Sequenza strettamente consecutivi e li passa allo Strato di Rete del Nodo-Destinazione.
Baccarelli, Cordeschi, Patriarca, Polli
77
Protocollo SR- Azioni del Nodo Sorgente (14/15)
Inizializza IS : = 0 e Timer : = 0
Trasmetti tutti i frame non ancoratrasmessi e con Numero diSequenza NS:IS ≤ NS ≤ ( IS + WS – 1) mod. M
Memorizza frame trasmessi nelBuffer di Trasmissione
Timer > Tout SI Timer : =0
Ritrasmetti il framenon ancora riscontratoe con Numero diSequenza più piccolo
Ricevuto ACK (i)?
NO
SIIS : = ( i+1 ) mod.M
Elimina dal Buffer diTrasmissione tutti i frame con
NS ≤ ( i )
Timer : = 0
NO
NO SI Timer : =0
Ritrasmetti solo ilframe j-mo
Ricevuto NACK (j)?
Baccarelli, Cordeschi, Patriarca, Polli
78
Protocollo SR- Azioni del Nodo Destinazione (15/15)
Inizializza ID : = 0
Estrai da F il Numero di Sequenza NS
Hai ricevuto un frameF dal Canale Diretto?
SI
Scarta FE’ NS compreso nellaFinestra di Ricezione
[ID, (ID + WD – 1 ) mod.M ]?
SI
NOMemorizza F nel Buffer diRicezione.Ri-ordina il Buffer di Ricezione
Invia ACK(NS)
Aggiorna ID come inID : = ( NSmax + 1 ) mod.M
NO Attendi
NO
Invia NACK (NS)
Preleva dal Buffer diRicezione tutti i frame con
Numeri di Sequenza strettamente consecutivi
Sono rivelati errori inF ?
Baccarelli, Cordeschi, Patriarca, Polli
79
Ambiguità nella Numerazione delle Sequenza nel protocollo SR
(1/3)
Come già osservato, la Numerazione delle Sequenze è mod.M, con M 2b, b ≥1. La numerazione mod.M può dar luogo ad ambiguità.
Baccarelli, Cordeschi, Patriarca, Polli
80
Ambiguità nella Numerazione delle Sequenza nel protocollo SR (2/3)
Esempio di ambiguità di numerazioneo Supponiamo M=23=8 ed anche WS=8.o Assumiamo che il Nodo-Sorgente trasmetta 8 trame
consecutive, con Numeri di Sequenza pari a: 4, 5, 6, 7, 0, 1, 2, 3.
o Il Nodo-Ricevente invia indietro al Nodo-Sorgente il riscontro positivo ACK(3).
o Purtroppo, il Nodo-Sorgente può interpretare ACK(3) in due modi diversi:
i. Il Nodo-Destinazione ha ricevuto correttamente tuttele 8 trame trasmesse
ii. Il Nodo-Destinazione non ha ricevuto correttamente nessuna delle 8 trame trasmesse, e il messaggio ACK(3) si riferisce alla trama con NS=3 che era già stata trasmessa prima della trasmissione della trama con NS=4.
Baccarelli, Cordeschi, Patriarca, Polli
81
Ambiguità nella Numerazione delle Sequenza nel protocollo SR (3/3)
Si può dimostrare che, nel protocollo SR, l’ambiguitàdi numerazione delle trame è eliminata se le dimensioni WS e WD delle finestre di trasmissione e di ricezione soddisfano alla seguente disuguaglianza:
WS+WD ≤ M 2b
Tipicamente, nel protocollo SR si pone
WS ≡WD = M/2.
Baccarelli, Cordeschi, Patriarca, Polli
82
Confronto Complessità-Prestazioni tra i protocolli ARQ (1/2)
Tutti e tre i protocolli ARQ ri-trasmettono uno stesso frame sin tanto che non ricevono un riscontro positivo. Quindi, tutti e tre i protocolli danno luogo alla stessa Probabilità di Errore residua e, da questo punto di vista, sono equivalenti.Il protocollo SaW trasmette un frame e poi si arresta sino alla ricezione del corrispondente riscontro. I protocolli GBm e SR trasmettono senza mai interrompersi nuovi frame o frame riscontrati negativamente. Quindi il protocollo SaW è quello che utilizza di meno la capacità trasmissiva del Canale Diretto.Il protocollo SR ri-trasmette solo i frame in cui il Nodo-Destinazione ha rivelato errori. Il protocollo GBm ri-trasmette anche i frame che seguono quelli rivelati con errori. Quindi, il protocollo SR è quello che utilizza meglio la capacità trasmissiva del Canale Diretto.
Baccarelli, Cordeschi, Patriarca, Polli
83
Confronto Complessità-Prestazioni tra i protocolli ARQ (2/2)
Il protocollo SR richiede la Numerazione mod.M dei frame trasmessi e l’impiego di un Buffer in Trasmissione e di un Buffer in Ricezione. Il protocollo GBm richiede la Numerazione mod.M dei frame trasmessi e l’impiego del solo Buffer di Trasmissione.Il protocollo SaW richiede solo la Numerazione mod.2 dei frame trasmessi e l’impiego di un Buffer di Trasmissione in grado di memorizzare un solo frame alla volta.
Quindi il protocollo SR è il più complesso da realizzare, mentre il protocollo SaW è il più semplice da realizzare.
Baccarelli, Cordeschi, Patriarca, Polli
84
Servizio di Controllo di Flusso (1/4)
Supponiamo che il Nodo-Sorgente S trasmetta trame al Nodo-Destinazione D . Supponiamo che le trame ricevute dal Nodo-Destinazione siano temporaneamente memorizzate in un Buffer di Ricezione che può contenere al più NF ≥ 1 trame.
Lo scopo del Servizio di Controllo di Flusso è quello di regolare (ossia, controllare) la velocità con cui il Nodo-Sorgente invia nuove trame in modo che il numero di trame da memorizzare nel Buffer di Ricezione non sia mai superiore a NF.
Baccarelli, Cordeschi, Patriarca, Polli
85
Controllo di Flusso mediante il protocollo SR (2/4)
Il protocollo SR precedentemente descritto èanche in grado di espletare il Servizio di Controllo di Flusso.Nel protocollo SR, il Controllo di Flusso viene effettuato:
i. scegliendo opportunamente le dimensioni WS e WD delle finestre di trasmissione e di ricezione;
ii. regolando la velocità (ossia, il ritmo) con cui il Nodo-Destinazione invia indietro al Nodo-Sorgente messaggi di riscontro positivi (riscontri ACK).
Baccarelli, Cordeschi, Patriarca, Polli
86
Controllo di Flusso mediante il protocollo SR (3/4)
Ricordiamo che, nel protocollo SR:i. WS è il numero massimo di trame che il
Nodo-Sorgente può trasmettere consecutivamente senza bisogno di ricevere riscontri positivi da parte del Nodo-Destinazione;
ii. WD è il numero massimo di trame che il Nodo-Destinazione può ricevere consecutivamente senza bisogno di inviare messaggi ACK(.) al Nodo-Sorgente.
Baccarelli, Cordeschi, Patriarca, Polli
87
Controllo di Flusso mediante il protocollo SR (4/4)
Quindi,i. se si scelgono: WS ≤ NF e WD ≤ NF , e, inoltre,ii. se il Nodo-Destinazione rallenta la velocità con
cui invia messaggi ACK al Nodo-Sorgente quando il numero di trame temporaneamente memorizzate nel Buffer di Ricezione si avvicina a NF;
allorail numero di trame da tenere in memoria nel Buffer di Ricezione non supererà mai il valore massimo consentito NF.
Baccarelli, Cordeschi, Patriarca, Polli
88
Servizio di Accesso Multiplo aServizio di Accesso Multiplo aCanali CondivisiCanali Condivisi
Baccarelli, Cordeschi, Patriarca, Polli
89
Il problema dell’Accesso Multiplo (1/5)Il problema dell’accesso multiplo si ha quando più Nodi-Sorgente vogliono trasmettere le loro trame ad uno o piùNodi-Destinazione attraverso un singolo canale trasmissivo.
Il canale trasmissivo è, quindi, condiviso dalle trasmissioni di più (almeno due) Nodi-Sorgente e, per questo motivo, viene detto canale broadcast.
Dal punto di vista fisico, un canale broadcast può essere di tipo:
i. Cablato (cavo coassiale, doppino telefonico, fibra ottica);
ii. Radio (trasmissione nello spazio libero).
Baccarelli, Cordeschi, Patriarca, Polli
90
Il problema dell’Accesso Multiplo (2/5)
Se due o più Nodi-Sorgente inviano simultaneamentei segnali da esse generati nel canale condiviso, allora i segnali interferiscono tra di loro e il segnale interferito risultante è inutilizzabile da parte dei Nodi-Destinazione.In questo caso, si dice che si è verificata una collisione tra i segnali trasmessi simultaneamente dai Nodi-Sorgente.Lo scopo dei Protocolli per l’Accesso Multiplo(Protocolli MAC) è quello di regolare (disciplinare) opportunamente le trasmissioni dei Nodi-Sorgente in modo da evitare (o, quanto meno, minimizzare) l’occorrenza di collisioni.
Baccarelli, Cordeschi, Patriarca, Polli
91
Più sorgenti (almeno 2) che trasmettono verso le destinazioni (almeno una) tramite lo stesso mezzo trasmissivo
La trasmissione da parte delle sorgenti deve essere disciplinata attraverso regole di accesso al mezzo per evitare fenomeni di interferenza tra messaggi generati da sorgenti diverse (collisioni).
Il problema dell’Accesso Multiplo (3/5)
S1
S2
S3D5
D3
D4
D2
D1
Mezzo trasmissivo (cavo, fibra, aria…)
Baccarelli, Cordeschi, Patriarca, Polli
92
Il problema dell’Accesso Multiplo (4/5)
Collegamento broadcast o multiaccesso (cavo o canale condiviso: multipunto)Il termine broadcast indica che quando un nodo trasmette una trama il canale la diffonde e tutti gli altri nodi ne ricevono una copiao Ethernet tradizionaleo Wireless LAN 802.11
Shared wire
(e.g. Ethernet)
Shared wireless
(e.g. WaveLAN)
Satellite
Baccarelli, Cordeschi, Patriarca, Polli
93
Centinaia o anche migliaia di nodi possono comunicare direttamente su un canale broadcast:o Si genera una collisione quando due o più nodi
trasmettono trame contemporaneamente.
Protocolli di Accesso MultiploProtocolli che fissano le modalità con cui i nodi regolano l’immissione delle Trame da essi generate nel canale condiviso.
Il problema dell’Accesso Multiplo (5/5)
Baccarelli, Cordeschi, Patriarca, Polli
94
Sistema di Accesso Multiplo (1/3)In generale, un sistema di Accesso Multiplo è costituito da N≥2 stazioni (nodi), ciascuna delle quali può sia trasmettere che ricevere da un canale condiviso di capacità C (bit/sec). Ciascuna stazione può sia inviare trame che ricevere da qualsiasi altra stazione.Ciascuna stazione è univocamente individuata da un indirizzo MAC costituito da 6 byte ed espresso in forma esadecimale.
Baccarelli, Cordeschi, Patriarca, Polli
95
Sistema di Accesso Multiplo (2/3)
Canale condiviso (Broadcast channel)
Nodo 1 Nodo 2 Nodo N
dmax (m)
Baccarelli, Cordeschi, Patriarca, Polli
96
Sistema di Accesso Multiplo: Parametri Principali (3/3)
Con riferimento alla figura precedente, introduciamo le seguenti definizioni:
o N numero di nodi che compongono il sistema;o C (bit/sec) capacità trasmissiva del Canale condiviso;o dMAX (m) distanza massima tra due nodi del sistema;o v (m/sec) velocità di propagazione del segnale
elettrico nel canale condiviso;o τ dMAX /v (sec) = ritardo massimo di propagazione del
segnale elettrico;o L MIN (bit) lunghezza minima di una trama;o LMAX (bit) lunghezza massima di una trama;o Tt LMAX/C (sec) = tempo necessario a trasmettere una
trama di lunghezza massima.
Baccarelli, Cordeschi, Patriarca, Polli
97
Proprietà di un Protocollo MAC ‘ideale’Idealmente, un protocollo MAC per un sistema di Accesso Multiplo con N nodi che impiega un canale condiviso di capacità C dovrebbe possedere le seguenti due proprietà:
i. quando un solo nodo ha dati da trasmettere, quel nodo può trasmettere ad una velocità(tasso) pari alla capacità C (bit/sec) del canale condiviso (Proprietà di utilizzo efficiente del canale);
ii. quando N ≥ 2 nodi hanno dati da trasmettere, ciascuno di questi può trasmettere ad una velocità media di C/N (bit/sec) (Proprietà di equità di condivisione del canale).
Baccarelli, Cordeschi, Patriarca, Polli
98
Prestazioni di un Protocollo MAC-Efficienza (1/3)
Supponiamo assegnato un Protocollo MAC che regoli (in qualche modo) le trasmissioni di N ≥ 2 nodi attraverso un canale condiviso di capacità C.In ogni intervallo temporale di durata Tt, il canale condiviso può trovarsi in uno e in uno solodei seguenti tre stati:
i. Stato libero: nessun nodo sta trasmettendo nel canale;
ii. Stato di collisione: due o più nodi stanno trasmettendo simultaneamente nel canale;
iii. Stato utile: uno e uno solo nodo sta trasmettendo nel canale.
Baccarelli, Cordeschi, Patriarca, Polli
99
Prestazioni di un Protocollo MAC-Efficienza (2/3)
Indichiamo con:o TL (sec) tempo che il canale passa nello stato Libero;o TC (sec) tempo che il canale passa nello stato di
Collisione;o TU (sec) tempo che il canale passa nello stato Utile;o Ttot (sec) TL + TC + TU = tempo di lavoro del canale.
Ciò posto, l’efficienza del protocollo MAC assegnato è così definita:
η
lim limtot tot
U UT T
tot C L U
T TT T T T
η →+∞ →+∞≡+ +
Baccarelli, Cordeschi, Patriarca, Polli
100
Prestazioni di un Protocollo MAC-Efficienza (3/3)
Il valore di varia al variare del Protocollo MAC considerato.
Dal punto di vista analitico, è un numero realecompreso in [0,1].
Dal punto di vista ingegneristico, i Protocolli MAC più efficienti (migliori) sono quelli che hanno piùalti valori di , perché consentono agli N nodi di condividere il canale broadcast dando luogo a “poche” collisioni.
η
η
η
Baccarelli, Cordeschi, Patriarca, Polli
101
Classificazione dei Protocolli MAC (1/2)
Protocolli MAC si possono classificare in (almeno) due categorie:
i. Protocolli a suddivisione del canale (ChannelPartitioning Protocols): partizionano la capacità C del canale condiviso in parti “piùpiccole”, dette sotto-canali, non interferenti;
ii. Protocolli ad accesso casuale (Random Access Protocols): il canale condiviso non viene suddiviso tra i nodi. Trasmissioni simultanee danno luogo a collisioni. I nodi collidenti ri-trasmettono le trame che hanno colliso.
Baccarelli, Cordeschi, Patriarca, Polli
102
Classificazione dei Protocolli MAC (2/2)
Protocolli MAC
Protocolli a suddivisione
del canaleProtocolli ad
accesso casuale
TDMA FDMA CDMA SlottedALOHA CSMA/CD
Baccarelli, Cordeschi, Patriarca, Polli
103
Protocolli a suddivisione di canale-Generalità (1/2)
Consideriamo un sistema di accesso con N ≥ 2 nodi che impiega un canale condiviso di capacitàC (bit/sec).Per definizione, un Protocollo MAC a suddivisione di canale opera come segue:
i. Suddivide il canale in N sotto-canali noninterferenti, ciascuno di capacità C/N (bit/sec);
ii. Assegna permanentemente a ciascuno dei nodi uno dei sotto-canali per l’intero tempo della comunicazione.
Baccarelli, Cordeschi, Patriarca, Polli
104
Protocolli a suddivisione di canale-Generalità (2/2)
Dalla precedente definizione, discendono alcune proprietàgenerali possedute da tutti i protocolli MAC a suddivisione di canale, e cioè:
i. La trasmissione di dati da parte di ciascun nodo avviene sempre senza collisioni;
ii. Tutti i nodi possono trasmettere alla stessa velocità di C/N (il protocollo è equo);
iii. Quando c’è un solo nodo che ha dati da trasmettere, esso può farlo alla velocità di C/N (bit/sec) (il protocollo non utilizza efficientemente la capacità C del canale condiviso);
iv. Il protocollo offre un modo di trasferimento “a circuito”;v. C’è bisogno di un nodo controllore (nodo Master) che disciplini
l’accesso al canale condiviso da parte degli N nodi (il protocolloè di tipo centralizzato).
Baccarelli, Cordeschi, Patriarca, Polli
105
Protocolli a suddivisione di canale-Classificazione
A seconda della tecnica (strategia) impiegata per partizionare il canale condiviso in sotto-canali non interferenti, i Protocolli a suddivisione del canale possono essere di tre tipi :
i. Protocollo d’accesso a Divisione di Tempo(TDMA);
ii. Protocollo d’accesso a Divisione di Frequenza(FDMA);
iii. Protocollo d’accesso a Divisione di Codice(CDMA).
Baccarelli, Cordeschi, Patriarca, Polli
106
Accesso Multiplo a divisione di tempo(TDMA, Time Division Multiple Access)
Le sorgenti trasmettono sulla stessa banda di frequenza ma in intervalli di tempo diversi, alternati e separati da intervalli di guardia Tg
Definizione di una trama : ciascuna destinazione estrae il proprio segnale generato dalla sorgente desiderata sulla base del sincronismo della tramaEsempi:i. Assegnazione timeslot per collegamenti GSMii. trasmissioni dati su fibra ottica, con allocazione fissa o
dinamica degli intervalli (“timeslot”)
Tempo (sec)
1 …2 3 4 1 2 3 4
Trama Tg timeslot
Baccarelli, Cordeschi, Patriarca, Polli
107
Accesso Multiplo a divisione di frequenza
(FDMA, Frequency Division Multiple Access)Le varie sorgenti trasmettono contemporaneamente nel tempo ma impiegano bande di frequenza diverse, separate da bande di guardia Bg
Ciascuna destinazione estrae il proprio segnale della sorgente desiderata tramite un filtraggio in bandaEsempi:i. broadcasting radio e tv, con allocazione fissa della banda
(multiplazione in frequenza)ii. trasmissioni in HF, con allocazione dinamica della banda
B1 B2
f1 f2
B3
f3
Bg
T1
Frequenza (Hz)
T2 T3
Baccarelli, Cordeschi, Patriarca, Polli
108
Accesso Multiplo a divisione di codice (1/5)
Utente A
Utente B
Trasmettitori(“Spreaders”)
Codice A:1-1-11-111-1
Canale Ricevitore per l’utente A(“Despreader”)
( )As t
( )Bs t
t
Codice A:1-1-11-111-1
integratore
cT
( )Ac t 0
bT
dt∫A bT
t
t
Dato A=±1
cT
bT
bT
Dato B=
tCodice B:-1-111-11-11
t
1
cT
bT
bT-1
A1
( )Ac t
( )Bc t
±
( )rA t
Decisore
Baccarelli, Cordeschi, Patriarca, Polli
109
Accesso Multiplo a divisione di codice- Parametri di sistema (2/5)Ciascun utente (“A” o “B”) genera forme d’onda binarie che
assumono i valori ± 1. Ciascuna forma d’onda elementare è di durata TB, detto “periodo di bit”
Ciascun utente moltiplica ciascun suo singolo dato da trasmettere per un segnale di codice (cA(t) o cB(t)) di durata complessiva Tb e costituito da SF>1 forme d’onda binarie elementari, ciascuna delle quali è di durata TC (periodo di chip).
Il rapporto SF >1 è detto spreading factor (fattore di
allargamento) del sistema e rappresenta il numero di chips contenuti in un periodo di bit TB.
b
C
TT
Il segnale CDMA sA(t) trasmesso dall’utente A durante un periodo di bit è quindi pari a:
sA(t)=AcA(t), 0 ≤ t ≤ Tb,
dove A= ±1 è il bit di messaggio trasmesso dall’utente A.
Baccarelli, Cordeschi, Patriarca, Polli
110
Accesso Multiplo a divisione di codice-Forme d’onda dei segnali (3/5)
t
t
TC
t
A(t) (segnale digitale dell’utente A)+1
-1 Tb2Tb
CA(t) (segnale di codice A)+1
-1 Tb 2Tb
SA(t) A(t)CA(t) (segnale CDMA di A)+1
-1 Tb 2Tb
SF = 8b
C
TT
Baccarelli, Cordeschi, Patriarca, Polli
111
Accesso Multiplo a divisione di codice (4/5)
La Banda occupata dal segnale CDMA generato da ciascuno degli utenti (“A” o “B”) è SF volte la banda fm del corrispondente segnale binario prima della moltiplicazione per il segnale di codice, ossia abbiamo che
BCDMA ≡ SF x fm
(allargamento di banda del segnale A)
Quindi, il CDMA è un formato di segnale a Banda LARGA.
Baccarelli, Cordeschi, Patriarca, Polli
112
Accesso Multiplo a divisione di codice (5/5)
In assenza di rumore di canale e sotto l’assunzione (fondamentale) che i due segnali di codice soddisfino alla seguente condizione di ortogonalità:
(condizione di ortogonalità tra i segnali di codice),
all’uscita dell’integratore di ricezione è sempre ricostruibile senza erroreil valore rA del bit di messaggio A realmente trasmesso dall’utente A. Infatti dalla figura precedente abbiamo che:
2
0 0 0
0
( )[ ( ) ( )] ( ) ( ) ( )
1
= + = + =
⎧⎪= = = ⎨⎪⎩
∫ ∫ ∫
∫ b,
b
+T se A=+1-T , se A=-1
b b b
b
T T T
A
T
b
r C t S t S t dt A C t dt B C t C t dtA A A B A B
A dt T A
≡∫b
A BT
0(t)C (t)C dt 0
1 0
Baccarelli, Cordeschi, Patriarca, Polli
113
Protocolli MAC Ad Accesso Casuale-Generalità (1/3)
Consideriamo N ≥ 2 nodi che condividono un canale di capacità C (bit/sec).
Per definizione, i protocolli ad accesso casuale operano in accordo alla eseguenti regole generali:
i. Un nodo che vuole trasmettere, lo fa sempre alla velocità di C (bit/sec);
ii. Quando si verifica una collisione, ciascun nodo coinvolto nella collisione ritrasmettere il suo frame ripetutamente, sin tanto che il frame ètrasmesso senza collisione;
Baccarelli, Cordeschi, Patriarca, Polli
114
Protocolli MAC Ad Accesso Casuale-Generalità (2/3)
i. Quando un nodo subisce una collisione, non cerca di ritrasmettere il suo frameimmediatamente. Al contrario, il nodo attende un certo intervallo di tempo prima di ritrasmettere il suo frame;
ii. Ciascun nodo coinvolto in una collisione sceglie un tempo di attesa per la ritrasmissione del suo frame indipendentemente da tutti gli altri nodi.
Baccarelli, Cordeschi, Patriarca, Polli
115
Protocolli MAC Ad Accesso Casuale-Generalità (3/3)
Dalla definizione precedente, scaturiscono le seguenti proprietàgenerali dei Protocolli ad Accesso Casuale:
i. Quando c’è un solo nodo che vuole trasmettere, può farlo alla velocità C(bit/sec) (Proprietà di utilizzo efficiente del canale);
ii. Quando N ≥ 2 nodi hanno dati da trasmettere, il protocollo non garantisce che possano farlo ad una velocità media di C/N (bit/sec) (il protocollo non è “equo”);
iii. Trasmissioni simultanee da parte di più nodi danno sempre origine a collisioni;
iv. Il protocollo offre un modo di trasferimento “a pacchetto” con perdita;
v. Non c’è alcun nodo controllore (nodo Master) che disciplina le trasmissioni da parte dei nodi (il protocollo èdi tipo Distribuito).
Baccarelli, Cordeschi, Patriarca, Polli
116
Protocolli MAC ad Accesso Casuale-Classificazione (1/2)
In funzione delle diverse tecniche (strategie) che possono essere adottate per prevenire oppure per risolvere le collisioni, i protocolli MAC ad accesso casuale si suddividono in (almeno) due categorie:
i. Protocolli di tipo ALOHANon effettuano alcune rilevazione dello stato (libero oppure occupato) del canale condiviso al momento di iniziare la trasmissione di ua trama da parte di un nodo.
ii. Protocolli di tipo ‘Carrier Sensing Multiple Access with Collision Detection’ (CSMA/CD)
Baccarelli, Cordeschi, Patriarca, Polli
117
Protocolli MAC ad Accesso Casuale-Classificazione (2/2)
Effettuano una rilevazione (“sensing”) dello stato (libero o occupato) del canale prima di iniziare la trasmissione di una trama, cercando così di prevenire gli eventi di collisione. Inoltre, dopo che un nodo ha iniziato a trasmettere una trama, esso continua a rilevare lo stato del canale per accorgersi se la collisione si stia comunque verificando, così da essere in grado di sospendere subito la trasmissione non appena la collisione avviene (Collision Detection).
Baccarelli, Cordeschi, Patriarca, Polli
118
Protocollo d’accesso Slotted ALOHA-Generalità (1/5)
Nei sistemi d’accesso Slotted ALOHA, si assume che: i. Il tempo è suddiviso in sotto-intervalli (time-
slot) di durata ciascuno LMAX/C (sec);ii. I nodi possono iniziare le trasmissioni solo agli
inizi degli slot;iii. Ciascun nodo conosce esattamente gli istanti
d’inizio dei vari slot;iv. Se due o più nodi trasmettono simultaneamente
in uno stesso slot, i corrispondenti frame collidono (cioè, vanno persi) e i nodi che hanno colliso si accorgono (rilevano) tale collisione.
Baccarelli, Cordeschi, Patriarca, Polli
119
Protocollo d’accesso Slotted ALOHA-Funzionamento (2/5)
Indichiamo con p un valore di probabilità, cioè un numero compreso tra [0,1]. p è la ”probabilità di persistenza ” del protocollo.Allora un qualunque nodo che abbia una trama da trasmette opera in accordo al seguente protocollo “Slotted Aloha”:
a) Quando un nodo ha una nuova trama da trasmettere, aspetta l’inizio del successivo slot e poi trasmettere l’intera trama durante lo slot;
b) Se non c’è stata collisione, il nodo ha trasmesso con successo la sua trama e torna al passo a);
c) Se il nodo ha rilevato la collisione, allora esso ritrasmette lastessa trama con probabilità p in ciascuno dei seguenti slot, sin tanto che la trama non è stata trasmessa senza collisione.
I passi a), b), c) definiscono il modo di operare del protocollo “SlottedALOHA”.
Baccarelli, Cordeschi, Patriarca, Polli
120
Protocollo d’accesso Slotted ALOHA-Calcolo dell’Efficienza (3/5)
Ricordiamo che, per definizione:Ovvero, l’efficienza di un protocollo è la frazione del tempo totale in cui il canale trasmette trame senza collisioni.Nel caso dello Slotted ALOHA, supponiamo di avere N nodi, ciascuno dei quali trasmette la propria trama in uno slot con probabilità p.Allora, la probabilità Ps che un singolo nodo trasmette la sua trama senza collisioni è: Ps = p (1-p)N-1.Poiché vi sono N nodi, la probabilità totale Pst che un qualsiasi nodo trasmetta la sua trama con successo è pari a:
Pst= NPs= Np (1-p)N-1.Per definizione, Pst coincide con l’efficienza dello SlottedALOHA cioè ≡ Pst = Np (1-p)N-1η
lim /TOT
TOTTT Tη
→∞ U
Baccarelli, Cordeschi, Patriarca, Polli
121
Protocollo d’accesso Slotted ALOHA-Calcolo dell’Efficienza (4/5)
Definiamo come efficienza massima dello SlottedALOHA il seguente limite:
Per N finito, il valore p* della probabilità di persistenza che massimizza è: p* = 1/N, così che abbiamo:
MAXη
11
0 1
1m ax * (1 *) 1 .N
N
pN p p
Nη
−−
≤ ≤
⎛ ⎞= − = −⎜ ⎟⎝ ⎠
0 1lim maxMAX N p
η η→+∞ ≤ ≤
⎧ ⎫⎨ ⎬⎩ ⎭
η
Baccarelli, Cordeschi, Patriarca, Polli
122
Protocollo d’accesso Slotted ALOHA-Calcolo dell’Efficienza (5/5)
Ricordiamo il seguente limite notevole:
Allora passando al limite per N ∞ l’espressione precedentemente trovata per: , otteniamo che l’efficienza massima alla quale può dar luogo il protocollo Slotted ALOHA è pari a :
Ciò significa che, nel caso dello slotted ALOHA, al più, solo (circa) il 37% degli slot trasporta trame che non collidono. In altri termini, nello slotted ALOHA, almeno il 63% degli slot o rimane inutilizzato o trasporta trame che collidono.
MAXη0 1m a x
pη
≤ ≤
11 1lim 1N
N N e
−
→+∞
⎛ ⎞− =⎜ ⎟⎝ ⎠
11 1lim 1 0.3678N
MAX N N eη
−
→+∞⎛ ⎞− = ≅⎜ ⎟⎝ ⎠
Baccarelli, Cordeschi, Patriarca, Polli
123
Accesso Multiplo con Rivelazione della portante (CSMA) (1/4)
Una prima strategia che si può usare per migliorare l’efficienza dello Slotted ALOHA è quella di rilevare lo stato del canale (libero o occupato) prima di iniziare a trasmettere.Specificatamente, i protocolli di tipo Carrier Sensing Multiple Access (CSMA) prevedono che ogni nodo che ha una trama da trasmettere effettui le seguenti operazioni:
i. Si pone in ascolto del canale (sensing) per verificarne lo stato;
ii. Se il canale è libero, il nodo trasmette l’intera trama;iii. Se il canale è occupato, il nodo aspetta un opportuno
intervallo di tempo e, poi, torna ad ascoltare il canale.Quindi, i protocolli CSMA adottano la seguente regola: “Ascolta prima di parlare e, se qualcun altro sta già parlando, aspetta finchè non ha concluso”.
Baccarelli, Cordeschi, Patriarca, Polli
124
La strategia di accesso CSMA non garantisce l’assenza di collisioni.Supponiamo che il nodo B e il nodo D siano alla massima distanza dmax.
o Supponiamo che, all’istante t0, il nodo B ascolti il canale, lo trovi libero ed inizi a trasmettere;
o Supponiamo che all’istante t1 (dove t1≥t0), il nodo D ascolti il canale.o Se la differenza (t1-t0) è minore del ritardo di propagazione τ del
segnale elettrico nel canale condiviso, ossia, se è verificata la condizione:
(t1-t0) < τallora all’istante t1, il nodo D “sente” il canale libero ed inizia a trasmettere la propria trama.
o Poiché il nodo B sta già trasmettendo la propria trama le trame generate dai nodi D e B collidono.
Ne concludiamo che, in generale, la strategia di accesso CSMA è tanto meno efficace quanto maggiore è il ritardo di propagazione τ del sistema d’accesso considerato.
Accesso Multiplo con Rivelazione della portante (CSMA) (2/4)
Baccarelli, Cordeschi, Patriarca, Polli
125
Accesso Multiplo con Rivelazione della portante (CSMA) (3/4)
Le collisioni possono ancora verificarsi:o tra i due nodi trasmittenti avviene una collisione se
essi accedono al canale in istanti che differiscono tra loro meno del tempo di propagazione tra i nodi;
o Il ritardo di propagazione fa sì che due nodi non rilevino la reciproca trasmissione.
B D
collisione
Baccarelli, Cordeschi, Patriarca, Polli
126
Accesso Multiplo con Rivelazione della portante (CSMA) (4/4)
Il ritardo di propagazione τgioca un ruolo importante nel determinare le collisioni
Baccarelli, Cordeschi, Patriarca, Polli
127
CSMA con Rilevazione di Collisione (CSMA/CD) (1/3)
Le prestazioni dei protocolli CSMA possono essere migliorate facendo ricorso alla funzione di Rilevazione delle Collisioni (Collision Detection- CD)Per definizione, la funzione di Collision Detection richiede che un qualsiasi nodo che ha già iniziato a trasmettere continui ad ascoltare il canale, ed interrompa immediatamente la trasmissione nel caso in cui si accorga che c’è anche un altro nodo che sta trasmettendo.Quindi, la funzione di Collision Detection permette di minimizzare la durata temporale di ciascuna collisione.E’ da rimarcare che un nodo può espletare la funzione di Collision Detection solo durante l’intervallo temporale in cui sta trasmettendo la propria trama, ma non dopo aver terminato di trasmetterla.
Baccarelli, Cordeschi, Patriarca, Polli
128
CSMA con Rilevazione di Collisione (CSMA/CD) (2/3)
Ricapitolando, i protocolli CSMA/CD prevedono che ogni nodo che abbia una trama da trasmettere:
i. Ascolti lo stato del canale e inizi a trasmettere solo se il canale è libero (fase CSMA);
ii. Continui ad ascoltare il canale durante la trasmissione della propria trama e interrompa immediatamente la trasmissione appena si accorga che un altro nodo sta trasmettendo (fase CD).
In essenza, i protocolli CSMA/CD adottano la regola: “Ascolta prima di parlare e anche mentre stai parlando”.
Baccarelli, Cordeschi, Patriarca, Polli
129
CSMA con Rilevazione di collisione (CSMA/CD) (3/3)
Rispetto al protocollo CSMA, migliora le prestazioni riducendo la durata temporale delle collisioni
Baccarelli, Cordeschi, Patriarca, Polli
130
Il protocollo CSMA/CD (1/2)
Trasmetti il segnale di jam
Calcolo di (2k-1)T0
Scelta casuale del tempo di attesa ∆
nell’insieme {0, T0, 2T0, …, (2k-1)T0}
Attesa di ∆
si
si
Nodo pronto a trasmettere
Trasmissione e sensing del canale
Canale occupato?
CollisioneRilevata?
Trasmissione completata
Attendi ∆1=9.6μs
no
no
Nei sistemi d’accessi di tipo CSMA/CD, ciascun nodo opera in accordo al seguente protocollo:
Baccarelli, Cordeschi, Patriarca, Polli
131
Il protocollo CSMA/CD –Definizione dei parametri (2/2)I parametri introdotti nel diagramma precedente hanno i seguenti significati/valori:
o T0 (sec) ≡ tempo necessario a trasmettere una trama di lunghezza minima ≡ Lmin/C
tipicamente T0=51.2μs;o ∆1 ≡ tempo che deve intercorrere tra l’istante in cui
termina la trasmissione di una trama e l’istante in cui il nodo torna a sentire il canale per trasmettere la trama successiva (Inter-Frame Gap)
tipicamente ∆1 = 9.6 μs;o K ≡ min {Nc,10};o Nc ≡ numero di collisioni già subite dalla trama che il
nodo sta cercando di trasmettere.
Baccarelli, Cordeschi, Patriarca, Polli
132
Il protocollo CSMA/CD- Descrizione (1/3)Quando il nodo ha una trama da trasmettere, inizia ad ascoltare (sensing) il canale. Nel caso in cui rilevi una trasmissione già in atto, il nodo si pone in uno stato diattesa per un opportuno intervallo di tempo ∆ (sec) e, quindi, torna di nuovo ad ascoltare il canale.Nel caso in cui l’operazione di Collision Detection rilevi una collisione mentre il nodo sta già trasmettendo, il nodo interrompe immediatamente la trasmissione della trama e, poi, emette un segnale di allarme (segnale di jam).Il segnale di jam è una particolare sequenza di 32 bit che ha il compito di avvertire tutti i nodi del sistema delle collisioni e, che, quindi, tutti i bit che essi hanno ricevuto sono da scartare.
Baccarelli, Cordeschi, Patriarca, Polli
133
Il protocollo CSMA/CD- Descrizione (2/3)
Dopo la trasmissione del segnale di jam, il nodo si pone in attesa di riprovare la trasmissione della trama che ha colliso.La durata ∆ (sec) (variabile) dello stato di attesa è calcolata applicando il cosiddetto algoritmo di subentro (Algoritmo di Back-off), che è basato sulla definizione di un intervallo di base T0 ≡ 51.2μs che rappresenta il tempo necessario a trasmettere una trama di lunghezza minima.Specificatamente, l’Algoritmo di Back-off prevede che il nodo torni ad ascoltare il canale dopo un tempo di attesa ∆ che è scelto casualmente nell’insieme:
∆ ∈ {0, T0, 2T0, …, (2k-1)T0},dove
K ≡ min {Nc,10}e l’intero Nc ≥ 1 è il numero di collisioni che la trama da trasmettere ha già subito.
Baccarelli, Cordeschi, Patriarca, Polli
134
Il protocollo CSMA/CD- Descrizione (3/3)
Nell’Algoritmo di Back-off, il numero di possibili valori assumibili dal tempo di attesa ∆ cresce in modo esponenziale con K, ossia cresce in modo esponenziale con il numero Nc di collisioni già subite dalla trama da trasmettere, almeno finchè Nc ≥ 10.
Infatti, maggiore è Nc, maggiore è il numero di nodi che stanno cercando di trasmettere. Quindi, per evitareche due o più nodi continuino a collidere più e più volte, l’insieme dei possibili valori che può assumere ∆ deve crescere al crescere di Nc.
Baccarelli, Cordeschi, Patriarca, Polli
135
Corretto funzionamento della procedura di Collision Detection (1/2)
Poiché un nodo espleta la funzione di Collision Detection solodurante l’intervallo di tempo in cui sta trasmettendo una trama, è necessario che il tempo
LMIN/C (sec)che un nodo impiega per trasmettere una trama di lunghezza minima sia non inferiore al ritardo massimo ∆MAX (sec) con cui un nodo che ha iniziato a trasmettere di accorge che un altro nodo sta già trasmettendo. Ovviamente, ∆MAX è pari al tempo impiegato dal segnale elettrico per propagarsi dal nodo A al nodo B e, poi, dal nodo B al nodo A, dove A e B sono due nodi posti alla massima distanza dMAX . Ovvero,
∆MAX = 2 τ = 2 dMAX /v
Baccarelli, Cordeschi, Patriarca, Polli
136
Corretto funzionamento della procedura di Collision Detection (2/2)
Quindi, affinchè la funzione di CD operi correttamente, dobbiamo avere
LMIN/C ≥ ∆MAX ≡ 2 dMAX /v,ovvero,
dMAX ≤ v (m/sec) x LMIN (bit) /2 C (bit/sec) (1)
Ciò significa che i sistemi d’accesso di tipo CSMA/CDhanno una estensione massima dMAX (ovvero, una copertura) che è limitata dal secondo membro della disuguaglianza riportata nella eq. (1).
Baccarelli, Cordeschi, Patriarca, Polli
137
Efficienza massima del protocollo CSMA/CD (1/3)
L’impiego del protocollo CSMA/CD non garantisce l’assenza di collisioni.Anche nel caso dei sistemi di accesso CSMA/CD, il canale condiviso dagli N nodi può trovarsi in uno dei tre stati:i. Stato libero,ii. Stato con collisione,iii. Stato utile.precedentemente definiti.
Baccarelli, Cordeschi, Patriarca, Polli
138
Efficienza massima del protocollo CSMA/CD (2/3)
Si può dimostrare che, al tendere all’inifinito del numero di nodi N che compongono il sistema, l’efficienza massima di un sistema CSMA/CD è pari a:
doveo a ≡ τ /Tt (sec) ≡ tempo di propagazione normalizzato al
tempo di trasmissione;o τ ≡ dMAX /v (sec) = tempo di propagazione del segnale
elettrico nel sistema;o Tt ≡ LMAX /C (sec) = tempo di trasmissione di una trama
di dimensione massima.
11 5MAX a
η =+
Baccarelli, Cordeschi, Patriarca, Polli
139
Efficienza massima del protocollo CSMA/CD (3/3)
E’ interessante osservare che:
Quindi, il protocollo CSMA/CD è tanto più efficiente(cioè, tanto più capace di evitare collisioni) quanto più èpiccolo il valore a del rapporto tra il ritardo di propagazione τ il tempo di trasmissione Tt di una trama di dimensione massima.
0lim 1 ,
lim 0.MAXa
MAXa
η
η→
→ +∞
≡
≡
Baccarelli, Cordeschi, Patriarca, Polli
140
Reti in Area Locale (LAN) eReti Ethernet
Baccarelli, Cordeschi, Patriarca, Polli
141
Reti in Area Locale - Definizione (1/2)Le reti in Area Locale (Local Area Networks) nascono per interconnettere utenti terminali distribuiti su un’area geografica limitata e dell’ordine di 2.5km-3.0km.Dal punto di vista componentistico, una LAN è costituita da:
o Più utenti terminali;o Elementi di inter-connessione tra utenti terminali (hub e/o
bridge);o Canali trasmissivi che collegano le coppie di nodi.
Le caratteristiche fondamentali di una LAN sono:i. Estensione geografica limitata, ossia dMAX ≤ 2.5km-3.0km;ii. Elementi di inter-connessione che attuano solo protocolli
degli Strati Fisico e di Collegamento;iii. Canali trasmissivi che possono essere di tipo punto-punto,
oppure condivisi (canali broadcast).
Baccarelli, Cordeschi, Patriarca, Polli
142
Reti in Area Locale - Definizione (2/2)
Le LAN si suddividono in due grandi categorie:
i. LAN cablate (wired LAN):usano come mezzi trasmissivi i cavi coassiali, e/o i doppini telefonici e/o le fibre ottiche;
i. LAN radio (wireless LAN):usano come mezzo trasmissivo lo spetto radio.
Baccarelli, Cordeschi, Patriarca, Polli
143
La Famiglia delle LAN Ethernet
Baccarelli, Cordeschi, Patriarca, Polli
144
Ethernet - Generalità (1/2)La tecnologia Ethernet è nata a metà anni ’70; ad oggi, detiene una posizione dominante nel mercato delle LAN cablate.Gli adattatori Ethernet sono poco costosi (dell’ordine dei 20 Euro) e permettono agli utenti collegati di trasmettere a velocità che vanno dai 10Mb/sec sino ai 10 Gb/sec.La tecnologia Ethernet comprende tutta una famiglia di reti che si differenziano principalmente per:
i. Velocità di trasmissione (dai 10Mb/sec ai 10 Gb/sec);ii. Coperture (da qualche decina di metri ai 3.5/4.0km);iii. Mezzi trasmissivi impiegati (cavo coassiale, doppino
telefonico, fibra ottica);iv. Strategia usata per l’accesso (CSMA/CD oppure
accesso dedicato).
Baccarelli, Cordeschi, Patriarca, Polli
145
Ethernet - Generalità (2/2)Dal punto di vista dell’Architettura Protocollare, gli standard Ethernet definiscono solo i protocolli degli:
i. Strato fisico ii. Strato di Collegamento.
Modello di ServizioTutte le tecnologie Ethernet forniscono un servizio privo di connessione e non affidabile al corrispondente Strato di Rete. Specificatamente:
i. Servizio privo di connessione significa che quando un adattatore A vuole inviare una trama ad un adattatore B lo fa direttamente senza ricorrere alla fase di Instaurazione della connessione (fase di handshaking);
ii. Servizio non affidabile significa che quando un adattatore B riceve una trama da A, esso applica la procedura di rivelazione degli errori, ma non invia indietro ad A né alcun riscontro positivo né negativo. Quando l’adattatore B rivela errori nella trama ricevuta, esso scarta semplicemente la trama, senza richiederne la ri-trasmissione.
Baccarelli, Cordeschi, Patriarca, Polli
146
Strato Fisico della Tecnologia Ethernet
Baccarelli, Cordeschi, Patriarca, Polli
147
Le reti Ethernet attuali impiegano una topologia a stella, in cui gli N ≥2 nodi che compongono la rete sono collegati (in modo bidirezionale) ad un nodo di interconnessione detto Centro Stella.Ciascun nodo è connesso al Centro Stella mediante due canali, il primo dei quali è impiegato per inviare segnali verso il Centro Stella, mentre il secondo è utilizzato per ricevere segnali dal Centro Stella.Le trame generate da un Nodo-Sorgente A debbono necessariamente transitare per il Centro Stella prima di raggiungere il Nodo-Destinazione desiderato B.Il Centro Stella può essere un hub oppure un bridge.Il modo di trasmissione di una rete Ethernet è sempre bidirezionale e può essere half-duplex o full-duplex.
Topologia delle Reti Ethernet (1/2)
Baccarelli, Cordeschi, Patriarca, Polli
148
Topologia delle Reti Ethernet (2/2)
Centro Stella(hub o bridge)
Nodo 1
Nodo 2
Nodo 3
Nodo N
Baccarelli, Cordeschi, Patriarca, Polli
149
Mezzi trasmissivi nelle Reti Ethernet (1/2)
Per la maggior parte, le reti Ethernet attuali impiegano come mezzo trasmissivo il doppino telefonico oppure la fibra ottica.I doppini telefonici impiegati sono di tipo non schermato (UTP-Unshielded Twisted Pair) e, a seconda della qualità del rame impiegato, si suddividono in 7 categorie, di qualità via via crescente.Specificatamente, i doppini UTP impiegati nelle reti Ethernet sono quelli di:
i. Categoria 3 – hanno una larghezza di banda di 16MHz;ii. Categoria 4 – hanno una larghezza di banda di 20MHz;iii. Categoria 5 – hanno una larghezza di banda di 100MHz;iv. Categoria 6 – hanno una larghezza di banda di 250MHz;v. Categoria 7 – hanno una larghezza di banda di 1000MHz.
Baccarelli, Cordeschi, Patriarca, Polli
150
Mezzi trasmissivi nelle Reti Ethernet (2/2)
Le fibre ottiche impiegate nelle reti Ethernet possono essere di tipo monomodo o multimodo.La fibre multimodo operano in 1° finestra e in 2°finestra, ossia a lunghezze d’onda dell’ordine dei 850nm e dei 1300nm. Esse sono dispersive e introducono attenuazioni non trascurabili.Le fibre monomodo operano in 2° finestra e in 3°finestra, ossia a lunghezze d’onda dell’ordine di 1300nm e 1500nm. Esse sono poco dispersive e introducono basse attenuazioni.
Baccarelli, Cordeschi, Patriarca, Polli
151
Modulazione nelle Reti Ethernet (1/3)Il formato di modulazione impiegato è il Manchester, che èun formato di modulazione binario e di banda base.Indicato con Tb (sec) il periodo di bit, nel formato Manchester:
i. Il bit ‘0’ è rappresentato da un segnale che presenta una transizione: alto basso a Tb/2;
ii. Il bit ‘1’ è rappresentato da un segnale che presenta una transizione: basso alto a Tb/2.
Poiché nelle reti Ethernet non c’è un segnale di sincronismo che coordina (allinea temporalmente) i nodi della rete, le suddette transizioni facilitano l’estrazione del segnale di sincronismo dalla sequenza di bit ricevuti da ciascun nodo.
Baccarelli, Cordeschi, Patriarca, Polli
152
Modulazione nelle Reti Ethernet (2/3)Le reti Ethernet che impiegano il doppino telefonico come mezzo trasmissivo usano la modulazione Manchester di tipo bipolare.
S0(t)
+1
-1
tTb/2 Tb
S1(t)
+1
-1
tTb/2 Tb
Baccarelli, Cordeschi, Patriarca, Polli
153
Modulazione nelle Reti Ethernet (3/3)Le reti Ethernet che impiegano la fibra otticacome mezzo trasmissivo usano la modulazione Manchester di tipo on-off.
S0(t)
+1
tTb/2 Tb
S1(t)
+1
tTb/2 Tb
Baccarelli, Cordeschi, Patriarca, Polli
154
Strato di Collegamento della Tecnologia Ethernet
Baccarelli, Cordeschi, Patriarca, Polli
155
Le trama Ethernet ha una lunghezza minima di 73 byte e una lunghezza massima di 1527 byte.Il tempo T0 per la trasmissione di una trama di lunghezza minima è fissata a T0 = 51.2μs. La struttura di trama è la seguente (standard IEEE802.3):
Formato della Trama Ethernet (1/3)
8 2661 40-1500 0-46
64-1518 byte
preambleSFD
DA SALEN
dataPAD
CRC
Baccarelli, Cordeschi, Patriarca, Polli
156
Formato della Trama Ethernet (2/3)Il significato dei campi della Trama è il seguente:
o preamble (8 byte) - consente, trama per trama, la sincronizzazione del segnale numerico ricevuto dal Nodo-Destinazione;
o Short Frame Delimiter (SFD) (1 byte) - contiene la stringa ‘10101011’ che individua l’inizio della trama;
o Destination Address (DA) (6 byte) - contiene l’indirizzo MAC del Nodo-Destinazione della trama;
o Source Address (SA) (6 byte) - contiene l’indirizzo MAC del Nodo-Sorgente della trama;
Baccarelli, Cordeschi, Patriarca, Polli
157
Formato della Trama Ethernet (3/3)
o Length (LEN) (2 byte) - specifica la lunghezza del campo DATA;
o Data (0-1500 byte) - contiene il datagramma generato dallo strato di rete del Nodo-Sorgente;
o PAD (0-46 byte) - serve a garantire che ogni trama abbia una lunghezza minima non inferiore a 73 byte;
o Cyclic Redundancy Check (CRC) (4 byte) - contiene i bit di controllo di parità del codice impiegato per rilevare in ricezione eventuali errori presenti nella trama ricevuta.
Baccarelli, Cordeschi, Patriarca, Polli
158
Reti Ethernet-Interconnessione tramite Hub
Baccarelli, Cordeschi, Patriarca, Polli
159
Interconnessione tramite Hub (1/4)Nelle reti Ethernet che impiegano un hub come centro-stella, ogni nodo è connesso all’hub mediante due canali, uno dei quali è impiegato per trasmettere verso l’hub, mentre l’altro è usato per ricevere dall’hub.L’hub è un dispositivo che opera semplicemente la ri-trasmissione del segnale ricevuto da uno dei nodi di rete verso tutti gli altri nodi della rete, tranne il nodo da cui il segnale è stato ricevuto.Quindi, se 2 o più nodi trasmettono contemporaneamenteverso l’hub, i corrispondenti segnali collidono e sono inutilizzabili.Dal punto di vista logico, una rete Ethernet con centro-stella costituito da un hub di comporta come un sistema ad accesso multiplo con protocollo CSMA/CD.
Baccarelli, Cordeschi, Patriarca, Polli
160
Dal punto di vista fisico (hardware), un hub è un dispositivo con N interfacce, ciascuna delle quali è collegata bidirezionalmente con uno dei nodi di rete.Ciascuna interfaccia è costituita da:
i. Una porta d’ingresso, dalla quale l’hub riceve il segnale trasmesso dal nodo;
ii. Una porta di uscita, attraverso la quale l’hub invia il segnale verso il nodo.
Il segnale che l’hub riceve dall’m-sima porta d’ingresso viene:i. Demodulato;ii. Ri-modulato;iii. Amplificato; iv. Ritrasmesso su tutte le porte d’uscita tranne che sulla
porta di uscita m-sima.
Interconnessione tramite Hub (2/4)
Baccarelli, Cordeschi, Patriarca, Polli
161
Interconnessione tramite Hub (3/4)
Porta di Ingresso 2
Demod-Mod. Ampl.
Dal nodo 2
Porta di Ingresso 1
Demod-Mod. Ampl.
Dal nodo 1
Porta di Ingresso 3
Demod-Mod. Ampl.
Dal nodo 3
Porta diUscita
1
Porta diUscita
2
Porta diUscita
3
Al nodo 1
Al nodo 2
Al nodo 3
La struttura interna di un hub è riportata in figura, per il caso N = 3.
Baccarelli, Cordeschi, Patriarca, Polli
162
Interconnessione tramite Hub (4/4)Dal punto di vista dell’Architettura Protocollare, un hubattua solo protocolli di Strato Fisico. Quindi un hub nonpuò essere impiegato per interconnettere nodi che adottano protocolli di Strato di Collegamento diversitra loro.
Simbolo grafico di un Hub
Pila protocollare attuata da un Hub
Strato Fisico
Baccarelli, Cordeschi, Patriarca, Polli
163
Reti Ethernet-Interconnessione tramite Bridge
Baccarelli, Cordeschi, Patriarca, Polli
164
Bridge - GeneralitàIl centro-stella di una rete Ethernet può essere costituito da un Bridge. Un Bridge è un dispositivo con N interfacce che attua siaprotocolli di strato fisico che protocolli di strato di collegamento.In particolare, un Bridge opera su ogni tarma ricevuta al seguente modo:
i. Legge l’indirizzo di destinazione della trama;ii. Inoltra la trama solo sulla porta di uscita connessa alla
destinazione;iii. Trasmette la trama verso la destinazione solo quando non ci
sono altre trame che sono correntemente trasmesse verso la stessa destinazione.
Quindi l’interconnessione tramite Bridge evita completamente le collisioni.
Baccarelli, Cordeschi, Patriarca, Polli
165
Bridge – Struttura (1/2)La struttura di un Bridge è riportata in figura.
Porta 1 . . . Porta N
Porte d’ingresso
Dispositivo di indirizzamento e inoltro
Porta 1 Porta N
Porte d’uscita
Buffer 1
Buffer N
Baccarelli, Cordeschi, Patriarca, Polli
166
Bridge – Struttura (2/2)Un Bridge è costituito da N interfacce, ciascuna della quali ècomposta da una porta di ingresso e da una porta d’uscita. Il Bridge riceve le trame generate dal nodo m-simo mediante la m-porta di ingresso. Il Bridge invia le trame destinate al nodo m-simomediante la m-sima porta di uscita.La trama ricevuta da una (generica) porta di ingresso viene prelevata dal Dispositivo di Indirizzamento, che svolge le seguenti funzioni:
i. Legge l’indirizzo del nodo di destinazione contenuto nella trama;
ii. Inoltra la trama solo verso il buffer connesso con la porta di uscita collegata col nodo di destinazione;
iii. Preleva la trama dal buffer e la trasmette verso il nodo di destinazione solo quando non ci sono altre trame che correntemente sono trasmesse verso lo stesso nodo di destinazione (assenza di collisioni).
Baccarelli, Cordeschi, Patriarca, Polli
167
Bridge – Architettura ProtocollareDal punto di vista dell’Architettura Protocollare, un Bridge attua sia i protocolli di Strato Fisico che i protocolli di Strato di Collegamento.In particolare, un Bridge è in grado di leggere e interpretare gli indirizzi MAC di una trama, ma non è in grado né di leggere né di interpretare gli indirizzi IP di un Datagramma.Un Bridge può essere anche utilizzato per inter-connettere nodi che adottano differenti protocolli di Strato di Collegamento.
Pila protocollare attuata da un Bridge
Simbolo grafico di un Bridge
Strato Fisico
Strato di
collegamento
Baccarelli, Cordeschi, Patriarca, Polli
168
Le funzione svolte da un Bridge
Più in dettaglio, un Bridge svolge le seguenti funzioni (operazioni) su ciascuna trama che riceve da una delle sue porte di ingresso:i. Filtraggio;ii. Inoltro;iii. Auto-apprendimento;iv. Conversione del formato di trama
(opzionale).
Baccarelli, Cordeschi, Patriarca, Polli
169
Filtraggio e Inoltro (1/5)Filtraggio si riferisce alla capacità che un Bridge ha di decidere se una trama ricevuta da una delle sue porte di ingresso debba essere inoltrata ad una opportuna sua porta di uscita oppure debba essere scartata.Inoltro (forwarding) è la capacità che un Bridge ha di determinare (calcolare) a quale porta di uscita debba essere inviata ciascuna trama che il bridge ha ricevuto da una delle sue porte di ingresso.Il bridge svolge le funzioni di filtraggio e inoltro avvalendosi delle informazioni memorizzate in una tabella residente nel bridge stesso, e detta Tabella di Inoltro.
Baccarelli, Cordeschi, Patriarca, Polli
170
Filtraggio e Inoltro (2/5)Specificatamente, la Tabella di Inoltro memorizzata in ciascun Bridge ha tante righe quanti sono i nodi destinazione raggiungibili dalle porte di uscita del Bridge stesso.Ciascuna riga della Tabella di Inoltro contiene 3 informazioni:
i. Indirizzo MAC (6 byte) di un nodo di destinazione;ii. Il numero d’ordine della porta di uscita del bridge
dalla quale è raggiungibile il nodo di destinazione;iii. Il tempo (l’ora) in cui l’indirizzo del nodo di
destinazione è stato inserito (scritto) nella Tabella di Inoltro.
Baccarelli, Cordeschi, Patriarca, Polli
171
Filtraggio e Inoltro (3/5)Un possibile esempio di Tabella di Inoltro memorizzata da un bridge è la seguente
Indirizzo MAC del nodo di destinazione
Numero della porta di uscita del Bridge
Tempo di inserimento
dell’indirizzo MAC
62-FE-F7-11-89-A3 1 9:32
7C-BA-B2-B4-91-10 3 10:37
88-B2-2F-54-1A-0F 1 10:52
… … …
Baccarelli, Cordeschi, Patriarca, Polli
172
Filtraggio e Inoltro- Algoritmo (4/5)
Supponiamo che il bridge riceva una trama dalla porta di ingresso con numero m e che la trama contenga come indirizzo di destinazione DD-DD-DD-DD-DD-DD.L’algoritmo di Filtraggio e Inoltro eseguito dal bridge procede come segue:
i. Se l’indirizzo DD-DD-DD-DD-DD-DD non è contenuto nella Tabella di Inoltro, allora il bridge inoltra la trama ricevuta su tutte le sue porte d’uscita tranne l’m-sima;
ii. Se l’indirizzo DD-DD-DD-DD-DD-DD è contenuto nella Tabella e la porta di uscita ad esso associata è l’m-sima, allora il bridge scartala trama ricevuta (ossia, non inoltra la trama su nessuna delle porte d’uscita) (Filtraggio);
iii. Se l’indirizzo DD-DD-DD-DD-DD-DD è contenuto nella tabella e la porta di uscita ad esso associata è l’x-sima con x ≠ m, allora il bridge memorizza temporaneamente la trama nel buffer che precede la porta d’uscita x-sima. Il bridge rimuove la trama dal buffer e la trasmette sulla porta d’uscita x-sima solo quando la suddetta trasmissione non provoca collisione con altre trasmissioni già in corso (Inoltro).
Baccarelli, Cordeschi, Patriarca, Polli
173
Filtraggio e Inoltro- Esempio (5/5)
Destinazione della trama sconosciuta: floodDestinazione A conosciuta: inoltro selettivo
A
B
B’
C
C’
1 2 345
6
A A’
Source: ADest: A’
A A’A A’A A’A A’A A’
A’ A
Tabella diinoltro
MAC addr porta tempo9:57
10:19
A
A’
1
4
bridge
trama
Baccarelli, Cordeschi, Patriarca, Polli
174
La Tabella di Inoltro di un bridge èinizialmente vuota. Essa viene costruita eaggiornata automaticamente, ossia senza bisogno dell’intervento dell’amministratore di rete.La capacità di un bridge di costruire e aggiornare la propria Tabella di Inoltro in modo autonomo è detta capacità di auto-apprendimento (self-learning) del bridge.
Auto-Apprendimento (1/3)
Baccarelli, Cordeschi, Patriarca, Polli
175
Auto-Apprendimento: algoritmo (2/3)
Specificatamente, l’algoritmo di auto-apprendimento procede come segue:1. La tabella di Inoltro è inizialmente vuota;2. Quando una trama arriva al bridge e l’indirizzo MAC del nodo-
Sorgente della trama non è già contenuto nella Tabella di Inoltro, allora il bridge memorizza:i. L’indirizzo MAC di tale nodo;ii. Il numero della porta di ingresso dalla quale è arrivata la
trama;iii. L’istante di tempo in cui la trama è arrivata.
3. Quando una trama arriva al bridge e l’indirizzo del nodo-Sorgente è già contenuto nella Tabella, allora la Tabella nonviene modificata.
4. Il bridge elimina (cancella) un indirizzo dalla tabella se nessuna trama è stata ricevuta con quell’indirizzo di sorgente per un intervallo di tempo (Tempo di Età) che, tipicamente, èdell’ordine dei 60 minuti.
Baccarelli, Cordeschi, Patriarca, Polli
176
Supponiamo che all’istante 9:39 una trama arrivi dalla porta di ingresso no.2 e con indirizzo-sorgente: 01-12-23-34-45-56. Supponiamo che questo indirizzo non sia nella Tabella di Inoltrodel bridge. Allora, il bridge lo inserisce nella Tabella di Inoltro.
Supponiamo, ora, che il Tempo di Età della tabella sia di 60 minuti e che nessuna trama con indirizzo-sorgente: 01-12-23-34-45-56 arrivi al bridge tra l’istante 9:39 e l’istante 10:39. Allora all’istante 10:39 il bridge rimuove tale indirizzo dalla sua Tabella di Inoltro.
Auto-Apprendimento- Esempio (3/3)
Indirizzo MAC del nodo di destinazione
Numero della porta di uscita del Bridge
Tempo di inserimento dell’indirizzo MAC
01-12-23-34-45-56 2 9:39
Baccarelli, Cordeschi, Patriarca, Polli
177
Conversione del formato di trama – Translating Bridge
Un bridge può essere anche usato per interconnettere nodi di rete che impiegano protocolli di Strato di Collegamento diversi (eterogenei).In questo caso il bridge, oltre ad effettuare le funzioni di Filtraggio, Inoltro e Auto-Apprendimento, effettua anche la conversionedel formato della trama ricevuta dal nodo-sorgente nel formato di trama richiesto dal nodo-destinazione.I bridge che effettuano anche questa conversione sono detti “translating bridge”.
Baccarelli, Cordeschi, Patriarca, Polli
178
Reti Ethernet con accesso a contesa e Reti Ethernet a commutazione
Baccarelli, Cordeschi, Patriarca, Polli
179
Classificazione delle Reti Ethernet
• Le reti Ethernet che impiegano come centro-stella un hub sono dette Reti Ethernet con accesso a contesa.
• Le reti Ethernet che impiegano come centro-stella un bridge sono dette Reti Ethernet a commutazione (Switched Ethernet LANs).
Baccarelli, Cordeschi, Patriarca, Polli
180
Reti Ethernet con Accesso a Contesa – Generalità (1/2)
Per definizione, le Reti Ethernet con accesso a contesa impiegano un hub come centro-stella.A tutti gli effetti, una rete Ethernet con accesso a contesa alla quale sono collegati N nodi di rete mediante canali fisici di capacità C (bit/sec) si comporta come un sistema d’accesso multiplo che impiega il protocollo d’accesso CSMA/CDprecedentemente descritto e analizzato.Tipicamente, ciascun nodo di una rete Ethernet con accesso a contesa comunica con l’hub in modo bidirezionale e half-duplex.
Baccarelli, Cordeschi, Patriarca, Polli
181
Reti Ethernet con Accesso a Contesa – Generalità (2/2)
Ciò significa che, dei due canali che connettono ciascun nodo all’hub:
i. Uno è impiegato, alternativamente nel tempo, per trasmettere dati verso l’hub e per ricevere dati dall’hub (comunicazione nodo-hub di tipo bi-direzionale e half-duplex);
ii. L’altro canale è impiegato dal nodo esclusivamente per espletare la funzione di Collision Detection (CD) richiesta dalla tecnica di accesso CSMA/CD.
Baccarelli, Cordeschi, Patriarca, Polli
182
Reti Ethernet con Accesso a Contesa - Tassonomia
Esistono più tipi di reti Ethernet con accesso, che si differenziano per:
i. la capacità C (bit/sec) del canale condiviso;ii. il tipo di mezzo trasmissivo impiegato dal canale condiviso.Le diverse topologie di reti Ethernet con accesso a contesa sonoindividuate con la notazione
X –Base- Ydove:
a. X indica la capacità del canale condiviso, espressa in Mb/sec;b. Base sta ad indicare che la modulazione adottata è di banda
base (tipicamente, la Manchester);c. Y può essere un numero oppure una lettera:
- quando è un numero, indica la copertura della rete misurata in centinaia di metri;
- quando è una lettere, specifica il mezzo trasmissivo del canale condiviso (tipicamente, doppino telefonico o fibra ottica).
Baccarelli, Cordeschi, Patriarca, Polli
183
Caratteristiche delle principali Reti Ethernet con Accesso a Contesa
10-Base-T 10-Base-F
Mezzo trasmissivo Doppino UTP Fibra in I finestra
Topologia Stella con hub Stella con hub
Modulazione Manchester Bipolare Manchester On-Off
Velocità di trasmissione 10Mb/sec 10Mb/sec
Tecnica di accesso CSMA/CD CSMA/CD
Velocità di propagazione del segnale nel mezzo
trasmissivo0.59x3x108m/sec 0.66x3x108m/sec
Distanza massima tra due nodi 100m 500m
Numero massimo di nodi Non specificato 33
Modalità di trasmissione Bidirezionale half-duplex Bidirezionale half-duplex
Baccarelli, Cordeschi, Patriarca, Polli
184
Per definizione, le reti Switched Ethernet impiegano un bridge come centro-stella.A tutti gli effetti, in una Switched Ethernet, ad ogni coppia di nodi Sorgente-Destinazione èdedicato un collegamento punto-punto privo di collisioni attraverso cui i nodi possano comunicare ad una velocità (bit/sec) pari alla capacità C del mezzo trasmissivo impiegato dalla rete.Tipicamente, ciascun nodo di una rete Switched Ethernet comunica con il bridge in modo bidirezionale e full-duplex.
Reti Ethernet con Accesso Commutato (Switched Ethernet) – Generalità (1/2)
Baccarelli, Cordeschi, Patriarca, Polli
185
Ciò significa che i due canali che connettono ciascun nodo al bridge vengono usati simultaneamente, uno per trasmettere dati dal nodo al bridge, e l’altro per trasmettere dati dal bridge al nodo.
Reti Ethernet con Accesso Commutato (Switched Ethernet) – Generalità
(2/2)
Baccarelli, Cordeschi, Patriarca, Polli
186
Esistono più famiglie di Reti Switched Ethernet, che si differenziano per la velocità di trasmissione e/o il tipo di mezzo trasmissivo impiegato.Specificatamente, le tre principali famiglie di Reti Switched Ethernet sono:a. La famiglia Fast-Ethernet
È caratterizzata da una velocità di trasmissione di 100Mb/sec;
b. La famiglia Gigabit-EthernetÈ caratterizzata da una velocità di trasmissione di 1000Mb/sec;
c. La famiglia TenGigabit-EthernetÈ caratterizzata da una velocità di trasmissione di 10000Mb/sec.
Classificazione delle Reti SwitchedEthernet
Baccarelli, Cordeschi, Patriarca, Polli
187
Caratteristiche principali delle Reti Fast - Ethernet
100-Base-T 100-Base-F
Mezzo trasmissivo 2 UTP di categoria 5 2 fibre ottiche
Topologia Stella con bridge Stella con bridge
Modulazione Manchester bipolare Manchester On-Off
Velocità di trasmissione 125 Mb/sec 125 Mb/sec
copertura Centinaia di metri ≤ 2 Km
Modalità di trasmissione Bidirezionale full-duplex Bidirezionale full-duplex
Baccarelli, Cordeschi, Patriarca, Polli
188
Caratteristiche principali delle Reti Gigabit - Ethernet
1000-Base-S 1000-Base-L
Mezzo trasmissivo Fibra multimodo in 1°finestra
Fibra monomodo in 2°finestra
Topologia Stella con bridge Stella con bridge
Velocità di trasmissione 1.25 Gb/sec 1.25 Gb/sec
copertura ≤ 550 m ≤ 5 Km
Modalità di trasmissione Bidirezionale full-duplex Bidirezionale full-duplex
Baccarelli, Cordeschi, Patriarca, Polli
189
Impiegano solo fibre otticheTrasmettono a velocità dell’ordine di 10Gb/sec, con modalitàbidirezionale e full-duplex.Hanno topologia a stella con bridge come centro stella.
Caratteristiche principali delle Reti TenGigabit - Ethernet
Lunghezza d’onda impiegata copertura
multimodo 850nm 65m
multimodo1310nm 300m
monomodo 1310nm 10Km
monomodo 1550nm 40Km
Baccarelli, Cordeschi, Patriarca, Polli
190
Inter-connessione di più LAN
Baccarelli, Cordeschi, Patriarca, Polli
191
Inter-connessione di più LAN –Generalità (1/3)
Due o più LAN, di stesso tipo o di tipo diverso, possono essere inter-connesse tra di loro mediante:
i. un hub;ii. un bridge.Lo scopo dell’inter-connessione è quello di far comunicare tra di loro nodi (terminali d’utente) che fanno parte di LAN distinte.L’intera rete ottenuta mediante l’inter-connessione è chiamata LAN. Le singole sotto-reti che sono state inter-connesse sono chiamate segmenti (LAN segment).
Baccarelli, Cordeschi, Patriarca, Polli
192
Inter-connessione di più LAN –Generalità (2/3)
NodoA
NodoB
NodoC
NodoD NodoE NodoF NodoG
NodoH
NodoI
Hub 1
Hub 2
Hub 3
Hub oppure Bridge
Segmento 1Segmento 3
Connessione
Connessione punto-punto
Connessione
Segmento 2
Baccarelli, Cordeschi, Patriarca, Polli
193
L’architettura di base di una LAN inter-connessa è quella riportata nella figura precedente. In questo caso,
i. Il segmento 1 è costituito dall’hub 1 e i nodi A,B,C;ii. Il segmento 2 è costituito dall’hub 2 e i nodi D,E,F;iii. Il segmento 3 è costituito dall’hub 3 e i nodi G,H,I.Ciascuno degli hub ha una connessione bidirezionale, full-duplex oppure half-duplexcon l’hub/bridge centrale.L’ hub/bridge centrale è chiamato hub/bridge dorsale (backbone hub/bridge).
Inter-connessione di più LAN –Generalità (3/3)
Baccarelli, Cordeschi, Patriarca, Polli
194
Dominio di CollisioneQuando più segmenti vengono inter-connessi, può accadere che la trasmissione simultanea di nodi appartenenti a segmenti differenti dia luogo a collisioni.In una LAN inter-connessa, si definisce Dominio di Collisione l’insieme dei nodi (appartenenti allo stesso segmento o a segmenti differenti) la cui trasmissione simultanea dà luogo a collisioni.A seconda del modo in cui viene effettuata l’inter-connessione, una LAN inter-connessa può presentare uno o più domini di collisione.
Baccarelli, Cordeschi, Patriarca, Polli
195
Interconnessione mediante Backbone-Hub (1/3)
Consideriamo l’architettura generale di inter-connessione di M segmenti LAN mediante un backbone-Hub riportato in figura.
Backbone HubConnessione
Connessione punto-punto
Connessione
Segmento 1
Segmento 2
Segmento M
Baccarelli, Cordeschi, Patriarca, Polli
196
Interconnessione mediante Backbone-Hub (2/3)
L’inter-connessione mediante backbone-hubha i seguenti vantaggi:
i. E’ poco costosa e facile da realizzare;ii. Permette a nodi appartenenti a segmenti
differenti di comunicare tra loro;iii. Estende la copertura consentita a ciascun
singolo segmento.
Baccarelli, Cordeschi, Patriarca, Polli
197
Interconnessione mediante Backbone-Hub (3/3)
L’inter-connessione mediante backbone-hub ha i seguenti svantaggi:i. Poiché un hub attua solo protocolli di Strato Fisico,
tutti i segmenti inter-connessi debbono usare la stessatecnologia (ad es., devono tutti essere reti Ethernet 10-base-T, oppure tutti 100-base-T);
ii. Poiché un hub non effettua l’operazione di inoltro (forwarding), né legge gli indirizzi delle trame che gli pervengono, tutti i segmenti inter-connessi con un backbone-hub costituiscono un unico dominio di collisione. Ciò significa che, se due nodi appartenenti a due segmenti differenti trasmettono simultaneamente, le loro trasmissioni danno luogo a collisione.
Baccarelli, Cordeschi, Patriarca, Polli
198
Interconnessione mediante Backbone-Bridge (1/2)
Consideriamo l’altra architettura generale di interconnessione di M segmenti mediante backbone-bridge riportata in figura.
Backbone Bridge
Connessione punto-punto
Connessione punto-punto
Connessione punto-punto
Segmento 1
Segmento 2
Segmento M
Baccarelli, Cordeschi, Patriarca, Polli
199
Interconnessione mediante Backbone-Bridge (2/2)
L’inter-connessione mediante backbone-bridge ha i seguenti vantaggi:i. Permette a nodi di segmenti differenti di comunicare tra di loro e
quindi estende la copertura di un singolo segmento;ii. Poiché un bridge è in grado di modificare il formato delle trame che
riceve, i segmenti possono usare anche tecnologie diverse;iii. Poiché un bridge esegue le operazioni di inoltro e legge gli indirizzi
MAC delle trame che gli pervengono, ciascuno dei segmenti connessi da un backbone bridge costituisce un singolo dominio di collisione. Ciò significa che, se due nodi appartenenti a segmenti differentitrasmettono simultaneamente, le loro trasmissioni non danno luogo a collisioni.
iv. La modalità di trasmissione tra ciascun segmento e il backbone bridge è bidirezionale e full-duplex.
Tuttavia, un backbone-bridge è più costoso e più difficile da installare di un backbone-hub.
Baccarelli, Cordeschi, Patriarca, Polli
200
Protocolli di Strato di Collegamento per canali punto-punto
Baccarelli, Cordeschi, Patriarca, Polli
201
Collegamenti Punto-PuntoConsideriamo un collegamento tra un singolonodo-Sorgente e un singolo nodo-Destinazione collegati da un canale fisico dedicato.In questo scenario,
i. Non c’è bisogno di un protocollo di accesso al mezzo;ii. Non occorre indirizzare i nodi;iii. Il canale fisico potrebbe essere una linea telefonica, o un
collegamento SONET/SDM.Il protocollo di Strato di Collegamento piùusato per gestire le connessioni punto-punto è il Protocollo PPP (Point-to-Point Protocol).
Baccarelli, Cordeschi, Patriarca, Polli
202
Funzioni che il PPP deve svolgere (1/2)
Al PPP è richiesto di svolgere le seguenti funzioni e possedere i seguenti requisiti:i. Costruzione di trame (packet framing): al nodo-Sorgente, il
protocollo deve essere in grado di incapsulare i datagrammi generati dallo Strato di Rete in trame PPP;
ii. Trasparenza: il PPP non deve porre alcuna restrizione sul formato dei dati che costituiscono i datagrammi generati dallo Strato di Rete del nodo-Sorgente;
iii. Rivelazione degli errori: al nodo-Destinazione, il PPP deve essere in grado di rivelare (ma non di correggere) gli eventuali errori introdotti nelle trame ricevute dal canale trasmissivo.
iv. Disponibilità della connessione: il PPP deve essere in grado di rilevare l’eventuale presenza di guasti nel collegamento sorgente-destinazione;
v. Negoziazione degli indirizzi IP: PPP deve fornire un meccanismo agli Strati di Rete dei nodi-Sorgente e Destinazione per scambiarsi e/o configurare gli indirizzi IP.
Baccarelli, Cordeschi, Patriarca, Polli
203
Funzioni che il PPP non deve svolgere (2/2)
Al PPP non è richiesto di svolgere le seguenti funzioni:
i. Correzione degli errori eventualmente presenti nella trama ricevuta;
ii. Controllo della velocità del flusso di dati che il Nodo-Sorgente invia al Nodo-Destinazione;
iii. Trasferimento in ordine (in sequenza) delle trame generate dal Nodo-Sorgente;
iv. Instaurazione e gestione di collegamenti punto-a-multipunto (multicast);
v. Attuazione di strategie ARQ per il controllo degli errori.
Baccarelli, Cordeschi, Patriarca, Polli
204
Modello di servizio offerto dal PPP
Il PPP è un protocollo di Strato di Collegamento. Esso offre allo Strato di Rete un servizio di trasferimento di datagrammi:
i. con connessione;ii. non affidabile (no correzione errori, no
trasferimento in sequenza);attuato mediante una modalità di trasmissione che è:
i. Bidirezionale;ii. Full-duplex.
Baccarelli, Cordeschi, Patriarca, Polli
205
Architettura del PPP (1/2)Dal punto di vista dell’Architettura Protocollare, per attuare il servizio descritto, il PPP si avvale di 2 famiglie di protocolli, e cioè dei:
i. Link Control Protocol (LCP): ha il compito di instaurare, gestire e abbattere il collegamento PPP tra sorgente e destinazione;
ii. Network Control Protocol (NCP): famiglia di protocolli che il PPP utilizza per configurare opportunamente gli Strati di Rete del Nodo-Sorgente e del Nodo-Destinazione.
Baccarelli, Cordeschi, Patriarca, Polli
206
Architettura Protocollare del PPP (2/2)
Strato di Rete
NCP
LCP
Strato Fisico
PPPStrato di
collegamento
Baccarelli, Cordeschi, Patriarca, Polli
207
Formato della trama PPPFlag: indica l’inizio della trama PPP;Address: non viene realmente utilizzato nel PPP e gli èassegnato come valore fisso la stringa “11111111”;Control: anche questo campo è al momento inutilizzato; potrebbe in futuro contenere campi di controllo multipli;Protocol: protocollo di strato superiore al quale la trama deve essere consegnata (e.s., PPP-LCP, IP, IPCP, etc);Info: datagrammi degli strati superiori (datagramma IP);Check: cyclic redundancy check per la rivelazione degli errori.
01111110 11111111 00000011 protocol info check 01111110
Flag Address Control Flag
Num.byte 1 1 1 1 or 2
Variable
length
2 or 4 1
Baccarelli, Cordeschi, Patriarca, Polli
208
Byte Stuffing (Aggiunta di byte) (1/2)
Il requisito di trasparenza richiede che nel campo info della trama PPP possa comparire anche la stringa di bit “01111110”. Poiché la suddetta stringa è impiegata per delimitare l’inizio e la fine del frame, come fa il nodo-ricevente a sapere se tale stringa fa parte del campo info oppure è un flag di inizio/fine trama?Si applica la tecnica del Byte-Stuffing, e cioè:i. Il nodo-sorgente aggiunge (“stuff”) un byte di controllo
“01111101” prima di ogni byte di dati “01111110”;ii. Il nodo ricevente che vede la stringa “01111110”
preceduta dal byte di controllo “01111101”, o Comprende che la stringa è un byte di dati e non un
flag;o Rimuove il byte di controllo e continua a ricevere i
successivi byte.
Baccarelli, Cordeschi, Patriarca, Polli
209
Byte Stuffing (Aggiunta di byte) (2/2)
PPPPPP PPPPPP
b5 b4 01111110 01111101 b2 b1
b5
b4
01111110
b2
b1
b1
b2
01111110
b4
b5
Dati con stesso
valore del byte di
Flag
Flag byte più stuffed byte
Baccarelli, Cordeschi, Patriarca, Polli
210
Gestione del Collegamento PPP (1/4)
E’ compito del Link Control Protocol (LCP) gestire tutte le fasi di un collegamento tra Nodo-Sorgente e Nodo-Destinazione.
Specificatamente, le fasi previste da un collegamento PPP sono riassunte dal seguente Diagramma degli Stati (Diagramma dei Stati del PPP).
Baccarelli, Cordeschi, Patriarca, Polli
211
Gestione del Collegamento PPP (2/4)
dead
terminating
openNetwork
layer config.
Link establishment
authenticate
Baccarelli, Cordeschi, Patriarca, Polli
212
Gestione del Collegamento PPP (3/4)
Tutti i collegamenti PPP, iniziano e terminano nello Stato Dead;Nello stato Link Establishment, viene instaurata la connessione tra il Nodo-Sorgente e il Nodo-Destinazione (fase di hand-shaking);Quando è prevista (per motivi di sicurezza) una autenticazione delle identità dei Nodi-Sorgente e Destinazione, la suddetta autenticazione èeffettuata nello Stato Authenticate.
Baccarelli, Cordeschi, Patriarca, Polli
213
Gestione del Collegamento PPP (4/4)
Nello Stato Network Layer Configuration, il protocollo LCP attiva il protocollo NCP che, a sua volta, provvede a negoziare e configurare i parametri (quali gli indirizzi IP) degli Strati di Rete dei nodi Sorgente e Destinazione;Nello Stato Open, il protocollo LCP gestisce il trasferimento delle trame tra i due nodi comunicanti;Nello Stato Terminating, uno dei due nodi invia il messaggio di “richiesta di Terminazione”. Se l’altro nodo risponde con il messaggio “terminazione accettata”, la connessione passa nello stato Dead e viene chiusa.
Baccarelli, Cordeschi, Patriarca, Polli
214
Reti a commutazione di Pacchetto con Modo di Trasferimento a
Circuito Virtuale (CV)
Baccarelli, Cordeschi, Patriarca, Polli
215
Reti a CV come tecnologie di Strato di Collegamento
Come abbiamo visto, le reti Ethernet costituiscono una tecnologia di Strato di Collegamento che offrono un servizio privo di connessione allo Strato di Rete per il trasferimento di datagrammi.
Le reti ATM (Asynchronous Transfer Mode) e le reti MPLS (MultiProtocol Label Switching) possono essere considerate tecnologie di Strato di Collegamento basate sulla commutazione di pacchetto (multiplazione statistica) e che offrono un servizio orientato alla connessione allo Strato di Rete per il trasferimento dei datagrammi.
Baccarelli, Cordeschi, Patriarca, Polli
216
Reti a Circuito Virtuale
Generalmente, ricordiamo che le Reti a Circuito Virtuale sono caratterizzate da:i. Essere reti a commutazione di pacchetto;ii. Impiegare la multiplazione statistica ai nodi di rete;iii. Offrire un servizio di trasferimento dei pacchetti orientato
alla connessione;iv. Far ricorso ai cosiddetti Circuiti Virtuali (CV) per
implementare le connessioni tra nodi-Sorgente e nodi-Destinazione.
I nodi di commutazione di una Rete a CV sono chiamati Commutatori (Switch) o anche Router.
Baccarelli, Cordeschi, Patriarca, Polli
217
Che cos’è un Circuito Virtuale
Consideriamo un Nodo-Sorgente A e un Nodo-Destinazione B all’interno di una rete a CV.Per definizione, un Circuito Virtuale da A a B ècostituito da:
i. Una sequenza ordinata (directed path) di nodi di rete e di canali di comunicazione dal Nodo-Sorgente A al Nodo-Destinazione B;
ii. Un insieme di Identificatori del Circuito Virtuale(VC Identifiers), un identificatore per ciascun canale che costituisce il circuito virtuale. Ciascun identificatore è, tipicamente, un numero intero.
Baccarelli, Cordeschi, Patriarca, Polli
218
Tabelle di Instradamento (1/2)Un pacchetto generato dal Nodo-Sorgente A e che appartiene ad un CV reca nel suo campo Intestazione (Header Field) il numero del CV cui appartiene.
Poiché ad un medesimo Circuito Virtuale possono corrispondere differenti identificatori (diversi VCI) su ciascuno dei canali che costituiscono il CV stesso, ciascun nodo di commutazione (Switch o Router) che fa parte del CV in oggetto deve essere in grado di aggiornare opportunamente l’identificatore di ciascuno dei pacchetti che riceve dalle sue porte di ingresso prima di inoltrarlo ad una (opportuna) porta di uscita.
Baccarelli, Cordeschi, Patriarca, Polli
219
Tabelle di Instradamento (2/2)A questo scopo, il nodo di commutazione impiega la Tabella di Instradamento in esso memorizzata.Essenzialmente, una Tabella di Instradamento ha tante righe quanti sono i Circuiti Virtuali che attraversano il nodo di commutazione in cui la tabella risiede.Ogni riga della tabella fa riferimento ad uno specifico CV e riporta 4 informazioni:
i. Il numero della porta di ingresso dalla quale il nodo riceve i pacchetti del CV in oggetto;
ii. L’identificatore di CV dal quale il nodo riceve in ingresso i pacchetti del CV in oggetto;
iii. Il numero della porta di uscita alla quale il nodo deve inoltrare i pacchetti;
iv. L’identificatore del CV che il nodo assegna in uscita del CVin oggetto.
Baccarelli, Cordeschi, Patriarca, Polli
220
Per illustrare il concetto, consideriamo la rete illustrata in figura.
I numeri 1, 2, 3 vicino al commutatore S1 sono i numeri delle sue porte di ingresso e uscita (bidirezionali).Supponiamo che il nodo A richieda l’instaurazione di un CV col nodo B e supponiamo che la rete assegni il cammino (path): A S1 S2 B e assegni al suddetto CV i seguenti identificatori: 12, 22, 32 per ciascuno dei 3 canali che compongono il CV.
Tabelle di Instradamento-Esempio (1/2)
12 22 32
1 23
VC number
portnumber
Nodo A Nodo BS1 S2
S3 S4
Baccarelli, Cordeschi, Patriarca, Polli
221
Tabelle di Instradamento-Esempio (2/2)
Allora, la Tabella di Instradamento memorizzata nel nodo di commutazione S1 assume la seguente forma:
Ciò significa che tutti i pacchetti che arrivano a S1 dalla porta di ingresso 1 e con VCI=12 nell’headerverranno inoltrati alla porta di uscita 3 di S1 e il loro VCI verrà posto dal commutatore S1 pari a 22.
Porta d’ingresso
VCId’ingresso
Porta d’uscita
VCI d’uscita
1 12 3 22
Baccarelli, Cordeschi, Patriarca, Polli
222
Indirizzamento nelle reti a CVDa quanto esposto, ne concludiamo che nelle reti a CV:i. L’indirizzamento dei pacchetti non è fatto
specificando gli indirizzi dei nodi sorgente e destinazione, ma è fatto specificando il CV (ossia, il cammino) al quale il pacchetto appartiene;
ii. Ogni volta che un nuovo CV è attivato attraverso un nodo di commutazione, una nuova riga va aggiuntaalla Tabella di Instradamento residente nel nodo stesso;
iii. Dualmente, ogni volta che un CV è disattivato, la corrispondente riga va eliminata dalla Tabella di Instradamento del commutatore.
Quindi, ciascun commutatore mantiene uno stato per ciascun CV che lo attraversa.
Baccarelli, Cordeschi, Patriarca, Polli
223
Gestione di un CV (1/2)
Poiché una rete a CV offre un servizio orientato alla connessione, la gestione di un CV è articolata in 3 fasi:
i. Fase di instaurazione del CV : durante questa fase, la rete:o Individua il cammino (path) tra il nodo-sorgente e il nodo
destinazione;o Assegna i VCI ai canali che compongono il cammino;o Aggiorna le Tabelle di Instradamento di tutti i nodi di
commutazione che fanno parte del cammino;o Riserva risorse (banda, spazio nei buffer) per i
pacchetti che saranno trasmessi lungo il cammino.
Baccarelli, Cordeschi, Patriarca, Polli
224
Gestione di un CV (2/2)ii. Fase di trasferimento dei pacchetti: la rete
trasferisce i pacchetti generati dal Nodo-Sorgente verso il Nodo-Destinazione e attraverso il cammino precedentemente instaurato.
iii. Fase di abbattimento del CV: durante questa fase, la rete:
o Termina il flusso dei pacchetti attraverso il CV;o Elimina l’informazione (la riga) circa il CV in
oggetto dalle Tabelle di Instradamento di tutti i nodi di commutazione facenti parte del cammino.
Baccarelli, Cordeschi, Patriarca, Polli
225
La tecnologia ATM(Asynchronous Transfer Mode)
Baccarelli, Cordeschi, Patriarca, Polli
226
Reti ATM – Generalità (1/2)
Le reti ATM sono un esempio (non l’unico) di rete a commutazione di pacchetto e con modalità di trasferimento a Circuito Virtuale. Esse possono essere viste come una tecnologia di Strato di Collegamento in grado di offrire un servizio di trasferimento dati orientato alla connessione allo Strato di Rete.I nodi di commutazione di una rete ATM impiegano la tecnica di multiplazione statisticae sono detti ATM switche (commutatori ATM).
Baccarelli, Cordeschi, Patriarca, Polli
227
Reti ATM – Generalità (2/2)Gli standard per ATM cominciarono a essere sviluppati alla metà degli anni ’80 dall’ATM Forum e dall’ITU; in pratica fu utilizzata principalmente all’interno di reti telefoniche e IP, servendo, per esempio, come tecnologia dei collegamenti che connettono router IP.Obiettivo: progettare reti in grado di trasportare file audio e video in tempo reale, oltre a testo, e-mail e file di immagini:- rispondenza ai requisiti di tempo/QoS per voce e video (rispetto al modello best-effort di Internet)- Telefonia di ultima generazione- Commutazione di pacchetto usando circuiti virtuali
Baccarelli, Cordeschi, Patriarca, Polli
228
Architettura protocollare di ATM – Generalità (1/2)
L’Architettura Protocollare di ATM è suddivisa in 3 strati:i. ATM Adaptation Layer (AAL)
o è attivato solo nei nodi terminali (end-system);o ha lo scopo di segmentare/riassemblare i datagrammi
ricevuti/consegnati allo Strato di Rete e di attuare tutte le funzioni necessarie per implementare il servizio di trasferimento dati richiesto dallo Strato di Rete;
o le unità informative generate dallo strato AAL sono dette AAL Protocol Data Units (AAL PDU).
physical
ATM
AAL
physical
ATM
AAL
physical
ATM
physical
ATM
end system end systemswitch switch
AAL PDU
celle
bit
Baccarelli, Cordeschi, Patriarca, Polli
229
Architettura protocollare di ATM – Generalità (2/2)
ii. ATM Layero è attuato sia dai nodi terminali che dai nodi di commutazione;o ha il compito di instradare il flusso di dati generato dal Nodo-
Sorgente verso il Nodo-Destinazione corrispondente;o le unità informative generate dallo strato ATM sono dette
celle e sono di lunghezza fissa (53 bytes).iii. Physical Layer (Strato Fisico)
o è attuato sia dai nodi terminali che dai nodi di commutazione;o ha lo scopo di convertire il flusso di celle generato dallo strato
ATM in un flusso di bit, e , poi, di consentire il trasferimentodei bit attraverso il mezzo trasmissivo adottato dalla rete;
o le unità informative generate dallo strato fisico sono i bit.
Baccarelli, Cordeschi, Patriarca, Polli
230
Strato AAL (1/2)
E’ presente solo ai nodi terminali (non èpresente nei nodi di commutazione).
Al nodo sorgente, lo strato AAL riceve datagrammi dallo Strato di Rete e li frammenta in AAL PDU. Al nodo destinazione, lo strato AAL riassembla le AAL PDU ricevute in datagrammi.
Baccarelli, Cordeschi, Patriarca, Polli
231
Strato AAL (2/2)In base al tipo di servizio che la rete ATM offre allo Strato di Rete, esistono piùprotocolli di strato AAL, e specificatamente:
i. Protocollo AAL1 – è impiegato per emulare reti a commutazione di circuito, quale la rete telefonica analogica;
ii. Protocollo AAL2 – è impiegato per il trasferimento con bassi tempi di ritardo dei dati generati da sorgenti a velocità di emissione variabile (ad es., codificatori video MPEG);
iii. Protocollo AAL5 – è impiegato per il trasferimento di datagrammi generati dallo Strato di Rete di Internet (trasferimento dei dati).
Baccarelli, Cordeschi, Patriarca, Polli
232
Struttura della PDU del Protocollo AAL5 (1/2)
La struttura della PDU (unità informativa) generata dal protocollo AAL5 è riportata in figura.
Payload PAD Length CRC
0-65535 0-47 2 4 byte
Baccarelli, Cordeschi, Patriarca, Polli
233
Struttura della PDU del Protocollo AAL5 (2/2)
Specificatamente,o Payload – contiene il Datagramma (dati) generato
dallo Strato di Rete. La lunghezza massima è di 65535 byte.
o PAD – serve a garantire che, complessivamente, la lunghezza della PDU sia un multiplo intero di 48 bytes. Quindi la dimensione massima del campo PAD è di 47 byte.
o Cyclic Redundancy Check (CRC) – serve a rivelare(ma non a correggere) al nodo ricevente l’eventuale presenza di errori nella AAL PDU ricevuta. Il campo ha dimensione di 4 byte.
Baccarelli, Cordeschi, Patriarca, Polli
234
Lo Strato ATM – Funzioni (1/2)Lo strato ATM è attuato sia ai nodi terminali che ai nodi di commutazione della rete ATM.Le funzioni principali svolte dallo Strato ATM sono le seguenti tra:i. Generazione/riassemblamento delle celle – al nodo
sorgente, lo strato ATM genera celle (cioè, UnitàInformative) di 53bytes frammentando le PDU passate dallo Strato AAL. Al Nodo-Destinazione, lo Strato ATM riassembla le celle ricevute, così da rigenerare le PDU dello Strato AAL.
ii. Gestione dei circuiti virtuali – gli Strati ATM dei Nodi -Sorgente e destinazione e dei nodi di commutazione provvedono alla instaurazione, mantenimento e abbattimento di ciascun Circuito Virtuale. Essi provvedono anche ad assegnare a ciascun CV i corrispondenti Identificatori (VCI).
Baccarelli, Cordeschi, Patriarca, Polli
235
iii. Instradamento delle celle – a ciascun nodo di commutazione il corrispondente strato ATM provvede a :
o Instradare le celle ricevute dalle porte di ingresso verso le (opportune) porte d’uscita;
o Aggiornare la Tabella di Instradamento memorizzata nel nodo.
Lo Strato ATM – Funzioni (2/2)
Baccarelli, Cordeschi, Patriarca, Polli
236
Servizio offerto dallo Strato ATMIl servizio offerto dallo Strato ATM allo Strato AAL è quello di trasferimento delle PDU generate sotto forma di celle ATM.Il modo di trasferimento attuato dallo strato ATM èa commutazione di pacchetto e con indirizzamento a Circuito Virtuale.Il servizio offerto è di tipo orientato alla connessione, ma (in generale) non affidabile.A seconda della tipologia della connessione instaurata, lo Strato ATM offre:
o un trasferimento di celle a velocità costante in ogni istante;o un trasferimento di celle a velocità media costante;o un trasferimento di celle a velocità minima prefissata;o un trasferimento di celle a velocità variabile e non garantita.
Baccarelli, Cordeschi, Patriarca, Polli
237
La cella ATM (1/2)Le unità informative generate e trasferite dallo strato ATM si chiamano celle. Ogni cella ha una lunghezza fissa di 53 byte.Ogni cella è costituita da
i. un Campo Header di 5 byte;ii. un Campo Payload di 48 byte.
Header Payload 5 48 byte
Baccarelli, Cordeschi, Patriarca, Polli
238
La cella ATM (2/2)
Il campo Payload contiene parte della PDU generata dallo strato AAL.Il campo Header è:
i. Aggiunto dallo Strato ATM del Nodo-Sorgente;
ii. Letto e (eventualmente) modificato dallo Strato ATM di ciascuno dei nodi di commutazione attraversati dalla cella;
iii. Rimosso dallo Strato ATM del Nodo-Destinazione.
Baccarelli, Cordeschi, Patriarca, Polli
239
L’Header della cella ATM (1/2)Essenzialmente, l’Header (5 byte) di una cella ATM contiene l’informazione circa il CV al quale la cella appartiene.Sulla base della suddetta informazione, ciascun nodo di commutazione provvede al corretto instradamento della cella ricevuta.La struttura dell’Header di cella ATM èriportato in figura.
VCI PT CLP HEC28 3 1 8 bit
Baccarelli, Cordeschi, Patriarca, Polli
240
L’Header della cella ATM (2/2)Il significato dei campi dell’Header è il seguente:i. Virtual Channel Identifier (VCI) – è un campo di 28bit che
specifica il CV al quale appartiene la cella. Il contenuto del VCI può essere modificato da ciascun nodo di commutazione attraversato dalla cella.
ii. Payload Type (PT) – è un campo di 3 bit che specifica il tipo di informazione (dati oppure informazione di controllo) trasportata dal campo Payload della cella.
iii. Cell-Loss Priority (CLP) – è un campo di 1 bit. Le celle con CLP=1 sono a bassa priorità (possono essere eliminate nel caso di congestione), mentre le celle con CLP=0 sono ad altapriorità (non possono essere scartate in caso di congestione).
iv. Header Error Control – è un campo di 8 bit. Costituisce i bit di controllo di parità del codice che è impiegato per la rivelazione e la correzione degli (eventuali) errori che il canale trasmissivo ha introdotto nel (solo) header della cella.
Baccarelli, Cordeschi, Patriarca, Polli
241
Lo Strato Fisico di ATM (1/4)
I protocolli di Strato Fisico sono attuati sia a nodi terminali che ai nodi di commutazione della Rete ATM.La funzione dello Strato Fisico è quello di fornire una opportuna interfaccia col mezzo trasmissivo impiegato, così che lo Strato ATM possa trasmettere e ricevere celle con modalitàche sono indipendenti dalle caratteristiche specifiche del mezzo trasmissivo di volta in volta adottato.
Baccarelli, Cordeschi, Patriarca, Polli
242
Lo Strato Fisico di ATM (2/4)Lo Strato Fisico di ATM è suddiviso in duesotto-strati:o Trasmission Convergence Sub-Layer (TCS);o Physical-Medium Dependent Sub-Layer (PMDS);
Mezzo trasmissivo
PMDS
TCSStrato fisico di ATM
Baccarelli, Cordeschi, Patriarca, Polli
243
Lo Strato Fisico di ATM (3/4)Il TCS svolge tutte le funzioni richieste per trasformare una sequenza di celle ATM in una sequenza di bit. In particolare,o genera e riceve il flusso binario che è
trasferito dal/al mezzo trasmissivo;o allinea le celle ricevute/trasmesse allo
Strato ATM;o effettua la rivelazione e correzione degli
errori eventualmente presenti nell’Headerdi ciascuna cella ricevuta.
Baccarelli, Cordeschi, Patriarca, Polli
244
Lo Strato Fisico di ATM (4/4)
Il PMDS modula e demodula la sequenza di bit ricevuta/trasmessa dal/al TCS, ed, eventualmente, codifica e decodifica la suddetta sequenza di bit.
Le velocità di trasmissione del flusso binario generato/ricevuto dal PMDS possono essere di: 155.52Mb/sec, 622.08Mb/sec, 51.84 Mb/sec e 2.5 Gb/sec.
Baccarelli, Cordeschi, Patriarca, Polli
1
Capitolo 9Strato di Rete in Internet
Baccarelli, Cordeschi, Patriarca, Polli
2
Sommario del CapitoloServizi offerti dallo Strato di ReteFunzioni svolte dallo Strato di Rete:
o Inoltroo Instradamento
Il protocollo IP e l’indirizzamento in InternetAlgoritmi e Protocolli di InstradamentoInter-connessioni di sotto-reti e inter-lavoro in retePrestazioni delle Reti IP:
o Ritardoo Throughputo Perdite
Baccarelli, Cordeschi, Patriarca, Polli
3
Servizio e Funzioni di Strato di Rete
Baccarelli, Cordeschi, Patriarca, Polli
4
Il Servizio-Base e le Funzioni-Base dello Strato di Rete (1/3)
Supponiamo che i segmenti (messaggi) generati dallo Strato di Trasporto di una Applicazione-Sorgente (AS) debbano essere trasferiti allo Strato di Trasporto di una Applicazione-Destinazione (AD) attraverso un cammino (percorso) costituito da:
i. nodi di commutazione (Router)ii. canali trasmissivi.
Il servizio principale che lo Strato di Rete offre allo Strato di Trasporto è quello di:
i. incapsulare i segmenti da trasferire in datagrammi;ii. provvedere a trasferire i datagrammi dal Terminale-Sorgente
(in cui risiede l’Applicazione-Sorgente) al Terminale-Destinazione (in cui risiede l’Applicazione-Destinazione).
Le due funzioni di base mediante le quali lo Strato di Rete attua il trasferimento di Datagrammi tra i terminali sono quelle di:
i. inoltro (Forwarding)ii. instradamento (Routing)
Baccarelli, Cordeschi, Patriarca, Polli
5
Il Servizio-Base e le Funzioni-Base dello Strato di Rete (2/3)
Lo Strato di Rete prende i segmenti dallo Strato di Trasporto nell’Host mittente.Sul lato mittente, incapsula i segmenti in datagrammi.Sul lato destinazione, consegna i segmenti allo Strato di Trasporto.Protocolli dello Strato di Rete in ogni host e router.Il router esamina i campi intestazione di tutti i datagrammi che lo attraversano e procede all’instradamento verso il successivo router.
applicationtransportnetworkdata linkphysical
applicationtransportnetworkdata linkphysical
networkdata linkphysical network
data linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysicalnetwork
data linkphysical
Terminale-Sorgente (TS)
Terminale-Destinazione (TD)
Baccarelli, Cordeschi, Patriarca, Polli
6
Il Servizio-Base e le Funzioni-Base dello Strato di Rete (3/3)
Inoltro (Forwarding):o trasferisce i pacchetti in ingresso ad un router
verso l’uscita appropriata del router stesso.Instradamento (Routing):
o determina il percorso che deve essere seguito dai pacchetti dal Terminale-Sorgente al Terminale-Destinazione
Analogia:o Instradamento: processo di pianificazione di un
viaggio dall’origine alla destinazioneo Inoltro: processo di attraversamento di un
determinato svincolo
Baccarelli, Cordeschi, Patriarca, Polli
7
La funzione di Inoltro (Forwarding) (1/3)
La funzione di Inoltro si riferisce all’azione locale effettuata all’interno di ciascun singolo nodo di commutazione (router) di trasferire (inoltrare) un datagramma in arrivo da una delle sue porte di ingresso verso una (opportuna) sua porta di uscita.
Per poter effettuare la funzione di Inoltro, ciascun router ha memorizzata al suo interno una Tabella di Inoltro che associa l’indirizzo contenuto nell’intestazione del datagramma in arrivo con il numero d’ordine della porta di uscita al quale il router deve trasferire il datagramma stesso.
Baccarelli, Cordeschi, Patriarca, Polli
8
La funzione di Inoltro (Forwarding) (2/3)
Nelle reti a Circuito Virtuale, l’indirizzocontenuto nell’intestazione del datagramma èl’identificatore del CV (CVI) al quale il datagramma appartiene.
Nelle reti a Datagramma, l’indirizzo contenuto nell’intestazione del Datagramma è l’indirizzo IP del Terminale-Destinazione al quale il Datagramma deve, alla fine del percorso, pervenire.
Baccarelli, Cordeschi, Patriarca, Polli
9
La funzione di Inoltro (Forwarding) (3/3)
Specificatamente, all’arrivo di ogni Datagramma, il router:
i. legge l’indirizzo contenuto nell’intestazione (header) del Datagramma;
ii. accede alla propria Tabella di Inoltro e legge il numero d’ordine della porta di uscita corrispondente all’indirizzo del datagramma;
iii. trasferisce (inoltra) il Datagramma verso la suddetta porta di uscita.
Baccarelli, Cordeschi, Patriarca, Polli
10
La funzione di Instradamento (Routing Function)
La funzione di Instradamento (routing) si riferisce al processo che coinvolge tutti i nodi della rete mediante il quale è individuato il cammino (path o route) che i datagrammi debbono seguire per essere trasferiti dal Terminale-Sorgente al Terminale-Destinazione.È l’intera rete che, mediante l’esecuzione di un (opportuno) Algoritmo di Instradamento (Routing Algorithm), calcola l’intero cammino che ciascun Datagramma deve seguire per trasferirsi dal Terminale-Sorgente al Terminale-Destinazione.Ciascun router ha memorizzato al suo interno una Tabella di Instradamento che associa ad ogni indirizzo IP di destinazione il numero d’ordine del successivo router (next-router) al quale inviare i datagrammi ricevuti.
Baccarelli, Cordeschi, Patriarca, Polli
11
Interazione delle Funzioni di Instradamento e di Inoltro (1/2)
Le funzioni di Instradamento e di Inoltro interagiscono tra di loro.
Specificatamente, ciò significa che la Tabella di Inoltro residente in ciascun router ècalcolata e aggiornata dall’Algoritmo di Instradamento.
Baccarelli, Cordeschi, Patriarca, Polli
12
Interazione delle Funzioni di Instradamento e di Inoltro (2/2)
1
23
0111
Valore nell’intestazionedel pacchetto in arrivo
Algoritmod’instradamento
Tabella di inoltroValore
d’intestazionePorta diUscita
0100010101111001
3221
Tabella di instradamento
Baccarelli, Cordeschi, Patriarca, Polli
13
Nodi di Commutazione-Classificazione Bridge/Router
Col termine generale di Commutatore (switch) si indica un nodo di rete che è in grado di trasferire un pacchetto (frame o datagramma) da una delle sue porte di ingresso verso una (opportuna) sua porta di uscita.I Bridge sono commutatori che eseguono l’inoltro di trame sulla base degli Indirizzi MAC.Come vedremo meglio in seguito, i router sono commutatori che eseguono l’inoltro di Datagrammi sulla base degli Indirizzi IP.
Commutatore(Switch)
Bridge
Router
Baccarelli, Cordeschi, Patriarca, Polli
14
Modello di Servizio dello Strato di Rete (1/2)
In aggiunta al servizio di base di trasferimento di segmenti mediante datagrammi, a seconda della tecnologia di rete considerata, lo Strato di Rete potrebbe o meno offrire al corrispondente Strato di Trasporto altri servizi.
Per definizione, il Modello di Servizio di Retedefinisce le caratteristiche (proprietà) del trasferimento di dati che lo Strato di Rete offre allo Strato di Trasporto.
Baccarelli, Cordeschi, Patriarca, Polli
15
Modello di Servizio dello Strato di Rete (2/2)
Ad esempio, il servizio di trasferimento di datagrammi offerto dallo Strato di Rete potrebbe essere di tipo affidabile oppure di tipo non affidabile.Il servizio di trasferimento di datagrammi offerto dallo Strato di Rete potrebbe o meno garantire un tasso minimo di datagrammi/sec. trasferiti dalla Rete.Il servizio di trasferimento di datagrammi offerto dallo Strato di Rete potrebbe garantire o meno che l’intervallo di tempo tra le trasmissioni di due (qualsiasi) datagrammi al Terminale-Sorgente è uguale all’intervallo di tempo tra le ricezioni dei suddetti datagrammi al Terminale-Destinazione.
Baccarelli, Cordeschi, Patriarca, Polli
16
Modello di Servizio dello Strato di Rete di Internet
Il Servizio offerto dallo Strato di Rete di Internet è di tipo Best-Effort (ossia, senza alcuna garanzia), con ciò intendendo dire che:
i. il trasferimento di datagrammi non è affidabile ;ii. non è garantito un limite superiore al tempo
necessario per trasferire un assegnato numero di datagrammi;
iii. non è garantito che l’intervallo di tempo tra gli istanti di trasmissione di due datagrammi al Terminale-Sorgente sia uguale all’intervallo di tempo tra i corrispondenti istanti di ricezione al Terminale-Destinazione.
Baccarelli, Cordeschi, Patriarca, Polli
17
Modelli di Servizio nelle Reti ATM (1/3)
A seconda del tipo di Canale Virtuale attivato, lo Strato ATM delle Reti ATM è in grado di offrire modelli di servizio con caratteristiche diverse. Specificatamente, i due principali modelli di servizio offerti dalle Reti ATM sono:
i. Il servizio a tasso binario costante (Constant Bit Rate (CBR) Service)
ii. Il servizio con tasso minimo binario garantito (Available Bit Rate (ABR) Service)
Baccarelli, Cordeschi, Patriarca, Polli
18
Modelli di Servizio nelle Reti ATM-CBR (2/3)
Il modello di Servizio CBR garantisce che:i. il trasferimento dati (celle ATM) è
affidabile;ii. il tasso di trasferimento (ossia, il numero di
celle trasferito nell’unità di tempo) ècostante in ogni istante della durata della connessione;
iii. gli intervalli tra le trasmissioni di celle consecutive sono uguali ai corrispondenti intervalli tra gli istanti di ricezione (no jitter).
Baccarelli, Cordeschi, Patriarca, Polli
19
Modelli di Servizio nelle Reti ATM-ABR (3/3)
Il modello di servizio ABR garantisce solamente che:
i. in ogni istante, il tasso di trasferimento delle celle ATM (celle/sec) non è mai inferiore ad un tasso minimo prefissato;
ii. Le celle sono consegnate allo Strato ATM del Terminale-Destinazione nello stesso ordine (sequenza) con le quali sono state generate dallo Strato ATM del Terminale-Sorgente.
Baccarelli, Cordeschi, Patriarca, Polli
20
Modelli di Servizio- Riassunto
NetworkArchitecture
Internet
ATM
ATM
ServiceModel
best effort
CBR
ABR
Bandwidth
none
constantrateguaranteed minimum
Loss
no
yes
no
Order
no
yes
yes
Timing
no
yes
no
Congestionfeedback
no (inferredvia loss)nocongestion
yes
Guarantees ?
Baccarelli, Cordeschi, Patriarca, Polli
21
Reti a Datagramma- Generalità(1/2)
Per definizione, una Rete a Datagramma èuna Rete a Commutazione di pacchetto (cioè, che impiega la Multiplazione Statistica) nella quale:
i. l’indirizzamento di ogni datagramma è effettuato specificando gli indirizzi del Terminale-Sorgente e del Terminale-Destinazione;
ii. Il trasferimento dei datagrammi è privo di connessione. Ciò significa che non ci sono le fasi di instaurazione e di abbattimento di una connessione e, inoltre, che i datagrammi generati dal Terminale-Sorgente possono raggiungere il Terminale-Destinazione seguendo percorsi (patho route) diversi all’interno della rete.
Baccarelli, Cordeschi, Patriarca, Polli
22
Reti a Datagramma- Generalità(2/2)
applicationtransportnetworkdata linkphysical
applicationtransportnetworkdata linkphysical
1. Send data 2. Receive data
Baccarelli, Cordeschi, Patriarca, Polli
23
Reti a Datagramma- Indirizzamento e Inoltro (1/5)
Tipicamente, nell’attuale Rete Internet, gli indirizzi degli utenti-destinazione (IP Destination Address) sono lunghi 32 bit.Ciò significa che, in linea di principio, ogni Tabella di Inoltro dovrebbe contenere 232 indirizzi diversi.Per ridurre le dimensioni delle Tabelle di Inoltro, si fa ricorso al così detto Indirizzamento su base Prefisso. Questa strategia di indirizzamento prevede che:
i. tutti gli indirizzi degli utenti-destinazione ai quali corrisponde una stessa porta di uscita del router sono rappresentati dalla parte comune dei loro indirizza IP, ossia mediante il prefisso comune a tutti i loro indirizzi;
ii. La Tabella di Inoltro memorizza solo le coppie <prefisso, porta di uscita>.
Baccarelli, Cordeschi, Patriarca, Polli
24
Reti a Datagramma- Indirizzamento e Inoltro (2/5)
All’arrivo di un datagramma da una delle porte di ingresso, il router opera il suo inoltro svolgendo le seguenti operazioni:
i. estrae dal datagramma l’indirizzo del Terminale-Destinazione (stringa di 32 bit);
ii. estrae dall’indirizzo la parte di prefisso (può essere di lunghezza variabile)
iii. Dalla Tabella di Inoltro, il router legge il numero d’ordine della porta di uscita associata al prefisso in oggetto;
iv. inoltra il datagramma verso la porta di uscita individuata.
Baccarelli, Cordeschi, Patriarca, Polli
25
Reti a Datagramma- Indirizzamento e Inoltro (3/5)
Può accadere che all’(intero) indirizzo dell’utente-destinazione presente nell’intestazione di un datagramma ricevuto dal Router corrispondano più prefissi (di lunghezze diverse) memorizzati nella Tabella di Inoltro del Router.In questo caso, per inoltrare il datagramma, il router segue la così detta “Regola del Prefisso più lungo” (Longest PrefixMatching Rule) e cioè:
i. All’interno della Tabella di Inoltro, il Router individua il prefisso ivi memorizzato che costituisce la parte iniziale dell’(intero) indirizzo contenuto nel datagramma e che, tra tutti i prefissi memorizzati che costituiscono la parte iniziale dell’indirizzo in oggetto, è quello più lungo;
ii. Il router inoltra il datagramma verso la porta di uscita corrispondente al prefisso più lungo individuato al passo precedente.
Baccarelli, Cordeschi, Patriarca, Polli
26
Reti a Datagramma- Indirizzamento e Inoltro- Esempio (4/5)
Supponiamo che la Tabella di Inoltro di un Router contenga le seguenti coppie < prefisso, porta di uscita>.
Supponiamo che, all’ingresso del Router, arrivi un datagramma con Indirizzo di Destinazione (di 32 bit):
11001000000101110001011010100001Poiché i primi 21 bit di questo indirizzo coincidono col prefisso riportato nella prima riga della Tabella di Inoltro, il datagramma è inoltrato verso la porta di uscita numero 0.
Prefisso 110010000001011100010
110010000001011100011000110010000001011100011
Altro prefisso
Porta di uscita
0123
Baccarelli, Cordeschi, Patriarca, Polli
27
Reti a Datagramma- Indirizzamento e Inoltro- Esempio (5/5)
Supponiamo ora che, all’ingrasso del Router, arrivi un datagramma con indirizzo di Destinazione (di 32 bit):
11001000000101110001100010101010Ora, abbiamo che:
i. i primi 21 bit dell’indirizzo coincidono col prefisso riportato nella prima riga della Tabella di Inoltro;
ii. i primi 24 bit dell’indirizzo coincidono col prefisso riportato nella seconda riga della Tabella di Inoltro.
In accordo alla “Regola del Prefisso più lungo”, il Router prende in considerazione solo il prefisso posto nella seconda riga della Tabella di Inoltro e, quindi, trasferisce il datagramma in oggetto alla porta di uscita numero 1.
Baccarelli, Cordeschi, Patriarca, Polli
28
Come è fatto un Router-Generalità (1/8)
Come detto, la funzione di un Router è quella di inoltrare ciascun datagramma ricevuto da una porta di ingresso verso una opportuna porta di uscita.Dal punto di vista “hardware”, un router è costituito dalle seguenti 4 componenti:
i. Porte di ingresso- sono in numero di m ≥ 2;ii. Porte di uscita- sono in numero di m ≥ 2;iii. Matrice di commutazione- collega ciascuna porta
di ingresso a ciascuna porta di uscita;iv. Processore di Controllo- esegue l’Algoritmo di
Instradamento e, quindi,o Memorizza la Tabella di Instradamento;o Aggiorna le Tabelle di Inoltro residenti in ciascuna delle
Porte di Ingresso.
Baccarelli, Cordeschi, Patriarca, Polli
29
Come è fatto un Router-Generalità (2/8)
Input porta 1
Input porta m Output porta m
Output porta 1
Matricedi
Commutazione
Processore diControllo
Baccarelli, Cordeschi, Patriarca, Polli
30
Come è fatto un Router- Porte di Ingresso (3/8)
Ciascuna porta di ingresso espleta:i. Funzioni di Strato Fisico- ricezione e rivelazione
dei bit in ingresso;ii. Funzioni di Strato di Collegamento- ricostruzione
delle trame a partire dai bit;iii. Funzioni di Inoltro- ogni porta ha memorizzata
una copia della Tabella di Inoltro, in base alla quale effettua l’inoltro dei datagrammi ricevuti;
iv. Funzioni di Memorizzazione- ogni porta di ingresso è dotata di un buffer nel quale memorizza temporaneamente i datagrammi ricevuti e che non sono stati ancora inoltrati.
Baccarelli, Cordeschi, Patriarca, Polli
31
Come è fatto un Router- Porte diIngresso (4/8)
Strato Fisico:Ricezione a livello di bit
Strato Data-link:e.g., Ethernet
Matricedi
Commutazione
Baccarelli, Cordeschi, Patriarca, Polli
32
La Matrice di Commutazione di un router con m porte di ingresso e m porte di uscita è costituita da:i. 2m canali interni (buses);ii. m2 nodi di interconnessione
Porte di Ingresso
Porte di Uscita
Matrice di Commutazione
Come è fatto un Router- Matricedi Commutazione (5/8)
Baccarelli, Cordeschi, Patriarca, Polli
33
Come è fatto un Router- Matricedi Commutazione (6/8)
Un datagramma che arriva all’s-ma porta di ingresso e deve essere inoltrato verso la k-ma porta di uscita
i. viaggia lungo il bus orizzontale s-mo sino a che interseca il k-mo bus verticale;
ii. se il k-mo bus verticale è già occupato dall’inoltro di un altro datagramma, il datagramma in oggetto èmemorizzato temporaneamente nel buffer dell’s-maporta di ingresso;
iii. se il k-mo bus verticale è libero, il datagramma ètrasferito alla k-ma porta di uscita e, eventualmente, memorizzato nel buffer della k-ma porta di uscita.
Baccarelli, Cordeschi, Patriarca, Polli
34
Come è fatto un Router- Porte diUscita (7/8)
Ciascuna Porta di Uscita espleta le seguenti funzioni:
i. Memorizza temporaneamente nel buffer ad essa collegato i datagrammi che sono in attesa di essere trasmessi dal Router;
ii. Frammenta i datagrammi e li incapsula in trame;
iii. Immette serialmente i bit che compongono ciascuna trama nel canale fisico collegato alla porta stessa.
Baccarelli, Cordeschi, Patriarca, Polli
35
Come è fatto un Router- Porte diUscita (8/8)
Matricedi
Commutazione
Baccarelli, Cordeschi, Patriarca, Polli
36
Code all’interno di un RouterAll’interno di un Router, si possono avere code sia nei buffer collegati alle porte di ingresso che nei buffer collegati alle porte di uscita.Si hanno code alle porte di ingresso quando la velocità (in datagrammi/sec) con cui i datagrammi arrivano alle porte di ingresso è superiore alla velocità con cui la Matrice di Commutazione riesce ad inoltrare i datagrammi arrivati verso le corrispondenti porte di uscita.Si hanno code alle porte di uscita quando la capacità C (in datagrammi/sec) di trasmissione dei canali collegati alle porte di uscita è inferiore alla velocità con cui la Matrice di Commutazione inoltra i datagrammi verso le porte di uscita.
Baccarelli, Cordeschi, Patriarca, Polli
37
Perdite di Datagrammi in un Router
Ciascuno dei 2m buffer connessi alle porte di ingresso/uscita di un router è in grado di memorizzare un numero finito NMAX di datagrammi.Quando il numero di datagrammi da memorizzare in una delle porte supera il limite NMAX , i datagrammi in eccesso vengono scartati (cioè, non inoltrati) dal Router.I datagrammi scartati da un router non raggiungeranno mai il Terminale-Destinazione, dando così luogo al Fenomeno della Perdita di Datagrammi(Data Loss Event).
Baccarelli, Cordeschi, Patriarca, Polli
38
La Rete Internet- Struttura e Architettura Protocollare
Baccarelli, Cordeschi, Patriarca, Polli
39
Struttura della Rete Internet (1/5)
Internet è un insieme di sotto-reti.o Sotto-rete: sistema di comunicazione
delimitato da dispositivi di Strato di Rete (Router)
o Una Internet consente a sistemi terminali (host) appartenenti a sottoreti eterogenee di scambiarsi informazioni tra di loro
Internet è basata sulla pila protocollare TCP/IP.
Baccarelli, Cordeschi, Patriarca, Polli
40
Struttura della Rete Internet-Connessione di sotto-reti (2/5)
Router
Terminali(Host)
Sottoreti
Baccarelli, Cordeschi, Patriarca, Polli
41
Struttura della Rete Internet-Terminali e Router (3/5)
subnet
Applicazione
TCP UDP
191.133.5.98 IP
IF 1
Indirizzo IP
Architettura protocollare di un terminale
Indirizzo MAC
Terminale (host)
Commutatore (router)
Subnet C
Subnet BSubnet A
IP 191.133.5.7 123.45.6.93 112.4.234.9
IF 1 (ATM) IF 2 (Ethernet) IF 3 (FDDI)Architettura protocollare di un router
Indirizzi IP
Indirizzi MAC
Baccarelli, Cordeschi, Patriarca, Polli
42
Struttura della Rete Internet- La pila TCP/IP (4/5)
La pila protocollare TCP/IP è logicamente situata al di sopra dei protocolli di Strato di Collegamento;
o i protocolli TCP/IP assumono che lo Strato di Collegamento non esegua nessuna funzione, oltre a quella di trasferimento di trame tra nodi (terminali o Commutatori) adiacenti.
Baccarelli, Cordeschi, Patriarca, Polli
43
Struttura della Rete Internet-Elementi costituenti di base (5/5)
Le entità base costituenti Internet sono gli Host (terminali d’utente) e i Router.Host:o Sono le sorgenti e le destinazioni dei datagrammi;o Sono univocamente identificati nella rete mediante
indirizzi IP a 32 bit.Router:o Instradano i pacchetti IP tra le sotto-reti;o Hanno un’interfaccia per ogni sotto-rete a cui sono
connessi.
Baccarelli, Cordeschi, Patriarca, Polli
44
Principio di Interconnessione (1/4)
Principio di interconnessione:o le inter-connessioni tra diverse sotto-reti sono assicurate dai
router.
o in generale, i router instradano i datagrammi verso la sotto-rete di destinazione e non verso il singolo host di destinazione;
o in generali, una volta che il datagramma arriva alla sotto-rete di destinazione sono i protocolli di Strato di Collegamento di questa sotto-rete ad inoltrarlo verso lo specifico terminale di destinazione.
Sotto-rete 2
Sotto-rete 1
H
H H
H
HInterfaccia 1 Interfaccia 2
Baccarelli, Cordeschi, Patriarca, Polli
45
Principio di Interconnessione (2/4)
Il terminale sorgente:1) forma il datagramma IP destinato al terminale-
destinazione;2) determina se il terminale-destinazione si trova
sulla sua stessa sotto-rete:i. se la sotto-rete è la stessa, il terminale-sorgente
determina l’indirizza MAC del terminale-destinazione(instradamento diretto);
ii. se la sotto-rete è diversa, il terminale-sorgente determina l’indirizzo IP e l’indirizzo MAC del router verso cui inviare il datagramma (instradamento indiretto);
3) consegna il datagramma alla sotto-rete che lo consegnerà, a sua volta, all’host di destinazione.
Baccarelli, Cordeschi, Patriarca, Polli
46
Principio di Interconnessione (3/4)
Un router elabora l’indirizzo del datagramma IP ricevuto e determina la sotto-rete in cui si trova il terminale-destinazione
i. se il terminale-destinazione si trova in una delle sotto-reti a cui il router è direttamente connesso, allora affida il datagramma alla sotto-rete per la consegna;
ii. altrimenti, determina il router successivo (next-router) verso cui instradare il datagramma einstrada il datagramma verso il suddetto router.
Baccarelli, Cordeschi, Patriarca, Polli
47
Principio di Interconnessione (4/4)
Una sotto-reteo inoltra i datagrammi IP incapsulandoli nelle
proprie trame, utilizzando i propri protocolli di Strato di Collegamento.
Sotto-rete 2
Sotto-rete 1
H1
H2 H5
H4
H3Interfaccia 1 Interfaccia 2
Baccarelli, Cordeschi, Patriarca, Polli
48
Architettura Protocollare dello Strato di Rete in Internet (1/2)
L’architettura protocollare dello Strato di Rete di Internet è riportato in Figura.
Strato di Trasporto: TCP/UDP
Protocolli di Routing•Instradamento•RIP,OSPF,BGP
Protocollo IP•Indirizzamento•Formato del datagramma
Protocollo ARP •Conversione indirizzi IPin indirizzi MAC
Protocollo ICMP •Segnalazione di errori•Segnalazione di controllo
Strato di CollegamentoStrato Fisico
Baccarelli, Cordeschi, Patriarca, Polli
49
Architettura Protocollare dello Strato di Rete in Internet (2/2)
Essenzialmente, lo Strato di Rete Internet è composto da 4 famiglie principali di protocolli:
i. Protocolli per l’instradamento dei datagrammi (RIP, OSPF, BGP)- sono implementati mediante le Tabelle di Instradamento e provvedono ad aggiornare le Tabelle di Inoltro;
ii. Protocollo IP- definisce la struttura e le regole per l’indirizzamento di utenti terminali, router e sotto-reti. Definisce il formato del datagramma IP;
iii. Protocollo ICMP (Internet Control Message Protocol)-definisce e gestisce i messaggi di segnalazione di errori/malfunzionamenti tra router e utenti terminali;
iv. Protocollo ARP (Address Resolution Protocol)- in ogni istante, permette di ricavare l’indirizzo MAC di un router o utente terminale dal corrispondente Indirizzo IP.
Baccarelli, Cordeschi, Patriarca, Polli
50
Il Protocollo IP
Baccarelli, Cordeschi, Patriarca, Polli
51
Il Protocollo IP- Generalità (1/3)Il Protocollo IP è uno dei protocolli di Strato di Rete di Internet:
i. Offre un servizio Best-Effort di trasferimento di segmenti allo Strato di Trasporto;
ii. Opera con modalità di trasferimento senza connessione;iii. Impiega la commutazione di pacchetto e la multiplazione
statistica ;iv. Esegue le funzioni di indirizzamento dei datagrammi;v. Definisce il formato del datagramma IP.
Esistono due versioni del protocollo IP, note come:i. IPv4ii. IPv6
Nel seguito, faremo riferimento alla versione IPv4, di gran lunga più utilizzata.
Baccarelli, Cordeschi, Patriarca, Polli
52
Il Protocollo IP- Generalità (2/3)
Essenzialmente, le funzioni principali del protocollo IP sono:
a) In trasmissionei. Incapsula in datagrammi i segmenti ricevuti dallo
Strato di Trasporto;ii. Aggiunge gli indirizzi IP degli utenti sorgente e
destinazione;iii. Attua gli Algoritmi di Routing per calcolare il
cammino ottimo tra Utente-Sorgente e Utente-Destinazione;
iv. Provvede ad inviare il Datagramma verso il successivo nodo di rete (next router).
Baccarelli, Cordeschi, Patriarca, Polli
53
Il Protocollo IP- Generalità (3/3)
b) In ricezionei. Verifica la validità (error detection) del
datagramma ricevuto;ii. Legge l’indirizzo IP dell’Utente-
Destinazione presente nell’header del datagramma ricevuto;
iii. Consegna il segmento incapsulato nel datagramma allo Strato di Trasporto del terminale-destinazione
Baccarelli, Cordeschi, Patriarca, Polli
54
Il Formato del Datagramma IP (1/2)
Il formato del Datagramma IPv4 è riportato in Figura.
Versbit 0 4 8 16 31
HLEN Type Of Service Total Lenght
Identification Flag Fragment Offset (13 bit)
Time To Live Header ChecksumProtocol
PaddingOptions
Destination IP Address
Source IP Address
Dati (Payload)
Hea
der 20 byte
Baccarelli, Cordeschi, Patriarca, Polli
55
Il Formato del Datagramma IP (2/2)
Essenzialmente, un Datagramma IP ècomposto da:
i. Una intestazione (Header) - può essere di lunghezza variabile. La lunghezza minima è di 20 byte;
ii. Un campo dati (Payload)- può essere di lunghezza variabile. Contiene:
o Segmenti generati dallo Strato di Trasporto;o Oppure, messaggi di controllo generati dai protocolli
ICMP e/o ARP.
Baccarelli, Cordeschi, Patriarca, Polli
56
Il Formato dell’Header (1/6)
L’Header contiene tutte le informazioni di indirizzamento necessarie per instradare il datagramma.La dimensione minima dell’Header è di 20 byte.L’Header può contenere o meno un campo Opzioni la cui lunghezza e il cui significato variano a seconda dell’applicazione considerata.
Baccarelli, Cordeschi, Patriarca, Polli
57
Il Formato dell’Header (2/6)Vers (4 bit): versione del protocollo usata; grazie a tale campo è possibile che più versioni di IP operino contemporaneamente. La versione attualmente in uso è la IPv4.HLEN (4 bit): lunghezza dell’Header in multipli di 32 bit.TOS (Type Of Service) (8 bit): specifica i parametri della qualità di servizio richiesti dall’Utente-Sorgente (ad es., affidabilità, velocità di trasferimento).Total Length (16 bit): specifica la lunghezza totale (incluso l’Header) del datagramma, misurata in byte. La lunghezza totale massima di un datagramma IP è di 65535 byte.
Baccarelli, Cordeschi, Patriarca, Polli
58
Il Formato dell’Header (3/6)Identification (16 bit): numero identificativo del datagramma. È assegnato dall’Utente-Sorgente al datagramma ed ereditato dagli eventuali frammenti.Flag (3 bit): usato per la frammentazione-X, DF e MF
i. X: non usato e posto a 0;ii. DF (Don’t Fragment): se 0, indica che il datagramma
può essere frammentato; se 1, no.iii. MF (More Fragment): se 0, indica che il datagramma
è l’ultimo frammento; se 1, che ci sono altri frammenti.
Fragment Offset (13 bit): indica la posizione del frammento all’interno dell’originario datagramma, espressa in multipli di 64 bit.
Baccarelli, Cordeschi, Patriarca, Polli
59
Il Formato dell’Header (4/6)
TTL (Time To Live) (8 bit): indica il numero massimo di salti residui che il datagramma può effettuare in rete. È decrementato da ogni router attraversato dal datagramma. Quando assume il valore zero, il datagramma è scartato.Protocol (8 bit): indica a quale protocollo dello strato superiore deve essere trasferito il contenuto del campo payload del datagramma.Header Checksum (16 bit): campo per la rivelazione di eventuali errori presenti nel (solo) Header del Datagramma ricevuto.
Baccarelli, Cordeschi, Patriarca, Polli
60
Il Formato dell’Header (5/6)
Source Address (32 bit): indirizzo IP del terminale-sorgente.
Destination Address (32 bit): indirizzo IP del terminale-destinazione.
Baccarelli, Cordeschi, Patriarca, Polli
61
Il Formato dell’Header (6/6)Options : campo di lunghezza variabile (multipli di 8 bit) che può essere omesso. È composto da tanti ottetti quante sono le opzioni implementate, e cioè:o Record Route Option (RRO) : consente al mittente di
creare una lista vuota di indirizzi IP in modo che ogni nodo attraversato inserisce il suo indirizzo in questa lista.
o Source Route Option : consente al mittente di specificare i nodi attraverso i quali vuole che transiti il datagramma
o Timestamp Option : come RRO con in più l’istante temporale in cui il datagramma attraversa i diversi nodi
Padding: campo di lunghezza variabile. Serve a garantire che l’Header abbia una lunghezza multipla di 32 bit.
Baccarelli, Cordeschi, Patriarca, Polli
62
Frammentazione dei datagrammi IP (1/3)
Quando lo Strato IP deve trasmettere un datagramma:
i. determina l’interfaccia fisica di uscita (inoltro) e la corrispondente Lunghezza Massima dell’Unità dati Trasferibile (MTU)
ii. In base alla dimensione del datagramma, stabilisce se frammentare o meno il datagramma in datagrammi piùpiccoli.
La frammentazione può avvenire sia nel Terminale-Sorgente che in un router intermedio. Il riassemblaggio dei frammenti può avvenire solo al Terminale di Destinazione.Quando un datagramma viene frammentato:
i. ogni frammento è trasportato in rete come un normale datagramma IP, con una propria intestazione ed instradato in modo indipendente dagli altri frammenti.
Baccarelli, Cordeschi, Patriarca, Polli
63
Frammentazione dei datagrammi IP (2/3)
L’unità massima di trasmissione (MTU) è la massima quantità di dati che un frame a livello di collegamento può trasportare.
o Differenti tipi di link, differenti MTUDatagrammi IP grandi vengono frammentati in datagrammi IP più piccoli.
o I frammenti saranno riassemblati solo una volta raggiunta la destinazione
o I bit dell’intestazione IP sono usati per identificare e ordinare i frammenti
o Se uno o più frammenti non viene ricevuto (a destinazione), verrà scartato l’intero datagramma
o La frammentazione può avvenire sia nell’host mittente che in un router intermedio
o Ogni frammento è trasportato come un normale datagramma IP con una propria intestazione ed è instradato in modo indipendente dagli altri.
Riassemblaggio
Frammentazione:Ingresso:1 datagramma grandeUscita:3 datagrammi più piccoli
Baccarelli, Cordeschi, Patriarca, Polli
64
Frammentazione dei datagrammi IP (3/3)
Nella frammentazione vengono utilizzati i seguenti campi dell’header del Datagramma IP:o Identification: identificativo del datagramma da
frammentare; viene copiato in tutti gli header dei datagrammi frammentati;
o More fragment bit: posto ad 1 in tutti i datagrammi frammentati, tranne che nell’ultimo;
o Fragment offset: contiene la posizione (espressa in multipli di 64 bit) di ciascun datagramma frammentato rispetto all’inizio del datagramma da frammentare;
o Total length: contiene la dimensione di ogni datagramma frammentato.
Baccarelli, Cordeschi, Patriarca, Polli
65
Indirizzamento IP- InterfacciaDato un nodo di rete (utente terminale o router), una sua interfaccia è costituita dall’insieme di una porta di ingresso e di una porta di uscita. In altri termini, una interfaccia di un nodo è una sua porta bi-direzionale (I/O port).Poiché un Terminale d’Utente (host) è, in genere, collegato alla rete mediante un solo canale trasmissivo, un Terminale d’Utente ha, in genere, una sola interfaccia.Poiché un router inter-connette due o più sotto-reti diverse, un router ha interfacce multiple, cioèun’interfaccia per ogni sotto-rete alla quale ècollegato.
Baccarelli, Cordeschi, Patriarca, Polli
66
Indirizzamento IP delle Interfacce (1/2)
Tutte le interfacce presenti in Internet sono univocamente identificate da un proprio Indirizzo IP.Un indirizzo IP è costituito da 32 bit, ovvero da 4 byte. Esso viene rappresentato ricorrendo alla cosìdetta “notazione decimale con punto”, ossia,
i. Esprimendo il contenuto di ciascuno dei byte mediante il corrispondente numero intero, compreso tra 0 e 255;
ii. Separando mediante punti i 4 numeri interi così ottenuti.Esempio:
11000001 00100000 11011000 00001001->193.32.216.900011100 00000000 11111111 00000011->28.0.255.3
Baccarelli, Cordeschi, Patriarca, Polli
67
Indirizzamento IP delle Interfacce-Esempio (2/2)
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
223.1.1.1 = 11011111 00000001 00000001 00000001
223 1 11
Baccarelli, Cordeschi, Patriarca, Polli
68
Indirizzamento IP- Sotto-Reti (1/6)
Come già visto, la rete IP è costituita da più sotto-reti inter-connesse mediante Router.Per definizione, una sotto-rete è costituita da tutte e sole le interfacce che condividono uno specifico prefisso (lungo: x ≥ 1 bit) dei loro indirizzi IP.Ciò significa che tutte le interfacce di una stessa sotto-rete hanno i primi x bit (quelli più a sinistra) dei loro indirizzi IP coincidenti.Quindi, il massimo numero di interfacce distinte che possono far parte di una sotto-rete con prefisso lungo x bit è pari a:
2(32-x) ≡ 232/2x
Baccarelli, Cordeschi, Patriarca, Polli
69
Indirizzamento IP- Sotto-Reti-Esempio1 (2/6)
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.1
223.1.2.2223.1.3.27
223.1.3.2223.1.3.1
La rete consiste di 3 sotto-reti
Baccarelli, Cordeschi, Patriarca, Polli
70
223.1.7.1223.1.8.0223.1.8.1
223.1.9.1
223.1.1.1
223.1.1.3
223.1.1.4
223.1.1.2
223.1.7.0223.1.9.2
Indirizzamento IP-Sotto-Reti- Esempio2 (3/6)
Rete costituita da 6 sotto-reti
223.1.2.2223.1.2.1
223.1.2.6
223.1.3.2223.1.3.1
223.1.3.27
Baccarelli, Cordeschi, Patriarca, Polli
71
Indirizzamento IP- Sotto-Reti (4/6)
La rete IP assegna a ciascuna sotto-rete un proprio unico indirizzo che, in generale, assume il seguente formato:
a.b.c.d/xdove:
i. a, b, c, d sono numeri interi compresi tra 0 e 255 che specificano l’indirizzo della sotto-rete;
ii. /x, sta ad indicare che gli indirizzi IP di tutte le interfacce della sotto-rete condividono un medesimo prefisso lungo x ≥ 1 bit, prefisso che, a sua volta, coincide con gli x bit più a sinistra dell’indirizzo IP della sotto-rete stessa.
Gli x bit che costituiscono il prefisso dell’indirizzo della sotto-rete e il prefisso degli indirizzi di tutte le interfacce che compongono la sotto-rete stessa si chiama “maschera della sotto-rete”.
Baccarelli, Cordeschi, Patriarca, Polli
72
Indirizzamento IP- SottoReti-Esempi (5/6)
La sotto-rete di indirizzo255.1.3.0/24
è costituita da tutte le interfacce i cui indirizzi IP condividono il seguente prefisso lungo 24 bit:
11111111 00000001 00000011La sotto-rete di indirizzo
3.255.0.0/17è costituita da tutte le interfacce i cui indirizzi IP condividono il seguente prefisso lungo 17 bit:
00000011 1111111 0
Baccarelli, Cordeschi, Patriarca, Polli
73
Indirizzamento IP- SottoReti-Esempi (6/6)
La rete (costituita da sotto-reti) considerata nell’Esempio 1 ha i seguenti indirizzi di sotto-rete:
223.1.1.0/24223.1.2.0/24223.1.3.0/24
Baccarelli, Cordeschi, Patriarca, Polli
74
Indirizzi di Sotto-Rete e Tabelle di Inoltro (1/2)
Come già visto, al fine di minimizzare la memoria richiesta, la Tabella di Inoltro presente in ciascun router riporta le coppie
<prefisso, porta di uscita>per ciascuna sotto-rete raggiungibile da una porta di uscita del Router.Specificatamente,
i. Prefisso è la sequenza di bit che costituisce il prefisso dell’indirizzo della sotto-rete in esame;
ii. Porta di uscita è il numero d’ordine della porta di uscita del router dalla quale la sotto-rete in oggetto è raggiungibile.
Come già detto, ciascun datagramma in arrivo al router è inoltrato verso la corrispondente porta di uscita applicando la “Regola del prefisso più lungo”
Baccarelli, Cordeschi, Patriarca, Polli
75
Prefisso di sotto-rete
11001000 00010111 00010 011001000 00010111 00011000 111001000 00010111 00011 2Altrimenti 3
Porta di uscita
Esempi:
Con: 11001000 00010111 00010110 10100001 Qual è la porta di uscita?
Con: 11001000 00010111 00011000 10101010 Qual è la porta di uscita?
Indirizzi di Sotto-Rete e Tabelle di Inoltro- Esempio (2/2)
Baccarelli, Cordeschi, Patriarca, Polli
76
Indirizzamento Gerarchico in Internet
Ovviamente, al fine di minimizzare la dimensione di una Tabella di Inoltro, è necessario che il numero di sotto-reti raggiungibili da ciascuna delle porte di uscita di un router sia il più grande possibile.Ciò significa che, per quanto possibile, ciascuna sotto-rete dovrebbe essere costituita da interfacce con indirizzi IP il più possibile contigui (cioè, in sequenza).La strategia adottata da Internet per assegnare “opportunamente” gli indirizzi IP alle sotto-reti e alle corrispondenti interfacce è nota come:
Classless InterDomain Routing (CIDR)
Baccarelli, Cordeschi, Patriarca, Polli
77
CIDR- Definizione (1/4)
Nella strategia (CIDR) di assegnazione degli indirizzi IP abbiamo che:
i. La rete è suddivisa in sotto-reti e, eventualmente, ogni sotto-rete è suddivisa in più sotto-sotto-reti.
ii. A ciascuna sotto-rete è assegnato un indirizzo del tipo:
a.b.c.d/xiii. A ciascuna sotto-sotto-rete è assegnato un indirizzo
del tipo:a.b.c.d/y
con y>x.
Baccarelli, Cordeschi, Patriarca, Polli
78
CIDR- Definizione (2/4)
iii. A tutte le interfacce di una stessa sotto-sotto-rete sono assegnati indirizzi IP che condividono la prima parte lunga y bit dell’indirizzo (prefisso di sotto-sotto-rete).Esempio di applicazione CIDR:Indirizzo di Sotto-Rete: 255.0.1.0/24
11111111 00000000 00000001Indirizzo di sotto-sotto-rete: 255.0.1.0/26
11111111 00000000 00000001 00
Baccarelli, Cordeschi, Patriarca, Polli
79
CIDR- Proprietà (3/4)
Quindi, in accordo alla strategia CIDR, i 32 bit dell’indirizzo IP assegnato a ciascuna interfaccia èsuddiviso in 2 parti:
i. Una prima parte costituita dai primi y ≥ 1 bit più a sinistra dell’indirizzo che individua il prefisso della sotto-sotto-rete alla quale l’interfaccia appartiene
ii. Una seconda parte costituita dagli ultimi (32-y) bit più a destra dell’indirizzo che è specifica dell’interfaccia considerata.
11001000 00010111 00010000 00000000
sub-subnetpart
interfacepart
200.23.16.0/23
Baccarelli, Cordeschi, Patriarca, Polli
80
CIDR- Proprietà (4/4)
La strategia di assegnazione degli indirizzi IP attuata da CIDR è, quindi, di tipo gerarchico.Ciò implica che:
i. i Router che interconnettono sotto-reti distinte possono effettuare l’inoltro dei datagrammi ricevuti dalle porte di ingresso esaminando solo i prefissi degli indirizzi IP di destinazione contenuti nei datagrammi;
ii. i router che si trovano all’interno di una sotto-rete possono effettuare l’inoltro dei datagrammi ricevuti dalle porte di ingresso esaminando solo i suffissi (cioè, gli ultimi (32-x) bit) degli indirizzi IP di destinazione contenuti nei datagrammi.
Baccarelli, Cordeschi, Patriarca, Polli
81
Indirizzo IP di tipo BroadcastIl protocollo IP impiega il seguente (particolare) indirizzo
255.255.255.255
11111111 11111111 11111111 11111111per indicare che il datagramma corrispondente deve essere ricevuto da tutti i nodi che costituiscono la rete.Specificatamente, quando un router riceve da una delle sue porte di ingresso un datagramma che ha come indirizzo di destinazione:
255.255.255.255allora inoltra il datagramma verso tutte le sue porte di uscita.
Baccarelli, Cordeschi, Patriarca, Polli
82
Come ottenere un Indirizzo IP Ogni interfaccia della Rete Internet deve possedere un indirizzo IP specifico, cioè globalmente unico.L’organizzazione internazionale ICANN (Internet Corporation for Assigning Names and Numbers) assegna blocchi di indirizzi IP contigui (cioè, con numerazione in sequenza) a ciascuna sotto-rete richiedente.L’Amministratore della sotto-rete assegna manualmente(ossia, configura manualmente) alcuni degli indirizzi IP a disposizione a tutte le interfacce dei router che fanno parte della sotto-rete in oggetto.I singoli Utenti-Terminali della sotto-rete possono richiedere indirizzi IP temporanei in modo automatico (ossia, senza intervento diretto dell’Amministratore di Rete), facendo ricorso al così detto: Dynamic HostConfiguration Protocol (DHCP)
Baccarelli, Cordeschi, Patriarca, Polli
83
DHCP- Generalità (1/2)
DHCP permette ad ogni utente che voglia connettersi ad una (specifica) sotto-rete di ottenere temporaneamente in Indirizzo IP tra quelli che la sotto-rete ha avuto assegnati ma, in quel momento, non sono utilizzati.Quando l’utente si disconnette dalla sotto-rete (utente nomade), l’indirizzo IP che gli era stato assegnato gli viene rimosso e torna a far parte di quelli a disposizione della sotto-rete.
Baccarelli, Cordeschi, Patriarca, Polli
84
DHCP- Generalità (2/2)Per poter essere implementato, DHCP richiede che nella sotto-rete sia presente un particolare server, detto Server DHCP.Il Server DHCP:
i. memorizza gli indirizzi IP temporaneamente liberi (ossia, che possono essere assegnati);
ii. gestisce le fasi di assegnazione di un indirizzo IP e di rilascio di un indirizzo IP.
Per sua natura, DHCP è un esempio di protocollo cliente-servente. Per ogni nuovo utente che richiede un indirizzo IP, il DHCP prevede l’espletamento di 4 fasi:
i. Fase di DHCP Discover ;ii. Fase di DHCP Offer ;iii. Fase di DHCP Request ;iv. Fase di DHCP ACK.
Baccarelli, Cordeschi, Patriarca, Polli
85
DHCP- Architettura di SistemaClient-Server
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
A
BE
ServerDHCP
arriving DHCP client needsaddress in thissub-network
Baccarelli, Cordeschi, Patriarca, Polli
86
Fase di DHCP Discover (1/2)
In questa fase, il cliente che vuole richiedere un indirizzo IP per connettersi alla sotto-rete effettua le seguenti azioni
i. Costruisce un messaggio di richiesta di indirizzo IP, messaggio noto come DHCP Discovery message. Il suddetto messaggio contiene un identificatore di Transazione(ovvero, un numero di sequenza) che lo identifica univocamente.
ii. Il cliente incapsula il DHCP Discovery message nel campo payload di un datagramma IP. Il suddetto datagramma ha:
o Source Address: 0.0.0.0o Destination Address: 255.255.255.255 (indirizzo broadcast)
Baccarelli, Cordeschi, Patriarca, Polli
87
Fase di DHCP Discover (2/2)
iii. L’adattatore del cliente incapsula, a sua volta, il suddetto datagramma IP in una trama di Strato di Collegamento. La suddetta trama ha:
o MAC Source address: l’indirizzo MAC dell’adattatore del cliente;
o MAC Destination address: FF-FF-FF-FF-FF-FF (indirizzo MAC broadcast).
iv. L’adattatore del cliente invia la Trama nella sotto-rete alla quale vuole connettersi.
Baccarelli, Cordeschi, Patriarca, Polli
88
Fase di DHCP Offer (1/2)Dopo che il Server DHCP ha ricevuto e letto il DHCP Discovery message che gli èpervenuto, il DHCP Server effettua le seguenti azioni:
1) Costruisce un DHCP Offer Message nel quale indica:
o il numero di sequenza prelevato dal DHCP Discoverymessage;
o l’indirizzo IP proposto al cliente (yiaddr; vedi Figura);o il tempo di vita dell’indirizzo IP proposto, ossia la
quantità di tempo per cui il cliente può usare l’indirizzo IP proposto;
o il prefisso della sotto-rete alla quale il cliente sta chiedendo di connettersi.
Baccarelli, Cordeschi, Patriarca, Polli
89
Fase di DHCP Offer (2/2)
2) Incapsula il DHCP Offer Message nel campo payloaddi un (nuovo) datagramma IP. Il suddetto datagramma ha:
o Source Address: l’indirizzo IP del Server DHCP;o Destination Address: 255.255.255.255 (indirizzo IP
broadcast);3) L’adattatore del DHCP server incapsula il suddetto
datagramma in una (nuova) Trama. La Trama ha:o MAC Source address: l’indirizzo MAC del DHCP Server;o MAC Destination address: FF-FF-FF-FF-FF-FF;
4) L’adattatore del DHCP server invia la trama nella sotto-rete.
Baccarelli, Cordeschi, Patriarca, Polli
90
Fase di DHCP Request (1/2)Dopo che il cliente ha ricevuto e letto il DHCP Offer Message, il cliente effettua le seguenti azioni:
1) costruisce un DHCP Request message nel quale indica:o il numero di sequenza del messaggio incrementato
di una unità rispetto al numero di sequenza impiegato in precedenza;
o l’accettazione dell’indirizzo IP proposto dal DHCP Server;
2) incapsula il DHCP Request Message nel campo payloaddi un nuovo datagramma IP. Il suddetto datagramma ha:
o Source Address: 0.0.0.0o Destination Address: 255.255.255.255 (indirizzo
IP broadcast)
Baccarelli, Cordeschi, Patriarca, Polli
91
Fase di DHCP Request (2/2)
3) L’adattatore del cliente incapsula il suddetto datagramma IP in una (nuova) trama. La trama ha:
o MAC source address: l’indirizzo MAC del cliente;o MAC destination address: FF-FF-FF-FF-FF-FF;
4) L’adattatore invia la Trama nella sotto-rete.
Baccarelli, Cordeschi, Patriarca, Polli
92
Fase di DHCP ACK (1/2)
Dopo che il DHCP Server ha ricevuto e letto il DHCP Request Message, il Server esegue le seguenti azioni:
1) costruisce un DHCP ACK Message nel quale:o conferma l’indirizzo IP proposto al cliente e il
corrispondente tempo di vita;o indica lo stesso numero di sequenza riportato
nel DHCP Request message ricevuto;
Baccarelli, Cordeschi, Patriarca, Polli
93
Fase di DHCP ACK (2/2)2) Incapsula il DHCP ACK message in un nuovo
datagramma IP. Il suddetto datagramma ha:o Source address: l’indirizzo IP del DHCP Server;o Destination address: 255.255.255.255
(broadcast).3) L’adattatore del DHCP Server incapsula il
datagramma in una (nuova) Trama. La trama ha:
o MAC Source address: l’indirizzo MAC del DHCP Server;
o MAC Destination address: FF-FF-FF-FF-FF-FF.4) L’adattatore invia la Trama nella sotto-rete.
Baccarelli, Cordeschi, Patriarca, Polli
94
DHCP- Conclusione
Dall’istante in cui il cliente riceve il DHCP ACK message, può usare l’indirizzo IP offerto come proprio indirizzo IP per il Tempo di Vita pattuito.
Allo scadere del Tempo di Vita pattuito, il DHCP Server considera l’indirizzo IP offerto al cliente come di nuovo libero (non più utilizzato)
Baccarelli, Cordeschi, Patriarca, Polli
95
DHCP- Riepilogo (1/2)
Riepilogando, l’impiego del DHCP è utile quando:
i. i clienti si connettono e disconnettono dalla sotto-rete frequentemente (nomadic clients);
ii. il numero di potenziali clienti supera il numero di indirizzi IP disponibili per la sotto-rete;
iii. si vuole rendere automatica l’assegnazione degli indirizzi IP di clienti richiedenti.
Baccarelli, Cordeschi, Patriarca, Polli
96
DHCP- Riepilogo (2/2)DHCP server: 223.1.2.5
tempo
src: 0.0.0.0dest: 255.255.255.255yiaddr: 0.0.0.0transaction ID: 654
DHCP discoverarrivingclient
src: 223.1.2.5dest: 255.255.255.255yiaddr: 223.1.2.4transaction ID: 654Lifetime: 3600 sec
DHCP offer
src: 0.0.0.0dest: 255.255.255.255yiaddr: 223.1.2.4transaction ID: 655Lifetime: 3600 sec
DHCP request
src: 223.1.2.5dest: 255.255.255.255yiaddr: 223.1.2.4transaction ID: 655Lifetime: 3600 sec
DHCP ACK
Baccarelli, Cordeschi, Patriarca, Polli
97
Domain Name System (DNS) (1/5)
Gli indirizzi IP sono numerici e, quindi, di difficile memorizzazione. Per questo motivo, è stato definito un meccanismo di identificazione alfabetica degli indirizzi IP (di sotto-rete e di utente terminale) che va sotto il nome di Domain Name System(DNS).Il DNS definisce una struttura gerarchica di indirizzi alfabetici che sono univocamente associati ai corrispondenti indirizzi IP. I Server DNS provvedono alla traduzione alfabetico -> numerica e numerica-> alfabetica degli indirizzi
Baccarelli, Cordeschi, Patriarca, Polli
98
Domain Name System (DNS) (2/5)
La struttura degli indirizzi alfabetici definita dal DNS è strettamente gerarchica e si articola (essenzialmente) su 4 livelli, di ordine via via decrescente:
i. radice (root): indica la radice dell’albero dei nomi;ii. primo livello: individua il tipo di struttura, che può
identificare una topologia di organizzazione, una nazione o entrambe;
iii. secondo livello: individua la specifica organizzazione all’interno della struttura;
iv. terzo livello: individua la struttura locale (dipartimento) all’interno dell’organizzazione;
v. quarto livello: individua l’utente terminale finale all’interno della struttura locale
Baccarelli, Cordeschi, Patriarca, Polli
99
DNS (3/5)
La struttura del primo e secondo livello èriportata in Figura.
Root
com edu gov mil net int org “ci”
Baccarelli, Cordeschi, Patriarca, Polli
100
DNS (4/5)
Essa prevede (almeno) sette tipi di organizzazioni, e cioè:
i. com: organizzazioni commerciali;ii. edu: istituzioni di istruzione;iii. gov: organizzazioni governative;iv. mil: organizzazioni militari;v. net: organizzazioni di supporto alla rete
Internet;vi. int: organizzazioni internazionali;vii. org: organizzazioni diverse dalla precedente;viii. “ci”: country identifier (due lettere; it per
l’Italia)
Baccarelli, Cordeschi, Patriarca, Polli
101
DNS (5/5)
Nel DNS, gli indirizzi completi di utente vengono generati unendo in sequenza gli identificatori dei vari livelli, procedendo dal livello più basso sino al primo livello, e separando i vari identificatori mediante punti.
Ad esempio,enzo.infocom.edu.itnick.elet.uniroma1.edu.it
Baccarelli, Cordeschi, Patriarca, Polli
102
Internet Control MessageProtocol (ICMP)
Baccarelli, Cordeschi, Patriarca, Polli
103
ICMP- MotivazioniIl protocollo IP è senza connessione e non affidabile.Se un router non riesce ad instradare o a consegnare un datagramma o se riscontra situazioni anomale (tra cui congestione di rete) deve poterle notificare al mittente del datagramma, affinchèsiano attuate opportune operazioni per correggere il problema.
o un dispositivo di rete non funziona correttamente o non funziona del tutto (incluse le linee di collegamento);
o l’host di destinazione è temporaneamente o permanentemente disconnesso dalla rete;
o il contatore del Time to Live del datagramma arriva a zero e il datagramma è scartato;
o i router o le linee intermedie sono talmente congestionate da non poter convogliare il traffico in transito.
Baccarelli, Cordeschi, Patriarca, Polli
104
ICMP- Generalità (1/2)
Per consentire ai router di potersi scambiare informazioni su tali situazioni si usa ICMP (Internet Control MessageProtocol).ICMP è parte integrante di IP e deve essere incluso in ogni implementazione di IPI messaggi ICMP sono:
i. trasportati in rete per mezzo dei datagrammi IP;ii. incapsulati nella parte dati (campo payload) del
datagramma IP.
Baccarelli, Cordeschi, Patriarca, Polli
105
ICMP- Generalità (2/2)
In essenza, il protocollo ICMP è un protocollo che serve a:
i. segnalare eventuali situazioni anomale nel trasferimento dei pacchetti IP;
ii. controllare il trasferimento dei pacchetti IP;iii. notificare alle sorgenti eventuali problemi (ad
esempio, errori di indirizzamento).
Baccarelli, Cordeschi, Patriarca, Polli
106
ICMP- FunzionamentoIn caso di malfunzionamento della rete, ICMP provvede ad uno scambio di messaggi fra i nodi coinvolti per segnalare l’errore.La funzione di ICMP è solo di notifica degli errori all’utente di origine e non specifica le azioni che devono essere prese per rimediare agli errori ed ai malfunzionamenti.Se causa del problema è un router intermedio, ICMP può solo notificare che esiste un problema, ma non da quale router dipenda.Ogni messaggio ICMP è in relazione ad uno specifico datagramma (contiene, quindi, anche un identificativo del particolare datagramma che ha generato l’errore).
Baccarelli, Cordeschi, Patriarca, Polli
107
ICMP- Formato dei messaggiI Messaggi ICMP hanno un campo tipo e un campo codice, e, inoltre, contengono l’header e i primi 8 byte del payload del datagramma che ha provocato l’errore.
Tipo Codice Descrizione0 0 Risposta eco (a ping)3 0 rete destin. irraggiungibile3 1 host destin. irraggiungibile3 2 protocollo dest. irraggiungibile3 3 porta destin. irraggiungibile3 6 rete destin. sconosciuta3 7 host destin. sconosciuto4 0 riduzione (controllo di congestione) 8 0 richiesta eco9 0 annuncio del router
10 0 scoperta del router11 0 TTL scaduto12 0 errata intestazione IP
Baccarelli, Cordeschi, Patriarca, Polli
108
Conversione degli Indirizzi IP negli Indirizzi MAC- Address
Resolution Protocol (ARP)
Baccarelli, Cordeschi, Patriarca, Polli
109
Indirizzi IP e Indirizzi MAC (1/2)Indirizzo IP a 32 bit:
o indirizzo a livello di rete;o analogo all’indirizzo postale di una persona: hanno
una struttura gerarchica e devono esser aggiornati quando una persona cambia residenza;
o è associato ad una interfaccia o ad una sotto-rete.
Indirizzo MAC a 48 bit:o analogo al numero di codice fiscale di una
persona: ha una struttura “piatta” e non varia a seconda del luogo in cui l’utente si trasferisce;
o indirizzo a 48 bito è associato ad un adattatore.
Baccarelli, Cordeschi, Patriarca, Polli
110
Indirizzi IP e Indirizzi MAC (2/2)
Poiché, quindi, ogni interfaccia (di utente e di router) dispone sia di un indirizzo IP che un indirizzo MAC, nasce il seguente problema:
o dato un indirizzo IP, determinare l’indirizzo MAC corrispondente.
Ad ogni nodo di rete (utente o route), l’Address Resolution Protocol (ARP) ivi implementato permette di determinare l’indirizzo MAC corrispondente ad un dato indirizzo IP.
Baccarelli, Cordeschi, Patriarca, Polli
111
ARP- Generalità (1/3)Lo scenario di applicazione tipico di ARP èriportato in Figura.
LAN
137.196.7.781A-2F-BB-76-09-AD
137.196.7.23
71-65-F7-2B-08-53
137.196.7.14
58-23-D7-FA-20-B0
137.196.7.880C-C4-11-6F-E3-98
Baccarelli, Cordeschi, Patriarca, Polli
112
ARP- Generalità (2/3)Più specificatamente, ogni adattatore presente in un nodo di rete (utente o router) implementa ARP avvalendosi della Tabella ARP memorizzata localmente nell’adattatore stesso.Ciascuna riga della Tabella ARP memorizzata nell’Adattatore H contiene:
i. l’indirizzo IP di una interfaccia che fa parte della stessasotto-rete alla quale appartiene l’Adattatore H;
ii. l’indirizzo MAC corrispondente all’indirizzo IP;iii. il Tempo di Vita Restante (Time-To-Live,TTL), ossia
l’intervallo di tempo scaduto il quale la riga in oggetto verrà rimossa dalla Tabella ARP (tipicamente, 20 minuti).
Baccarelli, Cordeschi, Patriarca, Polli
113
ARP- Generalità (3/3)ARP lavora solo localmente nella sotto-rete di appartenenza dell’adattatore in cui è implementato. Assumiamo che l’Adattatore H richieda di conoscere l’indirizzo MAC corrispondente ad un assegnato indirizzo IP: 222.222.222.222. Allora, solo se l’interfaccia con indirizzo IP: 222.222.222.222 appartiene alla stessa sotto-rete alla quale appartiene l’adattatore H, il protocollo ARP (eseguito all’interno dell’adattatore H) sarà in grado di determinare l’indirizzo MAC associato al richiesto indirizzo IP: 222.222.222.222
Baccarelli, Cordeschi, Patriarca, Polli
114
Auto-Configurazione delle Tabelle ARP (1/5)
Inizialmente, la Tabella ARP memorizzata presso il (generico) adattatore H è vuota.Supponiamo che:o l’adattatore H ha indirizzo MAC: 1A-23-F9-CD-06-9B;o l’adattatore H fa parte dell’interfaccia con indirizzo IP:
222.222.222.220;o l’adattatore H vuole conoscere l’indirizzo MAC di un
altro adattatore (diciamo, l’adattatore F) il cui indirizzo IP è noto e pari a: 222.222.222.222;
o entrambi gli adattatori H e F fanno parte della stessasotto-rete
Baccarelli, Cordeschi, Patriarca, Polli
115
Auto-Configurazione delle Tabelle ARP (2/5)
Al fine di conoscere l’indirizzo MAC corrispondente all’indirizzo IP: 222.222.222.222, l’adattatore H procede come segue:
1) costruisce un particolare datagramma, noto come ARP QueryMessage all’interno del quale sono specificati:
o l’indirizzo MAC del nodo Sorgente : nel nostro caso, 1A-23-F9-CD-06-9B;
o l’indirizzo IP del nodo Sorgente : nel nostro caso, 222.222.222.220o l’indirizzo IP del nodo Target : nel nostro caso, 222.222.222.222o l’indirizzo MAC del nodo Target : vuoto.
Sour. MAC Address
(1A-23-F9-CD-06-9B)
Sour. IPAddress
(222.222.222.220)
Target MAC Address(vuoto)
Target IP Address
(222.222.222.222)
6 byte 6 byte4 byte4 byte
Baccarelli, Cordeschi, Patriarca, Polli
116
Auto-Configurazione delle Tabelle ARP (3/5)
2) Incapsula l’ARP Query Message in una trama che ha:o Indirizzo MAC Sorgente: quello dell’adattatore H, cioè 1A-
23-F9-CD-06-9B;o Indirizzo MAC Destinazione: FF-FF-FF-FF-FF-FF
3) Invia in broadcast la trama a tutti gli adattatori della sotto-rete di appartenenza.
4) Tutti gli adattatori della sotto-rete ricevono la Trama. Solo l’adattatore (diciamo, l’adattatore F) che fa parte del nodo con indirizzo IP pari a quello specificato nel campo Target IP Address del QueryMessage elabora la trama ricevuta.
Baccarelli, Cordeschi, Patriarca, Polli
117
Auto-Configurazione delle Tabelle ARP (4/5)
Specificatamente, l’adattatore F procede come segue:
1) estrae dalla trama ricevuta il Query Message;2) introduce nel campo: Target MAC Address del Query
Message il proprio indirizzo MAC, ossia l’indirizzo: 49-BD-D2-C7-56-2A;
3) incapsula il Query Message così completato in una trama che ha:
o Source MAC address pari a quello dell’adattatore F, ossia 49-BD-D2-C7-56-2A;
o Destination MAC address pari a quello dell’adattatore H, ossia 1A-23-F9-CD-06-9B
4) invia la trama nella sotto-rete.
Baccarelli, Cordeschi, Patriarca, Polli
118
Auto-Configurazione delle Tabelle ARP (5/5)
L’adattatore H, riceve la trama ad esso indirizzata e:
i. estrae dalla trama il Query Message;ii. aggiorna la propria Tabella ARP sulla base dei contenuti dei
campi: Target IP Address e Target MAC Address del Query Message.
Dopo l’Aggiornamento, la Tabella ARP dell’AdattoreH contiene una riga del tipo:
. . .
. . .
. . .
. . .
Indirizzo IP
222.222.222.222
Indirizzo MAC
49-BD-D2-C7-56-2A
Tempo di Vita
20 minuti
. . .
. . .
Baccarelli, Cordeschi, Patriarca, Polli
119
Trasferimento di Datagrammi tra nodi- Generalità
Gli indirizzi IP e MAC svolgono un ruolo importante quando due nodi vogliono scambiarsi datagrammi incapsulandoli nelle trame dei corrispondenti adattatori.Supponiamo che le Tabelle ARP di tutti gli adattatori coinvolti siano già state aggiornate e che, quindi, contengano tutte le coppie
< indirizzo IP, indirizzo MAC >necessarie per effettuare il trasferimento.Consideriamo separatamente due casi:
i. i due nodi che si vogliono scambiare datagrammi appartengono alla stessa sotto-rete;
ii. i due nodi che si vogliono scambiare datagrammi appartengono a due sotto-reti distinte, interconnesse mediante un router.
Baccarelli, Cordeschi, Patriarca, Polli
120
Trasferimento di Datagrammi nella stessa Sotto-Rete (1/2)Supponiamo che il nodo-Sorgente con indirizzo IP: 222.222.222.220 voglia inviare un datagramma al nodo-Destinazione con indirizzo IP: 222.222.222.222Supponiamo che i due nodi appartengano alla stessa sotto-rete (non vi sono router che interconnettono i due nodi)Supponiamo che l’adattatore S presente al nodo-Sorgente abbia indirizzo Mac: 1A-23-F9-CD-06-9B
el’adattatore D presente al nodo-Destinazione abbia indirizzo MAC: 49-BD-D2-C7-56-2A.Supponiamo che la Tabella ARP memorizzata all’adattatore S contenga la coppia:
222.222.222.222 49-BD-D2-C7-56-2A
Baccarelli, Cordeschi, Patriarca, Polli
121
Trasferimento Dati nella stessa Sotto-Rete (2/2)
Il Trasferimento procede come segue:i. il nodo-Sorgente genera un datagramma con
IP Source Address = 222.222.222.220IP Destination Address = 222.222.222.222;
ii. il nodo-Sorgente passa il datagramma al suo adattatore, ossia all’adattatore S;
iii. l’adattatore S consulta la sua Tabella ARP e trova che all’indirizzo IP Destination Address = 222.222.222.222 corrisponde il MAC Destination Address = 49-BD-D2-C7-56-2A;
iv. l’adattatore S incapsula il datagramma in una trama e ne compila i campi indirizzo come segue:MAC Source Address = 1A-23-F9-CD-06-9BMAC Destination Address = 49-BD-D2-56-2A.
v. L’adattatore S invia la trama nella sotto-rete.
Baccarelli, Cordeschi, Patriarca, Polli
122
Trasferimento di Datagrammi tra Sotto-Reti diverse (1/6)
Consideriamo ora il caso riportato in Figura, in cui il nodo-S vuole inviare un datagramma al nodo-D. I due nodi appartengono a due sotto-reti diverse , che sono interconnesse mediante un router che ha due interfacce (e, quindi, due Tabelle ARP).
Sub-net1
S A
74-29-9C-E8-FF-55
111.111.111.111
111.111.111.112
CC-49-DE-D0-AB-7D
E6-E9-00-17-BB-4B
1A-23-F9-CD-06-9B
111.111.111.110222.222.222.220
Sub-net2
B D
88-B2-2F-54-1A-0F
222.222.222.222
222.222.222.221
49-BD-D2-C7-56-2A
Baccarelli, Cordeschi, Patriarca, Polli
123
Trasferimento di Datagrammi tra Sotto-Reti diverse (2/6)
Assumiamo che:i. il nodo-S conosca l’indirizzo IP del nodo-D, ma non ne
conosca l’indirizzo MAC. Poiché il nodo-D non appartiene alla stessa sotto-rete del nodo-S, il nodo-S non può applicare ARP per acquisire l’indirizzo MAC del nodo-D;
ii. le Tabelle ARP presenti in ciascuno degli adattatori sono aggiornate, ossia contengono tutte le coppie < indirizzo IP, indirizzo MAC > delle interfacce che appartengono alla stessa sotto-rete della quale fa parte l’adattatore;
iii. ciascuna delle due interfacce del router ha memorizzata una propria Tabella ARP con le coppie di indirizzi < IP, MAC> di tutte le interfacce della sotto-rete corrispondente.
Baccarelli, Cordeschi, Patriarca, Polli
124
Trasferimento di Datagrammi tra Sotto-Reti diverse (3/6)
Il trasferimento del datagramma da nodo-S al nodo-D procede come segue:
1) il nodo-S genera un datagramma con :IP Source Address = il proprio, ossia 111.111.111.111IP Destination Address = quello del nodo-D, ossia 222.222.222.222;
2) il nodo-S usa la Tabella ARP per ricavare l’indirizzo MAC dell’interfaccia del router con indirizzo IP: 111.111.111.110. Questo indirizzo MAC è: E6-E9-00-17-BB-4B;
3) Il nodo-S passa il datagramma e l’indirizzo MAC E6-E9-00-17-BB-4B al proprio adattatore.
Baccarelli, Cordeschi, Patriarca, Polli
125
Trasferimento di Datagrammi tra Sotto-Reti diverse (4/6)
4) l’adattatore del nodo-S incapsula il datagramma in una trama, e pone i campi indirizzo della trama pari a:MAC Source Address = 74-29-9C-E8-FF-55,MAC Destination Address = E6-E9-00-17-BB-4B;
5) l’adattatore al nodo-S invia la trama nella sotto-rete;
6) l’adattatore di sinistra del router riceve la trama ad esso indirizzata, ne estrae il datagramma, ne legge l’indirizzo IP di destinazione e, sulla base di quest’ultimo, inoltra (forward) il datagramma verso l’adattatore connesso con la sotto-rete 2.
Baccarelli, Cordeschi, Patriarca, Polli
126
Trasferimento di Datagrammi tra Sotto-Reti diverse (5/6)
7) Il suddetto adattatore (quello a destra del router) fa ricorso alla propria Tabella ARP e trova che all’indirizzo IP: 222.222.222.222 contenuto nel datagramma corrisponde l’indirizzo MAC: 49-BD-D2-C7-56-2A.
8) L’adattatore a destra del router incapsula il datagramma ricevuto in una trama, i cui campi indirizzo sono posti a:MAC Source Address = 1A-23-F9-CD-06-9B,MAC Destination Address = 49-BD-D2-C7-56-2A;
Baccarelli, Cordeschi, Patriarca, Polli
127
Trasferimento di Datagrammi tra Sotto-Reti diverse (6/6)
9) l’adattatore a destra del router invia la trama nella sotto-rete 2;
10) l’adattatore al nodo-D riceve la trama ad esso indirizzata, ne estrae il datagramma e lo passa al nodo-D al quale è connesso.
Baccarelli, Cordeschi, Patriarca, Polli
128
Algoritmi di Instradamento-Introduzione
Baccarelli, Cordeschi, Patriarca, Polli
129
La funzione dell’Instradamento (1/2)
L’instradamento è una funzione decisionale:o avente lo scopo di guidare i datagrammi verso la
destinazione voluta;o svolta secondo un opportuno criterio;o attuabile mediante un opportuno algoritmo.
Nello Strato di Rete, l’instradamento viene attuato mediante la costruzione di apposite Tabelle di Instradamento in ciascun router nelle quali Tabelle ciascuna riga si riferisce ad una rotta, cioè ad un cammino tra sorgente e destinazione.
Baccarelli, Cordeschi, Patriarca, Polli
130
La funzione dell’Instradamento (2/2)
Le Tabelle di Instradamento vengono costruite tramite Algoritmi di Instradamento implementati da Protocolli di Instradamento per i quali si individuano come fattori critici:
complessitàrapidità di convergenza
traffico addizionale generatoAll’interno di ciascun router, la Tabella di Inoltro è calcolata sulla base della corrispondente Tabella di Instradamento.
Baccarelli, Cordeschi, Patriarca, Polli
131
Classificazione degli Algoritmi di Instradamento
Un modo per classificare gli Algoritmi di Instradamento è funzione del fatto che si tratti di:
1) un algoritmo di instradamento globale (o centralizzato) che è chiamato anche algoritmo basato sullo stato dei collegamenti (link-state algorithm):
o ciascun nodo usa conoscenze sulla rete complete e globali;
o dati di partenza sono le connettività fra tutti i nodi e i costi dei relativi rami;
2) un algoritmo di instradamento decentralizzato:o i nodi operano in modo interattivo e distribuito;o ogni nodo comincia con la conoscenza del costo dei
soli collegamenti che ad esso fanno capo e scambia, via via nel tempo, informazioni di instradamento solo con i nodi ad esso direttamente collegati.
Baccarelli, Cordeschi, Patriarca, Polli
132
Grafi non orientati e pesati (1/5)
Tipicamente, gli Algoritmi di Instradamento lavorano facendo riferimento alla rappresentazione mediante un grafo (non orientato) G della rete in oggetto.Per definizione, un grafo non orientato G (N, E) è costituito da un insieme N di nodi e un insieme E di rami, dove ciascun ramo èuna coppia (a,b) non ordinata di nodi appartenenti ad N.
Baccarelli, Cordeschi, Patriarca, Polli
133
Grafi non orientati e pesati (2/5)
Il numero dei nodi che compongono N èindicato con |N|.Il numero di rami che compongono E èindicato con | E |.Nel contesto della rete Internet,
i. i nodi del grafo rappresentano i router (cioè, i nodi di commutazione della rete);
ii. i rami del grafo rappresentano i canali trasmissiviche interconnettono i router.
Baccarelli, Cordeschi, Patriarca, Polli
134
Grafi non orientati e pesati (3/5)
Come indicato in Figura, ad ogni ramo (x,y) di G è associato un numero reale non negativo c(x,y) detto costo del ramo.Poiché il grafo non è orientato, i rami (x,y) e (y,x) hanno lo stesso costo, ossia:
c(x,y) = c(y,x).Per convenzione, se il ramo (x,y) non fa parte del grafo G, allora si pone c(x,y) = +∞
V
U
X Y
Z
W2 5
3
5
21
32
1
1
Baccarelli, Cordeschi, Patriarca, Polli
135
Grafi non orientati e pesati (4/5)Per definizione, i vicini di un nodo x sono tutti e soli i nodi del grafo che hanno un ramo che li collega a x. L’insieme dei nodi vicini di un nodo x verrà indicato con V(x).Supponiamo che x e w siano due nodi di G (N, E). Per definizione, un cammino da x a y è una sequenza ordinata di nodi
< n0, n1, n2,…, nL >tale che:
i. x ≡ n0 e w ≡ nL (il cammino inizia in x e termina in y),ii. la coppia (ni-1, ni) è un ramo del grafo G, per ogni i=1,…,L,
ossia(ni-1, ni) ∊ E, per ogni i = 1,…,L.
Baccarelli, Cordeschi, Patriarca, Polli
136
Grafi non orientati e pesati (5/5)
Per definizione, il costo di un cammino < x ≡ n0, n1, n2,…, nL ≡ w > è la somma dei costi dei rami che compongono il cammino stesso, ossia:
c(x = n0, n1)+ c(n1, n2)+ …+ c(nL-1, cL ≡ w ).Per definizione, un ciclo in un grafo G è un cammino:
< x ≡ n0, n1, n2,…, nL ≡ x >che ha inizio e fine in uno stesso nodo x del grafo.Per definizione, un grafo G <N, E > si dice connessose , assegnati due qualunque nodi distinti x e w del Grafo, c’è almeno un cammino che collega x a w.
Baccarelli, Cordeschi, Patriarca, Polli
137
Alberi (1/3)Supponiamo assegnato un grafo G <N, E > . Per definizione, il grafo G costituisce un albero se:
i. è connesso;ii. non ha cicli.
Si può dimostrare che se G <N, E > è un albero, allora:
i. il numero di rami | E | è pari a | N |-1;ii. ogni nodo dell’albero può essere preso come radice;iii. i nodi dell’albero possono essere partizionati in livelli, in cui
il livello m-mo è costituito da tutti i nodi dell’albero che distano m-rami dal nodo radice.
Baccarelli, Cordeschi, Patriarca, Polli
138
Alberi- Esempio (2/3)Il Grafo seguente è un esempio di albero a 3 livelli.
xy
z
A B
H
Radice
livello 1
livello 2
livello 3
32
5
2 3
Baccarelli, Cordeschi, Patriarca, Polli
139
Alberi- Esempio (3/3)
Per definizione, le foglie di un albero sono i nodi terminali, ossia quelli che non hanno nodi discendenti.
L’albero dell’esempio precedente ha come foglie i nodi:x, z, H, B
Baccarelli, Cordeschi, Patriarca, Polli
140
Alberi Ricoprenti un Grafo (1/2)
Supponiamo assegnato un grafo G <N, E > di struttura arbitraria.Per definizione, un “albero ricoprente il grafo G ” è un grafo <N, > che gode delle seguenti tre proprietà:
i. è un albero;ii. ha lo stesso insieme N di nodi del grafo G;iii. l’insieme dei rami è un sotto-insieme
dell’insieme E dei rami del grafo G, ossia:E G
⊆E E
EG
Baccarelli, Cordeschi, Patriarca, Polli
141
Alberi Ricoprenti un Grafo (2/2)
Un grafo G <N, E > può avere più alberiche lo ricoprono. Per definizione, un
albero G* ricoprente G è detto essere albero ricoprente minimale se, tra tutti gli alberi che ricoprono G, G* è quello per cui èminima la somma dei costi associati ai rami che compongono l’albero.
, ,…G G1 2
Baccarelli, Cordeschi, Patriarca, Polli
142
Algoritmi per l’Instradamento Ottimo
Baccarelli, Cordeschi, Patriarca, Polli
143
Algoritmi di Instradamento Ottimo (1/2)
Supponiamo assegnato un grafo G <N, E > connesso e indichiamo con x, w due nodi distinti di N.In generale, esistono più cammini nel grafo G che connettono il nodo x al nodo w. Ciascuno di questi cammini ha un suo costo.Il Problema dell’Instradamento Ottimo èquello di individuare il cammino a costo minimo tra x e w, per ogni coppia di nodi x, w che appartiene a N, con x ≠ w.
Baccarelli, Cordeschi, Patriarca, Polli
144
Algoritmi di Instradamento Ottimo (2/2)
Assegnato un grafo G <N, E > connesso, gli algoritmi che permettono di individuare i cammini a costo minimo tra una qualsiasi coppia di nodi (x, w) di N sono detti Algoritmi di Instradamento Ottimo.Nella Rete Internet, vengono impiegati duealgoritmi di instradamento ottimo:
i. L’Algoritmo di Dijkstraii. L’Algoritmo Distance Vector.
Baccarelli, Cordeschi, Patriarca, Polli
145
Algoritmo di Dijkstra- Generalità(1/3)
Supponiamo assegnato un grafo G <N, E > non orientato, pesato e connesso. Indichiamo con x ∊ Nuno (qualsiasi) dei nodi di G.L’Algoritmo di Dijkstra permette di individuare gli (|N|-1) cammini a costo minimo da x a tutti gli altri (|N|-1) nodi del grafo G.L’Algoritmo di Dijkstra è un algoritmo di instradamento globale (ovvero centralizzato, ovvero di tipo Link-State (LS)). Ciò significa che:
o Il nodo x deve conoscere l’intero grafo G <N, E > della rete a cui appartiene per poter applicare l’algoritmo di Dijkstra.
Baccarelli, Cordeschi, Patriarca, Polli
146
Algoritmo di Dijkstra-Generalità (2/3)
L’ Algoritmo di Dijkstra è un algoritmo iterativoche si compone (esattamente) di |N| passi.Al passo k-mo, sono individuati i k cammini a costo minimo congiungenti a k nodi distinti di G. Tali k nodi costituiscono l’insieme Sk.Al passo (k+1)-mo, si forma l’insieme Sk+1aggiungendo un ulteriore nodo all’insieme Sk. Specificatamente, si aggiunge a Sk quel nodo di N che è raggiungibile da attraverso il cammino a costo minore che transita esclusivamente attraverso i nodi dell’insieme Sk.
x
x
Baccarelli, Cordeschi, Patriarca, Polli
147
Algoritmo di Dijkstra- Generalità(3/3)
Viene aggiunto all’insieme Sk il nodo n caratterizzato dal cammino di lunghezza minima con il nodo sorgente e che transita esclusivamente in nodi dell’insieme Sk.
Situazione al passo k+1
x2
x1
Xk-1
xi
n
Insieme Sk
Insieme Sk+1
x x
Baccarelli, Cordeschi, Patriarca, Polli
148
Algoritmo di Dijkstra – Strutture datiSupponiamo che l’algoritmo di Dijkstra sia eseguito al nodo-Sorgente .Supponiamo che conosca il grafo G <N, E> dell’intera rete di cui fa parte.Indichiamo con:
i. D(v) il costo del cammino dal nodo al nodo vindividuato alla iterazione corrente dell’algoritmo;
ii. p(v) il nodo predecessore di v lungo il cammino da a v individuato alla iterazione corrente dell’algoritmo;N* il sotto-insieme dei nodi per i quali sono stati calcolati definitivamente i cammini a costo minimo dal nodo sorgente .
xx
x
x
x
Baccarelli, Cordeschi, Patriarca, Polli
149
Algoritmo di Dijkstra –Descrizione dettagliata
1. /* Inizializzazione */2. N* := { };3. Per tutti i nodi v ∈ (N \ N*)4. se v è adiacente ad5. allora D(v) := c ( ,v) e p(v):= { };
altrimenti D(v) := +∞ e p(v):=Ø;
6. Loop /* ciclo ripetuto (|N|-1 volte) */7. Individua un nodo w N* tale che D(w) è minima;8. Aggiungi w a N*;9. Aggiorna D(v) e p(v) per tutti i nodi v adiacenti a w e che
non sono in N* come segue:10. D(v) := min {D(v), D(w) + c (w,v)};
11. p(v) := ;
12. Until N*= N.
p(v), se D(v) non è cambiato
w, se D(v) è cambiato
∉
x
xx x
Baccarelli, Cordeschi, Patriarca, Polli
150
Algoritmo di Dijkstra - CommentiL’algoritmo termina in esattamente |N| passi.Le (|N| -1) coppie {D(v), p(v), v ∈ (N - { })} ottenute alla fine dell’algoritmo danno:
i. Il costo del cammino a costo minimo da a v ; ii. Il nodo predecessore di v sul cammino a costo
minimo da a v.
I Passi 8 e 11 dell’algoritmo richiedono che il nodo conosca l’intero grafo G < N, E > della rete alla quale è connesso. A sua volta, questo richiede che ciascun nodo w ∈ N comunichi a tutti gli altri nodi della rete i costi di tutti i rami ad esso direttamente connessi.
x
x
x
x
Baccarelli, Cordeschi, Patriarca, Polli
151
Algoritmo di Dijkstra -Complessità
Il Ciclo in linea 7 viene ripetuto (|N| -1) volte.Alla k-ma iterazione, il passo in linea 8 esegue la ricerca di un nodo w su un insieme di (|N| - k) nodi.Quindi, il costo computazionale complessivo per l’esecuzione del Ciclo è di:
(|N| - 1) + (|N| - 2) + (|N| - 3) + … + 2 + 1 = (|N| -1)|N|/2
In definitiva, eseguire l’Algoritmo di Dijkstra al nodo comporta un peso computazionale dell’ordine di
O(|N|2) ,che, quindi, cresce con il quadrato del numero di nodi che compongono la rete.
x
Baccarelli, Cordeschi, Patriarca, Polli
152
Algoritmo di Dijkstra – Esempio (1/2)
uxyvwz5
4,yuxyvw4
4,y3,yuxyv3
4,y3,y2,uuxy2
∞2,x4,x2,uux1
∞∞1,u5,u2,uu0
D(z), p(z)D(y), p(y)D(x), p(x)D(w), p(v)D(v), p(v)N*passo
u
yx
wv
z2
21
3
1
1
2
53
5
Baccarelli, Cordeschi, Patriarca, Polli
153
Algoritmo di Dijkstra – Esempio (2/2)
u
yx
wv
z
Cammini a costo minimo risultanti dal nodo u
1
11
2
2
vxywz
uuxyy
Nodo Destinazione Nodo precedente
Tabella di instradamento risultante in u
Baccarelli, Cordeschi, Patriarca, Polli
154
Algoritmo Distance Vector (DV) -Generalità
Supponiamo assegnato un grafo G < N, E > e indichiamo con un suo nodo.Come l’Algoritmo di Dijkstra, anche l’algoritmo DV è un algoritmo per l’instradamento ottimo che consente di calcolare i cammini a costo minimo da a tutti gli altri ((|N| -1) nodi del grafo.A differenza dell’Algoritmo di Dijkstra, l’Algoritmo DV è un algoritmo di instradamento di tipo:
i. Distribuito : ciascun nodo di rete scambia informazioni (Tabelle di instradamento) solo ed esclusivamente con i suoi nodi vicini;
ii. Iterativo : il processo di scambio di informazioni di instradamento tra nodi adiacenti continua sin tanto che l’informazione scambiata in due passi consecutivi è la stessa;
iii. Asincrono : lo scambio di informazioni (Tabelle di Instradamento) tra coppie diverse di nodi adiacenti puòavvenire in istanti temporali diversi.
x
x
Baccarelli, Cordeschi, Patriarca, Polli
155
Il Principio di Bellman-Ford (BF)-Enunciato (1/2)
L’algoritmo DV applica iterativamente il cosìdetto Principio di Bellman-Ford.Siano:– e y due nodi (distinti) del grafo G;– v un nodo vicino di ;– V( ) l’insieme di tutti i nodi vicini di ;– d (y) il costo del cammino a costo minimo da a y;– dv (y) il costo del cammino a costo minimo da v a y.
xx
x x
x x
Baccarelli, Cordeschi, Patriarca, Polli
156
Il Principio di Bellman-Ford (BF) : Enunciato (2/2)
Allora, il Principio di Bellman-Ford asserisce quanto segue:
il cammino a costo minimo da a y non può che essere la prosecuzione del cammino a costo minimo da uno dei nodi v vicini di al nodo y.
x
x
Baccarelli, Cordeschi, Patriarca, Polli
157
Il Principio di BF – Formula (1/2)
In formule, il Principio di BF è rappresentato dalla relazione seguente:
La relazione precedente è detta Equazione di BF.
( )( ) min{ ( , ) ( )}x vv V x
d y c x v d y∈
= +
Baccarelli, Cordeschi, Patriarca, Polli
158
Il Principio di BF – Formula (2/2)
La prova della validità dell’Equazione di BF èpiuttosto diretta. Infatti,
i. Dopo essere andati da a v, se seguiamo il cammino a costo minimo da v a y, il costo complessivo del cammino risultante è: c( ,v) + dv(y);
ii. Poiché il cammino da a y deve per forza prevedere il passaggio da ad un qualche vicino di , ne deriva che il costo minimo da a y è il minimo delle somme {c( ,v) + dv(y)} al variare di v nell’insieme V( ) dei vicini di .
x
x
xx
x xx
xx
Baccarelli, Cordeschi, Patriarca, Polli
159
Il Principio di BF - Esempio
u
yx
wv
z2
21
3
1
1
2
53
5du(z) = min { c(u,v) + dv(z),
c(u,x) + dx(z),c(u,w) + dw(z) }
= min {2 + 5,1 + 3,5 + 3} = 4
L’equazione di BF ci dice che:
I nodi vicini del nodo u sono: v, x, w;Chiaramente: dv(z) = 5, dx(z) = 3, dw(z) = 3
Il valore minimo precedente è ottenuto:i. Passando da u a x;ii. Seguendo il cammino a costo minimo da x a z;
quindi, nella Tabella di Instradamento del nodo u, il nodo x è indicatocome nodo successivo (next-node) per il raggiungimento del nodo z.
Baccarelli, Cordeschi, Patriarca, Polli
160
L’equazione di BF e la Tabella di Instradamento
Il nodo v* soluzione dell’equazione di BF:
è il successivo nodo verso il quale il nodo deve instradare (dirigere) i suoi datagrammi per raggiungere il nodo destinazione y attraverso il cammino a costo minimo.Quindi, la costruzione della Tabella di Instradamento al nodo richiede che il nodo risolva l’equazione di BF per ogni altro nodo-destinazione y presente nella rete.L’algoritmo DV non è altro che una procedura di tipo iterativo, asincrono e distribuito per risolvere le Equazioni di BF ad ogni nodo della rete.
( )( ) min{ ( , ) ( )}x vv V x
d y c x v d y∈
= +x
x x
x
Baccarelli, Cordeschi, Patriarca, Polli
161
L’Algoritmo DV – La Struttura dei Dati
Per poter applicare l’algoritmo DV, ciascun nodo del grafo G < N, E > deve memorizzare al suo interno i seguenti dati:
i. L’insieme {c( ,v), v ∈V( )} dei costi dei canali che collegano a ciascuno dei suoi nodi vicini;
ii. Il vettorecontenente le stime dei costi dei cammini da ad ogni altro nodo y del grafo;
iii. L’insieme dei vettori delle stime dei costi dei cammini da v ad ogni altro nodo y del grafo, per ogni nodo che è un vicino di
.
x
[ ]{ }( ), , ( )v vD D y y v V x= ∈ ∈N
x
x xx[ ]( ), x xD D y y= ∈N
x
Baccarelli, Cordeschi, Patriarca, Polli
162
L’Algoritmo DV – L’idea di base (1/2)
In linea di massima, l’algoritmo DV procede come segue:i. Di tanto in tanto, ciascun nodo v della rete invia il
proprio vettore delle distanze a tutti e soli io suoi nodi adiacenti;
ii. Quando un nodo riceve un nuovo vettore delle distanze da uno qualsiasi dei suoi nodi adiacenti, il nodo salva il vettore delle distanze ricevuto, e, poi, aggiornail contenuto del proprio vettore delle distanze in accordo all’equazione di BF, ossia in accordo a:
vD
{ }( )
( ) : min ( ) ( , ) , .x vv V xD y D y c x v y
∈= + ∀ ∈N
xx
Baccarelli, Cordeschi, Patriarca, Polli
163
L’Algoritmo DV – L’idea di base (2/2)
iii. Se e solo se il contenuto del risultante vettore delle distanze
è variato (in una o più delle sue componenti) per effetto dell’aggiornamento effettuato, allora il nodo invia il suo nuovo vettore delle distanze a tutti e soli i suoi nodi adiacenti
v ∈V( ).iv. Si può dimostrare che, quando non c’è più alcuno
scambio di vettori delle distanze memorizzato in ciascun nodo contiene proprio i costi dei percorsi a costo minimo che connettono a tutti gli altri nodi y ∈N della rete.
( ) [ ( ), ]x xD y D y y= ∈ N
( ) [ ( ),x xD y D y y= ∈ ]N
x
x
vD
xx
Baccarelli, Cordeschi, Patriarca, Polli
164
L’Algoritmo DV eseguito al nodo x1. /* Inizializzazione */2. Per tutti i nodi y ∈N - { }
3. Poni
4. Per ciascun nodo adiacente v ∈ V( ) di 5. poni Dv(y):= + ∞, per ogni y ∈N - {v };6. Per ciascun nodo adiacente v ∈ V( ) di7. invia il vettore Distanze a v;
8. Loop /* fase iterativa e asincrona */9. Attendi (la ricezione di un Vettore Distanze inviatoti da un tuo vicino oppure il
cambiamento del costo di uno dei canali a te collegati);10. Per ciascun y ∈N - { }11. calcola12. aggiorna /* è la soluzione dell’eq BF */13. costruisci14. Se è cambiato dal passo precedente15. Allora invia a tutti i tuoi vicini v ∈ V( );16. Torna alla riga 9 del programma.
( ) [ ( ), ]x xD y D y y= ∈ N
xD
( , ),se ( )( ) :
,se ( )x
c x y y V xD y
y V x∈⎧
= ⎨ +∞ ∉⎩
{ }( )
( ) : m i n ( ) ( , ) ;x vv V xD y D y c x v
∈= +
( ) : { * } ;xp y v=( ) [ ( ), ]x xD y D y y= ∈ N
x
xx
xx
x
x x
Baccarelli, Cordeschi, Patriarca, Polli
165
L’Algoritmo DV - CommentiIl nodo aggiorna il suo vettore delle distanze solo quando: i. Riceve un nuovo Vettore delle Distanze da uno dei suoi nodi
vicini;ii. Si verifica una variazione in uno dei costi {c( ,v), v ∈V ( )}
dei canali ad esso direttamente connessi (vedi Linea 9);in Linea 12 è aggiornato col nodo v* soluzione
dell’Equazione di BF per il cammino ottimo da a y; quindi v* è il nodo successivo al quale deve inviare i datagrammi diretti a y. v* è, quindi, memorizzato nella Tabella di Instradamento del nodo come nodo successivo del cammino ottimo da a y.Nell’algoritmo DV, lo scambio dei Vettori delle Distanze avviene solo tra coppie di nodi adiacenti (vedi le Linee 6, 7, 15). Per questo motivo, l’algoritmo DV è di tipo distribuito.
x xD
x x
( )xp yx
xx
x
Baccarelli, Cordeschi, Patriarca, Polli
166
Esempio di applicazione dell’Algoritmo DV (1/2)
7 1 0
x y zxyz
0 2 7∞∞ ∞∞∞ ∞
from
cost to
from
from
x y zxyz
0fr
om
cost to
x y zxyz
∞ ∞
∞∞ ∞
cost to
x y zxyz
∞∞ ∞
cost to
∞2 0 1
∞ ∞ ∞
2 0 17 1 0
x z12
7
y
node x table
node y table
node z table
Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)} = min{2+0 , 7+1} = 2
Dx(z) = min{c(x,y) + Dy(z), c(x,z) + Dz(z)}
= min{2+1 , 7+0} = 3
32
time
Baccarelli, Cordeschi, Patriarca, Polli
167
Esempio di applicazione dell’Algoritmo DV (2/2)
node x table
node y table
node z table
x y zxyz
0 2 7∞∞ ∞∞∞ ∞
from
cost to
from
from
x y zxyz
0 2 3
from
cost tox y z
xyz
0 2 3fr
omcost to
x y zxyz
∞ ∞
∞∞ ∞
cost tox y z
xyz
0 2 7
from
cost tox y z
xyz
0 2 3
from
cost to
x y zxyz
0 2 3
from
cost tox y z
xyz
0 2 7
from
cost tox y z
xyz
∞∞ ∞7 1 0
cost to
∞2 0 1
∞ ∞ ∞
2 0 17 1 0
2 0 17 1 0
2 0 13 1 0
2 0 13 1 0
2 0 1
3 1 02 0 1
3 1 0
time
x z12
7
y
Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)} = min{2+0 , 7+1} = 2
Dx(z) = min{c(x,y) + Dy(z), c(x,z) + Dz(z)}
= min{2+1 , 7+0} = 3
Baccarelli, Cordeschi, Patriarca, Polli
168
Confronto tra gli algoritmi Dijkstra e DV
I due algoritmi convergono alla stessa soluzione ottima.
L’algoritmo DV è (teoricamente) più complesso; ma nei casi pratici i due algoritmi si equivalgono.
L’algoritmo di Dijkstra richiede che un nodo conosca l’interatopologia della rete e il peso (stato) di tutti i rami
• Necessità di colloquio tra tutte le coppie di nodi
L’algoritmo DV richiede la conoscenza dello stato dei rami uscentida un nodo insieme alle informazioni provenienti dai soli nodi vicini
• Possibilità di colloquio solo tra nodi adiacenti (implementazione distribuita)
Baccarelli, Cordeschi, Patriarca, Polli
169
Algoritmi per l’instradamento gerarchico
Baccarelli, Cordeschi, Patriarca, Polli
170
Instradamento gerarchico –Motivazioni (1/2)
Fino ad ora, abbiamo considerato la Rete Internet come un insieme omogeneo di sotto-reti interconnesse da router che espletano le medesime funzioni ed applicano un medesimoalgoritmo per l’instradamento dei datagrammi.Questa visione omogenea delle Rete Internet in cui tutti i router sono “alla pari ” tra di loro e svolgono le stesse funzioni è detta visione non gerarchica (o piatta) della Rete Internet.
Baccarelli, Cordeschi, Patriarca, Polli
171
Instradamento gerarchico –Motivazioni (2/2)
Con il crescere del numero di nodi (router e utenti) interconnessi alla Rete Internet, la visione piatta è risultata sempre più inadeguata, per almeno due motivi:
i. Motivi di scala (ovvero, di dimensioni)Ad oggi, la rete Internet consiste di circa 200 milioni di utenti. E’quindi impensabile che ciascuno dei router che interconnette gli utenti memorizzi Tabelle di Instradamento che indirizzino esplicitamente tutti i possibili utenti di Internet;
ii. Motivi di autonomia amministrativaInternet è costituita da sotto-reti e, tipicamente, ciascuna sotto-rete è gestita da uno (specifico) amministratore. In genere, amministratori distinti tendono a gestire e organizzare le proprie sotto-reti secondo modalità (politiche) distinte. Ad esempio, amministratori distinti possono voler attribuire significati diversi ai costi da associare ai canali presenti nelle proprie sotto-reti, o possono voler applicare algoritmi di instradamento diversi nell’ambito delle sotto-reti di competenza.
Baccarelli, Cordeschi, Patriarca, Polli
172
Sistemi Autonomi (1/2)Queste due esigenze hanno portato a sviluppare una visione (modello) gerarchico della Rete Internet, in cui i router sono organizzati in una gerarchia di piùlivelli, con i router di livello più basso che svolgono funzioni più semplici di quelli di livello più elevato.Specificatamente, nel modello gerarchico, la rete Internet è partizionata in Sistemi Autonomi(Autonomous Systems - ASs).Per definizione, un Sistema Autonomo ècaratterizzato da:i. Essere composto da una o più sottoreti interconnesse da
router che applicano uno stesso algoritmo di instradamento per scambiarsi datagrammi;
ii. Essere amministrato (gestito) da un unico amministratore (entità legale).
Baccarelli, Cordeschi, Patriarca, Polli
173
Sistemi Autonomi (2/2)In ciascun Sistema Autonomo, sono presenti uno o piùrouter che connettono il Sistema Autonomo ad altri(uno o più) Sistemi Autonomi. Questi router sono detti “Gateway Router” (Router di Porta).L’algoritmo di instradamento che ciascun Sistema Autonomo impiega al suo interno è detto Algoritmo di Instradamento Intra-Sistema Autonomo (Intra-ASRouting Algorithm). Sistemi Autonomi distinti possono impiegare differenti protocolli d’ instradamento intra-AS.L’algoritmo di instradamento che i Gateway Router di tutti i Sistemi Autonomi debbono condividere per poter scambiarsi datagrammi tra di loro è detto Algoritmo di Instradamento Inter-Sistema Autonomo(Inter-AS Routing Algorithm).
Baccarelli, Cordeschi, Patriarca, Polli
174
Sistemi Autonomi – Esempio 1 (1/2)
Sotto-rete B.2
Sotto-rete B.1
R5 R4
R6R3
R1
R2
Sottorete A.2
Sottorete A.1
Sistema Autonomo B
Sistema Autonomo A
Baccarelli, Cordeschi, Patriarca, Polli
175
Sistemi Autonomi – Esempio 1 (2/2)
Nell’Esempio 1,i. Il sistema autonomo A ha tre router (R1, R2, R3) e due sotto-
reti. I router R2 e R3 sono i Gateway Router del Sistema Autonomo A;
ii. Il sistema autonomo B ha tre router (R4, R5, R6) e due sotto-reti. I router R5 e R6 sono i Gateway Router del Sistema Autonomo B;
iii. I router R1, R2, R3 comunicano mediante un medesimo algoritmo di Instradamento intra-AS. I Router R4, R5, R6comunicano mediante un medesimo algoritmo di Instradamento intra-AS. I due algoritmi di instradamento intra-AS adottati possono essere diversi tra di loro.
iv. Le coppie di Gateway Router (R2, R5) e (R3, R6) comunicano adottando un medesimo algoritmo di instradamento inter-ASper entrambe le coppie.
Baccarelli, Cordeschi, Patriarca, Polli
176
Sistemi Autonomi – Esempio 2 (1/2)
3b
1d
3a
1c2aAS3
AS1AS2
1a
2c2b
1b
Intra-ASRouting algorithm
Inter-ASRouting algorithm
Tabella di Instradamento
3c
Baccarelli, Cordeschi, Patriarca, Polli
177
Sistemi Autonomi – Esempio 2 (2/2)
La Rete dell’Esempio 2 è costituita da tre Sistemi Autonomi.
i. Il sistema AS1 è composto dai router 1c, 1a, 1d, 1b ed ha 1b e 1c come Gateway Router;
ii. Il sistema AS2 è composto dai router 2a, 2b, 2c ed ha 2a come Gateway Router;
iii. Il sistema AS3 è costituito dai router 3a, 3b, 3c ed ha 3a come Gateway Router;
iv. Le coppie (3a, 1c) e (1b, 2a) di Gateway Router comunicano tra loro mediante l’Algoritmo di Instradamento inter-AS.
Baccarelli, Cordeschi, Patriarca, Polli
178
Funzioni dell’Algoritmo di Instradamento Inter-AS
Un algoritmo (o, meglio, protocollo) di Instradamento Inter-AS deve adempiere a 3 funzioni principali:i. Deve permettere a ciascun AS di apprendere quali sono le
sotto-reti della intera Rete Internet raggiungibili attraverso i Sistemi Autonomi direttamente collegati (adiacenti) ad AS stesso (informazioni di raggiungibilità);
ii. Deve propagare l’informazione di raggiungibilità a tutti i router che costituiscono il sistema autonomo AS, così che ogni router interno ad AS conosca a quale sistema autonomo adiacente debba inoltrare un datagramma con un prefissato indirizzo IP di destinazione (propagazione delle informazioni di raggiungibilità);
iii. Indicare a ciascun router interno ad AS a quale Gateway Router di AS inviare ciascun datagramma di assegnato indirizzo IP di destinazione (informazione di rotta).
Baccarelli, Cordeschi, Patriarca, Polli
179
Interazione tra gli algoritmi di Instradamento Inter-AS e Intra-AS
(1/5)Da quanto esposto, ne deduciamo che la Tabella di Instradamento di ciascun router appartenente ad un Sistema Autonomo è aggiornata congiuntamente sulla base sia dell’algoritmo di Instradamento Intra-ASche di quello Inter-AS.Infatti,i. L’algoritmo di Instradamento intra-AS specifica a ciascun
router di un Sistema Autonomo A come raggiungere destinazioni che sono all’interno del Sistema Autonomo A stesso;
ii. L’algoritmo di instradamento inter-AS specifica a ciascun router del Sistema Autonomo A quale sia il Gateway Router di A al quale inviare un datagramma con assegnato indirizzo IP di destinazione.
Baccarelli, Cordeschi, Patriarca, Polli
180
Interazione tra gli algoritmi di Instradamento Inter-AS e Intra-AS: la strategia “hot potato” (2/5)
Con riferimento alla figura seguente,
3b
1d
3a
1c2aAS3
AS1AS2
1a
2c2b
1b
3cx… …
Baccarelli, Cordeschi, Patriarca, Polli
181
Interazione tra gli algoritmi di Instradamento Inter-AS e Intra-AS: la
strategia “hot potato” (3/5)Supponiamo che:
o AS1 abbia appreso dall’algoritmo di instradamento inter-AS che la sotto-rete x è raggiungibile siaattraverso AS3 (mediante il Gateway router 1c) siaattraverso AS2 (mediante il Gateway router 1b);
o Il router 1d (interno a AS1) voglia inviare un datagramma alla sotto-rete di destinazione x;
Nasce il seguente problema:Il router 1d dovrebbe inviare il suo datagramma al Gateway router 1c oppure al Gateway router 1b?
Baccarelli, Cordeschi, Patriarca, Polli
182
Interazione tra gli algoritmi di Instradamento Inter-AS e Intra-AS:
la strategia “hot potato” (4/5)Il router 1d opera al seguente modo:i. Applica l’algoritmo di instradamento intra-AS per calcolare i
costi dei cammini a costo minimo da 1d a 1c e da 1d a 1b;ii. Sceglie dei due cammini quello col costo minimo più basso.
La politica di instradamento ora descritta consiste, quindi, nell’inviare il datagramma al Gateway router più vicino tra quelli che consentono di trasferire il datagramma alla destinazione finale desiderata e viene detta “politica di instradamento della patata bollente” (hot potato routing strategy).
Baccarelli, Cordeschi, Patriarca, Polli
183
Interazione tra gli algoritmi di Instradamento Inter-AS e Intra-AS:
riepilogo (5/5)In definitiva, le operazioni che ciascun router di un Sistema Autonomo compie per aggiornare la propria Tabella di instradamento sulla base delle informazioni fornitegli dagli algoritmi di instradamento intra-AS e inter-AS possono essere così riassunte:i. Dall’algoritmo di instradamento inter-AS, il router apprende
che la sottorete con indirizzo IP z è raggiungibile attraverso più gateway;
ii. Il router applica l’algoritmo di instradamento intra-AS per calcolare i costi dei percorsi a costi minimi verso i suddetti gateway;
iii. Il router sceglie il gateway al quale corrisponde il cammino a costo minimo inferiore (hot potato strategy);
iv. Dalla Tabella di instradamento in esso memorizzata, il router individua la porta di uscita I che lo connette al gateway prescelto. Il router aggiorna la propria Tabella di instradamento aggiungendovi la riga con contenuto: < z,I >.
Baccarelli, Cordeschi, Patriarca, Polli
184
I protocolli di Instradamento di Internet
Baccarelli, Cordeschi, Patriarca, Polli
185
I Protocolli di Instradamento –Generalità (1/2)
Nello Strato di Rete di Internet, gli algoritmi di Instradamento precedentemente esaminati vengono attuati mediante opportuni Protocolli di Instradamento.I Protocolli di Instradamento più usati sono:
o Il Routing Information Protocol (RIP) e l’Open Shortest Path First (OSPF) come Protocolli di Instradamento intra-AS;
o Il Border Gateway Protocol (BGP) come Protocolli di Instradamento inter-AS.
Baccarelli, Cordeschi, Patriarca, Polli
186
I Protocolli di Instradamento –Generalità (2/2)
Indipendentemente dall’ Algoritmo di Instradamento implementato, il fine ultimo di ogni Protocolli di Instradamento è quello di:
i. Modificare/aggiornare la Tabella di Instradamento presente in ciascun router;
ii. Permettere a ciascun router di:o Consegnare il datagramma ad una delle sotto-
reti alle quali il router è direttamente connesso;
oppureo Indirizzare il datagramma al successivo router
(next-router) lungo il cammino verso la destinazione finale.
Baccarelli, Cordeschi, Patriarca, Polli
187
Tabelle di Instradamento (1/2)
Il meccanismo per l’instradamento in IP è basato su una Tabella che ogni utente o router mantiene allo scopo di conoscere le possibili destinazioni e le modalità per raggiungerle. Una Tabella di Instradamento contiene delle coppie (R, I) dove R è l’indirizzo IP della rete di destinazione e I èl’indirizzo del prossimo router (next-router) lungo la strada che porta alla rete di destinazione.La Tabella di Instradamento specifica quindi solo un passo lungo il cammino verso la destinazione; un router non conosce quindi il cammino completo che il datagramma dovrà compiere.
Baccarelli, Cordeschi, Patriarca, Polli
188
Tabelle di Instradamento (2/2)
Al fine di limitare le dimensioni delle le Tabelle di Instradamento, le Tabelle contengono solo informazioni sulle reti di destinazione e non sui singolo nodi (prefissi delle reti di destinazione).Se un router non trova una rotta nella sua Tabella di Instradamento, allora indirizza i suoi datagrammi verso un “router di default”(generalmente un router più potente, destinato principalmente ad operazioni di instradamento).
Baccarelli, Cordeschi, Patriarca, Polli
189
Aggiornamento delle Tabelle di Instradamento
Le Tabelle di Instradamento sono dinamiche, ossia:– ogni router ed ogni terminale “impara” nel tempo ed
aumentano le informazioni di instradamento in loro possesso aggiornandole nel tempo.
La necessità di un aggiornamento dinamico è dovuta al fatto che Internet non può essere considerata stabile.– In caso di guasti alcune rotte non sono più utilizzabili.
Infine, se l’instradamento usa un algoritmo adattativo, allora l’aggiornamento deve anche tener conto dello stato di occupazione delle risorse di rete:– Le Tabelle di Instradamento devono quindi tenere conto di
tutti questi cambiamenti ed essere aggiornate continuamente (anche ad intervalli di pochi secondi).
Baccarelli, Cordeschi, Patriarca, Polli
190
Struttura generale di un Protocollo di Instradamento al nodo x
1. Estrai l’indirizzo IP di destinazione dal datagramma in arrivo;2. Se tale indirizzo coincide con quello X (cioè con se stesso), estraine il
contenuto informativo e consegnalo agli strati superiori per l’ulteriore elaborazione;
3. Altrimenti, determina la sotto-rete di destinazione e decrementa il Time-To-Live del datagramma: se il Time-To-Live è arrivato a zero, scarta il datagramma;
4. Se la sotto-rete di destinazione coincide con quella della rete a cui èdirettamente connesso il router X (cioè se stesso), invialo direttamente (cioè con istradamento diretto; ciò implica tradurre l’indirizzo IP in indirizzo MAC ed incapsularlo nell’unità dati della rete in questione);
5. Altrimenti, se è stata richiesta una rotta specifica, invialo su tale rotta;6. Altrimenti, se la sotto-rete di destinazione è compresa nella Tabelle di
Instradamento, indirizza il datagramma come specificato nella Tabella;7. Altrimenti, se è stata specificata una strada di default, invia il datagramma
al “default gateway”;8. Altrimenti dichiara un errore di instradamento e scarta il datagramma.
Baccarelli, Cordeschi, Patriarca, Polli
191
Protocollo RIP - GeneralitàIl Routing Information Protocol (RIP) implementa l’algoritmo di instradamento Distance Vector (DV). Come tale, RIP è:
i. Asincrono;ii. Iterativo;iii. Distribuito: ciò significa che ogni router invia/riceve le Tabelle
di Instradamento solo dai router ad esso adiacenti.Per definizione, nel gergo di RIP, due router sono adiacenti se sono connessi mediante una singola sotto-rete.Per definizione, RIP pone pari a 1 il costo di ciascun collegamento tra una qualsiasi coppia di router adiacenti. Ciò implica che i percorsi a costo minimo calcolati da RIP sono quelli a numero minimo di connessioni (cioè quelli a numero minimo di “hop”).RIP può essere applicato all’interno di Sistemi Autonomi di dimensioni limitate, con ciò si intende dire che il massimo numero di “hop” tra due router del Sistema Autonomo non può essere superiore a 15.
Baccarelli, Cordeschi, Patriarca, Polli
192
Le Tabelle di Instradamento di RIP - Struttura
Consideriamo un (generico) router D facente parte di un assegnato Sistema Autonomo.La Tabella di Instradamento del router D ha tante righe quante sono le sotto-reti raggiungibili (in uno o più hop) del router D. Ogni riga della Tabella contiene:
i. L’identificatore (ossia, il prefisso IP) della sotto-rete di destinazione;
ii. L’identificatore (indirizzo IP) del router successivo (next-router) sul cammino a costo minimo dal router D alla sotto-rete di destinazione;
iii. Il numero di salti (ossia, la distanza, espressa come numero di sotto-reti da attraversare) dal router D alla sotto-rete di Destinazione lungo il cammino a costo minimo.
Baccarelli, Cordeschi, Patriarca, Polli
193
Le Tabelle di Instradamento di RIP - Interscambio
Il router D invia la sua tabella di instradamento a tutti e soli i router adiacenti una volta ogni 30sec. Se i router adiacenti a D non ricevono la tabella di D per un intervallo di tempo superiore ai 180sec, allora essi:i. Dichiarano il router D non più attivo;ii. Rimuovono dalle proprie tabelle di instradamento tutte
le rotte (cammini) che avevano il router D come next-router.
Il router D invia ai vicini la sua Tabella di Instradamento mediante un RIP Response Message (detto anche RIP Advertisement Message) che, a sua volta, è trasportato dal campo payload di un comune datagramma IP.Ciascun RIP Response Message può contenere sino ad un massimo di 25 sotto-reti destinazioni (25 righe estratte dalla Tabella di Instradamento correntemente memorizzata al router D).
Baccarelli, Cordeschi, Patriarca, Polli
194
Aggiornamento delle Tabelle di Instradamento di RIP (1/3)
Supponiamo che il router D riceva, ad un certo istante t0, la Tabella di Instradamento del router adiacente A.Allora, il router D aggiorna (una o più righe) della suaTabella di Instradamento se e solo se si verificano l’uno e/o l’altro dei due seguente eventi a), b):
a) Nella Tabella di Instradamento ricevuta da A c’è una (o più) sotto-reti di destinazione che correntemente non sono presenti nella Tabella di Instradamento del router D;
b) Nella Tabella di Instradamento ricevuta da A c’è una (o più) sotto-reti di Destinazione che già sono presenti nella Tabella di Instradamento del router D, ma la distanza da A alla sotto-rete di Destinazione è inferiore di almeno due unità della corrispondente distanza di D dalla stessa sotto-rete di destinazione.
Baccarelli, Cordeschi, Patriarca, Polli
195
Aggiornamento delle Tabelle di Instradamento di RIP (2/3)
Nel caso in cui si verifichi l’evento a), il router D aggiunge una riga alla sua Tabella di Instradamento in cui specifica:
i. L’identificatore (prefisso IP) della sotto-rete raggiungibile attraverso il router A;
ii. Identificatore (indirizzo IP) del router A come next-router del cammino a costo minimo da D alla sotto-rete in oggetto;
iii. Il numero di “hop” (numero di sotto-reti da attraversare) del cammino a costo minimo da D alla sotto-rete in oggetto, numero di hop che è pari a quello riportato nella Tabella ricevuta dal router A aumentato di una unità.
Baccarelli, Cordeschi, Patriarca, Polli
196
Aggiornamento delle Tabelle di Instradamento di RIP (3/3)
Nel caso in cui si verifichi l’evento b), il router D modifica la riga della sua Tabella di Instradamento corrispondente alla sotto-rete di destinazione in oggetto come segue:i. Lascia inalterato l’identificatore (prefisso IP) della
sotto-rete di destinazione;ii. Pone come identificatore del next-router del cammino
da D alla sotto-rete di destinazione l’indirizzo IP del router A;
iii. Pone come numero di “hop” (numero di sotto-reti da attraversare) del cammino a costo minimo da D alla sotto-rete in oggetto il corrispondente numero presente nella Tabella ricevuta da A ma aumentato di una unità.
Baccarelli, Cordeschi, Patriarca, Polli
197
Aggiornamento delle Tabelle di Instradamento di RIP - Esempio
Sotto-rete di destinazione Router successivo Num. salti verso la destinazionew A 2y B 2z B A 7 5x -- 1… … ...
Dest Succ. Router hopsw - 1x - 1z C 4… … ...
Tabella di A inviata a D
w x y
z
A
C
D B
…
Tabella di instradamento al nodo D
Baccarelli, Cordeschi, Patriarca, Polli
198
Protocollo OSPF - GeneralitàIl protocollo di instradamento Open Shortest PathFirst (OSPF) è un protocollo di instradamento
i. Intra –AS
ii. Di tipo Link-State
iii. Che implementa l’algoritmo di instradamento di Dijkstra.
Quindi, OSPF è un protocollo di instradamento di tipo globale (o centralizzato). Ciò richiede che, prima di applicare il protocollo OSPF, ogni nodo R del Sistema Autonomo conosca l’intero grafo pesato G <N,E> che descrive il Sistema Autonomo stesso.
Baccarelli, Cordeschi, Patriarca, Polli
199
Protocollo OSPF – Messaggi di segnalazione (1/2)
Per acquisire la conoscenza del grafo G <N,E> che descrive il Sistema Autonomo, ogni router del Sistema Autonomo invia periodicamente a tutti gli altri router del Sistema Autonomo (non solo a quelli adiacenti) un messaggio di Link State Update(LSU Message).Il messaggio LSU inviato dal router A contiene:
– Gli identificatori (indirizzi IP) dei router e delle sotto reti adiacenti del router A;
– I costi dei collegamenti tra il router A e ciascuno dei router e sotto-reti ad esso adiacenti.
Ciascun router del Sistema Autonomo che riceve un messaggio LSU da una delle sue porte di ingresso, opera come segue:
i. Invia indietro al router dal quale ha ricevuto il messaggio LSU un messaggio di riscontro positivo (Link State Acknowledgement(LSA) Message);
ii. Inoltra il messaggio LSU ricevuto verso tutte le sue porte di uscita, tranne la porta di uscita con lo stesso numero d’ordine della porta di ingresso dalla quale ha ricevuto il messaggio LSU.
Baccarelli, Cordeschi, Patriarca, Polli
200
Protocollo OSPF – Messaggi di segnalazione (2/2)
Se il grafo G <N,E> del Sistema Autonomo èconnesso, allora, dopo un tempo massimo pari a quello necessario per trasferire datagrammi lungo il cammino di lunghezza massima presente nel Sistema Autonomo, ogni router del Sistema Autonomo ha ricevuto i messaggi LSU generati da tutti gli altrirouter del Sistema Autonomo stesso. Quindi, ogni router è in grado di costruire al suo interno il grafo G <N,E> pesato del Sistema Autonomo al quale appartiene. I grafi costruiti dai vari router coincidono tra di loro. Quindi, ogni router è in grado di implementare localmente l’algoritmo di Dijkstra per individuare il cammino a costo minimo tra se stesso e tutti gli altri nodi (router e sotto-reti) del Sistema Autonomo di appartenenza
Baccarelli, Cordeschi, Patriarca, Polli
201
Caratteristiche del protocollo OSPF (1/2)
La caratteristica principale del protocollo OSPF è la possibilità, da parte dell’Amministratore del Sistema Autonomo, di adottare differenti metriche per indicare il costo di un collegamento.Possibili metriche di costo sono:i. Il numero di “hop” (costo unitario per tutti i collegamenti);ii. La capacità (in bit/sec) del collegamento;iii. Il ritardo (in sec) di trasferimento di un datagramma
attraverso il collegamento.Spesso, il tipo di metrica da adottare per definire il costo dei collegamenti è specificato (o deducibile) dal contenuto del campo Type Of Service (TOS) presente nell’Header di ciascun datagramma IP trasferito.
Baccarelli, Cordeschi, Patriarca, Polli
202
Caratteristiche del protocollo OSPF (2/2)
Il protocollo OSPF consente anche:i. quando presenti, di suddividere il traffico generato da
un router R verso una destinazione D tra più cammini a costo minimo, così da bilanciare il traffico dai vari cammini presenti nella rete;
ii. di adottare scambi di messaggi di segnalazione tra router di tipo autenticato, così da aumentare il livello di sicurezza dell’intera rete;
iii. di definire all’interno di un Sistema Autonomo una struttura gerarchica (suddivisione del Sistema in sotto-sistemi di dimensioni via via decrescenti), cosìda poter applicare il protocollo OSPF con metriche di costo diverse in ciascun sotto-sistema in cui è stato scomposto il Sistema Autonomo di partenza.
Baccarelli, Cordeschi, Patriarca, Polli
203
Il BGP – Generalità (1/2)Il Border Gateway Protocol (BGP) è il protocollo inter-AS che i (soli) Gateway Router implementano per scambiarsi tra di loro informazioni di raggiungibilità.La versione attuale del BGP è la 4ª (BGPv4).Con riferimento ad un insieme di Sistemi Autonomi (ASs) interconnessi mediante Gateway Router, il BGP permette a ciascun Sistema Autonomo di:i. Acquisire informazioni di raggiungibilità dai Sistemi Autonomi
adiacenti, ossia da quelli ad esso direttamente connessi mediante un collegamento Gateway Router-Gateway Router;
ii. Propagare le informazioni di raggiungibilità a tutti i router interni al Sistema Autonomo;
iii. Calcolare “buone” rotte (cammini) tra ciascun router interno al Sistema Autonomo e le sotto-reti di destinazione di interesse.
Il BGP permette anche a ciascuna nuova sotto-rete che vuole connettersi ad Internet di notificare a tutta la rete Internet la propria esistenza e prefisso di sotto-rete (sub-net mask).
Baccarelli, Cordeschi, Patriarca, Polli
204
Il BGP – Generalità (2/2)Poichè BGP è un protocollo di instradamento inter-AS e poiché ciascun Sistema Autonomo inter-connesso da BGP ha una sua autonomia amministrativa, allora:i. BGP non utilizza metriche per calcolare i cammini
ottimi, ossia non assegna alcun tipo di costo alle rotte interconnettenti sistemi autonomi diversi;
ii. BGP utilizza esclusivamente informazioni di raggiungibilità, che consistono nello specificare:o Quali sotto-reti sono raggiungibili da ogni Gateway
router;o Quali Sistemi Autonomi debbono essere attraversati
lungo ogni specifico cammino tra un router e la corrispondente sotto-rete di destinazione.
Baccarelli, Cordeschi, Patriarca, Polli
205
BGP: acquisizione e propagazione delle informazioni di raggiungibilità (1/3)Per concretezza, facciamo riferimento all’inter-connessione dei 3 Sistemi Autonomi riportati in figura.
3b
1d
3a
1c2aAS3
AS1
AS21a
2c
2b
1b
3ceBGP session
iBGP session
Baccarelli, Cordeschi, Patriarca, Polli
206
BGP: acquisizione e propagazione delle informazioni di raggiungibilità (2/3)
Per definizione, “l’informazione di raggiungibilità” generata da un Sistema Autonomo (ad es., AS1) consiste nello specificare:
i. quali sono le sotto-reti di destinazione raggiungibili attraverso il Sistema Autonomo (ad es., le sotto-reti o che fanno parte di AS1 o che sono raggiungibili attraverso AS1);
ii. Per ogni sotto-rete di destinazione raggiungibile attraverso il Sistema Autonomo (ad es., attraverso AS1), quale è il Gateway Router del Sistema Autonomo che permette di raggiungere la sotto-rete di destinazione di interesse.
Baccarelli, Cordeschi, Patriarca, Polli
207
BGP: acquisizione e propagazione delle informazioni di raggiungibilità (3/3)
Il BGP usa due tipi di connessioni dette:i. External BGP session (eBGP);ii. Internal BGP session (iBGP).
per acquisire e propagare le informazioni di raggiungibilitàgenerate da ciascun Sistema Autonomo.Una coppia di Gateway Router appartenenti a Sistemi Autonomi distinti (vedi la figura) impiega una connessione eBGP per scambiarsi le informazioni di raggiungibilità generate dai Sistemi Autonomi di appartenenza.Una coppia di router appartenenti allo stesso Sistema Autonomo impiega una connessione iBGP per scambiarsi (propagare) le informazioni di raggiungibilità acquisite dai Gateway Router del Sistema Autonomo di appartenenza.Quando un router (interno o di Gateway) riceve una informazione di raggiungibilità (mediante una sessione eBGP o iBGP) esso aggiorna la propria Tabella di instradamento.
Baccarelli, Cordeschi, Patriarca, Polli
208
Struttura dei messaggi BGP (1/4)
Per permettere l’aggiornamento delle suddette Tabelle presso i vari router di rete, oltre alle informazioni di raggiungibilitàprecedentemente definite , i messaggi BGPscambiati attraverso le sessioni eBGP e iBGPcontengono anche ulteriori informazioni, dette Attributi dei messaggi BGP.I due Attributi più importanti sono:o AS-PATH;o NEXT-HOP.
Baccarelli, Cordeschi, Patriarca, Polli
209
Struttura dei messaggi BGP (2/4)Ciascun Sistema Autonomo è identificato da un numero globalmente unico detto AS Number (ASN). L’organizzazione internazionale ICANN rilascia l’opportuno ASN a ciascun sistema autonomo che lo richieda.L’attributo AS-PATH è l’elenco ordinato dei numeri (ASNs) dei Sistemi Autonomi attraverso cui l’informazione di raggiungibilità di una specifica sotto-rete di destinazione è transitata. Ciascun Sistema Autonomo che riceve il suddetto messaggio di raggiungibilità, appende in coda il proprio numero (ASN) al campo AS-PATH già presente nel messaggio di raggiungibilità ricevuto.
Baccarelli, Cordeschi, Patriarca, Polli
210
Struttura dei messaggi BGP (3/4)Esempio,
i. Supponiamo che il Sistema Autonomo AS15 riceva in messaggio di raggiungibilità relativo alla sotto-rete di destinazione con prefisso IP aaa.bbb.ccc.ddd/x.
ii. Supponiamo che l’attributo AS-PATH del suddetto messaggio di raggiungibilità sia:
AS-PATH=AS6, AS20, AS30.allora, il Sistema Autonomo ricevente (cioè, AS15)
acquisisce l’informazione che la sotto-rete di destinazione aaa.bbb.ccc.ddd/x è raggiungibile da AS15 attraverso la sequenza di Sistemi Autonomi
AS30 AS20 AS6.
Baccarelli, Cordeschi, Patriarca, Polli
211
Struttura dei messaggi BGP (4/4)
L’attributo NEXT-HOP di un messaggio di raggiungibilità relativo ad una specifica sotto-rete di destinazione è utilizzato dai router interni ad un Sistema Autonomo.L’attributo NEXT-HOP specifica il Gateway-Router del Sistema Autonomo dal quale il messaggio di raggiungibilità in oggetto è stato ricevuto e ritrasmesso verso i router interni del Sistema Autonomo.
Baccarelli, Cordeschi, Patriarca, Polli
212
Selezione del cammino (rotta) in BGP (1/2)
Può allora accadere che un router interno ad un AS abbia ricevuto più messaggi di raggiungibilità per una stessa sotto-rete di destinazione, messaggi che differiscono per il contenuto del campo NEXT-HOP.Ciò significa che il router interno ha a disposizione più rotte diverse per raggiungere la sotto-rete di destinazione, rotte che transitano attraverso Gateway Router distinti del Sistema Autonomo al quale il router interno appartiene.Quale, tra le rotte a disposizione, il router interno dovrebbe scegliere?
Baccarelli, Cordeschi, Patriarca, Polli
213
Selezione del cammino (rotta) in BGP (2/2)
Un nodo, interno ad AS e che conosca che esistono più rotte per raggiungere una assegnata sotto-rete di destinazione, seleziona la rotta migliore applicando in sequenza le Regole di Eliminazioneelencate:
i. A ciascuna rotta ammissibile viene assegnata, come ulteriore attributo, un valore di preferenza locale da parte dell’amministratore del Sistema Autonomo. Allora, il router interno seleziona quelle, tra le rotte ammissibili, col più alto valore di preferenza locale;
ii. Tra le rotte restanti, il router interno seleziona quelle con il campo AS-PATH costituite dal più piccolo numero di elementi (le rotte piùbrevi);
iii. Tra le rotte restanti, il router interno seleziona quelle col minimo valore dei costi dei cammini a costo minimo tra il router stesso e i next-router (Gateway router ammissibili). Ovvero, il router interno applica la politica dell’instradamento hot-potato per selezionare il miglior Gateway router tra quelli ammissibili.
Baccarelli, Cordeschi, Patriarca, Polli
214
Perché usare differenti protocolli per l’instradamento inter-AS e intra-AS?
Motivazioni di natura amministrativaMediante i protocolli inter-AS, gli amministratori vogliono poter esercitare un controllo sul traffico da far transitare e/oammettere nel proprio Sistema Autonomo.
Motivazioni di dimensioniGli instradamenti inter-AS e intra-AS attuano l’instradamento gerarchico richiesto da Internet per limitare le dimensioni delle Tabelle di Instradamento da memorizzare in ciascun router della rete.
Motivazioni di natura prestazionaleDal punto di vista delle prestazioni di natura prettamente ingegneristica (non di natura politica), i protocolli per l’instradamento intra-AS sono migliori, in quanto garantiscono l’individuazione dei cammini a costo minimo. D’altra parte, i protocolli di instradamento inter-AS sono più focalizzati sul soddisfacimento di requisiti politico/amministrativi.
Baccarelli, Cordeschi, Patriarca, Polli
215
Instradamento di tipo Broadcast (Diffusione)
Baccarelli, Cordeschi, Patriarca, Polli
216
Instradamento di tipo Broadcast - Generalità
Supponiamo assegnata una rete descritta mediante il corrispondente grafo pesato G <N, E>. Indichiamo con s ∈ N un nodo (terminale o router) del grafo.Lo scopo di un algoritmo di instradamento Broadcast è quello di far pervenire a tutti i nodi v ∈ N \ {s} (diversi da s) della rete i datagrammi generati da s.
Baccarelli, Cordeschi, Patriarca, Polli
217
L’Algoritmo di Inondazione (Uncontrolled Flooding) (1/2)L’Algoritmo di Broadcast più semplice èquello che va sotto il nome di UncontrolledFlooding. Per definizione, l’Algoritmo di Uncontrolled Flooding opera come segue:
i. Il nodo sorgente s inoltra datagramma verso tutte le sue porte di uscita;
ii. Ciascun nodo v≠s che riceve il datagramma da una delle sue porte di ingresso, inoltra il datagramma verso tutte le sue porte di uscita, tranne la porta di uscita con lo stesso numero d’ordine della porta di ingresso dalla quale ha ricevuto il datagramma.
Baccarelli, Cordeschi, Patriarca, Polli
218
L’Algoritmo di Inondazione (Uncontrolled Flooding) (2/2)Aspetti positiviSe il grafo G è connesso, ciascun nodo v∈N \ {s} della rete
riceverà il datagramma generato da s, dopo un tempo che, al più, è uguale al tempo necessario per trasferire un datagramma attraverso il cammino più lungo presente nella rete.
Aspetti negativii. Se il grafo G ha cicli, il datagramma generato da s può
permanere indefinitamente all’interno di un ciclo;ii. Un nodo v∈N \ {s} che ha già ricevuto e inoltrato il
datagramma, può riceverlo di nuovo da una delle sue porte di ingresso e, quindi, lo inoltra di nuovo a tutte le sue porte d’uscita. Questo fenomeno (detto Broadcast Storm) fa si che uno stesso datagramma venga inutilmente inoltrato piùvolte da uno stesso nodo di rete.
Baccarelli, Cordeschi, Patriarca, Polli
219
L’Algoritmo di Inondazione Controllata (Controlled Flooding)
Lo scopo dell’Algoritmo di Controlled Flooding è quello di evitare che un nodo di rete inoltri più volte uno stesso datagramma, ossia di evitare il fenomeno del Broadcast Storm.L’Algoritmo di Controlled Flooding opera come segue:i. il nodo sorgente s pone: a) il suo indirizzo IP; e b) un numero di sequenza
progressivo in ogni datagramma che genera;ii. il nodo s inoltra il datagramma così numerato su tutte le sue porte di
uscita;iii. ciascun nodo v∈N \ {s} della rete mantiene una Lista Aggiornata dei
datagrammi che ha già ricevuto, duplicato e inoltrato verso tutte le sue porte di uscita;
iv. quando il nodo v∈N \ {s} riceve da una delle sue porte di ingresso un datagramma da “broadcastare” (diffondere), allora:o controlla se il datagramma è già nella sua Lista;o se è nella Lista, v scarta il datagramma ricevuto;o se non è nella Lista, v aggiorna la Lista con l’identificatore del nuovo
datagramma e, poi, inoltra il datagramma verso tutte le sue porte di uscita, tranne quella dalla quale aveva ricevuto il datagramma.
Baccarelli, Cordeschi, Patriarca, Polli
220
Elementi di interconnessione:Riepilogo e confronto
Baccarelli, Cordeschi, Patriarca, Polli
221
Elementi di interconnessione-Riepilogo (1/2)
Abbiamo appreso che Internet è un insieme di sotto-reti debitamente interconnesse. Gli elementi di interconnessione possono essere di 3 tipi:– Hub – realizzano solo i protocolli di Strato Fisico;– Bridge - realizzano solo i protocolli di Strato Fisico
e di Collegamento;– Router - realizzano solo i protocolli di Strato
Fisico, di Collegamento e di Rete;
Baccarelli, Cordeschi, Patriarca, Polli
222
Elementi di interconnessione-Riepilogo (2/2)
1 1 1
2 2
3
HUB BRIDGE ROUTER
HUB BRIDGE ROUTERTraffic isolation no si siPlug and play si si no
Optimal routing no no si
Baccarelli, Cordeschi, Patriarca, Polli
223
Confronto tra Bridge e Router (1/3)
Con riferimento alla seguente figura,
ricordiamo che:i. I Bridge implementano i protocolli di strato Fisico e di Collegamento; i
Router implementano i protocolli di Strato Fisico, di Collegamento e di Rete;
ii. I Bridge effettuano l’inoltro di trame basandosi sul loro indirizzo MAC; i Router effettuano l’inoltro di datagrammi basandosi sull’indirizzo IP.
Terminale Sorgente
Terminale di Destinazione
Baccarelli, Cordeschi, Patriarca, Polli
224
Confronto tra Bridge e Router (2/3)
iii. I Bridge mantengono Tabelle di Inoltro; i Router mantengono Tabelle di Instradamento e di Inoltro.
iv. I Bridge sono autoconfiguranti (self-learning) ed effettuano le funzioni di inoltroe di filtrazione. I Router richiedonol’attuazione di Algoritmi di Instradamento per configurare le relative Tabelle e effettuano la funzione di instradamento.
Baccarelli, Cordeschi, Patriarca, Polli
225
Confronto tra Bridge e Router (3/3)
v. Infine, poiché i Bridge non attuano algoritmi di instradamento, la topologia di una rete interconnessa tramite un Bridge deve essere necessariamente ad albero (cioè, un grafo connesso e privo di cicli), in cui:
o Le foglie dell’albero sono i terminali di utente;o I nodi intermedi sono hub;o La radice è un bridge.
vi. Poiché i router attuano Algoritmi di Instradamento che permettono di individuare il cammino (ottimo) tra due qualunque nodi della rete, la topologia di una rete interconnessa mediante router può essere arbitraria e può anche contenere cicli.
Baccarelli, Cordeschi, Patriarca, Polli
226
Prestazioni “end-to-end” di una Rete a Commutazione di Pacchetto
Baccarelli, Cordeschi, Patriarca, Polli
227
Prestazioni - GeneralitàLa Rete Internet è una infrastruttura che fornisce il servizio di trasferimento di datagrammi a coppie Sorgente-Destinazione di Router ad essa interconnessi.Poiché il Modello di Servizio offerto dalla Rete Internet è best-effort, i datagrammi generati dal Router-Sorgente e diretti al Router-Destinazione possono:i. subire ritardi di trasferimento;ii. essere, in parte, persi (scartati) ai nodi intermedi della
rotta;iii. essere trasferiti ad una velocità (bit/sec) finita e spesso
variabile nel tempo.
Baccarelli, Cordeschi, Patriarca, Polli
228
Modello di collegamento “end-to-end” (1/2)
Con riferimento alla figura seguente,
supponiamo che una sequenza di datagrammi debba essere inviata dal Router-Sorgente R1 al Router- Destinazione RN attraverso una prefissatarotta (cammino) costituita da N nodi di commutazione (Router) interconnessi da (N-1) collegamenti.La rete considerata è a commutazione di pacchetto e, quindi, il tipo di multiplazione adottata ai Router (nodi di commutazione) è statistico.Il collegamento tra due router adiacenti può (eventualmente) anche attraversare una (o più) sotto-reti (non esplicitamente indicata in figura).
R3
R2
RN
RN-1
R1
DATA
DATAC1
CN-1
l(1)l(N-1)
Baccarelli, Cordeschi, Patriarca, Polli
229
Modello di collegamento end-to-end(2/2)
Con riferimento alla figura precedente, indichiamo con:o L (bit) = la lunghezza (supposta fissa) di ciascun
datagramma trasferito;o v(i) (m/s) = la velocità di propagazione del segnale
elettrico sul collegamento (canale) i-mo, 1 ≤ i ≤ N-1;o Ci (bit/sec) = la capacità del collegamento (canale)
i-mo, 1 ≤ i ≤ N-1;o l(i) (m) = la lunghezza del collegamento (canale) i-
mo, 1 ≤ i ≤ N-1.
Baccarelli, Cordeschi, Patriarca, Polli
230
Parametri di prestazione -Definizione
In generale, i parametri (principali) che vengono considerati per caratterizzare le prestazionidell’intero collegamento end-to-end da: R1 a: RNsono:
i. Il throughput end-to-end – è definito come il numero di bit al secondo (bit/sec) che RN riceve all’uscita del collegamento;
ii. Il ritardo end-to-end – è definito come l’intervallo di tempo che intercorre tra l’istante t0 in cui il datagramma entra in R1 e l’istante t1 in cui lo stesso datagramma esce da RN. Si misura in sec;
iii. La probabilità di perdita end-to-end – è la probabilità che un datagramma che entra in R1 non esce da RN, perchéscartato ad uno dei nodi intermedi del cammino end-to-end. Equivalentemente, la suddetta probabilità è la frazione di datagrammi arrivati in R1 che non sono mai usciti da RN.
Baccarelli, Cordeschi, Patriarca, Polli
231
Il ritardo “end-to-end”
Baccarelli, Cordeschi, Patriarca, Polli
232
Il ritardo “end-to-end”Per definizione, in una rete a commutazione di pacchetto, il ritardo end-to-end dEE (sec) di un datagramma da R1 a RN è la somma dei ritardi dn(i) (sec), 1 ≤ i ≤ N-1, che il datagramma subisce ad ogni singolo nodo di commutazione, ossia:
dove:dn(i) (sec) ritardo al nodo i-mo ≡ ritardo di
trasferimento da: Ri a Ri+1.
1
1( ) (sec)
N
EE ni
d d i−
=∑
Baccarelli, Cordeschi, Patriarca, Polli
233
Modello di Nodo di CommutazioneIn linea di massima, un nodo di commutazione di una rete a commutazione di pacchetto (router, bridge, commutatore ATM) è costituito da 3 elementi di base (vedi la figura):
i. Elaboratore – legge l’header di ciascun datagramma in arrivo al nodo, lo elabora e inoltra il datagramma;
ii. Coda – memorizza temporaneamente i datagrammi in attesa di essere trasmessi dalla porta di uscita del nodo;
iii. Servente – modula e trasmette (un bit alla volta) il datagramma che si trova in cima alla coda.
Elaboratore
Coda (buffer) Servente Canale di CapacitàC e di lunghezza L
Baccarelli, Cordeschi, Patriarca, Polli
234
Componenti del Ritardo ad un (singolo) nodo
Ne segue, allora, che, in generale, il ritardo dn (sec) a ciascun singolo nodo di commutazione è la somma di 4componenti, ossia:
dn ≡ dElab + dcoda + dtr + dprop (sec)dove:
- dElab (sec) è il ritardo di elaborazione;- dcoda (sec) è il tempo che il datagramma passa in attesa in
coda;- dtr (sec) è il ritardo di trasmissione, ossia il tempo che il
datagramma passa nel servente;- dprop(sec) è il ritardo di propagazione, ossia il tempo che
impiega ciascun singolo bit che costituisce il datagramma per trasferirsi dall’’ ingresso all’’ uscita del canale trasmissivo connesso al servente.
Baccarelli, Cordeschi, Patriarca, Polli
235
Singolo Nodo: Il Ritardo di Elaborazione
Il ritardo di elaborazione dElab (sec) tiene conto del tempo che il nodo di commutazione impiega per– Leggere l’header di un ciascun datagramma;– Inoltrare il datagramma verso una delle porte di
uscita;– Aggiornare il contenuto dell’header del
datagramma.Il Ritardo di Elaborazione dipende dal particolare router considerato, è di natura deterministica (ossia, non aleatoria) e, tipicamente, è dell’ordine di alcuni μs.
Baccarelli, Cordeschi, Patriarca, Polli
236
Singolo Nodo: Il Ritardo di Trasmissione
Il Ritardo di Trasmissione dtr(sec) è il tempo che impiega il Servente per trasmettere tutti gli L bit che compongono un (singolo) datagramma nel canale trasmissivo di capacitàC (bit/sec) ad esso connesso.Quindi, per definizione, il Ritardo di Trasmissione introdotto da un singolo nodo èpari a:
dtr = L/C (sec)Esso è un ritardo di tipo deterministico (non
aleatorio).
Baccarelli, Cordeschi, Patriarca, Polli
237
Singolo Nodo: Il Ritardo di Propagazione
Assumiamo che il canale trasmissivo connesso al servente
i. Abbia una lunghezza di l metri;ii. Il segnale elettrico si propaghi nel canale con una
velocità v (m/sec);
Allora, il ritardo di propagazione dprop (sec) introdotto dal nodo è il tempo necessario a ciascun singolo bit di un datagramma per trasferirsi dall’ ingresso all ’uscita del canale trasmissivo, e quindi:
dprop = l/v (sec).
Anche il ritardo di propagazione è di natura deterministica, ossia non aleatoria.
Baccarelli, Cordeschi, Patriarca, Polli
238
Singolo Nodo: Ritardi di Trasmissione e di Propagazione
A
B
propagation
transmission
nodalprocessing queueing
Baccarelli, Cordeschi, Patriarca, Polli
239
Singolo Nodo: Il Ritardo di coda –Generalità (1/4)
A differenza degli altri tipi di ritardo, il ritardo di coda dcoda (sec) che un nodo di commutazione introduce varia da datagramma a datagramma.Infatti, il ritardo di coda sperimentato da ciascun singolo datagramma dipende dal numero variabile di datagrammi che sono già presenti in coda. A sua volta, il numero dei datagrammi che sono già presenti in coda dipende:i. dal numero medio λ (datagrammi/sec) di datagrammi che
arrivano (entrano) nel buffer in un intervallo temporale di 1 sec;
ii. dalla modalità con cui i datagrammi arrivano (entrano) nel buffer, ossia dalla dimensione dell’intervallo di tempo che passa tra gli istanti in cui due datagrammi consecutiviarrivano (entrano) nella coda (Intervalli di inter-arrivo).
Baccarelli, Cordeschi, Patriarca, Polli
240
Singolo Nodo: Il Ritardo di coda –Generalità (2/4)
Indichiamo con :
il numero medio di bit che entrano nel buffer nell’unità di tempo (λ L) diviso per il numero di bit C che escono dal buffer nell’unitàdi tempo. Ovviamente, C è la capacità in bit/sec del canale trasmissivo connesso al servente del nodo di commutazione.La quantità ρ si chiama “Intensità di Traffico” offerto al nodo di commutazione. E’ un numero puro, e si misura in Erlang.Poiché dcoda è aleatorio, indichiamo con:
il ritardo medio statistico di coda, ossia il valore atteso della variabile aleatoria dcoda.
(Erlang)LCλρ
{ } (sec)coda codad E d
Baccarelli, Cordeschi, Patriarca, Polli
241
Singolo Nodo: Il Ritardo di coda –Generalità (3/4)
Si può dimostrare che, indipendentemente dalle dimensioni dei tempi di inter-arrivo dei datagrammi in ingresso al buffer, il risultante tempo medio di coda ha il seguente comportamento generale:
Quindi, ad ogni nodo di commutazione deve essere sempre verificata la condizione seguente:
ρ < 1.
0, 1 ,
1.
coda
coda
coda
ddd
ρ
ρρ
−
→
→+∞ →
≡ +∞ >
tende a zero quando
quando
quando
codad
i.
ii.
iii.
Baccarelli, Cordeschi, Patriarca, Polli
242
Singolo Nodo: Il Ritardo di coda –Generalità (4/4)
L’andamento qualitativo di in funzione di ρè, quindi, il seguente.
codad
ρ0
ρ
Ritardo medio di coda (sec)
1
Baccarelli, Cordeschi, Patriarca, Polli
243
Singolo Nodo – Modello di Coda M/D/1 (1/2)
Per poter calcolare esplicitamente , dobbiamo specificare la legge (di tipo probabilistico) con cui i datagrammi arrivano (ossia, entrano) nella coda.Assumiamo, allora, che la probabilità PA(k) che k ≥ 0 datagrammi arrivino all’ingresso della coda in un assegnato intervallo temporale T0 (sec) sia data dalla Distribuzione di Poisson, ossia che:
dove:λ(datagrammi/sec) numero medio di datagrammi che arrivano all’ingresso della coda nell’intervallo temporali di 1 sec.
0 0( )( ) , k=0, 1, 2, ... , +!
kT
ATP k ek
λ λ−≡ ∞
codad
Baccarelli, Cordeschi, Patriarca, Polli
244
Singolo Nodo – Modello di Coda M/D/1 (2/2)
Sotto la precedente assunzione di distribuzione degli arrivi di Poisson, la coda si dice di tipo: M/D/1.Si può dimostrare che, per una coda M/D/1, il tempo medio che un datagramma aspetta nel buffer del nodo di commutazione è calcolabile come segue:
dove, ricordiamo che:L (bit) dimensione del datagramma;C (bit/sec) capacità del canale trasmissivo connesso al servente
del nodo di commutazione;
intensità di traffico offerto (ossia, in ingresso) al nodo di commutazione.
codad
LCλρ
1 1 (sec) 2 (1 )codaLdC ρ⎡ ⎤
= −⎢ ⎥−⎣ ⎦
Baccarelli, Cordeschi, Patriarca, Polli
245
Ritardo Medio di NodoDa quanto detto, ne deriva che il ritardo medio introdotto totalmente dall’i-mo nodo di commutazione presente nella rotta R1 RN è pari a:
dove:
( ) { ( )}n nd i E d i
( ) ( ) ( ) ( ) ( ), 1 ( - 1)n Elab tr prop codad i d i d i d i d i i N+ + + ≤ ≤
( ) ( ) / ( ), 1 ( - 1) (sec)( ) / , 1 ( - 1) (sec)
prop
tr i
d i l i v i i Nd i L C i N
≡ ≤ ≤
≡ ≤ ≤
Baccarelli, Cordeschi, Patriarca, Polli
246
Ritardo Medio “end-to-end”
Poiché abbiamo visto che il ritardo “end-to-end dEE (sec)” è la somma dei ritardi introdotti dai nodi sul cammino R1 RN, il ritardo medio è la somma dei corrispondenti ritardi medi di nodo, ossia:
{ }EE EEd E d
1
11
1
( )
[ ( ) ( ) ( ) ( )] (sec).
N
EE ni
N
Elab tr prop codai
d d i
d i d i d i d i
−
=
−
=
≡ ≡
+ + +
∑
∑
Baccarelli, Cordeschi, Patriarca, Polli
247
Probabilità di Perdita di Datagramma
Baccarelli, Cordeschi, Patriarca, Polli
248
Probabilità di Perdita ad un Singolo Nodo (1/2)
Nel cammino da R1 a RN, ciascun datagramma è:i. elaborato; ii. memorizzato in un buffer;iii. ritrasmesso a ciascuno degli (N-1) nodi di
commutazione R1, R2, …, RN-1.Ora, può accedere che il datagramma che arriva all’i-mo nodo Ri trovi il buffer di Ri già pieno. In questo caso, il datagramma è scartato al nodo Rie non arriverà mai al nodo di destinazione RN.Indichiamo con PL(i), 1 ≤ i ≤ (N-1), la Probabilitàche il datagramma sia scartato al nodo Ri.
Baccarelli, Cordeschi, Patriarca, Polli
249
Probabilità di Perdita ad un Singolo Nodo (2/2)
A
B
packet being transmitted
packet arriving tofull buffer is lost
buffer (waiting area)
Baccarelli, Cordeschi, Patriarca, Polli
250
Probabilità di Perdita End-to-EndCon riferimento all’intero cammino da: R1 a: RN, indichiamo con PL
E la Probabilità di Perdita end-to-end, ossia la probabilità che un datagramma che entranel nodo R1 non sia mai ricevuto dal nodo RN.Ovviamente, un datagramma che entra in R1 saràricevuto da RN se non viene scartato né a R1, né a R2, né a R3, né … né a RN-1.Quindi, la probabilità di perdita end-to-end PL
E può essere calcolata a partire dalle probabilità di perdita {PL(i), 1 ≤ i ≤ (N-1)} ai singoli nodi di commutazione della rotta R1 RN che segue il datagramma in accordo alla seguente relazione:
1
11 (1 ( ))
NEL L
iP P i
−
=
⎡ ⎤= − −⎢ ⎥⎣ ⎦∏
Baccarelli, Cordeschi, Patriarca, Polli
251
Il Throughput end-to-end
Baccarelli, Cordeschi, Patriarca, Polli
252
Il Throughput “end-to-end” -Definizioni
Consideriamo ancora il trasferimento di un datagramma di L bit dal nodo-sorgente R1 al nodo-destinazione RN attraverso la rotta:
R1 R2 R3 . . . RN-1 RN .
Per definizione, il “Throughput end-to-end all’istante t ” Th(t) èil numero di bit che il nodo-destinazione RN riceve nell’unità di tempo all’istante t, ossia è la velocità (bit/sec) con cui il nodo-destinazione RN riceve bit all’istante t.
Supponiamo che, per trasmettere l’intero datagramma di L bit, ci siano voluti ∆ secondi. Allora, il “Throughput end-to-end medio”è definito come:
Esso rappresenta la velocità media con cui il nodo di destinazione RN riceve i bit trasmessi dal nodo sorgente R1.
/ ( / sec)Th L bitΔ
Baccarelli, Cordeschi, Patriarca, Polli
253
Supponiamo di avere una rotta da R1 a RN costituita da (N-1) canali trasmissivi, con N ≥ 1.Indichiamo con Ci (bit/sec), 1 ≤ i ≤ (N-1), la capacitàdell’i-mo canale della rotta.
Ci chiediamo :qual è il valore massimo del Throughput end-to-endistantaneo a cui RN può ricevere i bit generati da R1?
Il Throughput “end-to-end” di piùcanali in cascata (1/3)
RN-1R1 R2RN
C1 C2 CN-1
Baccarelli, Cordeschi, Patriarca, Polli
254
Il Throughput “end-to-end” di piùcanali in cascata (2/3)
Ovviamente, il canale trasmissivo i-mo non potrà mai trasferire bit ad una velocità superiore alla sua capacità Ci.Poiché questo è vero per tutti gli (N-1) canali che compongono la rotta, la velocità (bit/sec) a cui può ricevere bit non potrà mai essere superiore alla piùpiccola delle capacità C1, …, CN-1.Quindi, per il Throughput end-to-end istantaneo Th(t) abbiamo il seguente limite superiore, valido per ogni t:
1 2 1 .min{ , ,..., } NTh C C C −≤ per ogni t
Baccarelli, Cordeschi, Patriarca, Polli
255
Il Throughput “end-to-end” di piùcanali in cascata (3/3)
La precedente formula indica che è inutileconnettere un canale ad alta capacità con uno a bassa capacità, perché in ogni caso, il Throughput massimo ottenibile è pari alla piùpiccola delle capacità dei canali trasmissivi.In una connessione in cascata di (N-1) canali di capacità {Ci, 1 ≤ i ≤ (N-1)}, il canale con la piùbassa capacità è chiamato canale Collo-di-bottiglia (Bottleneck Link) della connessione.
Baccarelli, Cordeschi, Patriarca, Polli
1
Capitolo 10Lo Strato di Trasporto in
Internet
Baccarelli, Cordeschi, Patriarca, Polli
2
Sommario del capitoloModelli di servizio per lo Strato di Trasporto
Funzioni svolte dallo Strato di Trasporto:
i. Rivelazione di errore
ii. Multiplazione
iii. Controllo di flusso
iv. Trasferimento affidabile di dati
v. Controllo di congestione
Il protocollo UDP di Internet
Il protocollo TCP di Internet
Prestazioni del protocollo TCP
Baccarelli, Cordeschi, Patriarca, Polli
3
A cosa serve lo Strato di Trasporto (1/6)
Consideriamo due applicazione PS e PD (ossia, due programmi) che risiedono su due terminali di utente HS e HD distinti, in generale non tra di loro adiacenti.Supponiamo che l’applicazione PS voglia inviare una sequenza di messaggi {M1, M2…} all’applicazione PD, impiegando la Rete Internet come rete di trasferimento.Informalmente, lo scopo dello Strato di Trasportoresidente nei terminali HS e HD è quello di mettere a disposizione delle due applicazioni PS e PD un canale logico di tipo punto-punto e full-duplex che permetta a PS di inviare/ricevere messaggi a/da PD .
Baccarelli, Cordeschi, Patriarca, Polli
4
A cosa serve lo Strato di Trasporto (2/6)
logical end-end transport
messaggio
segmento
applicationtransportnetworkdata linkphysical
messaggio
segmento
applicationtransportnetworkdata linkphysical
Baccarelli, Cordeschi, Patriarca, Polli
5
A cosa serve lo Strato di Trasporto (3/6)
Informalmente, per canale logico tra i processi PS (residente nel terminale HS) e PD (residente nel terminale HD) intendiamo l’insieme di router, sotto-reti, canali-trasmissivi, protocolli di gestione che permettono di stabilire un collegamento punto-punto, bidirezionale e full-duplexdirettamente tra i due processi PS e PD.
Baccarelli, Cordeschi, Patriarca, Polli
6
A cosa serve lo Strato di Trasporto (4/6)
I protocolli di Strato di Trasporto residenti presso i terminali di utente HS e HD effettuano le seguenti funzioni di base:
i. Il protocollo di trasporto residente nel terminale sorgente (HS) riceve messaggi dall’applicazione PS, li incapsula in segmenti e invia la sequenza ordinata di segmenti nel canale logico. Questa operazione è detta multiplazione di segmenti.
ii. Il protocollo di trasporto residente nel terminale di destinazione (HD), riceve la sequenza di segmenti in uscita dal canale logico, frammenta la sequenza in segmenti, estrae da ciascun segmento il corrispondente messaggio, passa il messaggio al processo PD residente nel terminale HD.
Baccarelli, Cordeschi, Patriarca, Polli
7
A cosa serve lo Strato di Trasporto (5/6)
I protocolli di Strato di Trasporto sono attuati solo presso i terminali d’utente (host) ma non sono attuati nè nei router né nei bridge.Questo porta a 3 conseguenze:i. I protocolli di Strato di Trasporto e le funzioni da essi
svolte sono attuati solo ai bordi della rete (nella EdgeNetwork) ma non al suo interno (Core Network);
ii. Solo gli Strati di Trasporto dei terminali d’utente di sorgente e di destinazione sono al corrente del canale logico che li interconnette e ne mantengono, quindi, i parametrinecessari per la gestione;
iii. I router, bridge e canali trasmissivi della rete non sono al corrente di quanti e quali canali logici di Strato di Trasporto sono attivi.
Baccarelli, Cordeschi, Patriarca, Polli
8
A cosa serve lo Strato di Trasporto (6/6)
Lo Strato di Trasporto della rete Internet mette a disposizione delle applicazioni che sono attive in ciascun terminale d’utente due distinti protocolli di trasporto:
i. L’ User Datagram Protocol (UDP);ii. Il Transport Control Protocol (TCP).UDP e TCP svolgono funzioni diverse, cioè offrono servizi diversi allo Strato Applicativo.Ogni applicazione (processo) attiva presso un terminale d’utente deve scegliere quale dei due protocolli usare (TCP o UDP), prima di iniziare a trasmettere/ricevere messaggi.
Baccarelli, Cordeschi, Patriarca, Polli
9
Inter-Relazione tra Strato di Rete e Strato di Trasporto (1/3)
Lo scopo principale dello Strato di Rete è quello di dar luogo ad un canale logico tra due utenti terminaliHS e HD che vogliono comunicare.Lo scopo principale dello Strato di Trasporto èquello di dar luogo a un canale logico:
i. Punto-punto;ii. Bidirezionale;iii. Full-duplex.
tra una coppia di applicazione PS e PD residenti presso due terminali d’utente HS e HD distinti.
Baccarelli, Cordeschi, Patriarca, Polli
10
Inter-Relazione tra Strato di Rete e Strato di Trasporto (2/3)
Analogia con il servizio di posta ordinario.
o 12 ragazzi inviano lettere a 12 ragazzi:o processi = ragazzio messaggi delle applicazioni = lettere nelle busteo host = caseo protocollo di trasporto = Anna e Andreao Protocollo del livello di rete = servizio postale
Baccarelli, Cordeschi, Patriarca, Polli
11
Inter-Relazione tra Strato di Rete e Strato di Trasporto (3/3)
Il servizio offerto allo Strato Applicativo dallo Strato di Trasporto si basa ovviamente sul servizio che lo Strato di Rete offre a sua volta allo Strato di Trasporto.Quindi, alcune delle caratteristiche del servizio offerto dallo Strato di Trasporto dipendono dalle caratteristiche del servizio offerto dallo Strato di Rete.Lo Strato di Rete di Internet offre un servizio di tipo best-effort, cioè un servizio di trasferimento di datagrammi in cui non sono garantiti né il ritardo massimo con il quale ciascun datagramma è trasferito né la velocità minima (dat/sec) con cui i datagrammi sono trasferiti.Come conseguenza, nella rete Internet, TCP e UDP offrono servizi di trasferimento di segmenti nei quali non sono garantiti né i ritardi massimi né le velocità minime (in segm/sec).
Baccarelli, Cordeschi, Patriarca, Polli
12
Servizi offribili dallo Strato di Trasporto (1/4)
I principali servizi che i protocolli di uno Strato di Trasporto possono offrire sono:
i. Multiplazione/Demultiplazione – Al lato sorgente, lo Strato di Trasporto riceve i messaggi generati da uno o più processi attivi nel terminale sorgente e li ordina in una sequenza di segmenti (operazione di multiplazione). Al lato destinazione, lo Strato di Trasporto riceve la corrispondente sequenza di segmenti e ne estrae le sotto-sequenze di messaggi da trasferire ad una o più applicazioni attive nel terminale di destinazione (operazione di demultiplazione).
Baccarelli, Cordeschi, Patriarca, Polli
13
Servizi offribili dallo Strato di Trasporto (2/4)
i. Rivelazione di errori – al lato sorgente, il protocollo di trasporto immette in ciascun segmento da trasmettere una sequenza di bit di controllo della parità che, al lato ricezione, vengono utilizzati per rivelare la presenza di eventuali errori.
ii. Trasferimento affidabile di segmenti – lo Strato di Rete di Internet fornisce un canale logico tra due utenti che può indurre errori e/o perdite nei datagrammi trasmessi. Lo Strato di Trasporto può attuare tecniche di ARQ per fornire un canale logico tra due processi che è affidabile, ossia che nonintroduce errori/perdite/duplicazioni/ri-ordino nella sequenza dei messaggi scambiati dalle applicazioni comunicanti
Baccarelli, Cordeschi, Patriarca, Polli
14
Servizi offribili dallo Strato di Trasporto (3/4)
iv. Controllo del flusso dei segmenti trasmessi dal processo PS al processo PD, con lo scopo di evitareche il buffer presente allo Strato di Trasporto del terminale di destinazione vada in saturazione (over-flow).
v. Controllo di congestione – ha lo scopo di prevenireche gli scambi di segmenti (ossia, il traffico) tra tutte le coppie di processi comunicanti in un certo istante provochino fenomeni di saturazione (over-flow) dei buffer presenti nei router e nei bridge della rete. A questo scopo, il protocollo di Trasporto al lato sorgente del canale logico regola(ossia, aumenta o diminuisce) la velocità con cui i segmenti vengono immessi nella rete.
Baccarelli, Cordeschi, Patriarca, Polli
15
Servizi offribili dallo Strato di Trasporto (4/4)
iv. Gestione della connessione – lo Strato di Trasporto può anche offrire il servizio di:
i. Instaurazione; ii. Gestione;iii. Abbattimentodella connessione tra due processi comunicanti attraverso un canale logico.
Baccarelli, Cordeschi, Patriarca, Polli
16
Modelli di servizio di Trasporto in Internet
Anticipiamo che, nella Rete Internet,UDP fornisce un servizio di trasferimento di segmenti privo di connessione e non affidabile. UDP fornisce solo i due seguenti servizi:i. Multiplazione/demultiplazione;ii. Rivelazione degli errori.TCP fornisce un servizio di trasferimento dei segmenti orientato alla connessione e affidabile. TCP fornisce i seguenti servizi:i. Multiplazione/demultiplazione;ii. Rivelazione degli errori;iii. Trasferimento affidabile;iv. Controllo di flusso;v. Controllo di congestione;vi. Gestione della connessione.
Baccarelli, Cordeschi, Patriarca, Polli
17
Servizio di Multiplazione/Demultiplazione-
Principi Generali
Baccarelli, Cordeschi, Patriarca, Polli
18
Porte e Socket (1/4)
Consideriamo un terminale d’utente H con assegnato indirizzo IP: <IPAdd.H> a 32 bit.Supponiamo che uno o più processi P1, P2, …,PN siano simultaneamente attivi (ossia, trasmettono o ricevono messaggi) nel terminale H.All’interno del terminale H dove risiede, ciascuno dei suddetti processi attivi viene univocamente individuato (identificato) assegnandogli un numero intero compreso tra 0 e 65535.Questo numero è detto numero di porta (port number) associato al processo in oggetto ed è costituito da una stringa di 16bit.
Baccarelli, Cordeschi, Patriarca, Polli
19
Porte e Socket (2/4)Nel momento in cui diviene attivo, a ciascun processo all’interno del terminale H è assegnato un numero di porta che lo identifica univocamente all’interno del terminale H per tutto il tempo in cui il processo èattivo.Nel momento in cui il processo termina di essere attivo, il corrispondente numero di porta viene de-allocato e torna ad essere libero (ossia, nuovamente assegnabile).I numeri di porta da 0 a 1023 sono riservati ad applicazioni particolari (quali HTTP, FTP, DNS, TelNetetc…) e costituiscono i cosiddetti “well-known portnumbers”.
Baccarelli, Cordeschi, Patriarca, Polli
20
Porte e Socket (3/4)La lista completa dei “well-known portnumbers” è reperibile al sito:
http://www.iana.orgEsempi di “well-known port numbers” sono i seguenti:
Applicazione (processo) Numero di portaFTP 21
TelNet 23SMTP 25DNS 53HTTP 80
Baccarelli, Cordeschi, Patriarca, Polli
21
Porte e Socket (4/4)Il numero di porta individua univocamente un processo P solo all’interno del terminale H in cui il processo P è attivo (risiede). Per individuare globalmente (cioè, all’interno della intera rete Internet) un processo P attivo all’interno di un terminale H bisogna specificare:i. Il numero di porta di P;ii. L’indirizzo IP del terminale H in cui risiede P.A questo fine, ad ogni processo P attivo è associato un Socket. Per definizione il Socket è costituito dal numero di porta di P e dall’indirizzo IP del terminale H in cui risiede.
Socket = < numero di porta del processo, indirizzo IP del terminale >
Baccarelli, Cordeschi, Patriarca, Polli
22
Canale Logico – Definizione formale
Consideriamo un processo PS residente nel terminale HS che comunica con un processo PDresidente nel terminale HD. Indichiamo con :
o SS = < numero di porta di PS, indirizzo IP di HS>, il socketassociato a PS;
o SD = < numero di porta di PD, indirizzo IP di HD>, il socketassociato a PD.
Allora per definizione, il canale logico tra PS e PD è definito dalla corrispondente coppia di socket: SS e SD.
Baccarelli, Cordeschi, Patriarca, Polli
23
Formato generale di un segmento (1/2)
In generale, un Segmento di Strato di Trasporto ècostituito da una Intestazione (Header) e da un campo dati(Payload).Il campo dati contiene il messaggio generato dall’applicazione. Esso può essere di dimensioni variabili. La dimensione massima (in byte) del campo dati viene fissata, di volta in volta, al momento in cui viene stabilito il canale logico tra i due processi comunicanti. La suddetta dimensione massima è detta Maximum Segment Size (MSS)ed è espressa in byte.L’intestazione (Header) contiene vari sotto-campi tra cui:i. Numero di porta dell’applicazione sorgente che ha generato il
messaggio (16 bit);ii. Numero di porta dell’applicazione di destinazione alla quale il
messaggio è destinato (16 bit).
Baccarelli, Cordeschi, Patriarca, Polli
24
Formato generale di un segmento (2/2)
Application data (message)
Other headerfields
Source port # Dest port #
32 bits
Baccarelli, Cordeschi, Patriarca, Polli
25
Il servizio di MultiplazioneAl lato sorgente, il Protocollo di Trasporto effettua le seguenti operazioni (servizio di Multiplazione):
i. Incapsula i messaggi ricevuti dai vari Sockets attivi al terminale-sorgente in segmenti;
ii. Compila l’header di ciascun segmento, specificando i corrispondenti numeri di porta sorgente e destinazione;
iii. Passa la sequenza ordinata dei segmenti allo Strato di Rete.
Baccarelli, Cordeschi, Patriarca, Polli
26
Il servizio di Demultiplazione
Al lato destinazione, il Protocollo di Trasporto effettua le seguenti operazioni (servizio di Demultiplazione):
i. Frammenta la sequenza di dati ricevuta dallo strato di rete in segmenti;
ii. Legge il numero di porta di destinazione presente nell’header di ciascun segmento;
iii. Estrae il messaggio dal segmento;iv. Dirige il messaggio al socket specificato dal
numero di porta destinazione.
Baccarelli, Cordeschi, Patriarca, Polli
27
Multiplazione/Demultiplazione: riepilogo
application
transport
network
link
physical
P1 application
transport
network
link
physical
application
transport
network
link
physical
P2P3 P4P1
host 3
= process= socket
Consegnare i segmentiricevuti ai socket corretti
Demultiplazione al Terminale-destinazione
Raccogliere dati da più socket,incapsularli con un header (usato in seguito per la demultiplazione)
Multiplazione al Terminale-sorgente
host 1 host 2
Baccarelli, Cordeschi, Patriarca, Polli
28
Il servizio di Trasferimento Affidabile-
Principi generali
Baccarelli, Cordeschi, Patriarca, Polli
29
Il servizio di Trasferimento Affidabile – Generalità (1/2)Consideriamo due socket SS e SD che si scambiano segmenti attraverso un canale logico gestito dallo Strato di Trasporto.Per definizione, il Servizio di Trasferimento offerto dallo Strato di Trasporto è dettoaffidabile se:
i. Tutti i messaggi sono consegnati a SD senza errori (no errori né perdita di messaggi);
ii. Ciascun messaggio è consegnato a SD una e una sola volta (no duplicazione);
iii. I messaggi sono consegnati nello stesso ordine in cui sono generati da SS.
Baccarelli, Cordeschi, Patriarca, Polli
30
Il servizio di Trasferimento Affidabile – Generalità (2/2)
Lo strato di Rete di Internet implementa un servizio di trasferimento di segmenti che non è affidabile, ossia è soggetto a perdite ed errori.Lo Strato di Trasporto deve, allora, attuare meccanismi di tipo ARQ che permettano di eliminare gli errori e le perdite introdotte allo Strato di Rete.L’obiettivo è quello di offrire un servizio di trasferimento affidabile dei messaggi allo Strato Applicativo.
Baccarelli, Cordeschi, Patriarca, Polli
31
Schema generale di riferimento (1/2)
Strato di trasporto
sorgente
Strato di trasporto
destinazione
Canale diretto con
errori e perdite
Canale di ritorno con
perdite
Segm. L Segm. F
ACK. no M ACK. no N
Baccarelli, Cordeschi, Patriarca, Polli
32
Schema generale di riferimento (2/2)
Introduciamo le seguenti assunzioni:i. Il canale diretto può introdurre errori e/o perdite nei segmenti
in transito;ii. Il canale di ritorno può introdurre perdite nei messaggi di
riscontro in transito.
Introduciamo i seguenti parametri:i. Il Round Trip Time (RTT) è l’intervallo di tempo che intercorre
tra l’istante in cui un segmento inizia ad essere trasmesso dalla sorgente e l’istante in cui la sorgente ne riceve il relativo messaggio di riscontro.
ii. C (bit/sec) indica la capacità trasmissiva del canale diretto;iii. L’intervallo di Time-Out (Retransmission Time Out: RTO) indica il
massimo intervallo di tempo che può intercorrere tra l’istante di trasmissione di un segmento e l’istante di ricezione del corrispondente riscontro prima che la sorgente consideri perso il segmento stesso.
Baccarelli, Cordeschi, Patriarca, Polli
33
Meccanismi impiegatiIn generale, i meccanismi impiegati per realizzare un trasferimento di segmenti affidabile attraverso l’ (inaffidabile) canale diretto della figura precedente sono quelli già esaminati allo Strato di Collegamento, e cioè:
i. Rivelazione degli errori in ricezione;ii. Numerazione dei segmenti trasmessi;iii. Ritrasmissione dei segmenti persi o in cui sono stati
rivelati errori;iv. Trasmissione di messaggi di riscontro con numero di
sequenza;v. Impiego di finestre in trasmissione e in ricezione;vi. Impiego di un temporizzatore (timer) in trasmissione.
Baccarelli, Cordeschi, Patriarca, Polli
34
Numerazione dei segmenti trasmessi (1/2)
Ai fini della numerazione, lo strato di trasporto considera la sequenza (ordinata) dei segmenti trasmessi come una sequenza ordinata di byte.Ovviamente ogni segmento è composto da più byte.Lo Strato di Trasporto numera progressivamente la sequenza dei byte trasmessi. Ciascun numero è un intero compreso tra 0 e (232-1). Quindi, la numerazione effettuata dallo strato di trasporto è di tipo ciclico, ovvero: mod. 2b con b=32.Per definizione, il numero di sequenza associato ad un segmento è il numero d’ordine del primo byte che compone il segmento stesso.
Baccarelli, Cordeschi, Patriarca, Polli
35
Numerazione dei segmenti trasmessi (2/2)
Ciò significa che se:i. Il numero di sequenza del segmento
attuale èL ∈ {0,…, (232-1)};
ii. Il segmento attuale è composto da k ≥ 1 byte;
Allora il numero di sequenza del prossimo segmento è:
(L+k) mod. 232
Baccarelli, Cordeschi, Patriarca, Polli
36
Messaggi di riscontro positivi con numerazione (1/2)
Di tanto in tanto, il Protocollo di Trasporto al lato destinazione invia al Protocollo di Trasporto al lato sorgente messaggi di riscontro positivi con numerazione del tipo
ACK(m).I messaggi di riscontro si propagano dalla destinazione alla sorgente mediante il canale di ritorno e quindi possono essere soggetti a perdite.
Baccarelli, Cordeschi, Patriarca, Polli
37
Messaggi di riscontro positivi con numerazione (2/2)
Quando la sorgente riceve dalla destinazione il riscontro ACK (m) allora per definizione, la sorgente acquisisce le seguenti due informazioni:
i. Il prossimo byte che la destinazione si attende di ricevere è quello con numero d’ordine m. Il byte m-simo o non è stato ricevuto o è stato ricevuto con errore;
ii. Tutti i byte con numeri d’ordine ≤ (m-1) sono giàstati ricevuti correttamente dalla destinazione. Quindi, il riscontro che arriva alla sorgente è di tipo cumulativo.
Baccarelli, Cordeschi, Patriarca, Polli
38
NACK impliciti
I protocolli di Strato di Trasporto nonprevedono l’impiego esplicito di messaggi NACK (riscontri negativi).Essi impiegano messaggi NACK di tipo implicito. Ciò significa che:Quando la sorgente riceve tre o più messaggi ACK con lo stesso numero di sequenza m (cioè, tre o più ACK(m)), allora comprende che l’intero segmento con numero di sequenza m deve essere ri-trasmesso.
Baccarelli, Cordeschi, Patriarca, Polli
39
Finestra di trasmissione (1/4)
Per gestire la ritrasmissione di segmenti andati persi o ricevuti con errori, lo Strato di Trasporto del terminale sorgente mantiene e aggiorna la finestra di trasmissione.La finestra di trasmissione ha dimensioneWS ≥ 1 byte. Essa memorizza tutti i numeri di sequenza dei byte che la sorgente può trasmettere senza bisogno di ricevere alcun messaggio ACK da parte della destinazione.
Baccarelli, Cordeschi, Patriarca, Polli
40
Finestra di trasmissione (2/4)La sorgente implementa e aggiorna la finestra di trasmissione avvalendosi di 2 variabili (2 puntatori):o Sendbase: rappresenta il numero d’ordine del byte
più vecchio tra quelli trasmessi ma non ancora riscontrati positivamente dalla destinazione. In altri termini, sendbase individua l’estremo inferioredella finestra di trasmissione corrente.
o nextseqnum: rappresenta il numero d’ordine del prossimo byte che cade nella finestra corrente e che deve ancora essere trasmesso per la prima volta.
Baccarelli, Cordeschi, Patriarca, Polli
41
Finestra di trasmissione (3/4)
WS (byte)
Baccarelli, Cordeschi, Patriarca, Polli
42
Finestra di trasmissione –Aggiornamento (4/4)
Quando la sorgente riceve un riscontro ACK(y) dalla destinazione, allora aggiorna l’estremo inferiore sendbase della finestra di trasmissione come segue:
a. Se y ≤ sendbase, allora sendbase è lasciato inalterato;
b. Se y > sendbase, allora sendbase è posto pari a y.
Quando la sorgente trasmette per la prima volta k ≥1 byte con numeri d’ordine consecutivi, allora incrementa nextseqnum di k unità, ossia pone:
nextseqnum = (nextseqnum + k) mod 232
Baccarelli, Cordeschi, Patriarca, Polli
43
Finestra di ricezione (1/5)
Per gestire la richiesta di ritrasmissione di segmenti ricevuti con errori o mai ricevuti (persi), lo Strato di Trasporto del terminale di destinazione mantiene e aggiorna la finestra di ricezione.La finestra di ricezione ha dimensione WD ≥ 1 byte. Per definizione, la finestra di ricezione memorizza i numeri d’ordine dei byte che la destinazione è disposta a ricevere consecutivamente, ossia senza bisogno di inviare alcun messaggio ACK alla sorgente.
Baccarelli, Cordeschi, Patriarca, Polli
44
Finestra di ricezione (2/5)La destinazione implementa e aggiorna (fa
scorrere in avanti) la finestra di ricezione avvalendosi della sola variabile:
Rcvbase – è il più piccolo numero d’ordine del byte che la destinazione attende di ricevere ma che
i. Non ha mai ancora ricevuto (perdita di segmento);
ii. Ha ricevuto con errori (segmento corrotto).In altri termini, rcvbase è l’estremo
inferiore della finestra di ricezione.
Baccarelli, Cordeschi, Patriarca, Polli
45
Finestra di ricezione (3/5)
WD (byte)
Baccarelli, Cordeschi, Patriarca, Polli
46
Finestra di ricezione (4/5)Supponiamo che la destinazione riceva un segmento con numero di sequenza ns e lungo L ≥ 1 byte. Allora,i. Se la destinazione rivela errori nel segmento ricevuto,
scarta il segmento;ii. Se la destinazione non rivela errori e inoltre se il segmento
cade nella finestra di ricezione, ossia se è verificata la relazione seguente:
ns+ L ≤ rcvbase + WD,allora il segmento è accettato;
iii. Se la destinazione non rivela errori nel segmento ma il segmento non cade nella finestra di ricezione, ossia se
ns+ L > rcvbase + WD,allora la destinazione scarta il segmento.
Baccarelli, Cordeschi, Patriarca, Polli
47
Finestra di ricezione –Aggiornamento (5/5)
La destinazione aggiorna l’estremo inferiore rcvbase della Finestra di ricezione alla generazione di ogni messaggio ACK.
Supponiamo che la destinazione generi il messaggio ACK(z), allora l’estremo inferiore della Finestra di ricezione è posto uguale a z, ossia:
rcvbase = z.
Baccarelli, Cordeschi, Patriarca, Polli
48
Temporizzatore e RetransmissionTime Out (RTO) (1/2)
Poiché uno o più segmenti inviati dalla sorgente nel canale diretto e/o uno o più riscontri inviati dalla destinazione nel canale di ritorno possono andare persi, il Protocollo di Trasporto al lato sorgente implementa e gestisce un temporizzatore (Timer).La sorgente associa il temporizzatore all’ (intero) segmento già trasmesso e non ancora riscontrato che, tra tutti i segmenti trasmessi e non ancora riscontrati, è quello che è stato trasmesso per primo(il più vecchio).Il timer è avviato (fatto partire) quando il suddetto segmento è trasmesso (per la prima volta o meno). Il timer è bloccato (fermato) quando la sorgente riceve un riscontro positivo per il segmento in oggetto.
Baccarelli, Cordeschi, Patriarca, Polli
49
Temporizzatore e RetransmissionTime Out (RTO) (2/2)
Quando (Timer ≥ RTO) (ossia il tempo di attesa è scaduto), allora:
i. La sorgente ri-inizializza il timer;ii. La sorgente ritrasmette il segmento in
oggetto.Quando (Timer < RTO) e la sorgente riceve un riscontro positivo circa il segmento in oggetto, allora:
i. La sorgente blocca il timer.
Baccarelli, Cordeschi, Patriarca, Polli
50
Il servizio di Controllo di Congestione – Principi generali
Baccarelli, Cordeschi, Patriarca, Polli
51
Quando si verifica una congestione di Rete
I router e i canali trasmissivi della Rete Internet sono, in ogni istante, condivisi (ossia, utilizzati simultaneamente) da più canali logici impiegati da piùcoppie di processi per scambiarsi tra di loro messaggi.
Informalmente, la Rete Internet diventa congestionata quando il numero totale di messaggi che i processi-sorgenti immettono nella rete Internet nell’unità di tempo supera la velocità con cui i router e i canali trasmissivi della rete sono in grado di inoltrare i suddetti messaggi verso i corrispondenti processi di destinazione.
Baccarelli, Cordeschi, Patriarca, Polli
52
Effetti negativi della congestione di Rete (1/4)
Il verificarsi di una congestione da’ luogo a due principali effetti negativi:
i. Il ritardo medio che ciascun datagramma sperimenta a ciascun router che attraversa cresce al crescere del livello di congestione e, al limite, diviene infinito (rete completamente bloccata).
ii. Un datagramma che arriva ad un router può trovare il corrispondente buffer giàcompletamente occupato (buffer overflow al router) e, quindi, il datagramma viene scartato(perdita di datagrammi).
Baccarelli, Cordeschi, Patriarca, Polli
53
Effetti negativi della congestione di Rete (2/4)
Supponiamo che, per effetto della congestione, un datagramma sia stato scartato ad un certo router R.Se il Protocollo di Trasporto adottato non fornisce un servizio di trasferimento dati affidabile (caso UDP), il messaggio contenuto nel datagramma scartato non raggiungerà mai il processo-destinazione. Ciò provoca una perdita di informazione alla destinazione.Se il protocollo di Trasporto adottato fornisce un servizio di trasferimento dati affidabile (caso di TCP), il messaggio contenuto nel datagramma scartato verrà ri-trasmesso una o più volte da parte del processo-sorgente. Ovviamente, ogni ri-trasmissione richiede l’immissione nella Rete di un nuovo segmento (contenente sempre lo stesso messaggio) che andrà ad incrementare il livello di congestione della rete.
Baccarelli, Cordeschi, Patriarca, Polli
54
Effetti negativi della congestione di Rete – Incremento dei ritardi (3/4)
due sorgenti, due destinazionibuffer didimensioneinfinitanessunaritrasmissione
Grandi ritardiquandocongestionatamassimothroughput raggiungibile
unlimited shared output link buffers
Host Aλin : original data
Host B
λout
Baccarelli, Cordeschi, Patriarca, Polli
55
Effetti negativi della congestione di Rete – Ritrasmissioni (4/4)
finite shared output link buffers
Host A λin : original data
Host B
λout
λ'in : original data, plus retransmitted data
un router, buffer di dimensione finita ogni sorgente ritrasmette i segmenti persi
Baccarelli, Cordeschi, Patriarca, Polli
56
Strategie per controllare le congestioni (1/3)
Per eliminare (controllare) una congestione in atto, i processi-sorgente debbono ridurre le velocità con le quali immettono nuovi messaggi nella Rete.
Baccarelli, Cordeschi, Patriarca, Polli
57
Strategie per controllare le congestioni (2/3)
Il controllo della velocità con la quale ciascun singolo processo-sorgente immette nuovi messaggi in Rete può essere effettuato in accordo a due differenti strategie.
o Nel controllo di congestione di tipo end-to-end, lo strato di rete non fornisce alcun servizio allo Strato di Trasporto per controllare le congestione. La stessa presenza di congestione deve essere rivelata dallo Strato di Trasporto presso gli utenti terminali autonomamente, basandosi, cioè, solamente sul valore assunto da indici prestazionali (quali, RTT e/o il tasso di perdita di segmenti) misurabili direttamentepresso i terminali d’utente. Questo è il tipo di controllo di congestione adottato dal TCP.
Baccarelli, Cordeschi, Patriarca, Polli
58
Strategie per controllare le congestioni (3/3)
o Nel controllo di congestione assistito dalla rete, lo Strato di Rete (o, meglio, i router di rete) generano e inviano allo Strato di Trasporto dei terminali-sorgente espliciti messaggi contenenti informazioni circa:
i. Il livello di occupazione dei buffer dei router;ii. Il ritardo medio di coda ai buffer dei router.Le reti ATM attuano strategie di controllo di congestione assistite dalla rete.
Baccarelli, Cordeschi, Patriarca, Polli
59
Il Protocollo UDP
Baccarelli, Cordeschi, Patriarca, Polli
60
UDP - GeneralitàL’User Datagram Protocol (UDP) è un protocollo di trasporto che fornisce un servizio di trasferimento messaggii. Privo di connessione;ii. Non affidabile.Inoltre, UDP dà luogo ad una modalità di trasferimento tra processi di tipoi. Punto-punto;ii. Bidirezionale;iii. Full-duplex.UDP attua solo due funzioni sui segmenti che trasferisce:i. Rivelazione degli errori – una volta rivelato un errore in un
segmento ricevuto, UDP scarta il segmento oppure lo passa al processo-destinazione notificando contestualmente la presenza di errori.
ii. Multiplazione/demultiplazione dei segmenti trasferiti tra i processi
Baccarelli, Cordeschi, Patriarca, Polli
61
Perché usare UDP (1/2)
Nonostante UDP fornisca un servizio di trasferimento non affidabile la sua utilizzazione presenta i seguenti vantaggi:
o Essendo UDP privo di connessione, il suo impiego nonintroduce i ritardi temporali necessari per instaurare una connessione tra i processi comunicanti;
o L’header di un segmento UDP è molto più corto (8byte) dell’header di un segmento TCP (almeno 20byte);
o Essendo UDP privo di connessione, non richiede che gli Strati di Trasporto dei processi comunicanti mantengano e gestiscano i parametri della connessione;
o Poiché UDP non attua controllo di congestione, la velocità con cui UDP immette i segmenti nella rete dipende solo dalla velocità con cui il corrispondente processo-sorgente genera i suoi messaggi.
Baccarelli, Cordeschi, Patriarca, Polli
62
Perché usare UDP (2/2)UDP è impiegato dalle applicazioni (ossia, dai processi di Strato Applicativo) che richiedono bassi ritardi di trasferimento end-to-end ma tollerano perdite/errori nei segmenti ricevuti dai processi di destinazione.
Applicazione Protocollo di strato applicativo
Protocollo di trasporto impiegato
E-mail SMTP TCP
Accesso al terminale TelNet TCP
Web HTTP TCP
Trasferimento file FTP TCP
Applicazione multimediale UDP
Telefonia via Internet VoIP UDP
Protocolli di instradamento RIP UDP
Baccarelli, Cordeschi, Patriarca, Polli
63
Il formato del segmento UDP (1/2)
Il segmento UDP è costituito dai. Un header (8byte)ii. Un campo payload (di lunghezza variabile ma non
superiore a MSS byte)32 bit
n° porta sorgente n° porta dest.
lunghezza checksum
Dati dell’applicazione
(messaggio)
Baccarelli, Cordeschi, Patriarca, Polli
64
Il formato del segmento UDP (2/2)
L’header di un segmento UDP è composta dai seguenti campi:
o Num. porta sorgente (16 bit) – indica il numero della porta alla quale è connesso il processo sorgente del terminale sorgente;
o Num. porta destinazione (16 bit) – indica il numero della porta alla quale è connesso il processo destinazione del terminale destinazione;
o Lunghezza (16 bit) – indica la lunghezza in byte dell’intero segmento;
o Checksum (16 bit) – è il campo dei bit di controllo di paritàimpiegato in ricezione per verificare la eventuale presenza di errori sull’intero segmento ricevuto.
Baccarelli, Cordeschi, Patriarca, Polli
65
Multiplazione/Demultiplazione in UDP (1/3)
UDP fornisce un servizio di trasferimento di messaggi privo di connessione.Ciò implica che le operazioni di multiplazione/demultiplazioneeffettuate da UDP hanno le seguenti caratteristiche:i. In UDP, un canale logico tra un processo sorgente e un
processo destinazione è identificato solo dalla seguente coppia di parametri:
<indirizzo IP del terminale di dest., num. Porta di dest.>ii. Quando il terminale di destinazione riceve un segmento UDP,
allora:o Legge il numero della porta di destinazione;o Estrae il messaggio contenuto nel segmento;o Invia il messaggio alla socket col numero di porta di
destinazione specificato.
Baccarelli, Cordeschi, Patriarca, Polli
66
Multiplazione/Demultiplazione in UDP (2/3)
La conseguenza è che in UDP :o Segmenti che hanno differenti indirizzi IP
sorgente e/o numeri di porta sorgente ma hanno lo stesso indirizzo IP di destinazione e lo stesso numero di porta destinazione vengono consegnati allo stesso socketall’interno del terminale di destinazione.
Baccarelli, Cordeschi, Patriarca, Polli
67
Multiplazione/Demultiplazione in UDP (3/3)
• Esempio illustrativo
ClientIP:B
P2
clientIP: A
P1P1P3
serverIP: C
SP: 6428DP: 9157
SP: 9157DP: 6428
SP: 6428DP: 5775
SP: 5775DP: 6428
SP provides “return address”
Baccarelli, Cordeschi, Patriarca, Polli
68
Il Protocollo TCP
Baccarelli, Cordeschi, Patriarca, Polli
69
TCP – Generalità (1/4)Il Transport Control Protocol (TCP) fornisce allo Strato Applicativo un servizio di trasferimento di messaggi che è:
o Orientato alla connessioneo Affidabile.Inoltre, la modalità del trasferimento dati attuata dal TCP tra un processo sorgente e un processo destinazione è di tipo:
i. Punto-punto;ii. Bidirezionale;iii. Full-duplex.Specificatamente, TCP offre i seguenti servizi e implementa le seguenti funzioni:
i. Rivelazione di errori nei segmenti ricevuti;ii. Multiplazione/demultiplazione dei segmenti;iii. Trasferimento affidabile dei segmenti;iv. Controllo della velocità di emissione dei segmenti da parte del
terminale sorgente (controllo di flusso);v. Controllo di congestione;vi. Gestione della connessione.
Baccarelli, Cordeschi, Patriarca, Polli
70
TCP – Generalità (2/4)Essendo TCP orientato alla connessione, due processi che vogliano scambiare messaggi mediante TCP debbono preliminarmente instaurare una connessione (fase di handshaking).La fase di handshaking si compone di 3 passi:
i. Il processo-cliente invia uno speciale segmento TCP al processo-servente (segmento di notifica);
ii. Il processo-servente risponde inviando al processo-cliente un secondo speciale segmento TCP (segmento di risposta);
iii. Il processo-cliente invia un terzo segmento TCP al processo-servente comunicandogli che è pronto a inviare/ricevere messaggi (segmento di O.K.).
Baccarelli, Cordeschi, Patriarca, Polli
71
TCP – Generalità (3/4)
Uno degli scopi della fase di handshaking èquello di permettere:
i. al terminale-sorgente, di predisporre (allocare) un buffer di trasmissione in cui memorizzare temporaneamente i messaggi che sono stati generati dal processo sorgente ma non ancora trasmessi dal TCP operante al terminale sorgente;
ii. al terminale-destinazione, di predisporre (allocare) un buffer di ricezione in cui memorizzare temporaneamente i messaggi estratti dai segmenti ricevuti che non sono ancora stati inoltrati (letti dal) processo di destinazione.
Baccarelli, Cordeschi, Patriarca, Polli
72
TCP – Generalità (4/4)
Baccarelli, Cordeschi, Patriarca, Polli
73
Il segmento TCP (1/2)
Ciascun segmento TCP è costituito da un:i. Header, la cui dimensione minima è di 20
byte;ii. Un campo Payload – contiene il messaggio
generato dall’applicazione sorgente. Il campo payload può essere di dimensioni variabili, ma la dimensione massima è di MSS byte.
Baccarelli, Cordeschi, Patriarca, Polli
74
Il segmento TCP (2/2)source port # dest port #
32 bits
applicationdata
(variable length)
sequence numberacknowledgement number
Receive windowUrg data pointerchecksum
FSRPAUheadlen
notused
Options (variable length)
Baccarelli, Cordeschi, Patriarca, Polli
75
L’Header del segmento TCP (1/3)L’Header di ciascun segmento TCP è costituito dai seguenti campi:
o Source port # (16 bit) – indica il numero della porta del processo sorgente;
o Dest. port # (16 bit) – indica il numero della porta del processo destinazione;
o Seq. Number (32 bit) – è il numero di sequenza del segmento in oggetto, ossia è il numero di sequenza del primo byte che costituisce il segmento in oggetto;
o ACK Number (32 bit) – è il numero d’ordine del prossimo byte che il processo che genera il segmento si aspetta di ricevere dal processo al quale sta inviando il segmento;
o Header Len. (4 bit) – è la lunghezza dell’header (comprese le eventuali opzioni), espressa in multipli di 32 bit;
o Urg (1 bit) – indica la presenza nel payload di dati urgenti (se urg=1) la cui posizione finale all’interno del payload èspecificata dal campo urgent pointer.
Baccarelli, Cordeschi, Patriarca, Polli
76
L’Header del segmento TCP (2/3)o ACK (1 bit) – indica se il contenuto del campo ACK number
è valido (ACK=1), oppure se deve essere ignorato dal terminale che riceve il segmento in oggetto (ACK=0);
o Push (1 bit) – richiede (P=1) al terminale che riceve il segmento in oggetto di consegnarne il payloadall’opportuno socket, indipendentemente dal livello di occupazione del buffer di ricezione;
o Reset (1 bit) – segnala (R=1) l’abbattimento di una connessione in atto oppure il rifiuto di una richiesta di apertura di una connessione;
o Syn (1 bit) – usato (S=1) per instaurare una connessione TCP; a seconda dello stato del bit ACK, distingue tra:
• Richiesta di connessione (S=1, ACK=0);• Accettazione della richiesta di connessione (S=1,
ACK=1).
Baccarelli, Cordeschi, Patriarca, Polli
77
L’Header del segmento TCP (3/3)o Fin (1 bit) – usato (F=1) per richiedere la chiusura
(abbattimento) di una connessione in atto;o Receive Window (16 bit) – indica il numero di byte che il
processo che genera il segmento in oggetto è disposto a ricevere dal processo al quale il segmento è diretto;
o Checksum (16 bit) – bit di controllo della parità per la rivelazione alla destinazione di eventuali errori presenti in tutto il segmento ricevuto;
o Urg. data pointer (16 bit) – indica la posizione all’interno del payload dell’ultimo byte che costituisce i dati urgenti trasportati (eventualmente) dal payload;
o Options – campo di lunghezza variabile, ma in ogni caso multipla di 32 bit. Viene usato per negoziare il valore di MSS tra i processi comunicanti.
Baccarelli, Cordeschi, Patriarca, Polli
78
Il servizio di Mux/Demux in TCP (1/3)
TCP offre un servizio orientato alla connessione. Ciò significa che, in TCP, ogni canale logico tra processo sorgente (residente nel terminale sorgente) e processo destinazione (residente nel terminale destinazione) è identificato da 4 parametri:i. Indirizzo IP del terminale sorgente;ii. Il numero di porta del terminale sorgente;iii. Indirizzo IP del terminale destinazione;iv. Il numero di porta del terminale destinazione.Per ogni segmento che riceve, il TCP al lato destinazione usa tutti e 4 parametri per inoltrare il messaggio contenuto nel segmento verso la socket di destinazione appropriata.
Baccarelli, Cordeschi, Patriarca, Polli
79
Il servizio di Mux/Demux in TCP (2/3)
In particolare, ciò significa che, se il terminale destinazione riceve due segmenti con gli stessi valori dei campi:
<indirizzo IP dest., Numero porta dest.>ma con valori diversi dei campi:
<indirizzo IP sorg., Numero porta sorg. >allora il terminale destinazione inoltrerà i due segmenti a due socket distinti residenti nel terminale destinazione.
Baccarelli, Cordeschi, Patriarca, Polli
80
Il servizio di Mux/Demux in TCP-Esempio (3/3)
ClientIP:B
P1
clientIP: A
P1P2P4
serverIP: C
SP: 9157DP: 80
SP: 9157DP: 80
P5 P6 P3
D-IP:CS-IP: AD-IP:C
S-IP: B
SP: 5775DP: 80
D-IP:CS-IP: B
Baccarelli, Cordeschi, Patriarca, Polli
81
Stima del RTT e calcolo del RTO in TCP
Baccarelli, Cordeschi, Patriarca, Polli
82
Stima del RTT di una connessione (1/4)
Consideriamo la trasmissione di segmenti da un processo sorgente ad un processo destinazione mediante un assegnato canale logico (connessione TCP).
Definiamo come Round Trip Time (RTT) (sec) sperimentato da uno specifico segmento l’intervallo di tempo che intercorre tra l‘istante t0 in cui il segmento inizia ad essere trasmesso dallo Strato di Trasporto del terminale sorgente e l’istante t1 in cui lo strato di trasporto del terminale sorgente riceve il corrispondente messaggio ACK inviatogli dal terminale di destinazione, ossia:
RTT t1-t0 (sec).
Baccarelli, Cordeschi, Patriarca, Polli
83
Stima del RTT di una connessione (2/4)
Ovviamente, ciascun segmento trasmesso sperimenterà un suo proprio valore di RTT che, in genere, varia da segmento a segmento. Indichiamo, allora, con
RTTsample (sec)il valore del RTT del segmento
correntemente trasmesso (per la prima volta) dallo strato di trasporto del terminale sorgente.
Baccarelli, Cordeschi, Patriarca, Polli
84
Valore medio del RTT (3/4)
Indichiamo con RTT (sec) il valore medio degli RTTs dei segmenti trasmessi attraverso la connessione Proc. Sorgente Proc. Destinazione.
Ogni volta che un nuovo RTTsample è misurato, il TCP al lato sorgente aggiorna il valore RTT del RTT medio in accordo alla seguente formula:
RTT = (1-α) RTT + α RTTsample (sec),dove tipicamente α = 0.125.
Baccarelli, Cordeschi, Patriarca, Polli
85
L’esempio mostra che:i. RTTsample può assumere valori medi molto diversi in istanti di tempo
“vicini” tra di loro;ii. Il risultante valore medio RTT (sec) ha un andamento nel tempo molto
meno fluttuante (più continuo)
RTT: gaia.cs.umass.edu to fantasia.eurecom.fr
100
150
200
250
300
350
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106time (seconnds)
RTT
(mill
iseco
nds)
SampleRTT Estimated RTT
Valore medio del RTT – Esempio illustrativo (4/4)
Baccarelli, Cordeschi, Patriarca, Polli
86
Deviazione media di RTTPuò accadere che, di volta in volta, il valore correntemente misurato di RTTsample possa essere molto “vicino” o molto lontano al corrispondete valore medio RTT.Lo scostamento medio di RTTsample da RTT èmisurato dalla variabile DevRTT (sec).Specificatamente, in corrispodenza ad ogni nuovo valore di RTTsample, il TCP al alto trasmissione aggiorna DevRTT in accordo alla relazione seguente:
DevRTT = (1- β) DevRTT + β |RTTsample - RTT|,
dove tipicamente β = 0.25.
Baccarelli, Cordeschi, Patriarca, Polli
87
Calcolo del Re-Transmission Time Out (RTO) (1/2)
Ricordiamo che il Re-transmission Time Out (RTO) (sec) è l’intervallo temporale massimoche può trascorrere tra l’istante di trasmissione di un segmento e l’istante di ricezione del corrispondete ACK prima che il TCP al lato sorgente ri-trasmetta di nuovo il segmento in oggetto.Quindi,
i. valori troppo “piccoli” di RTO possono provocare ri-trasmissioni non necessarie di uno o più segmenti;
ii. valori troppo “grandi” di RTO possono introdurre ritardi troppo elevati nel trasferimento di segmenti che sono stati soggetti a perdita.
Baccarelli, Cordeschi, Patriarca, Polli
88
Calcolo del Re-Transmission TimeOut (RTO) (2/2)
Allora, alla misurazione di ciascun nuovo RTTsample, il TCP al lato trasmissione effettua le seguenti operazioni:
i. Aggiorna il valore di RTT;ii. Aggiorna il valore di DevRTT;
e, infine, calcola il valore corrente di RTO (sec) sulla base della seguente formula:
RTO= RTT + 4 DevRTT (sec).
Baccarelli, Cordeschi, Patriarca, Polli
89
Il servizio di trasferimento dati affidabile di TCP
Baccarelli, Cordeschi, Patriarca, Polli
90
Il servizio di trasferimento dati affidabile di TCP – Generalità (1/3)
Consideriamo il trasferimento di segmenti da un processo sorgente PS ad un processo destinazione PD attraverso una connessione (canale logico) gestita dal TCP.
Ricordiamo che TCP deve implementare un servizio di trasferimento di segmenti da PS a PD affidabile, avvalendosi di un servizio di trasferimento di datagrammi non affidabiledal terminale sorgente HS al terminale destinazione HD realizzato dallo strato di rete di Internet.
Baccarelli, Cordeschi, Patriarca, Polli
91
Il servizio di trasferimento dati affidabile di TCP – Generalità (2/3)Per dar luogo al servizio di trasferimento di segmenti affidabile, TCP fa ricorso all’impiego:o Della strategia ARQ;o Della numerazione (ciclica) dei segmenti trasmessi;o Della numerazione (ciclica) dei messaggi di
riscontro (ACK);o Delle finestre di trasmissione e di ricezione;o Del temporizzatore e del RTO;o Del NACK implicito (3ACK con stesso numero di
sequenza)o già descritti in precedenza.
Baccarelli, Cordeschi, Patriarca, Polli
92
Il servizio di trasferimento dati affidabile di TCP – Generalità (3/3)
Quindi, non ci rimane altro che passare alla descrizione dettagliata degli algoritmi (operazioni) che il TCP implementa:o Al lato trasmissione (TCP sender
algorithm);o Al lato ricezione (TCP receiver algorithm).
Baccarelli, Cordeschi, Patriarca, Polli
93
Trasferimento dati affidabile di TCP – Lato Sorgente (1/5)
Al lato sorgente, la trasmissione di nuovi segmenti o la ri-trasmissione di segmenti giàtrasmessi in precedenza è, di volta in volta, regolata dal verificarsi o meno di uno dei seguenti 3 eventi:
a. Un nuovo messaggio è ricevuto dal processo sorgente - in questo caso, il TCP opera come segue:
o Incapsula il messaggio in un nuovo segmento, al quale assegna come numero di sequenza il numero d’ordine del primo byte che costituisce il segmento stesso;
o Passa il segmento allo strato di Rete;o Se non è già stato attivato, attiva il Timer.
Baccarelli, Cordeschi, Patriarca, Polli
94
Trasferimento dati affidabile di TCP – Lato Sorgente (2/5)
b. Si verifica un TimeOut (ossia, Timer > RTO) – in questo caso il TCP:
• Ri-inizializza il timer;• Ri-trasmette il segmento che ha causato il
timeout.
Baccarelli, Cordeschi, Patriarca, Polli
95
Trasferimento dati affidabile di TCP – Lato Sorgente (3/5)
c. E’ ricevuto ACK (y) - in questo caso, il TCP aggiorna l’estremo inferiore: sendbase della finestra di trasmissione, operando come segue:
i. Se y > sendbase, allora:o Sendbase è posto pari a y;o Se ci sono nella finestra di trasmissione segmenti già
trasmessi non ancora riscontrati, allora ri-inizializza il timer.
ii. Se y ≤ sendbase, allora:o sendbase non viene modificato;o Se è il terzo ACK che ricevi con numero di sequenza y,
allora ri-trasmetti l’intero segmento y-mo.
Baccarelli, Cordeschi, Patriarca, Polli
96
Trasferimento dati affidabile di TCP – Lato Sorgente (4/5)
In definitiva, l’algoritmo che il TCP implementa al Lato Sorgente della connessione per garantire il trasferimento affidabile dei dati assume la forma seguente:
1. NextSeqNum : = InitialSeqNum; /* inizializzazione */2. SendBase : = InitialSeqNum; /* inizializzazione */
switch(event)
event: data received from application above 3. create TCP segment with sequence number
NextSeqNum; 4. if (timer currently not running)
start timer;5. pass segment to IP; 6. NextSeqNum := NextSeqNum + length(data);
event: timer timeout7. retransmit not-yet-acknowledged segment with 8. smallest sequence number;
start timer;
event: ACK received, with ACK field value of y if (y > SendBase) {
9. SendBase := yif (there are currently not-yet-acknowledged segments)
10. start timer; }
else{11. increment count of dup ACKs received for y;
if (count of dup ACKs received for y = 3) {12. resend segment with sequence number y;
}
Baccarelli, Cordeschi, Patriarca, Polli
97
Trasferimento dati affidabile di TCP – Lato Sorgente (5/5)
E’ interessante osservare che se la sorgente riceve tre ACKs con uno stesso numero di sequenza y, allora al sorgente ri-trasmette l’intero segmento no.y, anche se non si è ancora verificato alcun timeout.
Questo meccanismo di ri-trasmissione di un segmento causato dalla ricezione di tre ACK è detto Fast-Retransmission Mechanism.
Il suo scopo è quello di anticipare l’istante di ri-trasmissione di un segmento che (verosimilmente) èandato perso, senza attendere che il Timer ad esso associato scada.
Baccarelli, Cordeschi, Patriarca, Polli
98
Trasferimento dati affidabile di TCP – Lato Destinazione (1/2)Alla ricezione di ciascun segmento, il Lato Destinazione opera come segue:
i. Verifica se il segmento è affetto da errori;ii. Se rivela errori nel segmento, scarta il
segmento;iii. Se non rivela errori nel segmento, genera un
messaggio ACK e aggiorna la finestra di ricezione in accordo a quanto riportato nella tabella seguente:
Baccarelli, Cordeschi, Patriarca, Polli
99
Trasferimento dati affidabile di TCP – Lato Destinazione (2/2)
Evento alla destinazione Azione della destinazione TCP
Arrivo ordinato di un segmento con numero di sequenza atteso. Tutti i dati fino al numero di sequenza atteso sono già stati riscontrati.
ACK ritardato. Attende fino a 500ms l’arrivo del prossimo segmento. Se il segmento non arriva, invia un ACK.
Arrivo ordinato di un segmento con numero di sequenza atteso. Un altro segmento è in attesa di trasmissione dell’ACK.
Invia immediatamente un singolo ACK cumulativo, riscontrando entrambi i segmenti ordinati.
Arrivo non ordinato di un segmento con numero di sequenza superiore a quello atteso. Viene rilevato un buco.
Invia immediatamente un ACK duplicato, indicando il numero di sequenza del prossimo byte atteso.
Arrivo di un segmento che colma parzialmente o completamente il buco.
Invia immediatamente un ACK, ammesso che il segmento cominci all’estremità inferiore del buco.
Baccarelli, Cordeschi, Patriarca, Polli
100
Trasferimento di Dati affidabile in TCP - Conclusioni
Che tipo di strategia ARQ è quella attuata dal TCP e descritta dalle precedenti slides?Poiché ogni messaggio ACK(y) riscontra positivamentetutti i byte ricevuti dalla destinazione con numero d’ordine ≤ (y-1), il tipo di messaggio ACK impiegato dal TCP è cumulativo. L’impiego di ACK cumulativi è tipico della strategia Go-back-N.D’altra parte, mediante l’impiego delle strategie di TimeOut e di Fast Retransmission, il TCP è in grado di ri-trasmettere singoli segmenti. La capacità di ri-trasmettere singoli segmenti è tipica della strategia Selective Repeat (SR).In conclusione, la strategia ARQ attuata dal TCP è un ibrido delle strategie Go-back-N e Selective Repeat.
Baccarelli, Cordeschi, Patriarca, Polli
101
Il servizio di controllo di flusso in TCP
Baccarelli, Cordeschi, Patriarca, Polli
102
Controllo di Flusso in TCP –Generalità (1/2)
Consideriamo una connessione (canale logico) TCP da un processo sorgente PS (residente nel terminale sorgente HS) ad un processo destinazione PD (residente nel terminale destinazione HD).Abbiamo già visto che, all’atto dell’instaurazione della connessione, il TCP al lato destinazione alloca un buffer di ricezione per la memorizzazione temporanea dei segmenti ricevuti che non sono ancora stati passati al processo di destinazione.Indichiamo con
RcvBufferla dimensione (in byte) del buffer di ricezione allocato dal TCP alla destinazione al momento dell’instaurazione della connessione in oggetto.
Baccarelli, Cordeschi, Patriarca, Polli
103
Controllo di Flusso in TCP –Generalità (2/2)
Lo scopo del servizio di Controllo di Flusso è quello di regolare (aumentare o diminuire) la velocità(byte/sec) con cui lo Strato di Trasporto al lato sorgente immette byte nella connessione in modo da garantire che il numero di byte da memorizzare nel buffer di ricezione non superi mai il valore: RcvBuffer.Per implementare il suddetto servizio, il lato sorgente e il lato destinazione della connessione TCP mantengono e aggiornano una finestra di trasmissionee una finestra di ricezione, le dimensioni delle quali possono variare nel tempo, come di seguito specificheremo.
Baccarelli, Cordeschi, Patriarca, Polli
104
Controllo di Flusso in TCP – Lato Destinazione (1/4)
Per implementare il controllo di flusso, il lato Destinazione della connessione TCP mantiene e aggiorna le due seguenti variabili:o Last_Byte_Rcvd – è il numero d’ordine dell’ultimo byte (ossia
del byte più recente) che la destinazione ha ricevuto dalla connessione;
o Last_Byte_Read - è il numero d’ordine dell’ultimo byte (ossia del byte più recente) che il processo destinazione ha prelevato (letto) dal buffer di ricezione;
Ovviamente, affinchè il buffer di ricezione nontrabocchi, deve sempre essere verificata la seguente condizione:
(Last_Byte_Rcvd) – (Last_Byte_Read) ≤ RcvBuffer
Baccarelli, Cordeschi, Patriarca, Polli
105
Controllo di Flusso in TCP – Lato Destinazione (2/4)
Sulla base dei valori correnti di: Last_Byte_Rcvd e di Last_Byte_Read, il TCP al Lato Destinazione effettua le seguenti 3operazioni:i. Aggiorna la variabile: RcvWindow in accordo alla
seguente relazione:
RcvWindow := RcvBuffer –[Last_Byte_Rcvd –Last_Byte_Read]
ovviamente, RcvWindow costituisce il numero di byte che sono ancora liberi nel buffer di ricezione (vedi la figura seguente).
Baccarelli, Cordeschi, Patriarca, Polli
106
Controllo di Flusso in TCP – Lato Destinazione (3/4)
Baccarelli, Cordeschi, Patriarca, Polli
107
Controllo di Flusso in TCP – Lato Destinazione (4/4)
ii. Memorizza il valore della variabile: RcvWindow nel campo: ReceiveWindow di un nuovo segmento che il processo destinazione invierà al processo sorgente;
iii. Invia il suddetto segmento al processo sorgente, così che il TCP operante al lato sorgente della connessione possa conoscere quanti byte sono correntemente liberi nel buffer di ricezione.
Baccarelli, Cordeschi, Patriarca, Polli
108
Controllo di Flusso in TCP – Lato Sorgente (1/2)
Per implementare il controllo di flusso, il TCP al lato sorgente mantiene e aggiorna le due seguenti variabili:o Last_Byte_Sent - è il numero d’ordine dell’ultimo byte (ossia
del byte più recente) che la sorgente ha inviato nella connessione;
o Last_Byte_Acked - è il numero d’ordine dell’ultimo byte (ossia del byte più recente) di cui la sorgente ha ricevuto un riscontro positivo da parte della destinazione.
Quindi la differenza:(Last_Byte_Sent) – (Last_Byte_Acked)
Ha l’ovvio significa di numero di byte che sono stati trasmessi dalla sorgente ma dei quali non ha ancora ricevuto alcun riscontro.
Baccarelli, Cordeschi, Patriarca, Polli
109
Controllo di Flusso in TCP – Lato Sorgente (2/2)
Nel momento in cui la sorgente riceve un nuovo segmento dalla destinazione, il TCP al lato sorgente effettua le seguenti operazioni:i. Estrae dal segmento ricevuto dalla destinazione il contenuto
del campo: Receive Window (ossia, legge il valore di RcvWindow);
ii. Aggiorna la variabile: Last_Byte_Sent (ossia, eventualmente trasmette un certo numero di byte) in modo che risulti in ogni caso soddisfatta la seguente relazione:
Last_Byte_Sent ≤ Last_Byte_Acked + RcvWindow
Sintanto che il TCP a lato sorgente garantisce il soddisfacimento della relazione precedente, il buffer di ricezione non subirà mai trabocchi.
Baccarelli, Cordeschi, Patriarca, Polli
110
Il servizio di Controllo di Congestione in TCP
Baccarelli, Cordeschi, Patriarca, Polli
111
Il Controllo di Congestione in TCP – Generalità (1/3)
Consideriamo una connessione (canale logico) TCP da un processo sorgente PS (residente nel terminale sorgente HS) ad un processo destinazione PD (residente nel terminale destinazione HD).Poiché la connessione PS PD impiega router e canali trasmissivi che possono essere contemporaneamente utilizzati da altre connessioni attive nella Rete Internet, può accadere che il numero totale di segmenti che ciascun router e canale trasmissivo deve inoltrare nell’unità di tempo (traffico aggregato) sia più grande delle velocità di inoltro (switching speed) dei router e delle capacità dei canali trasmissivi.Quando ciò accade, la Rete è detta essere congestionata.
Baccarelli, Cordeschi, Patriarca, Polli
112
Il Controllo di Congestione in TCP – Generalità (2/3)
In presenza di congestione, il TCP al lato sorgente della connessione PS PD deve ridurreopportunamente la velocità (byte/sec) con cui immette segmenti nella connessione (e, quindi, nella rete).Come già detto, lo Strato di Rete di Internet nonfornisce al TCP posto al lato sorgente della connessione PS PD alcuna informazione sulla congestione che si sta verificando né alcun servizio per tentare di ridurla.In altre parole, TCP deve adottare un approccio del tipo end-to-end (ossia, da terminale-a-terminale o da estremo-a-estremo) per controllare (ridurre) la congestione che si sta verificando in rete.
Baccarelli, Cordeschi, Patriarca, Polli
113
Il Controllo di Congestione in TCP – Generalità (3/3)
Il controllo di congestione “end-to-end” pone 3 problemi al TCP che agisce al lato sorgente della connessione PS PD , e cioè:
a. Come può il TCP regolare (aumentare o diminuire) la velocità(misurata in byte/sec) con la quale immette segmenti nella connessione?
b. Come può il TCP al lato sorgente accorgersi che si sta verificando nella rete una congestione e misurarne il livello (ossia, la gravità)?
c. Quale algoritmo adotta il TCP per controllare la velocità(byte/sec) di immissione di segmenti nella connessione PSPD in funzione del livello (gravità) della congestione che si sta verificando nella rete?
Baccarelli, Cordeschi, Patriarca, Polli
114
La Finestra di Congestione della connessione (1/3)
Per regolare la velocità (byte/sec) di immissione di segmenti nella connessione PS PD, il TCP mantiene e aggiorna al lato sorgente della connessione la variabile CongWin (Finestra di congestione).CongWin è misurata in byte. Per definizione, CongWin rappresenta il massimo numero di byte che il TCP può immettere nella connessione PS PD senza bisogno di ricevere da PD alcun messaggio di riscontro positivo.Ciò significa che, al lato sorgente della connessione PSPD, il TCP garantisce che sia sempre verificata la seguente relazione:
(Last_Byte_Sent) – (Last_Byte_Acked) ≤ min {CongWin, RcvWindow}
Baccarelli, Cordeschi, Patriarca, Polli
115
La Finestra di Congestione della connessione (2/3)
Supponiamo, per il momento, che: RcvWindow = +∞, così che il TCP della connessione PS PD stia solo effettuando controllo di congestione. Supponiamo che il TCP al lato sorgente immetta nella connessione un numero di byte pari a CongWin. Dopo un intervallo di temo pari a RTT, il lato sorgente della connessione PS PD riceverà un ACK dal lato destinazione che riscontra tutti i byte trasmessi.Quindi, in assenza di perdite e errori, la velocità (in byte/sec) con cui mediamente il TCP immettesegmenti nella connessione PS PD è pari a:
(CongWin)/RTT (byte/sec)
Baccarelli, Cordeschi, Patriarca, Polli
116
La Finestra di Congestione della connessione (3/3)
Ciò significa che, a parità di RTT, il TCP può controllare (aumentare o diminuire) la velocità(in byte/sec) con cui immette segmenti nella connessione PS PD semplicemente aumentando o diminuendo la dimensione CongWin della Finestra di Congestione.
Baccarelli, Cordeschi, Patriarca, Polli
117
L’evento di perdita di un segmento (1/2)
Il TCP al lato sorgente della connessione PS PD si accorge (rileva) che si sta verificando una congestione nella rete quando, al lato sorgente, si verificano uno, o più, eventi di perdita di segmenti (Loss Events).Per definizione, si verifica un Evento di Perditaquando, al lato sorgente della connessione, accade l’uno o l’altro dei due seguenti eventi:i. La sorgente riceve tre messaggi di riscontro con lo stesso
numero di sequenza (three duplicate ACKs);ii. Il temporizzatore attivo al lato sorgente scade, ovvero si
verifica l’evento: Timer > RTO (Time Out Event).
Baccarelli, Cordeschi, Patriarca, Polli
118
L’evento di perdita di un segmento (2/2)
Quando si verifica un Evento di Perdita, il TCP al lato sorgente della connessione PS PDriduce la dimensione CongWin della finestra di congestione.L’evento: “ricezione di 3 ACKs con lo stesso numero di sequenza” è indice di un livello di congestione meno grave dell’evento di “Time Out”.Quindi, la riduzione di CongWin susseguente all’evento di Time Out è maggiore della riduzione indotta dalla ricezione di 3 ACKs con lo stesso numero di sequenza.
Baccarelli, Cordeschi, Patriarca, Polli
119
L’algoritmo di controllo di congestione in TCP – Generalità
(1/3)
Negli ultimi anni, sono state sviluppate varie versioni dell’Algoritmo di controllo di Congestione del TCP. Nel seguito faremo esplicito riferimento alla versione nota come “TCP Reno Congestion Control Algorithm”.
Baccarelli, Cordeschi, Patriarca, Polli
120
L’algoritmo di controllo di congestione in TCP – Generalità
(2/3)Essenzialmente, il suddetto algoritmo di controllo di compone di 2 stati, noti come:
i. Stato di Congestion Avoidance (CA state);ii. Stato di Slow Start (SS state).
L’Algoritmo di controllo di Congestione èimplementato solo dal TCP del lato sorgentedella connessione PS PD.
Baccarelli, Cordeschi, Patriarca, Polli
121
L’algoritmo di controllo di congestione in TCP – Generalità
(3/3)
Nel seguito, definiremo ed esamineremo, nell’ordine:o Le operazioni che il TCP svolge in ciascuno
dei 2 stati di funzionamento in cui può trovarsi;
o Gli eventi che causano la transizione da uno stato all’altro.
Baccarelli, Cordeschi, Patriarca, Polli
122
Lo stato di Congestion Avoidance(CA) (1/5)
Nello stato di CA, il TCP al lato sorgente della connessione PS PD aggiorna la dimensione CongWin della finestra di congestione in corrispondenza al verifiarsi di:
i.Ricezione di un ACK da parte del lato destinazione;ii.Ricezione di 3 ACKs con lo stesso numero di sequenza.
In particolare, CongWin è incrementata di:MSS (MSS/ CongWin) (bytes),
ossia,CongWin := CongWin + MSS (MSS/ CongWin)
per ogni singolo segmento che è riscontrato positivamente per la prima volta (Fase di Incremento Additivo della finestra di congestione).
Baccarelli, Cordeschi, Patriarca, Polli
123
Lo stato di Congestion Avoidance(CA) (2/5)
Al contrario, quando si verifica un evento di “ricezione di 3 ACKs con lo stesso numero di sequenza”, il valore di CongWin è dimezzatoma, in ogni caso, non è fatto scendere sotto il valore minimo di 1MSS. Quindi, alla ricezione di 3 duplicati ACKs, il TCP aggiorna la CongWincome segue:
CongWin := max {CongWin/2, MSS}(Fase di Decremento Moltiplicativo della finestra di congestione).
Baccarelli, Cordeschi, Patriarca, Polli
124
Lo stato di Congestion Avoidance(CA) (3/5)
In assenza di perdite e errori, ogni ACK riconosce cumulativamente tutti i CongWin byte presenti nella finestra di Congestione e trasmessi consecutivamente. Poiché:
o l’intervallo di tempo che passa tra la trasmissione di (tutti) i byte presenti nella finestra e la ricezione al lato sorgente delcorrispondente ACK è di RTT;
o il numero di segmenti di dimensione massima presenti in una finestra di dimensione CongWin è pari a :
CongWin/MSSne segue che, nella fase di Incremento Additivo, la dimensione massima della finestra di congestione aumenta di 1 MSS (byte) ogni RTT (sec).
Baccarelli, Cordeschi, Patriarca, Polli
125
Lo stato di Congestion Avoidance(CA) (4/5)- Commenti
In definitiva, nello stato di CA, la dimensione CongWin della finestra di congestione:
i. In assenza di eventi di perdita, aumenta linearmente di 1 MSS ogni RTT;
ii. Dimezza al verificarsi di ogni singolo evento Ricezione di 3 ACKs duplicati.
Baccarelli, Cordeschi, Patriarca, Polli
126
Lo stato di Congestion Avoidance(CA) (5/5)
L’andamento risultante per CongWin è quello tipico a “dente di sega” riportato nella figura seguente.
8 Kbytes
16 Kbytes
24 Kbytes
time
congestionwindow
cong
estio
n w
indo
w s
ize
Baccarelli, Cordeschi, Patriarca, Polli
127
Lo stato di Slow Start (SS) (1/7)
L’algoritmo di controllo di congestione del TCP entra nello stato di Slow Start quando:
i. La connessione tra PS e PD inizia;ii. Dopo che si è verificato un evento di Time
Out.
Baccarelli, Cordeschi, Patriarca, Polli
128
Lo stato di Slow Start (SS) (2/7)
Nello stato di SS, l’algoritmo di controllo di congestione opera come segue:
i. CongWin è posto a 1 MSS;ii. CongWin è incrementato di 1 MSS per
ogni singolo segmento che è riscontrato positivamente per la prima volta, ossia:
CongWin := CongWin + MSS (byte)(Fase di Incremento Esponenziale della
dimensione della finestra di congestione);
Baccarelli, Cordeschi, Patriarca, Polli
129
Lo stato di Slow Start (SS) (3/7)iii. La Fase di Incremento Esponenziale continua sino
a che si verifica uno dei tre seguenti eventi:o CongWin raggiunge un valore pari alla metà di
quello che aveva prima di entrare dello stato di Slow Start - In questo caso l’algoritmo abbandona lo stato di SS e entra nello stato di CA;
o Si verifica un evento di Time Out – in questo caso l’algoritmo ri-inizia un nuovo stato di SS;
o Si verifica l’evento Ricezione di 3 ACKsduplicati – in questo caso l’algoritmo dimezzail valore corrente di CongWin e, poi, entranello stato CA.
Baccarelli, Cordeschi, Patriarca, Polli
130
Lo stato di Slow Start (SS) (4/7)
Per implementare l’algoritmo di aggiornamenti di CongWin precedentemente descritto, il TCP si avvale di una variabile ausiliaria detta Threshold.
Per definizione, Threshold indica il valore di CongWin a cui lo stato di SS termina e inizialo stato di CA.
Baccarelli, Cordeschi, Patriarca, Polli
131
Lo stato di Slow Start (SS) (5/7)
Ciò significa che Threshold è aggiornato come segue:
i. All’inizio della connessione, Threshold è posto ad un valore infinito (di fatto, a 65·103 byte), così, da non avere inizialmente effetto sull’evoluzione dell’algoritmo di controllo di congestione;
ii. Ogni volta che si veridica un “evento di TimeOut” oppure un “evento di ricezione di 3 duplicati ACKs”, Thershold è posto alla metà del valore corrente di CongWin, ossia,
Threshold := CongWin/2.
Baccarelli, Cordeschi, Patriarca, Polli
132
Lo stato di Slow Start (SS) (6/7)Nella Fase di Incremento Esponenziale dello stato di SS, la dimensione CongWin della finestra di congestione aumenta di 1 MSS per ogni singolo segmento riscontrato positivamente per la prima volta.Quindi, poiché:
o In assenza di perdite e errori, il lato sorgente della connessione trasmette CongWin byte consecutivi;
o CongWin byte corrispondono ad un numero di segmenti di lunghezza massima pari a:
CongWin/MSS;o Dopo un intervallo di tempo pari a RTT, il lato sorgente riceve un ACK
che riscontra tutti i CongWin bytes precedentemente trasmessi;
ne deduciamo che, nella fase di Incremento Esponenziale, ladimensione CongWin della finestra di congestione raddoppia di valore in ogni intervallo di durata RTT.
Baccarelli, Cordeschi, Patriarca, Polli
133
Lo stato di Slow Start (SS) (7/7)
La figura seguente esemplifica l’incremento di tipo esponenziale (ossia, il raddoppio del valore in ogniintervallo RTT) del valore di CongWin durante la Fase di Incremento Esponenziale dello stato SS.
Host A
one segment
RTT
Host B
time
two segments
four segments
Baccarelli, Cordeschi, Patriarca, Polli
134
L’Algoritmo di controllo di congestione del TCP (1/3)
Riassumendo quanto esposto sino ad ora, l’algoritmo di controllo di congestione del TCP lavora al seguente modo:Fintantoché CongWin è minore o uguale a Threshold, l’algoritmo è nello stato SS, in cui la dimensione della finestra raddoppia ogni RTT intervallo, finchè non si verificano eventi di perdita;Finchè CongWin è superiore a Threshold, l’algoritmo ènello stato di CA, in cui la dimensione della finestra di congestione cresce di un MSS ogni RTT, fintantochénon si verificano eventi di perdita di segmenti.
Baccarelli, Cordeschi, Patriarca, Polli
135
L’Algoritmo di controllo di congestione del TCP (2/3)
Quando il lato sorgente della connessione riceve 3 duplicati ACKs, allora:
i. Pone Threshold a CongWin/2;ii. Pone CongWin a Threshold (ossia dimezza
CongWin);Quando si verifica un evento di Time Out, allora:
i. Pone Threshold a CongWin/2;ii. Pone CongWin a 1 MSS e entra nello stato di SS.
Baccarelli, Cordeschi, Patriarca, Polli
136
L’Algoritmo di controllo di congestione del TCP (3/3)
L’intero algoritmo di controllo di congestione applicato al lato sorgente di una connessione TCP-Reno èriportato dettagliatamente nella Tabella seguente.
State Event TCP Sender Action Commentary
Slow Start (SS)
CongestionAvoidance (CA)
SS or CA
SS or CA
SS or CA
ACK receipt for previously unacked data
CongWin = CongWin + MSS, If (CongWin > Threshold)
set state to “Congestion Avoidance”
Resulting in a doubling of CongWin every RTT
ACK receipt for previously unacked data
CongWin = CongWin+MSS * (MSS/CongWin)
Additive increase, resulting in increase of CongWin by 1 MSS every RTT
Loss event detected by triple duplicate ACK
Threshold = CongWin/2, CongWin = Threshold,Set state to “Congestion Avoidance”
Fast recovery, implementing multiplicative decrease. CongWin will not drop below 1 MSS.
Timeout Threshold = CongWin/2, CongWin = 1 MSS,Set state to “Slow Start”
Enter slow start
Duplicate ACK Increment ACK cou duplicate nt for segment being acked
CongWin and Threshold not changed
Baccarelli, Cordeschi, Patriarca, Polli
137
L’Algoritmo di controllo di congestione del TCP - Esempio
tempo
Fine
stra
di c
onge
stio
ne
Threshold
Baccarelli, Cordeschi, Patriarca, Polli
138
Gestione della Connessione in TCP
Baccarelli, Cordeschi, Patriarca, Polli
139
Gestione della connessione in TCP - Generalità
Supponiamo che il processo-cliente PC (residente presso il terminale HC) voglia scambiare messaggi col processo-servente PSR (residente presso il terminale HSR) mediante TCP.Poiché TCP fornisce un servizio di trasferimento dati orientato alla connessione, il tempo di vita di una connessione TCP è suddivisa nelle tre seguenti (usuali) fasi:
i. Fase di instaurazione della connessione;ii. Fase di connessione aperta;iii. Fase di chiusura della connessione.
Baccarelli, Cordeschi, Patriarca, Polli
140
Fase di instaurazione della connessione in TCP (1/5)
La fase di Instaurazione della connessione è composta di tre passi.
Passo 1 – il processo-cliente PC invia uno (speciale) segmento TCP al processo-servente PSR. Il segmento non contiene dati nel suo campo payload. Il segmento ha:
o Il bit del campo SYN posto a 1;o Il campo sequence number che contiene il numero iniziale sequenza:
client_isn che il cliente ha scelto per numerare i segmenti che il cliente invierà al servente durante il tempo di vita della connessione.
• Passo 2 – dopo che il segmento in oggetto ha raggiunto il processo servente, il TCP al lato servente allora il buffer di ricezione, inizializza le variabili necessarie per gestire la connessione, e, poi, invia un segmento di riscontro (detto SYNACK segment) al processo cliente. Il segmento di riscontro che il processo servente invia al processo cliente non contiene dati nel suo campo payload.
Baccarelli, Cordeschi, Patriarca, Polli
141
Fase di instaurazione della connessione in TCP (2/5)
Il segmento SYNACK ha:o Il bit del campo SYN posto a 1;o Il campo Acknowledgement number posto a: (client_isn + 1);o Il campo sequence number posto a: server_isn, dove
server_isn è il numero iniziale di sequenza che il processo servente usa per numerare i segmenti che il processo servente invierà al processo cliente.
Essenzialmente, con l’invio del segmento SYNACK, il processo servente sta dicendo al processo cliente: “ho ricevuto la tua richiesta di connessione con il tuo iniziale numero di sequenza, client_isn. Concordo nello stabilire la connessione. Il mio iniziale numero di sequenza è: server_isn”
Baccarelli, Cordeschi, Patriarca, Polli
142
Fase di instaurazione della connessione in TCP (3/5)
Passo 3 – dopo aver ricevuto il segmento SYNACK dal servente, il TCP al lato cliente alloca il buffer di trasmissione e inizializza le variabili necessarie per gestire la connessione. Quindi, il cliente invia al servente un (ultimo) segmento che notifica al servente che il cliente ha ricevuto il segmento SYNACK. Quest’ultimo segmento che il cliente invia al servente ha:
o Il bit del campo SYN posto a 0;o Il campo sequence number posto a: (client_isn +1);o Il campo Acknowledgement number posto a: (server_isn +1).
Dopo la ricezione di quest’ultimo segmento, il processo servente può iniziare a inviare i suoi messaggi applicativi al processo cliente, attraverso la connessione instaurata.
Baccarelli, Cordeschi, Patriarca, Polli
143
Fase di instaurazione della connessione in TCP – Riepilogo
(4/5)Processo
ClienteProcessoServente
2 RTT
t0
t1
tempo tempo
SYN=1, seq:=client_isn
SYN=1, seq:=server_isn, ack:=client_isn + 1
SYN=0, seq:=client_isn + 1, ack:=server_isn + 1
dati
Baccarelli, Cordeschi, Patriarca, Polli
144
Fase di instaurazione della connessione in TCP – Commenti (5/5)Come si evince anche dalla figura precedente, la Fase di Instaurazione di una connessione TCP prevede 3 passi, e per questo è anche nota come 3-way handshaking.Inoltre, l’intervallo di tempo che trascorre tra l’istante t0 in cui il cliente invia il segmento di richiesta di connessione e l’istante t1 in cui il cliente inizia a ricevere il messaggio del servente è pari a 2RTT. Quindi l’instaurazione di una connessione TCP comporta un ritardo di 2RTT nella ricezione dei primi messaggi “utili”.
Baccarelli, Cordeschi, Patriarca, Polli
145
Fase di abbattimento di una connessione TCP (1/3)
Supponiamo che la connessione tra il processo cliente PC e il processo servente PSR debba essere chiusa. Sia PC che PSRpossono iniziare la fase diabbattimento della connessione.Supponiamo che sia il processo cliente ad iniziare la fase di abbattimento della connessione (vedi la figura).
client
FIN
server
ACK
ACK
FIN
close
close
closed
tim
ed w
ait
closed
Baccarelli, Cordeschi, Patriarca, Polli
146
Fase di abbattimento di una connessione TCP (2/3)
La fase di abbattimento della connessione di articola in 5 passi:
Passo 1 – il processo cliente invia al processo servente un segmento con bit del campo FIN posto a 1;Passo 2 – dopo aver ricevuto il segmento, il processo servente invia al processo cliente un segmento con bit del campo ACK posto a 1. Il processo servente de-alloca tutte le risorse della connessione (buffer di ricezione e variabili);Passo 3 – il processo servente invia un altro segmento al processo cliente col bit del campo FIN posto a 1;
Baccarelli, Cordeschi, Patriarca, Polli
147
Fase di abbattimento di una connessione TCP (3/3)
Passo 4 - alla ricezione del suddetto segmento, il processo cliente invia un segmento al servente con ACK=1. Dopo di che, il processo cliente entra in uno stato di attesa che, tipicamente, dura 30sec, e che ha lo scopo di permettere al segmento ACK di propagarsi fino al servente;Passo 5 – alla ricezione dell’ultimo segmento con ACK=1, il processo servente chiude definitivamente la connessione. Tutte le risorse (buffer e variabili) dedicate alla connessione sono definitivamente de-allocate.
Baccarelli, Cordeschi, Patriarca, Polli
148
Rifiuto di richiesta di connessione
Supponiamo ora che il processo cliente PCchieda (mediante l’invio di un segmento SYN) di aprire una connessione al processo servente PSR.Supponiamo che il processo servente PSRrifiuti la richiesta. Allora,o dopo la ricezione del segmento SYN il processo
servente invia al processo cliente uno speciale segmento che non contiene dati ma che ha il bit del campo RST posto a 1;
o la richiesta di connessione è rifiutata.
Baccarelli, Cordeschi, Patriarca, Polli
149
Prestazioni di una connessione TCP - Generalità
Supponiamo che il processo sorgente PS invii segmenti mediante una connessione TCP al processo-destinazione PD.
I due parametri principali che vengono adottati per misurare le prestazioni della connessione PS PD sono:o Il Goodput medio (byte/sec);o Il ritardo di trasferimento o Latenza (sec).
Baccarelli, Cordeschi, Patriarca, Polli
150
Il Goodput medio (1/3)
Poiché il TCP ri-trasmette i segmenti che sono andati persi o che sono stati ricevuti con errore, i segmenti che, in ogni istante, sono in transito nella connessione PS PD o sono segmenti trasmessi per la prima volta o sono segmenti ri-trasmessi.Si definisce “goodput medio” gd (byte/sec) della connessione PS PD il numero medio di bytes che nell’unità di tempo, il processo destinazione riceve (ossia, non vi sono perdite) senza rivelarvi alcun errore.
Baccarelli, Cordeschi, Patriarca, Polli
151
Il Goodput medio (2/3)
Indichiamo con:
o RTT (sec) il valore medio del RTT della connessione;
o MSS (byte) la dimensione massima del campo payload di un segmento;
o PLOSS la probabilità di perdita (time out o 3 duplicati ACK) di un segmento.
Baccarelli, Cordeschi, Patriarca, Polli
152
Il Goodput medio (3/3)Allora, sotto ipotesi di larga generalità, il goodputmedio della connessione è calcolabile mediante la seguente formula approssimata:
La precedente formula vale:o Per valori “piccoli” di PLOSS (diciamo per PLOSS < 10 -2);o Nei casi in cui gli Eventi di Time Out abbiano una probabilità
trascurabile di verificarsi;o Quando l’algoritmo di controllo di congestione del TCP lavora
essenzialmente nello stato di Congestion Avoidance (CA).
)(byte/PRTT
MSSgdLOSS
sec 22.1≅
Baccarelli, Cordeschi, Patriarca, Polli
153
Latenza della connessione TCP (1/7)
Consideriamo la connessione TCP tra un processo cliente e un processo servente che impiega un canale trasmissivo di capacità C (bit/sec).
Supponiamo che il cliente voglia ottenere (“scaricare”) dal servente un file di dimensioni O (bit).Si definisce Latenza (sec) della connessione l’intervallo di tempo intercorrente tra l’istante t0 in cui il cliente invia la richiesta di connessione (segmento SYN) al servente e l’istante t1 in cui il cliente ha ricevuto (scaricato) tutto il file dal servente.
Cliente ServenteC (bit/sec)
Baccarelli, Cordeschi, Patriarca, Polli
154
Latenza della connessione TCP (2/7)
Al fine di calcolare la Latenza, introduciamo le assunzioni seguenti:i. La quantità di dati che il servente può trasmettere è
limitata solo dalla sua finestra di congestione CongWin (gli effetti del controllo di flusso sono trascurati);
ii. I segmenti trasmessi non sono né persi né corrotti, così che non si considerano gli effetti delle ri-trasmissioni;
iii. Il file da “scaricare” è costituito da un numero intero di segmenti MSS (byte);
iv. Il tempo necessario per stabilire la connessione è tenuto in conto;
v. L’algoritmo di controllo di congestione attuato al lato servente lavora solo nello stato SS (Slow Start).
Baccarelli, Cordeschi, Patriarca, Polli
155
Latenza della connessione TCP (3/7)
Introduciamo le seguenti definizioni:i. O (bit) è la dimensione in bit del file da scaricare dal
servente;ii. S (bit) = 8 MSS è la massima dimensione di un segmento in
bit;iii. C (bit/sec) è la capacità del canale tra servente e cliente.
Inoltre indichiamo con:o [x]+ max {x,0} = x, per x ≥ 0
0, per x < 0
o [x] l’intero più piccolo che è maggiore o uguale al numero x.
Baccarelli, Cordeschi, Patriarca, Polli
156
Latenza della connessione TCP-Calcolo (4/7)
Nello stato SS, il numero di segmenti (di dimensione massima S (bit)) contenuti nella finestra di congestione del servente raddoppiaad ogni intervallo RTT;Quindi, il numero di finestre NW necessarie per scaricare l’interno file è pari a:
NW = min {k: 20+21+22+…+2k ≥ O/S} == [log2 (O/S + 1)]
Baccarelli, Cordeschi, Patriarca, Polli
157
Latenza della connessione TCP-Calcolo (5/7)
Dopo la trasmissione dei byte contenuti nella k-ma finestra, il servente aspetta di ricevere il riscontro positivo dal cliente prima di passare a trasmettere i byte contenuti nella finestra seguente. Il tempo di attesa (tempo di stallo del servente) è pari a:
[S/C + RTT - 2k-1 (S/C)]+
Come già visto, il tempo necessario per instaurare la connessione TCP è di 2RTT, mentre il tempo necessario per trasmettere l’intero file è O/C.
Baccarelli, Cordeschi, Patriarca, Polli
158
Latenza della connessione TCP –formula (6/7)
La Latenza precedentemente definita è la somma del ritardo di connessione, del tempo di trasmissione del file, e dei tempi di stallo tra la trasmissione dei byte di una finestra e di quella successiva.
Quindi,
(sec) 221
1
1+−
=
−∑ ⎥⎦⎤
⎢⎣⎡ −+++=
WN
k
k
CSRTT
CS
CORTTLatenza
Baccarelli, Cordeschi, Patriarca, Polli
159
Latenza minima della connessione TCP (7/7)
E’ interessante osservare che il valore minimoche può assumere la Latenza è
Latenza minima = 2RTT + O/C.
Questo valore minimo è raggiunto quando NW = 1, ossia quando:
O/C >> RTT.