Dal protocollo IP ai livelli superiori Prof. Enrico Terrone A. S: 2008/09 Protocollo IP Abbiamo visto che il protocollo IP opera al livello di rete definendo indirizzi a 32 bit detti indirizzi IP che permettono di identificare univocamente gli host di una rete geografica composta di tante reti locali. Abbiamo visto che questi indirizzi sono composti da una parte relativa alla rete locale e da una parte relativa al singolo host; la struttura che permette di identificare le due parti si chiama subnet mask. Abbiamo visto infine che il router è il dispositivo in grado di identificare gli indirizzi IP e quindi di decidere se un pacchetto deve restare sulla rete locale oppure essere instradato all esterno.
Indirizzi IP privati Poiché la domanda di indirizzi IP è maggiore della quantità disponibile, si è deciso di distinguere fra indirizzi IP pubblici (validi universalmente) e indirizzi IP privati (validi solo su una rete locale, e quindi riciclabili da una rete all altra). Gli indirizzi privati hanno dei valori specifici che non vengono utilizzati come indirizzi pubblici: ad esempio per la classe A si usano indirizzi 10.x.x.x, per la classe B: 172.x.x.x, per la classe C: 192.168.x.x Protocolli integrativi del livello di rete Il protocollo fondamentale del livello di rete è l IP, ma ci sono altri due protocolli che svolgono un ruolo decisivo: NAT (Network Address Translation): permette di tradurre gli indirizzi IP privati in indirizzi pubblici e viceversa, in modo da garantire un accesso temporaneo a Internet ai computer che hanno soltanto un indirizzo IP privato. ARP (Address Resolution Protocol): permette di tradurre gli indirizzi IP della rete locale in indirizzi MAC, in modo da poter spedire effettivamente il pacchetto sulla rete. Un host ha una tabella detta ARP cache che viene caricata con richieste broadcast.
NAT ARP
ARP Livello di trasporto Il protocollo fondamentale del livello di trasporto è il TCP (Trasmission Control Protocol), che usa il connessione resa possibile dal livello di rete per gestire la trasmissione dei dati (fa per la rete geografica quel che il data link faceva nella rete locale), in maniera sicura e affidabile. In alternativa al TCP si può usare l UDP (User Datagram Protocol), che è più veloce ma meno affidabile perché non usa il checksum (viene usato ad esempio nelle videoconferenze e nel VOIP). In termini tecnici si dice che TCP è orientato alla connessione mentre UDP non lo è.
Protocollo TCP Il livello di trasporto fa da mediatore fra la connessione di rete e le applicazioni che la usano per comunicare fra loro. Al livello di trasporto si devono quindi poter identificare non solo gli host, ma anche le applicazioni che stanno comunicando. A questo scopo, TCP associa a ciascuna applicazione un valore a 16 bit detto porta. Esempi di well-known ports (porte riservate): Server Web (80), FTP (20, 21), SMTP (25), DNS (53) Protocollo TCP La coppia (porta + indirizzo IP) si chiama socket; un applicazione che comunica su internet è identificata in maniera univoca dal suo socket: la porta dice di quale programma si tratta, mentre l IP dice su quale host gira. I dati al livello TCP si definiscono segmenti; hanno dimensioni da 1500 byte a 64 KB, e si incapsulano nei pacchetti; nell intestazione TCP si trovano: Numero di porta sorgente (16 bit) Numero di porta destinazione (16 bit) Cheksum (16 bit)
Il livello di applicazione Sul livello di trasporto può innestarsi direttamente il livello di applicazione (che all occorrenza ingloba il livello di sessione, per gestire una serie di comunicazioni successive, e il livello di presentazione, per rappresentazione, compressione e criptaggio dei dati). I protocolli del livello di applicazione definiscono le regole che i programmi devono seguire per una comunicazione che abbia uno scopo determinato. Le principali applicazioni di internet sono il World Wide Web (protocollo HTTP), la posta elettronica (SMTP + POP3), il trasferimento di file (FTP) e la connessione remota (Telnet). Protocolli del livello di applicazione HTTP (HyperText Transfer Protocol) Permette di trasferire da un applicazione webserver (Apache, IIS) a un applicazione web-client (browser: Explorer, Firefox, Chrome) una pagina codificata nel linguaggio HTML (HyperText Markup Language). SMTP (Simple Mail Transfer Protocol) Permette di inviare messaggi di posta elettronica POP3 (Post Office Protocol) Permette di scaricare messaggi di posta elettronica da un mail-server
Protocolli del livello di applicazione FTP (File Transfer Protocol) Permette di scaricare (download) o caricare (upload) file. Serve fra l altro ad aggiornare i siti. DNS (Domain Name System) Permette di convertire i nomi URL (Uniform Resource Locator) delle pagine negli indirizzi IP degli host dove queste pagine si trovano. Struttura dei nomi URL: [protocollo]://[servizio].[dominio].[regione]/[cartella]/[file] Es.: http://www.webalice.it/enriterr/3ctc.html Per conoscere l indirizzo IP di un sito il browser interroga un server DNS (del quale deve conoscere l IP), che fa parte di una rete gerarchica. Schema riassuntivo
Il flusso dei dati Comunicazione tramite socket
Sicurezza: firewall e proxy Il firewall e il proxy sono due servizi aggiuntivi (realizzabili sia in hardware sia in software) che servono a potenziare la sicurezza di una rete locale (intranet) connessa a Internet, cioè a impedire accessi non autorizzati ai dati presenti negli host della rete locale. Il firewall ( muro di fuoco ) si interpone fra la rete locale e Internet controllando gli accessi verso l esterno e verso l interno della rete locale. Il firewall filtra segmenti TCP e pacchetti IP in base a regole (indicazioni di indirizzi e porte pericolose). Sicurezza: firewall e proxy Il firewall può offrire anche servizi di NAT e può essere integrato col router. Il firewall a tre punte permette l accesso dall esterno soltanto a server pubblici presenti sulla rete locale (DMZ: DeMilitarized Zone). Il proxy effettua controlli aggiuntivi gestendo profili di utenti (interni ed esterni); offre inoltre il caching (memorizzazione in locale, fino a nuovo aggiornamento) delle pagine web più visitate.
Sicurezza: firewall e proxy