Nei nostri articoli tecnici abbiamo di frequente fatto riferimento agli indirizzi IP e li abbiamo utilizzati sia in ambito locale, all’interno della rete locale LAN, sia sull’interfaccia che permette l’accesso a Internet (spesso è la porta WAN sul router). In breve, Un indirizzo IP pubblico (IP sta per Internet Protocol) è un numero che identifica univocamente un dispositivo (detto host) collegato alla rete Internet.
Quando un qualsiasi dispositivo si affaccia sulla rete con un suo indirizzo IP pubblico, ad esempio assegnato dall’operatore di telecomunicazioni, diventa potenzialmente raggiungibile da qualunque altro host a sua volta connesso su Internet.
Cos’è un indirizzo IP: gli aspetti più importanti
Esistono sia indirizzi IP pubblici che privati: i primi, come accennato in precedenza, sono utilizzati per raggiungere un host remoto connesso a Internet, stabilire una comunicazione e poi avviare uno scambio di dati. Gli indirizzi IP privati, invece, sono classi di indirizzi usati per identificare i sistemi collegati a una rete LAN: questi host non sono direttamente accessibili da Internet.
Ci sono comunque delle eccezioni (ne parliamo brevemente più avanti) in cui uno stesso indirizzo IP pubblico è condiviso tra più host.
Nel caso degli indirizzi IP pubblici, la prima parte dell’indirizzo identifica la rete mentre la seconda il singolo host. Ecco perché gli indirizzi IP sono fondamentali per l’instradamento e l’indirizzamento sulla rete Internet dei pacchetti dati: esaminando la prima parte dell’indirizzo pubblico, un router può immediatamente stabilire la rete di destinazione per i dati che devono essere trasferiti. Una volta raggiunta la sottorete locale di destinazione, la seconda parte dell’IP pubblico è utilizzata per veicolare i pacchetti dati verso l’host corretto.
L’Internet Protocol (IP) opera infatti subito al di sopra del livello fisico, al livello di collegamento (link) e sopra di esso sono “appoggiati” tutti i protocolli che continuiamo a usare ancora oggi, a distanza di oltre 40 anni dalla loro invenzione, come TCP, UDP e il più recente QUIC.
Provare per credere: ogni volta che ci si collega alla rete con il proprio router, l’operatore di telecomunicazioni assegna automaticamente a tale dispositivo un indirizzo IP pubblico. Conclusa l’operazione di assegnazione dell’indirizzo IP pubblico, il router risulta immediatamente raggiungibile attraverso la rete Internet: da qui l’importanza di verificare con attenzione la configurazione del router e accertarsi di non esporre in rete porte e altre informazioni.
Dove e come trovare l’indirizzo IP pubblico
Visitando uno dei seguenti siti Web, è possibile leggere l’indirizzo IP pubblico assegnato dal provider Internet al proprio router. Lo stesso indirizzo IP è generalmente condiviso da tutti i dispositivi collegati a valle usando un meccanismo che si chiama NAT (Network Address Translation): abbiamo dedicato a questo tema un intero approfondimento.
Aprendo i siti Web proposti di seguito da un dispositivo come il desktop, il notebook o lo smartphone connessi con il router, si leggerà sempre lo stesso indirizzo IP pubblico (posto che tutti i dispositivi siano connessi alla stessa rete locale):
Alcuni servizi (anche quelli citati) oppure l’apprezzato Maxmind, restituiscono non solo l’indirizzo IP pubblico ma utilizzando vari segnali consente di stabilire la posizione geografica dell’utente.
Per leggere subito l’IP pubblico da una finestra PowerShell si può digitare quanto segue e premere Invio:
Al posto di ifconfig.me/ip
, nel comando visto in precedenza, si può sostituire uno degli indirizzi dei siti indicati nella lista puntata proposta poco sopra.
A chi appartiene un indirizzo IP
Provate a copiare l’indirizzo IP pubblico restituito dai servizi suggeriti poco fa incollandolo nella casella di ricerca di DomainTools WHOIS. Si tratta di un servizio WHOIS che permette di sapere a quale soggetto appartiene un indirizzo IP pubblico.
Come si vede nell’esempio, l’indirizzo IP pubblico fa capo a una classe di indirizzi assegnata a TIM/Telecom Italia. In questo caso si tratta di un blocco formato da più di 131.000 indirizzi IP: tanti sono gli indirizzi compresi nell’intervallo specificato in corrispondenza di inetnum.
La subnet mask o netmask che si legge in corrispondenza della voce Route nel responso WHOIS, consente di risalire all’esatto intervallo di IP assegnati. La maschera di sottorete indicata dopo la barra (nell’esempio è 15), consente di ricavare la rete cui appartiene l’indirizzo IP specificato.
Gli indirizzi IP gestiti in ciascun blocco
Provate a digitare quanto accanto a Route (nell’immagine non è visibile ma l’informazione è presente nella parte finale del responso proposto dal servizio WHOIS) sul sito IP Calculator: vedrete quanti indirizzi IP sono gestiti all’interno del blocco al quale appartiene l’indirizzo assegnato al vostro router.
L’indirizzo IP pubblico assegnato dall’operatore di telecomunicazioni, può essere ricavato allo stesso modo anche quando si fosse connessi alla rete dati tramite lo smartphone o un qualunque dispositivo dotato di modem 4G/5G.
Usare IPinfo per estrarre al volo informazioni su qualunque indirizzo IP
Uno dei servizi che abbiamo suggerito in precedenza, è particolarmente abile nel fornire un riscontro su ciascun indirizzo IP. Non solo quindi il proprio, ma anche quelli utilizzati da terzi. Si tratta di IPinfo che, come si vede esaminando le informazioni in home page, restituisce anche l’indirizzo mnemonico o nome dell’host, la posizione geografica approssimativa, il nome dell’operatore di telecomunicazioni, la città, il fuso orario e così via.
Provate ad esempio a digitare uno degli URL seguenti nella barra degli indirizzi (sostituire <indirizzo_IP>
con l’indirizzo IP pubblico che deve essere oggetto di verifica):
ipinfo.io/<indirizzo_IP>/json
mostra la lista delle informazioni che si possono estrarreipinfo.io/<indirizzo_IP>/loc
riporta la locazione geografica dell’host indicatoipinfo.io/<indirizzo_IP>/org
restituisce il nome dell’azienda alla quale appartiene l’IP pubblicoipinfo.io/<indirizzo_IP>/city
riporta la città dalla quale è usato l’indirizzo IP specificatoipinfo.io/<indirizzo_IP>/region
indica la regione a cui corrisponde l’IP
Previa registrazione su IPinfo, è possibile anche verificare tramite API (Application Programming Interface), ad esempio, se un indirizzo IP appartenga a una VPN oppure alla rete Tor.
Condivisione dell’indirizzo IP pubblico tra più utenti
A seconda della configurazione utilizzata dal provider Internet, tuttavia, uno stesso indirizzo IP pubblico potrebbe essere condiviso tra più utenti. Lo schema NAT potrebbe essere quindi utilizzato non soltanto nell’ambito della rete LAN ma anche lato fornitore di accesso Internet.
In un altro articolo abbiamo presentato soluzioni come CGNAT e MAP-T usate per allungare la vita degli indirizzi IPv4 e che appunto prevedono la condivisione di uno stesso IP pubblico tra più abbonati.
In un altro nostro articolo parliamo della differenza tra indirizzi IPv4 e IPv6. Sebbene gli indirizzi IPv4 siano ancora prevalentemente utilizzati, soprattutto nelle reti locali, gli indirizzi IPv6 sono sfruttabili sia su Internet che in ambito LAN.
Nell’articolo Il mio IP: come trovarlo e a che cosa serve abbiamo visto che i moderni sistemi operativi sono da tempo pronti per supportare IPv6, protocollo che strutturando gli indirizzi a 128 bit anziché a 32 bit, come avviene con il “tradizionale” IPv4, permette di sopperire alla penuria di indirizzi “vecchio stampo”.
I quattro numeri separati da punti (ad esempio 8.8.8.8
è l’indirizzo di un server DNS Google) sono IPv4; quelli separati dai due punti (:) sono IPv6 (esempio: 2001:4860:4860::8888
, anch’esso corrispondente al server DNS Google).
Non tutte le reti degli operatori di telecomunicazioni, invece, supportano ad oggi IPv6 (provare ad effettuare questo test).
Indirizzi IP privati: a cosa servono
Quando si installa un router, il dispositivo solitamente riceve dall’operatore di telecomunicazioni un indirizzo IP pubblico mentre tutti i dispositivi connessi a valle del router (via cavo Ethernet o in modalità WiFi) usano un indirizzo IP privato.
All’interno della rete locale LAN, a ciascun dispositivo è sempre assegnato un IP privato univoco: non può essere uguale, per evitare conflitti, a quello usato da altri host collegati con la medesima rete. Gli IP privati sono di solito attribuiti da un server DHCP (di solito in esecuzione sempre sul router ma in alternativa anche su sistemi dedicati) negli intervalli che seguono:
- 10.0.0.0 – 10.255.255.255 (complessivamente 16.777.216 indirizzi, blocco da 24 bit: 224)
- 172.16.0.0 – 172.31.255.255 (1.048.576 indirizzi, blocco da 20 bit: 220)
- 192.168.0.0 – 192.168.255.255 (65.536 indirizzi, blocco da 16 bit; 216)
Si tratta di blocchi di IP individuati a suo tempo dallo IANA (Internet Assigned Numbers Authority) che non possono essere usati come IP pubblici ma solo all’interno delle reti LAN.
Scegliere quali indirizzi IP usare all’interno della rete locale
Il pannello di configurazione del router consente di decidere quali e quanti indirizzi IP privati possono essere assegnati dal server DHCP. Si può definire l’intervallo di assegnazione degli IP privati e, usando la subnet mask, il numero degli indirizzi utilizzabili (e di conseguenza il numero massimo di dispositivi che potranno collegarsi alla rete locale via Ethernet o WiFi).
L’uso della subnet mask impostata a 255.255.255.0
implica che saranno assegnabili al massimo 254 indirizzi, com’è immediato calcolare usando un IP subnet calculator.
Indirizzi IP privati possono essere assegnati anche usando lo schema IPv6: Unique Local IPv6 Unicast Addresses con spazio di indirizzamento fc00::/7
.
Gli IP privati che usano i dispositivi collegati in LAN
In Windows basta aprire il prompt dei comandi (premere la combinazione di tasti Windows+R
quindi digitare cmd
) e scrivere ipconfig
per ottenere gli indirizzi IPv4 e IPv6 correntemente assegnati alle varie interfacce di rete.
Il comando ip addr
permette di fare altrettanto in Linux e di conoscere gli IP privati usati dalle interfacce di rete.
Utilizzando il meccanismo NAT, i dispositivi connessi in rete locale possono inviare e ricevere dati colloquiando con gli IP pubblici degli host remoti condividendo l’IP pubblico assegnato al router.
Aprendo una o più porte in ingresso sul router e utilizzando la tecnica del port forwarding si può fare in modo che uno o più servizi in esecuzione su un dispositivo collegato alla rete locale possano essere raggiungibili dalla rete Internet (porta WAN). Il router, previa impostazione di un’opportuna regola, provvede a inoltrare le richieste di connessione in arrivo su una certa porta verso l’IP privato di un dispositivo connesso in LAN.
Come ottenere un elenco degli indirizzi privati usati dai dispositivi locali
L’apprezzata app Fing per i dispositivi Android consente di ottenere una lista completa di tutti i dispositivi collegati alla rete locale insieme con tutti i servizi in esecuzione su ciascuno di essi. È quindi possibile stabilire molto semplicemente chi è connesso alla rete WiFi o al router, anche via cavo Ethernet. Di applicazioni simili ne esistono tante: c’è ad esempio Angry IP Scanner, giusto per fare un nome, oppure c’è lo stesso pannello di amministrazione del router.
Una volta assegnati, gli indirizzi IP privati possono essere utilizzati per accedere alle risorse di ciascun dispositivo: i sistemi operativi mantengono la corrispondenza tra nome del dispositivo e IP attribuito. Digitando al prompt dei comandi ping
seguito dall’IP privato oppure dal nome dell’host si otterrà risposta:
Il comando ping può essere utilizzato anche per verificare la ricezione di una risposta da parte di sistemi remoti specificandone l’IP pubblico.
Va tenuto presente che per questioni di sicurezza non tutti gli host rispondono alle richieste ping
e in generale di tipo ICMP sull’IP pubblico.
Suggeriamo anche la lettura dell’articolo sui comandi Windows da conoscere per eseguire operazioni in rete.