Telecomunicazioni

1034
Telecomunicazioni Corso di Laurea in Ingegneria Gestionale / Informatica Prof. Enzo Baccarelli Lezioni dell’A.A. 2008-2009

description

Tlc Baccarelli

Transcript of Telecomunicazioni

Page 1: Telecomunicazioni

TelecomunicazioniCorso di Laurea in Ingegneria Gestionale / Informatica

Prof. Enzo Baccarelli

Lezioni dell’A.A. 2008-2009

Page 2: Telecomunicazioni

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))

Page 3: Telecomunicazioni

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;

Page 4: Telecomunicazioni

4

Riferimenti

Prof. Enzo BaccarelliRicevimento: Giovedì, ore 12:00-13:00, stanza 10, Dpt. INFOCOM, via Eudossiana 18.Email: [email protected]

Page 5: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

1

Capitolo 1Introduzione ai Sistemi di

Telecomunicazione (TLC) e alle Reti di computer

Page 6: Telecomunicazioni

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

Page 7: Telecomunicazioni

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

Page 8: Telecomunicazioni

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.

Page 9: Telecomunicazioni

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

Page 10: Telecomunicazioni

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)

Page 11: Telecomunicazioni

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)

Page 12: Telecomunicazioni

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

Page 13: Telecomunicazioni

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

Page 14: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

10

Broadcasting terrestre

Mezzo trasmissivo: etere (collegamenti radio)Esempi: Servizi di Radio e Televisione- Televisione Diditale Terrestre (DVBT)

Page 15: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

11

Broadcasting satellitare

Mezzo trasmissivo: etere (collegamenti radio)Esempi: Televisione satellitare (analogica o digitale): SKY e simili

Utenti

Satellite

Trasmettitori

Page 16: Telecomunicazioni

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)

Page 17: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

13

Reti locali senza fili (WLAN)

Mezzo trasmissivo: etere (collegamenti radio)

Modalità “SRUTTURATA” Modalità “AD HOC”

Page 18: Telecomunicazioni

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

Page 19: Telecomunicazioni

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.

Page 20: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

16

Che cosa è Internet- Elementicostitutivi (1/4)

Home network

Institutional network

Mobile network

Global ISP

Regional ISP

Page 21: Telecomunicazioni

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

Page 22: Telecomunicazioni

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.

Page 23: Telecomunicazioni

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

Page 24: Telecomunicazioni

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

Page 25: Telecomunicazioni

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.

Page 26: Telecomunicazioni

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.

Page 27: Telecomunicazioni

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.

Page 28: Telecomunicazioni

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

Page 29: Telecomunicazioni

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

Page 30: Telecomunicazioni

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.

Page 31: Telecomunicazioni

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.

Page 32: Telecomunicazioni

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.

Page 33: Telecomunicazioni

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.

Page 34: Telecomunicazioni

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.

Page 35: Telecomunicazioni

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”

Page 36: Telecomunicazioni

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.

Page 37: Telecomunicazioni

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).

Page 38: Telecomunicazioni

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).

Page 39: Telecomunicazioni

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

Page 40: Telecomunicazioni

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

Page 41: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

37

FDM e TDM

FDM

Frequenza(Hz)

Tempo (sec)TDM

Frequenza(Hz)

Tempo (sec)

4 utentiEsempio:

Page 42: Telecomunicazioni

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.

Page 43: Telecomunicazioni

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

Page 44: Telecomunicazioni

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

Page 45: Telecomunicazioni

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.

Page 46: Telecomunicazioni

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.

Page 47: Telecomunicazioni

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

Page 48: Telecomunicazioni

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

Page 49: Telecomunicazioni

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.

Page 50: Telecomunicazioni

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.

Page 51: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

47

Modo di Trasferimento “a Pacchetto” (1/2)

Servizio di rete:o con o senza connessione

Multiplazione:o statistica

Page 52: Telecomunicazioni

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 )

Page 53: Telecomunicazioni

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

Page 54: Telecomunicazioni

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

Page 55: Telecomunicazioni

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.

Page 56: Telecomunicazioni

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.

Page 57: Telecomunicazioni

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.

Page 58: Telecomunicazioni

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

Page 59: Telecomunicazioni

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.

Page 60: Telecomunicazioni

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

Page 61: Telecomunicazioni

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.

Page 62: Telecomunicazioni

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.

Page 63: Telecomunicazioni

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

Page 64: Telecomunicazioni

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).

Page 65: Telecomunicazioni

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

Page 66: Telecomunicazioni

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

Page 67: Telecomunicazioni

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)

Page 68: Telecomunicazioni

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)

Page 69: Telecomunicazioni

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.

Page 70: Telecomunicazioni

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).

Page 71: Telecomunicazioni

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

Page 72: Telecomunicazioni

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

Page 73: Telecomunicazioni

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

Page 74: Telecomunicazioni

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

Page 75: Telecomunicazioni

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

Page 76: Telecomunicazioni

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.

Page 77: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

73

Mezzi Fisici: cavo (1/2)

Cavo coassiale:

due conduttori concentrici di ramebidirezionale

Page 78: Telecomunicazioni

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

Page 79: Telecomunicazioni

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

Page 80: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

76

La Rete di Trasporto di Internet (Core Network) (1/2)

Page 81: Telecomunicazioni

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.

Page 82: Telecomunicazioni

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)

Page 83: Telecomunicazioni

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

Page 84: Telecomunicazioni

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

Page 85: Telecomunicazioni

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

Page 86: Telecomunicazioni

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

Page 87: Telecomunicazioni

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?

Page 88: Telecomunicazioni

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

Page 89: Telecomunicazioni

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)

Page 90: Telecomunicazioni

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 .

Page 91: Telecomunicazioni

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.

Page 92: Telecomunicazioni

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.

Page 93: Telecomunicazioni

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.

Page 94: Telecomunicazioni

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

Page 95: Telecomunicazioni

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.

Page 96: Telecomunicazioni

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

Page 97: Telecomunicazioni

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

Page 98: Telecomunicazioni

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

Page 99: Telecomunicazioni

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.

Page 100: Telecomunicazioni

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)

Page 101: Telecomunicazioni

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).

Page 102: Telecomunicazioni

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

Page 103: Telecomunicazioni

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)

Page 104: Telecomunicazioni

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

Page 105: Telecomunicazioni

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).

Page 106: Telecomunicazioni

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

Page 107: Telecomunicazioni

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)

Page 108: Telecomunicazioni

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

Page 109: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

1

Capitolo 2Introduzione allo Strato

Fisico:Segnali Analogici e numerici

Page 110: Telecomunicazioni

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

Page 111: Telecomunicazioni

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 ≥

Page 112: Telecomunicazioni

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

Page 113: Telecomunicazioni

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

Page 114: Telecomunicazioni

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 …

Page 115: Telecomunicazioni

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

