Esplora E-book
Categorie
Esplora Audiolibri
Categorie
Esplora Riviste
Categorie
Esplora Documenti
Categorie
Tr
lievello trasporto: host differenti network physical
as
data link
po
r trasporto connectionless : UDP physical
rto
m multiplexing/demultiplex r I protocolli di trasporto network
r principi del trasferimento dati agiscono sugli end systems data link
log
ing physical network
affidabile
ico
data link
m Trasf . dati affidabile r Servizi di trasporto e di rete: physical
en
r Trasporto connection-oriented :
dt
m controllo flusso Livello network: network
oe
r data link
TCP
nd
physical
m controllo congestione trasferimento dati tra end
m trasferimento affidabile
r Realizzazione in systems application
network physical
(TCP)
as
m TPDU: transport
data link
po
physical
rto
m congestione
protocol data unit
network
data link
ricevente
log
data link
P3 P4
m setup della connessione physical
Dati del livello
en
M M
dt
network applicazione
r Consegna inaffidabile
oe
data link
application
nd
physical
(“best-effort”), disordinata header P1 transport P2
segmento M
di tipo unicast o multicast: application M network
transport application application
UDP network
segmento transport
data link Ht M transport
network
r servizi non disponibili: physical Hn segment network
m real-time
m garanzia sulla banda
m multicast affidabile
LivelloTrasporto 3a-3 LivelloTrasporto 3a-4
1
Multiplexing/demultiplexing: esempi UDP: User Datagram Protocol [RFC 768]
r Il protocollo di trasporto di
Internet “senza fronzoli” Perchè esiste UDP?
r Servizio “best effort”, i
r Non occore stabilire una
segm. UDP possono essere: connessione (meno ritardi)
m persi
r semplicità: non occorre
m Consegnati all ’appl. fuori gestire la connessione
ordine r L’header del segmento è
r connectionless: piccolo
m non c ’è handshaking tra r Non c ’è controllo della
mittente e destinatario congestione : l ’UDP può
UDP spedire dati tanto
m ogni segmento UDP velocemente quanto lo si
viene trattato desidera
separatamente dagli
altri
Lato Lato
invio ricezione
2
Reliable data transfer: Introduzione Rdt1.0: trasferim. affidabile su canale affidabile
r Sviluppiamo incrementalmente le parti r Il canale sottostante è perfettamente affidabile
mittente e destinatario di un protocollo rdt m Non ci sono errori nei bit
r Consideriamo solo trasferimenti m Non si perdono pacchetti
monodirezionali r FSMs separate per mittente e destinatario:
m ma le info di controllo vanno in ambedue le direzioni! m Il mittente invia dati nel canale sottostante
r mittente e destinatario come macchine a stati m Il destinatario legge dati dal canale sottostante
finiti
evento che causa la transizione
azioni intraprese per la transizione
stato: se siamo in
questo “stato ” il stato Stato
1 evento
prossimo stato è 2
univocamente azioni
determinato dal
prossimo evento
LivelloTrasporto3a-13 LivelloTrasporto3a-14
Rdt2.0: canale con errori sui bit rdt2.0: specifica delle FSM
r Il canale può alterarei bits del pacchetto
m il checksum UDP usato per rilevaregli errori sui bit
r la questione: come recuperare gli errori :
m acknowledgements (ACKs): il destinatario dice
esplicitamenteal mittenteche il pkt ricevuto è OK
m negative acknowledgements (NAKs): il destinatario dice
esplicitamenteal mittenteche il pkt ricevuto ha errori
m Il mittente ritrasmette i pkt se riceve un NAK
m Un esempio umano che usa ACK e NAK?
r Nuovi meccanismi nel rdt2.0 (rispetto a rdt1.0):
m Rilevamento errori
m Feedback del destinatario: msg di controllo (ACK,NAK)
dal dest->mitt
FSM del mittente FSM del destinatario
LivelloTrasporto3a-15 LivelloTrasporto3a-16
FSM del mittente FSM del destinatario FSM del mittente FSM del destinatario
LivelloTrasporto3a-17 LivelloTrasporto3a-18
3
rdt2.0 rdt2.1: gestione ACK/NAK corrotti
LivelloTrasporto3a-21 LivelloTrasporto3a-22
LivelloTrasporto3a-23 LivelloTrasporto3a-24
4
rdt3.0 Mittente rdt3.0 in azione
LivelloTrasporto3a-25 LivelloTrasporto3a-26
8kb/pkt
T Trasm. = = 8 microsec
10**9 b/sec
frazione del tempo 8 microsec
Utilizzazione = U =mitt. impegn. spedire= = 0.00015
30.016 msec
LivelloTrasporto3a-27 LivelloTrasporto3a-28
m L’intervallo di numeri di sequenza s i deve incrementare r “finestra” consentita di (al massimo) N pacchetti consecutivi non
riscontrati
m Bufferizzazione al mittente e/o al destinatario
5
GBN: FSM estesa del mittente GBN: FSM estesa del destinatario
Destinatario semplice:
expectedseqnum++;
LivelloTrasporto3a-31 LivelloTrasporto3a-32
LivelloTrasporto3a-33 LivelloTrasporto3a-34
LivelloTrasporto3a-35 LivelloTrasporto3a-36
6
Selective repeat:
Selective repeat in azione un dilemma
Esempio:
r seq #: 0, 1, 2, 3
r window size=3
r Il destinatario non
distingue le due
situazioni!
r in (a) sbaglia e
considera come nuovi
pkt i duplicati
LivelloTrasporto3a-37 LivelloTrasporto3a-38