TCP Transmission Control Protocol. Programmazione II: Programmazione su Reti -- Prof. G. Persiano 2 TCP TCP fornisce un servizio di connessione –orientato.

Slides:



Advertisements
Presentazioni simili
Le reti informatiche Maiocchi Mattia Sozzoni Marcella Porcari Beatrice
Advertisements

Il livello di trasporto
Tiziana FerrariCorso di Telematica, Anno Acc. 2000/20011 TCP: Transport Control Protocol Tiziana Ferrari, INFN-CNAF
Network Musical Performance: RTP MIDI
Italo Losero S tray B ytes strane cose succedono nelle reti....
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.
1 System Call per Comunicazione tra Processi Pipe.
Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS.
Programmazione socket
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.
Esercitazione con socket
Come programmare servizi di rete?
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
Prof. Bruno Ciciani Facoltà di Ingegneria Università di Roma La Sapienza Determinazione del tempo di servizio (trasferimento) di un messaggio trasmesso.
Trasporto affidabile (principi) Di fondamentale importanza negli strati applicativi, di trasporto e di collegamento! Le caratteristiche del canale determinano.
I protocolli TCP/UDP prof.: Alfio Lombardo.
Internet Control Message Protocol rfc. Error Reporting Testing di affidabilità Controllo di congestione Notifica di route-change Misurazione di performance.
Il livello di trasporto
Reti di Calcolatori IL LIVELLO RETE.
Reti di Calcolatori IL LIVELLO RETE.
Reti di Calcolatori IL LIVELLO TRASPORTO Protocolli TCP e UDP.
Reti di Calcolatori MODELLI ISO/OSI e TCP/IP.
ICMP - PING - TRACEROUTE
Il modulo ISO-ILL di ALEPH 500
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.
Introduzione al controllo derrore. Introduzione Quando dei dati vengono scambiati tra due host, può accadere che il segnale venga alterato. Il controllo.
Modulo n – U.D. n – Lez. n Nome Cognome – titolo corso.
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)
Corso di Reti di Calcolatori A.A Prof. D. Rosaci
L’architettura a strati
A cura di Stefano Scarpellini
Nemesi Creazione e pubblicazione di una rivista online tramite l’utilizzo di Java Message Service.
Greco Rodolfo 2002 Application Trasport Network Phisic HTTP IP UDPTCP DNS SNAP MAC ARP L’utente fa una richiesta di pagina.
Livello di trasporto Protocolli TCP e UDP.
1 Sistemi e Tecnologie della Comunicazione Lezione 22: transport layer: introduzione, funzionalita’
1 Sistemi e Tecnologie della Comunicazione Lezione 13: data link layer: protocolli go-back-n e selective reject; esempi: HDLC, PPP.
Consuntivo corso Reti diCalcolatori Reti di Calcolatori (F1I063) Docente Luigi Vetrano Durata Ore di lezione56 di cui, ore di.
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.
Fast Retransmit. Fast Retransmit (1) Altri indizi di perdite oltre il timeout: possiamo interpretare il verificarsi di sequenze di 4 ACK per lo stesso.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 6 -User Datagram Protocol Ernesto Damiani Lezione 1 – UDP.
Sistemi di elaborazione dell’informazione Modulo 4 - Tecniche di programmazione distribuita Unità didattica 1 -Socket library Ernesto Damiani Lezione 2.
Sistemi di elaborazione dell’informazione Modulo 4 - Tecniche di programmazione distribuita Unità didattica 1 -Socket library Ernesto Damiani Lezione 4.
Reti di Calcolatori LS - Fabio Poli 15 Giugno 2006 Sviluppo di un player di Campo Minato multigiocatore con supporto di Chat MultiCast.
Controllo di congestione avanzato. Controllo della congestione TCP Prima del 1988, solo controllo del flusso! TCP Tahoe 1988 − TCP con Slow Start, Congestion.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 7 -Instradamento dinamico Ernesto Damiani Lezione 4 – OSPF.
Controllo congestione. Controlli: della congestione e di flusso Problema Controllo della congestione Evitare che più mittenti inseriscano troppi dati.
Controllo di flusso TCP. Elementi base del flusso TCP (1) Comunicazione punto-punto Un mittente, un destinatario. Flusso di byte affidabile Flusso suddiviso.
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.
Software di Packet-Filtering e Port-Filtering su reti TCP/IP Come filtrare il traffico di rete in transito sulle interfacce presenti, frapponendosi tra.
LORENZO PARISI CLASSE V LSA GARDASCUOLA AS Computer networks.
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:
Prof. Guido Russo 1 Il livello di trasporto prof. G. Russo
1 Il livello transport. Concetti fondamentali - Canale logico e canale fisico 2 Quando un segnale deve essere trasmesso, viene inviato su un Canale, cioè.
Prof. G.Mastronardi1 IL PROBLEMA DEL “DENIAL of SERVICE” Politecnico di Bari – Sicurezza dei Sistemi Informatici -
FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A RETI DI CALCOLATORI Il livello.
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:

TCP Transmission Control Protocol

Programmazione II: Programmazione su Reti -- Prof. G. Persiano 2 TCP TCP fornisce un servizio di connessione –orientato alla connessione due applicazioni che usano TCP devono stabilire una connessione prima di poter scambiare dati. –stream di byte non vengono inseriti delimitatore di record o datagrammi –affidabile

Programmazione II: Programmazione su Reti -- Prof. G. Persiano 3 Affidabilità di TCP TCP spezza i dati in segmenti. Per ogni segmento spedito viene tenuto un timer e viene atteso un acknowledgment. Se non perviene in tempo il segmento viene rispedito. Quando TCP riceve un segmento spedisce un acknowledgment (ritardo di qualche frazione di secondo)

Programmazione II: Programmazione su Reti -- Prof. G. Persiano 4 Affidabilità di TCP TCP calcola checksum su dati e header. –Se il checksum risulta errato il segmento viene scartato e non ne viene dato lacknowledgment. Segmenti TCP sono incapsulati allinterno di datagrammi IP. –TCP riordina i segmenti arrivati non in ordine. –TCP scarta i segmenti duplicati.

Programmazione II: Programmazione su Reti -- Prof. G. Persiano 5 Affidabilità di TCP TCP effettua controllo del flusso –Ogni parte permette allaltra di spedire tanti dati quanti possono essere memorizzati nel buffer.

Programmazione II: Programmazione su Reti -- Prof. G. Persiano 6 Formato dellheader di TCP Sequence number: –identifica il numero di ordine del primo byte della porzione dati del segmenti relativamente al flusso di dati dal mittente al ricevente. – quando la connessione viene stabilita il segmento ha il flag SYN settato e il sequence number contiene linitial sequence number.

Programmazione II: Programmazione su Reti -- Prof. G. Persiano 7 Formato header di TCP Il campo acknowledgement number contiene il prossimo sequence number che il mittente del segmento si aspetta di ricevere.

Programmazione II: Programmazione su Reti -- Prof. G. Persiano 8 Stabilire una connessione TCP 1La parte richiedente (client) manda un segmento contente il flag SYN ed linitial sequence number (ISN). 2Il server risponde con il suo segmento SYN contente il suo ISN e manda un ACK del primo segmento. 3Il client invia un ACK per lISN + 1 del server.

Programmazione II: Programmazione su Reti -- Prof. G. Persiano 9 Stabilire connessione TCP La parte che manda il primo segmento di SYN compie una open attiva. ISN deve essere incrementato di uno ogni 4 microsecondi. Ogni volta che una connessione è aperta ISN viene incrementato di 64000

Programmazione II: Programmazione su Reti -- Prof. G. Persiano 10 Terminazione di una connessione TCP Una connessione è chiusa dallinvio di un segmento con flag FIN settato. Una connessione TCP è full-duplex –dati scorrono indipendentemente in entrambe le direzioni. E possibile chiudere ciascuna direzione indipendentemente.

Programmazione II: Programmazione su Reti -- Prof. G. Persiano 11 Maximum Segment Size MSS è la dimensione del più grosso blocchi di dati che una parte di una connessione TCP invierà. Ogni parte rende nota la sua MSS come opzione nel segmento SYN. E usata per limitare il ricorso alla frammentazione dei datagrammi IP.

Programmazione II: Programmazione su Reti -- Prof. G. Persiano 12 Esempio di half-close rsh bsdi sort < datafilersh bsdi sort < datafile –rsh –rsh apre una connessione con il processo che esegue il sort sullhost bsdi. –datafile –datafile è copiato sulla connesione. –loutput della connessione è dato in output. –sort –sort non può iniziare fino a quando non sono arrivati tutti i dati. – rsh – rsh effettua una half-close per segnalare la fine dei dati.

Programmazione II: Programmazione su Reti -- Prof. G. Persiano 13 Maximum Segment Size Un valore alto di MSS permette la creazione di grossi segmenti però incorre nel rischio di frequenti frammentazioni. MSS dovrebbe essere non più grande della MTU dellinterfaccia di uscita meno il numero di byte minimi per header IP e TCP. –Ethernet: 1460 byte. Per connessioni non locali, MSS è posto uguale a 536.

Programmazione II: Programmazione su Reti -- Prof. G. Persiano 14 Stato TIME_WAIT Anche chiamato stato 2MSL. –MSL è la massima vita di un segmento TCP; RFC793 specifica un valore di 2 minuti per MSL. Se TCP effettua una chiusura attiva, ed invia lultimo ACK, deve restare in TIME_WAIT per 2MSL per essere sicuro che lultimo ACK è arrivato.

Programmazione II: Programmazione su Reti -- Prof. G. Persiano 15 Aperture simultanee E possibile che due applicazioni compiano una open attiva simultaneamente. In questo caso TCP considera aperta una sola connessione