257 lines
7.1 KiB
TeX
257 lines
7.1 KiB
TeX
\documentclass{f4_beamer}
|
|
\usepackage{graphicx}
|
|
\usepackage{float}
|
|
\usepackage{subfigure}
|
|
\usepackage{xspace}
|
|
\usepackage{textcomp}
|
|
\usepackage{tabularx}
|
|
\usepackage{booktabs}
|
|
\usepackage{amsmath}
|
|
\usepackage{subfigure}
|
|
\usepackage{here}
|
|
\usepackage{verbatim}
|
|
\usepackage{listings}
|
|
\usepackage{url}
|
|
\usepackage{xcolor}
|
|
\usepackage{caption}
|
|
\usepackage[autostyle=true,german=quotes]{csquotes}
|
|
|
|
% Suppress numbering captions
|
|
\captionsetup{labelformat=empty}
|
|
|
|
% Setup für Codeblocks
|
|
\lstset{
|
|
% Optionen
|
|
breaklines=true,
|
|
breakatwhitespace=true,
|
|
breakautoindent=true,
|
|
frame=single,
|
|
%framexleftmargin=19pt,
|
|
inputencoding=utf8,
|
|
%language=awk,
|
|
%numbers=left,
|
|
%numbersep=8pt,
|
|
showspaces=false,
|
|
showstringspaces=false,
|
|
tabsize=1,
|
|
%xleftmargin=19pt,
|
|
captionpos=b,
|
|
% Styling
|
|
basicstyle=\footnotesize\ttfamily,
|
|
commentstyle=\footnotesize,
|
|
keywordstyle=\footnotesize\ttfamily,
|
|
numberstyle=\footnotesize,
|
|
stringstyle=\footnotesize\ttfamily,
|
|
}
|
|
% Hack für Sonderzeichen in Codeblocks
|
|
\lstset{literate=%
|
|
{Ö}{{\"O}}1
|
|
{Ä}{{\"A}}1
|
|
{Ü}{{\"U}}1
|
|
{ß}{{\ss}}1
|
|
{ü}{{\"u}}1
|
|
{ä}{{\"a}}1
|
|
{ö}{{\"o}}1
|
|
{°}{{${^\circ}$}}1
|
|
}
|
|
|
|
% Define colors
|
|
\definecolor{hlr}{RGB}{255,180,180}
|
|
\definecolor{hlg}{RGB}{180,255,180}
|
|
\definecolor{hlb}{RGB}{180,180,255}
|
|
|
|
\mode<presentation>
|
|
\title{IPv6}
|
|
\subtitle{Einführung und Sicherheitsaspekte}
|
|
\author{Jan Philipp Timme}
|
|
\date{\today}
|
|
|
|
\begin{document}
|
|
\tableofcontents[hideallsubsections]
|
|
|
|
\section{Einstieg IPv6}
|
|
|
|
\begin{frame}{Neuigkeiten mit IPv6}
|
|
\begin{itemize}
|
|
\item 128 Bit Adressraum
|
|
\item Neu: Link-lokale Adressen
|
|
\item Multicast anstelle von Broadcast
|
|
\item ICMPv6 für Betrieb essentiell
|
|
\item Konfiguration via SLAAC und DHCPv6
|
|
\item Router Advertisments
|
|
\item Vollwertiges Routing, kein NAT!
|
|
\item Paketfragmentierung nur noch durch den Absender
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}{Notation und Kurzschreibweise}
|
|
Gegeben: IPv6-Adresse
|
|
\texttt{2001:0db8:2407:08d3:0000:0000:0000:1234} \newline
|
|
\newline
|
|
1) Führende Nullen streichen \newline
|
|
\texttt{2001:\colorbox{hlb}{0}db8:2407:\colorbox{hlb}{0}8d3:\colorbox{hlb}{000}0:\colorbox{hlb}{000}0:\colorbox{hlb}{000}0:1234} \newline
|
|
$\Rightarrow$ \texttt{2001:db8:2407:8d3:0:0:0:1234} \newline
|
|
\newline
|
|
2) Zusammenhängende Nullsegmente mit \texttt{::} ersetzen
|
|
\texttt{2001:db8:2407:8d3:\colorbox{hlb}{0:0:0}:1234} \newline
|
|
$\Rightarrow$ \texttt{2001:db8:2407:8d3::1234} \newline
|
|
\newline
|
|
Ergebnis kürzer, aber dennoch zu lang $\rightarrow$ DNS!
|
|
\end{frame}
|
|
|
|
\begin{frame}{Beispiel für Zuweisung von Netzen}
|
|
\begin{itemize}
|
|
\item ISP bekommt ein \texttt{\colorbox{hlr}{/24}} Präfix zugewiesen
|
|
\begin{itemize}
|
|
\item Kann über $128 - \texttt{\colorbox{hlr}{24}} = 104$ Bit Suffix verfügen
|
|
\end{itemize}
|
|
\item ISP weist Kunden ein \texttt{\colorbox{hlb}{/56}} Präfix aus seinem \texttt{\colorbox{hlr}{/24}} Präfix zu
|
|
\item Kundenrouter weist jedem Subnetz ein \texttt{\colorbox{hlg}{/64}}-Präfix\footnote{Empfohlene Größe für alle Subnetze, siehe RFC 6177} zu
|
|
\end{itemize}
|
|
\texttt{2001:0d\colorbox{hlr}{b8:2407:08\colorbox{hlb}{d3:\colorbox{hlg}{0000:0000:0000:1234}}}/\colorbox{hlg}{64}} \newline
|
|
\newline
|
|
Anzahl \texttt{\colorbox{hlb}{/56}} Präfixe für Kunden: $2^{104-56} = 2^{48} = \colorbox{hlr}{281.474.976.710.656}$ \newline
|
|
Anzahl \texttt{\colorbox{hlg}{/64}} Subnetze für einen Kunden: $2^{8} = \colorbox{hlb}{256}$ \newline
|
|
Anzahl Adressen pro Subnetz: $2^{64} = \colorbox{hlg}{18.446.744.073.709.551.616}$ \newline
|
|
(Etwa 18 Trilliarden Geräte passen in ein Subnetz)
|
|
|
|
\end{frame}
|
|
|
|
\begin{frame}{Adressen: Präfixe und Suffixe\footnote{Siehe RFC 4291, Kapitel 2.3.}}
|
|
Notation wie Classless Inter-domain Routing (CIDR\footnote{RFC 4632}) bei IPv4 \newline
|
|
\newline
|
|
IPv6-Adresse mit angegebener Präfix-Länge: \texttt{2001:db8:2407:8d3::1234/\colorbox{hlr}{64}} \newline
|
|
\newline
|
|
Bedeutung: Präfix mit \colorbox{hlr}{64} Bit Länge fest vorgegeben
|
|
$\Rightarrow$ Übriges Suffix mit (128 - \colorbox{hlr}{64}) = \colorbox{hlg}{64} Bit Länge frei zur Verwendung
|
|
\newline
|
|
|
|
\texttt{\colorbox{hlr}{2001:0db8:2407:08d3}:\colorbox{hlg}{0000:0000:0000:1234}/\colorbox{hlr}{64}} \newline
|
|
|
|
\end{frame}
|
|
|
|
|
|
\subsection{Adressklassen}
|
|
|
|
\begin{frame}{Adressklassen: Unspezifizierte Adresse\footnote{Siehe RFC 4291, Kapitel 2.5.2.}}
|
|
Aus IPv4 bekannt als \texttt{0.0.0.0/0} \newline
|
|
\newline
|
|
In IPv6: \texttt{0000:0000:0000:0000:0000:0000:0000:0000} (kurz: \texttt{::}) \newline
|
|
\begin{itemize}
|
|
\item Zeigt das Fehlen einer Adresse an
|
|
\item \dots oder signalisiert Erreichbarkeit eines Sockets auf allen Adressen eines Geräts
|
|
\item Darf nie einem Gerät zugewiesen werden
|
|
\item Als Quelladresse für Pakete erlaubt
|
|
\begin{itemize}
|
|
\item \dots sofern Rechner noch keine IPv6-Adresse besitzt
|
|
\item \dots diese dürfen dann nicht geroutet werden
|
|
\end{itemize}
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}{Adressklassen: Loopback Adresse\footnote{Siehe RFC 4291, Kapitel 2.5.3.}}
|
|
Aus IPv4 bekannt als \texttt{127.0.0.1/8} \newline
|
|
\newline
|
|
\texttt{0000:0000:0000:0000:0000:0000:0000:0001} (kurz: \texttt{::1})
|
|
\newline
|
|
\begin{itemize}
|
|
\item Wie bereits aus IPv4 bekannt
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
|
|
\begin{frame}{Adressklassen: Link-lokale Unicast Adresse\footnote{Siehe RFC 4291, Kapitel 2.5.6.}}
|
|
Ähnlich zu \texttt{169.254.0.0/16} \newline
|
|
\newline
|
|
Bereich: \texttt{fe80::/64} \newline
|
|
Beispiel: \texttt{fe80::7ae4:ff:fecf:8a50/64}
|
|
\newline
|
|
\begin{itemize}
|
|
\item Gilt nur innerhalb der Broadcast-Domäne eines Interface
|
|
\item Darf nicht geroutet werden
|
|
\item Für Tätigkeiten auf dem lokalen Link
|
|
\begin{itemize}
|
|
\item Neighbor Dicovery
|
|
\item Automatic Address Configuration
|
|
\end{itemize}
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
|
|
\begin{frame}{Adressklassen: Lokale Unicast Adresse (LUA)\footnote{Siehe RFC 4291, Kapitel 2.5.4.}}
|
|
Analog zu global gerouteter IPv4-Adresse \newline
|
|
\newline
|
|
\texttt{2001:db8:2407:8d3::1234}
|
|
\newline
|
|
\begin{itemize}
|
|
\item Wie bereits aus IPv4 bekannt
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
|
|
\begin{frame}{Adressklassen: Globale Unicast Adresse (GUA)\footnote{Siehe RFC 4291, Kapitel 2.5.4.}}
|
|
Analog zu global gerouteter IPv4-Adresse \newline
|
|
\newline
|
|
\texttt{2001:db8:2407:8d3::1234}
|
|
\newline
|
|
\begin{itemize}
|
|
\item Wie bereits aus IPv4 bekannt
|
|
\item Global erreichbare Adresse
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}[fragile]{}
|
|
\begin{lstlisting}
|
|
jpt@server:~$ ip -6 addr show eth0
|
|
4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
|
|
inet6 2001:41d0:8:9147::1/128 scope global
|
|
valid_lft forever preferred_lft forever
|
|
inet6 fe80::222:4dff:fe82:dbff/64 scope link
|
|
valid_lft forever preferred_lft forever
|
|
\end{lstlisting}
|
|
|
|
\begin{lstlisting}
|
|
jpt@server:~$ ip -6 route show
|
|
2001:41d0:8:9147::1 dev eth0 proto kernel metric 256
|
|
2001:41d0:8:91ff:ff:ff:ff:ff dev eth0 metric 1024
|
|
fe80::/64 dev eth0 proto kernel metric 256
|
|
default via 2001:41d0:8:91ff:ff:ff:ff:ff dev eth0 metric 1024
|
|
\end{lstlisting}
|
|
\end{frame}
|
|
|
|
\section{Hauptteil}
|
|
\begin{frame}{TODO}
|
|
\begin{itemize}
|
|
\item TODO
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\section{Schluss}
|
|
\begin{frame}{TODO}
|
|
\begin{itemize}
|
|
\item TODO
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}{}
|
|
\begin{itemize}
|
|
\item
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}{}
|
|
\begin{itemize}
|
|
\item
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}{}
|
|
\begin{itemize}
|
|
\item
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
|
|
|
|
% The end.
|
|
\end{document} |