Telematica di Base. IL Livello di Trasporto TCP
|
|
|
- Eugenia Giulia Sorrentino
- 9 anni fa
- Просмотров:
Транскрипт
1 Telematica di Base IL Livello di Trasporto TCP
2 TCP RFCs: 793, 1122, 1323, 2018, 2581 point-to-point: Un sender, un receiver affidabile protocollo di tipo pipeline: Meccanismi per evitare la congestione, controlflow buffers full duplex: Canali di trasmissione bidirezionali MSS: maximum segment size connection-oriented: handshaking iniziale flow controlled 05/04/06 2
3 TCP s o c k e t d o o r a p p l i c a t i o n w r i t e s d a t a T C P s e n d b u f f e r s e g m e n t a p p l i c a t i o n r e a d s d a t a T C P r e c e i v e b u f f e r s o c k e t d o o r 05/04/06 3
4 Il segmento TCP Connessione: (SrcPort, SrcIPAddr, DsrPort, DstIPAddr) window + flow control acknowledgment, SequenceNum, RcvdWindow Data (SequenceNum) Sender Receiver Flags SYN, FIN, RESET, PUSH, URG, ACK Checksum TCP header + data Acknowledgment + RcvdWindow 05/04/06 4
5 URG: urgent data (generally not used) ACK: ACK # valid PSH: push data now (generally not used) RST, SYN, FIN: connection estab (setup, teardown commands) Internet checksum (as in UDP) 32 bits source port # dest port # head len sequence number acknowledgement number not used UAP R S F checksum rcvr window size application data (variable length) ptr urgent data Options (variable length) counting by bytes of data (not segments!) # bytes rcvr willing to accept 05/04/06 5
6 TCP: seq number & ACK Sequence Number: ACK: l indirizzo del primo byte del segmento dei dati seq # del byte che si aspetta di ricevere User types C host ACKs receipt of echoed C Host A Seq=42, ACK=79, data = C Host B Seq=42, ACK=79, data='c' Seq=79, ACK=43, data='c' Seq=43, ACK=80, data='c' host ACKs receipt of C, echoes back C simple telnet scenario time 05/04/06 6
7 TCP: Trasferimento wait for event Affidabile event: data received from application above create, send segment event: timeout for segment with seq # y retransmit segment Versione Semplificata Trasferimento unidirezionale Nessun meccanismo per il controllo del flusso e della congestione event: ACK received, with ACK # y ACK processing 05/04/06 7
8 00 sendbase = initial_sequence number 01 nextseqnum = initial_sequence number loop (forever) { 04 switch(event) 05 event: data received from application above 06 create TCP segment with sequence number nextseqnum 07 start timer for segment nextseqnum 08 pass segment to IP 09 nextseqnum = nextseqnum + length(data) 10 event: timer timeout for segment with sequence number y 11 retransmit segment with sequence number y 12 compute new timeout interval for segment y 13 restart timer for sequence number y 14 event: ACK received, with ACK field value of y 15 if (y > sendbase) { /* cumulative ACK of all data up to y */ 16 cancel all timers for segments with sequence numbers < y 17 sendbase = y 18 } 19 else { /* a duplicate ACK for already ACKed segment */ 20 increment number of duplicate ACKs received for y 21 if (number of duplicate ACKS received for y == 3) { 22 /* TCP fast retransmit */ 23 resend segment with sequence number y 24 restart timer for segment y 25 } 05/04/06 26 } /* end of loop forever */ 8 TCP: Sender Pseudo Codice
9 TCP: esempi di trasmissione Host A Host B Host A Host B timeout X loss Seq=92, 8 bytes data ACK=100 Seq=92, 8 bytes data Seq=100 timeout Seq=92 timeout Seq=92, 8 bytes data Seq=100, 20 bytes data ACK=100 ACK=120 Seq=92, 8 bytes data ACK=100 ACK=120 Perdita di un ACK ACK cumulativo 05/04/06 9
10 Host A Host B Seq=92, 8 bytes data timeout X loss ACK=100 Seq=100, 20 bytes data ACK=120 ACK cumulativo 05/04/06 10
11 Commenti ACK cumulativo Sender Sendbase = più piccolo numero di sequenza dei segmenti trasmessi ma di cui non si è ancora ricevuto ACK Nextseqnum = numero di sequenza del prossimo dato da inviare 05/04/06 11
12 TCP Timeout Problema: come definire il valore del timeout? Maggiore del RTT TO = RTT + Delay Delay piccolo: Trasmissioni non necessarie Delay grande: problemi con la perdita di segmenti Problema: come si determina il valore per RTT? SampleRTT: definisce la misura del tempo che occorre tra la trasmissione di un segmento e la ricezione dell' ACK SampleRTT varia dinamicamente (congestione, traffico della rete) 05/04/06 12
13 TCP: gestione della connessione Sender e receiver definiscono la connessione: inizializzazione dei seq. #s buffers flow control (RcvWindow) 05/04/06 13
14 Three way handshake: Step 1: client invia al server TCP SYN (segmento di controllo) Definisce il valore iniziale seq # Step 2: server riceve SYN, ed invia un segmento di controllo SYNACK ACK del SYN Allocazione dei buffers Definisce receiver seq. # iniziale 05/04/06 14
15 Gestione della connessione Step 3: Cliente riceve SYNACK: Allocazione dei buffers Invio al server di un segmento di controllo SYN = 0 ACK = server_isn+1 05/04/06 15
16 Gestione della connessione Active participant (client) Passive participant (server) SYN, SequenceNum = x SYN + ACK, SequenceNum = y Acknowledgment = x + 1 ACK, Acknowledgment = y /04/06 16
17 Host A Host B SYN=1, seq=client_isn SYN=1, seq=server_isn SYN=0, seq=client_isn+1 05/04/06 17
18 Chiusura della connessione client server Step 1: client invia al server TCP FIN (segmento di controllo) (FIN = 1) close FIN ACK FIN close Step 2: server riceve FIN, ed invia un ACK. Poi invia un segmento FIN per chiudere la connessione (close) timed wait closed ACK 05/04/06 18
19 Chiusura di una connessione Step 3: client riceve FIN, ed invia un ACK. closing client FIN server Attiva un timeout Step 4: server riceve ACK. ACK FIN closing timed wait closed ACK closed 05/04/06 19
20 TCP Connection Management TCP server lifecycle TCP client lifecycle 05/04/06 20
Livello di trasporto: meccanismi trasferimento dati affidabile, TCP
Livello di trasporto: meccanismi trasferimento dati affidabile, TCP Gaia Maselli Queste slide sono un adattamento delle slide fornite dal libro di testo e pertanto protette da copyright. - Copyright 2013
Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I
Corso di Laurea in Ingegneria Informatica Corso di Reti di Calcolatori I Roberto Canonico ([email protected]) Giorgio Ventre ([email protected]) Il protocollo TCP I lucidi presentati al corso
Livello di trasporto e TSAP
Reti di Telecomunicazioni R. Bolla, L. Caviglione, F. Davoli Livello di trasporto e TSAP Three-way handshake Incarnation numbers TCP e UDP 39.2 Sessione T_CONNECT, T_DISCONNECT T_DATA, T_EXP_DATA T_UNITDATA
Strato di trasporto. Livello di applicazione SAP. Livello di trasporto. Livello di rete SAP
Strato di trasporto Lo strato di trasporto si colloca al livello 4 dello strato ISO-OSI e svolge il compito di mettere in comunicazione diversi processi software. La comunicazione tra applicazioni avviene
TCP: trasmissione Source port [16 bit] - Identifica il numero di porta sull'host mittente associato alla connessione TCP. Destination port [16 bit] - Identifica il numero di porta sull'host destinatario
I protocolli UDP e TCP
I protocolli UDP e TCP Corso di Reti di Telecomunicazione a.a. 2013/14 - Ingegneria Elettronica e delle Telecomunicazioni - Ingegneria Informatica e dell Automazione - - Ing. G. Boggia Protocolli di trasporto:
TCP. Servizio di Trasporto Affidabile. Transmission Control Protocol. Caratteristiche di TCP 1
TCP a.a. 2002/03 Prof. Vincenzo Auletta [email protected] http://www.dia.unisa.it/~auletta/ Servizio di Trasporto Affidabile Il livello di trasporto deve fornire un servizio di consegna orientato alla
IL LIVELLO TRASPORTO Protocolli TCP e UDP
Reti di Calcolatori ed Internet IL LIVELLO TRASPORTO Protocolli TCP e UDP 5-1 Il Livello Trasporto I servizi del livello Trasporto Le primitive di Trasporto Indirizzamento Protocolli di Trasporto Livello
IL LIVELLO TRASPORTO Protocolli TCP e UDP
Reti di Calcolatori IL LIVELLO TRASPORTO Protocolli TCP e UDP D. Talia RETI DI CALCOLATORI - UNICAL 5-1 Il Livello Trasporto I servizi del livello Trasporto Le primitive di Trasporto Indirizzamento Protocolli
Introduzione (parte III)
Introduzione (parte III) Argomenti della lezione Ripasso degli argomenti del primo corso: il livello di trasporto, il meccanismo di controllo delle congestioni e le applicazioni Il livello di trasporto
Reti di calcolatori TCP/IP. Slide a cura di Simon Pietro Romano
Reti di calcolatori TCP/IP Slide a cura di Simon Pietro Romano [email protected] Il livello rete Stack ISO/OSI Applicazione Presentazione Sessione Trasporto Rete Data Link Fisico Corso di Tecnologie dei
Lezione n.3 LIVELLO TRASPORTO
Università degli Studi di Pisa Lezione n.3 SSIS INFORMATICA LIVELLO TRASPORTO 30/11/2007 Laura Ricci Laura Ricci 1 LIVELLO TRASPORTO realizza un supporto per la comunicazione logica tra processi distribuiti
Application Layer DNS, TELNET
Application Layer DNS, TELNET DNS: Domain Name System The Domain Name System is a hierarchical distributed database. It stores information for mapping Internet host names to IP addresses and vice versa,
4 - Il livello di trasporto
Università di Bergamo Dipartimento di Ingegneria Gestionale e dell Informazione 4 - Il livello di trasporto Architetture e Protocolli per Internet Servizio di trasporto il livello di trasporto ha il compito
Il livello trasporto Protocolli TCP e UDP
Il livello trasporto Protocolli TCP e UDP Standard: OSi vs TCP/IP Application Presentation Session NFS XDR RPC Telnet, FTP SMTP, HTTP SNMP, DNS RTP,... Protocolli per la comunicazione tra applicativi:
API Socket di Berkeley
Laboratorio Reti di Calcolatori (A.A. 2008-2009) Programmazione di rete ed interfaccia API socket di Berkeley Delfina Malandrino [email protected] http://www.dia.unisa.it/professori/delmal/ API Socket
Soluzione dell esercizio 2 (TCP) dell esame del 16 giugno 2015
Soluzione dell esercizio 2 (TCP) dell esame del 16 giugno 2015 La soluzione di questo esercizio per quanto riguarda la parte di perdita di pacchetti è data assumendo l'algoritmo di FAST RECOVERY, ossia
J+... J+3 J+2 J+1 K+1 K+2 K+3 K+...
Setup delle ConnessioniTCP Una connessione TCP viene instaurata con le seguenti fasi, che formano il Three-Way Handshake (perchè formato da almeno 3 pacchetti trasmessi): 1) il server si predispone ad
Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 7 Febbraio 2005, ore 15.00
Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 7 Febbraio 2005, ore 15.00 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome: Nome:
4 - Il livello di trasporto
Università di Bergamo Dipartimento di Ingegneria dell Informazione e Metodi Matematici 4 - Il livello di trasporto Architetture e Protocolli per Internet 1 Servizio di trasporto il livello di trasporto
Funzioni del protocollo TCP
Funzioni del protocollo TCP Prof. Ing. Carla Raffaelli Anno accademico 2004-2005 Il TCP Il TCP e un protocollo orientato alla connessione utilizzato per gestire il trasferimento end-to-end di informazioni
TCP/IP: summary. Lorenzo Cavallaro, Andrea Lanzi
Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Informatica December 7, 2004 Sommario 1 La suite di protocolli TCP/IP Layer 2 3 4 5 6 Sommario 1 La
Transmission Control Protocol
Transmission Control Protocol Franco Callegati Franco Callegati IC3N 2000 N. 1 Transmission Control Protocol - RFC 793 Protocollo di tipo connection-oriented Ha lo scopo di realizzare una comunicazione
Capitolo 3 Livello di trasporto
Capitolo 3 Livello di trasporto Nota per l utilizzo: Abbiamo preparato queste slide con l intenzione di renderle disponibili a tutti (professori, studenti, lettori). Sono in formato PowerPoint in modo
Livello trasporto in Internet
Livello trasporto in Internet Livello trasporto in Internet Due protocolli di trasporto alternativi: TCP e UDP Modelli di servizio diversi TCP orientato alla connessione, affidabile, controllo di flusso
Transmission Control Protocol (TCP) Andrea Detti
Transmission Control Protocol (TCP) Andrea Detti Transmission Control Protocol (TCP) Trasferisce un flusso informativo bi-direzionale non strutturato tra due host ed effettua operazioni di multiplazione
Livello trasporto. Servizi del livello trasporto
ivello trasporto Servizi Multiplexing e demultiplexing Trasporto senza connessione: UDP Principi di trasferimento affidabile Trasporto orientato alla connessione: TCP Struttura del segmento Trasferimento
CORSO DI RETI SSIS. Lezione n.3 9 novembre 2005 Laura Ricci
CORSO DI RETI SSIS Lezione n.3 9 novembre 2005 Laura Ricci IL LIVELLO TRASPORTO realizza un supporto per la comunicazione logica tra processi distribuiti comunicazione logica = astrazione che consente
