Blog

IPv4: alla base di internet

Prima di IPSec, c’è il protocollo IP stesso, e la versione più diffusa e ancora ampiamente utilizzata è IPv4 (Internet Protocol version 4). È il protocollo che permette ai dati di viaggiare attraverso le reti, da un dispositivo all’altro, identificando univocamente ogni dispositivo connesso a Internet tramite un indirizzo IP.

IPv4 è un protocollo di livello di rete (Livello 3 del modello OSI) che si occupa dell’indirizzamento e del routing dei pacchetti di dati. Ogni dispositivo connesso a una rete IP ha un indirizzo IPv4 unico (ad esempio, 192.168.1.100), che è essenziale per instradare i dati alla destinazione corretta.

Esempio

Immagina di voler inviare una lettera: IPv4 è come il sistema postale che si occupa di mettere l’indirizzo del mittente e del destinatario sulla busta e di assicurarsi che la lettera arrivi a destinazione, anche se deve passare attraverso molti uffici postali intermedi.

Ogni pezzo di informazione che viaggia su una rete IP è suddiviso in piccoli blocchi chiamati pacchetti. Un pacchetto IPv4 è composto principalmente da due parti:

  1. L’Intestazione (Header): Questa è come l’intestazione della busta della tua lettera. Contiene tutte le informazioni necessarie per il routing e la gestione del pacchetto. Include:
    • Indirizzo IP Sorgente: L’indirizzo del mittente (da dove viene il pacchetto).
    • Indirizzo IP Destinazione: L’indirizzo del destinatario (dove deve andare il pacchetto).
    • Versione: Indica che si tratta di IPv4.
    • Lunghezza Intestazione: Quanto è lunga l’intestazione stessa.
    • Time to Live (TTL): Un contatore che diminuisce ogni volta che il pacchetto passa attraverso un router. Serve a evitare che i pacchetti girino all’infinito in caso di errori di routing.
    • Protocollo: Indica quale protocollo di livello superiore è contenuto nel payload (es. TCP, UDP, ICMP).
    • Altri campi per la gestione dei frammenti, la qualità del servizio, ecc.
  2. Il Payload (Data): Questa è come il contenuto della tua lettera. Contiene i dati effettivi che vengono inviati, che possono essere, ad esempio, un segmento TCP, un datagramma UDP, o i dati di un’applicazione.

Esempio Pratico:

Quando apri una pagina web (ad esempio, www.google.com), il tuo browser invia una richiesta. Questa richiesta viene suddivisa in pacchetti IPv4.

  • Ogni pacchetto avrà l’indirizzo IP del tuo computer come “Indirizzo IP Sorgente”.
  • Avrà l’indirizzo IP del server di Google come “Indirizzo IP Destinazione”.
  • Il “Payload” di questi pacchetti conterrà la tua richiesta HTTP.
  • I router lungo il percorso esamineranno l’indirizzo IP di destinazione nell’intestazione di ogni pacchetto per sapere dove inoltrarlo, fino a quando non raggiunge il server di Google.

Ecco un’immagine che illustra la struttura di un pacchetto IPv4.

Questa immagine mostra come l’intestazione IPv4 sia composta da vari campi che forniscono le istruzioni essenziali per il trasporto dei dati attraverso la rete, prima che il payload effettivo (il messaggio) venga consegnato alla destinazione.

IPv4: L’Indirizzo di Internet

IPv4 (Internet Protocol version 4) è la quarta versione del protocollo Internet ed è stato il protocollo di comunicazione standard per l’identificazione dei dispositivi su una rete. È il sistema che permette ai dati di viaggiare da un computer all’altro su Internet, un po’ come gli indirizzi postali permettono alle lettere di arrivare a destinazione.

Cos’è un Indirizzo IPv4?

