Transmission Control Protocol



Documenti analoghi
I protocolli UDP e TCP

4 - Il livello di trasporto

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

Reti di Telecomunicazione Lezione 6


Il livello trasporto Protocolli TCP e UDP

Standard: OSi vs TCP/IP. Il livello di trasporto. TCP e UDP. TCP: Transmission Control Protocol. TCP: funzionalità

Reti di Telecomunicazione Lezione 8

Standard di comunicazione

Dal protocollo IP ai livelli superiori

12.5 UDP (User Datagram Protocol)

Protocolli di Comunicazione

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+...

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

DOMOTICA ED EDIFICI INTELLIGENTI UNIVERSITA DI URBINO

PARTE 1 richiami. SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

MODELLI ISO/OSI e TCP/IP

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

Prova in itinere - Rete Internet (ing. Giovanni Neglia) Mercoledì 23 Maggio 2007, ore 15.00

IL LIVELLO TRASPORTO Protocolli TCP e UDP

I canali di comunicazione

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Informatica per la comunicazione" - lezione 8 -

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 7 Febbraio 2005, ore 15.00

Introduzione (parte III)

Introduzione alle applicazioni di rete

Strato 4 (Transport Layer) Protocolli TCP e UDP

Livello Trasporto. Liv. Applic. Liv. Transport. Transport Entity. Liv. Network. Trasporto

IL LIVELLO TRASPORTO Protocolli TCP e UDP

InterNet: rete di reti

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Reti di Calcolatori. Il software

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Reti di Telecomunicazione Lezione 7

Sicurezza delle reti. Monga. Il livello di trasporto. Problemi di sicurezza intrinseci. Riassunto. Porte. Sicurezza delle reti.

Informatica per la comunicazione" - lezione 9 -

Reti di Calcolatori. Il Livello delle Applicazioni

Reti di Calcolatori. una rete di calcolatori è costituita da due o più calcolatori autonomi che possono interagire tra di loro una rete permette:

SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

Livello Trasporto Protocolli TCP e UDP

Gestione della Connessione in TCP

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

I Socket. Laboratorio Software M. Grotto R. Farina

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Protocolli applicativi: FTP

OSOR. Applicazioni di Rete

Livello di Trasporto

L architettura di TCP/IP

ICMP OSI. Internet Protocol Suite. Telnet FTP SMTP SNMP TCP e UDP NFS. Application XDR. Presentation. Session RPC. Transport.

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 2 Marzo 2005, ore 14.30

Reti diverse: la soluzione nativa

Lo strato di Trasporto

Reti. Reti e interconnessione di reti - Internetwork WAN 1 WAN 1. Router multiprotocollo (gateway) Terminologia

ACCESS LIST. Pietro Nicoletti

Reti di Calcolatori. Corso di Informatica. Reti di Calcolatori. Reti di Calcolatori. Corso di Laurea in Conservazione e Restauro dei Beni Culturali

Lo scenario: la definizione di Internet

Introduzione alla rete Internet

Router(config)# access-list access-list number {permit deny} {test-conditions}

Reti di Calcolatori in Tecnologia IP

Topologia delle reti. Rete Multipoint: ogni nodo è connesso agli altri tramite nodi intermedi (rete gerarchica).

Tecnologie di Sviluppo per il Web

Cenni di programmazione distribuita in C++ Mauro Piccolo

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 1

Uso di UDP per client-server UDP. Porte e multiplexing. TCP e UDP. Connessione TCP (o messaggio UDP) Caratteristiche delle porte TCP e UDP

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

Internet e protocollo TCP/IP

Inizializzazione degli Host. BOOTP e DHCP

Modello OSI e architettura TCP/IP

Capitolo 1 - parte 1. Corso Reti ed Applicazioni Mauro Campanella

Il firewall Packet filtering statico in architetture avanzate

Didattica dell informatica 1

Page 1. Elementi Base del Modello OSI. Il modello di riferimento ISO/OSI OSI: Open Systems Interconnection. Struttura a Livelli.

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 2 a lezione a.a. 2009/2010 Francesco Fontanella

Il livello di Trasporto del TCP/IP

Introduzione. Scansione dei servizi di rete. Le porte (1) Internet Protocol. Le porte (2) Port Scanning. Cenni preliminari PortScan Satan Saint

