+++ /dev/null
-\chapter{Il protocollo IP}
-\label{cha:ip_protocol}
-
-L'attuale Internent 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
-realizzato con le tecnologie più disparate (Ethernet, Token Ring, FDDI,
-etc.).
-
-
-\section{Introduzione}
-\label{sec:IP_intro}
-
-Il compito di IP è pertanto quello di trasmettere i pacchetti da un computer
-all'altro della rete; le caratteristiche essenziali con cui questo viene
-realizzato in IPv4 sono due:
-
-\begin{itemize}
-\item \textit{Universal addressing} la comunicazione avviene fra due host
- identificati univocamente con un indirizzo a 32 bit che può appartenere ad
- una sola interfaccia di rete.
-\item \textit{Best effort} viene assicurato il massimo impegno nella
- trasmissione, ma non c'è nessuna garanzia per i livelli superiori né
- sulla percentuale di successo né sul tempo di consegna dei pacchetti di
- dati.
-\end{itemize}
-
-Per effettuare la comunicazione e l'instradamento dei pacchetti fra le varie
-reti di cui è composta Internet IPv4 organizza gli indirizzi in una
-gerarchia a due livelli, in cui una parte dei 32 bit dell'indirizzo indica il
-numero di rete, e un'altra l'host al suo interno. Il numero di rete serve
-ai router per stabilire a quale rete il pacchetto deve essere inviato, il
-numero di host indica la macchina di destinazione finale all'interno di detta
-rete.
-
-Per garantire l'unicità dell'indirizzo Internet esiste un'autorità
-centrale (la IANA, \textit{Internet Assigned Number Authority}) che assegna i
-numeri di rete alle organizzazioni che ne fanno richiesta; è poi compito di
-quest'ultime assegnare i numeri dei singoli host.
-
-Per venire incontro alle diverse esigenze gli indirizzi di rete sono stati
-originariamente organizzati in \textit{classi}, (rappresentate in
-Tab.~\ref{tab:ipv4class}), per consentire dispiegamenti di reti di dimensioni
-diverse.
-
-
-\begin{table}[htb]
- \centering
- \footnotesize
- \begin{tabular} {c@{\hspace{1mm}\vrule}
- p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}
- p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}
- p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}
- p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}
- p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}
- p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}
- p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}
- p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}}
- \omit&\omit& \multicolumn{7}{c}{7 bit}&\multicolumn{24}{c}{24 bit} \\
- \cline{2-33}
- \omit\hfill\vrule &&&&&&&& &&&&&&&& &&&&&&&& &&&&&&&& \\
- classe A &\centering 0&
- \multicolumn{7}{@{}c@{\vrule}}{\parbox[c]{21mm}{\centering net Id}} &
- \multicolumn{24}{@{}c@{\vrule}}{\parbox[c]{72mm}{\centering host Id}} \\
- \omit\hfill\vrule &&&&&&&& &&&&&&&& &&&&&&&& &&&&&&&& \\
- \cline{2-33}
- \multicolumn{33}{c}{ } \\
- \omit&\omit&\omit&
- \multicolumn{14}{c}{14 bit}&\multicolumn{16}{c}{16 bit} \\
- \cline{2-33}
- \omit\hfill\vrule &&&&&&&& &&&&&&&& &&&&&&&& &&&&&&&& \\
- classe B&\centering 1&\centering 0&
- \multicolumn{14}{@{}c@{\vrule}}{\parbox{42mm}{\centering net Id}} &
- \multicolumn{16}{@{}c@{\vrule}}{\parbox{48mm}{\centering host Id}} \\
- \omit\hfill\vrule &&&&&&&& &&&&&&&& &&&&&&&& &&&&&&&& \\
- \cline{2-33}
-
- \multicolumn{33}{c}{ } \\
- \omit&\omit&\omit&
- \multicolumn{21}{c}{21 bit}&\multicolumn{8}{c}{8 bit} \\
- \cline{2-33}
- \omit\hfill\vrule &&&&&&&& &&&&&&&& &&&&&&&& &&&&&&&& \\
- classe C&\centering 1&\centering 1&\centering 0&
- \multicolumn{21}{@{}c@{\vrule}}{\parbox{63mm}{\centering net Id}} &
- \multicolumn{8}{@{}c@{\vrule}}{\parbox{24mm}{\centering host Id}} \\
- \omit\hfill\vrule &&&&&&&& &&&&&&&& &&&&&&&& &&&&&&&& \\
- \cline{2-33}
-
-
- \multicolumn{33}{c}{ } \\
- \omit&\omit&\omit&\omit&
- \multicolumn{28}{c}{28 bit} \\
- \cline{2-33}
- \omit\hfill\vrule &&&&&&&& &&&&&&&& &&&&&&&& &&&&&&&& \\
- classe D&\centering 1&\centering 1&\centering 1&\centering 0&
- \multicolumn{28}{@{}c@{\vrule}}{\parbox{63mm}{\centering
- multicast group Id}} \\
- \omit\hfill\vrule &&&&&&&& &&&&&&&& &&&&&&&& &&&&&&&& \\
- \cline{2-33}
-
- \multicolumn{33}{c}{ } \\
- \omit&\omit&\omit&\omit&\omit&
- \multicolumn{27}{c}{27 bit} \\
- \cline{2-33}
- \omit\hfill\vrule &&&&&&&& &&&&&&&& &&&&&&&& &&&&&&&& \\
- classe E&\centering 1&\centering 1&\centering 1&\centering 1&\centering 0&
- \multicolumn{27}{@{}c@{\vrule}}{\parbox{59mm}{\centering
- reserved for future use}} \\
- \omit\hfill\vrule &&&&&&&& &&&&&&&& &&&&&&&& &&&&&&&& \\
- \cline{2-33}
-
-\end{tabular}
-\caption{Le classi di indirizzi secondo IPv4.}
-\label{tab:IP_ipv4class}
-\end{table}
-
-Le classi usate per il dispiegamento delle reti sono le prime tre; la classe D
-è destinata al (non molto usato) \textit{multicast} mentre la classe E è
-riservata per usi sperimentali e non viene impiegata.
-
-Come si può notare però la suddivisione riportata in \tabref{tab:IP_ipv4class}
-è largamente inefficiente in quanto se ad un utente necessita anche solo un
-indirizzo in più dei 256 disponibili con una classe A occorre passare a una
-classe B, con un conseguente spreco di numeri.
-
-Inoltre, in particolare per le reti di classe C, la presenza di tanti
-indirizzi di rete diversi comporta una crescita enorme delle tabelle di
-instradamento che ciascun router dovrebbe tenere in memoria per sapere dove
-inviare il pacchetto, con conseguente crescita dei tempi di processo da parte
-di questi ultimi ed inefficienza nel trasporto.
-
-\begin{table}[htb]
- \centering
- \footnotesize
- \begin{tabular} {c@{\hspace{1mm}\vrule}
- p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}
- p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}
- p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}
- p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}
- p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}
- p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}
- p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}
- p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}}
- \omit&
- \multicolumn{12}{c}{$n$ bit}&\multicolumn{20}{c}{$32-n$ bit} \\
- \cline{2-33}
- \omit\hfill\vrule &&&&&&&& &&&&&&&& &&&&&&&& &&&&&&&& \\
- CIDR &
- \multicolumn{12}{@{}c@{\vrule}}{\parbox[c]{36mm}{\centering net Id}} &
- \multicolumn{20}{@{}c@{\vrule}}{\parbox[c]{60mm}{\centering host Id}} \\
- \omit\hfill\vrule &&&&&&&& &&&&&&&& &&&&&&&& &&&&&&&& \\
- \cline{2-33}
-\end{tabular}
-\caption{Uno esempio di indirizzamento CIDR.}
-\label{tab:IP_ipv4cidr}
-\end{table}
-
-Per questo nel 1992 è stato introdotto un indirizzamento senza classi (il
-CIDR) in cui il limite fra i bit destinati a indicare il numero di rete e
-quello destinati a indicare l'host finale può essere piazzato in qualunque
-punto (vedi Tab.~\tabref{tab:IP_ipv4cidr}), permettendo di accorpare più
-classi A su un'unica rete o suddividere una classe B e diminuendo al contempo
-il numero di indirizzi di rete da inserire nelle tabelle di instradamento dei
-router.
-
-
-\section{I motivi della transizione}
-\label{sec:IP_whyipv6}
-
-Negli ultimi anni la crescita vertiginosa del numero di macchine connesse a
-internet ha iniziato a far emergere i vari limiti di IPv4; in particolare si
-è iniziata a delineare la possibilità di arrivare a una carenza di
-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
-esistenti.
-
-Il punto è che la suddivisione di questi numeri nei due livelli rete/host e
-l'utilizzo delle classi di indirizzamento mostrate in precedenza, ha
-comportato che, nella sua evoluzione storica, il dispiegamento delle reti e
-l'allocazione degli indirizzi siano stati inefficienti; neanche l'uso del CIDR
-ha permesso di eliminare le inefficienze che si erano formate, dato che il
-ridispiegamento degli indirizzi comporta cambiamenti complessi a tutti i
-livelli e la riassegnazione di tutti gli indirizzi dei computer di ogni
-sottorete.
-
-Diventava perciò necessario progettare un nuovo protocollo che permettesse
-di risolvere questi problemi, e garantisse flessibilità sufficiente per
-poter continuare a funzionare a lungo termine; in particolare necessitava un
-nuovo schema di indirizzamento che potesse rispondere alle seguenti
-necessità:
-
-\begin{itemize}
-\item un maggior numero di numeri disponibili che consentisse di non restare
- più a corto di indirizzi
-\item un'organizzazione gerarchica più flessibile dell'attuale
-\item uno schema di assegnazione degli indirizzi in grado di minimizzare le
- dimensioni delle tabelle di instradamento
-\item uno spazio di indirizzi che consentisse un passaggio automatico dalle
- reti locali a internet
-\end{itemize}
-
-
-\section{Principali caratteristiche di IPv6}
-\label{sec:IP_ipv6over}
-
-Per rispondere alle esigenze descritte in \secref{sec:IP_whyipv6} IPv6 nasce
-come evoluzione di IPv4, mantendone inalterate le funzioni che si sono
-dimostrate valide, eliminando quelle inutili e aggiungendone poche altre
-ponendo al contempo una grande attenzione a mantenere il protocollo il più
-snello e veloce possibile.
-
-I cambiamenti apportati sono comunque notevoli e si possono essere riassunti a
-grandi linee nei seguenti punti:
-\begin{itemize}
-\item l'espansione delle capacità di indirizzamento e instradamento, per
- supportare una gerarchia con più livelli di indirizzamento, un numero di
- nodi indirizzabili molto maggiore e una autoconfigurazione degli indirizzi
-\item l'introduzione un nuovo tipo di indirizzamento, l'\textit{anycast} che
- si aggiungono agli usuali \textit{unycast} e \textit{multicast}
-\item la semplificazione del formato della testata, eliminando o rendendo
- opzionali alcuni dei campi di IPv4, per eliminare la necessità di
- riprocessamento della stessa da parte dei router e contenere l'aumento di
- dimensione dovuto ai nuovi indirizzi
-\item un supporto per le opzioni migliorato, per garantire una trasmissione
- più efficiente del traffico normale, limiti meno stringenti sulle
- dimensioni delle opzioni, e la flessibilità necessaria per introdurne di
- nuove in futuro
-\item il supporto per delle capacità di qualità di servizio (QoS) che
- permetta di identificare gruppi di dati per i quali si può provvedere un
- trattamento speciale (in vista dell'uso di internet per applicazioni
- multimediali e/o ``real-time'')
-\end{itemize}
-
-
-\section{La testata di IPv6}
-\label{sec:IP_ipv6head}
-
-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 della testata di IPv6 da
-confrontare con quella di IPv4 in \tabref{tab:IP_ipv4head}. La spiegazione del
-significato dei vari campi delle due testate è 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 lenght} &
- \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{La testata o \textit{header} di IPv6}
- \label{tab:IP_ipv6head}
- \end{center}
-\end{table}
-
-Come si può notare la testata di IPv6 diventa di dimensione fissa, pari a 40
-byte, contro una dimensione (minima, in assenza di opzioni) di 20 byte per
-IPv4; un semplice raddoppio nonostante lo spazio destinato agli indirizzi sia
-quadruplicato, questo grazie a una notevole semplificazione che ha ridotto il
-numero dei campi da 12 a 8.
-
-\begin{table}[htb]
- \begin{center}
- \footnotesize
- \begin{tabular}{ l c p{8cm}}
- \textbf{Nome} & \textbf{Lunghezza} & \textbf{Significato} \\
- \toprule
- \textit{version} & 4 bit &
- \textsl{versione}, nel caso specifico vale sempre 6\\
- \textit{priority} & 4 bit &
- \textsl{priorità}, vedi Sez.~\ref{sec:prio} \\
- \textit{flow label} & 24 bit &
- \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. \\
- \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{hop limit} & 8 bit & \textsl{limite di salti},
- stesso significato del \textit{time to live} nella testata di IPv4,
- è decrementato di uno ogni volta che un nodo ritrasmette il
- 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
- \end{tabular}
- \caption{Legenda per il significato dei campi dell'intestazione di IPv6}
- \label{tab:IP_ipv6field}
- \end{center}
-\end{table}
-
-Abbiamo già anticipato in \secref{sec:IP_ipv6over} uno dei criteri principali
-nella progettazione di IPv6 è stato quello di ridurre al massimo il tempo di
-processamento dei pacchetti da parte dei router, un confronto con la testata
-di IPv4 (vedi \secref{tab:IP_ipv4head}) mostra le seguenti differenze:
-
-\begin{itemize}
-\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
- \secref{sec:_IP_ipv6_extens}), ciascuna delle quali avrà un suo campo di
- 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.
-\item i campi per gestire la frammentazione (\textit{identification},
- \textit{flag} e \textit{fragment offset}) sono stati eliminati; questo
- perché la frammentazione è un'eccezione che non deve rallentare il
- processo dei pacchetti nel caso normale.
-\item è stato eliminato il campo \textit{checksum} in quanto tutti i
- protocolli di livello superiore (TCP, UDP e ICMPv6) hanno un campo di
- checksum che include, oltre alla loro testata e ai dati, pure i campi
- \textit{payload lenght}, \textit{next header}, e gli indirizzi di origine e
- di destinazione; una checksum esiste anche per la gran parte protocolli di
- livello inferiore (anche se quelli che non lo hanno, come SLIP, non possono
- essere usati con grande affidabilità); con questa scelta si è ridotto di
- molti tempo di riprocessamento dato che i router non hanno più la
- 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
- 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,
- 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
- identificare i pacchetti appartenenti a un ``flusso'' di dati per i quali si
- può provvedere un trattamento speciale.
-\end{itemize}
-
-\begin{table}[htb]
- \footnotesize
- \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 lenght&
- \multicolumn{2}{@{}p{32mm}@{\vrule}}{\centering type of service} &
- \multicolumn{4}{@{}p{64mm}@{\vrule}}{\centering total lenght} \\
- \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}
-
-\begin{table}[htb]
- \footnotesize
- \begin{center}
- \begin{tabular}{l c p{9cm}}
- \textbf{Nome} & \textbf{Lunghezza} & \textbf{Significato} \\
- \toprule
- \textit{version} & 4 bit & \textsl{versione}, nel caso
- specifico vale sempre 4\\
- \textit{head lenght} & 4 bit & \textsl{lunghezza della testata},
- in multipli di 32 bit\\
- \textit{type of service} & 8 bit & \textsl{tipo di servizio},
- consiste in: 3 bit di precedenza,
- correntemente ignorati; un bit non usato a 0; 4 bit che identificano
- il tipo di servizio richiesto, uno solo dei quali può essere 1\\
- \textit{total lenght} & 16 bit & \textsl{lunghezza totale}, indica
- la dimensione del pacchetto IP in byte\\
- \textit{identification} & 16 bit & \textsl{identificazione},
- assegnato alla creazione, è aumentato di uno all'origine alla
- trasmissione di ciascun pacchetto, ma resta lo stesso per i
- pacchetti frammentati\\
- \textit{flag} & 3 bit &
- \textsl{flag} bit di frammentazione, uno indica se un
- pacchetto è frammentato, un'altro se ci sono ulteriori frammenti, e
- un'altro se il pacchetto non può essere frammentato. \\
- \textit{fragmentation offset} & 13 bit& \textsl{offset di frammento},
- indica la posizione del frammento rispetto al pacchetto originale\\
- \textit{time to live} & 16 bit & \textsl{tempo di vita},
- ha lo stesso significato di
- \textit{hop limit}, vedi Tab.~\ref{tab:ipv6field}\\
- \textit{protocol} & 8 bit & \textsl{protocollo}
- identifica il tipo di pacchetto che segue
- la testata di IPv4\\
- \textit{header checksum} & 16 bit & \textsl{checksum di testata}, somma
- di controllo per la testata\\
- \textit{source IP} & 32 bit & \textsl{indirizzo di origine}\\
- \textit{destination IP} & 32 bit & \textsl{indirizzo di destinazione}\\
- \bottomrule
- \end{tabular}
- \caption{Legenda per il significato dei campi dell'intestazione di IPv4}
- \label{tab:IP_ipv4field}
- \end{center}
-\end{table}
-
-Oltre alle differenze precedenti, relative ai singoli campi nella testata,
-ulteriori caratteristiche che diversificano il comportamento di IPv4 da
-quello di IPv6 sono le seguenti:
-
-\begin{itemize}
-\item il broadcasting non è previsto in IPv6, le applicazioni che lo usano
- dovono essere reimplementate usando il multicasting (vedi
- \secref{sec:IP_multicast}), che da opzionale diventa obbligatorio.
-\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
- capi della comunicazione (usando un'apposita estensione vedi
- \secref{sec:IP_ipv6_extens}).
-\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).
-\end{itemize}
-
-\section{Gli indirizzi di IPv6}
-\label{sec:IP_ipv6_addr}
-
-Come già abbondantemente anticipato la principale novità di IPv6 è
-costituita dall'ampliamento dello spazio degli indirizzi, che consente di avere
-indirizzi disponibili in un numero dell'ordine di quello degli atomi che
-costituiscono la terra.
-
-In realtà l'allocazione di questi indirizzi deve tenere conto della
-necessità di costruire delle gerarchie che consentano un instradamento
-rapido ed efficiente dei pacchetti, e flessibilità nel dispiegamento delle
-reti, il che comporta una riduzione drastica dei numeri utilizzabili; uno
-studio sull'efficienza dei vari sistemi di allocazione usati in altre
-architetture (come i sistemi telefonici) è comunque giunto alla conclusione
-che anche nella peggiore delle ipotesi IPv6 dovrebbe essere in grado di
-fornire più di un migliaio di indirizzi per ogni metro quadro della
-superficie terrestre.
-
-
-\subsection{La notazione}
-\label{sec:IP_ipv6_notation}
-Con un numero di bit quadruplicato non è più possibile usare la notazione
-coi numeri decimali di IPv4 per rappresentare un numero IP. Per questo gli
-indirizzi di IPv6 sono in genere scritti come sequenze di otto numeri
-esadecimali di 4 cifre (cioè a gruppi di 16 bit) usando i due punti come
-separatore; cioè qualcosa del tipo
-\texttt{5f1b:df00:ce3e:e200:0020:0800:2078:e3e3}.
-
-
-Visto che la notazione resta comunque piuttosto pesante esistono alcune
-abbreviazioni; si può evitare di scrivere gli zeri iniziali per cui si
-può scrivere \texttt{1080:0:0:0:8:800:ba98:2078:e3e3}; se poi un intero è
-zero si può omettere del tutto, così come un insieme di zeri (ma questo
-solo una volta per non generare ambiguità) per cui il precedente indirizzo
-si può scrivere anche come \texttt{1080::8:800:ba98:2078:e3e3}.
-
-Infine per scrivere un indirizzo IPv4 all'interno di un indirizzo IPv6 si
-può usare la vecchia notazione con i punti, per esempio
-\texttt{::192.84.145.138}.
-
-\begin{table}[htb]
- \centering
- \footnotesize
- \begin{tabular}{|l|l|l|}
- \hline
- \centering \textbf{Tipo di indirizzo}
- & \centering \textbf{Prefisso} & {\centering \textbf{Frazione}} \\
- \hline
- \hline
- riservato & \texttt{0000 0000} & 1/256 \\
- non assegnato & \texttt{0000 0001} & 1/256 \\
- \hline
- riservato per NSAP & \texttt{0000 001} & 1/128\\
- riservato per IPX & \texttt{0000 010} & 1/128\\
- \hline
- non assegnato & \texttt{0000 011} & 1/128 \\
- non assegnato & \texttt{0000 1} & 1/32 \\
- non assegnato & \texttt{0001} & 1/16 \\
- \hline
- provider-based & \texttt{001} & 1/8\\
- \hline
- non assegnato & \texttt{010} & 1/8 \\
- non assegnato & \texttt{011} & 1/8 \\
- geografic-based& \texttt{100} & 1/8 \\
- non assegnato & \texttt{101} & 1/8 \\
- non assegnato & \texttt{110} & 1/8 \\
- non assegnato & \texttt{1110} & 1/16 \\
- non assegnato & \texttt{1111 0} & 1/32 \\
- non assegnato & \texttt{1111 10} & 1/64 \\
- non assegnato & \texttt{1111 110} & 1/128 \\
- non assegnato & \texttt{1111 1100 0} & 1/512 \\
- \hline
- unicast link-local & \texttt{1111 1100 10} & 1/1024 \\
- unicast site-local & \texttt{1111 1100 11} & 1/1024 \\
- \hline
- \hline
- multicast & \texttt{1111 1111} & 1/256 \\
- \hline
- \end{tabular}
- \caption{Classificazione degli indirizzi IPv6 a seconda dei bit più
- significativi}
- \label{tab:IP_ipv6addr}
-\end{table}
-
-
-\subsection{La architettura degli indirizzi di IPv6}
-\label{sec:IP_ipv6_addr_arch}
-
-Come per IPv4 gli indirizzi sono identificatori per una singola (indirizzi
-\textit{unicast}) o per un insieme (indirizzi \textit{multicast} e
-\textit{anycast}) di interfacce di rete.
-
-Gli indirizzi sono sempre assegnati all'interfaccia, non al nodo che la
-ospita; dato che ogni interfaccia appartiene ad un nodo quest'ultimo può
-essere identificato attraverso uno qualunque degli indirizzi unicast delle sue
-interfacce. A una interfaccia possono essere associati anche più indirizzi.
-
-IPv6 presenta tre tipi diversi di indirizzi: due di questi, gli indirizzi
-\textit{unicast} e \textit{multicast} hanno le stesse caratteristiche che in
-IPv4, un terzo tipo, gli indirizzi \textit{anycast} è completamente nuovo.
-In IPv6 non esistono più gli indirizzi \textit{broadcast}, la funzione di
-questi ultimi deve essere reimplementata con gli indirizzi \textit{multicast}.
-
-Gli indirizzi \textit{unicast} identificano una singola interfaccia i
-pacchetti mandati ad un tale indirizzo verranno inviati a quella interfaccia,
-gli indirizzi \textit{anycast} identificano un gruppo di interfacce tale che
-un pacchetto mandato a uno di questi indirizzi viene inviato alla più vicina
-(nel senso di distanza di routing) delle interfacce del gruppo, gli indirizzi
-\textit{multicast} identificano un gruppo di interfacce tale che un pacchetto
-mandato a uno di questi indirizzi viene inviato a tutte le interfacce del
-gruppo.
-
-In IPv6 non ci sono più le classi ma i bit più significativi indicano il tipo
-di indirizzo; in \tabref{tab:IP_ipv6addr} sono riportati i valori di detti
-bit e il tipo di indirizzo che loro corrispondente. I bit più significativi
-costituiscono quello che viene chiamato il \textit{format prefix} ed è sulla
-base di questo che i vari tipi di indirizzi vengono identificati. Come si
-vede questa architettura di allocazione supporta l'allocazione di indirizzi
-per i provider, per uso locale e per il multicast; inoltre è stato riservato
-lo spazio per indirizzi NSAP, IPX e per le connessioni; gran parte dello
-spazio (più del 70\%) è riservato per usi futuri.
-
-Si noti infine che gli indirizzi \textit{anycast} non sono riportati in
-\tabref{tab:IP_ipv6addr} in quanto allocati al di fuori dello spazio di
-allocazione degli indirizzi unicast.
-
-\subsection{Indirizzi unicast \textit{provider-based}}
-\label{sec:IP_ipv6_unicast}
-
-Gli indirizzi \textit{provider-based} sono gli indirizzi usati per le
-comunicazioni globali, questi sono definiti nell'RFC 2073 e sono gli
-equivalenti degli attuali indirizzi delle classi da A a C.
-
-L'autorità che presiede all'allocazione di questi indirizzi è la IANA; per
-evitare i problemi di crescita delle tabelle di instradamento e una procedura
-efficiente di allocazione la struttura di questi indirizzi è organizzata fin
-dall'inizio in maniera gerarchica; pertanto lo spazio di questi indirizzi è
-stato suddiviso in una serie di campi secondo lo schema riportato in
-\tabref{tab:IP_ipv6_unicast}.
-
-\begin{table}[htb]
- \centering
- \footnotesize
- \begin{tabular} {@{\vrule}p{6mm}
- @{\vrule}p{16mm}@{\vrule}p{24mm}
- @{\vrule}p{30mm}@{\vrule}c@{\vrule}}
- \multicolumn{1}{@{}c@{}}{3}&\multicolumn{1}{c}{5 bit}&
- \multicolumn{1}{c}{$n$ bit}&\multicolumn{1}{c}{$56-n$ bit}&
- \multicolumn{1}{c}{64 bit} \\
- \hline
- \omit\vrule\hfill\vrule&\hspace{16mm} & & &\omit\hspace{76mm}\hfill\vrule\\
- \centering 010&
- \centering \textsl{Registry Id}&
- \centering \textsl{Provider Id}&
- \centering \textsl{Subscriber Id}&
- \textsl{Intra-Subscriber} \\
- \omit\vrule\hfill\vrule& & & &\omit\hspace{6mm}\hfill\vrule\\
- \hline
- \end{tabular}
-\caption{Formato di un indirizzo unicast \textit{provider-based}.}
-\label{tab:IP_ipv6_unicast}
-\end{table}
-
-Al livello più alto la IANA può delegare l'allocazione a delle autorità
-regionali (i Regional Register) assegnando ad esse dei blocchi di indirizzi; a
-queste autorità regionali è assegnato un Registry Id che deve seguire
-immediatamente il prefisso di formato. Al momento sono definite tre registri
-regionali (INTERNIC, RIPE NCC e APNIC), inoltre la IANA si è riservata la
-possibilità di allocare indirizzi su base regionale; pertanto sono previsti
-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}
- \textbf{Regione} & \textbf{Registro} & \textbf{Id} \\
- \toprule
- Nord America &INTERNIC & \texttt{11000} \\
- Europa & RIPE NCC & \texttt{01000} \\
- Asia & APNIC & \texttt{00100} \\
- Multi-regionale & IANA &\texttt{10000} \\
- \bottomrule
- \end{tabular}
- \caption{Valori dell'identificativo dei
- Regional Register allocati ad oggi.}
- \label{tab:IP_ipv6_regid}
- \end{center}
-\end{table}
-
-L'organizzazione degli indirizzi prevede poi che i due livelli successivi, di
-suddivisione fra \textit{Provider Id}, che identifica i grandi fornitori di
-servizi, e \textit{Subscriber Id}, che identifica i fruitori, sia gestita dai
-singoli registri regionali. Questi ultimi dovranno definire come dividere lo
-spazio di indirizzi assegnato a questi due campi (che ammonta a un totale di
-58~bit), definendo lo spazio da assegnare al \textit{Provider Id} e
-al \textit{Subscriber Id}, ad essi spetterà inoltre anche l'allocazione dei
-numeri di \textit{Provider Id} ai singoli fornitori, ai quali sarà delegata
-l'autorità di allocare i \textit{Subscriber Id} al loro interno.
-
-L'ultimo livello è quello \textit{Intra-subscriber} che è lasciato alla
-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
-delle scheda di rete, e si usano i restanti 16~bit per indicare la sottorete.
-
-\begin{table}[htb]
- \centering
- \footnotesize
- \begin{tabular} {@{\vrule}p{64mm}@{\vrule}p{16mm}@{\vrule}c@{\vrule}}
- \multicolumn{1}{c}{64 bit}&\multicolumn{1}{c}{16 bit}&
- \multicolumn{1}{c}{48 bit}\\
- \hline
- \omit\vrule\hfill\vrule&\hspace{16mm}&\omit\hspace{48mm}\hfill\vrule\\
- \centering \textsl{Subscriber Prefix}&
- \centering \textsl{Subnet Id}&
- \textsl{Interface Id}\\
- \omit\vrule\hfill\vrule& &\omit\hspace{6mm}\hfill\vrule\\
- \hline
- \end{tabular}
-\caption{Formato del campo \textit{Intra-subscriber} per un indirizzo unicast
- \textit{provider-based}.}
-\label{tab:IP_ipv6_uninterf}
-\end{table}
-
-Qualora si dovesse avere a che fare con una necessità di un numero più
-elevato di sottoreti, il precedente schema andrebbe modificato, per evitare
-l'enorme spreco dovuto all'uso dei MAC-address, a questo scopo si possono
-usare le capacità di autoconfigurazione di IPv6 per assegnare indirizzi
-generici con ulteriori gerarchie per sfruttare efficacemente tutto lo spazio
-di indirizzi.
-
-Un registro regionale può introdurre un ulteriore livello nella gerarchia
-degli indirizzi, allocando dei blocchi per i quali delegare l'autorità a dei
-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 58~bit come
-mostrato in \ntab.
-
-\begin{table}[htb]
- \centering
- \footnotesize
- \begin{tabular} {@{\vrule}p{3mm}
- @{\vrule}p{10mm}@{\vrule}p{12mm}@{\vrule}p{18mm}
- @{\vrule}p{18mm}@{\vrule}c@{\vrule}}
- \multicolumn{1}{@{}c@{}}{3}&\multicolumn{1}{c}{5 bit}&
- \multicolumn{1}{c}{n bit}&\multicolumn{1}{c}{m bit}&
- \multicolumn{1}{c}{56-n-m bit}&\multicolumn{1}{c}{64 bit} \\
- \hline
- \omit\vrule\hfill\vrule& & & & &\omit\hspace{64mm}\hfill\vrule\\
- \centering \texttt{3}&
- \centering \textsl{Reg.}&
- \centering \textsl{Naz.}&
- \centering \textsl{Prov.}&
- \centering \textsl{Subscr.}&
- \textsl{Intra-Subscriber} \\
- \omit\vrule\hfill\vrule &&&&&\\
- \hline
- \end{tabular}
-\caption{Formato di un indirizzo unicast \textit{provider-based} che prevede
- un registro nazionale.}
-\label{tab:IP_ipv6_uninaz}
-\end{table}
-
-
-\subsection{Indirizzi ad uso locale}
-\label{sec:IP_ipv6_linksite}
-
-Gli indirizzi ad uso locale sono indirizzi unicast che sono instradabili solo
-localmente (all'interno di un sito o di una sottorete), e possono avere una
-unicità locale o globale.
-
-Questi indirizzi sono pensati per l'uso all'interno di un sito per mettere su
-una comunicazione locale immediata, o durante le fasi di autoconfigurazione
-prima di avere un indirizzo globale.
-
-\begin{table}[htb]
- \centering
- \footnotesize
- \begin{tabular} {@{\vrule}p{10mm}@{\vrule}p{54mm}@{\vrule}c@{\vrule}}
- \multicolumn{1}{c}{10} &\multicolumn{1}{c}{54 bit} &
- \multicolumn{1}{c}{64 bit} \\
- \hline
- \omit\vrule\hfill\vrule & & \omit\hspace{64mm}\hfill\vrule\\
- \centering \texttt{FE80}&
- \centering\texttt{0000 . . . . . 0000} &
- Interface Id \\
- \omit\vrule\hfill\vrule & &\\
- \hline
-\end{tabular}
-\caption{Formato di un indirizzo \textit{link-local}.}
-\label{tab:IP_ipv6_linklocal}
-\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.
-
-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.
-
-\begin{table}[!h]
- \centering
- \footnotesize
- \begin{tabular} {@{\vrule}p{10mm}@{\vrule}p{38mm}@{\vrule}p{16mm}
- @{\vrule}c@{\vrule}}
- \multicolumn{1}{c}{10} &\multicolumn{1}{c}{38 bit} &
- \multicolumn{1}{c}{16 bit} &\multicolumn{1}{c}{64 bit} \\
- \hline
- \omit\vrule\hfill\vrule& & & \omit\hspace{64mm}\hfill\vrule\\
- \centering \texttt{FEC0}&
- \centering \texttt{0000 . . . 0000}&
- \centering Subnet Id &
- Interface Id\\
- \omit\vrule\hfill\vrule& & &\\
- \hline
-\end{tabular}
-\caption{Formato di un indirizzo \textit{site-local}.}
-\label{tab:IP_ipv6_sitelocal}
-\end{table}
-
-Gli indirizzi di uso locale consentono ad una organizzazione che non è
-(ancora) connessa ad Internet di operare senza richiedere un prefisso globale,
-una volta che in seguito l'organizzazione venisse connessa a Internet
-potrebbe continuare a usare la stessa suddivisione effettuata con gli
-indirizzi \textit{site-local} utilizzando un prefisso globale e la
-rinumerazione degli indirizzi delle singole macchine sarebbe automatica.
-
-\subsection{Indirizzi riservati}
-\label{sec:IP_ipv6_reserved}
-
-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 supportate
-sull'host di origine).
-
-\begin{table}[!htb]
- \centering
- \footnotesize
- \begin{tabular} {@{\vrule}p{80mm}@{\vrule}p{16mm}@{\vrule}c@{\vrule}}
- \multicolumn{1}{c}{80 bit} &\multicolumn{1}{c}{16 bit} &
- \multicolumn{1}{c}{32 bit} \\
- \hline
- \omit\vrule\hfill\vrule& &\omit\hspace{32mm}\hfill\vrule\\
- \centering
- \texttt{0000 . . . . . . . . . . . . 0000} &
- \centering\texttt{FFFF} &
- IPv4 address \\
- \omit\vrule\hfill\vrule& &\\
- \hline
-\end{tabular}
-\caption{Formato di un indirizzo IPV4 mappato su IPv6.}
-\label{tab:IP_ipv6_map}
-\end{table}
-
-Un secondo tipo di indirizzi di compatibilità sono gli \textit{IPv4
- compatibili IPv6} (vedi \ntab) usati nella transizione da IPv4 a IPv6,
-quando un host che supporta sia IPv6 che IPv4 non ha un router IPv6 deve usare
-nel DNS un indirizzo di questo tipo, ogni pacchetto IPv6 inviato a un tale
-indirizzo verrà automaticamente incapsulato in IPv4.
-
-\begin{table}[htb]
- \centering
- \footnotesize
- \begin{tabular} {@{\vrule}p{80mm}@{\vrule}p{16mm}@{\vrule}p{32mm}@{\vrule}}
- \multicolumn{1}{c}{80 bit} &\multicolumn{1}{c}{16 bit} &
- \multicolumn{1}{c}{32 bit} \\
- \hline
- \omit\vrule\hfill\vrule& &\omit\hspace{32mm}\hfill\vrule\\
- \centering
- \texttt{0000 . . . . . . . . . . . . 0000} &
- \centering\texttt{0000} &
- \parbox{32mm}{\centering IPv4 address} \\
- \omit\vrule\hfill\vrule& &\\
- \hline
-\end{tabular}
-\caption{Formato di un indirizzo IPV4 mappato su IPv6.}
-\label{tab:IP_ipv6_comp}
-\end{table}
-
-Altri indirizzi speciali sono il \textit{loopback address}, costituito da 127
-zeri ed un uno (cioè \texttt{::1}) e l'\textsl{indirizzo generico}
-costituito da tutti zeri (scritto come \texttt{0::0} o ancora più
-semplicemente come \texttt{:}) usato in genere quando si vuole indicare
-l'accettazione di una connessione da qualunque host.
-
-\subsection{Multicasting}
-\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.
-Un'interfaccia può appartenere ad un numero qualunque numero di gruppi di
-multicast. Il formato degli indirizzi \textit{multicast} è riportato in
-\ntab:
-
-\begin{table}[htb]
- \centering
- \footnotesize
- \begin{tabular} {@{\vrule}p{12mm}
- @{\vrule}p{6mm}@{\vrule}p{6mm}@{\vrule}c@{\vrule}}
- \multicolumn{1}{c}{8}&\multicolumn{1}{c}{4}&
- \multicolumn{1}{c}{4}&\multicolumn{1}{c}{112 bit} \\
- \hline
- \omit\vrule\hfill\vrule& & & \omit\hspace{104mm}\hfill\vrule\\
- \centering\texttt{FF}&
- \centering flag &
- \centering scop&
- Group Id\\
- \omit\vrule\hfill\vrule &&&\\
- \hline
- \end{tabular}
-\caption{Formato di un indirizzo \textit{multicast}.}
-\label{tab:IP_ipv6_multicast}
-\end{table}
-
-Il prefisso di formato per tutti gli indirizzi \textit{multicast} è
-\texttt{FF}, ad esso seguono i due campi il cui significato è il seguente:
-
-\begin{itemize}
-\item \textsl{flag}: un insieme di 4 bit, di cui i primi tre sono riservati e
- posti a zero, l'ultimo è zero se l'indirizzo è permanente (cioè un
- indirizzo noto, assegnato dalla IANA), ed è uno se invece l'indirizzo è
- 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.
-\end{itemize}
-
-Infine l'ultimo campo identifica il gruppo di multicast, sia permanente che
-transitorio, all'interno del raggio di validità del medesimo.
-
-\begin{table}[!htb]
- \centering
- \footnotesize
- \begin{tabular}[c]{c l c l}
- \multicolumn{4}{c}{\bf Gruppi di multicast} \\
- \toprule
- 0 & riservato & 8 & organizzazione locale \\
- 1 & nodo locale & 9 & non assegnato \\
- 2 & collegamento locale & A & non assegnato \\
- 3 & non assegnato & B & non assegnato \\
- 4 & non assegnato & C & non assegnato \\
- 5 & sito locale & D & non assegnato \\
- 6 & non assegnato & E & globale \\
- 7 & non assegnato & F & riservato \\
- \bottomrule
- \end{tabular}
-\caption{Possibili valori del campo \textsl{scop} di un indirizzo multicast.}
-\label{tab:IP_ipv6_multiscope}
-\end{table}
-
-\subsection{Indirizzi \textit{anycast}}
-\label{sec:IP_anycast}
-
-Gli indirizzi \textit{anycast} sono indirizzi che vengono assegnati ad un
-gruppo di interfacce per quali un pacchetto indirizzato a questo tipo di
-indirizzo viene inviato al componente del gruppo più ``vicino'' secondo la
-distanza di instradamento calcolata dai router.
-
-Questi indirizzi sono allocati nello stesso spazio degli indirizzi unicast,
-usando uno dei formati disponibili, e per questo, sono da essi assolutamente
-indistinguibili. Quando un indirizzo unicast viene assegnato a più interfacce
-(trasformandolo in un anycast) il computer su cui è l'interfaccia deve essere
-configurato per tener conto del fatto.
-
-Gli indirizzi anycast consentono a un nodo sorgente di inviare pacchetti a una
-destinazione su un gruppo di possibili interfacce selezionate. La sorgente non
-deve curarsi di come scegliere l'interfaccia più vicina, compito che tocca
-al sistema di instradamento, (in sostanza la sorgente non ha nessun controllo
-sulla selezione).
-
-Gli indirizzi anycast, quando vengono usati come parte di una sequenza di
-instradamento, consentono ad esempio ad un nodo di scegliere quale fornitore
-vuole usare (configurando gli indirizzi anycast per identificare i router di
-uno stesso provider).
-
-Questi indirizzi pertanto possono essere usati come indirizzi intermedi in una
-testata di instradamento o per identificare insiemi di router connessi a una
-particolare sottorete, o che forniscono l'accesso a un certo sotto dominio.
-
-L'idea alla base degli indirizzi anycast è perciò quella di utilizzarli per
-poter raggiungere il fornitore di servizio più vicino; ma restano aperte tutta
-una serie di problematiche, visto che una connessione con uno di questi
-indirizzi non è possibile, dato che per una variazione delle distanze di
-routing non è detto che due pacchetti successivi finiscano alla stessa
-interfaccia.
-
-La materia è pertanto ancora controversa e in via di definizione.
-
-
-\section{Le estensioni}
-\label{sec:IP_ipv6_extens}
-
-Come già detto in precedenza IPv6 ha completamente cambiato il trattamento
-delle opzioni; queste ultime infatti sono state tolte dalla testata del
-pacchetto, e poste in apposite \textsl{testate di estensione} (o
-\textit{extension header}) poste fra la testata di IPv6 e la testata del
-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.
-
-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
-alla destinazione finale, questa scelta ha consentito un miglioramento delle
-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
-vengono trattate, consente di utilizzarle per scopi come l'autenticazione e la
-sicurezza, improponibili con IPv4.
-
-Le estensioni definite al momento sono le seguenti:
-\begin{itemize}
-\item \textbf{Hop by hop} devono seguire immediatamente la testata principale;
- indicano le opzioni che devono venire processate ad ogni passaggio da un
- router, fra di esse è da menzionare la \textit{jumbo payload} che segnala
- la presenza di un pacchetto di dati di dimensione superiore a 64Kb.
-\item \textbf{Destination options} opzioni che devono venire esaminate al nodo
- di ricevimento, nessuna di esse è tuttora definita.
-\item \textbf{Routing} definisce una \textit{source route} (come la analoga
- opzione di IPv4) cioè una lista di indirizzi IP di nodi per i quali il
- pacchetto deve passare.
-\item \textbf{Fragmentation} viene generato automaticamente quando un host
- vuole frammentare un pacchetto, ed è riprocessato automaticamente alla
- destinazione che riassembla i frammenti.
-\item \textbf{Authentication} gestisce l'autenticazione e il controllo di
- integrità dei pacchetti; è documentato dall'RFC 162.
-\item \textbf{Encapsulation} serve a gestire la segretezza del contenuto
- trasmesso; è documentato dall'RFC 1827.
-\end{itemize}
-
-La presenza di opzioni è rilevata dal valore del campo \textit{next header}
-che indica qual'è la testata successiva a quella di IPv6; in assenza di
-opzioni questa sarà la testata 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.
-
-\begin{table}[htb]
- \begin{center}
- \footnotesize
- \begin{tabular}{c l l}
- \textbf{Valore} & \textbf{Keyword} & \textbf{Tipo di protocollo} \\
- \hline
- \hline
- 0 & & riservato\\
- & HBH & Hop by Hop \\
- 1 & ICMP & Internet Control Message (IPv4 o IPv6) \\
- 2 & ICMP & Internet Group Management (IPv4) \\
- 3 & GGP & Gateway-to-Gateway \\
- 4 & IP & IP in IP (IPv4 encapsulation) \\
- 5 & ST & Stream \\
- 6 & TCP & Trasmission Control \\
- 17 & UDP & User Datagram \\
- 43 & RH & Routing Header (IPv6) \\
- 44 & FH & Fragment Header (IPv6) \\
- 45 & IDRP & Inter Domain Routing \\
- 51 & AH & Autentication Header (IPv6) \\
- 52 & ESP & Encrypted Security Payload (IPv6) \\
- 59 & Null & No next header (IPv6) \\
- 88 & IGRP & Internet Group Routing \\
- 89 & OSPF & Open Short Path First \\
- 255& & riservato \\
- \end{tabular}
- \caption{Tipi di protocolli e testate di estensione}
- \label{tab:IP_ipv6_nexthead}
- \end{center}
-\end{table}
-
-Questo meccanismo permette la presenza di più opzioni in successione prima
-del pacchetto del protocollo di trasporto; l'ordine raccomandato per le
-estensioni è quello riportato nell'elenco precedente con la sola differenza
-che le opzioni di destinazione sono inserite nella posizione ivi indicata solo
-se, come per il tunnelling, devono essere esaminate dai router, quelle che
-devono essere esaminate solo alla destinazione finale vanno in coda.
-
-
-\section{Qualità di servizio}
-\label{sec:IP_ipv6_qos}
-
-Una delle caratteristiche innovative di IPv6 è quella di avere introdotto un
-supporto per la qualità di servizio che è importante per applicazioni come
-quelle multimediali o ``real-time'' che richiedono un qualche grado di
-controllo sulla stabilità della banda di trasmissione, sui ritardi o la
-dispersione dei temporale del flusso dei pacchetti.
-
-
-\subsection{Etichette di flusso}
-\label{sec:IP_ipv6_flow}
-L'introduzione del campo \textit{flow label} può essere usata dall'origine
-della comunicazione per etichettare quei pacchetti per i quali si vuole un
-trattamento speciale da parte dei router come un una garanzia di banda minima
-assicurata o un tempo minimo di instradamento/trasmissione garantito.
-
-Questo aspetto di IPv6 è ancora sperimentale per cui i router che non
-supportino queste funzioni devono porre a zero il \textit{flow label} per i
-pacchetti da loro originanti e lasciare invariato il campo per quelli in
-transito.
-
-Un flusso è una sequenza di pacchetti da una particolare origine a una
-particolare destinazione per il quale l'origine desidera un trattamento
-speciale da parte dei router che lo manipolano; la natura di questo
-trattamento può essere comunicata ai router in vari modi (come un protocollo
-di controllo o con opzioni del tipo \textit{hop-by-hop}).
-
-Ci possono essere più flussi attivi fra un'origine e una destinazione, come
-del traffico non assegnato a nessun flusso, un flusso viene identificato
-univocamente dagli indirizzi di origine e destinazione e da una etichetta di
-flusso diversa da zero, il traffico normale deve avere l'etichetta di flusso
-posta a zero.
-
-L'etichetta di flusso è assegnata dal nodo di origine, i valori devono
-essere scelti in maniera (pseudo)casuale nel range fra 1 e FFFFFF in modo da
-rendere utilizzabile un qualunque sottoinsieme dei bit come chiavi di hash per
-i router.
-
-\subsection{Priorità}
-\label{sec:prio}
-
-Il campo di priorità consente di indicare il livello di priorità dei
-pacchetti relativamente agli altri pacchetti provenienti dalla stessa
-sorgente. I valori sono divisi in due intervalli, i valori da 0 a 7 sono usati
-per specificare la priorità del traffico per il quale la sorgente provvede
-un controllo di congestione cioè per il traffico che può essere ``tirato
-indietro'' in caso di congestione come quello di TCP, i valori da 8 a 15 sono
-usati per i pacchetti che non hanno questa caratteristica, come i pacchetti
-``real-time'' inviati a ritmo costante.
-
-Per il traffico con controllo di congestione sono raccomandati i seguenti
-valori di priorità a seconda del tipo di applicazione:
-
-\begin{table}[htb]
- \centering
- \footnotesize
- \begin{tabular} {c l}
- Valore & tipo di traffico \\
- \toprule
- 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
-\end{tabular}
-\caption{Formato di un indirizzo \textit{site-local}.}
-\label{tab:priority}
-\end{table}
-
-Per il traffico senza controllo di congestione la priorità più bassa
-dovrebbe essere usata per quei pacchetti che si preferisce siano scartati
-più facilmente in caso di congestione.
-
-
-\section{Sicurezza a livello IP}
-\label{sec:security}
-
-La attuale implementazione di Internet presenta numerosi problemi di
-sicurezza, in particolare i dati presenti nelle testate dei vari protocolli
-sono assunti essere corretti, il che da adito alla possibilità di varie
-tipologie di attacco forgiando pacchetti false, inoltre tutti questi dati
-passano in chiaro sulla rete e sono esposti all'osservazione di chiunque si
-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
-usate per fornire livelli di sicurezza a seconda degli utenti. La codifica
-generale di questa architettura è riportata nell'RFC 2401.
-
-Il meccanismo in sostanza si basa su due estensioni:
-\begin{itemize}
-\item una testata di sicurezza (\textit{autentication header}) che garantisce
- al destinatario l'autenticità del pacchetto
-\item un carico di sicurezza (\textit{Encrypted Security Payload}) che
- assicura che solo il legittimo ricevente può leggere il pacchetto.
-\end{itemize}
-
-Perché tutto questo funzioni le stazioni sorgente e destinazione devono
-usare una stessa chiave crittografica e gli stessi algoritmi, l'insieme degli
-accordi fra le due stazioni per concordare chiavi e algoritmi usati va sotto
-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.
-
-\subsection{Autenticazione}
-Il primo meccanismo di sicurezza è quello della testata di autenticazione
-(\textit{autentication header}) che fornisce l'autenticazione e il controllo
-di integrità (ma senza riservatezza) dei pacchetti IP.
-
-La testata di autenticazione ha il formato descritto in
-Tab.~\ref{tab:autent_head} il campo \textit{Next Header} indica la testata
-successiva, con gli stessi valori del campo omonimo nella testata principale
-di IPv6, il campo \textit{Lengh} indica la lunghezza della testata di
-autenticazione in numero di parole a 32 bit, il campo riservato deve essere
-posto a zero, seguono poi l'indice di sicurezza, stabilito nella associazione
-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
-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à.
-
-\renewcommand\arraystretch{1.2}
-\begin{table}[htb]
- \footnotesize
- \begin{center}
- \begin{tabular}{@{\vrule}p{24mm}@{\vrule}p{24mm}
- @{\vrule}p{48mm}@{\vrule} }
- \multicolumn{3}{@{}c@{}}{0\hfill 15 16\hfill 31}\\
- \hline
- \centering Next Header&\centering Lenght&
- \centering Reserved \tabularnewline
- \hline
- \multicolumn{3}{@{\vrule}c@{\vrule}}
- {\centering Security Parameter Index (SPI)}\\
- \hline
- \multicolumn{3}{@{\vrule}c@{\vrule}}
- {\centering Sequence Number}\\
- \hline
- \multicolumn{3}{@{\vrule}c@{\vrule}}{} \\
- \multicolumn{3}{@{\vrule}c@{\vrule}}{Autentication Data} \\
- \multicolumn{3}{@{\vrule}c@{\vrule}}
- {\centering ... } \\
- \multicolumn{3}{@{\vrule}c@{\vrule}}{} \\
- \hline
- \end{tabular}
- \caption{Formato della testata dell'estensione di autenticazione}
- \label{tab:autent_estens}
- \end{center}
-\end{table}
-\renewcommand\arraystretch{1} %default
-
-
-
-La testata di autenticazione può essere impiegata in due modi diverse
-modalità: modalità trasporto e modalità tunnel.
-
-La modalità trasporto è utilizzabile solo per comunicazioni fra stazioni
-singole che supportino l'autenticazione. In questo caso la testata di
-autenticazione è inserita dopo tutte le altre testate di estensione
-eccezion fatta per la \textit{Destination Option} che può comparire sia
-prima che dopo.
-
-\begin{table}[htb]
- \footnotesize
- \begin{center}
- \begin{tabular*}{90mm}{|c|c|c|c|c|c|}
- \hline
- & & & & & \\
- IP Head &
- \parbox[c]{28mm}{hop by hop, dest., \\
- routing, fragment}& AH &
- dest.opt & TCP & data \\
- & & & & & \\
- \hline
- \end{tabular*}
- \caption{Formato della testata dell'estensione di autenticazione}
- \label{tab:autent_head}
- \end{center}
-\end{table}
-\begin{center}
- \begin{pspicture}(0,0)(9,0.8)
- \pnode(0,0){A}
- \pnode(9,0.4){B}
- \ncline{<->}{A}{B}\ncput{copertura dell'autenticazione}
- \end{pspicture}
-\end{center}
-
-La modalit`\a tunnel può essere utilizzata sia per comunicazioni fra stazioni
-singole che con un gateway di sicurezza; in questa modalità
-
-
-La testata di autenticazione è una testata di estensione inserita dopo la
-testata principale e prima del carico dei dati. La sua presenza non ha
-perciò alcuna influenza sui livelli superiori dei protocolli di trasmissione
-come il TCP.
-
-
-
-
-
-La procedura di autenticazione cerca di garantire l'autenticità del
-pacchetto nella massima estensione possibile, ma dato che alcuni campi della
-testata di IP possono variare in maniera impredicibile alla sorgente, il loro
-valore non può essere protetto dall'autenticazione.
-
-Il calcolo dei dati di autenticazione viene effettuato alla sorgente su una
-versione speciale del pacchetto in cui il numero di salti nella testata
-principale è settato a zero, così come le opzioni che possono essere
-modificate nella trasmissione, e la testata di routing (se usata) è posta ai
-valori che deve avere all'arrivo.
-
-L'estensione è indipendente dall'algoritmo particolare, e il protocollo è
-ancora in fase di definizione; attualmente è stato suggerito l'uso di una
-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}
-
-Per garantire una trasmissione riservata dei dati, è stata previsto la
-possibilità di trasmettere pacchetti con i dati criptati: il cosiddetto ESP,
-\textit{Encripted Security Payload}. Questo viene realizzato usando con una
-apposita opzione che deve essere sempre l'ultima delle testate di estensione;
-ad essa segue il carico del pacchetto che viene criptato.
-
-Un pacchetto crittografato pertanto viene ad avere una struttura del tipo di
-quella mostrata in Tab~.\ref{tab:criptopack}, tutti i campi sono in chiaro
-fino al vettore di inizializzazione, il resto è crittografato.
-
-\renewcommand\arraystretch{1.2}
-\begin{table}[htb]
- \footnotesize
- \begin{center}
- \begin{tabular}{@{\vrule}p{24mm}@{\vrule}p{24mm}@{\vrule}
- p{24mm}@{\vrule}p{24mm}@{\vrule}}
- \multicolumn{4}{@{}c@{}}{0\hfill 15 16\hfill 31}\\
- \hline
- \multicolumn{4}{@{\vrule}c@{\vrule}}{}\\
- \multicolumn{4}{@{\vrule}c@{\vrule}}{Testata Principale}\\
- \multicolumn{4}{@{\vrule}c@{\vrule}}{...}\\
- \multicolumn{4}{@{\vrule}c@{\vrule}}{}\\
- \hline
- \multicolumn{4}{@{\vrule}c@{\vrule}}{}\\
- \multicolumn{4}{@{\vrule}c@{\vrule}}{Testate di estensione}\\
- \multicolumn{4}{@{\vrule}c@{\vrule}}{...}\\
- \multicolumn{4}{@{\vrule}c@{\vrule}}{}\\
- \hline
- \multicolumn{4}{@{\vrule}c@{\vrule}}
- {\centering Security Parameter Index}\\
- \hline
- \multicolumn{4}{@{\vrule}c@{\vrule}}
- {\centering Vettore}\\
- \multicolumn{4}{@{\vrule}c@{\vrule}}
- {\centering di inizializzazione}\\
- \hline
- \multicolumn{4}{@{\vrule}c@{\vrule}}{carico}\\
- \multicolumn{4}{@{\vrule}c@{\vrule}}{crittografato}\\
- \multicolumn{4}{@{\vrule}c@{\vrule}}{...}\\
- \cline{2-4}
- & \multicolumn{3}{c@{\vrule}}{}\\
- \cline{1-1}
- \cline{3-4}
- \multicolumn{1}{@{\vrule}c}{}&
- \centering \raisebox{2mm}[0pt][0pt]{riempimento} &
- \centering lunghezza pad &\centering tipo carico\tabularnewline
- \hline
- \end{tabular}
- \caption{Schema di pacchetto crittografato}
- \label{tab:criptopack}
- \end{center}
-\end{table}
-\renewcommand\arraystretch{1} %default
-
-
-\section{Autoconfigurazione}
-\label{sec:autoconf}
-
+++ /dev/null
-%!PS-Adobe-2.0 EPSF-2.0
-%%Title: Senzanome-1
-%%Creator: Dia v0.86
-%%CreationDate: Sat May 26 04:06:48 2001
-%%For: cgabriel
-%%Magnification: 1.0000
-%%Orientation: Portrait
-%%BoundingBox: 0 0 1227 907
-%%Pages: 1
-%%BeginSetup
-%%EndSetup
-%%EndComments
-[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
-/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
-/two /three /four /five /six /seven /eight /nine /colon /semicolon
-/less /equal /greater /question /at /A /B /C /D /E
-/F /G /H /I /J /K /L /M /N /O
-/P /Q /R /S /T /U /V /W /X /Y
-/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c
-/d /e /f /g /h /i /j /k /l /m
-/n /o /p /q /r /s /t /u /v /w
-/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright
-/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior
-/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf
-/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
-/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde
-/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex
-/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring
-/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
-/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave
-/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def
-/Times-Roman-latin1
- /Times-Roman findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Times-Italic-latin1
- /Times-Italic findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Times-Bold-latin1
- /Times-Bold findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Times-BoldItalic-latin1
- /Times-BoldItalic findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/AvantGarde-Book-latin1
- /AvantGarde-Book findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/AvantGarde-BookOblique-latin1
- /AvantGarde-BookOblique findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/AvantGarde-Demi-latin1
- /AvantGarde-Demi findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/AvantGarde-DemiOblique-latin1
- /AvantGarde-DemiOblique findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Bookman-Light-latin1
- /Bookman-Light findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Bookman-LightItalic-latin1
- /Bookman-LightItalic findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Bookman-Demi-latin1
- /Bookman-Demi findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Bookman-DemiItalic-latin1
- /Bookman-DemiItalic findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Courier-latin1
- /Courier findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Courier-Oblique-latin1
- /Courier-Oblique findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Courier-Bold-latin1
- /Courier-Bold findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Courier-BoldOblique-latin1
- /Courier-BoldOblique findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Helvetica-latin1
- /Helvetica findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Helvetica-Oblique-latin1
- /Helvetica-Oblique findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Helvetica-Bold-latin1
- /Helvetica-Bold findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Helvetica-BoldOblique-latin1
- /Helvetica-BoldOblique findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Helvetica-Narrow-latin1
- /Helvetica-Narrow findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Helvetica-Narrow-Oblique-latin1
- /Helvetica-Narrow-Oblique findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Helvetica-Narrow-Bold-latin1
- /Helvetica-Narrow-Bold findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Helvetica-Narrow-BoldOblique-latin1
- /Helvetica-Narrow-BoldOblique findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/NewCenturySchoolbook-Roman-latin1
- /NewCenturySchoolbook-Roman findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/NewCenturySchoolbook-Italic-latin1
- /NewCenturySchoolbook-Italic findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/NewCenturySchoolbook-Bold-latin1
- /NewCenturySchoolbook-Bold findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/NewCenturySchoolbook-BoldItalic-latin1
- /NewCenturySchoolbook-BoldItalic findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Palatino-Roman-latin1
- /Palatino-Roman findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Palatino-Italic-latin1
- /Palatino-Italic findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Palatino-Bold-latin1
- /Palatino-Bold findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Palatino-BoldItalic-latin1
- /Palatino-BoldItalic findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Symbol-latin1
- /Symbol findfont
-definefont pop
-/ZapfChancery-MediumItalic-latin1
- /ZapfChancery-MediumItalic findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/ZapfDingbats-latin1
- /ZapfDingbats findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/cp {closepath} bind def
-/c {curveto} bind def
-/f {fill} bind def
-/a {arc} bind def
-/ef {eofill} bind def
-/ex {exch} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/sa {save} bind def
-/rs {restore} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/rm {rmoveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/sh {show} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/sd {setdash} bind def
-/ff {findfont} bind def
-/sf {setfont} bind def
-/scf {scalefont} bind def
-/sw {stringwidth pop} bind def
-/tr {translate} bind def
-
-/ellipsedict 8 dict def
-ellipsedict /mtrx matrix put
-/ellipse
-{ ellipsedict begin
- /endangle exch def
- /startangle exch def
- /yrad exch def
- /xrad exch def
- /y exch def
- /x exch def /savematrix mtrx currentmatrix def
- x y tr xrad yrad sc
- 0 0 1 startangle endangle arc
- savematrix setmatrix
- end
-} def
-
-/mergeprocs {
-dup length
-3 -1 roll
-dup
-length
-dup
-5 1 roll
-3 -1 roll
-add
-array cvx
-dup
-3 -1 roll
-0 exch
-putinterval
-dup
-4 2 roll
-putinterval
-} bind def
-28.346000 -28.346000 scale
-8.087680 -27.940743 translate
-%%EndProlog
-
-
-1.000000 1.000000 1.000000 srgb
-n 6.000000 -2.000000 m 6.000000 1.000000 l 17.000000 1.000000 l 17.000000 -2.000000 l f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slj
-0.000000 0.000000 0.000000 srgb
-n 6.000000 -2.000000 m 6.000000 1.000000 l 17.000000 1.000000 l 17.000000 -2.000000 l cp s
-/Times-Bold-latin1 ff 0.900000 scf sf
-0.000000 0.000000 0.000000 srgb
-(Variabili di ambiente) dup sw 2 div 11.500000 ex sub -0.235294 m gs 1 -1 sc sh gr
-1.000000 1.000000 1.000000 srgb
-n 6.000000 1.000000 m 6.000000 4.000000 l 17.000000 4.000000 l 17.000000 1.000000 l f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slj
-0.000000 0.000000 0.000000 srgb
-n 6.000000 1.000000 m 6.000000 4.000000 l 17.000000 4.000000 l 17.000000 1.000000 l cp s
-/Times-Bold-latin1 ff 0.900000 scf sf
-0.000000 0.000000 0.000000 srgb
-(Stack) dup sw 2 div 11.500000 ex sub 2.764706 m gs 1 -1 sc sh gr
-1.000000 1.000000 1.000000 srgb
-n 6.000000 4.000000 m 6.000000 7.000000 l 17.000000 7.000000 l 17.000000 4.000000 l f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slj
-0.000000 0.000000 0.000000 srgb
-n 6.000000 4.000000 m 6.000000 7.000000 l 17.000000 7.000000 l 17.000000 4.000000 l cp s
-/Times-Bold-latin1 ff 0.900000 scf sf
-0.000000 0.000000 0.000000 srgb
-(Memoria non) dup sw 2 div 11.500000 ex sub 5.314706 m gs 1 -1 sc sh gr
-0.000000 0.000000 0.000000 srgb
-(allocata) dup sw 2 div 11.500000 ex sub 6.214706 m gs 1 -1 sc sh gr
-1.000000 1.000000 1.000000 srgb
-n 6.000000 19.000000 m 6.000000 24.000000 l 17.000000 24.000000 l 17.000000 19.000000 l f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slj
-0.000000 0.000000 0.000000 srgb
-n 6.000000 19.000000 m 6.000000 24.000000 l 17.000000 24.000000 l 17.000000 19.000000 l cp s
-/Times-Bold-latin1 ff 0.900000 scf sf
-0.000000 0.000000 0.000000 srgb
-(Altra memoria) dup sw 2 div 11.500000 ex sub 21.314706 m gs 1 -1 sc sh gr
-0.000000 0.000000 0.000000 srgb
-(del processo) dup sw 2 div 11.500000 ex sub 22.214706 m gs 1 -1 sc sh gr
-1.000000 1.000000 1.000000 srgb
-n 6.000000 7.000000 m 6.000000 9.000000 l 17.000000 9.000000 l 17.000000 7.000000 l f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slj
-0.000000 0.000000 0.000000 srgb
-n 6.000000 7.000000 m 6.000000 9.000000 l 17.000000 9.000000 l 17.000000 7.000000 l cp s
-/Times-Bold-latin1 ff 0.900000 scf sf
-0.000000 0.000000 0.000000 srgb
-(file1.o) dup sw 2 div 11.500000 ex sub 8.264706 m gs 1 -1 sc sh gr
-1.000000 1.000000 1.000000 srgb
-n 6.000000 11.000000 m 6.000000 13.000000 l 17.000000 13.000000 l 17.000000 11.000000 l f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slj
-0.000000 0.000000 0.000000 srgb
-n 6.000000 11.000000 m 6.000000 13.000000 l 17.000000 13.000000 l 17.000000 11.000000 l cp s
-/Times-Bold-latin1 ff 0.900000 scf sf
-0.000000 0.000000 0.000000 srgb
-(file3.o) dup sw 2 div 11.500000 ex sub 12.264706 m gs 1 -1 sc sh gr
-1.000000 1.000000 1.000000 srgb
-n 6.000000 9.000000 m 6.000000 11.000000 l 17.000000 11.000000 l 17.000000 9.000000 l f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slj
-0.000000 0.000000 0.000000 srgb
-n 6.000000 9.000000 m 6.000000 11.000000 l 17.000000 11.000000 l 17.000000 9.000000 l cp s
-/Times-Bold-latin1 ff 0.900000 scf sf
-0.000000 0.000000 0.000000 srgb
-(file2.o) dup sw 2 div 11.500000 ex sub 10.264706 m gs 1 -1 sc sh gr
-1.000000 1.000000 1.000000 srgb
-n 6.000000 13.000000 m 6.000000 15.000000 l 17.000000 15.000000 l 17.000000 13.000000 l f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slj
-0.000000 0.000000 0.000000 srgb
-n 6.000000 13.000000 m 6.000000 15.000000 l 17.000000 15.000000 l 17.000000 13.000000 l cp s
-/Times-Bold-latin1 ff 0.900000 scf sf
-0.000000 0.000000 0.000000 srgb
-(file4.0) dup sw 2 div 11.500000 ex sub 14.264706 m gs 1 -1 sc sh gr
-1.000000 1.000000 1.000000 srgb
-n -2.676550 -2.280000 m -2.676550 -0.020000 l 2.950000 -0.020000 l 2.950000 -2.280000 l f
-1.000000 1.000000 1.000000 srgb
-n -2.676550 -1.150000 m -2.676550 -1.150000 1.130000 1.130000 180.000000 270.000000 ellipse f
-1.000000 1.000000 1.000000 srgb
-n 2.950000 -1.150000 m 2.950000 -1.150000 1.130000 1.130000 270.000000 360.000000 ellipse f
-1.000000 1.000000 1.000000 srgb
-n -3.806550 -1.150000 m -3.806550 -1.150000 l 4.080000 -1.150000 l 4.080000 -1.150000 l f
-1.000000 1.000000 1.000000 srgb
-n -2.676550 -1.150000 m -2.676550 -1.150000 1.130000 1.130000 90.000000 180.000000 ellipse f
-1.000000 1.000000 1.000000 srgb
-n 2.950000 -1.150000 m 2.950000 -1.150000 1.130000 1.130000 0.000000 90.000000 ellipse f
-0.180000 slw
-[] 0 sd
-[] 0 sd
-0 slj
-0.160507 0.287785 1.000000 srgb
-n -2.676550 -2.280000 m 2.950000 -2.280000 l s
-0.160507 0.287785 1.000000 srgb
-n -2.676550 -0.020000 m 2.950000 -0.020000 l s
-0.160507 0.287785 1.000000 srgb
-n -2.676550 -1.150000 1.130000 1.130000 180.000000 270.000000 ellipse s
-0.160507 0.287785 1.000000 srgb
-n 2.950000 -1.150000 1.130000 1.130000 270.000000 360.000000 ellipse s
-0.160507 0.287785 1.000000 srgb
-n -3.806550 -1.150000 m -3.806550 -1.150000 l s
-0.160507 0.287785 1.000000 srgb
-n 4.080000 -1.150000 m 4.080000 -1.150000 l s
-0.160507 0.287785 1.000000 srgb
-n -2.676550 -1.150000 1.130000 1.130000 90.000000 180.000000 ellipse s
-0.160507 0.287785 1.000000 srgb
-n 2.950000 -1.150000 1.130000 1.130000 0.000000 90.000000 ellipse s
-/Times-Bold-latin1 ff 0.900000 scf sf
-0.292153 0.357879 1.000000 srgb
-(Lo stack cresce) dup sw 2 div 0.136725 ex sub -1.335294 m gs 1 -1 sc sh gr
-0.292153 0.357879 1.000000 srgb
-(in questa direzione) dup sw 2 div 0.136725 ex sub -0.435294 m gs 1 -1 sc sh gr
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-0.000000 0.000000 0.000000 srgb
-n 7.000000 1.000000 m 6.996900 4.000000 l s
-0 slj
-0.000000 0.000000 0.000000 srgb
-n 6.597727 3.199587 m 6.996900 4.000000 l 7.397726 3.200414 l f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-0.000000 0.000000 0.000000 srgb
-n 2.108363 -0.020000 m 6.998450 2.500000 l s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slj
-0 slc
-0.000000 0.000000 0.000000 srgb
-n -3.000000 10.000000 m -1.850000 10.000000 -3.400000 16.400000 -2.000000 16.000000 c s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slj
-0 slc
-0.000000 0.000000 0.000000 srgb
-n -2.000000 5.000000 m -3.050000 4.600000 -1.800000 10.000000 -3.000000 10.000000 c s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slj
-0 slc
-0.000000 0.000000 0.000000 srgb
-n 28.000000 -4.000000 m 30.100000 -4.000000 27.950000 11.050000 30.000000 11.000000 c s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slj
-0 slc
-0.000000 0.000000 0.000000 srgb
-n 30.000000 11.000000 m 28.300000 11.000000 29.950000 25.000000 28.000000 25.000000 c s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-0.000000 0.000000 0.000000 srgb
-n 22.000000 -3.050000 m 17.000000 -2.000000 l s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-0.000000 0.000000 0.000000 srgb
-n 22.000000 -0.050000 m 17.000000 1.000000 l s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-0.000000 0.000000 0.000000 srgb
-n 22.000000 5.950000 m 17.000000 7.000000 l s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-0.000000 0.000000 0.000000 srgb
-n 22.000000 13.950000 m 17.000000 15.000000 l s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-0.000000 0.000000 0.000000 srgb
-n 22.000000 17.950000 m 17.000000 19.000000 l s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-0.000000 0.000000 0.000000 srgb
-n 22.000000 23.000000 m 17.000000 24.000000 l s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slj
-0 slc
-0.000000 0.000000 0.000000 srgb
-n 18.000000 7.000000 m 20.100000 7.000000 18.000000 9.000000 20.000000 10.000000 c s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slj
-0 slc
-0.000000 0.000000 0.000000 srgb
-n 20.000000 10.000000 m 18.300000 10.000000 19.950000 19.000000 18.000000 19.000000 c s
-/Times-Bold-latin1 ff 0.600000 scf sf
-0.000000 0.000000 0.000000 srgb
-(Immagine in ) dup sw 2 div 22.000000 ex sub 10.000000 m gs 1 -1 sc sh gr
-0.000000 0.000000 0.000000 srgb
-(memoria del) dup sw 2 div 22.000000 ex sub 10.600000 m gs 1 -1 sc sh gr
-0.000000 0.000000 0.000000 srgb
-( programma) dup sw 2 div 22.000000 ex sub 11.200000 m gs 1 -1 sc sh gr
-0.000000 0.000000 0.000000 srgb
-() dup sw 2 div 22.000000 ex sub 11.800000 m gs 1 -1 sc sh gr
-1.000000 1.000000 1.000000 srgb
-n -1.000000 5.000000 m -1.000000 7.000000 l 3.000000 7.000000 l 3.000000 5.000000 l f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slj
-0.000000 0.000000 0.000000 srgb
-n -1.000000 5.000000 m -1.000000 7.000000 l 3.000000 7.000000 l 3.000000 5.000000 l cp s
-/Times-Bold-latin1 ff 0.900000 scf sf
-0.000000 0.000000 0.000000 srgb
-(file1.o) dup sw 2 div 1.000000 ex sub 6.264706 m gs 1 -1 sc sh gr
-1.000000 1.000000 1.000000 srgb
-n -1.000000 8.000000 m -1.000000 10.000000 l 3.000000 10.000000 l 3.000000 8.000000 l f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slj
-0.000000 0.000000 0.000000 srgb
-n -1.000000 8.000000 m -1.000000 10.000000 l 3.000000 10.000000 l 3.000000 8.000000 l cp s
-/Times-Bold-latin1 ff 0.900000 scf sf
-0.000000 0.000000 0.000000 srgb
-(file2.o) dup sw 2 div 1.000000 ex sub 9.264706 m gs 1 -1 sc sh gr
-1.000000 1.000000 1.000000 srgb
-n -1.000000 11.000000 m -1.000000 13.000000 l 3.000000 13.000000 l 3.000000 11.000000 l f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slj
-0.000000 0.000000 0.000000 srgb
-n -1.000000 11.000000 m -1.000000 13.000000 l 3.000000 13.000000 l 3.000000 11.000000 l cp s
-/Times-Bold-latin1 ff 0.900000 scf sf
-0.000000 0.000000 0.000000 srgb
-(file3.o) dup sw 2 div 1.000000 ex sub 12.264706 m gs 1 -1 sc sh gr
-1.000000 1.000000 1.000000 srgb
-n -1.000000 14.000000 m -1.000000 16.000000 l 3.000000 16.000000 l 3.000000 14.000000 l f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slj
-0.000000 0.000000 0.000000 srgb
-n -1.000000 14.000000 m -1.000000 16.000000 l 3.000000 16.000000 l 3.000000 14.000000 l cp s
-/Times-Bold-latin1 ff 0.900000 scf sf
-0.000000 0.000000 0.000000 srgb
-(file4.0) dup sw 2 div 1.000000 ex sub 15.264706 m gs 1 -1 sc sh gr
-1.000000 1.000000 1.000000 srgb
-n -1.000000 17.000000 m -1.000000 19.000000 l 4.000000 19.000000 l 4.000000 17.000000 l f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slj
-0.000000 0.000000 0.000000 srgb
-n -1.000000 17.000000 m -1.000000 19.000000 l 4.000000 19.000000 l 4.000000 17.000000 l cp s
-/Times-Bold-latin1 ff 0.900000 scf sf
-0.000000 0.000000 0.000000 srgb
-(Librerie) dup sw 2 div 1.500000 ex sub 18.264706 m gs 1 -1 sc sh gr
-1.000000 1.000000 1.000000 srgb
-n -1.000000 20.000000 m -1.000000 22.000000 l 4.000000 22.000000 l 4.000000 20.000000 l f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slj
-0.000000 0.000000 0.000000 srgb
-n -1.000000 20.000000 m -1.000000 22.000000 l 4.000000 22.000000 l 4.000000 20.000000 l cp s
-/Times-Bold-latin1 ff 0.900000 scf sf
-0.000000 0.000000 0.000000 srgb
-(Librerie) dup sw 2 div 1.500000 ex sub 21.264706 m gs 1 -1 sc sh gr
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-0.000000 0.000000 0.000000 srgb
-n 3.000000 6.000000 m 6.000000 8.000000 l s
-0 slj
-0.000000 0.000000 0.000000 srgb
-n 5.029275 7.653312 m 6.000000 8.000000 l 5.306625 7.237287 l f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-0.000000 0.000000 0.000000 srgb
-n 3.000000 9.000000 m 6.000000 10.000000 l s
-0 slj
-0.000000 0.000000 0.000000 srgb
-n 4.972260 9.920943 m 6.000000 10.000000 l 5.130374 9.446601 l f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-0.000000 0.000000 0.000000 srgb
-n 3.000000 12.000000 m 6.000000 12.000000 l s
-0 slj
-0.000000 0.000000 0.000000 srgb
-n 5.000000 12.250000 m 6.000000 12.000000 l 5.000000 11.750000 l f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-0.000000 0.000000 0.000000 srgb
-n 3.000000 15.000000 m 6.000000 14.000000 l s
-0 slj
-0.000000 0.000000 0.000000 srgb
-n 5.130374 14.553399 m 6.000000 14.000000 l 4.972260 14.079057 l f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-0.000000 0.000000 0.000000 srgb
-n 4.000000 18.000000 m 6.000000 16.000000 l s
-0 slj
-0.000000 0.000000 0.000000 srgb
-n 5.469670 16.883883 m 6.000000 16.000000 l 5.116117 16.530330 l f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-0.000000 0.000000 0.000000 srgb
-n 4.000000 21.000000 m 6.000000 18.000000 l s
-0 slj
-0.000000 0.000000 0.000000 srgb
-n 5.653312 18.970725 m 6.000000 18.000000 l 5.237287 18.693375 l f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slj
-0 slc
-0.000000 0.000000 0.000000 srgb
-n -3.000000 19.000000 m -1.850000 19.000000 -3.400000 22.400000 -2.000000 22.000000 c s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slj
-0 slc
-0.000000 0.000000 0.000000 srgb
-n -2.000000 17.000000 m -3.050000 16.600000 -1.800000 19.000000 -3.000000 19.000000 c s
-/Times-Bold-latin1 ff 0.800000 scf sf
-0.000000 0.000000 0.000000 srgb
-(Indirizzo di ) dup sw 2 div 33.000000 ex sub 11.000000 m gs 1 -1 sc sh gr
-0.000000 0.000000 0.000000 srgb
-(memoria) dup sw 2 div 33.000000 ex sub 11.800000 m gs 1 -1 sc sh gr
-/Times-Bold-latin1 ff 0.800000 scf sf
-0.000000 0.000000 0.000000 srgb
-(File oggetto) dup sw 2 div -6.000000 ex sub 10.000000 m gs 1 -1 sc sh gr
-/Times-Bold-latin1 ff 0.800000 scf sf
-0.000000 0.000000 0.000000 srgb
-(Librerie) dup sw 2 div -5.000000 ex sub 19.000000 m gs 1 -1 sc sh gr
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slj
-0 slc
-0.000000 0.000000 0.000000 srgb
-n 6.000000 25.000000 m 6.000000 27.000000 11.516053 23.976037 11.516053 25.976037 c s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slj
-0 slc
-0.000000 0.000000 0.000000 srgb
-n 17.000000 25.000000 m 17.000000 27.000000 11.516053 23.976037 11.516053 25.976037 c s
-/Times-Bold-latin1 ff 0.800000 scf sf
-0.000000 0.000000 0.000000 srgb
-(Immagine della memoria) dup sw 2 div 11.516053 ex sub 26.976037 m gs 1 -1 sc sh gr
-0.000000 0.000000 0.000000 srgb
-(di un processo) dup sw 2 div 11.516053 ex sub 27.776037 m gs 1 -1 sc sh gr
-1.000000 1.000000 1.000000 srgb
-n 6.000000 15.000000 m 6.000000 19.000000 l 17.000000 19.000000 l 17.000000 15.000000 l f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slj
-0.000000 0.000000 0.000000 srgb
-n 6.000000 15.000000 m 6.000000 19.000000 l 17.000000 19.000000 l 17.000000 15.000000 l cp s
-/Times-Bold-latin1 ff 0.900000 scf sf
-0.000000 0.000000 0.000000 srgb
-(Libreria) dup sw 2 div 11.500000 ex sub 17.264706 m gs 1 -1 sc sh gr
-1.000000 1.000000 1.000000 srgb
-n 22.300000 -4.000000 m 22.300000 -2.100000 l 26.102720 -2.100000 l 26.102720 -4.000000 l f
-1.000000 1.000000 1.000000 srgb
-n 22.300000 -3.700000 m 22.300000 -3.700000 0.300000 0.300000 180.000000 270.000000 ellipse f
-1.000000 1.000000 1.000000 srgb
-n 26.102720 -3.700000 m 26.102720 -3.700000 0.300000 0.300000 270.000000 360.000000 ellipse f
-1.000000 1.000000 1.000000 srgb
-n 22.000000 -3.700000 m 22.000000 -2.400000 l 26.402720 -2.400000 l 26.402720 -3.700000 l f
-1.000000 1.000000 1.000000 srgb
-n 22.300000 -2.400000 m 22.300000 -2.400000 0.300000 0.300000 90.000000 180.000000 ellipse f
-1.000000 1.000000 1.000000 srgb
-n 26.102720 -2.400000 m 26.102720 -2.400000 0.300000 0.300000 0.000000 90.000000 ellipse f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slj
-0.000000 0.000000 0.000000 srgb
-n 22.300000 -4.000000 m 26.102720 -4.000000 l s
-0.000000 0.000000 0.000000 srgb
-n 22.300000 -2.100000 m 26.102720 -2.100000 l s
-0.000000 0.000000 0.000000 srgb
-n 22.300000 -3.700000 0.300000 0.300000 180.000000 270.000000 ellipse s
-0.000000 0.000000 0.000000 srgb
-n 26.102720 -3.700000 0.300000 0.300000 270.000000 360.000000 ellipse s
-0.000000 0.000000 0.000000 srgb
-n 22.000000 -3.700000 m 22.000000 -2.400000 l s
-0.000000 0.000000 0.000000 srgb
-n 26.402720 -3.700000 m 26.402720 -2.400000 l s
-0.000000 0.000000 0.000000 srgb
-n 22.300000 -2.400000 0.300000 0.300000 90.000000 180.000000 ellipse s
-0.000000 0.000000 0.000000 srgb
-n 26.102720 -2.400000 0.300000 0.300000 0.000000 90.000000 ellipse s
-/AvantGarde-Book-latin1 ff 0.800000 scf sf
-0.598485 0.068699 0.034038 srgb
-(BFFFFFFF) dup sw 2 div 24.201360 ex sub -2.850000 m gs 1 -1 sc sh gr
-1.000000 1.000000 1.000000 srgb
-n 22.300000 -1.000000 m 22.300000 0.900000 l 26.102720 0.900000 l 26.102720 -1.000000 l f
-1.000000 1.000000 1.000000 srgb
-n 22.300000 -0.700000 m 22.300000 -0.700000 0.300000 0.300000 180.000000 270.000000 ellipse f
-1.000000 1.000000 1.000000 srgb
-n 26.102720 -0.700000 m 26.102720 -0.700000 0.300000 0.300000 270.000000 360.000000 ellipse f
-1.000000 1.000000 1.000000 srgb
-n 22.000000 -0.700000 m 22.000000 0.600000 l 26.402720 0.600000 l 26.402720 -0.700000 l f
-1.000000 1.000000 1.000000 srgb
-n 22.300000 0.600000 m 22.300000 0.600000 0.300000 0.300000 90.000000 180.000000 ellipse f
-1.000000 1.000000 1.000000 srgb
-n 26.102720 0.600000 m 26.102720 0.600000 0.300000 0.300000 0.000000 90.000000 ellipse f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slj
-0.000000 0.000000 0.000000 srgb
-n 22.300000 -1.000000 m 26.102720 -1.000000 l s
-0.000000 0.000000 0.000000 srgb
-n 22.300000 0.900000 m 26.102720 0.900000 l s
-0.000000 0.000000 0.000000 srgb
-n 22.300000 -0.700000 0.300000 0.300000 180.000000 270.000000 ellipse s
-0.000000 0.000000 0.000000 srgb
-n 26.102720 -0.700000 0.300000 0.300000 270.000000 360.000000 ellipse s
-0.000000 0.000000 0.000000 srgb
-n 22.000000 -0.700000 m 22.000000 0.600000 l s
-0.000000 0.000000 0.000000 srgb
-n 26.402720 -0.700000 m 26.402720 0.600000 l s
-0.000000 0.000000 0.000000 srgb
-n 22.300000 0.600000 0.300000 0.300000 90.000000 180.000000 ellipse s
-0.000000 0.000000 0.000000 srgb
-n 26.102720 0.600000 0.300000 0.300000 0.000000 90.000000 ellipse s
-/AvantGarde-Book-latin1 ff 0.800000 scf sf
-0.598485 0.068699 0.034038 srgb
-(BFFFFDOC) dup sw 2 div 24.201360 ex sub 0.150000 m gs 1 -1 sc sh gr
-1.000000 1.000000 1.000000 srgb
-n 22.300000 5.000000 m 22.300000 6.900000 l 26.490560 6.900000 l 26.490560 5.000000 l f
-1.000000 1.000000 1.000000 srgb
-n 22.300000 5.300000 m 22.300000 5.300000 0.300000 0.300000 180.000000 270.000000 ellipse f
-1.000000 1.000000 1.000000 srgb
-n 26.490560 5.300000 m 26.490560 5.300000 0.300000 0.300000 270.000000 360.000000 ellipse f
-1.000000 1.000000 1.000000 srgb
-n 22.000000 5.300000 m 22.000000 6.600000 l 26.790560 6.600000 l 26.790560 5.300000 l f
-1.000000 1.000000 1.000000 srgb
-n 22.300000 6.600000 m 22.300000 6.600000 0.300000 0.300000 90.000000 180.000000 ellipse f
-1.000000 1.000000 1.000000 srgb
-n 26.490560 6.600000 m 26.490560 6.600000 0.300000 0.300000 0.000000 90.000000 ellipse f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slj
-0.000000 0.000000 0.000000 srgb
-n 22.300000 5.000000 m 26.490560 5.000000 l s
-0.000000 0.000000 0.000000 srgb
-n 22.300000 6.900000 m 26.490560 6.900000 l s
-0.000000 0.000000 0.000000 srgb
-n 22.300000 5.300000 0.300000 0.300000 180.000000 270.000000 ellipse s
-0.000000 0.000000 0.000000 srgb
-n 26.490560 5.300000 0.300000 0.300000 270.000000 360.000000 ellipse s
-0.000000 0.000000 0.000000 srgb
-n 22.000000 5.300000 m 22.000000 6.600000 l s
-0.000000 0.000000 0.000000 srgb
-n 26.790560 5.300000 m 26.790560 6.600000 l s
-0.000000 0.000000 0.000000 srgb
-n 22.300000 6.600000 0.300000 0.300000 90.000000 180.000000 ellipse s
-0.000000 0.000000 0.000000 srgb
-n 26.490560 6.600000 0.300000 0.300000 0.000000 90.000000 ellipse s
-/AvantGarde-Book-latin1 ff 0.800000 scf sf
-0.598485 0.068699 0.034038 srgb
-(08004A138) dup sw 2 div 24.395280 ex sub 6.150000 m gs 1 -1 sc sh gr
-1.000000 1.000000 1.000000 srgb
-n 22.300000 13.000000 m 22.300000 14.900000 l 26.490560 14.900000 l 26.490560 13.000000 l f
-1.000000 1.000000 1.000000 srgb
-n 22.300000 13.300000 m 22.300000 13.300000 0.300000 0.300000 180.000000 270.000000 ellipse f
-1.000000 1.000000 1.000000 srgb
-n 26.490560 13.300000 m 26.490560 13.300000 0.300000 0.300000 270.000000 360.000000 ellipse f
-1.000000 1.000000 1.000000 srgb
-n 22.000000 13.300000 m 22.000000 14.600000 l 26.790560 14.600000 l 26.790560 13.300000 l f
-1.000000 1.000000 1.000000 srgb
-n 22.300000 14.600000 m 22.300000 14.600000 0.300000 0.300000 90.000000 180.000000 ellipse f
-1.000000 1.000000 1.000000 srgb
-n 26.490560 14.600000 m 26.490560 14.600000 0.300000 0.300000 0.000000 90.000000 ellipse f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slj
-0.000000 0.000000 0.000000 srgb
-n 22.300000 13.000000 m 26.490560 13.000000 l s
-0.000000 0.000000 0.000000 srgb
-n 22.300000 14.900000 m 26.490560 14.900000 l s
-0.000000 0.000000 0.000000 srgb
-n 22.300000 13.300000 0.300000 0.300000 180.000000 270.000000 ellipse s
-0.000000 0.000000 0.000000 srgb
-n 26.490560 13.300000 0.300000 0.300000 270.000000 360.000000 ellipse s
-0.000000 0.000000 0.000000 srgb
-n 22.000000 13.300000 m 22.000000 14.600000 l s
-0.000000 0.000000 0.000000 srgb
-n 26.790560 13.300000 m 26.790560 14.600000 l s
-0.000000 0.000000 0.000000 srgb
-n 22.300000 14.600000 0.300000 0.300000 90.000000 180.000000 ellipse s
-0.000000 0.000000 0.000000 srgb
-n 26.490560 14.600000 0.300000 0.300000 0.000000 90.000000 ellipse s
-/AvantGarde-Book-latin1 ff 0.800000 scf sf
-0.598485 0.068699 0.034038 srgb
-(080048990) dup sw 2 div 24.395280 ex sub 14.150000 m gs 1 -1 sc sh gr
-1.000000 1.000000 1.000000 srgb
-n 22.300000 17.000000 m 22.300000 18.900000 l 26.490560 18.900000 l 26.490560 17.000000 l f
-1.000000 1.000000 1.000000 srgb
-n 22.300000 17.300000 m 22.300000 17.300000 0.300000 0.300000 180.000000 270.000000 ellipse f
-1.000000 1.000000 1.000000 srgb
-n 26.490560 17.300000 m 26.490560 17.300000 0.300000 0.300000 270.000000 360.000000 ellipse f
-1.000000 1.000000 1.000000 srgb
-n 22.000000 17.300000 m 22.000000 18.600000 l 26.790560 18.600000 l 26.790560 17.300000 l f
-1.000000 1.000000 1.000000 srgb
-n 22.300000 18.600000 m 22.300000 18.600000 0.300000 0.300000 90.000000 180.000000 ellipse f
-1.000000 1.000000 1.000000 srgb
-n 26.490560 18.600000 m 26.490560 18.600000 0.300000 0.300000 0.000000 90.000000 ellipse f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slj
-0.000000 0.000000 0.000000 srgb
-n 22.300000 17.000000 m 26.490560 17.000000 l s
-0.000000 0.000000 0.000000 srgb
-n 22.300000 18.900000 m 26.490560 18.900000 l s
-0.000000 0.000000 0.000000 srgb
-n 22.300000 17.300000 0.300000 0.300000 180.000000 270.000000 ellipse s
-0.000000 0.000000 0.000000 srgb
-n 26.490560 17.300000 0.300000 0.300000 270.000000 360.000000 ellipse s
-0.000000 0.000000 0.000000 srgb
-n 22.000000 17.300000 m 22.000000 18.600000 l s
-0.000000 0.000000 0.000000 srgb
-n 26.790560 17.300000 m 26.790560 18.600000 l s
-0.000000 0.000000 0.000000 srgb
-n 22.300000 18.600000 0.300000 0.300000 90.000000 180.000000 ellipse s
-0.000000 0.000000 0.000000 srgb
-n 26.490560 18.600000 0.300000 0.300000 0.000000 90.000000 ellipse s
-/AvantGarde-Book-latin1 ff 0.800000 scf sf
-0.598485 0.068699 0.034038 srgb
-(080000000) dup sw 2 div 24.395280 ex sub 18.150000 m gs 1 -1 sc sh gr
-1.000000 1.000000 1.000000 srgb
-n 22.300000 22.000000 m 22.300000 24.000000 l 26.490560 24.000000 l 26.490560 22.000000 l f
-1.000000 1.000000 1.000000 srgb
-n 22.300000 22.300000 m 22.300000 22.300000 0.300000 0.300000 180.000000 270.000000 ellipse f
-1.000000 1.000000 1.000000 srgb
-n 26.490560 22.300000 m 26.490560 22.300000 0.300000 0.300000 270.000000 360.000000 ellipse f
-1.000000 1.000000 1.000000 srgb
-n 22.000000 22.300000 m 22.000000 23.700000 l 26.790560 23.700000 l 26.790560 22.300000 l f
-1.000000 1.000000 1.000000 srgb
-n 22.300000 23.700000 m 22.300000 23.700000 0.300000 0.300000 90.000000 180.000000 ellipse f
-1.000000 1.000000 1.000000 srgb
-n 26.490560 23.700000 m 26.490560 23.700000 0.300000 0.300000 0.000000 90.000000 ellipse f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slj
-0.000000 0.000000 0.000000 srgb
-n 22.300000 22.000000 m 26.490560 22.000000 l s
-0.000000 0.000000 0.000000 srgb
-n 22.300000 24.000000 m 26.490560 24.000000 l s
-0.000000 0.000000 0.000000 srgb
-n 22.300000 22.300000 0.300000 0.300000 180.000000 270.000000 ellipse s
-0.000000 0.000000 0.000000 srgb
-n 26.490560 22.300000 0.300000 0.300000 270.000000 360.000000 ellipse s
-0.000000 0.000000 0.000000 srgb
-n 22.000000 22.300000 m 22.000000 23.700000 l s
-0.000000 0.000000 0.000000 srgb
-n 26.790560 22.300000 m 26.790560 23.700000 l s
-0.000000 0.000000 0.000000 srgb
-n 22.300000 23.700000 0.300000 0.300000 90.000000 180.000000 ellipse s
-0.000000 0.000000 0.000000 srgb
-n 26.490560 23.700000 0.300000 0.300000 0.000000 90.000000 ellipse s
-/AvantGarde-Book-latin1 ff 0.800000 scf sf
-0.598485 0.068699 0.034038 srgb
-(000000000) dup sw 2 div 24.395280 ex sub 23.200000 m gs 1 -1 sc sh gr
-showpage