Dopo aver spiegato
cos'è un indirizzo IP, la
dotted decimal notation, le diverse classi di indirizzi
IPv4 e le
subnet mask, approfondiamo il discorso riguardante gli indirizzi IP, introducendo il significato di indirizzo IP pubblico e privato.
Abbiamo già visto che esistono diverse classi di indirizzi IP; nella
RFC 1918 vengono definite ulteriori classi di indirizzi: 10.0.0.0–10.255.255.255; 172.16.0.0–172.31.255.255; 192.168.0.0–192.168.255.255. Gli indirizzi appartenenti alle classi sopraelencate sono riservati per essere
assegnati alle reti locali e vengono detti
indirizzi privati. Per chiarire il motivo di questa definizione occorre accennare al funzionamento di un router.
Un router dispone di almeno due interfacce; solitamente una viene definita WAN, alla quale viene collegata appunto la Wide Area Network, ossia l'accesso alla rete esterna, e una o più porte LAN, alle quali vengono collegate le diverse postazioni della rete locale. A ogni porta del router viene attribuito un diverso indirizzo IP: mentre quello della porta WAN è spesso assegnato dal provider che fornisce la connessione, gli indirizzi delle porte LAN sono attribuiti dall'amministratore della rete, mediante diverse modalità che illustreremo in seguito parlando del protocollo DHCP.
Gli indirizzi delle porte LAN saranno scelti in una delle classi di indirizzi privati, mentre l'indirizzo della porta WAN nella maggior parte dei casi –
Fastweb, ad esempio, è una delle eccezioni – è un indirizzo non appartenente alle classi viste prima, per cui è detto
indirizzo IP pubblico.
La necessità di avere queste classi di indirizzi IP privati nasce dalla
limitatezza degli indirizzi disponibili, e dalla considerazione che in molti casi un host non deve essere raggiungibile dall'esterno o deve utilizzare solo un set limitato di servizi (ad esempio il servizio FTP e l'e-mail): in questi casi non è necessario che queste macchine abbiano un indirizzo IP univoco all'interno di tutta la rete internet, ma basta che ne abbiano uno distinto da quello attribuito a tutti gli altri host della propria rete locale.
L'accesso ai servizi richiesti potrà essere gestito con l'utilizzo di un gateway a livello applicativo, o mediato da un router grazie alla
Network Address Translation (NAT), di cui parleremo approfonditamente in seguito.
In pratica in due diverse reti locali, ad esempio di due differenti aziende, potranno esistere due host distinti che
condividono lo stesso IP address privato, ad esempio 192.168.1.1, mentre gli indirizzi IP dei router, che consentono il collegamento a internet, dovranno utilizzare, tranne le eccezioni menzionate prima, indirizzi IP pubblici differenti.
Il motivo per cui questi ultimi indirizzi vengono detti pubblici dovrebbe essere adesso abbastanza chiaro:
un indirizzo IP pubblico è univoco all'interno di tutta la rete internet, e consente di raggiungere l'interfaccia associata all'indirizzo da qualsiasi computer della rete, da cui il nome. Al contrario, gli host, dotati di sole interfacce con indirizzo IP privato, non potranno essere accessibili dall'esterno della rete locale, a meno di non utilizzare le tecniche, ad esempio la
NAT, citate in precedenza.