Page 116: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

8

Fondamenti sui segnali analogici-Strato Fisico

Page 117: Telecomunicazioni

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)

Page 118: Telecomunicazioni

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

Page 119: Telecomunicazioni

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

Page 120: Telecomunicazioni

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

Page 121: Telecomunicazioni

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

Page 122: Telecomunicazioni

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

Page 123: Telecomunicazioni

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

Page 124: Telecomunicazioni

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

Page 125: Telecomunicazioni

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

Page 126: Telecomunicazioni

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

Page 127: Telecomunicazioni

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 π +ϕ=

Page 128: Telecomunicazioni

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

Page 129: Telecomunicazioni

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

τ τ

Page 130: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

22

Energia di un segnale (1/3)

Segnale “di energia”:

Segnale “impulsivo”:∫+∞

∞−+∞<dttx )(

Def:

Def:

Def:

xε +∞<0 <

2( ) 0+∞ ≥∫−∞ x t dt

Page 131: Telecomunicazioni

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α >

Page 132: Telecomunicazioni

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

Page 133: Telecomunicazioni

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

Δ ≥∫Δ −ΔΔ →+∞

Page 134: Telecomunicazioni

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

Page 135: Telecomunicazioni

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

=+⎟⎠⎞

⎜⎝⎛ +=

=++=

=++=+=

∫ ∫

∫∫

− −

−−

ϕπ

ϕπϕπ

Page 136: Telecomunicazioni

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

TTdt

TdtnTtrect

TP

T

Txττττ

ττ =⎟⎠⎞

⎜⎝⎛ +==−= ∫∫ −− 22

111)]([1 2/

2/

22/

2/

2

Page 137: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

29

Relazione tra segnali di energia, impulsivi e di potenza

Segnali di energia Segnali impulsivi

Segnali di potenza

Segnali periodici

Page 138: Telecomunicazioni

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))

Page 139: Telecomunicazioni

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:

Page 140: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

32

L’impulso matematico

)(1lim)(0

trectt

t tt Δ→Δ Δ=δ

area 1

⎩⎨⎧

≠=∞+

=0 00

)(tt

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

Page 141: Telecomunicazioni

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+ε

−ε

δ − = ε >∫

Page 142: Telecomunicazioni

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= δ + δ → = +

Page 143: Telecomunicazioni

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τ=+∞

τ=−∞

= τ − τ τ = ∗ −∞ < < +∞∫

Page 144: Telecomunicazioni

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

Page 145: Telecomunicazioni

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

τ

Page 146: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

38

Convoluzione – Esempio di Calcolo (4/6)

( )x τ

τ-4 4

2

0 3

1

-3 0

τ

-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

Page 147: Telecomunicazioni

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Δ + Δ

Page 148: Telecomunicazioni

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+∞ +∞

−∞ −∞

= τ δ − τ τ→ τ − τ τ =∫ ∫

Page 149: Telecomunicazioni

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 <→<

Page 150: Telecomunicazioni

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≥⎧

= ⎨⎩

Page 151: Telecomunicazioni

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 )()()(

Page 152: Telecomunicazioni

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

− −−

− −−

=

−=−=−=

===

ϕϕπ

π

Page 153: Telecomunicazioni

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

Page 154: Telecomunicazioni

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 ∑∫ ∑∫ ===−−

π

Page 155: Telecomunicazioni

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

A

nX

n

• •

••••

• •• •

1X

2X

3X 5X

6X

1−X

2−X

3−X5−X

6−X

0X

τ1

τ2

Page 156: Telecomunicazioni

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•

• •

Page 157: Telecomunicazioni

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 = ± ±

Page 158: Telecomunicazioni

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

Page 159: Telecomunicazioni

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)

Page 160: Telecomunicazioni

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:

Page 161: Telecomunicazioni

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)ϕ

Page 162: Telecomunicazioni

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)

Page 163: Telecomunicazioni

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”.

Page 164: Telecomunicazioni

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

=

=

=

Page 165: Telecomunicazioni

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

+∞

−∞

= ∫ε

Page 166: Telecomunicazioni

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

Page 167: Telecomunicazioni

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

Page 168: Telecomunicazioni

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)

Page 169: Telecomunicazioni

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

Page 170: Telecomunicazioni

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

Page 171: Telecomunicazioni

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= π

Page 172: Telecomunicazioni

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

Page 173: Telecomunicazioni

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=

Page 174: Telecomunicazioni

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 )()()()(

Page 175: Telecomunicazioni

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

Page 176: Telecomunicazioni

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

Page 177: Telecomunicazioni

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

Page 178: Telecomunicazioni

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

Page 179: Telecomunicazioni

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−

=

Page 180: Telecomunicazioni

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

Page 181: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

73

Fondamenti sui segnali numerici-Strato Fisico

Page 182: Telecomunicazioni

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−= = − =

Page 183: Telecomunicazioni

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

Page 184: Telecomunicazioni

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

Page 185: Telecomunicazioni

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−•••• •

Page 186: Telecomunicazioni

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

Page 187: Telecomunicazioni

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≥

Page 188: Telecomunicazioni

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

Page 189: Telecomunicazioni

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

+∞ +∞

=−∞ =−∞

⎧ ⎫δ − = δ −⎨ ⎬

⎩ ⎭∑ ∑

Page 190: Telecomunicazioni

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

Page 191: Telecomunicazioni

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

Page 192: Telecomunicazioni

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

Page 193: Telecomunicazioni

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

Page 194: Telecomunicazioni

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

Page 195: Telecomunicazioni

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=

Page 196: Telecomunicazioni

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

± → =→

× = × = =

Page 197: Telecomunicazioni

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

Page 198: Telecomunicazioni

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

Page 199: Telecomunicazioni

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 −= =

Page 200: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

92

Elaborazione numerica dei segnali- Strato Fisico

Page 201: Telecomunicazioni

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

Page 202: Telecomunicazioni

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)

Page 203: Telecomunicazioni

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)

Page 204: Telecomunicazioni

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

Page 205: Telecomunicazioni

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-4 -3 -2 –1 0 1 2 3 4

1

Filtraggio numerico(1/9)

Page 206: Telecomunicazioni

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− − = ± ±→ →

Page 207: Telecomunicazioni

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

Page 208: Telecomunicazioni

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)

Page 209: Telecomunicazioni

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)

Page 210: Telecomunicazioni

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)

Page 211: Telecomunicazioni

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.

Page 212: Telecomunicazioni

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)

Page 213: Telecomunicazioni

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+ ∗ = ∗ + ∗

Page 214: Telecomunicazioni

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

Page 215: Telecomunicazioni

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)

Page 216: Telecomunicazioni

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)

Page 217: Telecomunicazioni

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

⎧⎪⎪⎨⎪⎪⎩

≥= =<

Page 218: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

1