Applicazioni web centrati sui dati (Data-centric web applications)

Laboratorio di Programmazione in rete

Siti web centrati sui dati (Data-centric web applications)

Il protocollo TCP. Obiettivo. Procedura

Reti locati e reti globali. Tecnologie: Reti e Protocolli. Topologia reti. Server e client di rete. Server hardware e server software.

Applicazioni distribuite

TCP/IP. Principali caratteristiche

La rete: modelli di riferimento. La rete: modelli di riferimento. La rete: modelli di riferimento. La rete: modelli di riferimento Indice

Cenni sul protocollo IP

Identità sulla rete protocolli di trasmissione (TCP-IP) L architettura del sistema. Dal livello A al livello B

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci

Modulo 11 Livelli Transport e Application del modello TCP/IP

Lo strato di Trasporto

Introduzione alla rete Internet

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 5

Introduzione alla rete Internet

Gestione delle Reti di Telecomunicazioni

Reti di Computer. A cura di Massimo Scolaro Mob : max@massimoscolaro.it

Sistemi Distribuiti. Informatica B. Informatica B

Livello trasporto: TCP / UDP. Vittorio Maniezzo Università di Bologna. Vittorio Maniezzo Università di Bologna 14 TCP/UDP - 1/35.

FTP. Appunti a cura del prof. ing. Mario Catalano

Reti e Internet: introduzione

Internet. Internet. Internet Servizi e Protocolli applicativi. Internet. Organizzazione distribuita

Internet: architettura e servizi

Transcript:

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 full-duplex affidabile e di tipo end-to-end fra processi applicativi di due host, facenti parte di un sistema di reti interconnesse E disegnato assumendo che: il livello inferiore sia in grado di fornire solamente un semplice ed inaffidabile servizio di trasferimento dei pacchetti di tipo connection-less (esattamente quello che fa l IP) Franco Callegati IC3N 2000 N. 2 1

Funzioni del TCP Affidabilità del collegamento: il TCP garantisce la completa correttezza nella consegna dei dati, finchè il sistema di reti interconnesse non diviene completamente partizionato a causa di guasti ai collegamenti fisici A tale fine utilizza: numerazione sequenziale dei dati, prendendo come unità di riferimento il byte conferma esplicita della ricezione di ogni blocco di byte da parte del ricevitore (acknowledge) ritrasmissione dei dati di cui non viene confermata la ricezione Franco Callegati IC3N 2000 N. 3 Funzioni del TCP (2) Controllo dell errore per il riconoscimento degli errori di trasmissione viene effettuato un controllo mediante 16 bits Controllo di flusso: prevede un meccanismo a finestra che permette al ricevitore di regolare il flusso dati inviati dal trasmettitore Franco Callegati IC3N 2000 N. 4 2

Funzioni del TCP (3) Multiplazione: permette a più processi di utilizzare le sue funzioni di comunicazioni contemporaneamente usa un identificativo detto numero di porta (che equivale concettualmente al SAP secondo la terminologia OSI) per identificare il processo destinazione Una connessione è costituita da una coppia di endpoints: il numero di porta, concatenato con il numero IP dell host costituisce un end-point una coppia di end-points identifica in modo univoco una particolare connessione, così che un singolo end-point può essere condiviso tra più connessioni sulla stessa macchina Franco Callegati IC3N 2000 N. 5 Funzioni del TCP (4) Controllo della connessione: per garantire affidabilità ed il controllo di flusso, il TCP lavora in modo connection-oriented deve prevedere tutte le procedure per: l instaurazione, il controllo del corretto andamento la chiusura di ogni connessione Franco Callegati IC3N 2000 N. 6 3

L interfaccia Socket Qual è l interfaccia fra i programmi applicativi ed il software dei protocolli? Gli standard non specificano come gli applicativi debbano interagire con i protocolli L interfaccia non è standardizzata e dipende dall implementazione del sistema operativo Franco Callegati IC3N 2000 N. 7 Interfaccia Socket in BSD Unix Un programma applicativo interagisce con il sistema operativo mediante system calls: - open - read -write -close la comunicazione tra due applicazioni residenti su macchine distinte avviene seguendo lo schema client-server: - un codice server che esegue precise funzioni attende Franco Callegati IC3N 2000 N. 8 4

