From: ratten Date: Sat, 9 Mar 2024 14:08:49 +0000 (+0100) Subject: Anpassungen für den CLT24 X-Git-Url: http://git.tuxteam.de/gitweb/?a=commitdiff_plain;h=44841b3cd3ff494aa8d325e5ba591611b6b246ce;p=susannes-git%2FIpv6-Vortrag.git Anpassungen für den CLT24 --- diff --git a/IPv6-Cheatsheet.pdf b/IPv6-Cheatsheet.pdf new file mode 100644 index 0000000..4698401 Binary files /dev/null and b/IPv6-Cheatsheet.pdf differ diff --git a/IPv6-Cheatsheet.tex b/IPv6-Cheatsheet.tex new file mode 100644 index 0000000..9e4095e --- /dev/null +++ b/IPv6-Cheatsheet.tex @@ -0,0 +1,498 @@ +\documentclass[xcolor={dvipsnames,table},graphicx,parskip,handout]{beamer} + +\usepackage[ngerman]{babel} +\usepackage[utf8]{inputenc} +\usepackage{bytefield} + +\usepackage{textpos} +\usepackage{pgfpages} %für notizen in Slides +\usepackage{tcolorbox}%runde colorboxen \usepackage{textpos} +\usepackage{stmaryrd} % \shortrightarrow +\usepackage[final]{qrcode}%für qrcodes + +\usepackage{hyperref} + +%\usepackage{showkeys} + +\uselanguage{German} +\languagepath{German} + + +%\definecolor{hellblau}{RGB}{61, 165, 217} +\definecolor{kuerzung}{RGB}{254, 198, 1} +\definecolor{orange}{RGB}{234, 155, 23} +\definecolor{dunkelblau}{RGB}{11, 12, 93} +\definecolor{gruen}{RGB}{137, 252, 0} +\definecolor{gruendunkel}{RGB}{172, 210, 237} +\definecolor{titelblau}{RGB}{21, 59, 80} +\definecolor{blau}{rgb}{0.7, 0.99, 0.99} +\definecolor{coolblack}{rgb}{0.0, 0.18, 0.39} +\definecolor{DarkGreen}{rgb}{0.0, 0.6, 0.0} +\definecolor{ao}{rgb}{0.12, 0.3, 0.17} +\definecolor{realRFC}{rgb}{0.1, 0.1, 0.44} +\definecolor{witzRFC}{rgb}{0.01, 0.75, 0.24} +\definecolor{prefix}{rgb}{0.5, 0.5, 0.0} +\definecolor{IID}{rgb}{0.56, 0.0, 1.0} +\definecolor{CIDR}{rgb}{0.0, 0.29, 0.29} + +\mode{% + \setbeameroption{show notes} + %\setbeamerfont{note page}{size=\large} + %\setbeameroption{show notes on second screen=bottom} + \setbeamertemplate{note page}{% + \vspace{1cm} + weitere Informationen:\\ + \vskip.25em + \nointerlineskip + {\Huge \insertframetitle} + \vskip.25em + {\Large\insertframesubtitle} + \vskip.25em + %\vspace{1cm}\\ + \insertnote} +} + +\mode{% + \setbeamerfont{note page}{size=\Large} + \setbeameroption{show notes on second screen=bottom} + \setbeamertemplate{note page}{% + \begin{columns} + \begin{column}{0.2\textwidth} + \insertslideintonotes{0.25} + \end{column} + \begin{column}{0.7\textwidth} + \begin{center} + Speaker Notes:\\ + \insertframetitle \break + \insertframesubtitle + \end{center} + \end{column} + \end{columns} + \vspace{-0.6cm} + {\Huge\insertnote} + } +} + +\usetheme[hideothersubsections,left]{Goettingen} + +\graphicspath{{Bilder/}} + +% minted Optionen +\usepackage{lineno} +\usepackage[newfloat]{minted} +\usemintedstyle{rrt} +\usemintedstyle{friendly} +\usemintedstyle[sourcelist,linux-config]{autumn} + + +\setminted[bash]{ + breaklines=true, + tabsize=2, + linenos, + numbersep=2pt, + autogobble, + framesep=0pt +} + +\setminted[linux-config]{ + breaklines=true, + linenos, + numbersep=2pt, + autogobble, + framesep=0pt + } + +\setminted[powershell]{ + breaklines=true, + bgcolor=coolblack, + linenos, + numbersep=2pt, + autogobble, + framesep=0pt, + fontsize=\scriptsize, + } + +\setbeamercovered{transparent} +\useoutertheme{sidebar} +\useinnertheme{rounded} + +%um descripten links auszurichten +\defbeamertemplate{description item}{align left}{\insertdescriptionitem\hfill} +\setbeamertemplate{description item}[align left] +\begin{document} + +%Beispiel Farb Definition +\setbeamercolor{block title example}{use=example text,fg=example text.fg,bg=example text.fg!20!bg} +\setbeamercolor{block body example}{parent=normal text,use=block title example,bg=block title example.bg!50!bg} +%DefintionsBlock Farbspezification +\setbeamercolor{block title}{use=structure text,fg=blue,bg=example text.fg!20!bg} +\setbeamercolor{block body}{parent=normal text,use=block title example,bg=block title example.bg!50!bg} + + +\setbeamertemplate{frametitle}[default][center] + +\setbeamertemplate{navigation symbols}{} +\setbeamertemplate{page number in head/foot}[totalframenumber] + +% fußzeilen Definition +\setbeamertemplate{footline}{\vspace*{-20pt} \leavevmode% + \hbox{% + \hspace{2cm} \colorbox{white}{\color{black} + \insertdate \hspace{1.5cm} \insertshortauthor \hspace{6cm} \insertframenumber }}} + +\setbeamertemplate{itemize items}[triangle] +\setbeamertemplate{page number in foot}[totalframenumber] + +% % sidebarsetting + +\setbeamertemplate{sidebar canvas left}[vertical shading][top=ao,middle=titelblau,bottom=DarkGreen] +\setbeamercolor{section in sidebar shaded}{fg=yellow} +\setbeamercolor{author in sidebar}{fg=ao} +\setbeamercolor{title in sidebar}{fg=white} + +% Sidebar Farben normal +\setbeamercolor{section in sidebar shaded}{fg=blau} +\setbeamercolor{subsection in sidebar shaded}{fg=Yellow} +\setbeamercolor{subsubsection in sidebar shaded}{fg=SpringGreen} + +%Sidebar Farben aktiviert +\setbeamercolor*{palette sidebar primary}{fg=YellowOrange} +\setbeamercolor*{palette sidebar secondary}{fg=YellowOrange} + +\setbeamercolor{titlelike}{fg=white, bg=titelblau} + +% %itemsetting +\setbeamercolor{item}{fg=blue}%color of bullet +\setbeamercolor{subitem}{fg=orange}%color of bullet + +%inhaltsverzeichniss + +\setbeamercolor{section in toc}{fg=blue}%, bg=black} +\setbeamercolor{subsection in toc}{fg=DarkGreen} +\setbeamercolor{subsubsection in toc}{fg=teal} +\setbeamertemplate{sections/subsections in toc}[triangle] + +%\setbeamertemplate{blocks}[rounded] +\setbeamertemplate{title page}[default][colsep=-4bp,rounded=true] + +%Background +\setbeamercolor{background canvas}{bg=white} +\setbeamertemplate{background}{% + \includegraphics[width=\paperwidth]{Taube01-Kabel-final01.jpg}} + +%Titel definition +\title[IPv6]{IPv6 Grundlagen} +\subtitle{in Zusammenhang mit IPoAC} +\author[Schütze]{\textbf{Susanne Schütze}\\\texttt{ratten@buecherratten.in-berlin.de}} +\institute{\textbf{Chemnitzer Linux Tage 2024}} +\date{16. März 2024} + +%\titlegraphic{\includegraphics[scale=0.3]{Taube01-Kabel-final.jpg}} + +%sitebar leer setzten +\setbeamertemplate{sidebar left}{} + +%notepage with itemize +\makeatletter +\def\beamer@setupnote{% + \gdef\beamer@notesactions{% + \beamer@outsideframenote{% + \beamer@atbeginnote% + \beamer@notes% + \ifx\beamer@noteitems\@empty\else + \begin{itemize}\itemsep=0pt\parskip=0pt% + \beamer@noteitems% + \end{itemize}% + \fi% + \beamer@atendnote% + }% + \gdef\beamer@notesactions{}% + } +} +\makeatother + +%titlepage ohne sidebar +\makeatletter +\begin{frame}[plain] + \hspace*{-\beamer@sidebarwidth}% + \advance\textwidth by \beamer@sidebarwidth\relax + \beamer@sidebarwidth=\z@ + \begin{minipage}{\textwidth} + \maketitle + \end{minipage} +\end{frame} + +\makeatother + +\setbeamertemplate{background} + +\begin{frame}[shrink] + \frametitle{Inhalt} + \textbf{\tableofcontents[hideothersubsections]} + \vspace{0.4cm} +\end{frame} + +%sidebar wiederherstellen +\setbeamertemplate{sidebar left}[sidebar theme] + +\section{IPv6 aktivieren unter Linux} +\begin{frame}[fragile] + \frametitle[Aktivierung]{IPv6 aktivieren} + \framesubtitle{unter Linux} + \begin{itemize} + \item{Kernelparameter} + \begin{minted}{bash} + sysctl -w net.ipv6.conf.all.disable_ipv6=0 + sysctl -w net.ipv6.conf..disable_ipv6=0 + sysctl -w net.ipv6.conf.all.accept_ra=1 + \end{minted} + \item{systemd-networkd} + \begin{minted}{linux-config} + [Network] + LinkLocalAddressing=ipv6 + IPv6AcceptRA=yes + \end{minted} + \item{Network-Manager} + \begin{minted}{bash} + nmcli connection modify ipv6.method "auto" + nmcli connection up + \end{minted} + \item{\dots} + \end{itemize} +\end{frame} + +\section[Abkürzungen]{Abgekürzte IPv6 Adressen} +\begin{frame} + \frametitle{IPv6 Adress-Aufbau} + \framesubtitle{Abkürzungen} + \textcolor{realRFC}{RFC 5952} + \begin{itemize} + \item{Führende Nullen im Block weglassen} + \vspace{-0.3cm} + \begin{examples} + \textcolor{BlueViolet}{2001:}\textcolor{kuerzung}{0}\textcolor{BlueViolet}{db8:}\textcolor{kuerzung}{000}\textcolor{BlueViolet}{0:}\textcolor{kuerzung}{000}\textcolor{BlueViolet}{0:}\textcolor{kuerzung}{000}\textcolor{BlueViolet}{0:}\textcolor{kuerzung}{000}\textcolor{BlueViolet}{0:}\textcolor{kuerzung}{000}\textcolor{BlueViolet}{0:}\textcolor{kuerzung}{000}\textcolor{BlueViolet}{1}\\ + \textcolor{BlueViolet}{2001:db8:0:0:0:0:0:1} + \end{examples} + \pause + \vspace{-0.3cm} + \item{längste Blöcke von Nullen durch :: ersetzen} + \vspace{-0.3cm} + \begin{examples} + \textcolor{BlueViolet}{2001:db8:}\textcolor{kuerzung}{0:0:0:0:0}\textcolor{BlueViolet}{:1}\\ + \textcolor{BlueViolet}{2001:db8::1} + \end{examples} + \pause + \vspace{-0.3cm} + \item{mehrere Blöcke gleich lang, nur ersten von links mit :: ersetzen} + \vspace{-0.2cm} + \begin{examples} + \textcolor{BlueViolet}{2001:db8:}\textcolor{kuerzung}{0:0}:\textcolor{BlueViolet}{4ad:}\textcolor{kuerzung}{0:0}\textcolor{BlueViolet}{:1}\\ + \textcolor{BlueViolet}{2001:db8::4ad:}\textcolor{kuerzung}{0:0}\textcolor{BlueViolet}{:1} + \end{examples} + \end{itemize} +\end{frame} +\section{EUI 64} +\begin{frame}[fragile] + \mode{\addtocounter{framenumber}{-1}} + \frametitle{EUI 64} + \framesubtitle{Konfiguration unter Linux} + \begin{itemize} + \item{Kernel:} + \begin{minted}{bash} + sysctl -w net.ipv6.conf.all.use_tempaddr=0 + sysctl -w net.ipv6.conf.all.addr_gen_mode=0 + \end{minted} + \item{Network-Manager:} + \begin{minted}{bash} + nmcli con modify ipv6.addr-gen-mode eui64 + \end{minted} + \item{systemd-networkd:} + \begin{minted}{linux-config} + [Network] + LinkLocalAddressing=ipv6 + IPv6LinkLocalAddressGenerationMode=eui64 + \end{minted} + \end{itemize} +\end{frame} +\section{Privacy-Extension} +\begin{frame}[fragile] + \mode{\addtocounter{framenumber}{-1}} + \frametitle{Privacy-Extension} + \framesubtitle{unter Linux einstellen} + \begin{itemize} + \item{Kernel:} + \begin{minted}{bash} + sysctl -w net.ipv6.conf.all.addr_gen_mode=0 + sysctl -w net.ipv6.conf.eth0.use_tempaddr=2 + \end{minted} + \item{Network-Manager:} + \begin{minted}{bash} + nmcli con modify ipv6.ip6-privacy 2 + nmcli connection up + \end{minted} + \item{systemd-networkd:} + \begin{minted}{linux-config} + LinkLocalAddressing=ipv6 + IPv6PrivacyExtensions=true + \end{minted} + \end{itemize} +\end{frame} + +\subsubsection{Semantically Opaque Interface Identifiers} + +\begin{frame}[fragile] + \frametitle{Semantisch undurchsichtige Interface Identifier} + \framesubtitle{Unter Linux einstellen:} + \footnotesize{ + Im Kernel implementiert seit 2015 + \begin{itemize} + \item{Kernel:} + \begin{minted}{bash} + sysctl -w net.ipv6.conf.all.addr_gen_mode=3 + sysctl -w net.ipv6.conf..stable_secret= #Secret festlegen + sysctl -w net.ipv6.conf..addr_gen_mode=2 #Secret benutzen + \end{minted} + \item{Network-Manager:} + \begin{minted}{bash} + nmcli con modify ipv6.ip6-privacy 0 + nmcli con modify ipv6.addr-gen-mode stable-privacy + nmcli connection up + \end{minted} + \item{systemd-networkd:} + \begin{minted}{linux-config} + [Network] + LinkLocalAddressing=ipv6 + IPv6LinkLocalAddressGenerationMode=stable-privacy + IPv6StableSecretAddress= + \end{minted} + \end{itemize}} +\end{frame} + +\section{Multicast Adressen} +\begin{frame} + \frametitle{Multicast Adressen} + \framesubtitle{Beispiele bekannter Multicast Adressen} + \begin{itemize} + \item{ff01::1 - All Nodes Interface lokal (loopback)} + \item{ff01::2 - All Routers Interface lokal (loopback)} + \item{ff02::1 - All Nodes Link lokal (Bsp. Broadcast)} + \item{ff02::2 - All Routers Link lokal} + \item{ff02::5-6 - All OSPF Routers Link lokal} + \item{ff02::7-8 - All IS-IS Routers Link lokal} + \item{ff02::9 - All RIP Routers Link lokal} + \item{ff05::2 - All Routers Sitelokal} + \item{ff05::1:3 - All DHCP-Server in der Site} + \end{itemize} + weitere Multicast Adressen: + \begin{columns} + \only{\begin{column}{0.2\textwidth} + \qrcode[hyperlink,height=1.5cm]{https://www.iana.org/assignments/ipv6-multicast-addresses/ipv6-multicast-addresses.xhtml} + \end{column}} + \begin{column}{0.8\textwidth} + \url{https://www.iana.org/assignments/ipv6-multicast-addresses/ipv6-multicast-addresses.xhtml} + \end{column} + \end{columns} +\end{frame} + +\section{HandsON} +\subsection{ping} +\begin{frame}[fragile] + \frametitle{Das Test-Netzwerk} + \framesubtitle{IP-Adressen checken und pingen} + \begin{itemize} + \item{IP-Adresse überprüfen} + \mint{bash}{ip -6 address show} + \item{pingen} + \begin{minted}{bash} + ping -6 fe80::e65f:1ff:fe46:edc8% + ping -6 fd00:feed:c0ff:ee01:e65f:1ff:fe46:edc8 + ping -6 ff02::1% # alle Nodes local + ping -6 ff02::2% #alle Router local + \end{minted} + \item{\textcolor{red}{Vorsicht} man kann Unicast Adressen auch ohne Zone pingen} + \end{itemize} +\end{frame} + +\subsection{ssh} + +\begin{frame}[fragile] + \frametitle{SSH} + \framesubtitle{mit IPv6} + \begin{itemize} + \item{ssh} + \begin{minted}[breakafter=:]{bash} + ssh dove@fe80::e65f:1ff:fe46:edc8% + ssh dove@fd00:feed:c0ff:ee01:e65f:1ff:fe46:edc8 + \end{minted} + \item{hier ist die \textcolor{red}{Zone wichtig} bei LLA's} + \end{itemize} +\end{frame} + +\subsection{curl} +\begin{frame}[fragile] + \frametitle{Webseiten über IPv6} + \framesubtitle{mit curl} + \begin{minted}[breakafter=:]{bash} + curl -I "http://[fe80::e65f:1ff:fe46:edc8%]" + curl -I "http://[fd00:feed:c0ff:ee01:e65f:1ff:fe46:edc8]" + \end{minted} +\end{frame} + +\section{Neigbour Protocol unter Linux} +\begin{frame}[fragile] + \frametitle{Das ND} + \framesubtitle{Neigbour Protocol unter Linux} +\small{Informationen aus dem Neigbour Discovery Cache abrufen:} + \begin{minted}{bash} + ip -6 maddress show #multicast Adressen + ip -6 neighbour show #aktueller Neighbour Cache + ip -6 neigh get dev #Informationen aus Cache zu Adresse auf Interface + ip -6 neigh show unused # alle unbenutzen Nachbarn + ip -6 neigh show to #Informationen zu Adresse + ip -6 neigh show dev #Informationen zu Adressen im Interface + ip -6 route show table all #IPv6 Routen + \end{minted} + \small{NUD einsehen unter Linux:} + \begin{minted}{bash} + ip -6 neighbour show nud all #Status der NUD im Cache + ip monitor #Statusänderung + \end{minted} +\end{frame} + +\section{Duplicate Address Dectection} +\begin{frame}[fragile] + \frametitle{Duplicate Address Dectection} + \framesubtitle{DAD unter Linux} + DAD Konfiguration im Kernel + \begin{minted}{bash} + sysctl -w net.ipv6.conf.accept_dad=0 #DAD disablen + sysctl -w net.ipv6.conf.accept_dad=1 #DAD enablen + sysctl -w net.ipv6.conf.accept_dad=2 #DAD disablen wenn Doppelte Adresse gefunden und Interface Identifier auf MAC-Adresse basierend + \end{minted} +\end{frame} + +\section{ENDE} +\begin{frame} + \frametitle{Ende} + \centering + \vspace{1cm} + Kontaktmöglichkeiten:\\ + email: ratten@buecherratten.in-berlin.de\\ + jabber: buecherratten@jabber.in-berlin.de\\ + Repro: + \begin{columns} + \only{\begin{column}{0.2\textwidth} + \qrcode[hyperlink,height=2cm]{http://git.tuxteam.de/gitweb/?p=susannes-git/Ipv6-Vortrag.git;a=tree} + \end{column}} + \begin{column}{0.8\textwidth} + \url{http://git.tuxteam.de/gitweb/?p=susannes-git/Ipv6-Vortrag.git;a=tree} + \end{column} + \end{columns} + +\end{frame} + + +\end{document} + + +% LocalWords: IPv Powershell Identifier diff --git a/IPv6-Handout.pdf b/IPv6-Handout.pdf index 87ad010..c8e3702 100644 Binary files a/IPv6-Handout.pdf and b/IPv6-Handout.pdf differ diff --git "a/IPv6-Pr\303\244sentation.pdf" "b/IPv6-Pr\303\244sentation.pdf" index d013ea4..0a730cd 100644 Binary files "a/IPv6-Pr\303\244sentation.pdf" and "b/IPv6-Pr\303\244sentation.pdf" differ diff --git a/IPv6-presi.tex b/IPv6-presi.tex index 83289f5..127bc14 100644 --- a/IPv6-presi.tex +++ b/IPv6-presi.tex @@ -8,11 +8,9 @@ \usepackage{pgfpages} %für notizen in Slides \usepackage{tcolorbox}%runde colorboxen \usepackage{textpos} \usepackage{stmaryrd} % \shortrightarrow +\usepackage[final]{qrcode}%für qrcodes \usepackage{hyperref} -\usepackage{lineno} -\usepackage[newfloat]{minted} -\usemintedstyle{rrt} %\usepackage{showkeys} @@ -20,6 +18,23 @@ \languagepath{German} +%\definecolor{hellblau}{RGB}{61, 165, 217} +\definecolor{kuerzung}{RGB}{254, 198, 1} +\definecolor{orange}{RGB}{234, 155, 23} +\definecolor{dunkelblau}{RGB}{11, 12, 93} +\definecolor{gruen}{RGB}{137, 252, 0} +\definecolor{gruendunkel}{RGB}{172, 210, 237} +\definecolor{titelblau}{RGB}{21, 59, 80} +\definecolor{blau}{rgb}{0.7, 0.99, 0.99} +\definecolor{coolblack}{rgb}{0.0, 0.18, 0.39} +\definecolor{DarkGreen}{rgb}{0.0, 0.6, 0.0} +\definecolor{ao}{rgb}{0.12, 0.3, 0.17} +\definecolor{realRFC}{rgb}{0.1, 0.1, 0.44} +\definecolor{witzRFC}{rgb}{0.01, 0.75, 0.24} +\definecolor{prefix}{rgb}{0.5, 0.5, 0.0} +\definecolor{IID}{rgb}{0.56, 0.0, 1.0} +\definecolor{CIDR}{rgb}{0.0, 0.29, 0.29} + \mode{% \setbeameroption{show notes} %\setbeamerfont{note page}{size=\large} @@ -34,38 +49,41 @@ {\Large\insertframesubtitle} \vskip.25em %\vspace{1cm}\\ - \insertnote} + \insertnote} } \mode{% -\setbeamerfont{note page}{size=\Huge} -\setbeameroption{show notes on second screen=bottom} + \setbeamerfont{note page}{size=\Large} + \setbeameroption{show notes on second screen=bottom} + \setbeamertemplate{note page}{% + \begin{columns} + \begin{column}{0.2\textwidth} + \insertslideintonotes{0.25} + \end{column} + \begin{column}{0.7\textwidth} + \begin{center} + Speaker Notes:\\ + \insertframetitle \break + \insertframesubtitle + \end{center} + \end{column} + \end{columns} + \vspace{-0.6cm} + {\Huge\insertnote} + } } -\usemintedstyle{friendly} -\usemintedstyle[sourcelist,linux-config]{autumn} - \usetheme[hideothersubsections,left]{Goettingen} -%\definecolor{hellblau}{RGB}{61, 165, 217} -\definecolor{kuerzung}{RGB}{254, 198, 1} -\definecolor{orange}{RGB}{234, 155, 23} -\definecolor{dunkelblau}{RGB}{11, 12, 93} -\definecolor{gruen}{RGB}{137, 252, 0} -\definecolor{gruendunkel}{RGB}{172, 210, 237} -\definecolor{titelblau}{RGB}{21, 59, 80} -\definecolor{blau}{rgb}{0.7, 0.99, 0.99} -\definecolor{coolblack}{rgb}{0.0, 0.18, 0.39} -\definecolor{DarkGreen}{rgb}{0.0, 0.6, 0.0} -\definecolor{ao}{rgb}{0.12, 0.3, 0.17} -\definecolor{realRFC}{rgb}{0.1, 0.1, 0.44} -\definecolor{witzRFC}{rgb}{0.01, 0.75, 0.24} -\definecolor{prefix}{rgb}{0.5, 0.5, 0.0} -\definecolor{IID}{rgb}{0.56, 0.0, 1.0} -\definecolor{CIDR}{rgb}{0.0, 0.29, 0.29} - \graphicspath{{Bilder/}} +% minted Optionen +\usepackage{lineno} +\usepackage[newfloat]{minted} +\usemintedstyle{rrt} +\usemintedstyle{friendly} +\usemintedstyle[sourcelist,linux-config]{autumn} + \setminted[bash]{ breaklines=true, @@ -82,12 +100,12 @@ numbersep=2pt, autogobble, framesep=0pt - } + } \setminted[powershell]{ breaklines=true, bgcolor=coolblack, - linenos, + linenos, numbersep=2pt, autogobble, framesep=0pt, @@ -95,13 +113,12 @@ } \setbeamercovered{transparent} -\useoutertheme{sidebar} +\useoutertheme{sidebar} \useinnertheme{rounded} %um descripten links auszurichten \defbeamertemplate{description item}{align left}{\insertdescriptionitem\hfill} \setbeamertemplate{description item}[align left] - \begin{document} %Beispiel Farb Definition @@ -121,7 +138,7 @@ \setbeamertemplate{footline}{\vspace*{-20pt} \leavevmode% \hbox{% \hspace{2cm} \colorbox{white}{\color{black} - \insertdate \hspace{1.5cm} Bücherratten \hspace{4cm} \insertframenumber \quad von \inserttotalframenumber \hspace{1cm} }}} + \insertdate \hspace{1.5cm} \insertshortauthor \hspace{6cm} \insertframenumber }}} \setbeamertemplate{itemize items}[triangle] \setbeamertemplate{page number in foot}[totalframenumber] @@ -164,17 +181,36 @@ \includegraphics[width=\paperwidth]{Taube01-Kabel-final01.jpg}} %Titel definition -\title[IPv6]{IPv6 unter Linux} -\subtitle{Eine kleine Einführung} -\author[ratten]{\textbf{Bücherratten}} -\institute{\textbf{GPN 21}} -\date{9.6.2023} +\title[IPv6]{IPv6 Grundlagen} +\subtitle{in Zusammenhang mit IPoAC} +\author[Schütze]{\textbf{Susanne Schütze}\\\texttt{ratten@buecherratten.in-berlin.de}} +\institute{\textbf{Chemnitzer Linux Tage 2024}} +\date{16. März 2024} %\titlegraphic{\includegraphics[scale=0.3]{Taube01-Kabel-final.jpg}} %sitebar leer setzten \setbeamertemplate{sidebar left}{} +%notepage with itemize +\makeatletter +\def\beamer@setupnote{% + \gdef\beamer@notesactions{% + \beamer@outsideframenote{% + \beamer@atbeginnote% + \beamer@notes% + \ifx\beamer@noteitems\@empty\else + \begin{itemize}\itemsep=0pt\parskip=0pt% + \beamer@noteitems% + \end{itemize}% + \fi% + \beamer@atendnote% + }% + \gdef\beamer@notesactions{}% + } +} +\makeatother + %titlepage ohne sidebar \makeatletter \begin{frame}[plain] @@ -184,8 +220,8 @@ \begin{minipage}{\textwidth} \maketitle \end{minipage} - %\note{Begrüßen!} \end{frame} + \makeatother \setbeamertemplate{background} @@ -198,16 +234,16 @@ \item{Verzicht auf Einsatz von Tieren und tierische Erzeugnisse} \item{Tierwohl und die Rechte von Tauben und anderen Flugtieren bleiben gewahrt} \end{itemize} - \item{unvollständiger Vortrag} + \item{unvollständiger interaktiver Vortrag} \item{RFCs} \begin{itemize} \item{an RFCs gehalten} \item{Humorvolle RFCs werden durch \textcolor{witzRFC}{grün} hervorgehoben} \end{itemize} - \item{in Beispiel-Befehlen: $<$zuersetzen$>$ entsprechend ersetzen} + \item{in Beispiel-Befehlen: $<$zu ersetzen$>$ entsprechend ersetzen} \item{Content-Note} \begin{itemize} - \item{Krankheit wird am Rande erwähnt einmal} + \item{Flugtiere können Krankheiten bekommen} \item{Nicht alle Flugtiere sind vegetarisch} \end{itemize} \end{itemize} @@ -226,67 +262,50 @@ \begin{frame} \frametitle{whoami} \begin{itemize} - \item{Bücherratten} - \item{39 Jahre} + \item{Susanne} + \item{40 Jahre} \item{Pronomen: sie} \item{Berufsbezeichnung: Fachinformatikerin für Systemintegration} \item{Berufliches Themenfeld: Automatisierung mit Ansible} \item{Linuxerin seit Kernel 2.6.24 (2009)} - \item{FreeSoftware Aktivistin} \item{Zugehörigkeiten zu: Haecksen, LinuxWorks!, BeLUG, FSFE} \end{itemize} + URL zu Folien und Handout: + \vspace{0.2cm} + \begin{columns} + \only{\begin{column}{0.2\textwidth} + \qrcode[hyperlink,height=1.5cm]{http://git.tuxteam.de/gitweb/?p=susannes-git/Ipv6-Vortrag.git;a=tree} + \end{column}} + \begin{column}{0.8\textwidth} + \url{http://git.tuxteam.de/gitweb/?p=susannes-git/Ipv6-Vortrag.git;a=tree} + \end{column} + \end{columns} \end{frame} \section{Einführung} \subsection[Warum? Vorteile]{Warum IPv6? Die Vorteile} -\begin{frame}[shrink] +\begin{frame} \frametitle{Warum IPv6?} \framesubtitle{Vorteile} - \begin{itemize} - \item{endlich genug IP-Adressen auch für IoT (Internet of Toilets)\\} - \tiny{Wen das interessiert: \url{https://media.ccc.de/v/31c3_-_6370_-_en_-_saal_g_-_201412281900_-_internet_of_toilets_-_tbsprs}}\\ - \normalsize{ - \item{erlaubt reine End-to-End-Kommunikation} - \item{Globale Adressen sind global erreichbar} - \item{hierarchische Adressvergabe} - \item{erlauben geographischen Bezug} - \item{keine umständlichen Adressübersetzungen mehr} - \item{einfache Autokonfiguration der IP-Adressen} - \item{besseres Routing durch Veränderungen im IP-Header} - \item{Qualitiy of Service, bessere Definition von Dringlichkeit über „Traffic Class“} - \item{weniger Verschmutzung durch Verzicht auf Brieftauben und andere Flugtiere}} + \begin{itemize} + \item{endlich genug IP-Adressen auch für IoT} + \pause + \item{erlaubt reine End-to-End-Kommunikation} + \item{hierarchische Adressvergabe} + \item{erlauben geographischen Bezug} + \item{keine umständlichen Adressübersetzungen mehr} + \item{einfachere Autokonfiguration der Adressen} + \item{besseres Routing durch Veränderungen im IP-Header} + \item{Qualitiy of Service, bessere Definition von Dringlichkeit über „Traffic Class“} + \item{weniger Verschmutzung durch Verzicht auf Brieftauben und andere Flugtiere} \end{itemize} + \note<1>[item]{5,3 Milliarden Internetnutzer} + \note<1>[item]{* 3,6 Geräte pro Kopf} + \note<1>[item]{IPv4 hat ca. 4,3 Milliarden in der Original Architektur} + \note<1>[item]{Quelle: von 2020 Cisco Annual Internet Report (2018–2023) } \end{frame} -%% \subsubsection{Die Spielwiese} -%% \begin{frame} -%% \frametitle{Die Spielwiese} -%% \framesubtitle{Vorstellung von Brieftaube} -%% \begin{itemize} -%% \item{Raspberry Pi Version 4} -%% \item{Wlan-Accesspoint} -%% \begin{itemize} -%% \item{ESSID: Brieftauben-Wlan} -%% \item{! Ohne Passwort!} -%% \end{itemize} -%% \item{ssh-Server} -%% \begin{itemize} -%% \item{User: dove} -%% \item{Passwort: IPoAC} -%% \end{itemize} -%% \item{git-Server} -%% \begin{itemize} -%% \item{\url{git@[fd00:feed:c0ff:ee00:e65f:1ff:fe46:edc8]:/Vortraege-2023/IPv6}} -%% \end{itemize} -%% \item{Doku} -%% \begin{itemize} -%% \item{Tuxteam-Repo: \url{http://git.tuxteam.de/gitweb/?p=susannes-git/Ipv6-Vortrag.git;a=tree}} -%% \item{Bieftauben-Repo: \url{http://[fd00:feed:c0ff:ee00:e65f:1ff:fe46:edc9]/Vortraege-2023/IPv6}} -%% \end{itemize} -%% \end{itemize} -%% \end{frame} - -\subsection[IPv6 Vorraussetzungen]{Vorraussetzungen für IPv6} +\subsection[IPv6 Voraussetzungen]{Voraussetzungen für IPv6} \begin{frame} \frametitle{Voraussetzungen für IPv6} \framesubtitle{Zusammenfassung} @@ -296,7 +315,8 @@ \item{zu gewährleisten ist (MUST):} \item{Präfixerkennung} \item{Multicast} - \item{ICMPv6 (ping)} + \pause + \item{ICMPv6} \begin{itemize} \item{Neigbour Unreachable Discovery für alle Pfade zwischen Hosts und Nachbar Nodes} \item{Duplicate Address Dectection} @@ -306,11 +326,13 @@ \begin{itemize} \item{Advertisement und Solicitation} \item{DNS Option in Router-Advertisement} - \end{itemize} + \end{itemize} \end{itemize} + \pause \item{Pfad MTU und Größen-Erkennung} \item{StateLessAddressAutoConfiguration} \end{itemize} + \note<2>[item]{Fun Fact: Windows kann die DNS-Option erst ab Version 11} \end{frame} \subsection{IPv6 aktivieren unter Linux} @@ -335,42 +357,44 @@ nmcli connection modify ipv6.method "auto" nmcli connection up \end{minted} - \item{...} + \item{\dots} \end{itemize} \end{frame} \subsection[IPoAC]{IP over Avian Carrier} \begin{frame} \frametitle{Tauben und IPv6} - \label{IPoAC} - \only<|beamer:0>{alternative Transportmöglichkeit: \hyperlink{IPoSN}{\beamergotobutton{IPoSN}}} \center{\includegraphics[scale=0.4]{Taube03.jpg}} \end{frame} \begin{frame} \frametitle{IP over Avian Carrier} \framesubtitle{IP-Transport mittels Brieftauben} + \vspace{-0.5cm} \small{ \begin{itemize} \item{Zeitliche Einordnung} - \begin{itemize} - \item{erstmal in \textcolor{witzRFC}{RFC 1149} 1990 erwähnt} + \vspace{-0.3cm} + \begin{itemize} + \item{erstmals in \textcolor{witzRFC}{RFC 1149} 1990 erwähnt} \item{seit 1999 Quality of Service fähig \textcolor{witzRFC}{(RFC 2549)}} \item{mit \textcolor{witzRFC}{RFC 6214 (2011)} IPv6 für IPoAC spezifiziert} \end{itemize} \vspace{-0.3cm} \pause \item{praktische Umsetzung:} + \vspace{-0.3cm} \begin{itemize} \item{IP-Pakete in Hexadezimal auf Papierrollen drucken} \item{Rollen um die Beine des AC(Avian Carriers) legen} - \item{Enden des Papieres mit Panzertape befestigen} - \item{länge der Beine bestimmt Bandbreite} + \item{Enden des Papiers mit Panzertape befestigen} + \item{Länge der Beine bestimmt Bandbreite} \item{Empfang: Panzertape entfernen und Papierrolle einscannen} \end{itemize} \vspace{-0.3cm} \pause \item{typische Probleme:} + \vspace{-0.3cm} \begin{itemize} \item{sehr instabil Übertragungswege (Wind\-verhältnissen)} \item{Risiko: Infektion mit H5N1 Virus} @@ -378,10 +402,8 @@ \item{hohe Verspätungen} \end{itemize} \end{itemize}} - \note{\begin{itemize} - \item{H5N1 Sicher\-stel\-lung von angemessene Erkennung und Quarantäne Maßnahmen} - \item{wenig Durchfluss und niedriger Höhen Service} - \end{itemize}} + \note<3>[item]{H5N1 Sicher\-stel\-lung von angemessene Erkennung und Quarantäne Maßnahmen} + \note<3>[item]{wenig Durchfluss und niedriger Höhen Service} \end{frame} \section[Aussehen]{Aussehen von IPv6} @@ -399,6 +421,7 @@ \item{Netzgröße als \textcolor{CIDR}{CIDR} anhängen} \end{itemize} \vspace{-0.3cm} + \pause \begin{examples} IPv6-Adresse:\\ \textcolor{prefix}{2001:0db8:0000:0000}:\textcolor{IID}{cd71:37fe:e1ab:1ad1}\textcolor{CIDR}{/64}\\ @@ -438,46 +461,72 @@ \end{frame} \subsection{Interface Identifier} - +\setbeamercovered{invisible} \begin{frame} \frametitle{Rätsel-Time} \framesubtitle{Was glaubt ihr?} - Wie wird Interface Identifier gebildert? + Wie wird der Interface Identifier gebildet? \begin{description} - \item[A] nur nach EUI-64 Standard - \item[B] entweder EUI-64 oder Privacy Extension - \item[C] es gibt mehr als 4 Methoden - \item[D] es gibt genau 3 nicht näher definierte Methoden + \item[A] \textcolor<2>{red}{nur nach EUI-64 Standard} \onslide<2->{\textcolor{red}{X} EUI-64 ist veraltet} + \item[B] \textcolor<2>{red}{entweder EUI-64 oder Privacy Extension} \onslide<2->{\textcolor{red}{X} Nicht mehr unter Linux} + \item[C] \textcolor<2>{green}{es gibt mehr als 4 Methoden \onslide<2->{\checkmark}} + \item[D] \textcolor<2>{red}{es gibt genau 3 nicht näher definierte Methoden} \onslide<2->{\textcolor{red}{X} siehe C} \end{description} \end{frame} +\setbeamercovered{transparent} -\begin{frame} - \frametitle{Rätsel-Time} - \framesubtitle{Was glaubt ihr?} - \begin{description} - \item[A] \textcolor{red}{nur nach EUI-64 Standard X} EUI-64 ist veraltet - \item[B] \textcolor{red}{entweder EUI-64 oder Privacy Extension X} Nicht mehr unter Linux - \item[C] \textcolor{green}{es gibt mehr als 4 Methoden \checkmark} - \item[D] \textcolor{red}{es gibt genau 3 nicht näher definierte Methoden X} siehe C - \end{description} +\begin{frame}[fragile] + \frametitle{EUI 64} + \framesubtitle{ein historisches Rezept} + EUI 64 \textcolor{realRFC}{RFC 4291} - 2006 + \begin{itemize} + \item{MAC-Adresse und ff:fe mittig einfügen} + \vspace{-0.3cm} + \end{itemize} + \pause + \begin{example} + IPv6-Adresse: \textcolor{prefix}{fe80::}\textcolor{Maroon}{5\textcolor{red}{0}54:00}ff:fe\textcolor{Emerald}{0f:71c0} + \end{example} + \note[item]{Wen das näher interessiert, es gibt im Repository ein Handout} \end{frame} -\subsubsection{EUI 64 und privacy Extention} +\subsubsection{Exkurs MAC-Adressen} +\begin{frame} + \mode{\addtocounter{framenumber}{-1}} + \frametitle{MAC-Adressen} + \framesubtitle{Die Adresse der Hardware} + \begin{definition} + \small{ MAC-Adresse = Media-Access-Control-Adresse nach IEEE 802.3 und IEEE 802.11\\ + Andere Namen sind Ethernet-ID, Airport-ID, Wi-Fi-Adresse (Apple) oder Physikalische Adresse (Microsoft).} + \end{definition} + \begin{tabular}{l|l|l} + Byte & 1. 2. 3. & 4. 5. 6. \\\hline + Bedeutung & Hersteller Kennung & Geräte Kennung \\ + Beispiel & 52:54:00 & 0f:71:c0 \\ + \end{tabular} + \begin{itemize} + \item{sollte eindeutig sein (kann jeder spoofen)} + \item{Länge: 48 Bit in 12 stelliger Hexadezimalzahl} + \item{Zusammensetzung aus Hersteller- und Geräte-Kennung} + \item{gehen voraussichtlich im Jahr 2100 aus (rechnerisch)} + \end{itemize} +\end{frame} -\begin{frame}[fragile] +\subsubsection{EUI 64 und privacy Extention} + +\begin{frame}[fragile] + \mode{\addtocounter{framenumber}{-1}} \frametitle{EUI 64 und privacy Extension} - \framesubtitle{ein Rezept} - \label{EUI} + \framesubtitle{ein altes Rezept} \begin{columns}[T] %\vspace{-1cm} \begin{column}{0.5\textwidth} - EUI 64 \textcolor{realRFC}{RFC 4291} - 2006 + EUI 64 \textcolor{realRFC}{RFC 4291} - 2006 \begin{itemize} \item{MAC-Adresse und ff:fe mittig einfügen} - \only<|beamer:0>{\hyperlink{MAC}{\beamergotobutton{MAC-Adressen}}} \vspace{-0.3cm} \end{itemize} - \begin{example} + \begin{example} IPv6-Adresse: \textcolor{prefix}{fe80::}\textcolor{Maroon}{5\textcolor{red}{0}54:00}ff:fe\textcolor{Emerald}{0f:71c0} \end{example} \end{column} @@ -488,7 +537,7 @@ \item{NTP-(Network Time Protocol) Zeitstempel} \item{MAC-Adresse} \end{itemize} - daraus MD5-Hash mit 64Bit Länge + daraus MD5-Hash mit 64Bit Länge \end{column} \end{columns} \pause @@ -502,9 +551,10 @@ \end{itemize}} \end{frame} -\begin{frame}[fragile] +\begin{frame}[fragile] + \mode{\addtocounter{framenumber}{-1}} \frametitle{EUI 64} - \framesubtitle{Konfiguration unter Linux} + \framesubtitle{Konfiguration unter Linux} \begin{itemize} \item{Kernel:} \begin{minted}{bash} @@ -524,9 +574,10 @@ \end{itemize} \end{frame} -\begin{frame}[fragile] +\begin{frame}[fragile] + \mode{\addtocounter{framenumber}{-1}} \frametitle{Privacy-Extension} - \framesubtitle{unter Liunx einstellen} + \framesubtitle{unter Linux einstellen} \begin{itemize} \item{Kernel:} \begin{minted}{bash} @@ -549,10 +600,11 @@ \subsubsection{Semantically Opaque Interface Identifiers} \begin{frame}[fragile] \frametitle{Sematisch undurchsichtige Interface Identifier} - \framesubtitle{Semantically Opaque Interface Identifiers} + \framesubtitle{Semantically Opaque Interface Identifiers} \begin{definition} - \small{\textbf{Semantically Opaque Interface Identifiers} nach \textcolor{realRFC}{RFC 7217} (2014) werden aus Präfix, Interface-Name, Netzwerk-ID, Duplicate Address Detection Counter und einem geheimen Schlüssel gebildet.} + \small{\textbf{Semantically Opaque Interface Identifiers} nach \textcolor{realRFC}{RFC 7217} (2014) werden aus Präfix, Interface-Name, Netzwerk-ID, Duplicate Address Dectection Counter und einem geheimen Schlüssel gebildet.} \end{definition} + \pause \small{ \begin{itemize} \vspace{-0.3cm} @@ -569,12 +621,12 @@ \item{wie der Secret-Key aussehen soll, ist nicht spezifiziert} \item{evtl. Wartezeit bis zur Generierung} \item{der statische Identifier macht Spoofing leichter} - \end{itemize} + \end{itemize} \end{itemize}} \end{frame} \begin{frame}[fragile] - \frametitle{Sematisch undurchsichtige Interface Identifier} + \frametitle{Semantisch undurchsichtige Interface Identifier} \framesubtitle{Unter Linux einstellen:} \footnotesize{ Im Kernel implementiert seit 2015 @@ -595,12 +647,12 @@ \begin{minted}{linux-config} [Network] LinkLocalAddressing=ipv6 - IPv6LinkLocalAddressGenerationMode=stable-privacy - IPv6StableSecretAddress= + IPv6LinkLocalAddressGenerationMode=stable-privacy + IPv6StableSecretAddress= \end{minted} \end{itemize}} \end{frame} - + \subsubsection{Temporary Address Extensions} \begin{frame} \frametitle{Temporary Address Extensions} @@ -610,12 +662,13 @@ \begin{definition} \vspace{-0.1cm} \textbf{Temporary Address Extensions for Stateless Address Auto\-configuration in IPv6} nach \textcolor{realRFC}{RFC 8981} (2021)\\ - Temporäre Interface Identifiers Generierung nach dem gleichen Algorithmus, wie se\-man\-tisch undurchsichtigen. Zeit wird als Epoch hinzugefügt. Die Adressen verfallen nach einer bestimmten Zeit. + Temporäre Interface Identifiers Generierung nach dem gleichen Algorithmus, wie se\-man\-tisch undurchsichtigen + Zeit als Epoch. Die Adressen haben begrenzte Gültigkeit. \end{definition}} + \pause \vspace{-0.3cm} \footnotesize{ \begin{itemize} - \item{Vorteil} + \item{Vorteil:} \begin{itemize} \item{für End-Anwender gedacht} \item{soll default Adresse sein} @@ -626,7 +679,7 @@ \end{itemize} \item{Nachteil:} \begin{itemize} - \item{mehr Schwierigkeiten ein Netzwerk zu administieren} + \item{mehr Schwierigkeiten ein Netzwerk zu administrieren} \item{DNS: sehr wichtig, um bestimmte Services zu erreichen} \item{reverse-DNS Auflösungen werden erschwert} \end{itemize} @@ -635,35 +688,35 @@ \vspace{0.3cm} \end{frame} -\subsection[IPoAC-Adressen]{Interface Identifier bei Brieftauben} +\subsection[IPoAC Adressen]{Interface Identifier bei Brieftauben} \begin{frame} - \frametitle{IPv6-Adressen bei Brieftauben} + \frametitle{IPv6 Adressen bei Brieftauben} \framesubtitle{Interface Identifier} \begin{itemize} - \item{EUI-64 und Privacy Extension:} + \item{EUI-64 und Privacy Extension nicht möglich} \begin{itemize} \item{jegliche Form von Link-Layer (Sicherungsschicht) fehlt} \item{keine MAC-Adressen} \end{itemize} \pause \item{Flying Adresses:} - \begin{itemize} + \begin{itemize} \item{Complex Addressing in IPv6 \textcolor{witzRFC}{RFC 8135} - 2017} \item{nicht näher spezfiziert} \item{benutzten den ICAO Class G Luftraum unterhalb der Wolken und können von unteren Layer Technologien erwartet werden} \item{Verwechlsungsgefahr mit Floating Addresses} \begin{itemize} - \item{falls Wasservögel als Avian Carrier eigesetzt werden} + \item{falls Wasservögel als Avian Carrier eingesetzt werden} \item{Adressen mit Panzertape am Gerät befestigen, dies garantiert KEINE Wasserdichte des Gerätes} \end{itemize} \end{itemize} \pause \item{Semantically Opaque Interface Identifiers und Temporary Address Extensions} \begin{itemize} - \item{möglich da MAC-Adressen unabhänig} + \item{möglich da MAC-Adressen unabhängig} \end{itemize} \end{itemize} -\end{frame} +\end{frame} \section[Adressen]{unterschiedliche IPv6-Adress-Bereiche} @@ -672,7 +725,7 @@ \frametitle{Was ist Unicast?} \begin{definition} Der Kommunikationsfluss zwischen ganz genau 2 spezifischen Teilnehmern. - \end{definition} + \end{definition} \includegraphics[width=\textwidth]{Unicast.png} \end{frame} @@ -704,12 +757,14 @@ \frametitle{Die Link Lokal Unicast Adresse} \framesubtitle{IPv6 LLAs oder LLU} \textcolor{realRFC}{RFC 4291} - 2006\\ - \\ + \\ + \begin{center} \begin{tabular}{c|c|c} 10 Bits & 54 Bits & 64 Bits \\\hline Präfix & 0 & Interface Indentifier\\\hline \textcolor{prefix}{fe80} & 0 &\textcolor{IID}{fcc1:87ff:fe6a:ead6}\\ - \end{tabular}\\ + \end{tabular}\\ + \end{center} \begin{itemize} \item{erkennbar am \textcolor{prefix}{Präfix: fe80::/10}} \item{für in sich geschlossene lokale Netzwerke (zB: das LAN zu Hause)} @@ -722,14 +777,14 @@ \begin{frame}[fragile] \frametitle{Die Zone} - \framesubtitle{LinkLocalAdress?? In welcher Zone?} + \framesubtitle{LinkLocalAdresse?? In welcher Zone?} \textcolor{realRFC}{RFC 4007} - 2005 \includegraphics[width=\textwidth]{Zone.png} \vspace{-0.5cm} \begin{itemize} \item{Jede Netzwerkschnittstelle ist eine Zone} - \item{\% an die LinkLocalAddress anhängen} - \item{unter Linux ist die Zone der Interface Name} + \item{\% an die LinkLocalAdresse anhängen} + \item{unter Linux ist die Zone der Interface Name:} \end{itemize} \begin{minted}{bash} ip link @@ -741,35 +796,41 @@ \begin{frame} \frametitle{Was ist Unique Local?} \textcolor{realRFC}{RFC 4193} - 2005\\ - \\ + \vspace{-0.5cm} + \\ \begin{tabular}{c|c|c|c} 8 Bits & 40 Bits & 16 Bits & 64 Bits \\\hline - Präfix & Globale ID &Subnet ID & Interface Indentifier\\\hline - \textcolor{prefix}{fd0} & 0 & 0 & \textcolor{IID}{fcc1:87ff:fd80:ead6}\\ + Präfix & Globale ID &Subnet ID & Interface Identifier\\\hline + \textcolor{prefix}{fd} & 0 & 0 & \textcolor{IID}{fcc1:87ff:fd80:ead6}\\ \end{tabular} \begin{itemize} + \item{\textcolor{prefix}{Präfix fc00::/7} (global) oder \textcolor{prefix}{fd00::/8} (local)} + \item{aktuell nur \textcolor{prefix}{Präfix fd00::/8} vergeben} \item{für lokale private Netze} \item{halbwegs global eindeutig} - \item{kann in ein anderes Netz geroutet werden} + \item{kann in andere definierte Netz geroutet werden} \item{müssen nicht registriert werden} - \item{es gab mehrere Versuche, ULAs zu registrieren (\url{https://ungleich.ch/u/projects/ipv6ula/})} + \item{es gab mehrere Versuche, ULAs zu registrieren} + \only{\qrcode[hyperlink,height=0.8cm,level=H]{https://ungleich.ch/u/projects/ipv6ula/}} + \url{https://ungleich.ch/u/projects/ipv6ula/} + \pause \item{Wird in Dual-Stack nicht bevorzugt benutzt(\textcolor{realRFC}{RFC 6724)}} \item{Diskussion: ob ULAs überhaupt gebraucht werden} - \item{\textcolor{prefix}{Präfix fc00::/7} (global) oder \textcolor{prefix}{fd00::/8} (local)} - \item{aktuell nur \textcolor{prefix}{Präfix fd00::/8} vergeben} \end{itemize} + \note<2>[item]{Happy Eyeballs RFC 8305 reduziert für den User spürbare Verzögerungen auf Dual-Stack Hosts} \end{frame} -\begin{frame} +\begin{frame} + \mode{\addtocounter{framenumber}{-1}} \frametitle{Was ist Unique Lokal?} \framesubtitle{Globale ID} - \begin{itemize} + \begin{itemize} \item{zufällig generiert} \begin{itemize} \item{Tageszeit} \item{dem EUI-64 Identifier des Systems oder der MAC-Adresse} \item{Tageszeit und Identifier vermischen, um daraus einen Key zu erstellen} - \item{SHA-1 Wert von 160bit länge aus dem Key errechnen} + \item{SHA-1 Wert von 160bit Länge aus dem Key errechnen} \item{die letzten signifikanten 40 Bits als Global ID verwenden} \end{itemize} \end{itemize} @@ -784,59 +845,47 @@ \\ \begin{tabular}{c|c|c} n Bits & m Bits & 64 Bits \\\hline - Präfix & Subnet ID & Interface Indentifier\\\hline + Präfix & Subnet ID & Interface Identifier\\\hline \textcolor{prefix}{2001} & 1 &\textcolor{IID}{fcc1:87ff:fd80:ead6}\\ \end{tabular}\\ \begin{itemize} \item{Der Präfix ist nicht genau spezifiziert} \item{wenn die ersten 3 Bits des Präfix 0 sind ist kein Interface Identifier erforderlich} - \item{Momentan werden \textcolor{prefix}{2000::/3} verteilt:} + \item{Momentan werden \textcolor{prefix}{2000::/3} verteilt} \item{Adressen werden im Internet geroutet} \item{sind weltweit erreichbar} - \end{itemize} + \end{itemize} \end{frame} \begin{frame} \frametitle{Was sind Globale Unicast Adressen?} - \framesubtitle{Hierarchische Struktur} + \framesubtitle{Hierarchische Struktur} + \vspace{-0.3cm} \center{\includegraphics[width=\textwidth]{Hierachie.png}} \end{frame} \subsection{Multicast Adressen} - +\setbeamercovered{invisible} \begin{frame} \frametitle{Rätsel-Time} \framesubtitle{Was glaubt ihr?} - Was ist richtig? \begin{description} - \item[A] Broadcast ist auch in IPv6 vorhanden - \item[B] In IPv6 gibt es nur Unicast, Multicast und Anycast - \item[C] Anycast ist genau das gleiche, wie Broadcast - \item[D] Broadcast wird in IPv6 nicht verwendet + \item[A] \textcolor<2>{red}{Broadcast ist auch in IPv6 vorhanden}\onslide<2->{\textcolor{red}{ X} Broadcast ist NICHT in IPv6 integriert} + \item[B] \textcolor<2>{green}{In IPv6 gibt es nur Unicast, Multicast und Anycast\onslide<2->{\checkmark}} + \item[C] \textcolor<2>{red}{Anycast ist genau das gleiche, wie Broadcast}\onslide<2->{ \textcolor{red}{X} Anycast ist was anderes als Broadcast} + \item[D] \textcolor<2>{green}{Anycast wird für Load Balacing verwendet}\onslide<2->{\textcolor{green}{ \checkmark}} \end{description} Hinweis: Broadcast spricht alle Adressen in einem Netz an. \end{frame} - -\begin{frame} - \frametitle{Rätsel-Time} - \framesubtitle{Was glaubt ihr?} - \begin{description} - \item[A] \textcolor{red}{Broadcast ist auch in IPv6 vorhanden X} Broadcast ist NICHT in IPv6 integriert - \item[B] \textcolor{green}{In IPv6 gibt es nur Unicast, Multicast und Anycast \checkmark} - \item[C] \textcolor{red}{Anycast ist genau das gleiche, wie Broadcast X} Anycast ist was anderes als Broadcast - \item[D] \textcolor{green}{Broadcast wird in IPv6 nicht verwendet \checkmark} eine ähnliche Funktionalität übernimmt Multicast - \end{description} -\end{frame} +\setbeamercovered{transparent} \begin{frame} \frametitle{Was sind Multicast Adressen?} \framesubtitle{Aufbau} - \label{Multicast} \begin{tabular}{rr} \textcolor{realRFC}{RFC 4291} - 2006 & \textcolor{realRFC}{RFC 7346} - 2014\\ \textcolor{realRFC}{RFC 3306} - 2002 & \textcolor{realRFC}{RFC 3307} - 2002\\ - \end{tabular} - + \end{tabular} \includegraphics[width=\textwidth]{Multicast.png} \scriptsize{\begin{tabular}{c|c|c|c|c|p{1.1cm}|c} 8 Bit&4 Bit&4 Bit&8 Bit&8 Bit&64 Bit&32 Bits \\\hline @@ -844,11 +893,9 @@ \textcolor{prefix}{ff} & \textcolor{Goldenrod}{0} & \textcolor{orange}{0} & 0 & plen & 0 & GroupID \\\hline \end{tabular}}\\ \\ - \footnotesize{plen = Anzahl Bits im Netzwerk Prefix Feld\\ network prefix = Subnetz-Präfix der Multicast Adresse\\ Group ID = von IANA für bestimmte Services vergeben oder Zufallszahl} - \only<|beamer:0>{\hyperlink{Multicast Scope}{\beamergotobutton{Multicast Group ID}}} \note{\LARGE{}{\begin{itemize} \item{sprechen Gruppen von Adressen an} \item{es wird zwischen dauerhaften und dynamischen Adressen unterschieden} @@ -856,21 +903,50 @@ \end{itemize}}} \end{frame} -\begin{frame}[shrink] +\begin{frame} + \mode{\addtocounter{framenumber}{-1}} + \frametitle{Multicast Adressen} + \framesubtitle{Scope Überblick} + \small{% + Die Scopes haben folgende Bedeutung:\\ + \begin{tabular}{c|c|p{5cm}} + Wert&Scope&Beschreibung\\\hline + 0&reserviert&\\\hline + 1&Interface-Local&Loopback\\\hline + 2&Link Local&nur im lokalen Subnetz\\\hline + 3&Realm-Local&für eine bestimmte Netzwerk-Technologie (zBsp Mesh) \\\hline + 4&Admin-Local&Geltungsbereich vom Router-Admin definiert\\\hline + 5&Site-local& für den Bereich einer lokalen Site\\\hline + 8&Organisation-Local& über mehrere Sites aber gleiches logisches Netz\\\hline + E&Global&Globaler Multicast\\\hline + \end{tabular} + Fehlende Scope sind nicht zugewiesen und dürfen zur Definierung von Multicast-Regionen verwendet werden.} +\end{frame} + + +\begin{frame} \frametitle{Multicast Adressen} \framesubtitle{Beispiele bekannter Multicast Adressen} \begin{itemize} \item{ff01::1 - All Nodes Interface lokal (loopback)} \item{ff01::2 - All Routers Interface lokal (loopback)} \item{ff02::1 - All Nodes Link lokal (Bsp. Broadcast)} - \item{ff02::2 - All Routers Link lokal, adressiert alle Router} - \item{ff02::5-6 - All OSPF Routers Link lokal, adressiert alle OSPF Router} - \item{ff02::7-8 - All IS-IS Routers Link lokal, adressiert alle IS-IS Router} - \item{ff02::9 - All RIP Routers Link lokal, adressiert alle RIP Router} - \item{ff05::2 - All Routers Sitelokal, adressiert alle Router einer Site (Pakete dürfen geroutet werden, aber nicht in Internet).} + \item{ff02::2 - All Routers Link lokal} + \item{ff02::5-6 - All OSPF Routers Link lokal} + \item{ff02::7-8 - All IS-IS Routers Link lokal} + \item{ff02::9 - All RIP Routers Link lokal} + \item{ff05::2 - All Routers Sitelokal} \item{ff05::1:3 - All DHCP-Server in der Site} \end{itemize} - \tiny{weitere Multicast-Adressen: \url{https://www.iana.org/assignments/ipv6-multicast-addresses/ipv6-multicast-addresses.xhtml}} + weitere Multicast Adressen: + \begin{columns} + \only{\begin{column}{0.2\textwidth} + \qrcode[hyperlink,height=1.5cm]{https://www.iana.org/assignments/ipv6-multicast-addresses/ipv6-multicast-addresses.xhtml} + \end{column}} + \begin{column}{0.8\textwidth} + \url{https://www.iana.org/assignments/ipv6-multicast-addresses/ipv6-multicast-addresses.xhtml} + \end{column} + \end{columns} \end{frame} \subsection{Anycast Adressen} @@ -880,11 +956,11 @@ \vspace{-0.5cm} \center{ \includegraphics[scale=0.4]{Anicast.png} - \begin{tabular}{c|c|c} + \begin{tabular}{c|c} \textcolor{prefix}{n Bits} & \textcolor{IID}{128-n bits}\\\hline \textcolor{prefix}{Subnet Präfix} & \textcolor{IID}{Interface Identifier}\\\hline \textcolor{prefix}{fd::}&0\\ - \end{tabular}} + \end{tabular}} \begin{itemize} \item{kann auf mehreren Interfaces konfiguriert sein} \item{spricht nur die nächste Adresse an} @@ -892,34 +968,16 @@ \item{sind Unicast-Adressen, mit dem Interface Identifier auf null gesetzt} \end{itemize} \note{\begin{itemize} - \item{Nutzen: zB LoadBalancing} + \item{Nutzen: zB LoadBalancing} \end{itemize}} \end{frame} -\section{besondere IPv6 Adressen} - -\begin{frame}[shrink] - \frametitle{weitere IPv6-Adressen} - \framesubtitle{besondere IP-Adressen} - \begin{description} - \item[::/128] nicht spezifizierte, nicht zugewiesene Adresse. - \item[::/0] Standard-Route, bzw. es wurde keine Route gefunden. - \item[::1/128] loopback-Adresse - \item[2001:db8::/32] nicht routbare Adressen für Dokumentationszwecke - \item[2001::/32] Teredo-Adressen - \item[2002::/16] 6to4 - \item[3ffe::/16] bone6-Projekt der Telekom, wurde 2006 zurück an IANA gegeben - \end{description} - weitere besondere IPv6-Adressen \url{https://www.iana.org/assignments/iana-ipv6-special-registry/iana-ipv6-special-registry.xhtml} -\end{frame} - - \section[IPoAC Adressen]{IPv6 Bedingungen und Adressen bei Brieftauben} \begin{frame} \frametitle{IPv6-Adressen - bei Brieftauben} \framesubtitle{Zusammenfassung} \begin{itemize} - \item{Adress Bereiche:} + \item{Adress-Bereiche:} \begin{itemize} \item{es kann nur das andere Ende des Links adressiert werden} \item{Unicast Adressen unmöglich zu LinkLocal Adresse zu mappen(nach \textcolor{witzRFC}{RFC 6214)}} @@ -928,43 +986,39 @@ \pause \item{Voraussetzungen} \begin{itemize} - \item{Fähigkeit IPv6-Paket senden/emfangen \textcolor{green}{\checkmark}} - \item{ICMPv6 (ping) \textcolor{orange}{\checkmark}} - \item{Multicast \textcolor{red}{X}} - \end{itemize} - \pause - \item{Lösungen: Using 127-Bit IPv6 Präfixe \textcolor{realRFC}{RFC 6164} - 2011 und \textcolor{witzRFC}{6214} - 2011} - \begin{itemize} - \item{End-Punkt des Links unnummiert oder mit \textcolor{CIDR}{/127} Präfix oder statischer Addresse (\textcolor{witzRFC}{RFC 6214})} - \item{nur für point-to-point Kommunikation zwischen Routern} - \item{Neigbour Discovery Exhaustion (Tauben hin/her-schicken)} + \item{Fähigkeit IPv6-Paket senden/empfangen \textcolor{green}{\checkmark}} + \item{Multicast \textcolor{red}{X}} \end{itemize} \end{itemize} - \vspace{0.3cm} \end{frame} \begin{frame} - \frametitle{Rätsel-Time} - \framesubtitle{Was glaubt ihr?} - Welche IPv6 Adresse ist gültig? - \begin{description} - \item[A] fe80:a4df::/20 - \item[B] ::1/128 - \item[C] fdb0:0cfe:ed::/64 - \item[D] 2001:db8::/32 - \end{description} + \frametitle{IPv6-Adressen - bei Brieftauben} + \framesubtitle{Lösungen:} + Using 127-Bit IPv6 Präfixe \textcolor{realRFC}{RFC 6164} - 2011 und \textcolor{witzRFC}{6214} - 2011 + + \begin{itemize} + \item{End-Punkt des Links umnummeriert oder mit \textcolor{CIDR}{/127} Präfix oder statischer Adresse (\textcolor{witzRFC}{RFC 6214})} + \item{nur für point-to-point Kommunikation zwischen Routern} + \item{kann zu Ping-Pong-Issue (wenn kein Neigbour Discovery durchgeführt wird) führen oder einem Neigbour Cache Exhaustion(-Angriff) (Tauben hin/her-schicken)} + \item{war daher mal verboten(\textcolor{realRFC}{RFC 3627}), dieses Verbot ist aber Historisch (\textcolor{realRFC}{RFC 6164)}} + \end{itemize} + \note[item]{127-bit Prefix ist was bei ipv4 /30 oder /31} \end{frame} +\setbeamercovered{invisible} \begin{frame} \frametitle{Rätsel-Time} \framesubtitle{Was glaubt ihr?} - \begin{description} - \item[A] \textcolor{red}{fe80:a4df::/20} X fe80::$<$InterfaceIdentifier$>$ - \item[B] \textcolor{green}{::1/128} \checkmark für loopback - \item[C] \textcolor{green}{fdb0:0cfe:ed::/64} \checkmark Unique Local Adress - \item[D] \textcolor{orange}{2001:db8::/32} \checkmark nur für „Dokumentationen \textcolor{realRFC}{RFC 3849} - 2004“ - \end{description} + Welche IPv6 Adresse ist gültig? + \begin{description} + \item[A] \textcolor<2>{red}{fe80:a4df::/20} \onslide<2->{\textcolor{red}{X} fe80::$<$InterfaceIdentifier$>$} + \item[B] \textcolor<2>{green}{::1/128} \onslide<2->{\textcolor{green}{\checkmark} für loopback} + \item[C] \textcolor<2>{green}{fdb0:0cfe:ed::/64} \onslide<2->{\textcolor{green}{\checkmark} Unique Local Adress} + \item[D] \textcolor<2>{orange}{2001:db8::/32} \onslide<2->{\textcolor{orange}{\checkmark} nur für „Dokumentationen \textcolor{realRFC}{RFC 3849} - 2004“} + \end{description} \end{frame} +\setbeamercovered{transparent} \section{HandsON} \subsection{ping} @@ -976,10 +1030,10 @@ \mint{bash}{ip -6 address show} \item{pingen} \begin{minted}{bash} - ping -6 fe80::e65f:1ff:fe46:edc9% - ping6 fd00:feed:c0ff:ee00:e65f:1ff:fe46:edc9 + ping -6 fe80::e65f:1ff:fe46:edc8% + ping -6 fd00:feed:c0ff:ee01:e65f:1ff:fe46:edc8 ping -6 ff02::1% # alle Nodes local - ping6 ff02::2% #alle Router local + ping -6 ff02::2% #alle Router local \end{minted} \item{\textcolor{red}{Vorsicht} man kann Unicast Adressen auch ohne Zone pingen} \end{itemize} @@ -993,8 +1047,8 @@ \begin{itemize} \item{ssh} \begin{minted}[breakafter=:]{bash} - ssh dove@fe80::e65f:1ff:fe46:edc9% - ssh dove@fd00:feed:c0ff:ee00:e65f:1ff:fe46:edc9 + ssh dove@fe80::e65f:1ff:fe46:edc8% + ssh dove@fd00:feed:c0ff:ee01:e65f:1ff:fe46:edc8 \end{minted} \item{hier ist die \textcolor{red}{Zone wichtig} bei LLA's} \end{itemize} @@ -1004,88 +1058,250 @@ \begin{frame}[fragile] \frametitle{Webseiten über IPv6} \framesubtitle{mit curl} - \begin{minted}[breakafter=:]{bash} - curl -I "http://[fe80::e65f:1ff:fe46:edc9%]" - curl -I "http://[fd00:feed:c0ff:ee00:e65f:1ff:fe46:edc9]" - \end{minted} -\end{frame} - -\begin{frame} - \frametitle{Rätsel-Time} - \framesubtitle{Was glaubt ihr?} - IPv6 Adressen im Grafischen Browser - \begin{description} - \item[A] Web-Browser kommen nur mit Multicast-Adressen zurecht - \item[B] IPv6 Adressen kann man im Webbrowser nicht aufrufen - \item[C] IPv6-Adressen müssen im Webbrowser zwischen [ ] geschrieben werden - \item[D] Link-Local-Adressen kann man im Webbrowser nicht aufrufen nur ULAs und GUAs - \end{description} + \begin{minted}[breakafter=:]{bash} + curl -I "http://[fe80::e65f:1ff:fe46:edc8%]" + curl -I "http://[fd00:feed:c0ff:ee01:e65f:1ff:fe46:edc8]" + \end{minted} \end{frame} +\setbeamercovered{invisible} \begin{frame} \frametitle{Rätsel-Time} \framesubtitle{Was glaubt ihr?} + IPv6 Adressen im Grafischen Browser \begin{description} - \item[A] \textcolor{red}{Web-Browser kommen nur mit Multicast-Adressen zurecht} X - \item[B] \textcolor{red}{IPv6 Adressen kann man im Webbrowser nicht aufrufen} X - \item[C] \textcolor{green}{IPv6-Adressen müssen im Webbrowser zwischen [ ] geschrieben werden} \checkmark - \item[D] \textcolor{green}{Link-Local-Adressen kann man im Webbrowser nicht aufrufen nur ULAs und GUAs} \checkmark + \item[A] \textcolor<2>{red}{Web-Browser kommen nur mit Multicast-Adressen zurecht} \onslide<2->{\textcolor{red}{X}} + \item[B] \textcolor<2>{red}{IPv6 Adressen kann man im Webbrowser nicht aufrufen} \onslide<2->{\textcolor{red}{X}} + \item[C] \textcolor<2>{green}{IPv6-Adressen müssen im Webbrowser zwischen [ ] geschrieben werden} \onslide<2->{\textcolor{green}{\checkmark}} + \item[D] \textcolor<2>{green}{Link-Local-Adressen kann man im Webbrowser nicht aufrufen nur ULAs und GUAs} \onslide<2->{\textcolor{green}{\checkmark}} \end{description} \end{frame} +\setbeamercovered{transparent} \subsection{Webbrowser} \begin{frame} \frametitle{Webbrowser} \framesubtitle{Webseiten mit IPv6} \begin{itemize} - \item{\url{http://[fe80::e65f:1ff:fe46:edc8\%]}} - \item{\url{http://[fd00:feed:c0ff:ee00:e65f:1ff:fe46:edc8]}} + \item{\url{http://[fe80::e65f:1ff:fe46:edc8\%]}} + \item{\url{http://[fd00:feed:c0ff:ee01:e65f:1ff:fe46:edc8]}} \end{itemize} \end{frame} -\section{Protokolle bei IPv6} +\section{IPv6 Header} \begin{frame}[fragile] - \frametitle{IPv6 Protokolle} - \label{Protokolle} + \frametitle{IPv6 Header seziert} + \small{\textcolor{realRFC}{RFC 8200} (2017) ursprünglich 1995 \textcolor{realRFC}{RFC 1883} \\ + Größe: 40 Byte (320Bits) bei IPv4 20-60 Bytes. + \vspace{0.3cm} + \vfill + \begin{bytefield}{32} + \bitheader{0,4,8,12,16,20,24,28,32} \\ + \bitbox{4}{\color{orange}Version} & \bitbox{8}{\color{blue}Traffic Class} & \bitbox{20}{\color{blue}Flow Label}\\ + \bitbox{16}{\color{blue}Payload Length} & \bitbox{8}{\color{blue}Next Header} & \bitbox{8}{\color{blue}Hop Limit}\\ + \wordbox{3}{\color{orange}Quell-IP-Adresse}\\ + \wordbox{3}{\color{orange}Ziel-IP-Adresse}\\ + \end{bytefield} + Legende: Orange auch in ipv4 / Blau verändert in IPv6} +\end{frame} + +\begin{frame}[shrink] + \mode{\addtocounter{framenumber}{-1}} + \frametitle{Das innere der IPv6-Pakete} + \framesubtitle{IP-Header} + Erklärung zum den Feldern im IP-Header: + \tiny{ + \begin{tabular}{p{0.1\textwidth}|l|p{0.8\textwidth}} + Feld & Bit & Beschreibung \\\hline + Version & 4 & Hier ist die Version des IP-Protokolls abgelegt, nach der das IP-Paket erstellt wurde. \\\hline + Traffic Class & 8 & Priorität des Pakets beim Routen (Quality of Service / QoS)\\\hline + Flow Label & 20 & Weiterer Marker für QoS bei Echtzeitanwendungen und Streaming. Pakete mit gleichem Flow-Wert werden gleich behandelt.\\\hline + Payload Length & 16 & Netto-Länge des Datenpakets (= Payload + Header Extentions)\\\hline + Next Header & 8 & Identifiziert den Typ des nächsten Kopfdatenbereiches, dieser kann entweder einen Erweiterungs-Kopfdatenbereich oder ein Protokoll höherer Schicht bezeichnen, wie z. B. TCP\\\hline + Hop Limit & 8 & Maximale Anzahl von Router-Durchläufen (Hops). Bei jedem Hop wird dieser Zähler um eins dekrementiert. Beim Stand null wird das Paket verworfen. \\\hline + Quell-IP-Adresse & 128 & An dieser Stelle steht die IP-Adresse der Station, die das IP-Paket abgeschickt hat.\\\hline + Ziel-IP-Adresse & 128 & An dieser Stelle steht die IP-Adresse der Station, für die das IP-Paket bestimmt ist. Soll das IP-Paket an mehrere Stationen zugestellt werden, muss hier eine Multicast-Adresse stehen.\\\hline + \end{tabular} + } +\end{frame} + +\section{ICMP bei IPv6} +\begin{frame}[fragile] + \frametitle{IPv6 ICMP-Header} + %\framesubtitle{} \textcolor{realRFC}{RFC 4443 - 2006}\\ - Informationen im Netzwerk werden mit ICMP - alias ping - ausgetauscht.\\ + Informationen im Netzwerk werden mit ICMP ausgetauscht.\\ ICMPv6 Paket\\ \\ \begin{bytefield}{32} \bitheader{0,4,8,12,16,20,24,28,32} \\ - \bitbox{8}{Type} & \bitbox{8}{Code} & \bitbox{16}{Checksum}\\ + \bitbox{8}{\color{orange}{Type}} & \bitbox{8}{\color{orange}{Code}} & \bitbox{16}{\color{orange}{Checksum}}\\ \bitbox{32}{Content}\\ \end{bytefield} + \begin{itemize} + \item{255 unterschiedliche ICMP Typen} + \begin{description} + \item[0-127] Fehler + \item[128-255] Informationen + \end{description} + \end{itemize} + die unterschiedlichen Typen sind hier beschrieben: + \begin{columns} + \only{\begin{column}{0.2\textwidth} + \qrcode[hyperlink,height=1.5cm]{https://www.iana.org/assignments/icmpv6-parameters/icmpv6-parameters.xhtml} + \end{column}} + \begin{column}{0.8\textwidth} + \url{https://www.iana.org/assignments/icmpv6-parameters/icmpv6-parameters.xhtml} + \end{column} + \end{columns} \end{frame} - -\subsection{NDP und NUD} + +\subsection{Neigbour Discovery} \begin{frame} -\label{NDP-NUD} - \frametitle{IPv6 Protokolle} - \framesubtitle{Neighbor Discovery Protocol und Neighbor Unreachability Dectection} + \frametitle{IPv6 ICMP-Messages} + \framesubtitle{ICMP Typen} + wichtigste Message-Typen: + \begin{itemize} + \item{Router Solicitation Message (133)} + \item{Router Advertisement Message (134)} + \item{Neigbour Solicitation Message (135)} + \item{Neigbour Advertisement Message (136)} + \end{itemize} + Gut zu wissen: IPv6 Header Fragmentierung bei ND ist verboten nach \textcolor{realRFC}{RFC 6980 (2013)} +\end{frame} + +\begin{frame} + \frametitle{IPv6 ICMP-Messages} + \framesubtitle{ICMP Aufgaben} + Aufgaben des ICMP: + \begin{itemize} + \item{Router Erkennung (RA und RS)} + \item{Prefix Erkennung} + \item{Parameter Erkennung} + \item{Adress Autoconfiguration(SLAAC)} + \item{Adressen Auflösung} + \item{Next Hop Router Ermittlung} + \item{Neighbor unreachability Erkennung (NUD)} + \item{Duplicate Adress Detection (DAD)} + \item{DNS Option via RA} + \item{Redirect} + \item{\dots} + \end{itemize} + \note[item]{DNS-Option wird bei Windows erst ab Version 11 unterstützt} +\end{frame} + +\subsection[RS und RA]{Router-Solicitation und Router-Advertisement} +\begin{frame}[fragile] + \frametitle{ICMP-Message-Types} + \framesubtitle{Router-Solicitation (RS)} \begin{definition} - \small{ - NDP=Neighbor Discovery Protocol \only<|beamer:0>{\hyperlink{NDP}{\beamergotobutton{NDP}}}\\ - \textcolor{realRFC}{RFC 3122 (2001), 4861 (2007), 9131 (2021)}\\ - Wird verwendet um im selben Netz andere Teilnehmer und dazugehörige Informationen zu ermitteln.} + \textcolor{realRFC}{RFC 4861 (2007)} + ICMP Multicast-Nachricht mit der ein Router Advertisement angefordert wird. \end{definition} - \pause + \vspace{0.2cm} + \begin{bytefield}{32} + \bitheader{0,4,8,12,16,20,24,28,32} \\ + \bitbox{8}{133} & \bitbox{8}{0} & \bitbox{16}{Checksum}\\ + \bitbox{32}{Reserved}\\ + \wordbox{1}{Options $\dots$}\\ + \end{bytefield} + \note[item]{wird nach dem aktivieren des Interfaces versendet} +\end{frame} + + +\begin{frame}[fragile] + \frametitle{ICMP-Message-Types} + \framesubtitle{Router-Advertisement (RA)} + \vspace{-0.5cm} \begin{definition} + \textcolor{realRFC}{RFC 4861 (2007)} Router übermittelt verschiedene Informationen an die Teilnehmer des Netzes. Wird in regelmäßigen Abständen gesendet. + \end{definition} + \vspace{0.2cm} + \begin{bytefield}{32} + \bitheader{0,4,8,12,16,20,24,28,32} \\ + \bitbox{8}{134} & \bitbox{8}{0} & \bitbox{16}{Checksum}\\ + \bitbox{8}{\small Cur Hop Limit}\bitbox{1}{\small M}\bitbox{1}{\small O}\bitbox{6}{Reserved}\bitbox{16}{Router Lifetime}\\ + \bitbox{32}{Reachable Time}\\ + \bitbox{32}{Retrans Time}\\ + \wordbox{1}{Options $\dots$}\\ + \end{bytefield} + \vspace{-0.5cm}\\ +\small{% + M= via DHCPv6, O= weitere Informationen über DHCPv6\\} +\vspace{-0.2cm} +\scriptsize{ Router Lifetime = 9000 Sekunden, nur bei default Router, sonst 0\\ + \vspace{-0.2cm} + Reachable Time = Millisekunden, die der Host erreichbar ist\\ + \vspace{-0.2cm} + Retrans Time = Millisekunden zwischen erneuten NS-Nachrichten +} +\end{frame} + +\subsubsection[ND]{Neigbour Discovery} +\begin{frame} +\frametitle{Neigbour Discovery Nachrichten} + \begin{definition} + Neigbour Discovery + \textcolor{realRFC}{RFC 3122 (2001), 4861 (2007), 9131 (2021)}\\ + Wird mit Multicast-Adressen verwendet, um im selben Netz andere Teilnehmer und dazugehörige Informationen zu ermitteln. Wird auch als Neigbour Discovery Protocol (NDP) bezeichnet. + \end{definition} +\end{frame} + +\begin{frame}[fragile] + \frametitle{Neigbour Solicitation (NS)} + \begin{itemize} + \item{anfordern der LLA eines Ziels und Bekanntgabe der eigenen LLA} + \item{Multicast zur Adressauflösung, Unicast zur Erreichbarkeitsprüfung} + \end{itemize} + \vspace{0.2cm} + \begin{bytefield}{32} + \bitheader{0,4,8,12,16,20,24,28,32} \\ + \bitbox{8}{135} & \bitbox{8}{0} & \bitbox{16}{Checksum}\\ + \bitbox{32}{Reserved}\\ + \wordbox{4}{Target Address must not be Multicast}\\ + \wordbox{1}{Options $\dots$}\\ + \end{bytefield}\\ +\end{frame} + +\begin{frame}[fragile] +\frametitle{Neigbour Advertisement (NA)} +Neigbour Advertisement Message (Bekanntgabe des Hosts):\\ +\\ +\vspace{0.5cm} + \begin{bytefield}{32} + \bitheader{0,4,8,12,16,20,24,28,32} \\ + \bitbox{8}{136} & \bitbox{8}{0} & \bitbox{16}{Checksum}\\ + \bitbox{1}{R}\bitbox{1}{S}\bitbox{1}{O}\bitbox{29}{Reserved}\\ + \wordbox{4}{Target Address}\\ + \wordbox{1}{Options $\dots$}\\ + \end{bytefield} + \vspace{-1cm}\\ + R= wenn Sender ist Router, S= wenn Antwort auf NS, O= überschreibe den ND-Cache +\end{frame} + +\subsection{NUD} +\begin{frame} +\frametitle{Neigbour Unreachability Discovery} +\begin{definition} \small{ - NUD=Neighbor Unreachability Dectection \only<|beamer:0>{\hyperlink{NUD}{\beamergotobutton{NUD}}}\\ + NUD=Neigbour Unreachability Dectection\\ \textcolor{realRFC}{RFC 4861 (2007), 7048 (2014)}\\ - ermittelt, ob die Adresse noch erreichbar ist.} - \end{definition} + ermittelt, ob die Adresse noch erreichbar ist} +\end{definition} +\begin{itemize} +\item{wird über NS-Nachrichten realisiert} +\item{nur an Teilnehmer mit Unicast Adresse gesendet} +\end{itemize} \end{frame} \begin{frame}[fragile] - \frametitle{Das NDP und NUD} - \framesubtitle{Neighbor Protocole unter Linux} -\small{Informationen aus dem Neighbor Discovery Cache abrufen:} + \frametitle{Das ND} + \framesubtitle{Neigbour Protocol unter Linux} +\small{Informationen aus dem Neigbour Discovery Cache abrufen:} \begin{minted}{bash} ip -6 maddress show #multicast Adressen - ip -6 neighbour show #aktueller Neighbour Cache + ip -6 neighbour show #aktueller Neighbour Cache ip -6 neigh get dev #Informationen aus Cache zu Adresse auf Interface ip -6 neigh show unused # alle unbenutzen Nachbarn ip -6 neigh show to #Informationen zu Adresse @@ -1103,17 +1319,27 @@ \begin{frame} \frametitle{IPv6 Protokolle} \framesubtitle{Duplicate Address Dectection} - \label{DAD-} - \begin{definition} - \small{ - DAD=Duplicate Address Dectection \only<|beamer:0>{\hyperlink{DAD}{\beamergotobutton{DAD}}}\\ - \textcolor{realRFC}{RFC 4429 (2006), 4862 (2007), 7527 (2015)}\\ - Soll Adress Konfikte verhindern, und doppelt vergebene Adressen erkennen.} - \end{definition} - \begin{itemize} - \item{Pflicht DAD bei allen Adressen zu verwenden} - \item{DAD kann betriebssystemseitig ausgeschaltet werden} - \end{itemize} + \small{% + \vspace{-0.5cm} + \begin{definition} + DAD=Duplicate Address Dectection \\ + \textcolor{realRFC}{RFC 4429 (2006), 4862 (2007), 7527 (2015)}\\ + Soll Adress Konflikte verhindern, und doppelt vergebene Adressen erkennen. + \end{definition} + \pause + \begin{enumerate} + \item{ermittelt Unicast-Adresse} + \item{verwende eine unspezifische Adresse als Quell-Adresse} + \item{die ermittelte Unicast Adresse (1) umwandeln als Solicited Multicast Adresse} + \item{im ICMP-Paket als Zieladresse eintragen} + \item{sende Neigbour Solicitation-Nachricht (ICMP)} + \end{enumerate} + \pause + \begin{itemize} + \item{Pflicht DAD bei allen Adressen zu verwenden} + \pause + \item{DAD kann betriebssystemseitig ausgeschaltet werden} + \end{itemize}} \end{frame} \begin{frame}[fragile] @@ -1127,67 +1353,22 @@ \end{minted} \end{frame} +\setbeamercovered{invisible} \begin{frame} \frametitle{Rätsel-Time} \framesubtitle{Was glaubt ihr?} Wenn die Duplicate Adress Detection anschlägt, passiert folgendes: \begin{description} - \item[A] sollte das Interface deaktiviert werden - \item[B] sollte ein Systemfehler geloggt werden - \item[C] wurde der Interface Identifier nicht basierend auf der MAC-Adresse gebildet, könnte vielleicht fortgefahren werden - \item[D] wird eine neue Adresse generiert + \item[A] \textcolor<2>{green}{sollte das Interface deaktiviert werden} \onslide<2->{\textcolor{green}{\checkmark}} + \item[B] \textcolor<2>{green}{sollte ein Systemfehler geloggt werden} \onslide<2->{\textcolor{green}{\checkmark}} + \item[C] \textcolor<2>{green}{wurde der Interface Identifier nicht basierend auf der MAC-Adresse gebildet, könnte vielleicht fortgefahren werden} \onslide<2->{\textcolor{green}{\checkmark}} + \item[D] \textcolor<2>{red}{wird eine neue Adresse generiert} \onslide<2->{\textcolor{red}{X}} \end{description} Hinweis: Nachdem was der RFC vorschreibt -\end{frame} - -\begin{frame} - \frametitle{Rätsel-Time} - Was glaubt ihr?\\ - \begin{description} - \item[A] \textcolor{green}{sollte das Interface deaktiviert werden} \checkmark - \item[B] \textcolor{green}{sollte ein Systemfehler geloggt werden} \checkmark - \item[C] \textcolor{green}{wurde der Interface Identifier nicht basierend auf der MAC-Adresse gebildet, könnte vielleicht fortgefahren werden} \checkmark - \item[D] \textcolor{red}{wird eine neue Adresse generiert} X - \end{description} - - \note{rfc7527:\\ + \note[item]<2>{rfc7527:\\ When a genuine duplicate is detected, the node follows the manual intervention specified in Section 5.4.5 of [RFC4862].} \end{frame} - -\subsection[RS und RA]{Router-Solicitation und Router-Advertisement} -\begin{frame} - \frametitle{IPv6 Protokolle} - \framesubtitle{RS und RA} - \label{RA-RS} - \begin{definition} - RS=Router-Solicitation \only<|beamer:0>{\hyperlink{RS}{\beamergotobutton{RS}}}\\ - \textcolor{realRFC}{RFC 4861 (2007)}\\ - ICMP Multicast-Nachricht mit der ein Router Advertisement angefordert wird. - \end{definition} - \pause - \begin{definition} - RA=Router-Advertisement \only<|beamer:0>{\hyperlink{RA}{\beamergotobutton{RA}}}\\ - \textcolor{realRFC}{RFC 4861 (2007)}\\ - ICMP Nachricht mit der ein Router sein vorhandensein im Netz bekannt gibt und verschiedene Informationen an die Teilnehmer des Netzes übermittelt. Wird in regelmäßigen Abständen gesendet. - \end{definition} -\end{frame} - -\begin{frame} - \frametitle{IPv6 mit IPoAC} - \framesubtitle{Zusammenfassung} - \begin{itemize} - \item{Routererkennung \textcolor{red}{X}} - \item{Präfixerkennung \textcolor{green}{\checkmark}} - \item{NUD für alle Pfade zwischen Hosts und Nachbar Nodes \textcolor{red}{X}} - \item{RA und RS \textcolor{red}{X}} - \item{Pfad MTU und Größen-Erkennung \textcolor{green}{\checkmark}} - \item{ICMPv6 (ping) \textcolor{orange}{\checkmark}} - \item{Multicast \textcolor{red}{X}} - \item{DAD \textcolor{red}{X}} - \item{DNS Option in RA \textcolor{green}{\checkmark}} - \item{SLAAC \textcolor{red}{X}} - \end{itemize} -\end{frame} +\setbeamercovered{transparent} \section[SLAAC]{IPv6 Adressen mittels SLAAC} @@ -1206,7 +1387,7 @@ \item{nur bei Multicast fähigen Interfaces} \item{erfordert kein manuelles Eingreifen} \item{Duplicate Address Dectection (DAD)} - \item{nutzt lokale Informationen und Router Advertisements} + \item{nutzt lokale Informationen und Router Advertisement} \item{wenn kein Router vorhanden, nur die Link Local Adresse} \item{kann auch mit DHCPv6 benutzt werden, mehr Kontrolle} \item{Router Solicitation wird auf allen Router Multicast Gruppen ausgeführt} @@ -1218,36 +1399,58 @@ \subsection{IPoAC und IPv6} \begin{frame} - \frametitle{Brief-Tauben und IPv6} + \frametitle{Brieftauben und IPv6} \framesubtitle{IPoAC nach \textcolor{witzRFC}{RFC 6214} 2011} \vspace{-0.2cm} - \begin{itemize} - \item{IPv6 Protocolle} - \begin{itemize} - \item{Neighbor Discovery ist unmöglich} + \begin{itemize} + \item{Neigbour Discovery unmöglich} + \pause + \begin{itemize} + \item{Zeit vorgaben: RFC 4861} + \begin{itemize} + \item{MaxRtrAdvInterval} maximal erlaubte Zeit für RA in Sekunden 1800 + \item{AdvReachableTime} setzt Reachable Time in RA Nicht $>$ 3.600.000 Millisekunden (1h) + \item{AdvRetransTimer} setzt Retrans Timer in RA 1.000 Millisekunden (16,6 Sekunden) + \end{itemize} \end{itemize} \pause - \item{SLACC} - \begin{itemize} + \item{SLAAC} + \begin{itemize} \item{SLAAC sollte nicht versucht werden zu implementieren, eine stabiler Interface Identifier ist nicht zu bilden} \end{itemize} \pause \item{Allgemeines} \begin{itemize} - \item{Es gibt Beweise, dass einige Avian Carriers (Raubvögel) andere Avian Carriers gegessen haben und dann den gegessenen Packetinhalt getragen haben.} - \item{neue Tunnel für IPv4 in IPv6 und umgekehrt - Aber der Entpackungs-Mechanismus ist noch unklar} + \item{Es gibt Beweise, dass einige Avian Carriers (Raubvögel) andere Avian Carriers gegessen haben und dann den gegessenen Paketinhalt getragen haben.} + \item{neue Tunnel für IPv4 in IPv6 und umgekehrt - Aber der Endpackungs-Mechanismus ist noch unklar} \end{itemize} \end{itemize} \vspace{0.4cm} \end{frame} +\begin{frame} + \frametitle{IPv6 mit IPoAC} + \framesubtitle{Zusammenfassung} + \begin{itemize} + \item{Routererkennung \textcolor{red}{X}} + \item{Präfixerkennung \textcolor{green}{\checkmark}} + \item{NUD für alle Pfade zwischen Hosts und Nachbar Nodes \textcolor{red}{X}} + \item{RA und RS \textcolor{red}{X}} + \item{Pfad MTU und Größen-Erkennung \textcolor{green}{\checkmark}} + \item{ICMPv6 (ping) \textcolor{orange}{\checkmark}} + \item{Multicast \textcolor{red}{X}} + \item{DAD \textcolor{red}{X}} + \item{DNS Option in RA \textcolor{green}{\checkmark}} + \item{SLAAC \textcolor{red}{X}} + \end{itemize} +\end{frame} \subsubsection[IPoAC Lösungen]{Mögliche Lösungen für IPoAC mit IPv6} \begin{frame} - \frametitle{Brief-Tauben und IPv6 Lösungen} + \frametitle{Brieftauben und IPv6 Lösungen} \framesubtitle{Lösungsvorschläge} \begin{itemize} - \item{Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs) \textcolor{realRFC}{RFC 6775} - 2017} + \item{Neigbour Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs) \textcolor{realRFC}{RFC 6775} - 2017} \begin{itemize} \item{Interface Identifier wird mit Hilfe von RA gebildet} \item{DAD wird unterstützt (nur wenn SLAAC benutzt wird)} @@ -1260,9 +1463,9 @@ \item{IPv6 Adressen werden als Host-Routen bekannt gegeben} \item{kommuniziert nur mit einem Router} \item{Dort findet eine ND Registratur statt} - \item{Ziel, weniger Nachrichten mit Host ausgetauschen} + \item{Ziel, weniger Nachrichten mit Host austauschen} \item{DAD und ND-Messages werden zwischen dem Router und dem Host ausgetauscht} - \end{itemize} + \end{itemize} \end{itemize} \end{frame} @@ -1291,219 +1494,47 @@ \small{Kontaktmöglichkeiten:\\ email: ratten@buecherratten.in-berlin.de\\ jabber: buecherratten@jabber.in-berlin.de\\ - Repro: \url{http://git.tuxteam.de/gitweb/?p=susannes-git/Ipv6-Vortrag.git;a=tree} + Repro: + \begin{columns} + \only{\begin{column}{0.2\textwidth} + \qrcode[hyperlink,height=2cm]{http://git.tuxteam.de/gitweb/?p=susannes-git/Ipv6-Vortrag.git;a=tree} + \end{column}} + \begin{column}{0.8\textwidth} + \url{http://git.tuxteam.de/gitweb/?p=susannes-git/Ipv6-Vortrag.git;a=tree} + \end{column} + \end{columns} } \end{frame} - -%folien fürs Handout - -\begin{frame}<1-| beamer:0> - \frametitle{MAC-Adressen} - \framesubtitle{Die Adresse der Hardware} - \label{MAC} - \begin{definition} - \small{ MAC-Adresse = Media-Access-Control-Adresse nach IEEE 802.3 und IEEE 802.11\\ - Andere Namen sind Ethernet-ID, Airport-ID, Wi-Fi-Adresse (Apple) oder Physikalische Adresse (Microsoft).} - \end{definition} - \begin{tabular}{l|l|l} - Byte & 1. 2. 3. & 4. 5. 6. \\\hline - Bedeutung & Hersteller Kennung & Geräte Kennung \\ - Beispiel & 52:54:00 & 0f:71:c0 \\ - \end{tabular} - \begin{itemize} - \item{sollte eindeutig sein (kann jeder spoofen)} - \item{Länge: 48 Bit in 12 stelliger Hexadezimalzahl} - \item{Zusammensetzung aus Hersteller- und Geräte-Kennung} - \item{gehen voraussichtlich im Jahr 2100 aus (rechnerisch)} - \end{itemize} - \hyperlink{EUI}{\beamerreturnbutton{Back to EUI 64}} -\end{frame} - -\begin{frame}<1-| beamer:0> - \frametitle{Multicast Adressen} - \framesubtitle{Scope Überblick} - \label{Multicast Scope} - \small{ - Die Scopes haben folgende Bedeutung:\\ - \begin{tabular}{c|c|p{5cm}} - Wert&Scope&Beschreibung\\\hline - 0&reserviert&\\\hline - 1&Interface-Local&Loopback\\\hline - 2&Link Local&nur im lokalen Subnetz\\\hline - 3&Realm-Local&für eine bestimmte Netzwerk-Technologie (zBsp Mesh) \\\hline - 4&Admin-Local&Geltungsbereich vom Router-Admin definiert\\\hline - 5&Site-local& für den Bereich einer lokalen Site\\\hline - 8&Organisation-Local& über mehrere Sites aber gleiches logisches Netz\\\hline - E&Global&Globaler Multicast\\\hline - \end{tabular} - Fehlende Scope sind nicht zugewiesen und dürfen zur Definierung von Multicast-Regionen verwendet werden. - \hyperlink{Multicast}{\beamerreturnbutton{Back to Multicast}}} -\end{frame} - -\begin{frame}<1-| beamer:0>[fragile,shrink] - \frametitle{Das innere der IPv6-Pakete} - \framesubtitle{IPv6-Header} - \label{Header} - \textcolor{realRFC}{RFC 8200} (2017) ursprünglich 1995 \textcolor{realRFC}{RFC 1883} \\ - Größe: 40 Byte (320Bits) - \vspace{0.3cm} +\subsubsection[IPoB]{IPv4 over Buritos} +\begin{frame}[fragile,shrink] + \frametitle{IPv4 over Burrito Carriers} + \framesubtitle{\textcolor{witzRFC}{RFC Draft 2005} IPoBC} + Größe: 20 Byte (160 Bits) + \vspace{0.2cm} \vfill \begin{bytefield}{32} \bitheader{0,4,8,12,16,20,24,28,32} \\ - \bitbox{4}{\color{DarkGreen}Version} & \bitbox{8}{\color{blue}Traffic Class} & \bitbox{20}{\color{blue}Flow Label}\\ - \bitbox{16}{\color{blue}Payload Length} & \bitbox{8}{\color{blue}Next Header} & \bitbox{8}{\color{blue}Hop Limit}\\ - \wordbox{4}{\color{DarkGreen}Quell-IP-Adresse}\\ - \wordbox{4}{\color{DarkGreen}Ziel-IP-Adresse}\\ + \bitbox{4}{\color{orange}\tiny{offensichtlich}} & \bitbox{4}{\color{red}\small{Zwiebel}} & \bitbox{8}{\color{blue}Jalapenos} & \bitbox{16}{\color{blue}Physische Länge (mm)}\\ + \bitbox{16}{\color{red}Nummer auf der Folie} & \bitbox{3}{\color{red}\tiny{Bohnen\\Art}} & \bitbox{13}{\color{red}Anzahl der Bohnen}\\ + \bitbox{8}{\color{blue}{aAz}} & \bitbox{8}{\color{blue}Guacamole} & \bitbox{16}{\color{red}Rezept}\\ + \bitbox{32}{\color{orange}Salat}\\ + \bitbox{32}{\color{orange}Reis}\\ + \bitbox{32}{\color{red}Rindfleisch} \end{bytefield} - \vspace{0.3cm} - legende: Grün auch in ipv4 / Blau verändert in IPv6 -\end{frame} - -\begin{frame}<1-| beamer:0> - \frametitle{Das innere der IPv6-Pakete} - \framesubtitle{Felder des IP-Headers} - \scriptsize{ - \begin{tabular}{p{0.13\textwidth}|l|p{0.76\textwidth}} - Feld & Bit & Beschreibung \\\hline - Version & 4 & Protokoll Version \\\hline - Traffic Class & 8 & Priorität des Pakets beim Routen (Quality of Service / QoS)\\\hline - Flow Label & 20 & Weiterer Marker für QoS bei Echtzeitanwendungen und Streaming. Pakete mit gleichem Flow-Wert werden gleich behandelt.\\\hline - Payload Length & 16 & Netto-Länge des Datenpakets (= Payload + Header Extensions)\\\hline - Next Header & 8 & Identifiziert den Typ des nächsten Kopfdatenbereiches, dieser kann entweder einen Erweiterungs-Kopfdatenbereich oder ein Protokoll höherer Schicht bezeichnen, wie z. B. TCP\\\hline - Hop Limit & 8 & Maximale Anzahl von Router-Durchläufen (Hops). Bei jedem Hop wird dieser Zähler um eins dekrementiert. Beim Stand null wird das Paket verworfen. \\\hline - Quell-IP-Adresse & 128 & An dieser Stelle steht die IP-Adresse der Station, die das IP-Paket abgeschickt hat.\\\hline - Ziel-IP-Adresse & 128 & An dieser Stelle steht die IP-Adresse der Station/Stationen, für die das IP-Paket bestimmt ist.\\\hline - \end{tabular} - \hyperlink{IPoBC}{\beamerreturnbutton{Back to IPoBC}}} + Guten Appetit!\\ + \small{Legende: aAz $=$ angeforderte Auslieferungszeit} \end{frame} -\begin{frame}<1-| beamer:0>[shrink] - \frametitle{Das NDP} - \framesubtitle{Neighbor Discovery Protocol} - \label{NDP} - \textcolor{realRFC}{RFC 4861} - 2007\\ - \textcolor{realRFC}{RFC 9131} - 2021\\ - \textcolor{realRFC}{RFC 3122} - 2001 - \begin{definition} - Wird verwendet um im selben Netz andere Teilnehmer und dazugehörige Informationen zu ermitteln. - \end{definition} - \vspace{-0.3cm} - \begin{itemize} - \item{erlaubt das erkennen von Link Local Adressen} - \item{nutzt ICMP (Internet Controll Message Protocol alias ping)} - \item{ermittelt:} - \begin{itemize} - \item{Präfixe (Prefix Discovery)} - \item{Router (Router Discovery)} - \item{Ermittelt die MTU (maximale Transmission Unit)} - \item{Hop Limit und den nächsten Hop} - \item{Doppelte Adressen (DAD)} - \item{unerreichbare Teilnehmer (NUD)} - \item{Umleitungen (Redirects)} - \end{itemize} - \end{itemize} - \hyperlink{NDP-NUD}{\beamerreturnbutton{Back to Neighbor Discovery Protocol und Neighbor Unreachability Dectection}} - \vspace{0.3cm} -\end{frame} - -%\subsection[NUD]{Neighbor Unreachability Dectection} - -\begin{frame}<1-| beamer:0>[fragile] - \frametitle{Neighbor Unreachability Dectection} - \framesubtitle{Erreichbarkeit der Umgebung} - \label{NUD} - \textcolor{realRFC}{RFC 7048} - 2014\\ - \textcolor{realRFC}{RFC 4861} - 2007 - \begin{definition} - ermittelt, ob die Adresse noch erreichbar ist. - \end{definition} -\begin{itemize} -\item{wird mittels ping(ICMP) ermittelt} -\item{wird benutzt für alle Wege zwischen den Teilnehmern} -\item{wird nur an Teilnehmer mit Unicast Adresse gesendet} -\end{itemize} -\hyperlink{NDP-NUD}{\beamerreturnbutton{Back to Neighbor Discovery Protocol und Neighbor Unreachability Dectection}} -\end{frame} - -%% \subsection[DAD]{Duplicate Address Dectection} - -\begin{frame}<1-| beamer:0>[fragile] - \frametitle{Duplicate Address Dectection} - \framesubtitle{doppelte Addressen aufspüren} - \label{DAD} - \textcolor{realRFC}{RFC 7527} - 2015\\ - \textcolor{realRFC}{RFC 4862} - 2007\\ - \textcolor{realRFC}{RFC 4429} - 2006 - \begin{definition} - Soll Adress Konfikte verhindern, und doppelt vergebene Adressen erkennen. - \end{definition} - \vspace{-0.3cm} - \begin{enumerate} - \item{ermittelte Unicast-Adresse} - \item{sende Neigbour Solicitation-Nachricht (ICMP)} - \item{verwende eine unspezifische Adresse als Quell-Adresse} - %\item{die ermittelte Unicast Adresse wird als Solicited Multicast Adresse umgewandelt und als Zieladresse verwendet} - \item{die gewünschte ermittelte Unicast Adresse wird im ICMP-Packet als Zieladresse mit eingetragen} - \end{enumerate} - \hyperlink{DAD-}{\beamerreturnbutton{Back to Duplicate Address Dectection}} -\end{frame} - -%\subsection[RA/RS]{Router Erkennung mit IPv6} - -\begin{frame}<1-| beamer:0> - \frametitle{Router Erkennung} - \framesubtitle{Router-Solicitation} - \label{RS} - \textcolor{realRFC}{RFC 4861} - 2007 - \begin{definition} - ICMP Multicast-Nachricht mit der ein Router Advertisement angefordert wird. - \end{definition} - \begin{itemize} - \item{wird nach dem aktivieren des Interfaces versendet} - \item{beinhaltet:} - \begin{itemize} - \item{SourceAdresse: IP-Adresse des sendenen Interfaces} - \item{ZielAdresse: all routers multicast Adresse} - \end{itemize} - \end{itemize} - \hyperlink{RA-RS}{\beamerreturnbutton{Back to Router-Solicitation und -Advertisement}} -\end{frame} - -\begin{frame}<1-| beamer:0>[shrink] - \frametitle{Router Erkennung} - \framesubtitle{Router-Advertisement} - \label{RA} - \textcolor{realRFC}{RFC 4861} - 2007 - \vspace{-0.2cm} - \begin{definition} - ICMP Nachricht mit der ein Router sein vorhandensein im Netz bekannt gibt und verschiedene Informationen an die Teilnehmer des Netzes übermittelt. - \end{definition} - \vspace{-0.3cm} - \begin{itemize} - \item{wird in regelmäßigen Abständen gesendet} - \item{ist oft Antwort auf Router-Solicitation} - \item{beinhaltet:} - \begin{itemize} - \item{SourceAdresse: linklocalAdresse des sendenen Interfaces} - \item{ZielAdresse: RouterAdresse oder all-node Multicast Adresse} - \item{derzeitiges Hop Limit} - \item{DHCP erreichbar (Managed Adress configuration flag)} - \item{Router Lifetime: 0 = kein Default Router} - \item{MTU} - \item{Präfix Informationen} - \end{itemize} - \end{itemize} - \hyperlink{RA-RS}{\beamerreturnbutton{Back to Router-Solicitation und -Advertisement}} - \vspace{0.3cm} -\end{frame} +%folien fürs Handout +\section{Handout} -%\subsection{IPoSN} -\begin{frame}<1-| beamer:0> +\subsection{IPoSN} +\begin{frame} + \mode{\addtocounter{framenumber}{-1}} \frametitle{IPv6 over Social Networks} \framesubtitle{Aufbau} - \label{IPoSN} - \textcolor{witzRFC}{RFC 5514} - 2009 + \textcolor{witzRFC}{RFC 5514} - 2009 \begin{definition} Um die IPv6-Geräte zu erhöhen, sollen alle Sozialen Netzwerk Plattformen in IPv6 Netzwerke migriert werden. Damit soll erreicht werden die IPv6 Kenntnisse ebenso zu erhöhen, wie die IPv6 Router. \end{definition} @@ -1518,9 +1549,10 @@ \end{itemize} \end{frame} -\begin{frame}<1-| beamer:0> +\begin{frame} + \mode{\addtocounter{framenumber}{-1}} \frametitle{IPv6 over Social Networks} - \framesubtitle{Funktition} + \framesubtitle{Funktion} \small{ \begin{itemize} \item{Viele Soziale Netzwerk Apps (SNAs) erlauben Plug-Ins} @@ -1533,36 +1565,10 @@ \item{...} \end{itemize} } - \hyperlink{IPoAC}{\beamerreturnbutton{Back to Tauben und Ipv6}} \end{frame} \end{document} -%% \subsection[IPoB]{IPv4 over Buritos} -%% \begin{frame}[fragile,shrink] -%% \frametitle{IPv4 over Burrito Carriers} -%% \framesubtitle{\textcolor{RedViolet}{RFC Draft 2005} IPoBC} -%% \label{IPoBC} -%% Größe: 20 Byte (160 Bits) -%% \vspace{0.2cm} -%% \vfill -%% \begin{bytefield}{32} -%% \bitheader{0,4,8,12,16,20,24,28,32} \\ -%% \bitbox{4}{\color{green}\tiny{offensichtlich}} & \bitbox{4}{\color{red}\small{Zwiebel}} & \bitbox{8}{\color{blue}Jalapenos} & \bitbox{16}{\color{blue}Phyische Länge (mm)}\\ -%% \bitbox{16}{\color{red}Nummer auf der Folie} & \bitbox{3}{\color{red}\tiny{Bohnen\\Art}} & \bitbox{13}{\color{red}Anzahl der Bohnen}\\ -%% \bitbox{8}{\color{blue}{aAz}} & \bitbox{8}{\color{blue}Guacamole} & \bitbox{16}{\color{red}Rezept}\\ -%% \bitbox{32}{\color{green}Salat}\\ -%% \bitbox{32}{\color{green}Reis}\\ -%% \bitbox{32}{\color{red}Rindfleisch} -%% \end{bytefield} -%% Guten Appetit!\\ -%% \small{Legende: aAz $=$ angeforderte Auslieferungszeit} -%% \only<|beamer:0>{\hyperlink{Header}{\beamergotobutton{IPv6-Header}}} -%% \end{frame} - - - - % LocalWords: IPv Powershell Identifier