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.

Slides:



Advertisements
Presentazioni simili
Prof. Carla Fanchin – L.S. Tron
Advertisements

Il livello di trasporto
Tiziana FerrariCorso di Telematica, Anno Acc. 2000/20011 TCP: Transport Control Protocol Tiziana Ferrari, INFN-CNAF
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
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.
Esercizio 1 Si consideri un canale via satellite della capacità di 2 Mb/s. Considerando che il tempo di propagazione attraverso un satellite geostazionario.
La rete del futuro nellautonomia scolastica Sezione propedeutica I fondamentali e concetti di TCP/IP.
Esercizio 1 Si consideri un canale via satellite della capacità di 2 Mb/s. Considerando che il tempo di propagazione attraverso un satellite geostazionario.
Reti di Calcolatori Domande di riepilogo Quarta Esercitazione
Capitolo 3 Livello di trasporto
Programmazione su Reti
Programmazione su Reti
Trasporto affidabile (principi) Di fondamentale importanza negli strati applicativi, di trasporto e di collegamento! Le caratteristiche del canale determinano.
Il livello di trasporto
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 DI CALCOLATORI Parte Settima
Reti di Calcolatori IL LIVELLO RETE.
Reti di Calcolatori IL LIVELLO TRASPORTO Protocolli TCP e UDP.
I protocolli di trasporto per multimedia RTP e RTCP
ICMP - PING - TRACEROUTE
Progetto di una architettura per lesecuzione distribuita e coordinata di azioni Progetto per lesame di Reti di Calcolatori L-S Prof. Antonio Corradi Finistauri.
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.
I protocolli TCP/UDP prof.: Alfio Lombardo.
Modulo 2 - U.D. 3 - L.4 Ernesto Damiani - Sistemi di eleborazione dell'informazione.
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
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
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.
Complementi sul controllo d’errore (parte III). Selective Repeat (richiesta esplicita) Come nello schema Idle RQ, per velocizzare la ritrasmissione di.
UNIVERSITA’ DEGLI STUDI DI ROMA “TOR VERGATA”
Modulo 2 - U.D. 5 - L.3 (parte II)
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.
Controllo di congestione avanzato. Controllo della congestione TCP Prima del 1988, solo controllo del flusso! TCP Tahoe 1988 − TCP con Slow Start, Congestion.
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.
Silvia Pasqualotto e Giulia Nanino
LORENZO PARISI CLASSE V LSA GARDASCUOLA AS Computer networks.
1 Sistemi e Tecnologie della Comunicazione Lezione 13: data link layer: protocolli go-back-n e selective reject; esempi: HDLC, PPP.
Applicazione Presentazione Sessione Trasporto Rete Data link Fisico OSI Processo / Applicazione Trasporto Rete- Internet Interfaccia di.
Firewalling. A che serve un firewall? Rende accessibili all’esterno solo i servizi che veramente vogliamo pubblicare Impedire agli utenti della rete.
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è.
Sezione propedeutica I fondamentali e concetti di TCP/IP.
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.
Socket programming in Java La realizzazione di un server in Java consente di scrivere una sola versione eseguibile su diverse piattaforme. Il linguaggio.
II PROVA Svolgimento tramite protocollo ISO/OSI. I LIVELLO : LIVELLO FISICO Scelta del mezzo fisico; tenere conto degli standard IEEE Procedura di codifica.
Raccogliere informazioni ALCUNE DOMANDE FONDAMENTALI È stato modificato qualche componente HW o SW? Il sintomo si presenta regolarmente o ad intermittenza?
Socket programming in Java La realizzazione di un server in Java consente di scrivere una sola versione eseguibile su diverse piattaforme. Il linguaggio.
Ing. L. A. Grieco DEE – Telematics Lab. 1 Protocolli UDP e TCP – Telematica I – - I Facoltà di Ingegneria – CdL in Ingegneria Informatica.
Transmission Control Protocol: TCP
Il Livello di Trasporto
Transcript della presentazione:

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 r I pacchetti possono morire, per tre possibili motivi: rCongestione della rete, congestione della destinazione, corruzione dei pacchetti 2. Ciò che parte non arriva sempre nello stesso ordine

Realizzato da Roberto Savino 3-2 UDP UDP Risolve solo i problemi di corruzione dei pacchetti, e vi da la possibilità di differenziare il traffico per numero di porta. DNS usa UDP.

Realizzato da Roberto Savino 3-3 ICMP r E un protocollo senza numero di porta r I suoi pacchetti vengono intercettati e processati prima di essere smistati a un socket r Ping fa uso di ICMP, per misurare il round trip time, ma anche, in teoria, per controllare altri parametri di TCP. E un protocollo di servizio r I pacchetti ICMP contengono un codice messaggio, una checksum ed eventuali dati.

