際際滷

際際滷Share a Scribd company logo
Comandi base di rete ifconfig  restituisce le configurazioni delle schede di rete installate netstat   Mostra connessioni di rete, tabelle di routing, statistiche sulle interfacce, connessioni masquerade e messaggi netlink route mostra / manipola la tabella di routing IP tcpdump  visualizza il contenuto dei pacchetti in transito sulla rete nc   (netcat)  utitlity che permette di leggere e scrivere dati nella rete mediante protocollo tcp-udp telnet   protocollo/applicazione utente per la connessione interattiva su altri host con protocollo telnet ssh  - OpenSSH, client SSH (programma per connessione remota)
http://www.computernetworkdefence.co.uk/index.php/miscellaneous/rawpackets.html
http://www.computernetworkdefence.co.uk/index.php/miscellaneous/rawpackets.html
http://www.computernetworkdefence.co.uk/index.php/miscellaneous/rawpackets.html
http://www.computernetworkdefence.co.uk/index.php/miscellaneous/rawpackets.html
Link Utili TCP-IP http://www.tcpipguide.com/ http://it.wikipedia.org/wiki/Suite_di_protocolli_Internet
Transmission Control Protocol (TCP) Transmission Control Protocol (TCP ) 竪 un protocollo di livello di trasporto della suite di protocolli Internet Il  TCP  pu嘆 essere classificato al livello trasporto ( OSI level 4 ) del modello di riferimento OSI, e di solito 竪 usato in combinazione con il protocollo di livello rete ( OSI level 3) IP. N.b. La corrispondenza con il modello OSI non 竪 perfetta, in quanto il TCP e l'IP nascono prima. La loro combinazione 竪 indicata come TCP/IP e, alle volte, 竪 erroneamente considerata un unico protocollo. Da qui, la difficolt di una classificazione univoca per un protocollo che comprende, a pieno titolo, due livelli dello stack OSI (o pila ISO/OSI in italiano)
Transmission Control Protocol (TCP) Il servizio offerto da TCP 竪 il trasporto di un flusso di byte bidirezionale tra due applicazioni in esecuzione su host differenti. Il flusso di byte viene frazionato in blocchi per la trasmissione dall'applicazione a TCP (che normalmente 竪 implementato all'interno del sistema operativo). TCP 竪 un protocollo orientato alla connessione, ovvero prima di poter trasmettere dati deve stabilire la comunicazione, negoziando una connessione tra mittente e destinatario, che viene esplicitamente chiusa quando non pi湛 necessaria. Esso quindi ha le funzionalit per creare, mantenere e chiudere una connessione TCP garantisce che i dati trasmessi, se giungono a destinazione, lo facciano in ordine e una volta sola.Questo 竪 realizzato attraverso vari meccanismi di acknowledgment e di ritrasmissione su timeout. TCP fornisce un servizio di multiplazione delle connessioni su un host, attraverso il meccanismo delle porte.
UDP (User Datagram Protocol) UDP non offre nessuna garanzia dell'arrivo dei datagrammi n辿 sul loro ordine di arrivo, al contrario il TCP tramite i meccanismi di riconoscimento (acknowledgement) e di ritrasmissione su timeout riesce a garantire la consegna dei dati, anche se al costo di un maggiore. TCP 竪 un protocollo orientato alla connessione, pertanto per stabilire, mantenere e chiudere una connessione, 竪 necessario inviare pacchetti di servizio i quali aumentano il traffico di  comunicazione. Al contrario, UDP invia solo i dati richiesti dal livello applicativo; l'oggetto della comunicazione di TCP 竪 il flusso di byte mentre quello di UDP 竪 il singolo datagramma.
TCP vs UDP L'utilizzo del protocollo TCP rispetto a UDP 竪, in generale, preferito quando 竪 necessario avere garanzie sulla consegna dei dati o sull'ordine di arrivo dei vari segmenti (come per esempio nel caso di trasferimenti di file). Al contrario UDP viene principalmente usato quando l'interazione tra i due host 竪 idempotente o nel caso si abbiano forti vincoli sulla velocit e l'economia di risorse della rete.
Connessione TCP Ciascuna connessione TCP attiva 竪 associata a un socket aperto da un processo. A Ciascuna connessione tra due host viene associato un numero di porta su ciascuno dei due host, che 竪 un numero compreso tra 1-65535. Le porte sono numeri utilizzati per identificare una particolare connessione di trasporto tra quelle al momento attive su un calcolatore. il socket 竪 lo strumento offerto dal sistema operativo alle applicazioni per usare le funzionalit della rete.
Net-Socket  Principio di funzionamento
Multiplazione e porte TCP  Nelle reti di calcolatori, le porte sono lo strumento per permettere ad un calcolatore di effettuare pi湛 connessioni contemporanee verso altri calcolatori, facendo in modo che i dati contenuti nei pacchetti in arrivo vengano indirizzati al processo che li sta aspettando. Una connessione TCP  竪 identificata dagli indirizzi IP dei due host e dalle porte utilizzate sui due host. In questo modo, un server pu嘆 accettare connessioni da pi湛 client contemporaneamente attraverso una o pi湛 porte. Un client pu嘆 stabilire pi湛 connessioni verso pi湛 destinazioni, ed 竪 anche possibile che un client stabilisca contemporaneamente pi湛 connessioni indipendenti verso la stessa porta dello stesso server.
porte TCP  Le porte sono numeri utilizzati per identificare una particolare connessione di trasporto tra quelle al momento attive su un calcolatore. I pacchetti appartenenti ad una connessione saranno quindi identificati dalla quadrupla : [< IP sorgente>, <IP destinazione>, <porta sorgente>, <porta destinazione>].  Il livello di trasporto ( tipicamente realizzato dal sistema operativo ) associa a ciascuna porta utilizzata un punto di contatto (ad esempio, una socket), utilizzato da uno (o pi湛) processi applicativi per trasmettere e/o ricevere dati.
porte Esiste una convenzione per cui ad alcuni numeri di porta sono associati determinati protocolli di livello applicativo.  Ad esempio, se voglio contattare il server HTTP eventualmente in esecuzione su un certo calcolatore, so che devo tentare di stabilire una connessione verso la porta 80. Le porte conosciute sono assegnate dall'Internet  Assigned Numbers Authority (IANA), sono quelle inferiori a 1024 , e sono generalmente utilizzate a livello di sistema operativo o di processi di sistema. In genere rimangono in ascolto su queste porte applicazioni con funzioni di server. Alcuni esempi possono essere le applicazioni che utilizzino protocolli FTP (21)  SSH (22), TELNET (23), SMTP (25) e HTTP (80). Sono dette porte ben note. http://it.wikipedia.org/wiki/Lista_di_porte_standard
TCP  Three-way handshake
TCP  Three-way handshake A= Client (Application Layer) B= Server (application Layer) ISN= Initial Sequence Number 1. A invia un segmento SYN a B  - il flag SYN 竪 impostato a 1 e il campo Sequence number contiene il valore x che specifica l' Initial Sequence Number di A; 2. B invia un segmento SYN/ACK ad A  - i flag SYN e ACK sono impostati a 1, il campo Sequence number contiene il valore y che specifica l' Initial Sequence Number di B e il campo Acknowledgment number contiene il valore x+1 confermando la ricezione del ISN di A; 3. A invia un segmento ACK a B  - il campo Acknowledgment number contiene il valore y+1 confermando la ricezione del ISN di B.
TCP  Three-way handshake