Capitolo 3Strato Fisico- Cenni sulle

Modulazioni analogiche

Page 219: Telecomunicazioni

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

Page 220: Telecomunicazioni

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ε= +

Page 221: Telecomunicazioni

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

Page 222: Telecomunicazioni

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)

Page 223: Telecomunicazioni

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

Page 224: Telecomunicazioni

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

Page 225: Telecomunicazioni

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)}

Page 226: Telecomunicazioni

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

π π

π

⎡ ⎤= + =⎣ ⎦

⎡ ⎤= = + = + +⎣ ⎦

Page 227: Telecomunicazioni

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+

Page 228: Telecomunicazioni

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

Page 229: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca e Polli

1

Capitolo 4Strato Fisico-

Modellazione delle Sorgenti d’Informazione e Codificazione di

Sorgente

Page 230: Telecomunicazioni

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.

Page 231: Telecomunicazioni

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.

Page 232: Telecomunicazioni

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.

Page 233: Telecomunicazioni

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.

Page 234: Telecomunicazioni

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

Page 235: Telecomunicazioni

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)

Page 236: Telecomunicazioni

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)]

Page 237: Telecomunicazioni

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.

Page 238: Telecomunicazioni

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

Page 239: Telecomunicazioni

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

Page 240: Telecomunicazioni

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).

Page 241: Telecomunicazioni

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)

Page 242: Telecomunicazioni

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.

Page 243: Telecomunicazioni

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

Page 244: Telecomunicazioni

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.

Page 245: Telecomunicazioni

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

Page 246: Telecomunicazioni

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

= × × = →

Page 247: Telecomunicazioni

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<

Page 248: Telecomunicazioni

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

Page 249: Telecomunicazioni

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<< −

Page 250: Telecomunicazioni

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

Page 251: Telecomunicazioni

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

Page 252: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

1

Capitolo 5Strato Fisico- I mezzi trasmissivi

Page 253: Telecomunicazioni

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)

Page 254: Telecomunicazioni

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:

Page 255: Telecomunicazioni

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

Page 256: Telecomunicazioni

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

Page 257: Telecomunicazioni

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

Page 258: Telecomunicazioni

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

Page 259: Telecomunicazioni

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

Page 260: Telecomunicazioni

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 )

Page 261: Telecomunicazioni

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=

Page 262: Telecomunicazioni

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

Page 263: Telecomunicazioni

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)

Page 264: Telecomunicazioni

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)

Page 265: Telecomunicazioni

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

)

Page 266: Telecomunicazioni

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)

Page 267: Telecomunicazioni

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

Page 268: Telecomunicazioni

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.

Page 269: Telecomunicazioni

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

Page 270: Telecomunicazioni

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

Page 271: Telecomunicazioni

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 ϕ.

Page 272: Telecomunicazioni

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.

Page 273: Telecomunicazioni

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.

Page 274: Telecomunicazioni

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( θ, ϕ) ).

Page 275: Telecomunicazioni

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)

Page 276: Telecomunicazioni

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).

Page 277: Telecomunicazioni

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 θϕ

Page 278: Telecomunicazioni

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.

Page 279: Telecomunicazioni

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).

Page 280: Telecomunicazioni

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

ϕ

θ’ϕ’

Page 281: Telecomunicazioni

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:

Page 282: Telecomunicazioni

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.

Page 283: Telecomunicazioni

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.

Page 284: Telecomunicazioni

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 −

Page 285: Telecomunicazioni

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θ θ

Page 286: Telecomunicazioni

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

Page 287: Telecomunicazioni

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).

Page 288: Telecomunicazioni

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

Page 289: Telecomunicazioni

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)

Page 290: Telecomunicazioni

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 ⋅⋅≤=

τ

Page 291: Telecomunicazioni

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.

Page 292: Telecomunicazioni

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.

Page 293: Telecomunicazioni

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)

Page 294: Telecomunicazioni

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

Page 295: Telecomunicazioni

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.

Page 296: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

1

Capitolo 6Strato Fisico-

Le Modulazioni Numeriche

Page 297: Telecomunicazioni

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

Page 298: Telecomunicazioni

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

Page 299: Telecomunicazioni

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

Page 300: Telecomunicazioni

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)

Page 301: Telecomunicazioni

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)

Page 302: Telecomunicazioni

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)

Page 303: Telecomunicazioni

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)

Page 304: Telecomunicazioni

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 ]

Page 305: Telecomunicazioni

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)

Page 306: Telecomunicazioni

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)

Page 307: Telecomunicazioni

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)

Page 308: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

13

Prestazioni delle Modulazioni Numeriche

PAM

Page 309: Telecomunicazioni

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

Page 310: Telecomunicazioni

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

Page 311: Telecomunicazioni

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

Page 312: Telecomunicazioni

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

^^

Page 313: Telecomunicazioni

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

Page 314: Telecomunicazioni

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

Page 315: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

20

Demodulazione del segnale PAM

in assenza di rumore

Page 316: Telecomunicazioni

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

Page 317: Telecomunicazioni

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

Page 318: Telecomunicazioni

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)

Page 319: Telecomunicazioni

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

Page 320: Telecomunicazioni

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

Page 321: Telecomunicazioni

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

Page 322: Telecomunicazioni

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

Page 323: Telecomunicazioni

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

Page 324: Telecomunicazioni

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

Page 325: Telecomunicazioni

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

Page 326: Telecomunicazioni

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

Page 327: Telecomunicazioni

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

Page 328: Telecomunicazioni

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

Page 329: Telecomunicazioni

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

Page 330: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

35

Demodulazione del segnale PAM

in presenza di rumore gaussiano

Page 331: Telecomunicazioni

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

Page 332: Telecomunicazioni

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)

Page 333: Telecomunicazioni

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)

Page 334: Telecomunicazioni

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)

Page 335: Telecomunicazioni

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

Page 336: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

1

Capitolo 7Strato Fisico-

Codici correttori d’errore e capacità di canale

Page 337: Telecomunicazioni

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

Page 338: Telecomunicazioni

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

Page 339: Telecomunicazioni

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)

Page 340: Telecomunicazioni

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

Page 341: Telecomunicazioni

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

Page 342: Telecomunicazioni

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

Page 343: Telecomunicazioni

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....

Page 344: Telecomunicazioni

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= = =

Page 345: Telecomunicazioni

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

Page 346: Telecomunicazioni

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

Page 347: Telecomunicazioni

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

Page 348: Telecomunicazioni

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)

Page 349: Telecomunicazioni

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.

Page 350: Telecomunicazioni

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,

Page 351: Telecomunicazioni

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

Page 352: Telecomunicazioni

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?

Page 353: Telecomunicazioni

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.

Page 354: Telecomunicazioni

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≤ ≤ −

= =

Page 355: Telecomunicazioni

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

Page 356: Telecomunicazioni

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

