Livello di trasporto Flashcards

1
Q

Qual è la funzione del livello di trasporto? Dove è presente?

A

Il livello di trasporto ha il compito di instaurare un collegamento logico tra le applicazioni residenti su host remoti: tale livello rende trasparente il trasporto fisico dei messaggi alle applicazioni, consentendo il collegamento logico tra processi applicativi.

Il livello fisico è presente solo negli end systems (host).

Quando più applicazioni sono attive su un host, il livello di trasporto svolge funzioni di multiplexing/demultiplexing: ciascun collegamento logico tra applicazioni è indirizzato dal livello di trasporto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Come funziona la gestione delle funzioni di mutiplexing/demultiplexing? (sistema porte)

A

Tali funzioni vengono gestite mediante indirizzo contenuti nelle PDU di livello di trasporto;tali indirizzi sono numeri da 5 cifre e si dividono in:
- Numeri noti: assegnati ad importanti applicativi dal lato server
- Numeri registrati: assegnati a specifiche applicazioni a chi ne faccia richiesta
- Numeri dinamici: assegnati dinamicamente ai processi applicativi lato client

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Quali sono i due tipi di trasporto?

A

TCP (Trasmission Control Protocol) orientato alla connessione e affidabile
UDP (User Datagram Protocol) senza connessione e non affidabile

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Quali sono le caratteristiche di UDP?

A

Tale protocollo è il modo più semplice di usare le fnzionalità di IP, in quanto non vi aggiunge nulla se non
- Indirizzamento delle applicazioni
- Controllo d’errore sull’header, ma senza correzione

Dunque
- é un protocollo datagram: consente l’invio senza connessione di datagrammi
- non garantisce la conferma e non esercità nè controllo di flusso nè controllo di errore

A livello di grandezza: ogni pacchetto è caratterizzato da 65535 byte
- vengono riservati 2 byte all’header
- i restanti 65527 byte sono disponibili per il payload

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Perchè a volte è più efficace usare UDP rispetto a TCP?

A

1) Minore latenza: non occorre stabilire una connessione
2) Maggiore semplicità: non si tiene traccia dello stato di connessione e ci sono poche regole da implementare
3) Minore overhead: header più piccolo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Cos’è il campo Checksum?

A

Il campo Checksum svolge un controllo d’errore sul segmento trasmesso: viene inserita un’informazione ridondante nell’header
- il campo checksum (2 byte) è calcolato dal trasmettitore e inserito nell’header
- il ricevitore ripete lo stesso calcolo sul segmento ricevuto e se il risultato è soddisfacente lo accetta
- tale campo viene calcolato considerando l’header UDP. uno pseudo header Ip e i dati

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Come è strutturato l’header UDP?

A

PSEUDO-HEADER
Prima riga: indirizzo IP del trasmettitore
Seconda riga: indirizzo IP della destinazione
Terza riga: 8 zeri + protocol + lunghezza
HEADER
Quarta riga: porta di origine + porta di destinazione
Quinta riga: lunghezza di payload e header + checksum
Sei in poi: dati

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

In cosa consiste un “collegamento ideale”?

A

In un collegamento ideale tutto ciò che viene trasmesso arriva nello stesso ordine e viene correttamente interpretato a destinazione

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Come funziona il recupero d’errore?

A

Per il recupero d’errore è necessario avere un Protocollo di ritrasmissione.
Gli ingredienti sono:
- Ciascuna trama ricevuta correttamente viene riscontrata positivamente con un messaggio ACK
- Un eventuale messaggio di errore NACK
- La mancanza di ACK o la presenza di NACK segnala la necessità di ritrasmettere
- La procedura si ripete finchè la trama viene ricevuta corretta

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Quali sono i 3 protocolli di ritrasmissione? Qual è il loro obiettivo?

A

Obiettivo:
- integrità del messaggio/pacchetto
- ordine corretto della sequenza dei pacchetti
- no duplicazione

