Corso TECNICO DI RETE · 2011-01-09 · 09/01/2011 2 Il LIVELLO DI RETE –Internet Protocol...

23
09/01/2011 1 Corso TECNICO DI RETE MODULO 1 dimensionamento architettura di rete Docente: ing.Andrea Sarneri [email protected] 1 ANDREA SARNERI - CORSO CESCOT 2010 Lezione 6 livello di rete e trasporto Saturazione degli indirizzi IPv4 e introduzione su IPv6 Protocolli di livello 3: ARP, ICMP Funzione del livello di trasporto Porte e “socketsModello “connection- oriented” e “connectionless” Frame TCP e UDP NAT e port forwarding, Firewall, DMZ Applicazioni: Ping, Tracert 2 ANDREA SARNERI - CORSO CESCOT 2010

Transcript of Corso TECNICO DI RETE · 2011-01-09 · 09/01/2011 2 Il LIVELLO DI RETE –Internet Protocol...

Page 1: Corso TECNICO DI RETE · 2011-01-09 · 09/01/2011 2 Il LIVELLO DI RETE –Internet Protocol Caratteristiche di IPv6 Problema della saturazione degli indirizzi Aumenta lo spazio di

09/01/2011

1

Corso TECNICO DI RETE

MODULO 1 –dimensionamento architettura di rete

Docente: ing.Andrea [email protected]

1ANDREA SARNERI - CORSO CESCOT 2010

Lezione 6 – livello di rete e trasporto

•Saturazione degli indirizzi IPv4 e introduzione su IPv6•Protocolli di livello 3: ARP, ICMP•Funzione del livello di trasporto•Porte e “sockets”•Modello “connection-oriented” e “connectionless”•Frame TCP e UDP •NAT e port forwarding, Firewall, DMZ•Applicazioni: Ping, Tracert

2ANDREA SARNERI - CORSO CESCOT 2010

Page 2: Corso TECNICO DI RETE · 2011-01-09 · 09/01/2011 2 Il LIVELLO DI RETE –Internet Protocol Caratteristiche di IPv6 Problema della saturazione degli indirizzi Aumenta lo spazio di

09/01/2011

2

Il LIVELLO DI RETE – Internet Protocol

Caratteristiche di IPv6

Problema della saturazione degli indirizziAumenta lo spazio di indirizzi: da 32 bit a 128 bit

Esistono tre tipi di indirizzi globali IPv6: •UNICAST Indirizzi assegnati ad una singola interfaccia. Un pacchetto inviato ad un indirizzo unicast viene consegnato solo alla interfaccia di rete identificata da quel particolare indirizzo. •ANYCAST Indirizzi assegnati ad un insieme di interfacce (tipicamente su nodi differenti). Un pacchetto inviato ad un indirizzo anycast viene consegnato ad una sola delle interfacce identificata da quel particolare indirizzo, solitamente la più vicina in termini di distanze di routing. •MULTICAST Indirizzi assegnati ad un insieme di interfacce (tipicamente su nodi differenti). Un pacchetto inviato ad un indirizzo multicast viene consegnato a tutte le interfacce identificate da quell'indirizzo.

È importante notare che non esistono indirizzi di tipo broadcast in IPv6, in quanto essi sono stati sostituiti dagli indirizzi di tipo multicast.

3ANDREA SARNERI - CORSO CESCOT 2010

Il LIVELLO DI RETE – Internet Protocol

4ANDREA SARNERI - CORSO CESCOT 2010

Page 3: Corso TECNICO DI RETE · 2011-01-09 · 09/01/2011 2 Il LIVELLO DI RETE –Internet Protocol Caratteristiche di IPv6 Problema della saturazione degli indirizzi Aumenta lo spazio di

09/01/2011

3

Il LIVELLO DI RETE – Internet Protocol

5ANDREA SARNERI - CORSO CESCOT 2010

Il LIVELLO DI RETE – Internet Protocol

Caratteristiche di IPv6

Tipologie di indirizzi

6ANDREA SARNERI - CORSO CESCOT 2010

Page 4: Corso TECNICO DI RETE · 2011-01-09 · 09/01/2011 2 Il LIVELLO DI RETE –Internet Protocol Caratteristiche di IPv6 Problema della saturazione degli indirizzi Aumenta lo spazio di

09/01/2011

4

Il LIVELLO DI RETE – Internet Protocol

Caratteristiche di IPv6

Autoconfiigurazione stateless

7ANDREA SARNERI - CORSO CESCOT 2010

Il LIVELLO DI RETE – Internet Protocol

Caratteristiche di IPv6

8ANDREA SARNERI - CORSO CESCOT 2010

