IPv6 - Guida rapida
Internet Protocol versione 6, è un nuovo protocollo di indirizzamento progettato per incorporare tutto il tipo di requisito di Internet futuro noto a noi come versione Internet 2. Questo protocollo come il suo predecessore IPv4, funziona su Network Layer (Layer-3). Insieme alla sua offerta di un'enorme quantità di spazio di indirizzi logici, questo protocollo dispone di numerose funzionalità che risolvono le carenze odierne di IPv4.
Perché nuova versione IP?
Finora, IPv4 si è dimostrato un robusto protocollo di indirizzamento instradabile e ha servito gli esseri umani per decenni con il suo meccanismo di consegna del massimo sforzo. È stato progettato all'inizio degli anni '80 e in seguito non ha subito grandi cambiamenti. Al momento della sua nascita, Internet era limitato solo a poche Università per la loro ricerca e al Dipartimento della Difesa. IPv4 è lungo 32 bit e offre circa 4.294.967.296 (2 32 ) indirizzi. Questo spazio di indirizzi è stato considerato più che sufficiente quella volta. Di seguito sono riportati i punti principali che hanno svolto un ruolo chiave nella nascita di IPv6:
Internet è cresciuto in modo esponenziale e lo spazio degli indirizzi consentito da IPv4 si sta saturando. Esiste un requisito di protocollo che può soddisfare la necessità di futuri indirizzi Internet che dovrebbero crescere in modo inaspettato.
L'utilizzo di funzionalità come NAT, ha reso Internet discontinuo, ovvero una parte che appartiene alla intranet, utilizza principalmente indirizzi IP privati; che deve passare attraverso un numero di meccanismi per raggiungere l'altra parte, Internet, che si trova su indirizzi IP pubblici.
IPv4 da solo non fornisce alcuna funzione di sicurezza vulnerabile poiché i dati su Internet, che è di dominio pubblico, non sono mai al sicuro. I dati devono essere crittografati con qualche altra applicazione di sicurezza prima di essere inviati su Internet.
La priorità dei dati in IPv4 non è aggiornata. Sebbene IPv4 abbia pochi bit riservati per il tipo di servizio o la qualità del servizio, ma non forniscono molte funzionalità.
I client abilitati IPv4 possono essere configurati manualmente o richiedono un meccanismo di configurazione dell'indirizzo. Non esiste alcuna tecnica che possa configurare un dispositivo in modo che abbia un indirizzo IP univoco a livello globale.
Perché non IPv5?
Fino ad oggi, il protocollo Internet è stato riconosciuto solo con IPv4. Le versioni da 0 a 3 sono state utilizzate mentre il protocollo era in fase di sviluppo e processo sperimentale. Quindi, possiamo presumere che molte attività in background rimangano attive prima di mettere in produzione un protocollo. Allo stesso modo, la versione 5 del protocollo è stata utilizzata durante la sperimentazione del protocollo di streaming per Internet. È noto a noi come Internet Stream Protocol che utilizzava il protocollo Internet numero 5 per incapsulare il suo datagramma. Sebbene non sia mai stato portato in uso pubblico, ma era già utilizzato.
Ecco una tabella della versione IP e del loro utilizzo:
Breve storia
Dopo lo sviluppo di IPv4 all'inizio degli anni '80, il pool di indirizzi IPv4 disponibile ha iniziato a ridursi rapidamente poiché la domanda di indirizzi è aumentata in modo esponenziale con Internet. Prendendo pre-conoscenza della situazione che potrebbe sorgere, IETF, nel 1994, ha avviato lo sviluppo di un protocollo di indirizzamento per sostituire IPv4. Lo stato di avanzamento di IPv6 può essere monitorato tramite RFC pubblicato:
1998 - RFC 2460 - Protocollo di base
2003 - RFC 2553 - API Socket di base
2003 - RFC 3315 - DHCPv6
2004 - RFC 3775 - IPv6 mobile
2004 - RFC 3697 - Specifiche dell'etichetta di flusso
2006 - RFC 4291 - Architettura degli indirizzi (revisione)
2006 - RFC 4294 - Requisito del nodo
06 giugno 2012 alcuni giganti di Internet hanno scelto di mettere i propri server su IPv6. Attualmente stanno utilizzando il meccanismo Dual Stack per implementare IPv6 in parallelo con IPv4.
Il successore di IPv4 non è progettato per essere compatibile con le versioni precedenti. Cercando di mantenere le funzionalità di base dell'indirizzamento IP, IPv6 viene completamente riprogettato. Offre le seguenti caratteristiche:
Larger Address Space:
A differenza di IPv4, IPv6 utilizza 4 volte più bit per indirizzare un dispositivo su Internet. Questa gran parte di bit extra può fornire circa 3,4 × 10 38 diverse combinazioni di indirizzi. Questo indirizzo può accumulare il requisito aggressivo di assegnazione di indirizzi per quasi tutto in questo mondo. Secondo una stima, 1564 indirizzi possono essere assegnati a ogni metro quadrato di questa terra.
Simplified Header:
L'intestazione IPv6 è stata semplificata spostando tutte le informazioni e le opzioni non necessarie (che sono presenti nell'intestazione IPv4) alla fine dell'intestazione IPv6. L'intestazione IPv6 è solo due volte più grande di IPv4, a condizione che l'indirizzo IPv6 sia quattro volte più lungo.
End-to-end Connectivity:
Ogni sistema ora ha un indirizzo IP univoco e può attraversare Internet senza utilizzare NAT o altri componenti di traduzione. Dopo che IPv6 è stato completamente implementato, ogni host può raggiungere direttamente un altro host su Internet, con alcune limitazioni coinvolte come il firewall, le politiche dell'organizzazione, ecc.
Auto-configuration:
IPv6 supporta la modalità di configurazione automatica sia con stato che senza stato dei dispositivi host. In questo modo l'assenza di un server DHCP non interrompe la comunicazione tra segmenti.
Faster Forwarding/Routing:
L'intestazione semplificata inserisce tutte le informazioni non necessarie alla fine dell'intestazione. Tutte le informazioni nella prima parte dell'intestazione sono adeguate affinché un router prenda la decisione di instradamento, prendendo così la decisione di instradamento con la stessa rapidità con cui osserva l'intestazione obbligatoria.
IPSec:
Inizialmente è stato deciso che IPv6 dovesse avere la sicurezza IPSec, rendendolo più sicuro di IPv4. Questa funzione ora è stata resa opzionale.
No Broadcast:
Sebbene Ethernet / Token Ring siano considerati come reti di trasmissione perché supportano la trasmissione, IPv6 non ha più alcun supporto per la trasmissione. Utilizza il multicast per comunicare con più host.
Anycast Support:
Questa è un'altra caratteristica di IPv6. IPv6 ha introdotto la modalità Anycast di routing dei pacchetti. In questa modalità, a più interfacce su Internet viene assegnato lo stesso indirizzo IP Anycast. I router, durante il routing, inviano il pacchetto alla destinazione più vicina.
Mobility:
IPv6 è stato progettato tenendo presente la funzionalità di mobilità. Questa funzione consente agli host (come i telefoni cellulari) di spostarsi in un'area geografica diversa e di rimanere connessi con lo stesso indirizzo IP. La funzionalità di mobilità IPv6 sfrutta la configurazione IP automatica e le intestazioni di estensione.
Enhanced Priority support:
Dove IPv4 utilizzava DSCP a 6 bit (Differential Service Code Point) e ECN a 2 bit (Explicit Congestion Notification) per fornire la qualità del servizio, ma poteva essere utilizzato solo se i dispositivi end-to-end lo supportano, ovvero l'origine e la destinazione il dispositivo e la rete sottostante devono supportarlo.
In IPv6, la classe di traffico e l'etichetta di flusso vengono utilizzate per indicare ai router sottostanti come elaborare in modo efficiente il pacchetto e instradarlo.
Smooth Transition:
Lo schema di indirizzi IP di grandi dimensioni in IPv6 consente di allocare dispositivi con indirizzi IP univoci a livello globale. Ciò garantisce che il meccanismo per salvare gli indirizzi IP come NAT non sia richiesto. Quindi i dispositivi possono inviare / ricevere dati tra loro, ad esempio VoIP e / o qualsiasi supporto di streaming può essere utilizzato in modo molto efficiente.
Un altro fatto è che l'intestazione è meno caricata in modo che i router possano prendere decisioni di inoltro e inoltrarli non appena arrivano.
Extensibility:
Uno dei principali vantaggi dell'intestazione IPv6 è che è estensibile per aggiungere ulteriori informazioni nella parte delle opzioni. IPv4 fornisce solo 40 byte per le opzioni, mentre le opzioni in IPv6 possono essere pari alla dimensione del pacchetto IPv6 stesso.
Nella rete di computer, la modalità di indirizzamento si riferisce al meccanismo con cui ci rivolgiamo a un host sulla rete. IPv6 offre diversi tipi di modalità con cui è possibile indirizzare un singolo host, più di un host contemporaneamente o indirizzare l'host alla distanza più vicina.
Unicast
Nella modalità di indirizzamento unicast, un'interfaccia IPv6 (host) viene identificata in modo univoco in un segmento di rete. Il pacchetto IPv6 contiene indirizzi IP sia di origine che di destinazione. Un'interfaccia host è dotata di un indirizzo IP unico in quel segmento di rete. Uno switch o router di rete quando riceve un pacchetto IP unicast, destinato a un singolo host, invia a una delle sue interfacce in uscita che si connette a quel particolare host.
Multicast
La modalità multicast IPv6 è la stessa di IPv4. Il pacchetto destinato a più host viene inviato su uno speciale indirizzo multicast. Tutti gli host interessati a tali informazioni multicast, devono prima unirsi a quel gruppo multicast. Tutte le interfacce che hanno aderito al gruppo ricevono il pacchetto multicast e lo elaborano, mentre gli altri host non interessati ai pacchetti multicast ignorano le informazioni multicast.
Anycast
IPv6 ha introdotto un nuovo tipo di indirizzamento, denominato indirizzamento Anycast. In questa modalità di indirizzamento, a più interfacce (host) viene assegnato lo stesso indirizzo IP Anycast. Quando un host desidera comunicare con un host dotato di un indirizzo IP Anycast, invia un messaggio Unicast. Con l'aiuto di un meccanismo di routing complesso, quel messaggio Unicast viene consegnato all'host più vicino al mittente, in termini di costo di routing.
Facciamo un esempio di server Web TutorialPoints.com, situati in tutti i continenti. Si supponga che a tutti i server Web venga assegnato un unico indirizzo IP anycast IPv6. Ora, quando un utente dall'Europa vuole raggiungere TutorialsPoint.com, il DNS punta al server che si trova fisicamente nella stessa Europa. Se un utente dall'India tenta di raggiungere Tutorialspoint.com, il DNS punterà quindi al server Web situato fisicamente solo in Asia. I termini più vicino o più vicino vengono utilizzati in termini di costo del percorso.
Nell'immagine sopra, quando un computer client tenta di raggiungere un server, la richiesta viene inoltrata al server con il costo di instradamento più basso.
Sistema numerico esadecimale
Prima di introdurre il formato dell'indirizzo IPv6, esamineremo il sistema numerico esadecimale. L'esadecimale è un sistema numerico posizionale che utilizza la radice (base) di 16. Per rappresentare i valori in un formato leggibile, questo sistema utilizza i simboli 0-9 per rappresentare i valori da zero a nove e il simbolo AF per rappresentare i valori da dieci a quindici. Ogni cifra in esadecimale può rappresentare valori compresi tra 0 e 15.
Struttura degli indirizzi
Un indirizzo IPv6 è composto da 128 bit divisi in otto blocchi da 16 bit. Ogni blocco viene quindi convertito in numeri esadecimali di 4 cifre separati dal simbolo dei due punti.
Ad esempio, il seguente è un indirizzo IPv6 a 128 bit rappresentato in formato binario e diviso in otto blocchi da 16 bit:
0010000000000001 0000000000000000 0011001000110100 1101111111100001 0000000001100011 0000000000000000 0000000000000000 1111111011111011
Ogni blocco viene quindi convertito in esadecimale e separato dal simbolo ":":
2001: 0000: 3238: DFE1: 0063: 0000: 0000: FEFB
Anche dopo la conversione in formato esadecimale, l'indirizzo IPv6 rimane lungo. IPv6 fornisce alcune regole per abbreviare l'indirizzo. Queste regole sono:
Rule:1 Elimina gli zero iniziali:
Nel blocco 5, 0063, i due 0 iniziali possono essere omessi, ad esempio (5 ° blocco):
2001: 0000: 3238: DFE1: 63: 0000: 0000: FEFB
Rule:2 Se due o più blocchi contengono zeri consecutivi, ometterli tutti e sostituirli con il doppio segno di due punti ::, ad esempio (6 ° e 7 ° blocco):
2001: 0000: 3238: DFE1: 63 :: FEFB
I blocchi consecutivi di zeri possono essere sostituiti solo una volta da :: quindi se ci sono ancora blocchi di zeri nell'indirizzo possono essere ridotti a zero singolo, come (2 ° blocco):
2001: 0: 3238: DFE1: 63 :: FEFB
ID interfaccia
IPv6 ha tre diversi tipi di schema di indirizzi unicast. La seconda metà dell'indirizzo (gli ultimi 64 bit) viene sempre utilizzata per l'ID interfaccia. L'indirizzo MAC di un sistema è composto da 48 bit e rappresentato in esadecimale. L'indirizzo MAC è considerato assegnato in modo univoco in tutto il mondo. L'ID interfaccia sfrutta questa unicità degli indirizzi MAC. Un host può configurare automaticamente il proprio ID interfaccia utilizzando il formato IEEE Extended Unique Identifier (EUI-64). Innanzitutto, un host divide il proprio indirizzo MAC in due metà a 24 bit. Quindi il valore esadecimale a 16 bit 0xFFFE viene inserito in queste due metà dell'indirizzo MAC, risultando in un ID interfaccia a 64 bit.
Indirizzo unicast globale
Questo tipo di indirizzo è equivalente all'indirizzo pubblico di IPv4. Gli indirizzi Unicast globali in IPv6 sono identificabili a livello globale e indirizzabili in modo univoco.
Prefisso di instradamento globale: i 48 bit più significativi sono designati come Prefisso di instradamento globale assegnato a un sistema autonomo specifico. I tre bit più significativi del Global Routing Prefix sono sempre impostati su 001.
Indirizzo locale del collegamento
L'indirizzo IPv6 configurato automaticamente è noto come indirizzo locale di collegamento. Questo indirizzo inizia sempre con FE80. I primi 16 bit dell'indirizzo Link-Local sono sempre impostati su 1111 1110 1000 0000 (FE80). I successivi 48 bit sono impostati a 0, quindi:
Gli indirizzi Link-Local vengono utilizzati per la comunicazione tra host IPv6 solo su un collegamento (segmento di trasmissione). Questi indirizzi non sono instradabili, quindi un router non inoltra mai questi indirizzi al di fuori del collegamento.
Indirizzo locale univoco
Questo tipo di indirizzo IPv6, sebbene globalmente unico, dovrebbe essere utilizzato nelle comunicazioni locali. Questo indirizzo ha la seconda metà dell'ID interfaccia e la prima metà è divisa tra Prefisso, Bit locale, ID globale e ID di sottorete.
Il prefisso è sempre impostato su 1111 110. L bit, che è impostato su 1 se l'indirizzo è assegnato localmente. Finora il significato del bit L a 0 non è definito. Pertanto, l'indirizzo IPv6 locale univoco inizia sempre con "FD".
Ambito degli indirizzi unicast IPv6:
L'ambito dell'indirizzo Link-local è limitato al segmento. Gli indirizzi locali univoci sono anche se localmente globali ma non vengono instradati su Internet, limitando il loro ambito ai confini di un'organizzazione. Gli indirizzi Global Unicast sono globalmente unici e riconoscibili. Rappresentano l'essenza dell'indirizzamento Internet v2.
La versione 6 ha una struttura dell'indirizzo IP leggermente complessa rispetto a quella di IPv4. IPv6 ha riservato pochi indirizzi e notazioni di indirizzi per scopi speciali. Vedi la tabella qui sotto:
Indirizzi speciali:
Come mostrato nella tabella sopra 0: 0: 0: 0: 0: 0: 0: 0/128 l'indirizzo non specifica nulla e si dice che sia un indirizzo non specificato. Dopo la semplificazione, tutti gli 0 vengono compattati in :: / 128.
In IPv4, l'indirizzo 0.0.0.0 con netmask 0.0.0.0 rappresenta il percorso predefinito. Lo stesso concetto si applica anche a IPv6, indirizzo 0: 0: 0: 0: 0: 0: 0: 0 con netmask tutti gli 0 rappresentano il percorso predefinito. Dopo aver applicato la regola di semplice IPv6, questo indirizzo viene compresso in :: / 0.
Gli indirizzi di loopback in IPv4 sono rappresentati dalle serie da 127.0.0.1 a 127.255.255.255. Ma in IPv6, solo 0: 0: 0: 0: 0: 0: 0: 1/128 rappresenta l'indirizzo di loopback. Dopo aver semplicemente impostato l'indirizzo di loopback, può essere rappresentato come :: 1/128.
Indirizzo multicast riservato per i protocolli di routing:
La tabella sopra mostra gli indirizzi multicast riservati utilizzati dal protocollo di routing interno.
Tutti gli indirizzi sono riservati in modo IPv4 simile
Indirizzo multicast riservato per router / nodo:
Questi indirizzi aiutano router e host a parlare con i router e gli host disponibili su un segmento senza essere configurati con un indirizzo IPv6. Gli host utilizzano la configurazione automatica basata su EUI-64 per configurare automaticamente un indirizzo IPv6 e quindi comunica agli host / router disponibili sul segmento tramite questi indirizzi.
La meraviglia di IPv6 risiede nella sua intestazione. L'indirizzo IPv6 è 4 volte più grande di IPv4 ma l'intestazione IPv6 è solo 2 volte più grande di quella di IPv4. Le intestazioni IPv6 hanno un'intestazione fissa e zero o più intestazioni facoltative (estensione). Tutte le informazioni necessarie che sono essenziali per un router sono conservate nell'intestazione fissa. Extension Header contiene informazioni opzionali che aiutano i router a capire come gestire un pacchetto / flusso.
Intestazione fissa
L'intestazione fissa IPv6 è lunga 40 byte e contiene le seguenti informazioni.
SN | Campo e descrizione |
---|---|
1 | Version (4 bit): rappresenta la versione del protocollo Internet, ovvero 0110. |
2 | Traffic Class(8 bit): questi 8 bit sono divisi in due parti. I 6 bit più significativi vengono utilizzati per il tipo di servizio, che indica al router quali servizi dovrebbero essere forniti a questo pacchetto. I 2 bit meno significativi vengono utilizzati per l'ECN (Explicit Congestion Notification). |
3 | Flow Label(20 bit): questa etichetta viene utilizzata per mantenere il flusso sequenziale dei pacchetti appartenenti a una comunicazione. La sorgente etichetta la sequenza che aiuta il router a identificare che questo pacchetto appartiene a uno specifico flusso di informazioni. Questo campo aiuta a evitare il riordino dei pacchetti di dati. È progettato per lo streaming / media in tempo reale. |
4 | Payload Length(16 bit): questo campo viene utilizzato per indicare ai router la quantità di informazioni contenute nel pacchetto nel suo payload. Il carico utile è composto da intestazioni di estensione e dati di livello superiore. Con 16 bit, è possibile indicare fino a 65535 byte, ma se le intestazioni di estensione contengono un'intestazione di estensione hop-by-hop, il carico utile può superare i 65535 byte e questo campo è impostato su 0. |
5 | Next Header(8 bit): questo campo viene utilizzato per indicare il tipo di Extension Header oppure, se non è presente Extension Header, indica la PDU di livello superiore. I valori per il tipo di PDU di livello superiore sono gli stessi di IPv4. |
6 | Hop Limit(8 bit): questo campo viene utilizzato per interrompere il ciclo continuo del pacchetto nella rete. Questo è lo stesso di TTL in IPv4. Il valore del campo Hop Limit viene decrementato di 1 quando passa un collegamento (router / hop). Quando il campo raggiunge 0 il pacchetto viene scartato. |
7 | Source Address (128 bit): questo campo indica l'indirizzo del mittente del pacchetto. |
8 | Destination Address (128 bit): questo campo fornisce l'indirizzo del destinatario previsto del pacchetto. |
Intestazioni di estensione
In IPv6, l'intestazione fissa contiene solo le informazioni necessarie ed evita le informazioni non richieste o utilizzate raramente. Tutte queste informazioni vengono inserite tra l'intestazione fissa e l'intestazione del livello superiore sotto forma di intestazioni di estensione. Ogni intestazione estensione è identificata da un valore distinto.
Quando vengono utilizzate le intestazioni di estensione, il campo Intestazione successiva dell'intestazione fissa IPv6 punta alla prima intestazione di estensione. Se è presente un'altra intestazione estensione, il campo "Intestazione successiva" della prima intestazione estensione punta al secondo e così via. Il campo "Next-Header" dell'ultima Extension Header punta a Upper Layer Header. Quindi tutte le intestazioni dal punto al successivo in un modo elenco collegato.
Se il campo Intestazione successiva contiene il valore 59, indica che non c'è intestazione dopo questa intestazione, nemmeno l'intestazione del livello superiore.
Le seguenti intestazioni di estensione devono essere supportate come da RFC 2460:
La sequenza delle intestazioni di estensione dovrebbe essere:
Queste intestazioni:
1. Deve essere elaborato dalla prima destinazione e dalle destinazioni successive.
2. Deve essere elaborato da destinazione finale.
Le intestazioni di estensione sono disposte una dopo l'altra in un modo elenco collegato, come illustrato nel diagramma seguente:
In IPv4, un host che vuole comunicare con un altro host sulla rete, deve prima avere un indirizzo IP acquisito tramite DHCP o tramite configurazione manuale. Non appena un host è dotato di un indirizzo IP valido, è ora in grado di parlare con qualsiasi host sulla sottorete. Per comunicare sul livello 3, un host deve anche conoscere l'indirizzo IP dell'altro host. La comunicazione su un collegamento, viene stabilita mediante indirizzi MAC hardware incorporati. Per conoscere l'indirizzo MAC dell'host il cui indirizzo IP è noto, un host invia la trasmissione ARP e, a sua volta, l'host previsto invia il suo indirizzo MAC.
In IPv6, non esiste un meccanismo di trasmissione. Non è necessario per un host abilitato IPv6 ottenere l'indirizzo IP da DHCP o configurato manualmente, ma può configurare automaticamente il proprio IP. Quindi, come comunica un host con altri su una rete abilitata IPv6?
ARP è stato sostituito da ICMPv6 Neighbor Discovery Protocol.
Neighbor Discovery Protocol
Un host nella rete IPv6 è in grado di autoconfigurarsi con un indirizzo link-local univoco. Non appena è dotato di un indirizzo IPv6, si unisce a una serie di gruppi multicast. Tutte le comunicazioni relative a quel segmento avvengono solo su quegli indirizzi multicast. Un host passa attraverso una serie di stati in IPv6:
Neighbor Solicitation: Dopo aver configurato tutti gli IPv6 manualmente o tramite server DHCP o configurazione automatica, l'host invia un messaggio di richiesta del vicino a FF02 :: indirizzo multicast 1/16 per tutti i suoi indirizzi IPv6 in modo da sapere che nessun altro occupa lo stesso indirizzi.
DAD (Duplicate Address Detection): Quando l'host non ascolta nulla dal segmento per quanto riguarda il suo messaggio di richiesta dei vicini, presume che non esista alcun indirizzo duplicato sul segmento.
Neighbor Advertisement: Dopo aver assegnato gli indirizzi alle sue interfacce e averle rese attive e funzionanti, l'host invia ancora una volta un messaggio di annuncio Neighbor per dire a tutti gli altri host sul segmento che ha assegnato quegli indirizzi IPv6 alle sue interfacce.
Una volta che un host ha terminato la configurazione dei suoi indirizzi IPv6, esegue le seguenti operazioni:
Router Solicitation: Un host invia un pacchetto multicast Router Solicitation (FF02 :: 2/16) sul proprio segmento per conoscere la presenza di qualsiasi router su questo segmento. Questo aiuta l'host a configurare il router come gateway predefinito. Se il suo router gateway predefinito non funziona, l'host può passare a un nuovo router e renderlo il gateway predefinito.
Router Advertisement: Quando un router riceve un messaggio di richiesta del router, risponde all'host che annuncia la sua presenza su quel collegamento.
Redirect: Questa può essere la situazione in cui un router riceve una richiesta di richiesta di router ma sa che non è il miglior gateway per l'host. In questa situazione, il router restituisce un messaggio di reindirizzamento dicendo all'host che è disponibile un router "next-hop" migliore. Next-hop è dove l'host invierà i suoi dati destinati a un host che non appartiene allo stesso segmento.
In IPv4, gli indirizzi venivano creati in classi. Gli indirizzi IPv4 di classe definiscono chiaramente i bit utilizzati per i prefissi di rete ei bit utilizzati per gli host su quella rete. Per la sottorete in IPv4 giochiamo con la maschera di rete classica predefinita che ci consente di prendere in prestito bit host da utilizzare come bit di sottorete. Ciò si traduce in più sottoreti ma meno host per sottorete. Cioè, quando prendiamo in prestito il bit host per creare una sottorete che ci costa in un bit inferiore da utilizzare per gli indirizzi host.
Gli indirizzi IPv6 utilizzano 128 bit per rappresentare un indirizzo che include bit da utilizzare per il subnetting. La seconda metà dell'indirizzo (64 bit meno significativi) viene sempre utilizzata solo per gli host. Pertanto, non vi è alcun compromesso se subnet la rete.
16 bit di sottorete è equivalente alla rete di classe B di IPv4. Utilizzando questi bit di sottorete un'organizzazione può avere più di 65 migliaia di sottoreti, il che è di gran lunga più che sufficiente.
Quindi il prefisso di instradamento è / 64 e la porzione host è 64 bit. Tuttavia, possiamo subnet ulteriormente la rete oltre i 16 bit di ID di sottorete, prendendo in prestito i bit degli host, ma si consiglia di utilizzare sempre 64 bit per gli indirizzi degli host perché la configurazione automatica richiede 64 bit.
Il subnetting IPv6 funziona sullo stesso concetto del Subnet Masking a lunghezza variabile in IPv4.
Il prefisso / 48 può essere assegnato a un'organizzazione fornendo il vantaggio di avere fino a / 64 prefissi di sottorete, ovvero 65535 sottoreti, ciascuna con 2 64 host. Il prefisso A / 64 può essere assegnato a una connessione punto a punto in cui sono presenti solo due host (o dispositivi abilitati IPv6) su un collegamento.
Un problema nella transizione da IPv4 a IPv6 completamente è che IPv6 non è compatibile con le versioni precedenti. Ciò si traduce in una situazione in cui un sito è su IPv6 o non lo è. A differenza di un'implementazione di una nuova tecnologia in cui quella più recente è compatibile con le versioni precedenti, quindi il sistema precedente può ancora funzionare con la più recente senza ulteriori modifiche.
Per superare questa lacuna, esistono poche tecnologie che possono essere utilizzate nella transizione lenta e regolare da IPv4 a IPv6:
Router a doppio stack
Un router può essere installato con entrambi gli indirizzi IPv4 e IPv6 configurati sulle sue interfacce che puntano alla rete dello schema IP pertinente.
Nel diagramma sopra, un server che ha un indirizzo IPv4 e IPv6 configurato per esso ora può parlare con tutti gli host sulla rete IPv4 e sulla rete IPv6 con l'aiuto di Dual Stack Router. Dual Stack Router, può comunicare con entrambe le reti e fornisce agli host un mezzo per accedere al Server senza modificare la rispettiva versione IP.
Tunneling
In uno scenario in cui esistono diverse versioni IP sul percorso intermedio o sulla rete di transito, il tunneling fornisce una soluzione migliore in cui i dati dell'utente possono passare attraverso una versione IP non supportata.
Il diagramma sopra mostra come due reti IPv4 remote possono comunicare tramite Tunnel, dove la rete di transito era su IPv6. Viceversa è possibile anche dove la rete di transito è su IPv6 e siti remoti che intendono comunicare, sono su IPv4.
Traduzione del protocollo NAT
Questo è un altro importante metodo di transizione a IPv6 mediante un dispositivo abilitato NAT-PT (Network Address Translation - Protocol Translation). Con l'aiuto del dispositivo NAT-PT, la conversione effettiva avviene tra i pacchetti IPv4 e IPv6 e viceversa. Vedere lo schema seguente:
Un host con indirizzo IPv4 invia una richiesta a un server abilitato per IPv6 su Internet che non comprende l'indirizzo IPv4. In questo scenario, il dispositivo NAT-PT può aiutarli a comunicare. Quando l'host IPv4 invia un pacchetto di richiesta al server IPv6, al dispositivo / router NAT-PT, elimina il pacchetto IPv4, rimuove l'intestazione IPv4 e aggiunge l'intestazione IPv6 e lo passa attraverso Internet. Quando arriva una risposta dal server IPv6 per l'host IPv4, il router fa il contrario.
Quando un host è connesso a un collegamento o una rete, acquisisce un indirizzo IP e tutte le comunicazioni avvengono utilizzando quell'indirizzo IP su quel collegamento. Non appena, lo stesso host cambia la sua posizione fisica, cioè si sposta in una diversa area / sottorete / rete / collegamento, il suo indirizzo IP cambia di conseguenza e tutte le comunicazioni che avvengono sull'host utilizzando il vecchio indirizzo IP, si interrompono.
La mobilità IPv6 fornisce un meccanismo che fornisce a un host la capacità di spostarsi tra diversi collegamenti senza perdere alcuna comunicazione / connessione e il suo indirizzo IP.
Molteplici entità sono coinvolte in questa tecnologia:
Mobile Node: Il dispositivo che necessita di mobilità IPv6.
Home Link: Questo collegamento è configurato con il prefisso della sottorete domestica ed è qui che il dispositivo Mobile IPv6 ottiene il suo indirizzo di casa.
Home Address: Questo è l'indirizzo che Mobile Node acquisisce da Home Link. Questo è l'indirizzo permanente del Mobile Node. Se il Mobile Node rimane nello stesso Home Link, la comunicazione tra le varie entità avviene normalmente.
Home Agent: Questo è un router che funge da registrar per i nodi mobili. Home Agent è connesso a Home Link e conserva le informazioni su tutti i nodi mobili, i loro indirizzi di casa e i loro attuali indirizzi IP.
Foreign Link: Qualsiasi altro collegamento che non sia il collegamento Home di Mobile Node.
Care-of Address: Quando un nodo mobile si collega a un collegamento esterno, acquisisce un nuovo indirizzo IP della sottorete di quel collegamento esterno. Home Agent conserva le informazioni sia dell'indirizzo di casa che dell'indirizzo di cura. È possibile assegnare più indirizzi di assistenza al Mobile Node, ma in ogni caso solo un indirizzo di assistenza è vincolante con l'indirizzo di casa.
Correspondent Node: Qualsiasi dispositivo di abilitazione IPv6 che intende comunicare con Mobile Node.
Operazione di mobilità
Quando Mobile Node rimane nel suo Home Link, tutte le comunicazioni avvengono sul suo Home Address. Come mostrato di seguito:
Quando Mobile Node lascia il suo Home Link ed è connesso a qualche Foreign Link, entra in gioco la funzionalità Mobility di IPv6. Dopo la connessione al collegamento esterno, Mobile Node acquisisce un indirizzo IPv6 da collegamento esterno. Questo indirizzo si chiama Care-of Address. Mobile Node invia una richiesta vincolante al proprio agente domestico con il nuovo indirizzo di cura. Home Agent associa l'indirizzo di casa di Mobile Node con l'indirizzo Care-of, stabilendo un tunnel tra entrambi.
Ogni volta che un nodo corrispondente tenta di stabilire una connessione con il nodo mobile (sul suo indirizzo di casa), l'agente domestico intercetta il pacchetto e lo inoltra all'indirizzo di cura del nodo mobile sul tunnel che era già stato stabilito.
Ottimizzazione del percorso
Quando un nodo corrispondente inizia la comunicazione inviando pacchetti al nodo mobile sull'indirizzo di casa, questi pacchetti vengono incanalati al nodo mobile dall'agente domestico. Nella modalità di ottimizzazione del percorso, quando il nodo mobile riceve il pacchetto dal nodo corrispondente, non inoltra le risposte all'agente domestico. Piuttosto invia il suo pacchetto direttamente al nodo corrispondente utilizzando l'indirizzo di casa come indirizzo di origine. Questa modalità è opzionale e non utilizzata per impostazione predefinita.
I concetti di routing rimangono gli stessi nel caso di IPv6, ma quasi tutti i protocolli di routing sono stati ridefiniti di conseguenza. Abbiamo visto in Comunicazione nel segmento IPv6, come un host parla al suo gateway. L'instradamento è un processo per inoltrare dati instradabili scegliendo il percorso migliore tra diversi percorsi disponibili o percorso verso la destinazione. Un router è un dispositivo che inoltra dati che non gli sono esplicitamente destinati.
Esistono due forme di protocolli di routing
Distance Vector Routing Protocol: Un router che esegue il protocollo di vettore di distanza annuncia i suoi percorsi connessi e apprende nuovi percorsi dai suoi vicini. Il costo di instradamento per raggiungere una destinazione viene calcolato mediante hop tra la sorgente e la destinazione. Un router generalmente fa affidamento sul suo vicino per la migliore selezione del percorso, noto anche come "instradamento per voci". RIP e BGP sono protocolli di vettore di distanza.
Link-State Routing Protocol: Questo protocollo riconosce lo stato di un collegamento e fa pubblicità ai suoi vicini. Le informazioni sui nuovi collegamenti vengono apprese dai router peer. Dopo che tutte le informazioni di routing sono state convertite, il protocollo di routing dello stato dei collegamenti utilizza il proprio algoritmo per calcolare il percorso migliore per tutti i collegamenti disponibili. OSPF e IS-IS sono protocolli di routing dello stato del collegamento ed entrambi utilizzano l'algoritmo Shortest Path First di Dijkstra.
I protocolli di instradamento possono essere suddivisi in due categorie:
Interior Routing Protocol: I protocolli in queste categorie vengono utilizzati all'interno di un sistema o organizzazione autonoma per distribuire le rotte tra tutti i router all'interno del suo confine. Esempi: RIP, OSPF.
Exterior Routing Protocol: Mentre un protocollo di instradamento esterno distribuisce le informazioni di instradamento tra due diversi sistemi o organizzazioni autonome. Esempi: BGP.
Protocolli di instradamento
RIPng
RIPng è l'acronimo di Routing Information Protocol Next Generation. Questo è un protocollo di routing interno ed è un protocollo di vettore di distanza. RIPng è stato aggiornato per supportare IPv6.
OSPFv3
BGPv4
BGP sta per Border Gateway Protocol. È l'unico protocollo Exterior Gateway standard aperto disponibile. BGP è un protocollo Distance Vector che utilizza Autonomous System come metrica di calcolo, invece del numero di router come Hop. BGPv4 è un aggiornamento di BGP per supportare il routing IPv6.
Open Shortest Path First versione 3 è un protocollo di routing interno modificato per supportare IPv6. Questo è un Link-State Protocol e utilizza l'algoritmo Shortest Path First di Djikrasta per calcolare il percorso migliore verso tutte le destinazioni.
Protocolli modificati per supportare IPv6:
ICMPv6: Internet Control Message Protocol versione 6 è un'implementazione aggiornata di ICMP per soddisfare i requisiti IPv6. Questo protocollo viene utilizzato per funzioni diagnostiche, messaggi di errore e informativi, scopi statistici. Il Neighbor Discovery Protocol di ICMPv6 sostituisce ARP e aiuta a scoprire router adiacenti e router sul collegamento.
DHCPv6: Dynamic Host Configuration Protocol versione 6 è un'implementazione di DHCP. Sebbene gli host abilitati IPv6 non richiedano alcun server DHCPv6 per acquisire l'indirizzo IP in quanto possono essere configurati automaticamente. Né hanno bisogno di DHCPv6 per individuare il server DNS perché il DNS può essere scoperto e configurato tramite ICMPv6 Neighbor Discovery Protocol. Tuttavia è possibile utilizzare il server DHCPv6 per fornire queste informazioni.
DNS: Non c'è stata una nuova versione del DNS, ma ora è dotato di estensioni per fornire supporto per l'interrogazione di indirizzi IPv6. È stato aggiunto un nuovo record AAAA (quad-A) per rispondere ai messaggi di query IPv6. Ora il DNS può rispondere con entrambe le versioni IP (4 e 6) senza alcuna modifica nel formato della query.
IPv4 dal 1982, è leader indiscusso di Internet. Con l'esaurimento dello spazio degli indirizzi di IPv4, IPv6 sta assumendo il controllo di Internet, che si chiama Internet2.
IPv4 è ampiamente distribuito e la migrazione a IPv6 non sarebbe facile. Finora IPv6 potrebbe penetrare nello spazio degli indirizzi IPv4 di meno dell'1%.
Il mondo ha celebrato la "Giornata mondiale dell'IPv6" l'8 giugno 2011 con lo scopo di testare completamente l'indirizzo IPv6 su Internet. Il 6 giugno 2012 la comunità Internet ha lanciato ufficialmente IPv6. Oggi tutti gli ISP che offrivano IPv6 dovevano abilitarlo nel pubblico dominio e dovevano mantenerlo attivo. Tutto il produttore del dispositivo ha anche partecipato per offrire IPv6 abilitato per impostazione predefinita sui dispositivi.
Questo è stato un passo per incoraggiare la comunità Internet a migrare a IPv6.
Alle organizzazioni vengono forniti molti modi per migrare da IPv4 a IPv6. Inoltre, l'organizzazione, disposta a testare IPv6 prima di migrare completamente, può eseguire contemporaneamente IPv4 e IPv6. Reti di diverse versioni IP possono comunicare e i dati degli utenti possono essere inseriti in un tunnel per raggiungere l'altro lato.
Futuro di IPv6
Internet abilitato IPv6 versione 2 sostituirà Internet abilitato IPv4 di oggi. Quando Internet è stato lanciato con IPv4, i paesi sviluppati come gli Stati Uniti e l'Europa hanno preso lo spazio più ampio di IPv4 per la distribuzione di Internet nei rispettivi paesi, tenendo presenti le esigenze future. Ma Internet è esploso ovunque raggiungendo e collegando ogni paese del mondo aumentando il requisito dello spazio degli indirizzi IPv4. Di conseguenza, fino ad oggi negli Stati Uniti e in Europa è rimasto molto spazio per gli indirizzi IPv4 e paesi come l'India e la Cina sono tenuti a soddisfare il loro requisito di spazio IP mediante l'implementazione di IPv6.
La maggior parte della distribuzione di IPv6 viene eseguita al di fuori degli Stati Uniti, in Europa. L'India e la Cina stanno andando avanti per cambiare il loro intero spazio a IPv6. La Cina ha annunciato un piano di implementazione quinquennale denominato China Next Generation Internet.
Dopo il 6 giugno 2012 tutti i principali ISP sono stati spostati su IPv6 e gli altri sono ancora in movimento.
IPv6 offre ampio spazio di indirizzi ed è progettato per espandere i servizi Internet odierni. La versione Internet 2 abilitata per IPv6 ricca di funzionalità potrebbe fornire più del previsto.