Corso di laurea in INFORMATICA

Slides:



Advertisements
Presentazioni simili
Il livello di trasporto
Advertisements

Elaborazione del Book Informatico
Italo Losero S tray B ytes strane cose succedono nelle reti....
Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Indirizzamento a classi Alberto Polzonetti
Corso di laurea in INFORMATICA
Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Messaggi di errore e di controllo Alberto Polzonetti
Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocollo Internet Alberto Polzonetti
I protocolli TCP/UDP prof.: Alfio Lombardo.
Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS.
I modelli di riferimento OSI e TCP/IP
La rete in dettaglio: rete esterna (edge): applicazioni e host
3-1 User Datagram Protocol: UDP Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All.
Come programmare servizi di rete?
La rete del futuro nellautonomia scolastica Sezione propedeutica I fondamentali e concetti di TCP/IP.
Esercizio 1 Due collegamenti in cascata, AB e BC hanno una velocità rispettivamente di 100 Mb/s e 50 Mb/s e tempi di propagazione pari a 1 ms e 1.2 ms.
Programmazione su Reti
Programmazione su Reti
I protocolli TCP/UDP prof.: Alfio Lombardo.
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
TCP Transmission Control Protocol. Programmazione II: Programmazione su Reti -- Prof. G. Persiano 2 TCP TCP fornisce un servizio di connessione –orientato.
1 Protocollo di comunicazione. 2 Reti eterogenee.
RETI E INTERNET.
Reti di Calcolatori IL LIVELLO RETE.
Concetti introduttivi
Reti di Calcolatori IL LIVELLO RETE.
Reti di Calcolatori IL LIVELLO TRASPORTO Protocolli TCP e UDP.
Corso di Laurea in Ingegneria Gestionale
ICMP - PING - TRACEROUTE
Introduzione alle basi di dati
Corso di Informatica per Giurisprudenza Lezione 7
1 Esercizio 1 Un router riceve da un collegamento A lungo 10 km a 100 Mb/s e instrada i pacchetti ricevuti, lunghi 1000 bit verso una linea duscita B a.
Realizzato da Roberto Savino 3-1 Il livello di trasporto r Dobbiamo assumere di avere a che fare con un canale di comunicazione molto particolare 1. Inaffidabile.
I protocolli TCP/UDP prof.: Alfio Lombardo.
TRASMISSIONE DATI CON MODEM
Protocollo informatico: interoperabilità e PEC
Il modello di riferimento OSI
Reti Insieme di computer e di altri dispositivi che comunicano tra loro per condividere i dati, le applicazioni e lhardware Modulo 1.
File system distribuito transazionale con replicazione
Introduzione al controllo derrore. Introduzione Quando dei dati vengono scambiati tra due host, può accadere che il segnale venga alterato. Il controllo.
Calcolo timeout Modulo 2 - U.D. 5 - Lez. 6
Efficienza e controllo derrore. Introduzione Come abbiamo visto il controllo derrore, necessario per ottenere un trasporto affidabile, si basa su: somme.
Modulo 2 – U.D. 4 – Lez. 5 (parte I)
TCP/IP.
Corso di Laurea in Conservazione e Restauro dei Beni Culturali
Reti di Calcolatori ed Internet Fabio Massimo Zanzotto.
L’architettura a strati
Internet: una panoramica
RETI DI CALCOLATORI Domande di riepilogo Prima Esercitazione.
Reti Stratificazione del Protocollo. 2 Andrea Asta I protocolli oSpecificano e Rendono Comprensibile la comunicazione oNon è necessario conoscere.
Greco Rodolfo 2002 Application Trasport Network Phisic HTTP IP UDPTCP DNS SNAP MAC ARP L’utente fa una richiesta di pagina.
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
Livello di trasporto Protocolli TCP e UDP.
1 Sistemi e Tecnologie della Comunicazione Lezione 22: transport layer: introduzione, funzionalita’
Reti di calcolatori Modulo 2 -Protocolli di rete TCP/IP Unità didattica 2 – Il protocollo TCP/IP Ernesto Damiani Università degli Studi di Milano - SSRI.
Complementi sul controllo d’errore (parte I). Introduzione Lo schema di gestione d’errore Idle RQ garantisce che i pacchetti: – arrivino non corrotti.
Flusso e congestione TCP
Flusso TCP (parte II). Trasferimento di grandi quantità di dati (1) Spesso il mittente deve inviare grandi quantità di dati. Genera un numero elevato.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 6 -User Datagram Protocol Ernesto Damiani Lezione 1 – UDP.
Servizi Internet Claudia Raibulet
Controllo di flusso TCP. Elementi base del flusso TCP (1) Comunicazione punto-punto Un mittente, un destinatario. Flusso di byte affidabile Flusso suddiviso.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 6 -User Datagram Protocol Ernesto Damiani Lezione 2 – UDP.
Strato di accesso alla rete (network access layer); comprende le funzioni che nel modello OSI sono comprese negli strati fisico, di collegamento e parte.
1 Sistemi e Tecnologie della Comunicazione Lezione 23: transport layer: TCP e UDP.
Sistemi e Tecnologie della Comunicazione
1 Sistemi e Tecnologie della Comunicazione Lezione 12: data link layer: controllo di flusso, protocolli stop-and-wait e sliding window.
Applicazione Presentazione Sessione Trasporto Rete Data link Fisico OSI Processo / Applicazione Trasporto Rete- Internet Interfaccia di.
INTERNET PROTOCOL SUITE FACOLTA’ DI INGEGNERIA Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni Docente: Prof. Pasquale Daponte Tutor:
INTERNET E INTRANET Classe VA SIA. La Storia di INTERNET ’ – ARPANET 1969 – anno di nascita università Michigan - Wayne 1970 – – INTERNET.
1 Il livello transport. Concetti fondamentali - Canale logico e canale fisico 2 Quando un segnale deve essere trasmesso, viene inviato su un Canale, cioè.
II PROVA Svolgimento tramite protocollo ISO/OSI. I LIVELLO : LIVELLO FISICO Scelta del mezzo fisico; tenere conto degli standard IEEE Procedura di codifica.
Transcript della presentazione:

Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli di trasporto Alberto Polzonetti alberto.polzonetti@unicam.it