More Related Content

What's hot (18)

5 Protocolli Trasporto Parte2
5 Protocolli Trasporto Parte25 Protocolli Trasporto Parte2
5 Protocolli Trasporto Parte2
Majong DevJfu
4 Protocollo Ip
4 Protocollo Ip4 Protocollo Ip
4 Protocollo Ip
acapone
Sistemi distribuiti
Sistemi distribuitiSistemi distribuiti
Sistemi distribuiti
Valeria Gennari
Routing: trattazione dei protocolli RIP, OSPF e BGP
Routing: trattazione dei protocolli RIP, OSPF e BGPRouting: trattazione dei protocolli RIP, OSPF e BGP
Routing: trattazione dei protocolli RIP, OSPF e BGP
Lorenzo Sfarra
Topologie
TopologieTopologie
Topologie
Emilia Calzetta
6 Inoltro Instradamento
6 Inoltro Instradamento6 Inoltro Instradamento
6 Inoltro Instradamento
acapone
Hosting: gestione degli accessi FTP #TipOfTheDay
Hosting: gestione degli accessi FTP   #TipOfTheDayHosting: gestione degli accessi FTP   #TipOfTheDay
Hosting: gestione degli accessi FTP #TipOfTheDay
Aruba S.p.A.
Le reti - Come il nostro PC 竪 connesso con la Internet.
Le reti - Come il nostro PC 竪 connesso con la Internet.Le reti - Come il nostro PC 竪 connesso con la Internet.
Le reti - Come il nostro PC 竪 connesso con la Internet.
Giovanni Cappellini
Strutturazione delle Reti
Strutturazione delle RetiStrutturazione delle Reti
Strutturazione delle Reti
Vincenzo Quero
5 Protocolli Trasporto Parte3
5 Protocolli Trasporto Parte35 Protocolli Trasporto Parte3
5 Protocolli Trasporto Parte3
Majong DevJfu
IsoOsi
IsoOsiIsoOsi
IsoOsi
Emilia Calzetta
5 Protocolli Trasporto Parte1
5 Protocolli Trasporto Parte15 Protocolli Trasporto Parte1
5 Protocolli Trasporto Parte1
Majong DevJfu
Introduzione al livello di rete e Dijkstra algorithm
Introduzione al livello di rete e Dijkstra algorithmIntroduzione al livello di rete e Dijkstra algorithm
Introduzione al livello di rete e Dijkstra algorithm
orestJump
01 Internet: origini e definizioni
01 Internet: origini e definizioni01 Internet: origini e definizioni
01 Internet: origini e definizioni
Dario Avantaggiato
Prot09 Rtp Rtcp Rtsp Tognana Denis
Prot09 Rtp Rtcp Rtsp Tognana DenisProt09 Rtp Rtcp Rtsp Tognana Denis
Prot09 Rtp Rtcp Rtsp Tognana Denis
guest93a145
2 Protocolli Applicativi
2 Protocolli Applicativi2 Protocolli Applicativi
2 Protocolli Applicativi
acapone
Lezione InternetWorking: il routing
Lezione InternetWorking: il routingLezione InternetWorking: il routing
Lezione InternetWorking: il routing
Luca Matteo Ruberto
5 Protocolli Trasporto Parte2
5 Protocolli Trasporto Parte25 Protocolli Trasporto Parte2
5 Protocolli Trasporto Parte2
Majong DevJfu
4 Protocollo Ip
4 Protocollo Ip4 Protocollo Ip
4 Protocollo Ip
acapone
Routing: trattazione dei protocolli RIP, OSPF e BGP
Routing: trattazione dei protocolli RIP, OSPF e BGPRouting: trattazione dei protocolli RIP, OSPF e BGP
Routing: trattazione dei protocolli RIP, OSPF e BGP
Lorenzo Sfarra
6 Inoltro Instradamento
6 Inoltro Instradamento6 Inoltro Instradamento
6 Inoltro Instradamento
acapone
Hosting: gestione degli accessi FTP #TipOfTheDay
Hosting: gestione degli accessi FTP   #TipOfTheDayHosting: gestione degli accessi FTP   #TipOfTheDay
Hosting: gestione degli accessi FTP #TipOfTheDay
Aruba S.p.A.
Le reti - Come il nostro PC 竪 connesso con la Internet.
Le reti - Come il nostro PC 竪 connesso con la Internet.Le reti - Come il nostro PC 竪 connesso con la Internet.
Le reti - Come il nostro PC 竪 connesso con la Internet.
Giovanni Cappellini
Strutturazione delle Reti
Strutturazione delle RetiStrutturazione delle Reti
Strutturazione delle Reti
Vincenzo Quero
5 Protocolli Trasporto Parte3
5 Protocolli Trasporto Parte35 Protocolli Trasporto Parte3
5 Protocolli Trasporto Parte3
Majong DevJfu
5 Protocolli Trasporto Parte1
5 Protocolli Trasporto Parte15 Protocolli Trasporto Parte1
5 Protocolli Trasporto Parte1
Majong DevJfu
Introduzione al livello di rete e Dijkstra algorithm
Introduzione al livello di rete e Dijkstra algorithmIntroduzione al livello di rete e Dijkstra algorithm
Introduzione al livello di rete e Dijkstra algorithm
orestJump
01 Internet: origini e definizioni
01 Internet: origini e definizioni01 Internet: origini e definizioni
01 Internet: origini e definizioni
Dario Avantaggiato
Prot09 Rtp Rtcp Rtsp Tognana Denis
Prot09 Rtp Rtcp Rtsp Tognana DenisProt09 Rtp Rtcp Rtsp Tognana Denis
Prot09 Rtp Rtcp Rtsp Tognana Denis
guest93a145
2 Protocolli Applicativi
2 Protocolli Applicativi2 Protocolli Applicativi
2 Protocolli Applicativi
acapone
Lezione InternetWorking: il routing
Lezione InternetWorking: il routingLezione InternetWorking: il routing
Lezione InternetWorking: il routing
Luca Matteo Ruberto