Page 357: Telecomunicazioni

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.

Page 358: Telecomunicazioni

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

Page 359: Telecomunicazioni

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

Page 360: Telecomunicazioni

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]

Page 361: Telecomunicazioni

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

Page 362: Telecomunicazioni

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

… … …

Page 363: Telecomunicazioni

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⎦

Page 364: Telecomunicazioni

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

Page 365: Telecomunicazioni

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.

Page 366: Telecomunicazioni

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− +

= +

⎛ ⎞ ⎛ ⎞= ≅ <<⎜ ⎟ ⎜ ⎟+⎝ ⎠ ⎝ ⎠∑

Page 367: Telecomunicazioni

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)

Page 368: Telecomunicazioni

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

Page 369: Telecomunicazioni

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.

Page 370: Telecomunicazioni

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.

Page 371: Telecomunicazioni

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.

^

Page 372: Telecomunicazioni

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…} .

^

Page 373: Telecomunicazioni

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.

Page 374: Telecomunicazioni

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).

Page 375: Telecomunicazioni

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

⎛ ⎞= +⎜ ⎟

⎝ ⎠

Page 376: Telecomunicazioni

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→ →∞

= =

Page 377: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

1

Capitolo 8Strato di Collegamento-

Accesso Multiplo e Reti in Area Locale

Page 378: Telecomunicazioni

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

Page 379: Telecomunicazioni

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).

Page 380: Telecomunicazioni

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.

Page 381: Telecomunicazioni

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).

Page 382: Telecomunicazioni

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.

Page 383: Telecomunicazioni

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?

Page 384: Telecomunicazioni

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)

Page 385: Telecomunicazioni

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)

Page 386: Telecomunicazioni

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

Page 387: Telecomunicazioni

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

Page 388: Telecomunicazioni

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.

Page 389: Telecomunicazioni

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)

Page 390: Telecomunicazioni

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.

Page 391: Telecomunicazioni

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

Page 392: Telecomunicazioni

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.

Page 393: Telecomunicazioni

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.

Page 394: Telecomunicazioni

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

Page 395: Telecomunicazioni

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

Page 396: Telecomunicazioni

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

Page 397: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

21

Servizi Offerti dallo Strato di Collegamento

Page 398: Telecomunicazioni

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.

Page 399: Telecomunicazioni

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

Page 400: Telecomunicazioni

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).

Page 401: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

25

Servizio di Recupero degli Errori mediante Strategie di

tipo ARQ

Page 402: Telecomunicazioni

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.

Page 403: Telecomunicazioni

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

Page 404: Telecomunicazioni

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)

Page 405: Telecomunicazioni

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.

Page 406: Telecomunicazioni

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.

Page 407: Telecomunicazioni

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)

Page 408: Telecomunicazioni

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)

Page 409: Telecomunicazioni

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.

Page 410: Telecomunicazioni

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.

Page 411: Telecomunicazioni

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.

Page 412: Telecomunicazioni

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).

Page 413: Telecomunicazioni

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.

Page 414: Telecomunicazioni

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.

Page 415: Telecomunicazioni

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.

Page 416: Telecomunicazioni

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.

Page 417: Telecomunicazioni

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.

Page 418: Telecomunicazioni

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.

Page 419: Telecomunicazioni

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.

Page 420: Telecomunicazioni

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 τ

Page 421: Telecomunicazioni

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).

Page 422: Telecomunicazioni

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.

Page 423: Telecomunicazioni

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.

Page 424: Telecomunicazioni

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

Page 425: Telecomunicazioni

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

Page 426: Telecomunicazioni

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.

Page 427: Telecomunicazioni

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.

Page 428: Telecomunicazioni

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.

Page 429: Telecomunicazioni

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

Page 430: Telecomunicazioni

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

Page 431: Telecomunicazioni

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

Page 432: Telecomunicazioni

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.

Page 433: Telecomunicazioni

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.

Page 434: Telecomunicazioni

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;

Page 435: Telecomunicazioni

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”).

Page 436: Telecomunicazioni

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.

Page 437: Telecomunicazioni

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.

Page 438: Telecomunicazioni

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

Page 439: Telecomunicazioni

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 ?

Page 440: Telecomunicazioni

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.

Page 441: Telecomunicazioni

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.

Page 442: Telecomunicazioni

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.

Page 443: Telecomunicazioni

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.

Page 444: Telecomunicazioni

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

Page 445: Telecomunicazioni

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).

Page 446: Telecomunicazioni

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.

Page 447: Telecomunicazioni

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).

Page 448: Telecomunicazioni

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;

Page 449: Telecomunicazioni

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.

Page 450: Telecomunicazioni

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.

Page 451: Telecomunicazioni

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).

Page 452: Telecomunicazioni

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.

Page 453: Telecomunicazioni

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)?

Page 454: Telecomunicazioni

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 ?

Page 455: Telecomunicazioni

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à.

Page 456: Telecomunicazioni

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.

Page 457: Telecomunicazioni

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.

Page 458: Telecomunicazioni

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.

Page 459: Telecomunicazioni

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.

Page 460: Telecomunicazioni

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.

Page 461: Telecomunicazioni

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).

Page 462: Telecomunicazioni

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.

Page 463: Telecomunicazioni

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.

Page 464: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

88

Servizio di Accesso Multiplo aServizio di Accesso Multiplo aCanali CondivisiCanali Condivisi

Page 465: Telecomunicazioni

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).

Page 466: Telecomunicazioni

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.

Page 467: Telecomunicazioni

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…)

Page 468: Telecomunicazioni

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

Page 469: Telecomunicazioni

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)

Page 470: Telecomunicazioni

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.

Page 471: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

95

Sistema di Accesso Multiplo (2/3)

Canale condiviso (Broadcast channel)

Nodo 1 Nodo 2 Nodo N

dmax (m)

Page 472: Telecomunicazioni

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.

Page 473: Telecomunicazioni

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).

Page 474: Telecomunicazioni

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.

Page 475: Telecomunicazioni

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

η →+∞ →+∞≡+ +

Page 476: Telecomunicazioni

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.

η

η

η

Page 477: Telecomunicazioni

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.

Page 478: Telecomunicazioni

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

Page 479: Telecomunicazioni

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.

Page 480: Telecomunicazioni

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).

Page 481: Telecomunicazioni

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).

Page 482: Telecomunicazioni

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

Page 483: Telecomunicazioni

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

Page 484: Telecomunicazioni

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

Page 485: Telecomunicazioni

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.

Page 486: Telecomunicazioni

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

Page 487: Telecomunicazioni

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.

Page 488: Telecomunicazioni

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

Page 489: Telecomunicazioni

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;

Page 490: Telecomunicazioni

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.

Page 491: Telecomunicazioni

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).

Page 492: Telecomunicazioni

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)

Page 493: Telecomunicazioni

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).