Tipologie:
- Stop&Wait
- Go-back-N
- Selective Repeat

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Quali sono le caratteristiche del protocollo Stop&Wait?
Quali problematiche presenta? Come si rimedia a queste problematiche?

A
  • Utilizza solo ACK e un contatore time out
  • Ogni messaggio ricevuto correttamente è riscontrato dal ricevitore

Problema: se si perde l’ACK il pacchetto viene ritrasmesso di nuovo –> duplicazione
Rimedio: numerazione de pacchetti –> il ricevitore riconosce che il nuovo pacchetto è duplicato perchè ha lo stesso numero dell’ultimo ricevuto

Problema: errata interpretazione di un ACK –> il riceitore crede un pacchetto ricevuto mentre non lo è
Rimedio: numerazione degli ACK

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Come è definita l’efficienza del protocollo stop&wait?

A

Efficienza = T trasmissione / T trasmissione + Tack + 2tau

Bassa efficienza se T«tau –> protocollo non adatto a situazioni con elevato ritardo di propagazione o elevato ritmo di trasmissione

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Quali sono le caratteristiche del protocollo Go-back-N?

A

Con il protocollo Go-back-N si possono trasmettere ino a N pacchetti senza aver ricevuto il riscontro:
- Se il riscontro del primo pacchetto arriva prima della fine della finestra, la finestra viene fatta scorrere di una posizione
- Altrimenti si ricomincia a trasmettere la finestra dal primo pacchetto non riscontrato

Il time out ha lo stesso significato dello Stop&Wait:
- Raggiunto l’ultimo pacchetto della finestra, la trasmissione si blocca in attesa di un ACK o della scadenza del time out
- La ritrasmissione del primo pacchetto non riscontrato inizia allo stadere del timeout
Questo procedimento può causare la ritrasmissione di pacchetti corretti, ma semplifica il funzionamento perchè permette al ricevitore di ignorare le ricezioni fuori sequenza –> l’ordine è mantenuto automaticamente

Altra caratteristica è che l’ACK può essere collettivo (comune a più pacchetti), ovviamente entro certi limiti, il che rimedia alla perdita di ACK

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Come viene dimensionata la finestra in Go-back-N?

A

La finestra ottimale coincide con il RTT: T trasmissione + tau + Tack + tau

Ovviamente è possibile dimensionare la finestra anche in altri modi: infatti il dimensionamento diventa complicato quando non si conoscono i tempi di propagazione. Normalmente si rimedia facendo la finestra grande, oppure stimando il RTT e adattando ad esso la finestra, oppure usando il NACK

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Perchè è conveniente l’uso del NACK?

A

L’uso del NACK può abbreviare i tempi di ritrasmissione in caso d’errore, evitando di aspettare la fine del time-out.
Tuttavia non è comunque possibile inviare immediatamente il NACK perchè il ricevitore dovrebbe conoscere l SN del pacchetto errato.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Quali sono i due meccanismi possibili di generazione di ACK per Go-back-N?

A

FULL DUPLEX:
Il ricevitore analizza i pacchetti ricevuti, li inoltra a livelli superiori e genera gli ACK

PIGGY BACKING:
Gli ACK vengono inseriti negli header dei pacchetti che viaggiano in direzione opposta

17
Q

Perchè è necessario effettuare controllo di flusso?

A

Poichè i buffer di ricezione sono limitati a W posizioni, e il ritmo di assorbimento dell’utente singolo è arbitrario, è necessario il ritmo di invio dei pacchetti per evitare che questi vadano persi perchè all’arrivo trovano il buffer pieno

18
Q

In cosa consiste lo sliding window flow control?
Quali problematiche presenta? Come si può risolvere il problema?

A

Si tratta di controllo di flusso a finestra mobile, che utilizza infatti un meccanismo simile a Go-back-N:
- la sorgente non può inviare più di W trame senza aver ricevuto il riscontro
- i riscontri vengono inviati dal ricevitore solo quando i pacchetti vengono letti, ovvero tolti dal buffer, dal livello superiore

