X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=ipprot.tex;h=a28e1d6b08753262ba7129f823c5d78964abdc30;hp=c02ba10d9be0307741c48a8f131c323715d11ce5;hb=2e715e70ba0df8224ec1bf118ba34a73a21df5c5;hpb=09473ed326013ece27d53cd5ff9f96064cbce9f3 diff --git a/ipprot.tex b/ipprot.tex index c02ba10..a28e1d6 100644 --- a/ipprot.tex +++ b/ipprot.tex @@ -1,7 +1,7 @@ \chapter{Il protocollo IP} \label{cha:ip_protocol} -L'attuale Internent Protocol (IPv4) viene standardizzato nel 1981 +L'attuale Internet Protocol (IPv4) viene standardizzato nel 1981 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 @@ -175,7 +175,7 @@ indirizzi disponibili. In realtà il problema non è propriamente legato al numero di indirizzi disponibili; infatti con 32 bit si hanno $2^{32}$, cioè circa 4 miliardi, -numeri diversi possibili, che sono molti di più dei computer attualemente +numeri diversi possibili, che sono molti di più dei computer attualmente esistenti. Il punto è che la suddivisione di questi numeri nei due livelli rete/host e @@ -290,9 +290,11 @@ numero dei campi da 12 a 8. \begin{table}[htb] \begin{center} \footnotesize - \begin{tabular}{ l c p{8cm}} + \begin{tabular}{|l|c|p{8cm}|} + \hline \textbf{Nome} & \textbf{Lunghezza} & \textbf{Significato} \\ - \toprule + \hline + \hline \textit{version} & 4 bit & \textsl{versione}, nel caso specifico vale sempre 6\\ \textit{priority} & 4 bit & @@ -301,7 +303,7 @@ numero dei campi da 12 a 8. \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 - l'intestazione, in bytes. \\ + l'intestazione, in byte. \\ \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\\ @@ -311,7 +313,7 @@ numero dei campi da 12 a 8. pacchetto, se arriva a zero il pacchetto viene scartato \\ \textit{source IP} & 128 bit & \textsl{indirizzo di origine} \\ \textit{destination IP}& 128 bit & \textsl{indirizzo di destinazione}\\ - \bottomrule + \hline \end{tabular} \caption{Legenda per il significato dei campi dell'intestazione di IPv6} \label{tab:IP_ipv6field} @@ -346,7 +348,7 @@ di IPv4 (vedi \secref{tab:IP_ipv4head}) mostra le seguenti differenze: 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 - non è mai stato utilizzato; una parte delle funzionalià ad esso delegate + non è mai stato utilizzato; una parte delle funzionalità ad esso delegate 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, @@ -397,9 +399,11 @@ di IPv4 (vedi \secref{tab:IP_ipv4head}) mostra le seguenti differenze: \begin{table}[htb] \footnotesize \begin{center} - \begin{tabular}{l c p{9cm}} + \begin{tabular}{|l|c|p{9cm}|} + \hline \textbf{Nome} & \textbf{Lunghezza} & \textbf{Significato} \\ - \toprule + \hline + \hline \textit{version} & 4 bit & \textsl{versione}, nel caso specifico vale sempre 4\\ \textit{head lenght} & 4 bit & \textsl{lunghezza della testata}, @@ -430,7 +434,7 @@ di IPv4 (vedi \secref{tab:IP_ipv4head}) mostra le seguenti differenze: di controllo per la testata\\ \textit{source IP} & 32 bit & \textsl{indirizzo di origine}\\ \textit{destination IP} & 32 bit & \textsl{indirizzo di destinazione}\\ - \bottomrule + \hline \end{tabular} \caption{Legenda per il significato dei campi dell'intestazione di IPv4} \label{tab:IP_ipv4field} @@ -453,7 +457,7 @@ quello di IPv6 sono le seguenti: \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 - pacchetti più larghi della dimensione minima (576 bytes). + pacchetti più larghi della dimensione minima (576 byte). \end{itemize} \section{Gli indirizzi di IPv6} @@ -629,14 +633,16 @@ i seguenti possibili valori per il \textsl{Registry Id}; gli altri valori restano riservati per la IANA. \begin{table}[htb] \begin{center} - \begin{tabular}{l l l} + \begin{tabular}{|l|l|l|} + \hline \textbf{Regione} & \textbf{Registro} & \textbf{Id} \\ - \toprule + \hline + \hline Nord America &INTERNIC & \texttt{11000} \\ Europa & RIPE NCC & \texttt{01000} \\ Asia & APNIC & \texttt{00100} \\ Multi-regionale & IANA &\texttt{10000} \\ - \bottomrule + \hline \end{tabular} \caption{Valori dell'identificativo dei Regional Register allocati ad oggi.} @@ -659,7 +665,7 @@ gestione dei singoli fruitori finali, gli indirizzi \textit{provider-based} 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 -MAC-address a 48~bit dello standard ethernet, scritto in genere nell'hardware +MAC-address a 48~bit dello standard Ethernet, scritto in genere nell'hardware delle scheda di rete, e si usano i restanti 16~bit per indicare la sottorete. \begin{table}[htb] @@ -752,11 +758,12 @@ prima di avere un indirizzo globale. \end{table} Ci sono due tipi di indirizzi, \textit{link-local} e \textit{site-local}. Il -primo è usato per un singolo link; la struttura è mostrata in \curtab, questi -indirizzi iniziano sempre per \texttt{FE80} e vengono in genere usati per la -configurazione automatica dell'indirizzo al bootstrap e per la ricerca dei -vicini (vedi \ref{sec:IP_ipv6_autoconf}); un pacchetto che abbia tale -indirizzo come sorgente o destinazione non deve venire ritrasmesso dai router. +primo è usato per un singolo link; la struttura è mostrata in +\tabref{tab:IP_ipv6_linklocal}, questi indirizzi iniziano sempre per +\texttt{FE80} e vengono in genere usati per la configurazione automatica +dell'indirizzo al bootstrap e per la ricerca dei vicini (vedi +\ref{sec:IP_ipv6_autoconf}); un pacchetto che abbia tale indirizzo come +sorgente o destinazione non deve venire ritrasmesso dai router. Un indirizzo \textit{site-local} invece è usato per l'indirizzamento all'interno di un sito che non necessita di un prefisso globale; la struttura @@ -909,9 +916,11 @@ transitorio, all'interno del raggio di validit \begin{table}[!htb] \centering \footnotesize - \begin{tabular}[c]{c l c l} - \multicolumn{4}{c}{\bf Gruppi di multicast} \\ - \toprule + \begin{tabular}[c]{|c|l|c|l|} + \hline + \multicolumn{4}{|c|}{\bf Gruppi di multicast} \\ + \hline + \hline 0 & riservato & 8 & organizzazione locale \\ 1 & nodo locale & 9 & non assegnato \\ 2 & collegamento locale & A & non assegnato \\ @@ -920,7 +929,7 @@ transitorio, all'interno del raggio di validit 5 & sito locale & D & non assegnato \\ 6 & non assegnato & E & globale \\ 7 & non assegnato & F & riservato \\ - \bottomrule + \hline \end{tabular} \caption{Possibili valori del campo \textsl{scop} di un indirizzo multicast.} \label{tab:IP_ipv6_multiscope} @@ -976,7 +985,7 @@ protocollo di trasporto. Per aumentare la velocità di processo, sia dei dati del livello seguente che di ulteriori opzioni, ciascuna estensione deve avere una lunghezza multipla di -8 bytes per mantenere l'allineamento a 64~bit di tutti le testate seguenti. +8 byte per mantenere l'allineamento a 64~bit di tutti le testate seguenti. 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 @@ -985,7 +994,7 @@ prestazioni rispetto a IPv4 dove la presenza di un'opzione comportava l'esame di tutte quante. Un secondo miglioramento è che rispetto a IPv4 le opzioni possono essere di -lunghezza arbitraria e non limitate a 40 bytes; questo, insieme al modo in cui +lunghezza arbitraria e non limitate a 40 byte; questo, insieme al modo in cui vengono trattate, consente di utilizzarle per scopi come l'autenticazione e la sicurezza, improponibili con IPv4. @@ -1019,7 +1028,8 @@ presente; i valori possibili sono riportati in \ntab. \begin{table}[htb] \begin{center} \footnotesize - \begin{tabular}{c l l} + \begin{tabular}{|c|l|l|} + \hline \textbf{Valore} & \textbf{Keyword} & \textbf{Tipo di protocollo} \\ \hline \hline @@ -1041,6 +1051,7 @@ presente; i valori possibili sono riportati in \ntab. 88 & IGRP & Internet Group Routing \\ 89 & OSPF & Open Short Path First \\ 255& & riservato \\ + \hline \end{tabular} \caption{Tipi di protocolli e testate di estensione} \label{tab:IP_ipv6_nexthead} @@ -1112,18 +1123,18 @@ valori di priorit \begin{table}[htb] \centering \footnotesize - \begin{tabular} {c l} - Valore & tipo di traffico \\ - \toprule + \begin{tabular}{|c|l|} + \hline + \textbf{Valore} & \textbf{Tipo di traffico} \\ + \hline + \hline 0 & traffico generico \\ 1 & traffico di riempimento (es. news) \\ 2 & trasferimento dati non interattivo (es. e-mail)\\ 3 & riservato \\ 4 & trasferimento dati interattivo (es. FTP, HTTP, NFS) \\ 5 & riservato \\ - 6 & traffico interattivo (telnet, X)\\ - 7 & traffico di controllo (routing, SNMP) \\ - \bottomrule + \hline \end{tabular} \caption{Formato di un indirizzo \textit{site-local}.} \label{tab:priority} @@ -1147,7 +1158,7 @@ trovi in mezzo. 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 -collegamento (il terzo) prevendo due apposite estensioni che possono essere +collegamento (il terzo) prevedendo due apposite estensioni che possono essere usate per fornire livelli di sicurezza a seconda degli utenti. La codifica generale di questa architettura è riportata nell'RFC 2401. @@ -1167,7 +1178,7 @@ il nome di associazione di sicurezza. 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 -multicast dovà essere lo stesso per tutte le stazioni del gruppo. +multicast dovrà essere lo stesso per tutte le stazioni del gruppo. \subsection{Autenticazione} Il primo meccanismo di sicurezza è quello della testata di autenticazione @@ -1184,7 +1195,7 @@ di sicurezza, e un numero di sequenza che la stazione sorgente deve incrementare di pacchetto in pacchetto. Completano la testata i dati di autenticazione che contengono un valore di -controllo di intgrità (ICV, \textit{Integrity Check Value}), che deve essere +controllo di integrità (ICV, \textit{Integrity Check Value}), che deve essere 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à. @@ -1255,7 +1266,7 @@ prima che dopo. \end{pspicture} \end{center} -La modalit`\a tunnel può essere utilizzata sia per comunicazioni fra stazioni +La modalità tunnel può essere utilizzata sia per comunicazioni fra stazioni singole che con un gateway di sicurezza; in questa modalità @@ -1284,6 +1295,7 @@ ancora in fase di definizione; attualmente 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. + \subsection{Riservatezza} \label{sec:ecry} @@ -1345,3 +1357,8 @@ fino al vettore di inizializzazione, il resto \section{Autoconfigurazione} \label{sec:IP_ipv6_autoconf} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: "gapil" +%%% End: