Un indirizzo IP (in inglese Internet Protocol Address) è una sorta di "etichetta" numerica che contraddistingue, in modo univoco, ciascun dispositivo connesso ad Internet (o ad un’altra rete informatica che utilizza l’Internet Protocol).
Ogni volta che ci connettiamo in Rete, quindi, ci viene assegnato un indirizzo IP il quale identifica, esattamente come avviene con le targhe delle automobili, la nostra connessione all’interno del web. Quando accendiamo il PC per navigare in Rete, quando usiamo lo smartphone per connetterci a Facebook o accediamo a Netflix mediante la Smart TV, il nostro provider telefonico ci assegna (automaticamente) un indirizzo IP… ma a cosa serve un IP Address?
A cosa serve l’indirizzo IP?
Attraverso l’indirizzo IP ciascun dispositivo connesso può "dialogare" con gli altri nodi della Rete (può, cioè, inviare e ricevere richieste sotto forma di pacchetti di dati).
L’indirizzo IP, infatti, funziona un po’ come i numeri di telefono: per parlare con una persona bisogna conoscere e comporre il suo numero. Allo stesso modo fanno i computer: per parlare tra di loro hanno bisogno di "chiamarsi" e per farlo, appunto, utilizzano gli indirizzi IP.
Indirizzi IP e anonimato
Il meccanismo descritto ha una conseguenza non secondaria: ciascuna attività compiuta in Rete è riconducibile al titolare dell’utenza telefonica attraverso la quale è stato effettuato l’accesso ad Internet.
Quest’ultimo aspetto è molto importante: navigando su Internet, diversamente da quanto alcuni possono pensare, non si è in uno stato di reale anonimato, in quanto – attraverso la memorizzazione di indirizzo IP, data e orario – ogni azione compiuta potrà essere ricollegata alla relativa utenza telefonica.
La sintassi degli indirizzi IP: gli standard IPv4 e IPv6
Attualmente gli indirizzi IP utilizzano prevalentemente la sintassi della quarta revisione del protocollo (comunemente conosciuta come IPv4). Secondo le regole definite da questa specifica, un indirizzo IP è una stringa di 32bit che corrisponde ad un numero binario a 32 cifre. Questa stringa viene rappresentata come una combinazione di quattro numeri (con valori compresi tra 0 e 255) separati da punti. Ad esempio:
123.1.22.133
Questo tipo di sintassi ha, tuttavia, un grosso limite: il numero di indirizzi IP che è possibile utilizzare è di "soli" 4,3 miliardi, un numero che può sembrare molto alto ma che in realtà è estremamente ridotto per le esigenze di una società sempre più interconnessa come la nostra.
Al fine di superare questi limiti, pertanto, è stata approvata una nuova specifica (IPv6) la quale consentirebbe di avere una riserva praticamente inesauribile (parliamo di un numero a 37 zeri) di indirizzi ip. Secondo tale specifica i nuovi ip sono stringhe di 128 bit o, più precisamente, numeri binari a 128 cifre, scritti mediante la notazione esadecimale in otto blocchi di 16 bit ciascuno. Vediamo un esempio dei nuovi ip secondo lo standard IPv6:
2001:0db8:85a3:0000:1319:8a2e:0370:7344
La migrazione da IPv4 a IPv6 è già in atto ma richiederà molti anni prima di concludersi con la piena adozione del secondo ed il contestuale abbandono del primo.
Indririzzi statici e dinamici
Gli indirizzi IP si distinguono in dinamici e statici:
- IP dinamico: un indirizzo IP si dice dinamico quando cambia ogni volta che un dispositivo accede alla Rete. In pratica, il provider telefonico, al fine di ottimizzare gli IP a sua disposizione, li assegna dinamicamente ai clienti al momento dell’effettivo accesso alla Rete per poi assegnarlo ad altri una volta terminata la sessione di navigazione.
- IP statico: un indirizzo IP si dice statico quando viene assegnato in via permanente. In questo caso, accedendo ad Internet, si avrà sempre lo stesso indirizzo IP.
Come conoscere il proprio indirizzo IP?
Esistono vari modi per conoscere il proprio IP. Se utilizzate Windows:
- accedere al prompt dei comandi;
- digitare ipconfig e premere INVIO;
L’indirizzo IP verrà stampato a video.
In alternativa è possibile conoscere facilmente il proprio IP utilizzando un servizio online come "Qual’è il mio IP?" del nostro sito Toolset.it
Come rilevare l’indirizzo IP di chi visita una pagina web
Attraverso i più comuni linguaggi di scripting server side è molto semplice rilevare l’indirizzo IP di chi sta visitando una pagina web. Di seguito alcuni snippet di codice per i linguaggi più popolari utilizzati per la costruzione di pagine web:
Classic ASP
Dim clientIp : clientIp = Request.ServerVariables("REMOTE_ADDR")
PHP
$clientIp = $_SERVER['REMOTE_ADDR'];
C#
string clientIp = Request.ServerVariables["REMOTE_ADDR"];
VB.Net
Dim clientIp As String clientIp = Request.ServerVariables("REMOTE_ADDR")
Python
import socket hostname = socket.gethostname() clientIp = socket.gethostbyname(hostname)
nodeJS
var clientIp = request.socket.remoteAddress