Tecnologia delle LAN e delle WAN sottostanti Protocolli di trasporto TCP & UDP APPLICATIVO SMTP FTP DNS ………. TRASPORTO TCP UDP RETE ICMP IP ARP RARP IGMP COMUNICAZIONE Tecnologia delle LAN e delle WAN sottostanti FISICO Operano tra lo strato applicativo e quello IP Fungono da intermediari tra i programmi applicativi e le operazioni di rete Protocolli di trasporto

Compiti dello strato di trasporto Creazione di comunicazione processo – processo (udp – tcp) Garantire l’affidabilità (TCP) Instaurare connessioni tra i processi : UDP – TCP Meccanismi per il controllo di errore  tempo limite e ritrasmissione : TCP Meccanismi per il controllo di flusso  finestre scorrevoli (sliding window) : TCP Perché un processo dovrebbe richiedere i servizi UDP ? Il protocollo è semplice Adatto per messaggi piccoli e poco importanti Non dovendo l’UDP stabilire prioritariamente una connessione con il destinatario, viene usato quando la consegna tempestiva è importante (SNMP) Protocolli di trasporto

UDP: datagramma utente I pacchetti UDP sono chiamati datagramma utente DATI (0 – 65507) Checksum Dimensione (in ottetti) Numero di porta del destinatario Numero di porta del mittente 16 bit header Protocolli di trasporto

Funzionamento del protocollo UDP Servizi senza connessione Non esiste nessuna relazione tra i datagrammi d’utente I processi devono inviare all’UDP richieste di piccole dimensioni che possono essere inserite nel datagramma utente Protocollo non affidabile Non essendoci controllo di flusso il destinatario potrebbe trovarsi in situazione di congestione Nei casi di errori evidenziati dal checksum non sono previste notifiche Il processo deve sopperire a queste carenze Utile quando: si opera su rete affidabile oppure quando l’affidabilità non è importante l’applicazione mette tutti i dati in un singolo pacchetto non è importante che tutti i pacchetti arrivino a destinazione Principali applicazioni classiche che utilizzano UDP: NFS (Network File System) SNMP (Simple Network Management Protocol) Trasmissioni in Real-Time H.323 videoconferenza RTP Real Time Transfer Protocol Protocolli di trasporto