Uso delle socket Al momento della connessione è necessario un accordo tra i due host per stabilire i numeri di porta da utilizzare L host che inizia la connessione deve comunicare a quale porta si vuole connettere e qual è il numero di porta da lui utilizzato Il numero di porta a cui connettersi deve essere in qualche modo noto a priori all host sorgente Franco Callegati IC3N 2000 N. 9 Uso delle socket (2) Host A TCP 301 300 IP Host C TCP 25 23 23 IP Host B TCP 301 IP Franco Callegati IC3N 2000 N. 10 5

Well-known-socket (servizio client-server) Un processo client, avviato nell host sorgente, tenta di connettersi ad un processo server nell host destinazione (demone) per ottenere un servizio Il client deve sapere la porta attribuita al demone, cioè deve esserci accordo preliminare sui numeri di porta da utilizzare per i server Le porte da 0 a 255 sono riservate per questo uso, e si attribuiscono ai vari demoni dei numeri di porta prefissati, uguali per qualunque host di Internet. Questi numeri riservati danno vita alle well known socket. Franco Callegati IC3N 2000 N. 11 Well-known-socket (esempi) Numero Nome Tipo di servizio 20 FTP-DATA trasferimento files (dati) 21 FTP trasferimento files(contr.) 23 TELNET server Telnet 25 SMTP trasf. posta elettronica 53 DOMAIN Domain Name Server 109 POP2 Post Office Protocol 2 Franco Callegati IC3N 2000 N. 12 6

Formato del pacchetto TCP 32 bit Source Port Destination Port Sequence number Acknowledge number Data Offset Reserved U R C A C K P S H R S T S Y N F I N Window Checksum Urgent Pointer Opzioni Padding Dati Franco Callegati IC3N 2000 N. 13 Formato del pacchetto TCP (2) Source port: numero della porta sorgente Sequence number: numero di sequenza del primo byte del pacchetto; se è presente il bit SYN questo è il numero di sequenza iniziale su cui sincronizzarsi Acknowledge number: se il bit ACK è a 1 allora questo numero contiene il numero di sequenza del blocco di dati che il ricevitore si aspetta di ricevere Data offset: numero di parole di 32 bit dell intestazione TCP; indica dove iniziano i dati Reserved: sei bit riservati per uso futuro Franco Callegati IC3N 2000 N. 14 7

Formato del pacchetto TCP (3) Control bit: sono 6 bit di controllo - URG posto a 1 se si deve considerare il campo Urgent Pointer - ACK posto a 1 se si deve considerare il campo Acknowledge - PSH posto a 1 serve per la funzione di push, di cui non ci occupiamo - RST posto a 1 per resettare la connessione - SYN posto a 1 per sincronizzare i numeri di sequenza - FIN posto a 1 per indicare la fine dei dati Franco Callegati IC3N 2000 N. 15 Formato del pacchetto TCP (4) Window: il numero di byte, partendo dal numero di sequenza di quello contenuto nel campo acknowledge, che il ricevitore è disposto a ricevere Checksum: controllo errore sull intestazione e dati Urgent Pointer: contiene puntatore a dati urgenti eventualmente presenti nel pacchetto (es. per abortire programma remoto in esecuzione), ha senso se il bit URG è posto ad 1 Options: contiene opzioni per la connessione Padding: bit aggiuntivi per fare in modo che l intestazione sia multipla di 32 bit Franco Callegati IC3N 2000 N. 16 8

User Datagram Protocol - RFC 768 32 bit Source Port Message Lenght Destination Port Checksum (optional) Dati UDP è un protocollo di tipo connectionless a livello 4, per tutte quelle applicazioni per cui la completa gestione della connessione TCP non è necessaria Usato da quelle applicazioni che trasmettono pacchetti singoli, senza necessità di acknowledgement Franco Callegati IC3N 2000 N. 17 User Datagram Protocol - RFC 768 (2) Utilizzati solamente i campi di source e destination port Anche per UDP esiste il concetto di porta, ed aggiunge ad IP la possibilità di distinguere diverse applicazioni entro uno stesso host Port 7: echo; port 69: trivial file transfer Franco Callegati IC3N 2000 N. 18 9