Il problema è che se il ricevitore ritarda molto l’invio dei riscontri a causa del livello superiore lento, il trasmettitore inizia la ritrasmissione perchè scade il time out, il quale non può essere aumentato perchè aumenterebbe eccessivamente i ritardi in caso di errore.
Il problema può essere risolto in modo radicale separando i meccanismi di controllo d’errore e di controllo flusso a finestra: si inserisce nei riscontri un campo finestra W, che indica lo spazio rimanente nel buffer; in questo modo il ricevitore può anche mantenere un margine di sicurezza e usare meccanismi adattativi

19
Q

Quali sono le caratteristiche del protocollo TCP?

A

Il TCP è un protocollo di trasporto che assicura il trasporto affidabil dei pacchetti in corretta sequenza e senza errori o perdite di dati.
E’ il protocollo alla base della filosofia originaria di internet: servizio di rete semplice e non affidabile, servizio di trasporto affidabile.
Il TCP effettua anche un controllo di congestione end-to-end che limita il traffico in rete e consente agli utenti di condividere in modo equo le risorse.

20
Q

Perchè TCP è “connection oriented”?

A
  • Prima del trasferimento di un flusso dati occorre instaurare una connessione mediante opportuna segnalazione
  • Le connessioni TCP si appoggiano su una rete datagram
  • Le connessioni TCP sono di tipo full-duplex, ovvero il flussodati è bidirezionale
21
Q

Come funziona il flusso dati in TCP?

A

TCP è orientato alla trasmissione di flussi continui di dati: il protocollo converte il flusso si sati in segmenti di dimensioni variabili che vengono trasmessi e accomulati in un buffer; periodicamente, i dati accumulati nel buffer vengono aggregati a formare un segmento, la cui dimensione è critica per le prestazioni (si aspetta fino a che l’ammontare di dati presente nel buffer sia ragionevole prima di formare il segmento)

22
Q

Che tipo di meccanismo di controllo delle perdite di pacchetti adotta TCP?

A

TCP adotta un meccanismo per il controllo delle perdite di pacchetti di tipo Go-back-N: si ha infatti un sistema di numerazione e di riscontro dei dati inviati.
- TCP numera ogni byte trasmesso
- Nell’header del segmento TCP è trasportato il numero di sequenza del primo byte nel segmento stesso
- Il ricevitore deve riscontrare i dati ricevuti inviando il numero di sequenza del prossimo byte che ci si aspetta di ricevere
- Se un riscontro non arriva entro un dato time-out, i dati sono ritrasmessi

23
Q

Come è strutturato l’header del segmento TCP?

A

Vedi foto

24
Q

A cosa serve e come si articola il controllo di congestione in TCP?

A

Poichè il controllo di flusso dipende solo dalla capacità del ricevitore, esso non è sufficiente ad evitare la congestione della rete.
Nella rete internet attuale non ci sono meccanismi sofisticati di controllo di congestione a livello di rete: il controllo di congestione è delegato al TCP, che nel caso in cui si presentino situazioni di congestione deve ridurre velocemente il traffico in ingresso.

Essendo il TCP implementato solo negli host il controllo di congestione è di tipo end-to-end:
-L’idea fondamentale è che il ritmo di immissione in rete viene regolato tramite una modulazione della finestra di trasmissione
- Il trasmettitore mantiene una Congestion Window che varia in base agli eventi che osserva
- Il trasmettitore non può trasmettere più del minimo tra finestra di invio e finestra di ricezione (spazio buffer in ricezione disponibile per ricevere nuovi dati)
- Ogni perdita di segmento viene interpretata come evento di congestione, al quale si regisce riducendo la finestra

25
Q

Quali sono le due fasi del controllo di congestione e in base a cosa si passa dall’una all’altra?

A

Il valore della congestion window viene aggiornato dal TCP, in base allo stato in cui si trova il trasmettitore.
Sia SSTHRESH una variabile mantenuta al trasmettitore:
- se CWND < SSTHRESH si è in SLOW START
- se CWND > SSTHRESH si è in CONGESTON AVOIDANCE