Page 494: Telecomunicazioni

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.

Page 495: Telecomunicazioni

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”.

Page 496: Telecomunicazioni

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

Page 497: Telecomunicazioni

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

−−

≤ ≤

⎛ ⎞= − = −⎜ ⎟⎝ ⎠

0 1lim maxMAX N p

η η→+∞ ≤ ≤

⎧ ⎫⎨ ⎬⎩ ⎭

η

Page 498: Telecomunicazioni

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

≤ ≤

11 1lim 1N

N N e

→+∞

⎛ ⎞− =⎜ ⎟⎝ ⎠

11 1lim 1 0.3678N

MAX N N eη

→+∞⎛ ⎞− = ≅⎜ ⎟⎝ ⎠

Page 499: Telecomunicazioni

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”.

Page 500: Telecomunicazioni

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)

Page 501: Telecomunicazioni

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

Page 502: Telecomunicazioni

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

Page 503: Telecomunicazioni

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.

Page 504: Telecomunicazioni

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”.

Page 505: Telecomunicazioni

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

Page 506: Telecomunicazioni

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:

Page 507: Telecomunicazioni

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.

Page 508: Telecomunicazioni

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.

Page 509: Telecomunicazioni

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.

Page 510: Telecomunicazioni

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.

Page 511: Telecomunicazioni

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

Page 512: Telecomunicazioni

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).

Page 513: Telecomunicazioni

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.

Page 514: Telecomunicazioni

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

η =+

Page 515: Telecomunicazioni

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

η

η→

→ +∞

Page 516: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

140

Reti in Area Locale (LAN) eReti Ethernet

Page 517: Telecomunicazioni

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).

Page 518: Telecomunicazioni

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.

Page 519: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

143

La Famiglia delle LAN Ethernet

Page 520: Telecomunicazioni

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).

Page 521: Telecomunicazioni

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.

Page 522: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

146

Strato Fisico della Tecnologia Ethernet

Page 523: Telecomunicazioni

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)

Page 524: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

148

Topologia delle Reti Ethernet (2/2)

Centro Stella(hub o bridge)

Nodo 1

Nodo 2

Nodo 3

Nodo N

Page 525: Telecomunicazioni

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.

Page 526: Telecomunicazioni

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.

Page 527: Telecomunicazioni

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.

Page 528: Telecomunicazioni

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

Page 529: Telecomunicazioni

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

Page 530: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

154

Strato di Collegamento della Tecnologia Ethernet

Page 531: Telecomunicazioni

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

Page 532: Telecomunicazioni

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;

Page 533: Telecomunicazioni

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.

Page 534: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

158

Reti Ethernet-Interconnessione tramite Hub

Page 535: Telecomunicazioni

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.

Page 536: Telecomunicazioni

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)

Page 537: Telecomunicazioni

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.

Page 538: Telecomunicazioni

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

Page 539: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

163

Reti Ethernet-Interconnessione tramite Bridge

Page 540: Telecomunicazioni

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.

Page 541: Telecomunicazioni

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

Page 542: Telecomunicazioni

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).

Page 543: Telecomunicazioni

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

Page 544: Telecomunicazioni

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).

Page 545: Telecomunicazioni

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.

Page 546: Telecomunicazioni

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.

Page 547: Telecomunicazioni

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

… … …

Page 548: Telecomunicazioni

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).

Page 549: Telecomunicazioni

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

Page 550: Telecomunicazioni

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)

Page 551: Telecomunicazioni

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.

Page 552: Telecomunicazioni

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

Page 553: Telecomunicazioni

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”.

Page 554: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

178

Reti Ethernet con accesso a contesa e Reti Ethernet a commutazione

Page 555: Telecomunicazioni

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).

Page 556: Telecomunicazioni

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.

Page 557: Telecomunicazioni

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.

Page 558: Telecomunicazioni

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).

Page 559: Telecomunicazioni

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

Page 560: Telecomunicazioni

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)

Page 561: Telecomunicazioni

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)

Page 562: Telecomunicazioni

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

Page 563: Telecomunicazioni

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

Page 564: Telecomunicazioni

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

Page 565: Telecomunicazioni

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

Page 566: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

190

Inter-connessione di più LAN

Page 567: Telecomunicazioni

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).

Page 568: Telecomunicazioni

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

Page 569: Telecomunicazioni

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)

Page 570: Telecomunicazioni

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.

Page 571: Telecomunicazioni

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

Page 572: Telecomunicazioni

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.

Page 573: Telecomunicazioni

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.

Page 574: Telecomunicazioni

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

Page 575: Telecomunicazioni

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.

Page 576: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

200

Protocolli di Strato di Collegamento per canali punto-punto

Page 577: Telecomunicazioni

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).

Page 578: Telecomunicazioni

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.

Page 579: Telecomunicazioni

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.

Page 580: Telecomunicazioni

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.

Page 581: Telecomunicazioni

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.

Page 582: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

206

Architettura Protocollare del PPP (2/2)

Strato di Rete

NCP

LCP

Strato Fisico

PPPStrato di

collegamento

Page 583: Telecomunicazioni

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

Page 584: Telecomunicazioni

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.

Page 585: Telecomunicazioni

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

Page 586: Telecomunicazioni

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).

Page 587: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

211

Gestione del Collegamento PPP (2/4)

dead

terminating

openNetwork

layer config.

Link establishment

authenticate

Page 588: Telecomunicazioni

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.

Page 589: Telecomunicazioni

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.

Page 590: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

214

Reti a commutazione di Pacchetto con Modo di Trasferimento a

Circuito Virtuale (CV)

Page 591: Telecomunicazioni

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.

Page 592: Telecomunicazioni

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.

Page 593: Telecomunicazioni

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.

Page 594: Telecomunicazioni

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.

Page 595: Telecomunicazioni

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.

Page 596: Telecomunicazioni

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

Page 597: Telecomunicazioni

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

Page 598: Telecomunicazioni

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.

Page 599: Telecomunicazioni

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.

Page 600: Telecomunicazioni

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.

Page 601: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

225

La tecnologia ATM(Asynchronous Transfer Mode)

Page 602: Telecomunicazioni

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).

Page 603: Telecomunicazioni

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

Page 604: Telecomunicazioni

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

Page 605: Telecomunicazioni

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.

Page 606: Telecomunicazioni

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.

Page 607: Telecomunicazioni

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).

Page 608: Telecomunicazioni

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

Page 609: Telecomunicazioni

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.

Page 610: Telecomunicazioni

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).

Page 611: Telecomunicazioni

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)

Page 612: Telecomunicazioni

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.

Page 613: Telecomunicazioni

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

Page 614: Telecomunicazioni

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.

Page 615: Telecomunicazioni

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

Page 616: Telecomunicazioni

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.

Page 617: Telecomunicazioni

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.