UDP:incapsulamento ed estrazione Dati dal processo processo Dati al processo Dati UDP HeaderUDP Dati IP Header IP Dati TRAMA Header TRAMA processo Dati UDP HeaderUDP Dati IP Header IP Dati TRAMA Header TRAMA Protocolli di trasporto

TCP: Transmission Control Protocol Protocollo di trasporto Byte oriented Connesso Utilizzato da applicativi che richiedono la trasmissione affidabile di applicazioni telnet, ftp, http, smtp SERVIZI Servizio data stream (usato con i buffer) Accetta dall’applicazione un intero flusso di dati Crea i segmenti estraendo sequenze appropriate di dati Riceve i segmenti, estrae i dati li riordina Consegna i dati all’applicazione ricevente Servizio Full – Duplex (trasferimento simultaneo in entrambe le direzioni) Servizio affidabile Controllo del flusso Tecnica del riscontro per il controllo della ricezione dei pacchetti Protocolli di trasporto

TCP: controllo di flusso Stabilisce la quantità di dati che il mittente può inviare prima della ricezione del riscontro Caso massimo : il mittente aspetta un riscontro per ogni byte Caso minimo : il mittente invia tutti i suoi dati riscontrandoli alla fine End-to-end flow control Migliora l’efficienza della trasmissione Controlla il flusso dei dati in modo tale di non congestionare il ricevente La dimensione della finestra è gestita dal destinatario in relazione allo spazio disponibile sul suo buffer di ricezione Controlla che i pacchetti arrivino correttamente e nel momento in cui qualcuno si perde procede alla loro ritrasmissione Protocolli di trasporto

Protocolli di trasporto End to end flow control E’ composto da due algoritmi Sliding window mechanism: è il meccanismo che gestisce il numero di pacchetti da trasmettere prima di ricevere una conferma di avvenuta ricezione controlla inoltre che i pacchetti siano arrivati e in caso non siano arrivati procede alla ritrasmissione Round Trip Estimate: è il meccanismo che controlla il round trip delay per sapere quando procedere alla ritrasmissione Protocolli di trasporto

Protocolli di trasporto Sliding Window Meccanismo che permette la trasmissione di N dati (N-window) prima che giunga l’acknowledge del primo dato trasmesso Protocolli di trasporto

Sliding window [dimensione variabile] Deve essere stabilito un valore iniziale (che può essere diverso per Sender e Receiver); viene negoziato all’apertura della connessione A connessione aperta il ricevitore comunica al trasmettitore, insieme all’acknowledge, il valore della window ammessa Può ad esempio diminuirla se il buffer nel quale mette i dati TCP è pieno e la ricezione di altri segmenti provocherebbe la perdita di alcuni dati per overflow L’incremento della window porta ad un incremento di prestazioni, visibile soprattutto nel caso di lunghe distanze (nel quale il round trip time è notevole) Protocolli di trasporto

Sliding window [dimensione e forme] In TCP la dimensione della finestra è in byte, non in segmenti Il campo “window” del pacchetto TCP indica quanti byte possono ancora essere trasmessi prima di un ACK L’acknowledge è dato in forma “cumulativa” L’arrivo di un ack relativo al segmento X indica implicitamente che tutti i segmenti precedenti ad X sono stati ricevuti E’ un vantaggio se la connessione non ha perdite di pacchetti (si diminuisce il traffico di controllo tra il receiver e il sender) Può essere uno svantaggio nel caso di perdita di pacchetti (può essere forzata la trasmissione di un segmento anche se questo era precedentemente arrivato correttamente) Protocolli di trasporto

Sliding window [simulazione] Buffer 4K Buffer 4K Buffer 4K Numero di sequenza Numero di riscontro Dimensione finestra mittente destinatario tempo 1001 4000 5001 5001 1000 5001 1000 Protocolli di trasporto

