Per comunicare efficacemente, i computer devono essere in grado di comprendersi a vicenda. Su Internet, questa comunicazione è resa possibile dal fatto che tutti i dispositivi "parlano" la stessa lingua o protocollo (insieme di regole che debbono essere seguite da due o più interlocutori digitali affinché siano in grado di comunicare), ovvero, il Protocollo Internet (in inglese, Internet Protocol, in sigla IP). Verso la fine degli anni ‘70, si completò la realizzazione dell’Internet Protocol Suite, che comprende i due principali protocolli :
§ IP: Internet Protocol; responsabile dell'indirizzamento dei pacchetti dati tra i dispositivi
§ TCP: Transmission Control Protocol, da cui il nome TCP/IP, si occupa dell'affidabilità della trasmissione e del controllo del flusso.
Il protocollo IP costituisce la base di tutti gli altri sistemi di comunicazione su Internet. Trasmettere una qualsiasi comunicazione su Internet usando il protocollo IP è come inviare le pagine di un libro per posta usando moltissime buste differenti. Ogni busta, che rappresenta un pacchetto IP, contiene una porzione del messaggio, l'indirizzo del mittente e quello del destinatario. Anche se le buste possono viaggiare su percorsi diversi, alla fine tutte arrivano a destinazione, permettendo al "libro" (il messaggio completo) di essere ricomposto.
Come fanno i computer a trovare le strada giusta per ogni messaggio?
Viene impiegato uno schema di indirizzamento per i computer collegati in rete:
INDIRIZZI IP: ogni nodo (host) è dotato di un proprio indirizzo univoco, costituito da una sequenza di quattro numeri da 0 a 255 denominato indirizzo IP. Grazie a questi indirizzi, ogni computer e ogni utente della rete è in grado di individuare un nodo e inviargli dati
• NOMI DI COMINIO (DNS): sebbene i computer siano a loro agio nel gestire numeri, gli esseri umani preferiscono i nomi. Per questo motivo, al sistema di indirizzi numerici è stato affiancati un sistema di nomi simbolici, molto più facili da ricordare. Questo sistema si chiama Domain Name System (DNS), e i nomi assegnati ai computer su internet sono detti nomi di dominio (es. www.ipcbrunico.com). Essi sono composti da sequenze di caratteri alfanumerici divise da punti. Lo spazio dei nomi è diviso in zone (domini) gestite da server principale e server secondari che mantengono il database degli host inclusi nel dominio stesso.
in forma binaria: formato da 32 bit . Esempio: 11011001000110110100100011100100
in forma decimale: formato da 4 numeri decimali . Esempio: l’indirizzo corrispondente al precedente indirizzo binario è 217.27.72.228
in forma simbolica (DNS): formato da alcuni caratteri simbolici separati da punti. Esempio: www.ipcbrunico.com
L’indirizzo IP può essere logicamente suddiviso in due campi:
indirizzo della rete (netID): che identifica la rete a cui l'utente è collegato;
indirizzo del computer (hostID): che identifica un computer specifico all’interno di quella rete.
Gli indirizzi IP erano originariamente divisi in 5 classi (questo sistema è in gran parte superato dal CIDR, ma è utile per comprendere le basi):
Classe A: utilizza 7 bit per il NetID e 24 per l'HostID. Consente un numero massimo di 128 reti, ciascuna con fino a 2^24 = 15.777.216 computer.
Classe B: utilizza 14 per bit per il NetID e 16 per l'HostID. Adatta a reti che un numero di computer compreso tra 256 e 2^16 = 65536.
Classe C: utilizza 21 bit per il NetID e 8 bit per l'HostID. Impiegata per reti con meno di 256 computer.
Classe D: riservata ad applicazioni di multicast (comunicazione uno-a-molti).
Classe E: definita per usi futuri. Riconoscibile perché il primo campo dell’indirizzo è compreso tra 240 e 255.
Il protocollo IPV6 è stato sviluppato per sostituire IPv4, il quale, a causa della crescente diffusione di Internet, stava esaurendo lo spazio di indirizzamento disponibile. IPV6 introduce indirizzi IP lunghi 128 bit, offrendo un numero praticamene illimitato di indirizzi.
Vantaggi offerti da IPV6 rispetto a IPV4:
semplificazione delle procedure di instradamento
aumento dell’efficienza delle tabelle di instradamento
configurazione automatica degli indirizzo IP (autoconfigurazione)
un numero di indirizzi IP estremamente elevato
maggiore sicurezza integrata per l’informazione trasmessa
Mentre i primi due livelli dell'architettura ISO/OSI (physical e data link) sono di fatto standard di riferimento per le reti.
Questa suite di protocolli è gratuita e di uso libero, la sua descrizione è accessibile a tutti nella documentazione RFCs (Request For Comments), pubblicata dalla IAB (Internet Architecture Board). Questi protocolli sono oggi adottati non solo su Internet, ma anche in tutte le LAN, nelle Intranet e nelle Extranet.
Nel confronto tra i due modelli, si evidenzia la maggiore semplicità del modello TCP/IP, che si basa su quattro livelli:
Host to Network Access layer, corrispondente ai livelli FISICO e COLLEGAMENTO DATI del modello OSI
Internet layer, corrispondente al livello RETE del modello OSI
Transport Layer, per avendo lo stesso nome di OSI, in TCP/IP ingloba alcune funzioni aggiuntive
Application Layer, corrispondente ai livelli SESSIONE, PRESENTAZIONE e APPLICAZIONE del modello OSI
Anche nel modello TCP/IP, il passaggio da uno strato all'altro durante la trasmissione determina un incapsulamento delle informazioni, secondo il principio del valore aggiunto.
Il pacchetto viene costruito in fase di trasmissione: ogni strato accetta il pacchetto dal livello superiore, vi aggiunge un'intestazione (header), e lo passa (payload e header) allo strato sottostante. Questo processo si ripete fino al livello di accesso alla rete, che aggiunge anche una coda (trailer). In fase di ricezione, avviene il processo inverso: le intestazioni e le code vengono eliminate via via a ogni livello, fino a riottenere i dati originariamente trasmessi dall'host mittente.
1
Host to Network layer (livello di accesso alla rete)
Il primo livello corrisponde ai primi due layer di OSI (physical e data link), non ha una specifica regolamentazione definita direttamente dal TCP/IP, ma si affida agli standard già presenti in OSI. Include tutte le tecnologie effettivamente implementate nelle LAN e WAN (come IEEE 802.3 per le LAN e HDLC o PPP per le WAN). Il suo compito è individuare i mezzi e le procedure per realizzare la trasmissione fisica dei dati attraverso una rete.
2
Internet layer (livello Internet o IP)
Il livello Internet o livello IP, ha il compito fondamentale di instradare le informazioni verso il destinatario. Esso frammenta il messaggio in pacchetti (anche se la frammentazione può avvenire a vari livelli, l'IP si occupa della frammentazione a livello di rete se il pacchetto è troppo grande per il MTU del mezzo trasmissivo) e, tramite algoritmi di instradamento (routing), seleziona il percorso migliore nella rete utilizzando i router. L'identificazione dei nodi avviene grazie all'indirizzo IP (detto indirizzo logico per distinguerlo dal MAC o indirizzo fisico).
Una caratteristica distintiva di questo livello è il principio di best-effort delivery (miglior sforzo per spedire a destinazione) il che significa che i pacchetti di uno stesso messaggio possono arrivare al destinatario attraverso strade diverse e il servizio non garantisce nè l'arrivo, nè l'ordine, nè l'integrità dei pacchetti. Il livello IP non include infatti meccanismi di controllo e correzione degli errori; queste funzioni sono demandate ai protocolli di livello superiore.
Per la risoluzione degli indirizzi, vengono usati due protocolli ausiliari:
ARP (Address Resolution Protocol) individua l'indirizzo MAC di un dispositivo a partire dal suo indirizzo IP
RARP (Reverse Address Resolution Protocol) effettua l'operazione inversa, trovando l'indirizzo IP a partire da un indirizzo MAC
ICMP (Internet Control Message Protocol), protocollo utilizzato per i messaggi di controllo e diagnostica della rete.
3
Transport layer (livello di trasporto)
Il livello di trasporto crea una connessione logica tra l'applicazione sorgente e quella di destinazione, astraendo dalle specifiche tecniche della rete sottostante. Si occupa di riassemblare i pacchetti che giungono al destinatario per strade diverse, riorganizzando il messaggio nella sua forma originale.
I servizi forniti dal questo livello possono essere di due tipi principali:
orientato alla connessione (data stream): garantisce l'affidabilità del flusso di dati (sequenza corretta, controllo e correzione degli errori). Questo servizio è offerto dal protocollo TCP (Trasmission Control Protocol)
senza connessione: non offre garanzie di consegna o ordine, affidandosi al protocollo UDP ( User Datagram Protocol), spesso usato per applicazioni che privilegiano la velocità rispetto all'affidabilità.
4
Application layer (livello di applicazione)
Il livello di applicazione è il più vicino all'utente finale. Consente l'interfaccia con l'utente e fornisce tutti i servizi di connessione, gestione e utility di rete. Comprende una vasta gamma di protocolli di alto livello, ciascuno dedicato a specifiche funzioni:
FTP (File Transfer Protocol) per il trasferimento di file tra computer,
DNS (Domain Name System) per la corrispondenza tra i nomi di dominio e gli indirizzi di rete IP,
SMTP (Simple Mail Transfer Protocol) per l'invio di email,
Telnet( Terminal Emulation) per accedere in remoto ad un computer tramite emulazione di terminale,
NFS (Network File System) per l’accesso a file su un dispositivo di memorizzazione remoto, come un hard disk in rete,
SNMP (Simple Network Management Protocol) per monitorare e controllare dispositivi di rete, gestendo configurazioni, statistiche e sicurezza.