Page 618: Telecomunicazioni

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

Page 619: Telecomunicazioni

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.

Page 620: Telecomunicazioni

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.

Page 621: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

1

Capitolo 9Strato di Rete in Internet

Page 622: Telecomunicazioni

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

Page 623: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

3

Servizio e Funzioni di Strato di Rete

Page 624: Telecomunicazioni

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)

Page 625: Telecomunicazioni

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)

Page 626: Telecomunicazioni

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

Page 627: Telecomunicazioni

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.

Page 628: Telecomunicazioni

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.

Page 629: Telecomunicazioni

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.

Page 630: Telecomunicazioni

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.

Page 631: Telecomunicazioni

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.

Page 632: Telecomunicazioni

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

Page 633: Telecomunicazioni

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

Page 634: Telecomunicazioni

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.

Page 635: Telecomunicazioni

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.

Page 636: Telecomunicazioni

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.

Page 637: Telecomunicazioni

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)

Page 638: Telecomunicazioni

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).

Page 639: Telecomunicazioni

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.

Page 640: Telecomunicazioni

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 ?

Page 641: Telecomunicazioni

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.

Page 642: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

22

Reti a Datagramma- Generalità(2/2)

applicationtransportnetworkdata linkphysical

applicationtransportnetworkdata linkphysical

1. Send data 2. Receive data

Page 643: Telecomunicazioni

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>.

Page 644: Telecomunicazioni

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.

Page 645: Telecomunicazioni

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.

Page 646: Telecomunicazioni

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

Page 647: Telecomunicazioni

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.

Page 648: Telecomunicazioni

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.

Page 649: Telecomunicazioni

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

Page 650: Telecomunicazioni

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.

Page 651: Telecomunicazioni

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

Page 652: Telecomunicazioni

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)

Page 653: Telecomunicazioni

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.

Page 654: Telecomunicazioni

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.

Page 655: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

35

Come è fatto un Router- Porte diUscita (8/8)

Matricedi

Commutazione

Page 656: Telecomunicazioni

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.

Page 657: Telecomunicazioni

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).

Page 658: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

38

La Rete Internet- Struttura e Architettura Protocollare

Page 659: Telecomunicazioni

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.

Page 660: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

40

Struttura della Rete Internet-Connessione di sotto-reti (2/5)

Router

Terminali(Host)

Sottoreti

Page 661: Telecomunicazioni

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

Page 662: Telecomunicazioni

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.

Page 663: Telecomunicazioni

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.

Page 664: Telecomunicazioni

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

Page 665: Telecomunicazioni

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.

Page 666: Telecomunicazioni

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.

Page 667: Telecomunicazioni

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

Page 668: Telecomunicazioni

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

Page 669: Telecomunicazioni

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.

Page 670: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

50

Il Protocollo IP

Page 671: Telecomunicazioni

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.

Page 672: Telecomunicazioni

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).

Page 673: Telecomunicazioni

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

Page 674: Telecomunicazioni

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

Page 675: Telecomunicazioni

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.

Page 676: Telecomunicazioni

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.

Page 677: Telecomunicazioni

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.

Page 678: Telecomunicazioni

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.

Page 679: Telecomunicazioni

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.

Page 680: Telecomunicazioni

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.

Page 681: Telecomunicazioni

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.

Page 682: Telecomunicazioni

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.

Page 683: Telecomunicazioni

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

Page 684: Telecomunicazioni

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.

Page 685: Telecomunicazioni

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.

Page 686: Telecomunicazioni

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

Page 687: Telecomunicazioni

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

Page 688: Telecomunicazioni

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

Page 689: Telecomunicazioni

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

Page 690: Telecomunicazioni

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

Page 691: Telecomunicazioni

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”.

Page 692: Telecomunicazioni

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

Page 693: Telecomunicazioni

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

Page 694: Telecomunicazioni

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”

Page 695: Telecomunicazioni

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)

Page 696: Telecomunicazioni

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)

Page 697: Telecomunicazioni

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.

Page 698: Telecomunicazioni

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

Page 699: Telecomunicazioni

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

Page 700: Telecomunicazioni

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.

Page 701: Telecomunicazioni

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.

Page 702: Telecomunicazioni

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)

Page 703: Telecomunicazioni

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.

Page 704: Telecomunicazioni

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.

Page 705: Telecomunicazioni

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

Page 706: Telecomunicazioni

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)

Page 707: Telecomunicazioni

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.

Page 708: Telecomunicazioni

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.

Page 709: Telecomunicazioni

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.

Page 710: Telecomunicazioni

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)

Page 711: Telecomunicazioni

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.

Page 712: Telecomunicazioni

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;

Page 713: Telecomunicazioni

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.

Page 714: Telecomunicazioni

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)

Page 715: Telecomunicazioni

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.

Page 716: Telecomunicazioni

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

Page 717: Telecomunicazioni

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

Page 718: Telecomunicazioni

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

Page 719: Telecomunicazioni

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”

Page 720: Telecomunicazioni

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)

Page 721: Telecomunicazioni

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

Page 722: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

102

Internet Control MessageProtocol (ICMP)

Page 723: Telecomunicazioni

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.

Page 724: Telecomunicazioni

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.

Page 725: Telecomunicazioni

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).

Page 726: Telecomunicazioni

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).

Page 727: Telecomunicazioni

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

Page 728: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

108

Conversione degli Indirizzi IP negli Indirizzi MAC- Address

Resolution Protocol (ARP)

Page 729: Telecomunicazioni

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.

Page 730: Telecomunicazioni

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.

Page 731: Telecomunicazioni

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

Page 732: Telecomunicazioni

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).

Page 733: Telecomunicazioni

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

Page 734: Telecomunicazioni

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

Page 735: Telecomunicazioni

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

Page 736: Telecomunicazioni

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.

Page 737: Telecomunicazioni

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.

Page 738: Telecomunicazioni

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

. . .

. . .

Page 739: Telecomunicazioni

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.

Page 740: Telecomunicazioni

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

Page 741: Telecomunicazioni

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.

Page 742: Telecomunicazioni

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

Page 743: Telecomunicazioni

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.

Page 744: Telecomunicazioni

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.

Page 745: Telecomunicazioni

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.

Page 746: Telecomunicazioni

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;

Page 747: Telecomunicazioni

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.

Page 748: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

128

Algoritmi di Instradamento-Introduzione

Page 749: Telecomunicazioni

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.

Page 750: Telecomunicazioni

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.

Page 751: Telecomunicazioni

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.

Page 752: Telecomunicazioni

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.

Page 753: Telecomunicazioni

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.

Page 754: Telecomunicazioni

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

Page 755: Telecomunicazioni

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.

Page 756: Telecomunicazioni

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.

Page 757: Telecomunicazioni

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.

Page 758: Telecomunicazioni

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

Page 759: Telecomunicazioni

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