Viewers also liked (10)

Network essentials
Network essentialsNetwork essentials
Network essentials
Alkemy S.p.A. Milan, Italy
Hosting: storia del protocollo http
Hosting: storia del protocollo httpHosting: storia del protocollo http
Hosting: storia del protocollo http
Aruba S.p.A.
Network e Internet
Network e InternetNetwork e Internet
Network e Internet
magaita89
OpenId @JavaDayRoma
OpenId @JavaDayRomaOpenId @JavaDayRoma
OpenId @JavaDayRoma
Samuele Reghenzi
Lezione 3: Connessioni TCP
Lezione 3: Connessioni TCPLezione 3: Connessioni TCP
Lezione 3: Connessioni TCP
Andrea Della Corte
B Esercizi Tcp
B Esercizi TcpB Esercizi Tcp
B Esercizi Tcp
acapone
World wide web
World wide webWorld wide web
World wide web
Casaccia Rosanna
Telematica
TelematicaTelematica
Telematica
joefig
ecdl-modulo-7-reti-informatiche
ecdl-modulo-7-reti-informaticheecdl-modulo-7-reti-informatiche
ecdl-modulo-7-reti-informatiche
Matekanc
MODULO 20 > Introduzione al TCP/IP
MODULO 20 > Introduzione al TCP/IPMODULO 20 > Introduzione al TCP/IP
MODULO 20 > Introduzione al TCP/IP
Francesco Ciclosi
Hosting: storia del protocollo http
Hosting: storia del protocollo httpHosting: storia del protocollo http
Hosting: storia del protocollo http
Aruba S.p.A.
Network e Internet
Network e InternetNetwork e Internet
Network e Internet
magaita89
B Esercizi Tcp
B Esercizi TcpB Esercizi Tcp
B Esercizi Tcp
acapone
Telematica
TelematicaTelematica
Telematica
joefig
ecdl-modulo-7-reti-informatiche
ecdl-modulo-7-reti-informaticheecdl-modulo-7-reti-informatiche
ecdl-modulo-7-reti-informatiche
Matekanc
MODULO 20 > Introduzione al TCP/IP
MODULO 20 > Introduzione al TCP/IPMODULO 20 > Introduzione al TCP/IP
MODULO 20 > Introduzione al TCP/IP
Francesco Ciclosi