Page 5: Corso TECNICO DI RETE · 2011-01-09 · 09/01/2011 2 Il LIVELLO DI RETE –Internet Protocol Caratteristiche di IPv6 Problema della saturazione degli indirizzi Aumenta lo spazio di

09/01/2011

5

Il LIVELLO DI RETE – Internet Protocol

Caratteristiche di IPv6

9ANDREA SARNERI - CORSO CESCOT 2010

Protocolli di livello 3

ANDREA SARNERI - CORSO CESCOT 2010 10

Page 6: Corso TECNICO DI RETE · 2011-01-09 · 09/01/2011 2 Il LIVELLO DI RETE –Internet Protocol Caratteristiche di IPv6 Problema della saturazione degli indirizzi Aumenta lo spazio di

09/01/2011

6

11ANDREA SARNERI - CORSO CESCOT 2010

Il livello di rete

Address Resolution Protocol (ARP)

è un protocollo che fornisce la "mappatura" tra l'indirizzo IP a 32bit (4byte) e il suo MAC address, l'indirizzo fisico a 48bit (6 byte), per tutti i nodi della sottorete. Per non dover ricostruire tale relazione ad ogni invio di un pacchetto IP, ARP mette a disposizione delle funzioni e un database locale ( ARP CACHE) .L’ARP cache viene popolata attraverso le richieste (ARP REQUEST) che un hostmanda in broadcasting sulla sottorete per conoscere il MAC associato a un certo IP.L’IP interessato risponde restituendo il proprio MAC address.Ogni voce della cache può essere statica o dinamica, in questo caso ha una durata limitata (max 10min) poi viene rimossa.

12ANDREA SARNERI - CORSO CESCOT 2010

Il livello di rete

Questo è il formato del pachetto ARP che viene generato al livello IP e “passato” al datalink sottostante.

Page 7: Corso TECNICO DI RETE · 2011-01-09 · 09/01/2011 2 Il LIVELLO DI RETE –Internet Protocol Caratteristiche di IPv6 Problema della saturazione degli indirizzi Aumenta lo spazio di

09/01/2011

7

13ANDREA SARNERI - CORSO CESCOT 2010

Il livello di rete

PROXY ARP

E’ un metodo per rendere raggiungibili fra di loro hosts appartenenti a segmenti fisici diversi (collegati da un router) ma appartenenti alla stessa sottorete IP. Questo metodo evita di dover creare due sottoreti diverse a livello IP comunicanti tra loro attraverso routing a livelle o IP, ma riesce a stabilire nel router di collegamento delle regole a livello di tabella ARP.

Host A su segmento fisico A genera un arp request per individuare il MAC di Host B, Il broadcast però si ferma al router R , il quale però conosce il MAC di B per cui mappa sulla propria tabella arp anche l’IP di host B e restituisce il proprio mac a Host A come arp reply.

14ANDREA SARNERI - CORSO CESCOT 2010

Il livello di rete

REVERSE ARP (RARP)

E’ la funzione inversa a ARP ovvero dato un MAC address , trovare il corrispondente IP

RARP presuppone che sul segmento di rete vi sia un server in grado di rispondere alle richieste RARP, ovvero che contenga il database di tutte le associazioni MAC<>IP.

Caso tipico sono i terminali senza disco rigido, che al bootstrap non hanno assegnato un indirizzo IP, per cui devono avere almeno un microcodice in grado di implementare uno stack IP minimale in grado poi, tramite RARP , di rendere la macchina correttamente indirizzabile in rete e poter scaricare il codice relativo.RARP è in disuso per via del più recente protocollo BOOTP che opera però a livello di applicazione tramite trasporto UDP.

Page 8: Corso TECNICO DI RETE · 2011-01-09 · 09/01/2011 2 Il LIVELLO DI RETE –Internet Protocol Caratteristiche di IPv6 Problema della saturazione degli indirizzi Aumenta lo spazio di

09/01/2011

8

15ANDREA SARNERI - CORSO CESCOT 2010

Il livello di rete

IL COMANDO ARP

E’ la applicazione che utilizza il protocollo “arp” e consente di gestire la arp cache

A volte può essere necessario ripulire la cache arp con il comando <arp –d *> .Se si generano sulla rete situazioni conflittuali sui MAC address, in particolare il comando –d elimina anche tutte le entry di tipo “static” , per poi ricostruirle automaticamente quando serve accedere a un determinato IP

16ANDREA SARNERI - CORSO CESCOT 2010

Il livello di rete