Page 760: Telecomunicazioni

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

Page 761: Telecomunicazioni

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

Page 762: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

142

Algoritmi per l’Instradamento Ottimo

Page 763: Telecomunicazioni

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.

Page 764: Telecomunicazioni

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.

Page 765: Telecomunicazioni

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.

Page 766: Telecomunicazioni

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

Page 767: Telecomunicazioni

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

Page 768: Telecomunicazioni

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

Page 769: Telecomunicazioni

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

Page 770: Telecomunicazioni

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

Page 771: Telecomunicazioni

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

Page 772: Telecomunicazioni

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

Page 773: Telecomunicazioni

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

Page 774: Telecomunicazioni

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

Page 775: Telecomunicazioni

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

Page 776: Telecomunicazioni

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

Page 777: Telecomunicazioni

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∈

= +

Page 778: Telecomunicazioni

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

Page 779: Telecomunicazioni

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.

Page 780: Telecomunicazioni

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

Page 781: Telecomunicazioni

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

Page 782: Telecomunicazioni

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

Page 783: Telecomunicazioni

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

Page 784: Telecomunicazioni

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

Page 785: Telecomunicazioni

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

Page 786: Telecomunicazioni

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

Page 787: Telecomunicazioni

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

Page 788: Telecomunicazioni

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)

Page 789: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

169

Algoritmi per l’instradamento gerarchico

Page 790: Telecomunicazioni

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.

Page 791: Telecomunicazioni

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.

Page 792: Telecomunicazioni

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).

Page 793: Telecomunicazioni

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).

Page 794: Telecomunicazioni

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

Page 795: Telecomunicazioni

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.

Page 796: Telecomunicazioni

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

Page 797: Telecomunicazioni

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.

Page 798: Telecomunicazioni

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).

Page 799: Telecomunicazioni

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.

Page 800: Telecomunicazioni

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… …

Page 801: Telecomunicazioni

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?

Page 802: Telecomunicazioni

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).

Page 803: Telecomunicazioni

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 >.

Page 804: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

184

I protocolli di Instradamento di Internet

Page 805: Telecomunicazioni

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.

Page 806: Telecomunicazioni

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.

Page 807: Telecomunicazioni

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.

Page 808: Telecomunicazioni

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).

Page 809: Telecomunicazioni

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).

Page 810: Telecomunicazioni

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.

Page 811: Telecomunicazioni

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.

Page 812: Telecomunicazioni

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.

Page 813: Telecomunicazioni

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).

Page 814: Telecomunicazioni

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.

Page 815: Telecomunicazioni

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à.

Page 816: Telecomunicazioni

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à.

Page 817: Telecomunicazioni

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

Page 818: Telecomunicazioni

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.

Page 819: Telecomunicazioni

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.

Page 820: Telecomunicazioni

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

Page 821: Telecomunicazioni

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.

Page 822: Telecomunicazioni

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.

Page 823: Telecomunicazioni

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).

Page 824: Telecomunicazioni

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.

Page 825: Telecomunicazioni

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

Page 826: Telecomunicazioni

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.

Page 827: Telecomunicazioni

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.

Page 828: Telecomunicazioni

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.

Page 829: Telecomunicazioni

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.

Page 830: Telecomunicazioni

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.

Page 831: Telecomunicazioni

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.

Page 832: Telecomunicazioni

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?

Page 833: Telecomunicazioni

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.

Page 834: Telecomunicazioni

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.

Page 835: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

215

Instradamento di tipo Broadcast (Diffusione)

Page 836: Telecomunicazioni

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.

Page 837: Telecomunicazioni

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.

Page 838: Telecomunicazioni

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.

Page 839: Telecomunicazioni

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.

Page 840: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

220

Elementi di interconnessione:Riepilogo e confronto

Page 841: Telecomunicazioni

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;

Page 842: Telecomunicazioni

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

Page 843: Telecomunicazioni

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

Page 844: Telecomunicazioni

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.

Page 845: Telecomunicazioni

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.

Page 846: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

226

Prestazioni “end-to-end” di una Rete a Commutazione di Pacchetto

Page 847: Telecomunicazioni

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.

Page 848: Telecomunicazioni

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)

Page 849: Telecomunicazioni

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.

Page 850: Telecomunicazioni

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.

Page 851: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

231

Il ritardo “end-to-end”

Page 852: Telecomunicazioni

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−

=∑

Page 853: Telecomunicazioni

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

Page 854: Telecomunicazioni

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.

Page 855: Telecomunicazioni

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.

Page 856: Telecomunicazioni

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).

Page 857: Telecomunicazioni

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.

Page 858: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

238

Singolo Nodo: Ritardi di Trasmissione e di Propagazione

A

B

propagation

transmission

nodalprocessing queueing

Page 859: Telecomunicazioni

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).

Page 860: Telecomunicazioni

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

Page 861: Telecomunicazioni

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.

Page 862: Telecomunicazioni

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

Page 863: Telecomunicazioni

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

Page 864: Telecomunicazioni

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 ρ⎡ ⎤

= −⎢ ⎥−⎣ ⎦

Page 865: Telecomunicazioni

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

≡ ≤ ≤

≡ ≤ ≤

Page 866: Telecomunicazioni

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

=

=

≡ ≡

+ + +

Page 867: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

247

Probabilità di Perdita di Datagramma

Page 868: Telecomunicazioni

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.

Page 869: Telecomunicazioni

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)

Page 870: Telecomunicazioni

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

=

⎡ ⎤= − −⎢ ⎥⎣ ⎦∏

Page 871: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

251

Il Throughput end-to-end

Page 872: Telecomunicazioni

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Δ

Page 873: Telecomunicazioni

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

Page 874: Telecomunicazioni

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

Page 875: Telecomunicazioni

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.

Page 876: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

1

Capitolo 10Lo Strato di Trasporto in

Internet

Page 877: Telecomunicazioni

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

Page 878: Telecomunicazioni

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 .

Page 879: Telecomunicazioni

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

Page 880: Telecomunicazioni

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.

Page 881: Telecomunicazioni

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.

Page 882: Telecomunicazioni

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.

Page 883: Telecomunicazioni

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.

Page 884: Telecomunicazioni

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.

Page 885: Telecomunicazioni

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

Page 886: Telecomunicazioni

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).

Page 887: Telecomunicazioni

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).

Page 888: Telecomunicazioni

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

Page 889: Telecomunicazioni

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.

Page 890: Telecomunicazioni

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.

Page 891: Telecomunicazioni

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.

Page 892: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

17

Servizio di Multiplazione/Demultiplazione-

Principi Generali

Page 893: Telecomunicazioni

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.

Page 894: Telecomunicazioni

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”.

Page 895: Telecomunicazioni

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

Page 896: Telecomunicazioni

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 >

Page 897: Telecomunicazioni

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.

