dall'RFC~719; esso nasce per disaccoppiare le applicazioni della struttura
hardware delle reti di trasmissione, e creare una interfaccia di trasmissione
dei dati indipendente dal sottostante substrato di rete, che può essere
dall'RFC~719; esso nasce per disaccoppiare le applicazioni della struttura
hardware delle reti di trasmissione, e creare una interfaccia di trasmissione
dei dati indipendente dal sottostante substrato di rete, che può essere
Per venire incontro alle diverse esigenze gli indirizzi di rete sono stati
originariamente organizzati in \textit{classi}, (rappresentate in
Per venire incontro alle diverse esigenze gli indirizzi di rete sono stati
originariamente organizzati in \textit{classi}, (rappresentate in
In realtà il problema non è propriamente legato al numero di indirizzi
disponibili; infatti con 32 bit si hanno $2^{32}$, cioè circa 4 miliardi,
In realtà il problema non è propriamente legato al numero di indirizzi
disponibili; infatti con 32 bit si hanno $2^{32}$, cioè circa 4 miliardi,
\textsl{etichetta di flusso}, vedi Sez.~\ref{sec:IP_ipv6_flow}\\
\textit{payload leght} & 16 bit &
\textsl{lunghezza del carico}, cioè del corpo dei dati che segue
\textsl{etichetta di flusso}, vedi Sez.~\ref{sec:IP_ipv6_flow}\\
\textit{payload leght} & 16 bit &
\textsl{lunghezza del carico}, cioè del corpo dei dati che segue
\textit{next header} & 8 bit & \textsl{testata successiva},
identifica il tipo di pacchetto che segue la testata di IPv6, usa gli
stessi valori del campo protocollo nella testata di IPv4\\
\textit{next header} & 8 bit & \textsl{testata successiva},
identifica il tipo di pacchetto che segue la testata di IPv6, usa gli
stessi valori del campo protocollo nella testata di IPv4\\
\item è stato eliminato il campo \textit{header lenght} in quanto le opzioni
sono state tolte dalla testata che ha così dimensione fissa; ci possono
essere più testate opzionali (\textsl{testate di estensione}, vedi
\item è stato eliminato il campo \textit{header lenght} in quanto le opzioni
sono state tolte dalla testata che ha così dimensione fissa; ci possono
essere più testate opzionali (\textsl{testate di estensione}, vedi
lunghezza all'interno.
\item la testata e gli indirizzi sono allineati a 64 bit, questo rende più
veloce il processo da parte di computer con processori a 64 bit.
lunghezza all'interno.
\item la testata e gli indirizzi sono allineati a 64 bit, questo rende più
veloce il processo da parte di computer con processori a 64 bit.
necessità di ricalcolare la checksum ad ogni passaggio di un pacchetto per
il cambiamento del campo \textit{hop limit}.
\item è stato eliminato il campo \textit{type of service}, che praticamente
necessità di ricalcolare la checksum ad ogni passaggio di un pacchetto per
il cambiamento del campo \textit{hop limit}.
\item è stato eliminato il campo \textit{type of service}, che praticamente
sono state reimplementate (vedi il campo \textit{priority} al prossimo
punto) con altri metodi.
\item è stato introdotto un nuovo campo \textit{flow label}, che viene usato,
sono state reimplementate (vedi il campo \textit{priority} al prossimo
punto) con altri metodi.
\item è stato introdotto un nuovo campo \textit{flow label}, che viene usato,
indica la posizione del frammento rispetto al pacchetto originale\\
\textit{time to live} & 16 bit & \textsl{tempo di vita},
ha lo stesso significato di
indica la posizione del frammento rispetto al pacchetto originale\\
\textit{time to live} & 16 bit & \textsl{tempo di vita},
ha lo stesso significato di
\begin{itemize}
\item il broadcasting non è previsto in IPv6, le applicazioni che lo usano
dovono essere reimplementate usando il multicasting (vedi
\begin{itemize}
\item il broadcasting non è previsto in IPv6, le applicazioni che lo usano
dovono essere reimplementate usando il multicasting (vedi
\item è stato introdotto un nuovo tipo di indirizzi, gli \textit{anycast}.
\item i router non possono più frammentare i pacchetti lungo il cammino, la
frammentazione di pacchetti troppo grandi potrà essere gestita solo ai
\item è stato introdotto un nuovo tipo di indirizzi, gli \textit{anycast}.
\item i router non possono più frammentare i pacchetti lungo il cammino, la
frammentazione di pacchetti troppo grandi potrà essere gestita solo ai
\item IPv6 richiede il supporto per il \textit{path MTU discovery} (cioè il
protocollo per la selezione della massima lunghezza del pacchetto); seppure
questo sia in teoria opzionale, senza di esso non sarà possibile inviare
\item IPv6 richiede il supporto per il \textit{path MTU discovery} (cioè il
protocollo per la selezione della massima lunghezza del pacchetto); seppure
questo sia in teoria opzionale, senza di esso non sarà possibile inviare
lasciano normalmente gli ultimi 64~bit a disposizione per questo livello, la
modalità più immediata è quella di usare uno schema del tipo mostrato in
\tabref{tab:IP_ipv6_uninterf} dove l'\textit{Interface Id} è dato dal
lasciano normalmente gli ultimi 64~bit a disposizione per questo livello, la
modalità più immediata è quella di usare uno schema del tipo mostrato in
\tabref{tab:IP_ipv6_uninterf} dove l'\textit{Interface Id} è dato dal
Per aumentare la velocità di processo, sia dei dati del livello seguente che
di ulteriori opzioni, ciascuna estensione deve avere una lunghezza multipla di
Per aumentare la velocità di processo, sia dei dati del livello seguente che
di ulteriori opzioni, ciascuna estensione deve avere una lunghezza multipla di
Dato che la maggior parte di queste estensioni non sono esaminate dai router
durante l'instradamento e la trasmissione dei pacchetti, ma solo all'arrivo
Dato che la maggior parte di queste estensioni non sono esaminate dai router
durante l'instradamento e la trasmissione dei pacchetti, ma solo all'arrivo
vengono trattate, consente di utilizzarle per scopi come l'autenticazione e la
sicurezza, improponibili con IPv4.
vengono trattate, consente di utilizzarle per scopi come l'autenticazione e la
sicurezza, improponibili con IPv4.
Con IPv4 non è possibile realizzare un meccanismo di autenticazione e
riservatezza a un livello inferiore al primo (quello di applicazione), con
IPv6 è stato progettata la possibilità di intervenire al livello del
Con IPv4 non è possibile realizzare un meccanismo di autenticazione e
riservatezza a un livello inferiore al primo (quello di applicazione), con
IPv6 è stato progettata la possibilità di intervenire al livello del
usate per fornire livelli di sicurezza a seconda degli utenti. La codifica
generale di questa architettura è riportata nell'RFC 2401.
usate per fornire livelli di sicurezza a seconda degli utenti. La codifica
generale di questa architettura è riportata nell'RFC 2401.
I pacchetti autenticati e crittografati portano un indice dei parametri di
sicurezza (SPI, \textit{Security Parameter Index}) che viene negoziato prima
di ogni comunicazione ed è definito dalla stazione sorgente. Nel caso di
I pacchetti autenticati e crittografati portano un indice dei parametri di
sicurezza (SPI, \textit{Security Parameter Index}) che viene negoziato prima
di ogni comunicazione ed è definito dalla stazione sorgente. Nel caso di
\subsection{Autenticazione}
Il primo meccanismo di sicurezza è quello della testata di autenticazione
\subsection{Autenticazione}
Il primo meccanismo di sicurezza è quello della testata di autenticazione
incrementare di pacchetto in pacchetto.
Completano la testata i dati di autenticazione che contengono un valore di
incrementare di pacchetto in pacchetto.
Completano la testata i dati di autenticazione che contengono un valore di
di dimensione pari a un multiplo intero di 32 bit e può contenere un padding
per allineare la testata a 64 bit. Tutti gli algoritmi di autenticazione
devono provvedere questa capacità.
di dimensione pari a un multiplo intero di 32 bit e può contenere un padding
per allineare la testata a 64 bit. Tutti gli algoritmi di autenticazione
devono provvedere questa capacità.
modifica dell'MD5 chiamata \textit{keyed MD5} che combina alla codifica anche
una chiave che viene inserita all'inizio e alla fine degli altri campi.
modifica dell'MD5 chiamata \textit{keyed MD5} che combina alla codifica anche
una chiave che viene inserita all'inizio e alla fine degli altri campi.