Protocolli di trasporto Retrasmission timer Tempo limite (soglia massima di tempo che deve intercorrere da quando un pacchetto è inviato a quando si riceve l’ACK) Orologio di ritrasmissione (tempo limite) Impostato di solito a 2 volte il tempo di andata e ritorno Aggiornato dinamicamente è calcolato in base alle condizioni del traffico: connessioni con basso Round Trip Delay hanno timer bassi a run-time è inoltre in grado di adattarsi ad eventuali variazioni del round trip time medio generando un aumento del timer senza causare ritrasmissioni ad ogni ack ricevuto il valore del timer viene ricalcolato per tenere conto delle variazioni di round trip time All’atto dell’invio di un segmento il mittente gli associa l’orologio L’orologio esegue un conto alla rovescia a partire dal tempo limite fissato Quando l’orologio va a zero il mittente rispedisce quel segmento Non essendo obbligatorio confermare tutti i segmenti, basta che un segmento successivo sia stato a sua volta confermato Se si ritrasmette una quantità di dati pari a tutta la Window ammessa, è possibile dare origini a congestioni (Entrano in gioco i meccanismi di Congestion Control) Protocolli di trasporto

Protocolli di trasporto TCP: orologi OROLOGI Orologio di ritrasmissione (tempo limite) Impostato di solito a 2 volte il tempo di andata e ritorno Aggiornato dinamicamente Orologio di persistenza Viene attivato quando il destinatario imposta la finestra a zero Viene disattivato quando il destinatario fa ripartire la trasmissione Quando si raggiunge il tempo di persistenza il mittente manda un messaggio di sonda per avvisare il destinatario Orologio di permanenza in attività Usato per evitare connessioni con periodi troppo lunghi di inattività (es. crash del client) Orologio tempo di attesa Usato durante le operazioni di chiusura della trasmissione Protocolli di trasporto

TCP: segmento rovinato mittente destinatario tempo 1201 200 1401 200 1601 200 S OK rovinato 1601 200 OK 1801 Protocolli di trasporto

TCP: segmento smarrito mittente destinatario tempo 1201 200 1401 200 1601 200 S OK 1601 200 OK 1801 Protocolli di trasporto

TCP: riscontro smarrito mittente destinatario tempo 1201 200 1401 200 1601 200 OK 1801 Protocolli di trasporto

Controllo di congestione In teoria, il controllo della congestione della communication subnet dovrebbe essere svolto dal livello Network. In pratica, il modo più efficiente per risolvere le situazioni di congestione consiste nel regolare la velocità del trasmittente, quindi a livello Transport Il protocollo TCP integra il controllo della congestione nel meccanismo di controllo del flusso Presupposto: gli algoritmi TCP utilizzati in Internet assumono che tutti i timeout dovuti a segmenti non ricevuti sono causati da congestione della communication subnet (e non da disturbi delle linee di trasmissione) Protocolli di trasporto

Finestra di congestione Ogni trasmittente mantiene due diverse finestre: la finestra di trasmissione per il controllo del flusso la finestra di congestione per il controllo della congestione Ad ogni istante, il trasmittente può inviare un numero di byte pari al minimo tra la dimensione della finestra di trasmissione e della finestra di congestione La dimensione della finestra di congestione non supera mai la dimensione della finestra di trasmissione Nel protocollo TCP la dimensione della finestra di congestione è regolata dall’algoritmo slow start Malgrado il nome, l’algoritmo aumenta in modo esponenziale la dimensione della finestra di congestione fino a quando: si verifica congestione (scade il timer di trasmissione di un segmento) la finestra di congestione raggiunge una dimensione di soglia (threshold) la finestra di congestione raggiunge la dimensione della finestra di trasmissione Protocolli di trasporto

Protocolli di trasporto Algoritmo slow start Il valore di threshold iniziale è pari a 64 KB, e la dimensione iniziale della finestra di congestione è pari alla massima dimensione di un segmento (M) ad ogni ricezione di un acknowledgement (senza timeout) per W byte: se la finestra di congestione è al di sotto del threshold, aggiungi W alla sua dimensione (generalmente raddoppia la dimensione) se la finestra di congestione è al di sopra del threshold, aggiungi M alla dimensione della finestra ad ogni timeout di un segmento: poni threshold a metà della dimensione della finestra di congestione imposta la dimensione della finestra di congestione a M Protocolli di trasporto

Indirizzo di porta del mittente Indirizzo di porta del destinatario TCP: segmento URG ACK PSH RST SYN FIN Richiesta di azzeramento connessione 4 byte Numero di sequenza (32 bit) Indirizzo di porta del mittente 16 bit Indirizzo di porta del destinatario (16 bit) Numero di riscontro Richiesta di push Urgent Pointer Valido HLEN (4 bit) (6bit) flag (6 bit) Dimensione della finestra (16 bit) Checksum (16 bit) Puntatore urgente (16 bit) Opzioni (sino a 40 byte) Protocolli di trasporto

