diff --git a/doc/Introduction.tex b/doc/Introduction.tex index 847f682..1ba1216 100644 --- a/doc/Introduction.tex +++ b/doc/Introduction.tex @@ -8,7 +8,7 @@ In this chapter we give an introduction about the topic of the master thesis, the motivation and problemes that we address. % ---------------------------------------------------------------------- -\section{\label{introduction:motivation}Motivation} +\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}, @@ -27,12 +27,12 @@ exhaustion for 2020 (see figure \ref{fig:lacnicexhaust}). \end{figure} On the other hand IPv6 adoption grows significantly, with at least -three contries (India, US, Belgium) surpassing 50\% adoption +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}). +of 2019-08-08 (\cite{google:_ipv6_googl}, see figure \ref{fig:googlev6}). \begin{figure}[h] \includegraphics[scale=0.2]{googlev6} @@ -42,6 +42,34 @@ of 2019-08-08 (\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 diff --git a/doc/Makefile b/doc/Makefile index cb3eecc..86acd3d 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -10,3 +10,9 @@ all: clean: rm -f *.dvi *.log *.aux *.bbl *.blg *.toc *.lof *.lot *.cb *.~ + +all-graphviz: + for dot in graphviz/*.dot; do make $${dot%%.dot}.png; done + +graphviz/%.png: graphviz/%.dot + dot -Tpng < $< > $@ diff --git a/doc/Thesis.tex b/doc/Thesis.tex index 901cf6f..8e5fca2 100644 --- a/doc/Thesis.tex +++ b/doc/Thesis.tex @@ -54,7 +54,8 @@ % references are stored in refs/refs.bib % use a bibliography manager like JabRef (http://jabref.sourceforge.net/) to manage refs/refs.bib \bibliographystyle{abbrv} -\bibliography{refs/refs} +\bibliography{refs/refs, refs/rfc} + %** end the document environment \end{document} diff --git a/doc/appendix.tex b/doc/appendix.tex index 0696187..d2d27b6 100644 --- a/doc/appendix.tex +++ b/doc/appendix.tex @@ -1496,3 +1496,5 @@ root@ESPRIMO-P956:~# \printnomenclature \abbrev{RIR}{Regional Internet Registry} +\abbrev{NAT}{Network Address Translation} +\abbrev{NAT64}{Network Address Translation from / to IPv6 to / from IPv4} diff --git a/doc/graphviz/test.dot b/doc/graphviz/test.dot new file mode 100644 index 0000000..1a95a64 --- /dev/null +++ b/doc/graphviz/test.dot @@ -0,0 +1,3 @@ +digraph G { + Hello->World; +} diff --git a/doc/graphviz/test.png b/doc/graphviz/test.png new file mode 100644 index 0000000..d5342df Binary files /dev/null and b/doc/graphviz/test.png differ diff --git a/doc/plan.org b/doc/plan.org index 0dd610e..c342b92 100644 --- a/doc/plan.org +++ b/doc/plan.org @@ -9250,7 +9250,8 @@ nico@nsg-System:~/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/project *** RFC 6052: https://tools.ietf.org/html/rfc6052 IPv6 Addressing of IPv4/IPv6 Translators - first NAT64?? *** RFC 6145 IP/ICMP Translation Algorithm - Obsoleted by 7915 -*** RFC 6146 Stateful nat http://tools.ietf.org/html/rfc6146 +*** DONE RFC 6146 Stateful nat http://tools.ietf.org/html/rfc6146 + CLOSED: [2019-08-09 Fri 10:29] - Referenced from Jool *** RFC 6147 DNS64 https://tools.ietf.org/html/rfc6147 *** RFC 6586 for deployment experiences using Stateful NAT64. diff --git a/doc/preamble.tex b/doc/preamble.tex index b780ea9..ec45006 100644 --- a/doc/preamble.tex +++ b/doc/preamble.tex @@ -136,3 +136,5 @@ } \makeatother \fi + +%\usepackage[pdf]{graphviz} diff --git a/doc/refs/refs.bib b/doc/refs/refs.bib index 73626e7..a61ef50 100644 --- a/doc/refs/refs.bib +++ b/doc/refs/refs.bib @@ -42,3 +42,9 @@ author = {Akamai}, title = {IPv6 Adoption Visualization}, howpublished = {\url{https://www.akamai.com/us/en/resources/our-thinking/state-of-the-internet-report/state-of-the-internet-ipv6-adoption-visualization.jsp#countries}}} + +@Misc{wikipedia:_ipv6, + author = {Wikipedia}, + title = {IPv6 transition mechanism}, + howpublished = {\url{https://en.wikipedia.org/wiki/IPv6_transition_mechanism}}, + note = {As requested on 2019-08-08}}