Il protocollo ICMP (Internet Control Message Protocol

L'Internet Control Message Protocol (ICMP) è un protocollo di servizio che si preoccupa di trasmettere informazioni riguardanti malfunzionamenti, informazioni di controllo o messaggi tra i vari componenti di una rete di calcolatori.

ICMP è incapsulato direttamente in IP (è parte del protocollo di livello 3 della pila ISO/OSI), e non è quindi garantita la consegna a destinazione dei pacchetti. Viene utilizzato da molti programmi, tra cui ping e traceroute. D’altra parte ICMP è incapsulato in IP come se fosse un protocollo di livello superiore

Il protocollo ICMP è utilizzato per la diagnostica di interface IP e percorsi di routingdall’applicazione PING e TRACEROUTE

Page 9: Corso TECNICO DI RETE · 2011-01-09 · 09/01/2011 2 Il LIVELLO DI RETE –Internet Protocol Caratteristiche di IPv6 Problema della saturazione degli indirizzi Aumenta lo spazio di

09/01/2011

9

17ANDREA SARNERI - CORSO CESCOT 2010

Il livello di rete

Il protocollo ICMP (Internet Control Message Protocol

ANDREA SARNERI - CORSO CESCOT 2010 18

Il livello di rete

Il Comando PING

L’applicazione disponibile sia sotto windows che Unix/linux è PING.E’ una applicazione del protocollo ICMP ed è il comando più utilizzato per la diagnostica

misura il tempo, espresso in millisecondi, impiegato da uno o più pacchetti ICMP a raggiungere un altro computer o server in rete (sia essa Internet o LAN) ed a ritornare indietro all'origine. È prettamente utilizzato per verificare la presenza e la raggiungibilità di un altro computer connesso in rete e per misurare le latenze di trasmissione di rete.

Tecnicamente ping invia un pacchetto ICMP di tipo echo request e rimane in attesa di un pacchetto ICMP di tipo echo response in risposta. Solitamente infatti la parte di sistema operativo dedicata alla gestione delle reti (stack di rete) è programmata per rispondere automaticamente con un pacchetto di tipo echo response alla ricezione di un pacchetto di tipo echo request.

Page 10: Corso TECNICO DI RETE · 2011-01-09 · 09/01/2011 2 Il LIVELLO DI RETE –Internet Protocol Caratteristiche di IPv6 Problema della saturazione degli indirizzi Aumenta lo spazio di

09/01/2011

10

ANDREA SARNERI - CORSO CESCOT 2010 19

Il livello di rete

Il Comando TRACERTUtilizzabile da Windows come <tracert yourdomain.com>Consente di visualizzare il percorso (hops) del pacchetto fino alla destinazione

Utility on line utilizzabile per verifiche tramite ICMPhttp://tracert.com/

20ANDREA SARNERI - CORSO CESCOT 2010

Il livello di rete

Il protocollo IGMP (Internet Group Management ProtocolL'Internet Group Management Protocol è un protocollo per la gestione dei gruppi multicast. Costituisce il mezzo per un host di informare il router ad esso collegato che un'applicazione che funziona nell'host vuole unirsi a uno specifico gruppo multicast. IGMP opera fra un host e il router ad esso collegato direttamente, per coordinare i router multicast invece è richiesto un altro protocollo, così che i datagrammi multicast possano essere instradati alle loro destinazioni finali 1. Membership query: da router e puo' essere Generale o Specifico; 2. Membership report: da host; 3. Leave group: da host. Il primo messaggio consente di verificare se una sola macchina della rete è in ascolto. Se nessuna macchina è presente, il router termina la ricerca fino a nuova richiesta. Il secondo messaggio viene inviato a tutta la rete con un IP broadcast e permette di richiedere il ricevimento del flusso dei dati. Esso corrisponde inoltre alla risposta del membership query del router che chiede se c'è qualcuno in ascolto. Il terzo permette ad un hostdi finire la ricezione e lasciare il gruppo senza far capire nulla all'interlocutore.

Page 11: Corso TECNICO DI RETE · 2011-01-09 · 09/01/2011 2 Il LIVELLO DI RETE –Internet Protocol Caratteristiche di IPv6 Problema della saturazione degli indirizzi Aumenta lo spazio di

09/01/2011

11

21ANDREA SARNERI - CORSO CESCOT 2010

Il livello di Trasporto

22ANDREA SARNERI - CORSO CESCOT 2010

Il livello di Trasporto

4) Livello di trasporto: garantire la consegna complessiva del messaggio costituito dai vari frame, ottimizzando l’uso delle risorse di rete

5) Livello di sessione: garantire sincronizzazione end-to-end tra applicativi

Il Transport Control Protocol (TCP) riassume le funzionalità dei livelli 4 e 5 OSI:•Fornire il supporto affinchè due applicazioni siano in grado di scambiarsi flussi di bytesE quindi •Creare una connessione affidabile attraverso la quale sia garantita la consegna del messaggio senza errori, e sia gestita la congestione del traffico tra applicazione “produttore” e “consumatore”•Fornire gli strumenti per consentire applicazioni client server in ambiente multitasking/multiutente

Lo User Datagram Protocol (UDP) fornisce meno funzionalità rispetto al TCP, non aggiunge molto rispetto allo strato IP se non la possibilità di multiplexing, ovvero un meccanismo di commutazione per “sottoselezionare” processi sorgente e destinatari all’interno dello stesso host IP (porte), e un checksum.

Page 12: Corso TECNICO DI RETE · 2011-01-09 · 09/01/2011 2 Il LIVELLO DI RETE –Internet Protocol Caratteristiche di IPv6 Problema della saturazione degli indirizzi Aumenta lo spazio di

09/01/2011

12

23ANDREA SARNERI - CORSO CESCOT 2010

Il livello di Trasporto

Come avviene la comunicazione tra processi (IPC):

Nei sistemi operativi moderni, un socket è un'astrazione software progettata per poter utilizzare delle API standard e condivise per la trasmissione e la ricezione di dati attraverso una rete oppure come meccanismo di IPC. È il punto in cui il codice applicativo di un processo accede al canale di comunicazione per mezzo di una porta, ottenendo una comunicazione tra processi che lavorano su due macchine fisicamente separate. Dal punto di vista di un programmatore, un socket è un particolare oggetto sul quale leggere e scrivere i dati da trasmettere o ricevere.

Ci sono due tipi fondamentali di socket:

•i socket tradizionali su protocollo IP, usati in molti sistemi operativi per le comunicazioni attraverso un protocollo di trasporto (quali TCP o UDP);

•gli Unix domain socket (detti anche socket locali o socket in dominio Unix), usati nei sistemi operativi POSIX per le comunicazioni tra processi residenti sullo stesso computer.

24ANDREA SARNERI - CORSO CESCOT 2010

Il livello di Trasporto

Una comunicazione di tipo connection-oriented (TCP) richiede di passare attraverso tre fasi:

1) Apertura della connessione tra i due peer, ovvero la allocazione di adeguate risorse (buffers, contatori,ecc.) sia dallato sorgente che destinazione