Un indirizzo IPv4 è un numero a 32 bit che identifica in modo univoco un dispositivo (come un computer, uno smartphone, un server o un router) su una rete IP. Viene solitamente rappresentato in “notazione decimale puntata”, ad esempio 192.168.1.10. Ogni numero tra i punti può variare da 0 a 255.

Caratteristiche principali di IPv4:

  • Identificazione Unica: Ogni dispositivo su Internet ha un indirizzo IPv4 unico (almeno pubblicamente).
  • Numeri a 32 bit: Questo significa che ci sono circa 4,3 miliardi di indirizzi unici disponibili.
  • Gerarchico: Gli indirizzi sono strutturati in modo gerarchico per facilitare il routing.

Tipologie di Indirizzi IPv4: Pubblici, Privati e Speciali

Gli indirizzi IPv4 non sono tutti uguali; esistono diverse categorie con scopi specifici. Comprendere queste distinzioni è fondamentale per capire come funziona il routing su Internet e all’interno delle reti locali.

1. Indirizzi IPv4 Pubblici

Gli indirizzi IPv4 pubblici sono quelli univoci a livello globale e assegnati ai dispositivi che devono essere direttamente raggiungibili da Internet. Sono come gli indirizzi civici delle case che sono visibili e raggiungibili da chiunque.

Caratteristiche:

  • Routing su Internet: Possono essere instradati attraverso l’intera rete Internet.
  • Assegnazione: Vengono assegnati dalle autorità di registrazione Internet (come l’IANA e i RIR regionali) a provider di servizi Internet (ISP) o grandi organizzazioni, che a loro volta li sub-allocano ai propri clienti.
  • Costo: Essendo risorse limitate e globalmente uniche, gli indirizzi pubblici hanno un costo.