Page 898: Telecomunicazioni

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).

Page 899: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

24

Formato generale di un segmento (2/2)

Application data (message)

Other headerfields

Source port # Dest port #

32 bits

Page 900: Telecomunicazioni

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.

Page 901: Telecomunicazioni

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.

Page 902: Telecomunicazioni

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

Page 903: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

28

Il servizio di Trasferimento Affidabile-

Principi generali

Page 904: Telecomunicazioni

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.

Page 905: Telecomunicazioni

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.

Page 906: Telecomunicazioni

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

Page 907: Telecomunicazioni

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.

Page 908: Telecomunicazioni

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.

Page 909: Telecomunicazioni

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.

Page 910: Telecomunicazioni

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

Page 911: Telecomunicazioni

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.

Page 912: Telecomunicazioni

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.

Page 913: Telecomunicazioni

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.

Page 914: Telecomunicazioni

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.

Page 915: Telecomunicazioni

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.

Page 916: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

41

Finestra di trasmissione (3/4)

WS (byte)

Page 917: Telecomunicazioni

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

Page 918: Telecomunicazioni

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.

Page 919: Telecomunicazioni

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.

Page 920: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

45

Finestra di ricezione (3/5)

WD (byte)

Page 921: Telecomunicazioni

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.

Page 922: Telecomunicazioni

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.

Page 923: Telecomunicazioni

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.

Page 924: Telecomunicazioni

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.

Page 925: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

50

Il servizio di Controllo di Congestione – Principi generali

Page 926: Telecomunicazioni

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.

Page 927: Telecomunicazioni

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).

Page 928: Telecomunicazioni

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.

Page 929: Telecomunicazioni

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

Page 930: Telecomunicazioni

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

Page 931: Telecomunicazioni

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.

Page 932: Telecomunicazioni

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.

Page 933: Telecomunicazioni

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.

Page 934: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

59

Il Protocollo UDP

Page 935: Telecomunicazioni

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

Page 936: Telecomunicazioni

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.

Page 937: Telecomunicazioni

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

Page 938: Telecomunicazioni

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)

Page 939: Telecomunicazioni

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.

Page 940: Telecomunicazioni

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.

Page 941: Telecomunicazioni

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.

Page 942: Telecomunicazioni

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”

Page 943: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

68

Il Protocollo TCP

Page 944: Telecomunicazioni

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.

Page 945: Telecomunicazioni

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.).

Page 946: Telecomunicazioni

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.

Page 947: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

72

TCP – Generalità (4/4)

Page 948: Telecomunicazioni

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.

Page 949: Telecomunicazioni

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)

Page 950: Telecomunicazioni

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.

Page 951: Telecomunicazioni

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).

Page 952: Telecomunicazioni

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.

Page 953: Telecomunicazioni

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.

Page 954: Telecomunicazioni

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.

Page 955: Telecomunicazioni

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

Page 956: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

81

Stima del RTT e calcolo del RTO in TCP

Page 957: Telecomunicazioni

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).

Page 958: Telecomunicazioni

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.

Page 959: Telecomunicazioni

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.

Page 960: Telecomunicazioni

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)

Page 961: Telecomunicazioni

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.

Page 962: Telecomunicazioni

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.

Page 963: Telecomunicazioni

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).

Page 964: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

89

Il servizio di trasferimento dati affidabile di TCP

Page 965: Telecomunicazioni

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.

Page 966: Telecomunicazioni

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.

Page 967: Telecomunicazioni

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).

Page 968: Telecomunicazioni

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.

Page 969: Telecomunicazioni

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.

Page 970: Telecomunicazioni

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.

Page 971: Telecomunicazioni

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;

}

Page 972: Telecomunicazioni

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.

Page 973: Telecomunicazioni

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:

Page 974: Telecomunicazioni

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.

Page 975: Telecomunicazioni

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.

Page 976: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

101

Il servizio di controllo di flusso in TCP

Page 977: Telecomunicazioni

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.

Page 978: Telecomunicazioni

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.

Page 979: Telecomunicazioni

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

Page 980: Telecomunicazioni

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).

Page 981: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

106

Controllo di Flusso in TCP – Lato Destinazione (3/4)

Page 982: Telecomunicazioni

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.

Page 983: Telecomunicazioni

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.

Page 984: Telecomunicazioni

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.

Page 985: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

110

Il servizio di Controllo di Congestione in TCP

Page 986: Telecomunicazioni

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.

Page 987: Telecomunicazioni

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.

Page 988: Telecomunicazioni

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?

Page 989: Telecomunicazioni

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}

Page 990: Telecomunicazioni

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)

Page 991: Telecomunicazioni

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.

Page 992: Telecomunicazioni

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).

Page 993: Telecomunicazioni

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.

Page 994: Telecomunicazioni

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”.

Page 995: Telecomunicazioni

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.

Page 996: Telecomunicazioni

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.

Page 997: Telecomunicazioni

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).

Page 998: Telecomunicazioni

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).

Page 999: Telecomunicazioni

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).

Page 1000: Telecomunicazioni

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.

Page 1001: Telecomunicazioni

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

Page 1002: Telecomunicazioni

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.

Page 1003: Telecomunicazioni

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);

Page 1004: Telecomunicazioni

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.

Page 1005: Telecomunicazioni

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.

Page 1006: Telecomunicazioni

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.

Page 1007: Telecomunicazioni

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.

Page 1008: Telecomunicazioni

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

Page 1009: Telecomunicazioni

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.

Page 1010: Telecomunicazioni

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.

Page 1011: Telecomunicazioni

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

Page 1012: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

137

L’Algoritmo di controllo di congestione del TCP - Esempio

tempo

Fine

stra

di c

onge

stio

ne

Threshold

Page 1013: Telecomunicazioni

Baccarelli, Cordeschi, Patriarca, Polli

138

Gestione della Connessione in TCP

Page 1014: Telecomunicazioni

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.

Page 1015: Telecomunicazioni

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.

Page 1016: Telecomunicazioni

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”

Page 1017: Telecomunicazioni

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.

Page 1018: Telecomunicazioni

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

Page 1019: Telecomunicazioni

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”.

Page 1020: Telecomunicazioni

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

Page 1021: Telecomunicazioni

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;

Page 1022: Telecomunicazioni

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.

Page 1023: Telecomunicazioni

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.

Page 1024: Telecomunicazioni

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).

Page 1025: Telecomunicazioni

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.

Page 1026: Telecomunicazioni

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.

Page 1027: Telecomunicazioni

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≅

Page 1028: Telecomunicazioni

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)

Page 1029: Telecomunicazioni

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).

Page 1030: Telecomunicazioni

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.

Page 1031: Telecomunicazioni

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)]

Page 1032: Telecomunicazioni

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.

Page 1033: Telecomunicazioni

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

Page 1034: Telecomunicazioni

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.