# HG changeset patch # User Alessio Caiazza # Date 1256302265 -7200 # Node ID e16e32db07d5f00eb44239be6b7cf6456e397b06 # Parent ef7af8537f955959f5912da2c120349e5dc1a70a Struttura/Tipi e Visibilità/Header diff -r ef7af8537f955959f5912da2c120349e5dc1a70a -r e16e32db07d5f00eb44239be6b7cf6456e397b06 Presentazione.tex --- a/Presentazione.tex Fri Oct 23 11:18:33 2009 +0200 +++ b/Presentazione.tex Fri Oct 23 14:51:05 2009 +0200 @@ -44,6 +44,14 @@ \newcommand{\tlelement}[3] {\only<#1>{\begin{tl_itm_year}{#2} #3 \end{tl_itm_year}}} + +\usepackage{multirow} +\usepackage{array} +\newcolumntype{x}[1]{% +>{\centering\hspace{0pt}}p{#1}}% +\newcommand{\tn}{\tabularnewline} +\newcommand{\tnhl}{\tabularnewline\hline} + %\beamertemplatetransparentcoveredhigh % =-> Package relativi alla gestione della Lingua. \usepackage[italian]{babel} @@ -69,6 +77,10 @@ % Package per la gestione "frecce". %\usepackage{pifont} \usepackage{bytefield} +%definiamo i bitbox colorati +\newcommand{\colorbitbox}[3]{% +\rlap{\bitbox{#2}{\color{#1}\rule{\width}{\height}}}% +\bitbox{#2}{#3}} \usepackage{tikz} \usetikzlibrary{fit,arrows,calc,chains,positioning} @@ -333,6 +345,296 @@ \end{itemize} \end{frame} +\section{IPv6 nel dettaglio} % (fold) +\label{sec:ipv6_nel_dettaglio} +\subsection{Struttura di un indirizzo} % (fold) +\label{sub:struttura_di_un_indirizzo} +\begin{frame}\frametitle{Struttura di un indirizzo} + Un indirizzo IPv6 \`e un dato a 128 bit. Si utilizza una rappresentazione a + gruppi di 4 cifre esadecimali separati dal simbolo ``\texttt{:}''\\ + \begin{center} + \texttt{2001:0db8:2c05:0000:0000:0000:0000:0027} + \end{center} + \pause + o in modo pi\`u contratto\\ + \begin{center} + \texttt{2001:db8:2c05::27} + \end{center} + \`e infatti possibile omettere gli zeri di sinistra in ogni blocco e si pu\`o + introdurre \underline{una sola volta} la notazione ``\texttt{::}'' che viene espansa in gruppi + di \texttt{0000} fino a completare l'indirizzo. +\end{frame} + +\begin{frame}\frametitle{Struttura di un indirizzo (cont.)} + Si definisce \emph{site} una rete amministrata da un unico gestore, + il \emph{global routing prefix} è lo spazio di indirizzamento assegnatogli, + la \emph{subnet ID} è la parte rimanente ad ottenere il \emph{prefix} (prefisso) di + lunghezza 64~bit, i rimanenti bit identificano l'interfaccia di rete + a cui è assegnato l'indirizzo e si chiamano \emph{interface ID}. + + \vspace{1.5cm} +% \begin{figure} + \begin{tabular}{| x{3.5cm} | x{1.7cm} | x{5cm} |} + \hline + Global routing prefix & Subnet ID & Interface ID \tnhl + \multicolumn{1}{c}{n bit} & + \multicolumn{1}{c}{64-n bit} & + \multicolumn{1}{c}{64 bit} + \end{tabular} +% \caption{Struttura di un indirizzo global unicast} +% \label{fig:Struttura di un indirizzo Global Unicast} +% \end{figure} + +\end{frame} +% subsection struttura_di_un_indirizzo (end) + +\subsection{Tipo e visibilità} +\begin{frame}\frametitle{Visibilità di un indirizzo} +\begin{colorblock}{Global} +Gli indirizzi \emph{global} sono raggiungibili da tutta la rete IPv6 +\end{colorblock}\pause +\begin{colorblock}{Site-local (deprecati)} +Gli indirizzi \emph{site-local} sono indirizzi privati interni ad un site che non +devono essere instradati al di fuori della propria infrastruttura. Questa categoria di visibilità è attualmente deprecata. +\end{colorblock}\pause +\begin{colorblock}{Link-local} +Gli indirizzi \emph{link-local} non devono mai essere inoltrati fuori dal link di origine.\\ +L'indirizzo \texttt{::1/128} rappresenta il \emph{localhost} per l'interfaccia di \emph{loopback} mentre il prefix \texttt{fe80::/10} è stato riservato per l'autoconfigurazione stateless a livello di link. +\end{colorblock} +\end{frame} + +\begin{frame}\frametitle{Tipo di indirizzo} +\begin{colorblock}{Unicast} % (fold) +Un indirizzo \emph{unicast} identifica univocamente un'interfaccia.\\ +Per gli indirizzi \textit{global unicast} lo IANA ha registrato il prefisso \texttt{2000::/3}, +mentre il prefix \texttt{2001:db8::/32} è stato riservato per la scrittura di documentazione. +\end{colorblock} +\pause +\begin{colorblock}{Multicast} +Un indirizzo \emph{multicast} individua un gruppo di interfacce, i pacchetti destinati +all'indirizzo vengono instradati a tutti i nodi partecipanti al multicast. +\end{colorblock} +\pause +\begin{colorblock}{Anycast} +Un indirizzo \emph{anycast} individua un gruppo di interfacce, i pacchetti destinati ad un +indirizzo anycast vengono instradati verso una sola interfaccia, solitamente la più vicina. +\end{colorblock} +\end{frame} + +\subsection{Header} +\begin{frame}[fragile]\frametitle{Header IPv4} +\begin{bytefield}{32} +\bitheader{0,3,4,7,8,15,16,18,19,31} \\ +\bitbox{4}{Ver.} & \colorbitbox{lightgray}{4}{IHL} & \bitbox{8}{TOS} & +\bitbox{16}{Total length} \\ +\colorbitbox{lightgray}{16}{Identification} & \colorbitbox{lightgray}{3}{Flags} & \colorbitbox{lightgray}{13}{Fragment Offset} \\ +\bitbox{8}{TTL} & \bitbox{8}{Protocol} & \colorbitbox{lightgray}{16}{Header Checksum} \\ +\wordbox{1}{Source Address}\\ +\wordbox{1}{Destination Address}\\ +\colorbitbox{lightgray}{32}{Options (facoltativo)} +\end{bytefield} +\vspace{0.5cm}\pause + +Dimensione variabile tra 20 e 60 byte.\\I campi in grigio sono stati rimossi in IPv6. +\end{frame} + +\begin{frame}[fragile]\frametitle{Header IPv6} +\begin{columns} +\begin{column}{5.5cm} +\begin{bytefield}{32} +\bitheader{0,3,4,11,12,15,16,23,24,31} \\ +\bitbox{4}{Ver.} & \bitbox{8}{Traffic Class} & +\bitbox{20}{Flow Label} \\ +\bitbox{16}{Payload Length} & \bitbox{8}{Next Header} & +\bitbox{8}{Hop Limit} \\ +\wordbox{4}{Source Address}\\ +\wordbox{4}{Destination Address} +\end{bytefield} +\end{column} +\begin{column}{5.5cm} +%\begin{actionenv} +%\begin{colorblock}{Vantaggi di IPv6} +%\begin{itemize} +%\item<2-> Lunghezza fissa 40 byte +%\item<3-> Rimosso il controllo di errore +%\item<4-> Rimossa la frammentazione +%\item<5-> Header Extensions +%\end{itemize} +%\end{colorblock} +%\end{actionenv} +\end{column} +\end{columns} +\end{frame} + +\begin{frame}[fragile]\frametitle{Header IPv6 - Version} +\begin{columns} +\begin{column}{1.5cm} +\begin{bytefield}{32} +\bitheader{0,3,4,11,12,15,16,23,24,31} \\ +\colorbitbox{chameleongreen2}{4}{Ver.} & \bitbox{8}{Traffic Class} & +\bitbox{20}{Flow Label} \\ +\bitbox{16}{Payload Length} & \bitbox{8}{Next Header} & +\bitbox{8}{Hop Limit} \\ +\wordbox{4}{Source Address}\\ +\wordbox{4}{Destination Address} +\end{bytefield} +\end{column} +\begin{column}{8.5cm} +\begin{colorblock}{Version (4 bit)} +Specifica la versione del protocollo, in questo caso 6. +\end{colorblock} +\end{column} +\end{columns} +\end{frame} + +\begin{frame}[fragile]\frametitle{Header IPv6 - Traffic Class} +\begin{columns} +\begin{column}{1.5cm} +\begin{bytefield}{32} +\bitheader{0,3,4,11,12,15,16,23,24,31} \\ +\bitbox{4}{Ver.} & \colorbitbox{chameleongreen2}{8}{Traffic Class} & +\bitbox{20}{Flow Label} \\ +\bitbox{16}{Payload Length} & \bitbox{8}{Next Header} & +\bitbox{8}{Hop Limit} \\ +\wordbox{4}{Source Address}\\ +\wordbox{4}{Destination Address} +\end{bytefield} +\end{column} +\begin{column}{8.5cm} +\begin{colorblock}{Traffic Class (1 byte)} +Sostituisce il campo \texttt{Type of Service} di IPv4. Serve a gestire differenti tipologie di traffico in base alla loro priorità. +\end{colorblock} +\end{column} +\end{columns} +\end{frame} + +\begin{frame}[fragile]\frametitle{Header IPv6 - Flow Label} +\begin{columns} +\begin{column}{1.5cm} +\begin{bytefield}{32} +\bitheader{0,3,4,11,12,15,16,23,24,31} \\ +\bitbox{4}{Ver.} & \bitbox{8}{Traffic Class} & +\colorbitbox{chameleongreen2}{20}{Flow Label} \\ +\bitbox{16}{Payload Length} & \bitbox{8}{Next Header} & +\bitbox{8}{Hop Limit} \\ +\wordbox{4}{Source Address}\\ +\wordbox{4}{Destination Address} +\end{bytefield} +\end{column} +\begin{column}{8.5cm} +\begin{colorblock}{Flow Label (20 bit)} +Serve a marchiare i flussi per permetterne una gestione differenziata, attualmente è considerato un campo sperimentale. +\end{colorblock} +\end{column} +\end{columns} +\end{frame} + +\begin{frame}[fragile]\frametitle{Header IPv6 - Payload Length} +\begin{columns} +\begin{column}{1.5cm} +\begin{bytefield}{32} +\bitheader{0,3,4,11,12,15,16,23,24,31} \\ +\bitbox{4}{Ver.} & \bitbox{8}{Traffic Class} & +\bitbox{20}{Flow Label} \\ +\colorbitbox{chameleongreen2}{16}{Payload Length} & \bitbox{8}{Next Header} & +\bitbox{8}{Hop Limit} \\ +\wordbox{4}{Source Address}\\ +\wordbox{4}{Destination Address} +\end{bytefield} +\end{column} +\begin{column}{8.5cm} +\begin{colorblock}{Payload Length (2 byte)} +Specifica la lunghezza del \texttt{payload}, a differenza di IPv4 si dichiara esclusivamente la \underline{dimensione dei dati trasportati}, senza considerare l'header IP. +\end{colorblock} +\end{column} +\end{columns} +\end{frame} + +\begin{frame}[fragile]\frametitle{Header IPv6 - Next Header} +\begin{columns} +\begin{column}{1.5cm} +\begin{bytefield}{32} +\bitheader{0,3,4,11,12,15,16,23,24,31} \\ +\bitbox{4}{Ver.} & \bitbox{8}{Traffic Class} & +\bitbox{20}{Flow Label} \\ +\bitbox{16}{Payload Length} & \colorbitbox{chameleongreen2}{8}{Next Header} & +\bitbox{8}{Hop Limit} \\ +\wordbox{4}{Source Address}\\ +\wordbox{4}{Destination Address} +\end{bytefield} +\end{column} +\begin{column}{8.5cm} +\begin{colorblock}{Next Header (1 byte)} +Sostituisce il campo \texttt{Protocol Type} di IPv4. Mantiene i valori definiti per la vecchia versione del protocollo ed aggiunge dei nuovi codici per gli \texttt{Extension header} +\end{colorblock} +\end{column} +\end{columns} +\end{frame} + +\begin{frame}[fragile]\frametitle{Header IPv6 - Hop Limit} +\begin{columns} +\begin{column}{1.5cm} +\begin{bytefield}{32} +\bitheader{0,3,4,11,12,15,16,23,24,31} \\ +\bitbox{4}{Ver.} & \bitbox{8}{Traffic Class} & +\bitbox{20}{Flow Label} \\ +\bitbox{16}{Payload Length} & \bitbox{8}{Next Header} & +\colorbitbox{chameleongreen2}{8}{Hop Limit} \\ +\wordbox{4}{Source Address}\\ +\wordbox{4}{Destination Address} +\end{bytefield} +\end{column} +\begin{column}{8.5cm} +\begin{colorblock}{Hop Limit (1 byte)} +Sostituisce il campo \texttt{TTL} di IPv4. Storicamente (in IPv4) il TTL misurava i ``secondi di vita'' del datagramma, mentre ora misura il numero di ``salti'' da nodo a nodo della rete, per questo motivo con IPv6 si è deciso di cambiargli nome. +\end{colorblock} +\end{column} +\end{columns} +\end{frame} + +\begin{frame}[fragile]\frametitle{Header IPv6 - Source Address} +\begin{columns} +\begin{column}{1.5cm} +\begin{bytefield}{32} +\bitheader{0,3,4,11,12,15,16,23,24,31} \\ +\bitbox{4}{Ver.} & \bitbox{8}{Traffic Class} & +\bitbox{20}{Flow Label} \\ +\bitbox{16}{Payload Length} & \bitbox{8}{Next Header} & +\bitbox{8}{Hop Limit} \\ +\rlap{\wordbox{4}{\color{chameleongreen2}\rule{\width}{\height}}}\wordbox{4}{Source Address}\\ +\wordbox{4}{Destination Address} +\end{bytefield} +\end{column} +\begin{column}{8.5cm} +\begin{colorblock}{Source Address (16 byte)} +Indirizzo sorgente del datagramma. +\end{colorblock} +\end{column} +\end{columns} +\end{frame} + +\begin{frame}[fragile]\frametitle{Header IPv6 - Destination Address} +\begin{columns} +\begin{column}{1.5cm} +\begin{bytefield}{32} +\bitheader{0,3,4,11,12,15,16,23,24,31} \\ +\bitbox{4}{Ver.} & \bitbox{8}{Traffic Class} & +\bitbox{20}{Flow Label} \\ +\bitbox{16}{Payload Length} & \bitbox{8}{Next Header} & +\bitbox{8}{Hop Limit} \\ +\wordbox{4}{Source Address}\\ +\rlap{\wordbox{4}{\color{chameleongreen2}\rule{\width}{\height}}}\wordbox{4}{Destination Address} +\end{bytefield} +\end{column} +\begin{column}{8.5cm} +\begin{colorblock}{Destination Address (16 byte)} +Indirizzo destinazione del datagramma. +\end{colorblock} +\end{column} +\end{columns} +\end{frame} +% section ipv6_nel_dettaglio (end) + \section{Come fare} \subsection{Tunnel Broker} @@ -371,17 +673,6 @@ \end{frame} -\subsection{Scopo} -\begin{frame}\frametitle{Scopo della tesi} -\begin{colorblock}{Scopo e prerequisiti} - Il lavoro di tesi \`e stato strutturato al fine di ottenere un test delle possibili alternative per quanto riguarda la migrazione, partendo dall'unico prerequisito di ottenere una rete {\color{chameleongreen3}dual-stack} con {\color{chameleongreen3}routing OSPFv3}.\\ - -Ad eccezione della fase iniziale di testing tutto il lavoro \`e stato svolto {\color{chameleongreen3}sull'infrastruttura in produzione} della rete universitaria. -\end{colorblock} - - -\end{frame} - \tikzstyle{na} = [baseline=-.5ex] \tikzstyle{every picture}+=[remember picture]