%** Introduction.tex: Contains an introduction to % the topic and motivates the work. % State what the reader can find where. \chapter{\label{introduction}Introduction} In this chapter we give an introduction about the topic of the master thesis, the motivation and problemes that we address. % ---------------------------------------------------------------------- \section{\label{introduction:ipv4ipv6}IPv4 exhaustion and IPv6 adoption} The Internet has almost completely run out of public IPv4 space. The 5 Regional Internet Registries (RIRs) report IPv4 exhaustion world wide (\cite{ripe_exhaustion}, \cite{apnic_exhaustion}, \cite{lacnic:_ipv4_deplet_phases}, \cite{afrinic:_afrin_ipv4_exhaus}, \cite{arin:_ipv4_addres_option}) and LACNIC project complete exhaustion for 2020 (see figure \ref{fig:lacnicexhaust}). \begin{figure}[h] \includegraphics[scale=0.7]{lacnicdepletion} \centering \caption{LACNIC Exhaustion projection, \cite{lacnic:_ipv4_deplet_phases}} \label{fig:lacnicexhaust} \end{figure} On the other hand IPv6 adoption grows significantly, with at least three countries (India, US, Belgium) surpassing 50\% adoption (\cite{akamai:_ipv6_adopt_visual}, \cite{vyncke:_ipv6_deploy_aggreg_status}). \cite{cisco:_ipv6}). Traffic from Google users reaches almost 30\% as of 2019-08-08 (\cite{google:_ipv6_googl}, see figure \ref{fig:googlev6}). \begin{figure}[h] \includegraphics[scale=0.2]{googlev6} \centering \caption{Google IPv6 Statistics, \cite{google:_ipv6_googl}} \label{fig:googlev6} \end{figure} % ---------------------------------------------------------------------- \section{\label{introduction:motivation}Motivation} IPv6 nodes and IPv4 nodes cannot directly connect to each other, because the protocols are incompatible to each other. To allow communication between different protocol nodes, several transition mechanism have been proposed \cite{wikipedia:_ipv6}, \cite{rfc4213}. However installation and configuration of the transition mechanism usually require in depth knowledge about both protocols and require additional hardware to be added in the network. In this thesis we show an in-network transition method based on NAT64 \cite{rfc6146}. Compared to traditional NAT64 methods which require an extra device in the network, our proposed method is transparent to the user. This way neither the operator nor the end user has to configure extra devices, besides the are incompatible protocols (i.e. host connected by IPv4 only cannot cannot directly connect to IPv6 hosts and vice versa), In this master thesis we focus on the mechanism ``NAT64'' that translates This development motivates companies and users Make it easier take away burden In theory line speed - what is reality? The motivation to write this thesis was... IPv6 P4 Introduce the related research field/the project. \section{\label{introduction:taskdescription}The Task} P4 environment a lot of potential Programming language in the network Not only faster, but also more convienient. **** High speed NAT64 with P4 Currently there are two main open source NAT64 solution available: tayga and jool. The former is a single threaded, cpu bound user space solution, the latter a custom Linux kernel module. This thesis challenges this status quo by developing a P4 based solution supporting all features of jool/tayga and comparing the performance, security and adaptivity of the solutions. - Milestone 1: Stateless NAT64/NAT46 translations in P4 - Milestone 2: Stateful (dynamic) NAT64/NAT46 translations - Milestone 3: Hardware adaption Describe your task. \section{\label{introduction:overview}Overview} Chapter 2 describes... Chapter 3 presents... %** Problem.tex: Documentation in own words of the problem to % be addressed in this document: % What is the challenge, why is it useful what you % plan to do. %% In \ref{introduction} we start with our introduction to the problem that we %% are going to address. Since we do not want to waste the readers time we %% go and show the essential issues of latex in section %% \ref{chapter2:essentials}. \section{\label{chapter2:linespeed}Line Speed NAT64} NAT64 in software is CPU bound. Hardware can potentially do this at line speed. \section{\label{chapter2:transitition}Simplify IPv6 deployments} Currently network operators have to focus on two network stacks when designing networks: IPv6 and IPv4. As To simplify network setups \section{todo} \begin{verbatim} ***** Motivation zeigen ***** IPv6, NetPFGA mehr Möglichketien ***** P4 erwähnen ***** Task gut zu zeigen, alles erreicht use cases / sample applications \end{verbatim}