Protocolli di trasporto FINE Protocolli di trasporto

Comunicazione processo - processo IP si occupa della comunicazione tra dispositivi Il messaggio deve giungere al processo  UDP e TCP p internet Dominio dei protocolli UDP e TCP Dominio del protocollo IP Protocolli di trasporto

Protocolli di trasporto Indirizzo di porta 13 25 80 Day time mail client www internet server 193.14.6.23 193.12.8.21 I protocolli TCP/IP usano numeri di porta compresi tra 0 e 65535 Gli host vengono individuati per mezzo del loro indirizzo IP I processi vengono individuati per mezzo del loro indirizzo di porta (Punti di destinazione astratti gestiti dal sistema operativo locale) Protocolli di trasporto

Indirizzi effimeri e ben conosciuti Day time mail client www internet server 13 25 80 Indirizzi Ben conosciuti (noti) Indirizzi effimeri 52000 0 – 1023 Indirizzi NOTI 49152 – 65535 Indirizzi effimeri DATI ? TCP/UDP 13 52000 Protocolli di trasporto

Protocolli di trasporto Indirizzi socket Se due client utilizzano allo stesso tempo lo stesso processo sul server ? 192.168.5.2 50000 Indirizzo Socket mail client 192.168.5.2 50000 10.235.14.76 Server 172.16.2.1 25 192.168.5.2:50000 172.16.2.1 : 25 10.235.14.76:50000 172.16.2.1 : 25 Protocolli di trasporto

Protocolli di trasporto Connessioni TCP/UDP identificano un “canale” di comunicazione con il nome di connessione Sono identificate dalla quadrupla: <IP client><IP server><Port client><Port Server> | 32 bit | 32 bit | 16 bit | 16 bit | Questa soluzione permette A molti client diversi di accedere allo stesso servizio sullo stesso server Allo stesso client di attivare più sessioni dello stesso servizio Viola il modello a layer informazioni di livello 4 mischiate con informazioni di livello 3 Protocolli di trasporto

Protocolli di trasporto Connessioni multiple Protocolli di trasporto

Server iterativi e concorrenti Modalità con le quali i server possono gestire le connessioni in ingresso Iterativi: esiste un solo thread server; gestisce la connessione seguente solo quando quella precedente è terminata Utilizzati spesso da servizi basati su UDP Concorrenti: esiste un “main” thread server, che si clona ogni volta che arriva una nuova connessione; possono essere servite più connessioni contemporaneamente Utilizzati spesso da servizi basati su TCP Protocolli di trasporto

Connessioni tra i processi: TCP Il processo invia i dati allo strato di trasporto TCP del mittente Collega mittente a destinatario Suddivide i dati in unità trasportabili (segmenti) Numera i segmenti e li trasmette uno a uno TCP del ricevente Attende fino alla completa ricezione Controlla e filtra i segmenti errati Consegna i dati al processo destinatario Chiude la connessione Protocolli di trasporto

Apertura della connessione (funzionamento del protocollo) Numero di sequenza Numero di riscontro ACK SYN FIN Triplice stretta di mani mittente destinatario tempo Numero di sequenza iniziale randomico 1 1200 4800 1201 1 1201 4801 1 Protocolli di trasporto

TRIPLICE STRETTA DI MANI Protocolli di trasporto

Chiusura della connessione della connessione Numero di sequenza Numero di riscontro ACK SYN FIN quadruplice stretta di mani mittente destinatario tempo 1 2500 7000 2501 1 7001 2501 1 2501 7002 1 Protocolli di trasporto

Quadruplice stretta di mani 3-way handshake modificato: l’host B può ancora voler trasmettere dei dati, anche se l’host A ha chiuso la connessione; quindi la chiusura della connessione (lato host B) può avvenire in un secondo tempo Protocolli di trasporto

Connessioni tra i processi: UDP UDP non invia messaggi di riscontro per notificare l’avvenuta ricezione UDP fornisce un servizio di consegna non affidabile senza connessione usando IP per trasportare i messaggi tra le macchine UDP introduce in aggiunta la capacità di distingure tra più destinazioni all’interno di un computer remoto Esercita un controllo di errore limitandosi a distruggere i pacchetti in cui individua l’errore Il segmento, pur non avendo subito danni, può finire nell’host sbagliato Pseudo - header HEADER DATI CHECKSUM Protocolli di trasporto