Similar to 13 Linux Network Comandi (20)

Gestione Reti
Gestione RetiGestione Reti
Gestione Reti
Roberto Barbiera
Socket python
Socket pythonSocket python
Socket python
Marco Buttolo
Reti e internet
Reti e internetReti e internet
Reti e internet
yrcorr
Introduzione ai protocolli tcp/ip ed al Domain Name System
Introduzione ai protocolli tcp/ip ed al Domain Name SystemIntroduzione ai protocolli tcp/ip ed al Domain Name System
Introduzione ai protocolli tcp/ip ed al Domain Name System
RoBisc
Le Reti di Computer
Le Reti di ComputerLe Reti di Computer
Le Reti di Computer
Giovanni Carbonara
1_reti.ppt
1_reti.ppt1_reti.ppt
1_reti.ppt
ssuser37823a
Seminario Basi di Dati - Architetture Distribuite - Universit degli Studi di...
Seminario Basi di Dati - Architetture Distribuite - Universit degli Studi di...Seminario Basi di Dati - Architetture Distribuite - Universit degli Studi di...
Seminario Basi di Dati - Architetture Distribuite - Universit degli Studi di...
Andrea Cannella
Lezione 1 - Teoria - Accenni sulle reti e sui servizi internet
Lezione 1 - Teoria - Accenni sulle reti e sui servizi internetLezione 1 - Teoria - Accenni sulle reti e sui servizi internet
Lezione 1 - Teoria - Accenni sulle reti e sui servizi internet
Giuseppe Cramarossa
Fiorello
FiorelloFiorello
Fiorello
AndreaFornetto
Concetti base di networking
Concetti base di networkingConcetti base di networking
Concetti base di networking
Domenico Cianferri
IoT: protocolli, dispositivi, architetture
IoT: protocolli, dispositivi, architettureIoT: protocolli, dispositivi, architetture
IoT: protocolli, dispositivi, architetture
Stefano Valle
Presentazione Wap Vs I Mode
Presentazione Wap Vs I ModePresentazione Wap Vs I Mode
Presentazione Wap Vs I Mode
masso87
TCP IP
TCP IPTCP IP
TCP IP
Vincenzo Calabr嘆
Reti di computer e protocolli
Reti di computer e protocolliReti di computer e protocolli
Reti di computer e protocolli
filibertodicarlo
Vpn Virtual Private Network
Vpn Virtual Private NetworkVpn Virtual Private Network
Vpn Virtual Private Network
carmine ricca
Soluzioni per la difesa da attacchi DoS nelle reti SDN
Soluzioni per la difesa da attacchi DoS nelle reti SDNSoluzioni per la difesa da attacchi DoS nelle reti SDN
Soluzioni per la difesa da attacchi DoS nelle reti SDN
Matteo D'Amore
Reti e internet
Reti e internetReti e internet
Reti e internet
yrcorr
Introduzione ai protocolli tcp/ip ed al Domain Name System
Introduzione ai protocolli tcp/ip ed al Domain Name SystemIntroduzione ai protocolli tcp/ip ed al Domain Name System
Introduzione ai protocolli tcp/ip ed al Domain Name System
RoBisc
Seminario Basi di Dati - Architetture Distribuite - Universit degli Studi di...
Seminario Basi di Dati - Architetture Distribuite - Universit degli Studi di...Seminario Basi di Dati - Architetture Distribuite - Universit degli Studi di...
Seminario Basi di Dati - Architetture Distribuite - Universit degli Studi di...
Andrea Cannella
Lezione 1 - Teoria - Accenni sulle reti e sui servizi internet
Lezione 1 - Teoria - Accenni sulle reti e sui servizi internetLezione 1 - Teoria - Accenni sulle reti e sui servizi internet
Lezione 1 - Teoria - Accenni sulle reti e sui servizi internet
Giuseppe Cramarossa
Concetti base di networking
Concetti base di networkingConcetti base di networking
Concetti base di networking
Domenico Cianferri
IoT: protocolli, dispositivi, architetture
IoT: protocolli, dispositivi, architettureIoT: protocolli, dispositivi, architetture
IoT: protocolli, dispositivi, architetture
Stefano Valle
Presentazione Wap Vs I Mode
Presentazione Wap Vs I ModePresentazione Wap Vs I Mode
Presentazione Wap Vs I Mode
masso87
Reti di computer e protocolli
Reti di computer e protocolliReti di computer e protocolli
Reti di computer e protocolli
filibertodicarlo
Vpn Virtual Private Network
Vpn Virtual Private NetworkVpn Virtual Private Network
Vpn Virtual Private Network
carmine ricca
Soluzioni per la difesa da attacchi DoS nelle reti SDN
Soluzioni per la difesa da attacchi DoS nelle reti SDNSoluzioni per la difesa da attacchi DoS nelle reti SDN
Soluzioni per la difesa da attacchi DoS nelle reti SDN
Matteo D'Amore