2) Trasmissione dei dati con garanzia della consegna e gestione della congestione

3) Chiusura della connessione e liberazione delle risorse

Una comunicazione “connectionless” (UDP) non richiede le fasi 1) e 3) e nella fase 2) si limita alla trasmissione senza alcuna verifica

In entrambi i casi i processi utilizzatori delle connessioni possono essere più di uno grazie alla possibilità di sottoselezione offerta dalle “porte”

Page 13: Corso TECNICO DI RETE · 2011-01-09 · 09/01/2011 2 Il LIVELLO DI RETE –Internet Protocol Caratteristiche di IPv6 Problema della saturazione degli indirizzi Aumenta lo spazio di

09/01/2011

13

25ANDREA SARNERI - CORSO CESCOT 2010

Il livello di Trasporto

26ANDREA SARNERI - CORSO CESCOT 2010

Il livello di Trasporto

Page 14: Corso TECNICO DI RETE · 2011-01-09 · 09/01/2011 2 Il LIVELLO DI RETE –Internet Protocol Caratteristiche di IPv6 Problema della saturazione degli indirizzi Aumenta lo spazio di

09/01/2011

14

27ANDREA SARNERI - CORSO CESCOT 2010

Il livello di Trasporto

Standardizzazione e codifica delle porte TCP in relazione alle applicazioni

I numeri di porta sono a 16 bit e sono classificabili in tre gruppi:

1. 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 “well known”.

2. Le porte registrate invece sono spesso utilizzate come riferimento fra applicazioni, come una specie di accordo.

3. Le porte dinamiche invece sono tutte le altre, liberamente utilizzabili da tutte le applicazioni utente, salvo l'occupazione contemporanea da parte di qualche altro processo.

http://www.iana.org/assignments/port-numbers

28ANDREA SARNERI - CORSO CESCOT 2010

Il livello di Trasporto

Porta Descrizione Porta Descrizione

1/tcp TCP Multiplexor 104/tcp Dicom - Digital Imaging and Communications in Medicine

2/tcp compressnet Management Utility 110/tcp POP3 Post Office Protocol (E-mail)

3/tcp compressnet Compression Process 113/tcp ident vecchio sistema di identificazione dei server

7/tcp Echo Protocol 119/tcp NNTP usato dai newsgroups usenet

7/udp Echo Protocol 123/udp NTP usato per la sincronizzazione degli orologi client-server

9/tcp Discard Protocol 139/tcp NetBIOS

9/udp Discard Protocol 143/tcp IMAP4 Internet Message Access Protocol (E-mail)

13/tcp Daytime Protocol 161/udp SNMP Simple Network Management Protocol (Agent)

