Alessio Caiazza is sharing code with you

Bitbucket is a code hosting site. Unlimited public and private repositories. Free for small teams.

Don't show this again

nolith / ipv6 - fine del mondo http://slideshare.net/nolith/ipv6-e-la-fine-del-mondo

Slide su IPv6 per la notte blù

Clone this repository (size: 9.7 MB): HTTPS / SSH
hg clone https://bitbucket.org/nolith/ipv6-fine-del-mondo
hg clone ssh://hg@bitbucket.org/nolith/ipv6-fine-del-mondo

ipv6 - fine del mondo / introduzione.tex

Branch
default
%!TEX root = ipv6.slides.tex

%\section{Perch\'e IPv6}

\subsection{IPv6 e IPv4}
\begin{frame}\frametitle{IPv6}
IPv6 \`e la nuova versione del protocollo IP, \`e stato progettato per risolvere le debolezze di IPv4 e per esaltarne i punti di forza.

%\begin{itemize}[<+->]
% \item Un indirizzo IPv6 \texttt{2001:0db8:85a3:08d3:1319:8a2e:0370:7344}
% \item la notazione CIDR per i prefix
%\end{itemize}

\vspace{1.5cm}

\pause
\begin{colorblock}{Vantaggi di IPv6}
\begin{itemize}
\item Maggior spazio di indirizzamento
\item Abolizione dei NAT
\item Header semplificato
\item Autoconfigurazione
\end{itemize}
\end{colorblock}
\end{frame}

\begin{frame}\frametitle{IPv4}
  \begin{itemize}[<+->]
    \item Ogni host su Internet ha un ``indirizzo''
    \item L'indirizzo serve per raggiungerlo
    \item Per raggiungere un host l'indirizzo deve essere \textbf{univoco} $$ \text{IPv4} \to 2^{32} \text{indirizzi} \simeq 4 \text{miliardi, ma sono \textbf{usati male}} $$
    \item esistono indirizzo ``privati'' che \textbf{non} possono essere raggiunti, ma... \emph{ve lo raccontiamo dopo}
  \end{itemize}
\end{frame}

\begin{frame}[plain,t]%\frametitle{Allocazione IPv4}
  \includegraphics[scale=.5]{20061108}
\end{frame} 

\subsection{Timeline di IPv6}
\begin{frame}[t]\frametitle{Gli indirizzi IP stanno finendo?}
\begin{tikzpicture}[timeline/.style={->,color=chameleongreen1,thick},
                     every text node/.style={tiny text},
                     year label/.style={anchor=south west,rotate=45},
                     today/.style={<-,very thick,draw,color=chameleongreen3},
                     fact label/.style={anchor=east,yshift=-.7cm,rotate=45},]
  \draw[timeline] (-.5,0) -- (11.5,0);
  %red line
  \setbeamercovered{invisible}
  \uncover<presentation:8->{ \draw[timeline,color=red] (8,0) -- (11.5,0);}
  \uncover<presentation:12->{
  \draw (9,0) node[year label] (2011) {\small \color{red}{2011}} +(0,-3pt) -- +(0,3pt);
  \draw (9.5,0) node[year label] (2012) {\small \color{red}{2012}} +(0,-3pt) -- +(0,3pt);
  \path[today,color=red] (2011) -- +(0,+1cm);
  \path[today,color=red] (2012) -- +(0,+1cm);
  }
  \setbeamercovered{dynamic}
  \draw (0,0) node[year label] (1993) {\small 1993} +(0,-3pt) -- +(0,3pt);
  \draw (1,0) node[year label] (1995) {\small 1995} +(0,-3pt) -- +(0,3pt);
  \draw (2,0) node[year label] (1997) {\small 1997} +(0,-3pt) -- +(0,3pt);
  \draw (3,0) node[year label] (1999) {\small 1999} +(0,-3pt) -- +(0,3pt);
  \draw (3.5,0) node[year label] (2000) {\small 2000} +(0,-3pt) -- +(0,3pt);
  \draw (5,0) node[year label] (2003) {\small 2003} +(0,-3pt) -- +(0,3pt);
  \draw (5.5,0) node[year label] (2004) {\small 2004} +(0,-3pt) -- +(0,3pt);
  \draw (6,0) node[year label] (2005) {\small 2005} +(0,-3pt) -- +(0,3pt);
  \draw (6.5,0) node[year label] (2006) {\small 2006} +(0,-3pt) -- +(0,3pt);
  \draw (7.5,0) node[year label] (2008) {\small 2008} +(0,-3pt) -- +(0,3pt);
  \draw (8,0) node[year label] (2009) {\small 2009} +(0,-3pt) -- +(0,3pt);
  \draw (8.5,0) node[year label] (2010) {\small 2010} +(0,-3pt) -- +(0,3pt);
  \draw (11,0) node[year label] (2016) {\small 2016} +(0,-3pt) -- +(0,3pt);
  %freccie today
  \only<presentation:1>{\path[today] (1993) -- +(0,+1cm);}
  \only<presentation:2>{\path[today] (1995) -- +(0,+1cm);}
  \only<presentation:3>{\path[today] (1997) -- +(0,+1cm);}
  \only<presentation:4>{\path[today] (1999) -- +(0,+1cm);}
  \only<presentation:5>{\path[today] (2000) -- +(0,+1cm);}
  \only<presentation:6>{\path[today] (2003) -- +(0,+1cm);}
  \only<presentation:7>{\path[today] (2004) -- +(0,+1cm);}
  \only<presentation:8>{\path[today] (2005) -- +(0,+1cm);}
  \only<presentation:9>{\path[today] (2006) -- +(0,+1cm);}
  \only<presentation:10>{\path[today] (2008) -- +(0,+1cm);}
  \only<presentation:11>{\path[today] (2009) -- +(0,+1cm);}
  \only<presentation:12>{\path[today] (2010) -- +(0,+1cm);}
  %fatti
  \draw (1993) node[fact label] {\tiny CIDR}; 
  \uncover<presentation:2->{ \draw (1995) node[fact label] {\tiny IPv6}; }
  \uncover<presentation:3->{ \draw (1997) node[fact label] {\tiny SURFNet}; }
  \uncover<presentation:4->{ \draw (1999) node[fact label] {\tiny IPv6 Forum}; }
  \uncover<presentation:5->{ \draw (2000) node[fact label] {\tiny SixXS}; }
  \uncover<presentation:6->{ \draw (2003) node[fact label] {\tiny Parte 6bone - Asia}; }
  \uncover<presentation:7->{ \draw (2004) node[fact label] {\tiny Supporto a IPv6 dai vendor}; }
  \uncover<presentation:8->{ \draw (2005) node[fact label] {\tiny USA};}
  \uncover<presentation:9->{ \draw (2006) node[fact label] {\tiny Termina 6bone}; }
  \uncover<presentation:10->{ \draw (2008) node[fact label] {\tiny Root DNS - UE - Beijing}; }
  \uncover<presentation:11->{ \draw (2009) node[fact label] {\tiny UniFi}; }
  \uncover<presentation:12->{ \draw (2010) node[fact label] {\tiny OGGI}; }
\end{tikzpicture}

\tlelement{1}{1993}{\item Viene introdotto CIDR per arginare il problema della fine degli indirizzi IP.}
\tlelement{2}{1995}{\item Nasce ufficialmente IPv6 (RFC 1752).}
\tlelement{3}{1997}{\item SURFNet, maintainer della rete accademica olandese, migra a IPv6.}
\tlelement{4}{1999}{\item Nascita di IPv6Forum e delle task force regionali.}
\tlelement{5}{2000}{\item Nasce SixXS, uno dei più grandi tunnel broker.}
\tlelement{6}{2003}{\item Parte il testbed 6bone\item Giappone, Cina e Corea del Sud annunciano di voler diventare leader nel settore IPv6.}
\tlelement{7}{2004}{\item La maggior parte degli apparati di rete supportano IPv6.}
\tlelement{8}{2005}{\item Il governo USA richiede che tutti i backbone delle agenzie federali migrino a IPv6 entro il 2008.\item Sify, ISP indiano, fornisce connettività IPv6 end-user.\item Tony Hain di Cisco Systems pubblica uno studio stimando la fine degli indirizzi IPv4 tra il 2009 e il 2016.}
\tlelement{9}{2006}{\item Viene dichiarata conclusa con successo la sperimentazione 6bone.}
\tlelement{10}{2008}{\item I root DNS sono raggiungibili anche in IPv6.\item La Comunità Europea richiede l'adozione di IPv6 per almeno il 25\% della popolazione comunitaria entro il 2010.\item La Cina, con le olimpiadi di Beijing, fa il più grande uso mai visto di tecnologia IPv6.}
\tlelement{11}{2009} {\item UniFi attiva IPv6 sul proprio backbone. \item espone in IPv6 il server DNS per ipv6.unifi.it \item pubblica un webserver IPv6.}
\tlelement{12}{2010} {\item A oggi gli studi di Geoff Huston individuano la fine degli indirizzi IPv4 fra settembre 2011 e maggio 2012. \item \emph{Un evento capace di produrre una significativa discontinuità storica con il passato}.}
\end{frame}

\subsection{Vantaggi principali}
\begin{frame}[plain]
\setbeamercovered{invisible}
\tikzstyle{every picture}+=[remember picture]
\tikzstyle{v6 arrow}+=[<<-,ultra thick,draw]
\tikzstyle{ipv4}+=[rectangle,minimum size=1cm,fill=chameleongreen1,draw=chameleongreen3]
\tikzstyle{na} = [baseline=-.5ex]

\vspace{12em}

\begin{itemize}
\item<2-> Spazio di indirizzamento IPv4 \tikz[na] \node[coordinate] (ipv4_text) {};
  \begin{itemize}
  \item<3-> $2^{32} = 4`294`967`296 $ indirizzi
  \end{itemize}
\item<4-> Spazio di indirizzamento IPv6 \tikz[na] \node[coordinate] (ipv6_text) {};
  \begin{itemize}
  \item<5-> $2^{128} = 340`282`366`920`938`463`463`374`607`431`768`211`456$ indirizzi
  \item<6-> Per mantenere le proporzioni dovremmo colorare di bianco l'intera superficie del Sistema Solare!
  \item<7-> Pi\`u di $6.66 \cdot 10^{23}$ indirizzi per metro quadrato della superficie terrestre (cioè 666 mila miliardi di miliardi).
  \end{itemize}
\end{itemize} 

\begin{tikzpicture}[remember picture,overlay]
  \node at ($(current page.center) + (0,2cm) $) [ipv4] (ipv4) {} ;
  \coordinate (ipv6) at ($ (ipv4) + (2cm,-.5cm) $);

  \path[->]<2-> (ipv4_text) edge [bend right] (ipv4);
  \path[->]<4-> (ipv6_text) edge [bend right] (ipv6);
  \begin{actionenv}<6->
  %\path[v6 arrow] (current page.north west) -- +(-1cm,-1cm);
  \path[v6 arrow] (current page.north) -- +(0,-.5cm); %(current page.south);
  \path[v6 arrow] (current page.south) -- +(0,+.5cm);
  \path[v6 arrow] (current page.west) -- +(+.5cm,0);
  \path[v6 arrow] (current page.east) -- +(-.5cm,0);
  \end{actionenv}
\end{tikzpicture}

\end{frame}

\begin{frame}\frametitle{Network Address Translation (NAT)}

Il Network Address Translation (NAT) è una tecnica che consiste nel modificare gli indirizzi IP dei pacchetti in transito su un sistema che agisce da router. \pause

\begin{itemize}
  \item<2-> Il NAT permette ad un indirizzo privato di raggiungere Internet, \underline{ma non il contrario}.
  \item<3-> Esistono tecniche per bypassare un NAT ma non sono affidabili.
  \begin{itemize}
    \item<3-> uPNP, STUN, NAT Traversal
  \end{itemize}
  \item<4-> Se avete un connessione Internet a casa, al 99.9\% siete dietro ad un NAT.\\
  \only<4->\includegraphics[scale=1.5]{eMuleLowId} 
\end{itemize}
\end{frame}

\begin{frame}[fragile]\frametitle{Header semplificato}
\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}<only@2->
\begin{colorblock}{Vantaggi di IPv6}
\begin{itemize}
\item Lunghezza fissa 40 byte
\item Rimosso il controllo di errore
\item Rimossa la frammentazione
\item Header Extensions
\end{itemize}
\end{colorblock}
\end{actionenv}
\end{column}
\end{columns}
\end{frame}


\begin{frame}\frametitle{Autoconfigurazione}
\begin{itemize}

%\begin{columns} % the "c" option specifies center vertical alignment
%\column{.4\textwidth} % column designated by a command
\item Anche in assenza di un router i nodi connessi allo stesso switch sono in grado di {\color{chameleongreen3}generare autonomamente un indirizzo locale per garantire la comunicazione}. (link-local unicast)

\item Il comportamento predefinito di un router è di {\color{chameleongreen3}annunciare la propria rete affinch\'e i nodi possano generare autonomamente un indirizzo}. (global unicast)
%\column{.6\textwidth}
%\includegraphics[scale=.35]{calcio}
%\end{columns}
\end{itemize}
\end{frame}