More from Mauro Ferrigno (16)

4 Linux Gestione Utenti
4 Linux Gestione Utenti4 Linux Gestione Utenti
4 Linux Gestione Utenti
Mauro Ferrigno
14 Linux Network Tenet Ssh Ecc
14 Linux Network Tenet Ssh Ecc14 Linux Network Tenet Ssh Ecc
14 Linux Network Tenet Ssh Ecc
Mauro Ferrigno
12 Linux Network Netmask
12 Linux Network Netmask12 Linux Network Netmask
12 Linux Network Netmask
Mauro Ferrigno
8 Linux Comandi Di Sistema
8 Linux Comandi Di Sistema8 Linux Comandi Di Sistema
8 Linux Comandi Di Sistema
Mauro Ferrigno
7 Linux Comandi Di Sistema
7 Linux Comandi Di Sistema7 Linux Comandi Di Sistema
7 Linux Comandi Di Sistema
Mauro Ferrigno
6 Linux Gestioni Pacchetti Debian
6 Linux Gestioni Pacchetti Debian6 Linux Gestioni Pacchetti Debian
6 Linux Gestioni Pacchetti Debian
Mauro Ferrigno
4 Linux Gestione Utenti
4 Linux Gestione Utenti4 Linux Gestione Utenti
4 Linux Gestione Utenti
Mauro Ferrigno
3 Linux Espressioni Regolari
3 Linux Espressioni Regolari3 Linux Espressioni Regolari
3 Linux Espressioni Regolari
Mauro Ferrigno
2 Linux Comandi Essenziali
2 Linux Comandi Essenziali2 Linux Comandi Essenziali
2 Linux Comandi Essenziali
Mauro Ferrigno
1 Linux Comandi Essenziali
1 Linux Comandi Essenziali1 Linux Comandi Essenziali
1 Linux Comandi Essenziali
Mauro Ferrigno
X1 Linux Header Tcp Ip Colorate
X1 Linux Header Tcp Ip ColorateX1 Linux Header Tcp Ip Colorate
X1 Linux Header Tcp Ip Colorate
Mauro Ferrigno
4 Linux Gestione Utenti
4 Linux Gestione Utenti4 Linux Gestione Utenti
4 Linux Gestione Utenti
Mauro Ferrigno
14 Linux Network Tenet Ssh Ecc
14 Linux Network Tenet Ssh Ecc14 Linux Network Tenet Ssh Ecc
14 Linux Network Tenet Ssh Ecc
Mauro Ferrigno
12 Linux Network Netmask
12 Linux Network Netmask12 Linux Network Netmask
12 Linux Network Netmask
Mauro Ferrigno
8 Linux Comandi Di Sistema
8 Linux Comandi Di Sistema8 Linux Comandi Di Sistema
8 Linux Comandi Di Sistema
Mauro Ferrigno
7 Linux Comandi Di Sistema
7 Linux Comandi Di Sistema7 Linux Comandi Di Sistema
7 Linux Comandi Di Sistema
Mauro Ferrigno
6 Linux Gestioni Pacchetti Debian
6 Linux Gestioni Pacchetti Debian6 Linux Gestioni Pacchetti Debian
6 Linux Gestioni Pacchetti Debian
Mauro Ferrigno
4 Linux Gestione Utenti
4 Linux Gestione Utenti4 Linux Gestione Utenti
4 Linux Gestione Utenti
Mauro Ferrigno
3 Linux Espressioni Regolari
3 Linux Espressioni Regolari3 Linux Espressioni Regolari
3 Linux Espressioni Regolari
Mauro Ferrigno
2 Linux Comandi Essenziali
2 Linux Comandi Essenziali2 Linux Comandi Essenziali
2 Linux Comandi Essenziali
Mauro Ferrigno
1 Linux Comandi Essenziali
1 Linux Comandi Essenziali1 Linux Comandi Essenziali
1 Linux Comandi Essenziali
Mauro Ferrigno
X1 Linux Header Tcp Ip Colorate
X1 Linux Header Tcp Ip ColorateX1 Linux Header Tcp Ip Colorate
X1 Linux Header Tcp Ip Colorate
Mauro Ferrigno

13 Linux Network Comandi

  • 1. Comandi base di rete ifconfig restituisce le configurazioni delle schede di rete installate netstat Mostra connessioni di rete, tabelle di routing, statistiche sulle interfacce, connessioni masquerade e messaggi netlink route mostra / manipola la tabella di routing IP tcpdump visualizza il contenuto dei pacchetti in transito sulla rete nc (netcat) utitlity che permette di leggere e scrivere dati nella rete mediante protocollo tcp-udp telnet protocollo/applicazione utente per la connessione interattiva su altri host con protocollo telnet ssh - OpenSSH, client SSH (programma per connessione remota)
  • 6. Link Utili TCP-IP http://www.tcpipguide.com/ http://it.wikipedia.org/wiki/Suite_di_protocolli_Internet
  • 7. Transmission Control Protocol (TCP) Transmission Control Protocol (TCP ) 竪 un protocollo di livello di trasporto della suite di protocolli Internet Il TCP pu嘆 essere classificato al livello trasporto ( OSI level 4 ) del modello di riferimento OSI, e di solito 竪 usato in combinazione con il protocollo di livello rete ( OSI level 3) IP. N.b. La corrispondenza con il modello OSI non 竪 perfetta, in quanto il TCP e l'IP nascono prima. La loro combinazione 竪 indicata come TCP/IP e, alle volte, 竪 erroneamente considerata un unico protocollo. Da qui, la difficolt di una classificazione univoca per un protocollo che comprende, a pieno titolo, due livelli dello stack OSI (o pila ISO/OSI in italiano)
  • 8. Transmission Control Protocol (TCP) Il servizio offerto da TCP 竪 il trasporto di un flusso di byte bidirezionale tra due applicazioni in esecuzione su host differenti. Il flusso di byte viene frazionato in blocchi per la trasmissione dall'applicazione a TCP (che normalmente 竪 implementato all'interno del sistema operativo). TCP 竪 un protocollo orientato alla connessione, ovvero prima di poter trasmettere dati deve stabilire la comunicazione, negoziando una connessione tra mittente e destinatario, che viene esplicitamente chiusa quando non pi湛 necessaria. Esso quindi ha le funzionalit per creare, mantenere e chiudere una connessione TCP garantisce che i dati trasmessi, se giungono a destinazione, lo facciano in ordine e una volta sola.Questo 竪 realizzato attraverso vari meccanismi di acknowledgment e di ritrasmissione su timeout. TCP fornisce un servizio di multiplazione delle connessioni su un host, attraverso il meccanismo delle porte.
  • 9. UDP (User Datagram Protocol) UDP non offre nessuna garanzia dell'arrivo dei datagrammi n辿 sul loro ordine di arrivo, al contrario il TCP tramite i meccanismi di riconoscimento (acknowledgement) e di ritrasmissione su timeout riesce a garantire la consegna dei dati, anche se al costo di un maggiore. TCP 竪 un protocollo orientato alla connessione, pertanto per stabilire, mantenere e chiudere una connessione, 竪 necessario inviare pacchetti di servizio i quali aumentano il traffico di comunicazione. Al contrario, UDP invia solo i dati richiesti dal livello applicativo; l'oggetto della comunicazione di TCP 竪 il flusso di byte mentre quello di UDP 竪 il singolo datagramma.
  • 10. TCP vs UDP L'utilizzo del protocollo TCP rispetto a UDP 竪, in generale, preferito quando 竪 necessario avere garanzie sulla consegna dei dati o sull'ordine di arrivo dei vari segmenti (come per esempio nel caso di trasferimenti di file). Al contrario UDP viene principalmente usato quando l'interazione tra i due host 竪 idempotente o nel caso si abbiano forti vincoli sulla velocit e l'economia di risorse della rete.
  • 11. Connessione TCP Ciascuna connessione TCP attiva 竪 associata a un socket aperto da un processo. A Ciascuna connessione tra due host viene associato un numero di porta su ciascuno dei due host, che 竪 un numero compreso tra 1-65535. Le porte sono numeri utilizzati per identificare una particolare connessione di trasporto tra quelle al momento attive su un calcolatore. il socket 竪 lo strumento offerto dal sistema operativo alle applicazioni per usare le funzionalit della rete.
  • 12. Net-Socket Principio di funzionamento
  • 13. Multiplazione e porte TCP Nelle reti di calcolatori, le porte sono lo strumento per permettere ad un calcolatore di effettuare pi湛 connessioni contemporanee verso altri calcolatori, facendo in modo che i dati contenuti nei pacchetti in arrivo vengano indirizzati al processo che li sta aspettando. Una connessione TCP 竪 identificata dagli indirizzi IP dei due host e dalle porte utilizzate sui due host. In questo modo, un server pu嘆 accettare connessioni da pi湛 client contemporaneamente attraverso una o pi湛 porte. Un client pu嘆 stabilire pi湛 connessioni verso pi湛 destinazioni, ed 竪 anche possibile che un client stabilisca contemporaneamente pi湛 connessioni indipendenti verso la stessa porta dello stesso server.
  • 14. porte TCP Le porte sono numeri utilizzati per identificare una particolare connessione di trasporto tra quelle al momento attive su un calcolatore. I pacchetti appartenenti ad una connessione saranno quindi identificati dalla quadrupla : [< IP sorgente>, <IP destinazione>, <porta sorgente>, <porta destinazione>]. Il livello di trasporto ( tipicamente realizzato dal sistema operativo ) associa a ciascuna porta utilizzata un punto di contatto (ad esempio, una socket), utilizzato da uno (o pi湛) processi applicativi per trasmettere e/o ricevere dati.
  • 15. porte Esiste una convenzione per cui ad alcuni numeri di porta sono associati determinati protocolli di livello applicativo. Ad esempio, se voglio contattare il server HTTP eventualmente in esecuzione su un certo calcolatore, so che devo tentare di stabilire una connessione verso la porta 80. Le porte conosciute sono assegnate dall'Internet Assigned Numbers Authority (IANA), sono quelle inferiori a 1024 , e sono generalmente utilizzate a livello di sistema operativo o di processi di sistema. In genere rimangono in ascolto su queste porte applicazioni con funzioni di server. Alcuni esempi possono essere le applicazioni che utilizzino protocolli FTP (21) SSH (22), TELNET (23), SMTP (25) e HTTP (80). Sono dette porte ben note. http://it.wikipedia.org/wiki/Lista_di_porte_standard
  • 16. TCP Three-way handshake
  • 17. TCP Three-way handshake A= Client (Application Layer) B= Server (application Layer) ISN= Initial Sequence Number 1. A invia un segmento SYN a B - il flag SYN 竪 impostato a 1 e il campo Sequence number contiene il valore x che specifica l' Initial Sequence Number di A; 2. B invia un segmento SYN/ACK ad A - i flag SYN e ACK sono impostati a 1, il campo Sequence number contiene il valore y che specifica l' Initial Sequence Number di B e il campo Acknowledgment number contiene il valore x+1 confermando la ricezione del ISN di A; 3. A invia un segmento ACK a B - il campo Acknowledgment number contiene il valore y+1 confermando la ricezione del ISN di B.
  • 18. TCP Three-way handshake