17/tcp Quote of the Day 162/udp SNMP Simple Network Management Protocol (Manager)

19/tcp Chargen Protocol 389/tcp LDAP

19/udp Chargen Protocol 411/tcp Direct Connect Usato per gli hub della suddetta rete

20/tcp FTP - Il file transfer protocol - data 443/tcp HTTPS usato per il trasferimento sicuro di pagine web

21/tcp FTP - Il file transfer protocol - control 445/tcp Microsoft-DS (Active Directory, share di Windows, Sasser-worm)

22/tcp SSH - Secure login, file transfer (scp, sftp) e port forwarding 445/udp Microsoft-DS SMB file sharing

23/tcp Telnet insecure text communications 465/tcp SMTP - Simple Mail Transfer Protocol (E-mail) su SSL

25/tcp SMTP - Simple Mail Transfer Protocol (E-mail) 514/udp SysLog usato per il system logging

53/tcp DNS - Domain Name Server 563/tcp NNTP Network News Transfer Protocol (newsgroup Usenet) su SSL

53/udp DNS - Domain Name Server 591/tcp FileMaker 6.0 Web Sharing (HTTP Alternate, si veda la porta 80)

67/udpBOOTP Bootstrap Protocol (Server) e DHCP Dynamic Host Configuration Protocol (Server) 631/udp

IPP / CUPS Common Unix printing system (Il server di stampa sui sistemi operativi UNIX/Linux)

68/udpBOOTP Bootstrap Protocol (Client) e DHCP Dynamic Host Configuration Protocol (Client) 636/tcp LDAP su SSL

69/udp TFTP Trivial File Transfer Protocol 666/tcp Doom giocato in rete via TCP

70/tcp Gopher 993/tcp IMAP4 Internet Message Access Protocol (E-mail) su SSL

79/tcp finger Finger 995/tcp POP3 Post Office Protocol (E-mail) su SSL

80/tcp HTTP HyperText Transfer Protocol (WWW)

88/tcp Kerberos Authenticating agent

104/tcp Dicom - Digital Imaging and Communications in Medicine

Page 15: Corso TECNICO DI RETE · 2011-01-09 · 09/01/2011 2 Il LIVELLO DI RETE –Internet Protocol Caratteristiche di IPv6 Problema della saturazione degli indirizzi Aumenta lo spazio di

09/01/2011

15

29ANDREA SARNERI - CORSO CESCOT 2010

Il livello di Trasporto

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 associato alla connessione TCP.Sequence number [32 bit] - Numero di sequenza, indica lo scostamento (espresso in byte) dell'inizio del segmento TCP all'interno del flusso completo, a partire dall' Initial Sequence Number (ISN), negoziato

all'apertura della connessione.Acknowledgment number [32 bit] - Numero di riscontro, ha significato solo se il flag ACK è settato a 1, e conferma la ricezione di una parte del flusso di dati nella direzione opposta, indicando il valore del prossimo

Sequence number che l'host mittente del segmento TCP si aspetta di ricevere.Data offset [4 bit] - Indica la lunghezza (in word da 32 bit) dell'header del segmento TCP; tale lunghezza può variare da 5 word (20 byte) a 15 word (60 byte) a seconda della presenza e della lunghezza del campo

facoltativo Options.

HEADER TCP

30ANDREA SARNERI - CORSO CESCOT 2010

Il livello di Trasporto

Flags [8 bit] - Bit utilizzati per il controllo del protocollo:

CWR (Congestion Window Reduced) - se settato a 1 indica che l'host sorgente ha ricevuto un segmento TCP con il flag ECE settato a 1 (aggiunto all'header in RFC 3168).ECE (ECN-Echo) - se settato a 1 indica che l'host supporta ECN (Explicit Congestion Notification) durante il 3-way

