123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430 |
- %\documentclass[12pt,xcolor=x11names,compress,a4paper]{beamer}
- \documentclass[15pt,xcolor=x11names]{beamer}
- \usepackage[utf8]{inputenc}
- \usepackage[french]{babel}
- %\usepackage{ucs}
- \usepackage[T1]{fontenc}
- %\usepackage{amsmath}
- %\usepackage{amsfonts}
- %\usepackage{amssymb}
- %\usepackage{mathtools}
- %\usepackage{mathrsfs}
- \usepackage{verbatim}
- %\usepackage{color}
- \usepackage{graphicx}
- \usepackage{tikz}
- %\usetikzlibrary{decorations.fractals}
- \usetikzlibrary{snakes,arrows,shapes}
- %% Beamer Layout %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \useoutertheme[subsection=false,shadow]{miniframes}
- %\useoutertheme{infolines}
- \useinnertheme{default}
- %\usefonttheme{serif}
- %\usepackage{palatino}
- %\usepackage{inconsolata}
- \setbeamerfont{title like}{shape=\scshape}
- \setbeamerfont{frametitle}{shape=\scshape}
- \setbeamercolor*{lower separation line head}{bg=DeepSkyBlue4}
- \setbeamercolor*{normal text}{fg=black,bg=white}
- \setbeamercolor*{alerted text}{fg=red}
- \setbeamercolor*{example text}{fg=black}
- \setbeamercolor*{structure}{fg=black}
- %
- \setbeamercolor*{palette tertiary}{fg=black,bg=black!10}
- \setbeamercolor*{palette quaternary}{fg=black,bg=black!10}
- %
- \definecolor{my-light-blue}{HTML}{D3DCEC}
- \definecolor{my-dark-blue}{HTML}{093A7A}
- \definecolor{my-dark-blue2}{HTML}{00688B}
- \definecolor{my-light-red}{HTML}{FFBABA}
- \definecolor{my-dark-red}{HTML}{D51111}
- \definecolor{my-light-green}{HTML}{7BEF71}
- \definecolor{my-dark-green}{HTML}{00D000}
- \definecolor{my-light-grey}{HTML}{E6E6E6}
- %
- \setbeamertemplate{blocks}[rounded]
- \setbeamercolor{block body}{bg=my-light-blue}
- \setbeamercolor{block title}{bg=my-dark-blue2,fg=white}
- \setbeamercolor{block body alerted}{bg=my-light-red}
- \setbeamercolor{block title alerted}{bg=my-dark-red,fg=white}
- \setbeamercolor{block body example}{bg=my-light-green}
- \setbeamercolor{block title example}{bg=my-dark-green,fg=white}
- \setbeamertemplate{navigation symbols}{}
- % From /usr/share/texmf-dist/tex/latex/beamer/themes/outer/beamerouterthemeinfolines.sty
- \setbeamertemplate{footline}{
- \begin{beamercolorbox}[wd=\paperwidth,ht=2.25ex,dp=1ex,right]{parent=palette primary}
- \scriptsize{
- \vspace*{0.1cm}\insertframenumber/\inserttotalframenumber\hspace*{0.1cm}
- }
- \end{beamercolorbox}
- }
- %\renewcommand{\(}{\begin{columns}}
- %\renewcommand{\)}{\end{columns}}
- %\newcommand{\lcol}{\begin{column}[l]{0.5\textwidth}}
- %\newcommand{\rcol}{\begin{column}[r]{0.5\textwidth}}
- %\renewcommand{\>}{\end{column}}
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \newcommand{\sep}{$\; \triangleright \ $}
- \title[IPv6]{Introduction à IPv6}
- \author[B. Jonglez]{Baptiste Jonglez}
- \institute{JDLL 2015}
- \date[29/03/2015]{29 mars 2015}
- \begin{document}
- \begin{frame}
- \maketitle
- \end{frame}
- % Plan : rester abordable.
- % - carte d'Internet, comment tout ça tient debout, qu'est qu'IP
- % - problèmes liés à IPv4 : exhaustion, complexité & coût qui s'ensuivent (NAT, CGNAT). Expliquer le NAT (avec des figures plus jolies). Problème du NAT, expliqué simplement : plusieurs personnes ont le même numéro de téléphone ! Plus précisément, pose problème pour certains protocoles (SIP/VoIP), coût énorme en conception et développement, coût du matériel pour les CGNAT + logs
- % - nouveaux besoins : nombreux appareils, connectivité de bout en bout pour P2P/VOIP/etc (ou pas ?), multihoming
- % - différences fondamentales : taille de l'espace, auto-configuration
- % - format des adresses IPv6
- % - c'est compliqué ? Il y a le DNS !
- % - en pratique, qu'est ce que ça change ? → du point de vue utilisateur, pas grand chose ! C'est juste une évolution nécessaire (et douloureuse). Dual stack (forme de compatibilité)
- % - mythes : IPv6 n'est pas sécurisé (pas de NAT), IPv6 ne sert à rien parce que personne ne l'a déployé, etc
- % - références : Lothaire Yarding, blog bortzmeyer, RIPE, présentation Ju
- % → peut-être trop ambitieux, se limiter à des choses plus pratiques ?
- \section*{Introduction}
- \begin{frame}
- \frametitle{Une carte d'Internet}
- %\begin{figure}[h]
- % \centering
- % \includegraphics[scale=0.6]{figures/Ipv4-exhaust.eps}
- % \caption{}
- %\end{figure}
- \end{frame}
- \begin{frame}
- \frametitle{Internet Protocol}
- \begin{alertblock}{Un protocole commun}
- \textbf{Internet Protocol} (IP) est le protocole commun à toutes les machines d'Internet
- \end{alertblock}
- \begin{block}{Service fourni}
- \begin{itemize}
- \item Adressage (qui je suis)
- \item Routage (où je suis et comment me joindre)
- \item \ldots{} et c'est à peu près tout
- \end{itemize}
- \end{block}
- \end{frame}
- \begin{frame}
- \frametitle{Place dans le modèle TCP/IP}
- \begin{figure}[h]
- \centering
- \includegraphics[scale=0.3]{figures/couches.eps}
- \end{figure}
- \end{frame}
- \section{Remplacer IPv4}
- \begin{frame}
- \begin{figure}[h]
- \centering
- \includegraphics[scale=0.6]{figures/Ipv4-exhaust.eps}
- \caption{Espace libre dans le pool d'adresses IPv4. Crédit : CC-BY-SA Mro (Wikimédia) }
- \end{figure}
- \end{frame}
- \begin{frame}
- \frametitle{Remplacer IPv4, pourquoi ?}
- \begin{block}{IPv4 n'est plus adapté}
- \begin{itemize}
- \item 32 bits : \textbf{4 milliards d'adresses} (moins en
- pratique)
- \item Complexité, donc coût
- \item Nouveaux besoins (mobilité, auto-configuration, multi-homing)
- \end{itemize}
- \end{block}
- Réflexion sur un successeur à IPv4 dès 1993 : \textbf{IPng}
- \end{frame}
- \begin{frame}
- \frametitle{Traduction d'adresses (NAT) en IPv4 (1/5)}
- \begin{figure}[h]
- \centering
- \includegraphics[scale=0.28]{figures/nat1.eps}
- \caption{L1, L2, L3 sont des adresses locales. Le routeur qui fait du NAT possède également une adresse publique A.}
- \end{figure}
- \end{frame}
- \begin{frame}
- \frametitle{Traduction d'adresses (NAT) en IPv4 (2/5)}
- \begin{figure}[h]
- \centering
- \includegraphics[scale=0.28]{figures/nat2.eps}
- \caption{Une machine du réseau local envoie un paquet vers un serveur B.}
- \end{figure}
- \end{frame}
- \begin{frame}
- \frametitle{Traduction d'adresses (NAT) en IPv4 (3/5)}
- \begin{figure}[h]
- \centering
- \includegraphics[scale=0.28]{figures/nat3.eps}
- \caption{Le NAT retient qu'il a vu passer un paquet de L2 vers B, et change l'adresse source du paquet pour faire croire que ça vient de lui.}
- \end{figure}
- \end{frame}
- \begin{frame}
- \frametitle{Traduction d'adresses (NAT) en IPv4 (4/5)}
- \begin{figure}[h]
- \centering
- \includegraphics[scale=0.28]{figures/nat4.eps}
- \caption{Le serveur répond à A, puisque de son point de vue, A est l'expéditeur.}
- \end{figure}
- \end{frame}
- \begin{frame}
- \frametitle{Traduction d'adresses (NAT) en IPv4 (5/5)}
- \begin{figure}[h]
- \centering
- \includegraphics[scale=0.28]{figures/nat5.eps}
- \caption{Le NAT se sert de l'information qu'il avait retenu pour renvoyer le paquet à la bonne machine locale.}
- \end{figure}
- \end{frame}
- \begin{frame}
- \frametitle{NAT considered harmful}
- \begin{alertblock}{Problème fondamental}
- Imaginez avoir le même numéro de téléphone que votre voisin\ldots{}
- Sur qui tombe-t-on si on appelle le numéro ?
- \end{alertblock}
- \vspace{1cm}
- D'autant plus grave au niveau du FAI : \textbf{Carrier-grade NAT} (CGNAT)
- \end{frame}
- \begin{frame}
- \frametitle{Plus précisément}
- \begin{block}{Coûts associés à IPv4}
- \begin{itemize}
- \item NAT : ressources matérielles, identification des utilisateurs (log)
- \item \textbf{Perte de la transparence de bout en bout :} conception et
- développement de contournements spécifiques aux applications : FTP, SIP,
- etc (violation de couche)
- \item \textbf{Ossification :} coût de la rétro-compatibilité dans la
- conception de nouveaux protocoles (e.g. Multipath TCP, HIP)
- \end{itemize}
- \end{block}
- \end{frame}
- \section{IPv6}
- \begin{frame}
- \frametitle{IPv6 : un gros changement ?}
- \begin{block}{En fait, c'est presque pareil !}
- \begin{itemize}
- \item Adresses : \textbf{128 bits au lieu de 32 bits}
- \item Auto-configuration
- \end{itemize}
- \end{block}
- \vspace{1cm}
- Certaines fonctionnalités abandonnées en cours de route\ldots{} (sécurité,
- source routing)
- \end{frame}
- \begin{frame}
- \frametitle{Conséquences}
- \begin{block}{C'est tout de même un gros changement !}
- \begin{itemize}
- \item Plus de NAT : \textbf{on évite tous les coûts associés !}
- \begin{itemize}
- \item capacité matérielle des routeurs
- \item temps de conception + développement pour chaque application (ALG)
- \item possibilité de déployer de nouveaux protocoles
- \end{itemize}
- \item Restoration du \textbf{principe de bout en bout}
- \item Premier pas indispensable pour l'Internet des objets\ldots{}
- \end{itemize}
- \end{block}
- \begin{alertblock}{\ldots{} assez gros pour prendre du temps}<2>
- \begin{itemize}
- \item Nécessite de changer \textbf{tous} les routeurs d'Internet
- \item Mise à jour des applications
- \item Formation des administrateurs réseaux et systèmes
- \end{itemize}
- \end{alertblock}
- \end{frame}
- \begin{frame}[fragile]
- \frametitle{Format des adresses et adressage}
- % RFC 4291
- \begin{block}{Adresses}
- \begin{itemize}
- \item Adresses sur 128 bits
- \item Notation hexa par bloc de 16 bits \sep \verb+2001:db8:cafe:deca:0:0:0:1+
- \item Compression de zéros \sep \verb+2001:db8:cafe:deca::1+
- \end{itemize}
- \end{block}
- \begin{block}{Sous-réseaux}<2->
- \begin{itemize}
- \item Deux parties :
- \begin{itemize}
- \item \textbf{préfixe} ou \textbf{identifiant de sous-réseau}
- (subnet ID) : partie gauche de l'adresse
- \item \textbf{identifiant de machine} (host ID) : partie droite
- \end{itemize}
- \item notation CIDR :
- \begin{itemize}
- \item \verb+2001:db8:cafe:deca:a9e:1ff:fe6b:25c9/64+
- \item subnet correspondant \sep \verb+2001:db8:cafe:deca::+
- \end{itemize}
- \end{itemize}
- \end{block}
- \end{frame}
- \begin{frame}[fragile]
- \frametitle{Exemples d'adresses et de préfixes}
- \begin{block}{Préfixes}<1->
- \begin{itemize}
- \item Préfixe de documentation \sep \verb+2001:db8::/32+
- \item Préfixe link-local \sep \verb+fe80::/10+
- \item Préfixe multicast \sep \verb+ff02::/10+
- \item Exemple de préfixe \og end-user\fg{} \sep \verb+2001:db8:fada:ba00:/56+
- \end{itemize}
- \end{block}
- \begin{block}{Adresses}<2->
- \begin{itemize}
- \item Unicast \sep \verb+2001:db8:cafe:deca:a9e:1ff:fe6b:25c9/64+
- \item Link-local \sep \verb+fe80::a9e:1ff:fe6b:25c9/64+
- \item Notation IPv4 \sep \verb+2001:db8::cafe:192.168.0.1+ égal
- à \verb+2001:db8::cafe:c0a8:1+
- \item Localhost \sep \verb+::1+
- \item Tout les bits à 0 \sep \verb+::+
- \end{itemize}
- \end{block}
- \end{frame}
- \begin{frame}[fragile]
- \frametitle{C'est compliqué à retenir\ldots{}}
- \begin{alertblock}{Ça semble compliqué !}
- Heureusement, il y a le DNS !
- \end{alertblock}
- \begin{block}{DNS}<2>
- \begin{itemize}
- \item Même mécanisme qu'en IPv4 : nom $\rightarrow$ adresse(s)
- \item Cohabitation IPv4/IPv6
- \begin{itemize}
- \item bortzmeyer.org \verb+2605:4500:2:245b::42+
- \item bortzmeyer.org \verb+204.62.14.153+
- \end{itemize}
- \end{itemize}
- \end{block}
- \end{frame}
- \section{En pratique}
- \begin{frame}
- \frametitle{Qu'est ce que ça change en pratique ?}
- \begin{exampleblock}{Changement pour l'utilisateur lambda}
- \begin{itemize}
- \item Changement peu visible (pour l'instant\ldots{} multi-homing à venir !)
- \item Certaines applications (P2P, VoIP, jeux en réseau) fonctionnent mieux en théorie
- \end{itemize}
- \end{exampleblock}
- \begin{block}{Changement pour le geek}<2->
- \begin{itemize}
- \item Hébergement d'un nombre illimité de machines/services
- \item Plus besoin de \og{}louer\fg{} des IP supplémentaires à un prix délirant
- \end{itemize}
- \end{block}
- \begin{block}{Changement pour un FAI/hébergeur}<3->
- \begin{itemize}
- \item Réduction des coûts liés au NAT
- \item Réduction du coût pour obtenir des adresses
- \end{itemize}
- \end{block}
- \end{frame}
- \section{Conclusion}
- \begin{frame}
- \frametitle{Quelques mythes sur IPv6}
- \begin{block}{IPv6 est moins sécurisé qu'IPv4}
- \uncover<2->{\alert{FAUX !}}
- \uncover<3->{
- \begin{itemize}
- \item Le NAT n'apporte aucune sécurité !
- \item Les attaques viennent souvent de l'intérieur des réseaux\ldots{}
- \item Firewall possible avec IPv6 (mis par défaut chez SFR, Free, etc)
- \end{itemize}
- }
- \end{block}
- \begin{block}{Personne n'utilise IPv6 en pratique}<4->
- \uncover<5->{\alert{FAUX !}}
- \uncover<6->{
- \begin{itemize}
- \item Hébergeurs : Google, Facebook, OVH, Online\ldots{}
- \item FAI : Illyse, (F)FDN, K-Net, Free, SFR, OVH, Comcast, Swiss Telecom\ldots{}
- \item Applications et OS compatibles depuis des années
- \end{itemize}
- }
- \end{block}
- \end{frame}
- \begin{frame}
- \frametitle{Conclusion}
- \begin{block}{Points importants}
- \begin{itemize}
- \item Espace plus grand, plus besoin de NAT, réduction des coûts
- \item Auto-configuration : ça juste marche !
- \item Cohabitation avec IPv4 grâce au DNS
- \item Applications prêtes depuis 15 ans
- \end{itemize}
- \end{block}
- \begin{exampleblock}{Alors, qu'est ce qu'on attend ?}<2->
- Rien ! Cochez vite la case \og{}IPv6\fg{} dans la box de votre FAI :-)
- (ou changez de FAI\ldots{})
- \end{exampleblock}
- \end{frame}
- \begin{frame}
- \frametitle{Manipulons\ldots{}}
- Manip !
- \end{frame}
- \end{document}
|