X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=ipprot.tex;h=8a6494918dd6105468cb670850f8888832fb1e81;hp=b1362a364f085a30360b0d2c292669f1fb9edcf9;hb=0345bbfd866e46d3c76d0df7f37a83f9a3924926;hpb=247c7ba624f39b283f9e85816c0616348f39c1b6 diff --git a/ipprot.tex b/ipprot.tex index b1362a3..8a64949 100644 --- a/ipprot.tex +++ b/ipprot.tex @@ -1,3 +1,13 @@ +%% ipprot.tex +%% +%% Copyright (C) 2000-2002 Simone Piccardi. Permission is granted to +%% copy, distribute and/or modify this document under the terms of the GNU Free +%% Documentation License, Version 1.1 or any later version published by the +%% Free Software Foundation; with the Invariant Sections being "Prefazione", +%% with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the +%% license is included in the section entitled "GNU Free Documentation +%% License". +%% \chapter{Il protocollo IP} \label{cha:ip_protocol} @@ -241,45 +251,53 @@ grandi linee nei seguenti punti: Per capire le caratteristiche di IPv6 partiamo dall'intestazione usata dal protocollo per gestire la trasmissione dei pacchetti; in -\tabref{tab:IP_ipv6head} è riportato il formato dell'intestazione di IPv6 da -confrontare con quella di IPv4 in \tabref{tab:IP_ipv4head}. La spiegazione del +\figref{fig:IP_ipv6head} è riportato il formato dell'intestazione di IPv6 da +confrontare con quella di IPv4 in \figref{fig:IP_ipv4_head}. La spiegazione del significato dei vari campi delle due intestazioni è riportato rispettivamente in \tabref{tab:IP_ipv6field} e \tabref{tab:IP_ipv4field}) -\begin{table}[htb] - \footnotesize - \begin{center} - \begin{tabular}{@{\vrule}p{16mm}@{\vrule}p{16mm}@{\vrule}p{16mm} - @{\vrule}p{16mm}@{\vrule}p{16mm}@{\vrule}p{16mm} - @{\vrule}p{16mm}@{\vrule}p{16mm}@{\vrule} } - \multicolumn{8}{@{}c@{}}{0\hfill 15 16\hfill 31}\\ - \hline - \centering version&\centering priority& - \multicolumn{6}{@{}p{96mm}@{\vrule}}{\centering flow label} \\ - \hline - \multicolumn{4}{@{\vrule}p{64mm}@{\vrule}}{\centering payload length} & - \multicolumn{2}{@{}p{32mm}@{\vrule}}{\centering next header} & - \multicolumn{2}{@{}p{32mm}@{\vrule}}{\centering hop limit}\\ - \hline - \multicolumn{8}{@{\vrule}c@{\vrule}}{} \\ - \multicolumn{8}{@{\vrule}c@{\vrule}}{ - source} \\ - \multicolumn{8}{@{\vrule}c@{\vrule}}{ - IP address} \\ - \multicolumn{8}{@{\vrule}c@{\vrule}}{} \\ - \hline - \multicolumn{8}{@{\vrule}c@{\vrule}}{} \\ - \multicolumn{8}{@{\vrule}c@{\vrule}}{ - destination} \\ - \multicolumn{8}{@{\vrule}c@{\vrule}}{ - IP address} \\ - \multicolumn{8}{@{\vrule}c@{\vrule}}{} \\ - \hline - \end{tabular} - \caption{L'intestazione o \textit{header} di IPv6} - \label{tab:IP_ipv6head} - \end{center} -\end{table} +% \begin{table}[htb] +% \footnotesize +% \begin{center} +% \begin{tabular}{@{\vrule}p{16mm}@{\vrule}p{16mm}@{\vrule}p{16mm} +% @{\vrule}p{16mm}@{\vrule}p{16mm}@{\vrule}p{16mm} +% @{\vrule}p{16mm}@{\vrule}p{16mm}@{\vrule} } +% \multicolumn{8}{@{}c@{}}{0\hfill 15 16\hfill 31}\\ +% \hline +% \centering version&\centering priority& +% \multicolumn{6}{@{}p{96mm}@{\vrule}}{\centering flow label} \\ +% \hline +% \multicolumn{4}{@{\vrule}p{64mm}@{\vrule}}{\centering payload length} & +% \multicolumn{2}{@{}p{32mm}@{\vrule}}{\centering next header} & +% \multicolumn{2}{@{}p{32mm}@{\vrule}}{\centering hop limit}\\ +% \hline +% \multicolumn{8}{@{\vrule}c@{\vrule}}{} \\ +% \multicolumn{8}{@{\vrule}c@{\vrule}}{ +% source} \\ +% \multicolumn{8}{@{\vrule}c@{\vrule}}{ +% IP address} \\ +% \multicolumn{8}{@{\vrule}c@{\vrule}}{} \\ +% \hline +% \multicolumn{8}{@{\vrule}c@{\vrule}}{} \\ +% \multicolumn{8}{@{\vrule}c@{\vrule}}{ +% destination} \\ +% \multicolumn{8}{@{\vrule}c@{\vrule}}{ +% IP address} \\ +% \multicolumn{8}{@{\vrule}c@{\vrule}}{} \\ +% \hline +% \end{tabular} +% \caption{L'intestazione o \textit{header} di IPv6} +% \label{tab:IP_ipv6head} +% \end{center} +% \end{table} + +\begin{figure}[htb] + \centering + \includegraphics[width=10cm]{img/ipv6_head} + \caption{L'intestazione o \textit{header} di IPv6.} + \label{fig:IP_ipv6head} +\end{figure} + Come si può notare l'intestazione di IPv6 diventa di dimensione fissa, pari a 40 byte, contro una dimensione (minima, in assenza di opzioni) di 20 byte per @@ -323,7 +341,7 @@ numero dei campi da 12 a 8. Abbiamo già anticipato in \secref{sec:IP_ipv6over} uno dei criteri principali nella progettazione di IPv6 è stato quello di ridurre al minimo il tempo di processamento dei pacchetti da parte dei router, un confronto con -l'intestazione di IPv4 (vedi \secref{tab:IP_ipv4head}) mostra le seguenti +l'intestazione di IPv4 (vedi \figref{fig:IP_ipv4_head}) mostra le seguenti differenze: \begin{itemize} @@ -355,47 +373,18 @@ differenze: \item è stato introdotto un nuovo campo \textit{flow label}, che viene usato, insieme al campo \textit{priority} (che recupera i bit di precedenza del campo \textit{type of service}) per implementare la gestione di una - ``qualità di servizio'' (vedi Sez.~\ref{sec:IP_ipv6_qos}) che permette di + ``qualità di servizio'' (vedi \secref{sec:IP_ipv6_qos}) che permette di identificare i pacchetti appartenenti a un ``flusso'' di dati per i quali si può provvedere un trattamento speciale. \end{itemize} -\begin{table}[htb] - \footnotesize + +\begin{figure}[htb] \centering - \begin{tabular}{@{\vrule}p{16mm}@{\vrule}p{16mm}@{\vrule}p{16mm} - @{\vrule}p{16mm}@{\vrule}p{16mm}@{\vrule}p{16mm} - @{\vrule}p{16mm}@{\vrule}p{16mm}@{\vrule} } - \multicolumn{8}{@{}c@{}}{0\hfill 15 16\hfill 31}\\ - \hline - \centering version& - \centering head length& - \multicolumn{2}{@{}p{32mm}@{\vrule}}{\centering type of service} & - \multicolumn{4}{@{}p{64mm}@{\vrule}}{\centering total length} \\ - \hline - \multicolumn{4}{@{\vrule}p{64mm}@{\vrule}}{\centering identification} & - \multicolumn{4}{@{}p{64mm}@{\vrule}}{\parbox{11mm}{\centering flag} \vrule - \parbox{52mm}{\centering fragment offset}}\\ - \hline - \multicolumn{2}{@{\vrule}p{32mm}@{\vrule}}{\centering TTL}& - \multicolumn{2}{@{}p{32mm}@{\vrule}}{\centering protocol}& - \multicolumn{4}{@{}p{64mm}@{\vrule}}{\centering header checksum} \\ - \hline - \multicolumn{8}{@{\vrule}c@{\vrule}}{ - source IP address} \\ - \hline - \multicolumn{8}{@{\vrule}c@{\vrule}}{ - destination IP address} \\ - \hline - \multicolumn{8}{@{\vrule}c@{\vrule}}{} \\ - \multicolumn{8}{@{}p{128mm}@{}}{ - \centering options (if any)} \\ - \multicolumn{8}{@{\vrule}c@{\vrule}}{} \\ - \hline - \end{tabular} - \caption{L'intestazione o \textit{header} di IPv4} -\label{tab:IP_ipv4head} -\end{table} + \includegraphics[width=10cm]{img/ipv4_head} + \caption{L'intestazione o \textit{header} di IPv4.} + \label{fig:IP_ipv4_head} +\end{figure} \begin{table}[htb] \footnotesize @@ -701,7 +690,7 @@ registri nazionali, quest'ultimi poi avranno il compito di gestire la attribuzione degli indirizzi per i fornitori di servizi nell'ambito del/i paese coperto dal registro nazionale con le modalità viste in precedenza. Una tale ripartizione andrà effettuata all'interno dei soliti 56~bit come -mostrato in \ntab. +mostrato in \tabref{tab:IP_ipv6_uninaz}. \begin{table}[htb] \centering @@ -768,14 +757,13 @@ 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 -è mostrata in \ntab, questi indirizzi iniziano sempre per -\texttt{FEC0} e non devono venire ritrasmessi dai router all'esterno del sito -stesso; sono in sostanza gli equivalenti degli indirizzi riservati per reti -private definiti su IPv4. -Per entrambi gli indirizzi il campo \textit{Interface Id} è un -identificatore che deve essere unico nel dominio in cui viene usato, un modo -immediato per costruirlo è quello di usare il MAC-address delle schede di -rete. +è mostrata in \tabref{tab:IP_ipv6_sitelocal}, questi indirizzi iniziano sempre +per \texttt{FEC0} e non devono venire ritrasmessi dai router all'esterno del +sito stesso; sono in sostanza gli equivalenti degli indirizzi riservati per +reti private definiti su IPv4. Per entrambi gli indirizzi il campo +\textit{Interface Id} è un identificatore che deve essere unico nel dominio in +cui viene usato, un modo immediato per costruirlo è quello di usare il +MAC-address delle schede di rete. \begin{table}[!h] \centering @@ -811,12 +799,12 @@ Alcuni indirizzi sono riservati per scopi speciali, in particolare per scopi di compatibilità. Un primo tipo sono gli indirizzi \textit{IPv4 mappati su IPv6} (mostrati in -\ntab), questo sono indirizzi unicast che vengono usati per consentire ad -applicazioni IPv6 di comunicare con host capaci solo di IPv4; questi sono ad -esempio gli indirizzi generati da un DNS quando l'host richiesto supporta solo -IPv4; l'uso di un tale indirizzo in un socket IPv6 comporta la generazione di -un pacchetto IPv4 (ovviamente occorre che sia IPv4 che IPv6 siano supportati -sull'host di origine). +\tabref{tab:IP_ipv6_map}), questo sono indirizzi unicast che vengono usati per +consentire ad applicazioni IPv6 di comunicare con host capaci solo di IPv4; +questi sono ad esempio gli indirizzi generati da un DNS quando l'host +richiesto supporta solo IPv4; l'uso di un tale indirizzo in un socket IPv6 +comporta la generazione di un pacchetto IPv4 (ovviamente occorre che sia IPv4 +che IPv6 siano supportati sull'host di origine). \begin{table}[!htb] \centering @@ -872,11 +860,11 @@ l'accettazione di una connessione da qualunque host. \label{sec:IP_ipv6_multicast} Gli indirizzi \textit{multicast} sono usati per inviare un pacchetto a un -gruppo di interfacce; l'indirizzo identifica uno specifico gruppo di -multicast e il pacchetto viene inviato a tutte le interfacce di detto gruppo. +gruppo di interfacce; l'indirizzo identifica uno specifico gruppo di multicast +e il pacchetto viene inviato a tutte le interfacce di detto gruppo. Un'interfaccia può appartenere ad un numero qualunque numero di gruppi di multicast. Il formato degli indirizzi \textit{multicast} è riportato in -\ntab: +\tabref{tab:IP_ipv6_multicast}: \begin{table}[htb] \centering @@ -908,7 +896,7 @@ Il prefisso di formato per tutti gli indirizzi \textit{multicast} transitorio. \item \textsl{scop} è un numero di quattro bit che indica il raggio di validità dell'indirizzo, i valori assegnati per ora sono riportati in - \ntab. + \tabref{tab:IP_ipv6_multiscope}. \end{itemize} @@ -1061,7 +1049,7 @@ che indica qual' opzioni questa sarà l'intestazione di un protocollo di trasporto del livello superiore, per cui il campo assumerà lo stesso valore del campo \textit{protocol} di IPv4, altrimenti assumerà il valore dell'opzione -presente; i valori possibili sono riportati in \ntab. +presente; i valori possibili sono riportati in \tabref{tab:IP_ipv6_nexthead}. \begin{table}[htb] \begin{center}