vuoi
o PayPal
tutte le volte che vuoi
Livello di trasporto:
affianca il protocollo ip, i servizi comuni sono TCP e UDP
servizio di consegna a due processi,
Multiplazione e demultiplazione
Rilevamento dell’errore, nessuna correzione
Controllo di flusso: mando i dati senza eccedere il ritmo di consumazione del dato,
lavora end-to-end. Permette la sincronizzazione di invio e ricezione tra due dispositivi
Controllo di congestione: regola il tasso di invio dei segmenti da parte del mittente, il
tasso di invio deve essere tale da non creare problemi a tutta la rete
Multiplazione e demultiplazione
Il protocollo non consegna i dati tra i processi applicativi, ci pensa il protocollo di
trasporto
La demultiplazione avviene a nodo destinatario, il segmento ha una parte che
definisce il destinatario
Come è formato il segmento:
Segment header application-layer (data)
Hn dati
Porte:
well-known-ports 0-1023 per usarle bisogna avere autorizzazione IANA, possono
essere usate da root o simili
Registered-ports 1024-49151 per usarle bisogna avere autorizzazione IANA,
possono essere usate da qualsiasi processo
Dynamic o private-ports 49152-65535
UDP (user data protocol)
Leggero e veloce, dotato delle funzionalità minime di traspotro, ha controllo dell’errore
(solo checksum), ha elelementi di multiplazione e demultiplazione (nell’header c’è la
porta destinazione)
Non è obbligatoria connessione stabile e di conseguenza la consegna non è garantita
Pseudo header header sul quale viene calcolato il checksum
Concetto di affidabilità tolleranza e errori
Serve un modello di errori e contromisure
Modello1:
errore corruzione del messaggio
identificazione errore tramite checksum
affidabilità se c’è errore ritrasmetto
notifico al mittente l’errore tramite un segnale di acknowledge (ack o nak)
Modello 2
Errore errore delle risposte, anche ACK e NAK possono essere corrotti
Soluzione aggiungo checksum anche a loro
Se era NAK e non ritrasmetto perdo dati
Se era ACK e ritrasmetto duplicazione
Bisogna però evitare duplicati
Soluzione aggiungo numeri di sequenza, se il messaggio di risposta è corrotto
ritrasmetto sempre, se ricevo un messaggio con un numero sequenziale già ricevuto ,
scarto il duplicato e mando un ack
Evitando i due soli tipi di riposta, ma aggiungendo varianti del tipo
Ack(n-1)=NAK(n) (aggiungere numero di sequenza a ACK)
Modello 3
Errore perdita di messaggi (messaggio vero e proprio, risposta) – attesa ad un
messaggio infinita
Soluzione introduco il timeout e agisco solo quando ho ricevuto il messaggio
TCP (trasmission control protocol)
Protocollo orientato alla connessione, + affidabile di UDP
Instaurazione, utilizzo e chiusura di una connessione
Considera rete e host.
NON GARANTISCE COMUNICAZIONI IN TEMPO REALE
NON GARANTISCE DISPONIBILITà DI BANDA TRA MITTENTE E DESTINATARIO
NON GARANTISCE CONNESSIONI MULTICAST AFFIDABILE (è SOLO UNICAST)
Problemi da affrontare con TCP
Necessità di un metodo per attivare e concludere una comunicazione in modo
esplicito per entrambi
Necessita di un metodo di timeout adattivo
Necessità di gestire il possibile arrivo di pacchetti molto vecchi
Necessità di gestire capacità dei nodi eterogenee (ogni host ha capacità
diversa)
Necessita di gestire possibili congestioni
12/07/24
Sliding windows il mittente: assegna a ciascun segmento un numero di sequenza
(non appartiene ad un intervallo finito)
Per la gestione della sliding window il mittente utilizza tre variabili:
1) Dimensione della finestra di avvio SWS( sender windows size), limite massimo
per il numero di segmenti che il mitente può inviare senza aver ricevuto ack
2) Numero di sequenza dell’ultima conferma ricevuta LAR (last aknowledge
received)
3) Numero di sequenza dell’ultimo segmento inviato LSS( last segment sent)