Protocolli di trasporto Il CHECKSUM di UDP UDP fa checksum anche sui dati del datagramma Dal momento che IP non calcola la sua checksum sui dati del datagramma, il cheksum di UDP è l’unico strumento di controllo che garantisce che i dati siano arrivati intatti La pseudo intestazione consente un controllo più accurato e viene realizzata con : Source ip address  4 ottetti Destination ip address  4 ottetti Codice di tipo protocollo  1 ottetto Lunghezza del datagramma ip  2 ottetti Zero  1 ottetto per rendere la pseudo intestazione multipla di 16 La pseudo intestazione non viene trasmessa A destinazione bisogna Estrarre i campi dell’intestazione da IP Assemblarli nel formato della pseudo istruzione Ricalcolare la somma di controllo Protocolli di trasporto

TCP: finistre scorrevoli 12 segmenti da trasmettere 1 2 3 4 5 6 7 8 9 10 11 12 Il mittente crea una finestra di invio impostata sulla sua massima dimensione (apertura della connessione) 1 2 3 4 5 6 1 2 3 4 5 6 ACK 1 2 3 4 5 6 7 8 9 10 11 12 3 4 5 6 7 8 1 2 3 4 5 6 7 8 ACK 9 1 2 Protocolli di trasporto

Considerazioni sulla “sliding window” Un semplice protocollo con conferma di ricezione spreca un enorma quantità di larghezza di banda perché ritarda l’invio di un nuovo pacchetto finchè non riceve una conferma di ricezione del pacchetto precedente Un protocollo a finestra di scorrimento mantiene la rete completamente satura di pacchetti ed ottiene una velocità di trasferimento maggiore rispetto ad un protocollo con conferma di ricezione Quando il mittente fa scorrere la finestra oltrepassa tutti i pacchetti confermati La finestra del ricevente divide la sequenza di pacchetti in tre insiemi Quelli a sinistra sono stati trasmessi con successo, ricevuti e la ricezione confermata Quelli a destra non sono stati ancora inviati Quelli che sono nella finestra stanno per essere inoltrati Protocolli di trasporto

Come garantire l’affidabilità ? Unica tecnica: Conferma di ricezione positiva con ritrasmissione : Il ricevente comunica con la sorgente inviando un messaggio ACK (ACKnowledgement) Il mittente tiene una registrazione per ogni pacchetto che invia e prima di inoltrare il successivo attende una conferma mittente destinatario tempo invio pacchetto 1 Ricezione pacchetto 1 Invio ACK 1 Ricezione ACK 1 Invio pacchetto 2 Ricezione pacchetto 2 Invio ACK 2 Ricezione ACK 2 Protocolli di trasporto

TCP: sequence number - acknowledgement 1 Seg. 1 Seg. 2 Seg. 3 Seg. 4 Dati suddivisi in unità trasportabili  segmenti Sequence number esprime un offset in byte che indica la posizione del primo byte ricevuto o spedito ACK esprime un offset in byte che indica la posizione del primo byte atteso Nel protocollo per questi due numeri sono usati 32 bit (0 a 232 - 1 quasi 4 Gbyte) Usare un offset offre il vantaggio di poter ricostruire nel buffer i segmenti arrivati anche in presenza di buchi Non tutti i segmenti sono della medesima lunghezza (in telnet ad esempio dipende dall’utente) Protocolli di trasporto

TCP:consegna garantita 5 Seg. 2 Seg. 3 Seg. 4 2 Seg. 1 Seg. 3 Seg. 4 6 Ack 5 3 Ack 2 1 Seg. 1 Seg. 2 Seg. 3 Seg. 4 4 Seg. 2 Seg. 3 Seg. 4 Protocolli di trasporto

Timeout e ritrasmissione mittente destinatario tempo invio pacchetto 1 Avvio del timer Il pacchetto dovrebbe arrivare ACK 1 non ricevuto Timer scade Ritrasmissione pacchetto 1 Avvio del timer Ricezione pacchetto 1 Invio ACK 1 Ricezione ACK 1 Annullamento del timer Protocolli di trasporto