Esempi:

  • Il tuo indirizzo IP pubblico di casa: Quando navighi su Internet, il tuo router di casa (o il modem) ha un indirizzo IP pubblico assegnato dal tuo ISP. Questo è l’indirizzo con cui il mondo esterno “vede” la tua rete.
    • 93.45.12.189 (un esempio casuale di indirizzo assegnato a un router domestico)
  • Indirizzi di server web: I server che ospitano siti web hanno indirizzi IP pubblici in modo che chiunque possa accedervi.
    • 172.217.160.142 (uno degli indirizzi IP di https://www.google.com/search?q=Google.com)
    • 104.26.2.20 (un indirizzo IP di un sito web, ad esempio una CDN)
  • Indirizzi di server DNS: I server che traducono i nomi di dominio (es. https://www.google.com/search?q=google.com) in indirizzi IP.
    • 8.8.8.8 (un server DNS pubblico di Google)

2. Indirizzi IPv4 Privati

Gli indirizzi IPv4 privati sono riservati per l’uso all’interno di reti locali (LAN) e non sono instradabili su Internet. Sono come i numeri civici all’interno di un condominio: sono unici all’interno di quel condominio, ma possono ripetersi in altri condomini.

Caratteristiche:

  • Non instradabili su Internet: I router di Internet sono configurati per ignorare i pacchetti con indirizzi IP privati come sorgente o destinazione.
  • Riutilizzo: Le stesse gamme di indirizzi privati possono essere utilizzate contemporaneamente in milioni di reti locali diverse in tutto il mondo senza conflitti.
  • Necessità di NAT: Per permettere ai dispositivi con indirizzi privati di accedere a Internet, è necessario un meccanismo chiamato NAT (Network Address Translation). Il NAT traduce l’indirizzo IP privato del dispositivo in un indirizzo IP pubblico (quello del router) quando il traffico esce dalla rete locale verso Internet.

Gamme di Indirizzi Privati (definite dalla RFC 1918):

  • 10.0.0.0 a 10.255.255.255 (un’intera Classe A)
    • Esempio: 10.0.0.1, 10.10.20.5 (spesso usata in grandi reti aziendali)
  • 172.16.0.0 a 172.31.255.255 (una porzione di Classe B)
    • Esempio: 172.16.0.1, 172.20.100.25 (comune in reti di medie dimensioni o per VPN)
  • 192.168.0.0 a 192.168.255.255 (una Classe C completa)
    • Esempio: 192.168.1.1 (l’indirizzo predefinito di molti router domestici), 192.168.1.100 (un computer nella tua rete domestica)

Esempio di Utilizzo:

  • La tua rete domestica: Il tuo smartphone, computer, stampante, Smart TV, ecc., sono tutti nella tua rete locale e hanno indirizzi IP privati (es. 192.168.1.2, 192.168.1.3, 192.168.1.4). Il tuo router domestico è il dispositivo che ha l’IP pubblico e gestisce la traduzione NAT.

3. Indirizzi IPv4 Speciali (Alcuni Esempi)

Esistono anche altre categorie di indirizzi IPv4 con scopi specifici:

  • Loopback Address:
    • 127.0.0.1
    • Scopo: Questo indirizzo si riferisce sempre al dispositivo stesso. È usato per testare le funzionalità di rete locali o per far comunicare processi sullo stesso computer. Se fai un “ping 127.0.0.1”, stai testando la tua stessa scheda di rete e lo stack TCP/IP, senza che il traffico esca dal computer.
  • Link-Local Addresses (APIPA – Automatic Private IP Addressing):
    • 169.254.0.0 a 169.254.255.255
    • Scopo: Vengono assegnati automaticamente da un sistema operativo (es. Windows) a un’interfaccia di rete se non riesce a ottenere un indirizzo IP da un server DHCP (Dynamic Host Configuration Protocol). Questi indirizzi sono validi solo per comunicazioni all’interno dello stesso segmento di rete locale e non sono instradabili.
    • Esempio: Se il tuo PC non riesce a connettersi al router per ottenere un IP, potrebbe auto-assegnarsi un indirizzo come 169.254.10.20.
  • Multicast Addresses:
    • 224.0.0.0 a 239.255.255.255
    • Scopo: Utilizzati per la comunicazione “uno a molti”, dove un mittente invia dati a un gruppo specifico di destinatari contemporaneamente.
    • Esempio: Utilizzato per lo streaming video, videoconferenze o per la scoperta di servizi in rete.
  • Broadcast Address:
    • L’ultimo indirizzo in una sottorete (es. 192.168.1.255 per la rete 192.168.1.0/24).
    • Scopo: I pacchetti inviati a questo indirizzo vengono consegnati a tutti i dispositivi all’interno di quella specifica sottorete.
    • Esempio: Utilizzato da alcuni protocolli per scoprire servizi o dispositivi sulla rete locale.

Comprendere queste distinzioni è cruciale per la configurazione delle reti, la risoluzione dei problemi e la sicurezza informatica.

Come Funziona un Pacchetto IPv4

Quando invii dati su Internet, questi vengono suddivisi in piccoli blocchi chiamati pacchetti. Ogni pacchetto contiene non solo i dati che vuoi inviare, ma anche informazioni aggiuntive che permettono al pacchetto di raggiungere la sua destinazione. Queste informazioni sono contenute nell’intestazione (header) del pacchetto IPv4.

Immagina un pacchetto IPv4 come una lettera:

  • L’Intestazione (Header IPv4): È come la busta della lettera. Contiene tutte le informazioni necessarie per la spedizione e la consegna.
  • Il Payload (Dati): È il contenuto della lettera, ovvero i dati effettivi che stai inviando (ad esempio, una parte di una pagina web, un’email, un pezzo di un video).

 

Campi Chiave dell’Intestazione IPv4 (La “Busta” del Pacchetto)

 

L’intestazione IPv4 è composta da diversi campi, ognuno con uno scopo specifico. Ecco alcuni dei più importanti:

  • Version (Versione): Indica la versione del protocollo IP (per IPv4, è sempre 4).
  • Header Length (Lunghezza Intestazione): Specifica la lunghezza dell’intestazione stessa.
  • Type of Service (Tipo di Servizio) / Differentiated Services Code Point (DSCP): Indica la priorità o il tipo di servizio desiderato per il pacchetto (es. traffico voce ha priorità sul traffico email).
  • Total Length (Lunghezza Totale): La lunghezza totale del pacchetto (intestazione + payload).
  • Identification (Identificazione): Usato per identificare frammenti dello stesso pacchetto originale.
  • Flags (Flag): Contiene bit di controllo per la frammentazione.
  • Fragment Offset (Offset Frammento): Indica la posizione di un frammento all’interno del pacchetto originale.
  • Time to Live (TTL – Tempo di Vita): Un contatore che diminuisce ogni volta che il pacchetto attraversa un router. Quando arriva a zero, il pacchetto viene scartato per evitare loop infiniti nella rete.
  • Protocol (Protocollo): Indica il protocollo di livello superiore che il payload contiene (es. TCP, UDP, ICMP). Questo dice al sistema operativo destinatario a quale applicazione o servizio consegnare i dati.
  • Header Checksum (Checksum Intestazione): Un valore usato per verificare l’integrità dell’intestazione. Se l’intestazione viene corrotta durante il transito, il checksum non corrisponderà e il pacchetto verrà scartato.
  • Source IP Address (Indirizzo IP Sorgente): L’indirizzo IPv4 del mittente del pacchetto.
  • Destination IP Address (Indirizzo IP Destinazione): L’indirizzo IPv4 del destinatario del pacchetto.

 

Esempio Pratico Semplificato: L’Invio di un’Email

 

Immagina di inviare un’email dal tuo computer (indirizzo IP 192.168.1.10) a un server di posta (indirizzo IP 203.0.113.50).

  1. Creazione del Pacchetto:
    • Il tuo client di posta (es. Outlook, Gmail via browser) prepara l’email.
    • Il sistema operativo prende l’email e la suddivide in pacchetti più piccoli.
    • Per ogni pacchetto, crea un’intestazione IPv4. In questa intestazione, inserirà:
      • Source IP Address: 192.168.1.10 (il tuo computer)
      • Destination IP Address: 203.0.113.50 (il server di posta)
      • Protocol: TCP (perché l’email usa il protocollo TCP)
      • TTL: Un valore iniziale (es. 64 o 128)
      • E tutti gli altri campi necessari.
    • Il Payload di ogni pacchetto conterrà una parte dell’email.
  2. Viaggio attraverso la Rete:
    • Il tuo computer invia il pacchetto al tuo router di casa.
    • Il router legge l’indirizzo IP di destinazione (203.0.113.50) e sa dove inoltrare il pacchetto.
    • Il pacchetto viaggia di router in router su Internet. Ogni router che lo attraversa decrementa il valore del TTL.
    • Se un router rileva che il checksum dell’intestazione non è corretto, scarta il pacchetto (perché è danneggiato).
  3. Arrivo a Destinazione:
    • Il pacchetto raggiunge il server di posta (203.0.113.50).
    • Il server esamina l’intestazione, vede che il protocollo è TCP e che l’indirizzo di destinazione è il suo.
    • Passa il payload (i dati dell’email) al software del server di posta, che riassembla tutti i pacchetti per ricostruire l’email completa.

Questo processo si ripete per ogni pacchetto, garantendo che i dati arrivino a destinazione in modo corretto.

 

Illustrazione della Struttura di un Pacchetto IPv4

 

Ecco un’immagine che rappresenta la struttura di base di un pacchetto IPv4, con la sua intestazione e il payload:

Questa immagine mostra visivamente come l’intestazione (la “busta” con tutte le informazioni di routing) precede i dati effettivi (il “contenuto” del pacchetto).


Leggi pure
Pubblicità:

Sitemap - Visitatori in tempo rale - Privacy - Pagare.online by cap0l00p3r is licensed under CC BY 4.0