handshake (aggiunto all'header in RFC 3168).URG - se settato a 1 indica che nel flusso sono presenti dati urgenti alla posizione (offset) indicata dal campo Urgentpointer;

ACK - se settato a 1 indica che il campo Acknowledgment number è valido;PSH - se settato a 1 indica che i dati in arrivo non devono essere bufferizzati ma passati subito ai livelli superiori dell'applicazione;

RST - se settato a 1 indica che la connessione non è valida; viene utilizzato in caso di grave errore;SYN - se settato a 1 indica che l'host mittente del segmento vuole aprire una connessione TCP con l'hostdestinatario e specifica nel campo Sequence number il valore dell' Initial Sequence Number (ISN); ha lo scopo di

sincronizzare i numeri di sequenza dei due host. L'host che ha inviato il SYN deve attendere dall'host remoto un pacchetto SYN/ACK.FIN - se settato a 1 indica che l'host mittente del segmento vuole chiudere la connessione TCP aperta con l'host

destinatario. Il mittente attende la conferma dal ricevente (con un FIN-ACK). A questo punto la connessione è ritenuta chiusa per metà: l'host che ha inviato FIN non potrà più inviare dati, mentre l'altro host ha il canale di comunicazione ancora disponibile. Quando anche l'altro host invierà il pacchetto con FIN impostato la connessione,

dopo il relativo FIN-ACK, sarà considerata completamente chiusa.Advertise Window [16 bit] - Indica la dimensione della finestra di ricezione dell'host mittente, cioè il numero di byte che il mittente è in grado di accettare a partire da quello specificato dall'acknowledgment number.

Checksum [16 bit] - Campo di controllo utilizzato per la verifica della validità del segmento. Urgent pointer [16 bit] - Puntatore a dato urgente, ha significato solo se il flag URG è settato a 1 ed indica lo scostamento in byte a partire dal Sequence number del byte di dati urgenti all'interno del flusso.

Page 16: Corso TECNICO DI RETE · 2011-01-09 · 09/01/2011 2 Il LIVELLO DI RETE –Internet Protocol Caratteristiche di IPv6 Problema della saturazione degli indirizzi Aumenta lo spazio di

09/01/2011

16

31ANDREA SARNERI - CORSO CESCOT 2010

Il livello di Trasporto

Scenario client server multiutente:

In una architettura client server, il server normalmente è predisposto ad accettare richieste di dati da parte dei client, ovvero dovrà avere dei processi che sono continuamente in ascolto (socket in stato LISTEN) e si attivano con le necessarie azioni quando arriva una richiesta da soddisfare.

Il processo client dialoga con il processo server su una porta specifica. Se si vuole una connessione affidabile si deve usare il protocollo TCP, si deve creare una connessione (socket in stato ESTABLISHED), dopodichè il socket verrà chiuso.

La affidabilità della connessione TCP è affidata ad un protocollo handshaking con controllo di sequenza, e finestra scorrevole (sliding window).

Più socket possono essere attivi contemporaneamente, ogni socket è identificato da <protocollo, indirizzo IP, porta>

32ANDREA SARNERI - CORSO CESCOT 2010

Il livello di Trasporto

Scenario client server multiutente:

Page 17: Corso TECNICO DI RETE · 2011-01-09 · 09/01/2011 2 Il LIVELLO DI RETE –Internet Protocol Caratteristiche di IPv6 Problema della saturazione degli indirizzi Aumenta lo spazio di

09/01/2011

17

33ANDREA SARNERI - CORSO CESCOT 2010

Il livello di Trasporto

Apertura della connessione TCP

La procedura utilizzata per instaurare in modo affidabile una connessione TCP tra due host è chiamata three-way handshake (stretta di mano a 3 vie), indicando la necessità di scambiare 3 messaggi tra host mittente e host ricevente affinché la connessione sia creata correttamente. Consideriamo ad esempio che l'host A intenda aprire una connessione TCP con l'host B; i passi da seguire quindi sono:

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 Acknowledgmentnumber contiene il valore y+1 confermando la ricezione del ISN di B.

34ANDREA SARNERI - CORSO CESCOT 2010

Il livello di Trasporto

Chiusura della connessione TCP

Dopo che è stata stabilita, una connessione TCP non è considerata una singola connessione bidirezionale, ma piuttosto come l'affasciamento di due connessioni monodirezionali. Pertanto, ognuna delle parti deve terminare la sua connessione, e possono esistere anche connessioni aperte a metà, in cui solo uno dei due terminali ha chiuso la connessione e non può più trasmettere, ma può (e deve) ricevere i dati dall'altro terminale. Di conseguenza, la chiusura della connessione si può effettuare in due modi: con un handshake a tre vie, in cui le due parti chiudono contemporaneamente le rispettive connessioni, o con uno a quattro vie, in cui le due connessioni vengono chiuse in tempi diversi.

L'handshake a 3 vie è omologo a quello usato per l'apertura della connessione, con la differenza che il flag utilizzato è il FIN invece del SYN. Un terminale invia un pacchetto con la richiesta FIN, l'altro risponde con un FIN + ACK, ed infine il primo manda l'ultimo ACK, e l'intera connessione viene terminata.L'handshake a 4 vie invece viene utilizzato quando la disconnessione non è contemporanea tra i due terminali in comunicazione. In questo caso uno dei due terminali invia la richiesta di FIN, e attende l'ACK. L'altro terminale farà poi altrettanto, generando quindi un totale di 4 pacchetti.

Page 18: Corso TECNICO DI RETE · 2011-01-09 · 09/01/2011 2 Il LIVELLO DI RETE –Internet Protocol Caratteristiche di IPv6 Problema della saturazione degli indirizzi Aumenta lo spazio di

09/01/2011

18

35ANDREA SARNERI - CORSO CESCOT 2010

Il livello di Trasporto

36ANDREA SARNERI - CORSO CESCOT 2010

Il livello di Trasporto

HEADER UDP

L'UDP è un protocollo stateless, ovvero non tiene nota dello stato della connessione, dunque ha rispetto al TCP informazioni in meno da memorizzare, per cui la latenza di una connessione UDP è molto inferiore. Un server dedicato ad una particolare applicazione che scelga UDP come protocollo di trasporto può supportare molti più client attivi.

Page 19: Corso TECNICO DI RETE · 2011-01-09 · 09/01/2011 2 Il LIVELLO DI RETE –Internet Protocol Caratteristiche di IPv6 Problema della saturazione degli indirizzi Aumenta lo spazio di

09/01/2011

19

37ANDREA SARNERI - CORSO CESCOT 2010

Il livello di Trasporto

Problema del SYN FLOODING:

Il three-way handshake garantisce la creazione di un socket

Se l’arrivo di un SYN causa l’allocazione di risorse su di un server in attesa della chiusura delle tre fasi, può succedere che il mancato arrivo dell’ACK finale al server lasci “appeso” l’utilizzo delle risorse allocate indefinitamente. Se poi arrivano in maniera fraudolenta tanti SYN senza ACK di chiusura, dal server vengono allocate via via risorse fino alla saturazione e blocco del server.

38ANDREA SARNERI - CORSO CESCOT 2010

PROTOCOLLO NAT (Network Address Translation Protocol)

NAT è una tecnica che consiste nel modificare gli indirizzi dei pacchetti in transito attraverso un router.

Modifica dell’indirizzo mittente: serve a far apparire i pacchetti provenienti da più host come provenienti da un unico host: consente di “risparmiare” indirizzi IP pubblici. Altro vantaggio è “mascherare” gli host di provenienza garantendone la sicurezza. Questa tecnica è detta anche “IP masquerading” o “NAT dinamico” e sfrutta non solo un remapping dell’IP sorgente ma anche delle porte del pacchetto TCP/UDP

Modifica dell’indirizzo del destinatario: serve a rilanciare il pacchetto su un indirizzo di destinazione diverso da quello dichiarato. In una configurazione “di IP masquerading” si ha il cosiddetto “port forwarding” e il pacchetto destinato all’indirizzo pubblico su una certa porta viene reindirizzato su un host della rete privata

Page 20: Corso TECNICO DI RETE · 2011-01-09 · 09/01/2011 2 Il LIVELLO DI RETE –Internet Protocol Caratteristiche di IPv6 Problema della saturazione degli indirizzi Aumenta lo spazio di

09/01/2011

20

39ANDREA SARNERI - CORSO CESCOT 2010

Il livello di Trasporto

Applicazione del NAT: NAPT dinamicoUnico IP pubblico assegnato al router: lato WAN/PubblicoPool di indirizzi di classe privata assegnato al router: lato LAN/privato

40ANDREA SARNERI - CORSO CESCOT 2010

Il livello di Trasporto

Pacchetto in uscita all’host:Mitt. 192.168.1.10:80Dest. 74.125.39.104:80

Pacchetto in uscita al NAT routerMitt. 80.207.36.251:13000Dest. 74.125.39.104:80

Pacchetto di ritorno al router:Mitt. 74.125.39.104:13000Dest. 80.207.36.251:13000

Pacchetto di ritorno all’host:Mitt: 74.125.39.104:80Dest: 192.168.1.10:80…………………………Pacchetto in uscita al secondo host: Mitt. 192.168.1.11:80Dest. 74.125.39.104:80

Pacchetto in uscita al NAT routerMitt. 80.207.36.251:13001Dest. 74.125.39.104:80……………………..

192.168.1.1

80.207.36.251

74.125.39.104

192.168.1.10

192.168.1.11

Page 21: Corso TECNICO DI RETE · 2011-01-09 · 09/01/2011 2 Il LIVELLO DI RETE –Internet Protocol Caratteristiche di IPv6 Problema della saturazione degli indirizzi Aumenta lo spazio di

09/01/2011

21

41ANDREA SARNERI - CORSO CESCOT 2010

Il livello di Trasporto: esempio di port forwarding

Pacchetto in entrata verso l’host:Mitt. 74.125.39.104:80Dest. 80.207.36.251:8080

Pacchetto in entrata dal NAT routerMitt. 74.125.39.10:80Dest. 192.168.1.10:80

Pacchetto di risposta al NAT router:Mitt. 192.168.1.10:80Dest. 74.125.39.10:80

Pacchetto di risposta :Mitt: 80.207.36.251:8080Dest: 74.125.39.10:80…………………………Pacchetto in entrata al secondo host: Mitt. 74.125.39.104:80Dest. 80.207.36.251:8081

Pacchetto in entrata dal NAT routerMitt. 74.125.39.104:80Dest. 192.168.1.11:80……………………..

192.168.1.1

80.207.36.251

74.125.39.104

192.168.1.10

192.168.1.11

ANDREA SARNERI - CORSO CESCOT 2010 42

Livello di applicazioneFirewall

La funzionalità del Firewall è quella di creare un filtro sulle connessioni entranti ed uscenti, in questo modo il dispositivo innalza il livello di sicurezza della rete e permette sia agli utenti interni che a quelli esterni di operare nel massimo della sicurezza. Il firewall agisce sui pacchetti in transito da e per la zona interna potendo eseguire su di essi operazioni di: controllo,modifica e monitoraggio

Page 22: Corso TECNICO DI RETE · 2011-01-09 · 09/01/2011 2 Il LIVELLO DI RETE –Internet Protocol Caratteristiche di IPv6 Problema della saturazione degli indirizzi Aumenta lo spazio di

09/01/2011

22

ANDREA SARNERI - CORSO CESCOT 2010 43

Livello di applicazioneFirewall

Usualmente la rete viene divisa in due sottoreti: una, detta esterna, comprende l'intera Internet mentre l'altra interna, detta LAN (Local Area Network), comprende una sezione più o meno grande di un insieme di computer locali. In alcuni casi è possibile che si crei l'esigenza di creare una terza sottorete detta DMZ (o zona demilitarizzata) adatta a contenere quei sistemi che devono essere isolati dalla rete interna ma devono comunque essere protetti dal firewall.

Il più semplice è il packet filter, che si limita a valutare gli header di ciascun pacchetto, decidendo quali far passare e

quali no sulla base delle regole configurate. Ciascun pacchetto viene valutato solamente sulla base delle regole configurate, e per questo un firewall di questo tipo è detto anche stateless. Alcuni packet filter, analizzando i flagdell'header TCP, sono in grado di discriminare un pacchetto appartenente ad una "connessione TCP stabilita

(established)" rispetto a quelli che iniziano una nuova connessione, ma non sono in grado di riconoscere un pacchetto malevolo che finga di appartenere ad una connessione TCP stabilita. Molti router posseggono una funzione di packet filter.

Un firewall di tipo stateful inspection, tiene traccia di alcune relazioni tra i pacchetti che lo attraversano, ad esempio ricostruisce lo stato delle connessioni TCP.I firewall di tipo deep inspection effettuano controlli fino al livello 7 della pila ISO/OSI, ovvero valutano anche il

contenuto applicativo dei pacchetti, ad esempio riconoscendo e bloccando i dati appartenenti a virus o worm noti in una sessione HTTP o SMTP.I cosiddetti Application Layer Firewall sono apparati che intercettano le connessioni a livello applicativo. A questa

categoria appartengono i proxy. In tali casi, la configurazione della rete privata non consente connessioni dirette verso l'esterno, ma il proxy è connesso sia alla rete privata che alla rete pubblica, e permette alcune connessioni in modo selettivo, e solo per i protocolli che supporta.

ANDREA SARNERI - CORSO CESCOT 2010 44

Livello di applicazioneFirewall

La sintassi della configurazione di un firewall in molti casi è basata su un meccanismo di lista di controllo degli accessi (ACL), che possono essere statiche (quindi modificabili solo tramite configurazione esplicita) o dinamiche (cioè che possono variare in base allo stato interno del sistema, come ad esempio nel Port knocking).

Una funzione spesso associata al firewall è quella di NAT (traduzione degli indirizzi di rete), che può contribuire a rendere inaccessibili i calcolatori sulla rete interna.

Molti firewall possono registrare tutte le operazioni fatte (logging), effettuare registrazioni più o meno selettive (ad esempio, registrare solo i pacchetti che violano una certa regola, non registrare più di N pacchetti al secondo), e tenere statistiche di quali regole sono state più violate.

Page 23: Corso TECNICO DI RETE · 2011-01-09 · 09/01/2011 2 Il LIVELLO DI RETE –Internet Protocol Caratteristiche di IPv6 Problema della saturazione degli indirizzi Aumenta lo spazio di

09/01/2011

23

ANDREA SARNERI - CORSO CESCOT 2010 45

http://www.t1shopper.com/tools/port-scan/

http://tracert.com

Online tools per diagnostica su area WAN:

Comandi a prompt DOS per diagnostica TCP sull’host (disponibilieanche su UNIX/LINUX:<NETSTAT> consente di visualizzare i socket , porte, statistiche