Realizzato da Roberto Savino 3-4 Come è connesso TCP/UDP/ICMP allo strato applicazione r Sullo strato applicazione ci sono funzioni di libreria per aprire, chiudere, scrivere e leggere da socket r Sul livello trasporto cè una libreria del sistema operativo (detta STACK TCP/IP) che si occupa di sbucciare e smistare i messaggi in base ai numeri di porta e al protocollo utilizzato.

Realizzato da Roberto Savino 3-5 Comunicazione TCP: Passo 1 r Due interlocutori, messi in comunicazione con un canale inaffidabile (i pacchetti possono sparire o arrivare corrotti, o addirittura in ritardo)

Realizzato da Roberto Savino 3-6 Stop & Wait r Prima soluzione: protocollo stop & wait m Conferma di ogni pacchetto m La mancata conferma viene rilevata tramite time-out m Numeri di sequenza m Inefficiente

Realizzato da Roberto Savino 3-7 Comunicazione TCP: passo 2 r Protocolli a finestra scorrevole r Go Back N, Selective Repeat r Finestra dinamica r Esempio sul sito : m plets/go-back-n/go-back-n.html m er/SWP5.html

Realizzato da Roberto Savino 3-8 Protocolli pipeline (a finestra scorrevole) Pipelining: ci possono essere più pacchetti in volo, ancora da essere confermati m Più complesso m Gestione dei buffer sofisticata r Due forme di protocolli sliding window: go-Back-N, selective repeat

Realizzato da Roberto Savino 3-9 Ripetizione selettiva r I pacchetti corretti sono confermati INDIVIDUALMENTE m I pacchetti sono conservati in attesa che possano essere rilasciati in ordine r Il mittente rimanda solo I pacchetti non confermati m Cè un timer per ogni pacchetto in volo r Finestra del mittente m Range di numeri attivi

Realizzato da Roberto Savino 3-10 Ripetizione selettiva Ci sono dati nel buffer: r Mandali Timeout(n): r Rimanda il pacchetto n ACK(n) in [sendbase,sendbase+N]: r marca n come OK r Nel caso sposta la finestra in avanti di 1 sender pkt n in [rcvbase, rcvbase+N-1] r manda ACK(n) r Fuori ordine? Conserva r In ordine: consegna e sposta la finestra in avanti pkt n in [rcvbase-N,rcvbase-1] r ACK(n) (duplicato che non sembra confermato) altrimenti: r ignora receiver

Realizzato da Roberto Savino 3-11 TCP segment structure source port # dest port # 32 bits application data (variable length) sequence number acknowledgement number Receive window Urg data pnter checksum F SR PAU head len not used Options (variable length) URG: Dati urgenti (non usato) ACK: Questo segmento trasporta un ACK PSH: dati ad alta priorità RST, SYN, FIN: Gestione Connessione Numero di byte che si è disposti ad accettare al massimo valori espressi in byte (non in numero di segmento) Checksum (come in UDP)

Realizzato da Roberto Savino 3-12 TCP Connection Management TCP necessità di aprire una connessione prima di trasmettere r Bisogna inizializzare le variabili: m Numeri di sequenza m Allocare I buffer, e la finestra di ricezione r client: colui che apre la connessione Socket clientSocket = new Socket("hostname","port number"); r server: colui che è contattato Socket connectionSocket = welcomeSocket.accept(); Handshake a tre vie: Step 1: Il client manda un TCP SYN al server m Indica il suo numero di seq. iniziale m no dati Step 2: Il server riceve la richiesta, replica con un pacchetto SYN/ACK m Specifica il suo numero di partenza m Alloca I suoi buffer (per sfortuna) Step 3: Il client riceve SYN/ACK, risponde con un ACK, che può contenere dati

Realizzato da Roberto Savino 3-13 Diagramma a stati TCP client lifecycle TCP server lifecycle

Realizzato da Roberto Savino 3-14 Come TCP decide il tempo di time- out D: come impostare questo valore? r deve essere più grande di RTT, ma non troppo m ma RTT varia r troppo corto: troppi falsi time-out m inutili ritrasmissioni r troppo lungo: reazione lenta alla perdita di un segmento D: Come stimare RTT? SampleRTT : tempo misurato di volta in volta tra una trasmissione e la ricezione dellACK corrispondente m Calcolato senza considerare casi di ritrasmissione SampleRTT è molto variabile è preferibile farne una media, senza usare solo il SampleRTT corrente.

Realizzato da Roberto Savino 3-15 Controllo di flusso r Ogni ricevitore ha un buffer di ricezione: r Lo svuotamento può essere più lento del flusso di arrivo Il mittente si controlla per non affogare il destinatario flow control

Realizzato da Roberto Savino 3-16 Come funziona il controllo di flusso (Per comodità supponiamo i segmenti fuori ordine non vengano conservati) Spazio libero nel buffer = RcvWindow = RcvBuffer-[LastByteRcvd - LastByteRead] r Il ricevitore comunica lo spazio libero usando il campo RcvWindow Il mittente non eccede mai il numero di byte in volo rispetto al valore di RcvWindow m Il buffer di ricezione non andrà mai in overflow