introduzione (parte iii)introduzione (parte iii) · 2020. 1. 17. · introduzione (parte...

47
Introduzione (parte III) Introduzione (parte III) Introduzione (parte III)

Upload: others

Post on 24-Jan-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

Introduzione (parte III)Introduzione (parte III)Introduzione (parte III)

Page 2: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

Argomenti della lezioneArgomenti della lezione

Ripasso degli argomenti del primo corso: il livello di trasporto, il meccanismo di controllo delle congestioni e le applicazioni

Ripasso degli argomenti del primo corso: il livello di trasporto, il meccanismo di controllo delle congestioni e le applicazioni

Page 3: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

Il livello di trasportoIl livello di trasporto

Supera alcuni dei limiti della sottorete di comunicazioneSupera alcuni dei limiti Supera alcuni dei limiti della sottorete di comunicazionedella sottorete di comunicazione

Ruolo cruciale per la realizzazioneed il funzionamento delle applicazioniRuolo cruciale per la realizzazioneRuolo cruciale per la realizzazioneed il funzionamento delle applicazionied il funzionamento delle applicazioni

Fornisce un’interfaccia software per le applicazioniFornisce un’interfaccia Fornisce un’interfaccia software per le applicazionisoftware per le applicazioni

Utilizza indirizzi (porte) per il multiplexing delle connessioniUtilizza indirizzi (porte) per Utilizza indirizzi (porte) per il il multiplexingmultiplexing delle connessionidelle connessioni

Page 4: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

L’interfaccia socket di BerkeleyL’interfaccia socket di BerkeleyProcesso serverProcesso server

socketsocket

bind (indirizzo X)bind (indirizzo X)

send/receivesend/receive

closeclose

listenlisten

acceptaccept

(connessione)(connessione)

Processo clientProcesso client

socketsocket

send/receivesend/receive

closeclose

connectconnect(indirizzo X)(indirizzo X)

Page 5: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

Indirizzi TCPIndirizzi TCP

ApplicazioniApplicazioniApplicazioni

Livello ditrasportoLivello diLivello ditrasportotrasporto

Livelli1, 2 e 3LivelliLivelli

1, 2 e 31, 2 e 3

TSAP(porte TCP)

TSAP(porte TCP)

processoprocessoserverservertelnettelnetprocessoprocesso

clientclient(telnet)(telnet)

2323

serverserverFTPFTP

2121

Page 6: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

Alcune “well known” portsAlcune “well known” ports

FTP: 21Telnet: 23SMTP: 25DNS: 53WWW-HTTP: 80POP3: 110IMAP2: 143SNMP: 161

FTP: 21Telnet: 23SMTP: 25DNS: 53WWW-HTTP: 80POP3: 110IMAP2: 143SNMP: 161

Page 7: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

Il livello di trasportoIl livello di trasporto

La sottorete di comunicazionepuò non essere affidabileLa sottorete di comunicazioneLa sottorete di comunicazionepuò non essere affidabilepuò non essere affidabile

I pacchetti IP sono datagram (senza connessione né riscontro)I pacchetti IP sono I pacchetti IP sono datagram datagram (senza connessione né riscontro)(senza connessione né riscontro)

È quasi sempre necessario garantire la corretta ricezione di tutti i dati, nell’ordine giusto

È quasi sempre necessario È quasi sempre necessario garantire la corretta ricezione garantire la corretta ricezione di tutti i dati, nell’ordine giustodi tutti i dati, nell’ordine giusto

Page 8: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

La numerazione non è orientata ai segmenti, ma al byteLa numerazione non è orientata ai segmenti, ma al byte

Il numero di sequenzadi un segmento è sempre il numero di sequenza del primo byte contenuto nel campo dati

Il numero di sequenzadi un segmento è sempre il numero di sequenza del primo byte contenuto nel campo dati

Nei messaggi di riscontro viene sempre indicato il numerodi sequenza del byte successivo che il ricevitore sta aspettando (rispetto all’ultimo ricevuto in ordine)

Nei messaggi di riscontro viene sempre indicato il numerodi sequenza del byte successivo che il ricevitore sta aspettando (rispetto all’ultimo ricevuto in ordine)

TCP: numeri di sequenzaTCP: numeri di sequenza

Page 9: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

TCP: numeri di sequenzaTCP: numeri di sequenza

tem

po

tem

po

tem

po

tem

po

invio di 10 byte + riscontro prec.(seq=48, ack=162)

invio di 10 byte + riscontro prec.(seq=48, ack=162)

invio di 3 byte + riscontro

(seq=162, ac

k=59)invio di 3 byte + riscontro

(seq=162, ac

k=59)

invio di 5 byte + riscontro(seq=59,ack=165)

invio di 5 byte + riscontro(seq=59,ack=165)

host Bhost Bhost Ahost A

Page 10: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

TCP: numeri di sequenzaTCP: numeri di sequenza

Nei messaggi di riscontroNei messaggi di riscontro deldel protocolloprotocolloTCPTCP viene sempre indicato il prossimo viene sempre indicato il prossimo

numero di sequenzanumero di sequenzache il ricevitore si aspettache il ricevitore si aspetta

QuindiQuindi, se la, se la sequenza inizia dasequenza inizia da 7200, 7200, perper confermare l’avvenuta ricezione confermare l’avvenuta ricezione dei primidei primi 350 byte350 byte il ricevitore inviail ricevitore invia

un acknowledge conun acknowledge con numeronumerodi sequenzadi sequenza 7551 (7551 (cioècioè 7200+350+1)7200+350+1)

Page 11: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

Il client conferma la ricezione del segmento SYN del server: SYN=1, seq=client_isn+1, ack=server_isn+1

Il client conferma la ricezione del segmento SYN del server: SYN=1, seq=client_isn+1, ack=server_isn+1

TCP: apertura della connessione(handshake a tre vie)TCP: apertura della connessione(handshake a tre vie)

Il client spedisce un segmento SYN(flag SYN=1) notificando il suo numeroiniziale di sequenza (client_isn)

Il client spedisce un segmento SYN(flag SYN=1) notificando il suo numeroiniziale di sequenza (client_isn)

Il server risponde autorizzandola connessione: SYN=1, notifica il proprio numero iniziale di sequenza (server_isn) e conferma il segmento SYN del client (ack=client_isn+1)

Il server risponde autorizzandola connessione: SYN=1, notifica il proprio numero iniziale di sequenza (server_isn) e conferma il segmento SYN del client (ack=client_isn+1)

1.1.

2.2.

3.3.

Page 12: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

serverserver

tem

po

tem

po

richiesta di connessione(SYN=1, seq=client_isn)

richiesta di connessione(SYN=1, seq=client_isn)

autorizzazione alla conness. (SYN=1,

seq=server_i

sn, ack=clie

nt_isn)

autorizzazione alla conness. (SYN=1,

seq=server_i

sn, ack=clie

nt_isn)

tem

po

tem

po

clientclient

ACK (SYN=0, seq=client_isn+1,ack=server_isn+1)

ACK (SYN=0, seq=client_isn+1,ack=server_isn+1)

TCP: apertura della connessioneTCP: apertura della connessione

Page 13: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

TCP: chiusura della connessione(handshake a quattro vie)TCP: chiusura della connessione(handshake a quattro vie)

L’host A spedisce all’host B un segmento FIN (flag FIN=1) notificando l’intenzione di chiudere la connessione

L’host A spedisce all’host B un segmento FIN (flag FIN=1) notificando l’intenzione di chiudere la connessione

1.1.

L’host B invia un riscontro e la connessione viene chiusa in un verso; B può continuare a inviare dati

L’host B invia un riscontro e la connessione viene chiusa in un verso; B può continuare a inviare dati

2.2.

Quando l’host B termina la trasmissione invia un segmento FINQuando l’host B termina la trasmissione invia un segmento FIN

3.3.

L’host A invia un messaggiodi riscontroL’host A invia un messaggiodi riscontro

4.4.

Page 14: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

TCP: chiusura della connessioneTCP: chiusura della connessione

notifica di chiusura(FIN=1, seq=x)

notifica di chiusura(FIN=1, seq=x)

ACK

(ack=x+1)

ACK

(ack=x+1)

notifica di chiusura

(FIN=1, seq=y)notifica di chiusura

(FIN=1, seq=y)

ACK(ack=y+1)

ACK(ack=y+1)

serverserver

tem

po

tem

po

tem

po

tem

po

clientclient

Page 15: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

Header TCPHeader TCP32 bit

hlen window size

sequence number

options(0 o più parole da 32 bit)

source port destination port

acknowledgment number

(unused)RST

SYN

FIN

PSH

ACK

URG

checksum urgent pointer

Page 16: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

Controllo della congestionedel TCPControllo della congestionedel TCP

Controllo della congestioneControllo della congestioneControllo della congestione

Stesso meccanismo per:Stesso meccanismo per:

Controllo di flussoControllo di flussoControllo di flusso

Gestione dei pacchetti danneggiatiGestione dei pacchetti danneggiatiGestione dei pacchetti danneggiati

Protocollo Protocollo slidingsliding windowwindow

Page 17: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

Permettono la trasmissione di piùsegmenti in successione, ancheprima di aver ricevuto i riscontridei precedenti

Permettono la trasmissione di piùsegmenti in successione, ancheprima di aver ricevuto i riscontridei precedenti

Ogni segmento spedito è numeratocon un numero progressivosu n bit (da 0 a 2n-1)

Ogni segmento spedito è numeratocon un numero progressivosu n bit (da 0 a 2n-1)

La numerazione è legata ai bufferdi memoria di trasmettitoree ricevitore

La numerazione è legata ai bufferdi memoria di trasmettitoree ricevitore

Protocolli “sliding window”Protocolli “sliding window”

Page 18: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

Protocolli “sliding window”Protocolli “sliding window”

Il trasmettitore mantieneuna finestra di trasmissioneIl trasmettitore mantieneuna finestra di trasmissione

I segmenti appartenenti alla finestra vengono memorizzati per eventuali ritrasmissioni

I segmenti appartenenti alla finestra vengono memorizzati per eventuali ritrasmissioni

Numeri di sequenza dei segmenti che può spedireNumeri di sequenza dei segmenti che può spedire

Indica i segmenti che possono essere spediti prima di aver ricevutoi riscontri dei precedenti

Indica i segmenti che possono essere spediti prima di aver ricevutoi riscontri dei precedenti

Page 19: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

Protocolli “sliding window”Protocolli “sliding window”

Il ricevitore mantieneuna finestra di ricezioneIl ricevitore mantieneuna finestra di ricezione

Segmenti appartenenti alla finestra vengono memorizzati pereventuali ritrasmissioni

Segmenti appartenenti alla finestra vengono memorizzati pereventuali ritrasmissioni

Numeri di sequenza dei segmenti che può ricevereNumeri di sequenza dei segmenti che può ricevere

Permette di accettare frame fuori ordine e memorizzarli nell’attesa dei segmenti precedenti mancanti

Permette di accettare frame fuori ordine e memorizzarli nell’attesa dei segmenti precedenti mancanti

Page 20: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

Protocolli “sliding window”Protocolli “sliding window”

Il limite superiore viene fatto avanzarequando si spedisce un nuovo frame Il limite superiore viene fatto avanzarequando si spedisce un nuovo frame

11

2255

66

00

3344

77TRASMETTITORETRASMETTITORE

Il limite inferiore viene fatto avanzarequando si riceve il riscontro del frameil cui numero progressivo corrispondeall’estremità inferiore

Il limite inferiore viene fatto avanzarequando si riceve il riscontro del frameil cui numero progressivo corrispondeall’estremità inferiore

Page 21: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

Protocolli “sliding window”Protocolli “sliding window”

11

2255

66

00

3344

77RICEVITORERICEVITORE

La dimensione della finestra è fissaLa dimensione della finestra è fissa

L’intera finestra viene fatta avanzarequando si riceve un frame il cuinumero progressivo corrisponde all’estremità inferiore

L’intera finestra viene fatta avanzarequando si riceve un frame il cuinumero progressivo corrisponde all’estremità inferiore

Page 22: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

Il TCP non usa messaggi espliciti di NACKIl TCP non usa messaggi espliciti di NACKSe riceve un segmento fuori ordine(buco nella sequenza di dati) invia un duplicato dell’ACK per l’ultimo segmento in ordine ricevuto

Se riceve un segmento fuori ordine(buco nella sequenza di dati) invia un duplicato dell’ACK per l’ultimo segmento in ordine ricevuto

Il trasmettitore, quando riceve tre ACK duplicati, li interpreta comeNACK per il segmento seguente (“ritrasmissione veloce”, RFC 2581)

Il trasmettitore, quando riceve tre ACK duplicati, li interpreta comeNACK per il segmento seguente (“ritrasmissione veloce”, RFC 2581)

TCP: segmenti ricevuti fuori ordine

TCP: segmenti ricevuti fuori ordine

Page 23: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

Ripetizione selettiva: trasmettitore

Ripetizione selettiva: trasmettitore

next_seq_numnext_seq_num

riscontratoriscontrato

inviato, nonriscontratoinviato, nonriscontrato non disponibilenon disponibile

disponibile, nonancora speditodisponibile, nonancora spedito

dimensione finestradimensione finestra

Page 24: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

next_seq_numnext_seq_num

fuori ordine ma già riscontratofuori ordine ma già riscontrato

atteso, non ancora ricevutoatteso, non ancora ricevuto

già accettato o non accettabilegià accettato o non accettabile

accettabileaccettabile

Ripetizione selettiva: ricevitore

Ripetizione selettiva: ricevitore

dimensione finestradimensione finestra

Page 25: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

La dimensione della finestradi ricezione varia in funzionedella dimensione del buffer (fissa)e dei dati ricevuti ma non ancora prelevati dal processo applicativo

La dimensione della finestradi ricezione varia in funzionedella dimensione del buffer (fissa)e dei dati ricevuti ma non ancora prelevati dal processo applicativo

La dimensione della finestradi ricezione viene comunicataal trasmettitore nel campo“window size” dei segmenti inviati

La dimensione della finestradi ricezione viene comunicataal trasmettitore nel campo“window size” dei segmenti inviati

TCP: finestra di ricezioneTCP: finestra di ricezione

Page 26: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

La dimensione della finestradi trasmissione viene modificatadinamicamente in funzione della capacità della rete e del ricevitore

La dimensione della finestradi trasmissione viene modificatadinamicamente in funzione della capacità della rete e del ricevitore

TCP: finestra di trasmissioneTCP: finestra di trasmissione

finestra di trasmissione = min (finestra di ricezione,

finestra di congestione)

Page 27: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

Inizialmente a 1, man mano che arrivano riscontri cresce esponenzialmente fino ad un valore di soglia predefinito, poi linearmente

Inizialmente a 1, man mano che arrivano riscontri cresce esponenzialmente fino ad un valore di soglia predefinito, poi linearmente

Se un riscontro non arriva entroil timeout, il valore di soglia viene abbassato alla metà dell’attuale valore della finestra di congestione e questa riparte da 1

Se un riscontro non arriva entroil timeout, il valore di soglia viene abbassato alla metà dell’attuale valore della finestra di congestione e questa riparte da 1

TCP: finestra di congestioneTCP: finestra di congestione

Page 28: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

numero di trasmissioninumero di trasmissioni

dim

en

sio

ne d

ella

fin

est

ra d

i co

ng

est

ion

e

dim

en

sio

ne d

ella

fin

est

ra d

i co

ng

est

ion

e

11 22 33 44 55 66 77 88 99 1010 1111 1212 1313 1414 1515 1616

112233445566778899

10101111

sogliasoglia

sogliasoglia

TCP: finestra di congestioneTCP: finestra di congestione

Page 29: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

UDP: protocollo non connessoUDP: protocollo non connesso

PortePortePorteLimitato controllo di erroriLimitato controllo di erroriLimitato controllo di errori

Aggiunge al pacchetto IP:Aggiunge al pacchetto IP:

Nessun ritardo di setupNessun ritardo di Nessun ritardo di setupsetupBasso overheadBasso Basso overheadoverhead

Vantaggi e svantaggiVantaggi e svantaggi

Non controlla né corregge erroriné perdite di pacchettiNon controlla né corregge erroriNon controlla né corregge erroriné perdite di pacchettiné perdite di pacchettiNessun controllodi congestioneNessun controlloNessun controllodi congestionedi congestione

Page 30: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

Header UDPHeader UDP

32 bit

source port destination port

UDP length UDP checksum

Page 31: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

UDP: protocollo non connessoUDP: protocollo non connesso

Ritardi costanti e possibilmente contenutiRRitardi costanti e possibilmente contenuti(Spesso) elevata banda trasmissiva(Spesso) elevata banda trasmissiva

Le applicazioni multimediali richiedonoLe applicazioni multimediali richiedono

Non richiedono correzione di erroriNon richiedono correzione di errori

Problema:Problema:molte applicazioni multimediali UDPmolte applicazioni multimediali UDP

possono saturare la rete!possono saturare la rete!

Page 32: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

Modelli per l’analisi e il dimensionamento

delle reti

Modelli per l’analisi e il dimensionamento

delle reti

Page 33: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

Commutazione di pacchettoCommutazione di pacchetto

multiplexing statisticomultiplexing statistico

accodamento in attesa di trasmissioneaccodamento in attesa di trasmissione

AA BB

I ritardi indicati determinanoil ritardo totale al router A

I ritardi indicati determinanoil ritardo totale al router A

Page 34: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

Ritardi e perdite nelle reti a commutazione di pacchettoRitardi e perdite nelle reti a commutazione di pacchetto

Ritardo di elaborazioneRitardo di elaborazione

Il ritardo totale introdottoda un nodo è dovuto a:Il ritardo totale introdottoda un nodo è dovuto a:

Ritardo di codaRitardo di codaRitardo di trasmissioneRitardo di trasmissioneRitardo di propagazioneRitardo di propagazione

Questi ritardi determinanola probabilità di perdere pacchettiQuesti ritardi determinanola probabilità di perdere pacchetti

Page 35: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

RitardiRitardi

elaborazioneelaborazione

codacoda

propagazionepropagazione

trasmissionetrasmissione

AA BB

Questi ritardi determinanoil ritardo totale al router AQuesti ritardi determinanoil ritardo totale al router A

Page 36: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

Ritardo di elaborazioneRitardo di elaborazione

Tempo necessario ad esaminare il pacchetto e a determinarne l’instradamento

Tempo necessario ad esaminare il pacchetto e a determinarne l’instradamentoComprende anche il controllodegli erroriComprende anche il controllodegli erroriIl pacchetto viene poi inviatoalla coda di trasmissioneIl pacchetto viene poi inviatoalla coda di trasmissioneOrdine di grandezza:microsecondi (o inferiore)Ordine di grandezza:microsecondi (o inferiore)

Page 37: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

Tempo di attesa primadella trasmissioneTempo di attesa primadella trasmissioneDipende da quanto pacchetti precedenti sono già in codaDipende da quanto pacchetti precedenti sono già in coda

È zero se non ci sono pacchetti né in coda né in trasmissioneÈ zero se non ci sono pacchetti né in coda né in trasmissioneDipende dall’intensità e dalla natura del trafficoDipende dall’intensità e dalla natura del trafficoOrdine di grandezza:dai microsecondiai millisecondi

Ordine di grandezza:dai microsecondiai millisecondi

Ritardo di codaRitardo di coda

Page 38: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

Tempo necessario a trasmettere tutti i bit del pacchettoTempo necessario a trasmettere tutti i bit del pacchetto

Dipende dalla velocità R del link e dalla lunghezza L del pacchettoDipende dalla velocità R del link e dalla lunghezza L del pacchetto

Esempio:Esempio:

L = 1500 byte = 12000 bitL = 1500 byte = 12000 bitR = 100 Mb/sR = 100 Mb/s

dtras = L/R = 120 msdtras = L/R = 120 ms

Ritardo di trasmissioneRitardo di trasmissione

Page 39: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

Tempo necessario al segnale per transitare lungo l’intera lunghezza del link fisico

Tempo necessario al segnale per transitare lungo l’intera lunghezza del link fisicoDipende dalla lunghezza l del linke dalla velocità di propagazione ssul mezzo (circa 2 ·108 m/s)

Dipende dalla lunghezza l del linke dalla velocità di propagazione ssul mezzo (circa 2 ·108 m/s)

l = 1 km (LAN), s = 2 ·108 m/sl = 1 km (LAN), s = 2 ·108 m/sdprop = l/s = 5 msdprop = l/s = 5 ms

l = 72000 km (satellite),l = 72000 km (satellite),s = 3 ·108 m/ss = 3 ·108 m/sdprop = l/s = 0.24 sdprop = l/s = 0.24 s

Ritardo di propagazioneRitardo di propagazione

Esempio:Esempio:

Page 40: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

Ritardo totale al nodoRitardo totale al nodo

A seconda del tipo di collegamento alcuni valori possono essere

trascurabili

A seconda del tipo di collegamento alcuni valori possono essere

trascurabili

ddnodonodo = = ddelabelab + + ddcodacoda + + ddtrastras + + ddpropprop

Page 41: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

dcoda non è costante:varia da pacchetto a pacchettodcoda non è costante:varia da pacchetto a pacchetto

A causa della lunghezza finitadei buffer di memoria puòdeterminare la perdita di pacchetti

A causa della lunghezza finitadei buffer di memoria puòdeterminare la perdita di pacchetti

Ritardo di codae perdita dei pacchettiRitardo di codae perdita dei pacchetti

Page 42: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

Ritardo di codae intensità di trafficoRitardo di codae intensità di traffico

aa = velocità media di arrivo= velocità media di arrivodei pacchetti (pacchetti/s)dei pacchetti (pacchetti/s)

LL = lunghezza dei pacchetti (in bit)= lunghezza dei pacchetti (in bit)

Si accodano L · a bit/sSi accodano L · a bit/s

Page 43: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

Ritardo di codae intensità di trafficoRitardo di codae intensità di traffico

RR = velocità di trasmissione (b/s)= velocità di trasmissione (b/s)

L · a/R = intensità di traffico

se L · a/R>1 la lunghezzadella coda cresce senza limiti ed il ritardo tende ad infinito

L · a/R = intensità di traffico

se L · a/R>1 la lunghezzadella coda cresce senza limiti ed il ritardo tende ad infinito

Page 44: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

Anche seL · a/R<1è possibilela perdita

di pacchetti perché la distribuzione

dei tempi di arrivoè casuale

(possono arrivare a gruppi)

Anche seL · a/R<1è possibilela perdita

di pacchetti perché la distribuzione

dei tempi di arrivoè casuale

(possono arrivare a gruppi) L · a/RL · a/R

ritardo media di codaritardo media di coda

11

Ritardo di codae intensità di trafficoRitardo di codae intensità di traffico

Page 45: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

Se un pacchetto in arrivo trovala coda piena, viene scartatoSe un pacchetto in arrivo trovala coda piena, viene scartato

All’aumentare dell’intensitàdi traffico aumenta la probabilitàdi perdita di pacchetti

All’aumentare dell’intensitàdi traffico aumenta la probabilitàdi perdita di pacchetti

I pacchetti persi possono essere recuperati mediante ritrasmissionida parte del livello di trasportoo delle applicazioni

I pacchetti persi possono essere recuperati mediante ritrasmissionida parte del livello di trasportoo delle applicazioni

Perdita di pacchettiPerdita di pacchetti

Page 46: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

Effetto combinato dei ritardiin tutti i nodi attraversatiEffetto combinato dei ritardiin tutti i nodi attraversati

In presenza rete omogeneacon poco traffico (dcoda = 0) e Q-1router da attraversare:dend-to-end = Q (delab + dtras + dprop)

compreso il ritardo dell’hostsorgente

In presenza rete omogeneacon poco traffico (dcoda = 0) e Q-1router da attraversare:dend-to-end = Q (delab + dtras + dprop)

compreso il ritardo dell’hostsorgente

Ritardo end-to-endRitardo end-to-end

Page 47: Introduzione (parte III)Introduzione (parte III) · 2020. 1. 17. · Introduzione (parte III)Introduzione (parte III) Argomenti della lezione ... L’interfaccia socket di BerkeleyL’interfaccia

Introduzione (parte III)Introduzione (parte III)Introduzione (parte III)