Cleanup theses doc, write abstract

This commit is contained in:
Nico Schottelius 2019-07-29 19:13:47 +02:00
parent 3ffc8d85a1
commit c03640cf59
15 changed files with 131 additions and 205 deletions

3
doc/.gitignore vendored
View File

@ -7,3 +7,6 @@ plan.tex
*.lot
*.out
*.toc
Thesis.bbl
Thesis.blg
Thesis.blg

View File

@ -1,21 +1,20 @@
%****************************************************************************
%** Copyright 2002 by Lukas Ruf, ruf@topsy.net
%** Information is provided under the terms of the
%** GNU Free Documentation License http://www.gnu.org/copyleft/fdl.html
%** Fairness: Cite the source of information, visit http://www.topsy.net
%****************************************************************************
%** Last Modification: 2005-07-11 1600
%** 2005-07-11 Bernhard Tellenbach
%** Inserted new content
%****************************************************************************
\clearpage
\null
\vfil % or it might be \null
\thispagestyle{plain}
%** Abstract.tex: Contains a brief description
% of what the reader may expect
\begin{center}\textbf{Abstract}\end{center}
In journal articles, research papers, published patent applications and patents, an abstract is a short summary placed prior to the introduction, often with different line justification (blockquote) from the rest of the article, used to help readers determine the purpose of the paper. While the length of the abstract varies by field of study, it is typically a paragraph in length (3-5 sentences), and never more than a page. See
\url{en.wikipedia.org/wiki/Abstract(summary)} for details
Due to the lack of IPv4 addresses, IPv6 deployements have recently
gained in importance in the Internet. However even IPv6 only network
deployments usually need connectivity towards the legacy IP (IPv4)
networks. To allow legacy IP and IPv6 devices to communicate with each
other a transition mechanism named ``NAT64'' is usually
deployed. However NAT64 solutions in software often don't reach line
rate. Programmable switches offer a possibility to implement NAT64 in
the network. This master thesis shows the design, feasibility and
scalability of NAT64 on programmable switches.
\vfil
\clearpage

View File

@ -1,2 +1,6 @@
\chapter{\label{design}Title}
\chapter{\label{design}Design}
Description of the theory/software/hardware that you designed.
%** Design.tex: How was the problem attacked, what was the design
% the architecture
Maybe figures here?

View File

@ -1,25 +1,42 @@
%****************************************************************************
%** Copyright 2002 by Lukas Ruf, ruf@topsy.net
%** Information is provided under the terms of the
%** GNU Free Documentation License http://www.gnu.org/copyleft/fdl.html
%** Fairness: Cite the source of information, visit http://www.topsy.net
%****************************************************************************
%** Introduction.tex: Contains an introduction to
% the topic and motivates the work.
% State what the reader can find where.
%Example structure for an introduction
%****************************************************************************
%** Copyright 2002, 2003 by Lukas Ruf, <ruf@topsy.net>
%** Information is provided under the terms of the
%** GNU Free Documentation License <http://www.gnu.org/copyleft/fdl.html>
%** Fairness: Cite the source of information, visit <http://www.topsy.net>
%****************************************************************************
\chapter{\label{introduction}Introduction}
IPv6 P4
Introduce the related research field/the project.
\section{\label{introduction:motivation}Motivation}
IPv6 deployments grow
Make it easier
take away burden
In theory line speed - what is reality?
The motivation to write this thesis was...
\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:relatedwork}Related Work}

View File

@ -1,2 +1,6 @@
\chapter{\label{originalproblem}Title}
Here comes the original task description that you agreed on with your supervisor/tutor.
\chapter{\label{originalproblem}Original Problem}
Here comes the original task description that you agreed on with your
supervisor/tutor.
-> stuff from mystudies

View File

@ -1,2 +1,7 @@
\chapter{\label{outlook}Title}
\chapter{\label{outlook}Outlook}
%** Outlook.tex: What needs to be done further, what is planed
%
What are the consequences of your work for future work?
Different HW

View File

@ -1,19 +1,10 @@
%****************************************************************************
%** Copyright 2002 by Lukas Ruf, ruf@topsy.net
%** Information is provided under the terms of the
%** GNU Free Documentation License http://www.gnu.org/copyleft/fdl.html
%** Fairness: Cite the source of information, visit http://www.topsy.net
%****************************************************************************
%****************************************************************************
%** Last Modification: 2005-07-11 1600
%** 2005-07-11 Bernhard Tellenbach
%** This is an addapted version of the Introduction.tex file
%** Added table example (footnotes,multicolumn)
%** Examples for different text sizes
%** Updated eps file inclusion example for use with graphicx pkt.
%****************************************************************************
\chapter{\label{chapter2}Problem / latex samples}
%** 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.
\chapter{\label{chapter2}Title}
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
@ -99,4 +90,3 @@ Of some interest is also the landscape environment:
\verbatiminput{filename.txt}
Even though we don't think full listings are useful in documents,
you can easily insert complete files by the verbatiminput{}-command.

View File

@ -1,2 +1,12 @@
\chapter{\label{results}Title}
\chapter{\label{results}Results}
%** Results.tex: What were the results achieved including an evaluation
%
The results from your evaluations.
\begin{itemize}
\item Solution in P4/BMV2
\item Solution in P4/NetFPGA
\end{itemize}
Many workarounds

View File

@ -1,3 +1,6 @@
\chapter{\label{summary}Title}
Sum up what you have done and recapitulate your key findings.
\chapter{\label{summary}Summary}
%** Summary.tex: What have you achieved, what have you presented in this
% document. What are the highlights of your work.
% It should conclude by a conclusion.
Sum up what you have done and recapitulate your key findings.

View File

@ -1,25 +1,4 @@
%%****************************************************************************
%** Copyright 2002, 2003 by Lukas Ruf, <ruf@topsy.net>
%** Information is provided under the terms of the
%** GNU Free Documentation License <http://www.gnu.org/copyleft/fdl.html>
%** Fairness: Cite the source of information, visit <http://www.topsy.net>
%****************************************************************************
%** Last Modification: 2013-07-31
%** 2005-07-11 Bernhard Tellenbach
%** Switched default document class to: book
%** Added \include{appendix.tex}
%** 2013-07-31 David Gugelmann (gugdavid)
%** Use bibtex for references
%** Added new watermark command
%****************************************************************************
\documentclass[10pt,final,a4paper,twoside]{book}
%\documentclass[10pt,draft,a4paper,oneside]{report}
%\documentclass[10pt,draft,a4paper,oneside]{article}
%**Latex Master Document*********
\newcommand{\watermark}{DRAFT} % a watermark is included on all pages if \watermark is defined here
@ -43,69 +22,29 @@
%**Documentation****************
%** Abstract.tex: Contains a brief description
% of what the reader may expect
\include{Abstract}
%** Table of Contents
\tableofcontents
%** Table of Figures
\listoffigures
%** Table of Figures
\listoftables
%** Introduction.tex: Contains an introduction to
% the topic and motivates the work.
% State what the reader can find where.
\include{Introduction}
%** 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.
\include{Problem}
%** Design.tex: How was the problem attacked, what was the design
% the architecture
\include{Design}
%** Results.tex: What were the results achieved including an evaluation
%
\include{Results}
%** Outlook.tex: What needs to be done further, what is planed
%
\include{Outlook}
%** Summary.tex: What have you achieved, what have you presented in this
% document. What are the highlights of your work.
% It should conclude by a conclusion.
\include{Summary}
%** Switch to appendix-mode in Latex.
%
\appendix
%** I would like to have the appendices enumerated by Alphabetical
% characters.
\renewcommand{\thepart}{\Alph{part}}
%** appendix.tex: Install instructions, configurations, test results,
% simulation data, additional theoretical disquisitions, ...
%
\include{appendix}
%** Timetable.tex: Timetable you worked out.
%
\include{Timetable}
%** Originalproblem.tex: The problem statement you received.
%
\include{Originalproblem}
%** bibtex is used to automatically generate the bibliography
% references are stored in refs/refs.bib
% use a bibliography manager like JabRef (http://jabref.sourceforge.net/) to manage refs/refs.bib

View File

@ -1,2 +1,3 @@
\chapter{\label{timetable}Title}
\chapter{\label{timetable}Timetable (?)}
Here may come your thesis schedule (the original plan and ev. the actual outcome).
-> can be from plan.org

View File

@ -1,20 +1,3 @@
%****************************************************************************
%** Copyright 2002 by Lukas Ruf, ruf@topsy.net
%** Information is provided under the terms of the
%** GNU Free Documentation License http://www.gnu.org/copyleft/fdl.html
%** Fairness: Cite the source of information, visit http://www.topsy.net
%****************************************************************************
%** Extensions:
%** January 2003: Thomas Duebendorfer <thomas@duebendorfer.ch>
%** changed the former ETH Header to the new, official one that is
%** mandatory since January 2003.
%****************************************************************************
%****************************************************************************
%** Extensions:
%** January 2005: Bernhard Tellenbach <bernhard.tellenbach@airmail.ch>
%** changed the way the ETH Header is included. Slight modification of the
%** content.
%****************************************************************************
\begin{titlepage}
\begin{center}
@ -25,20 +8,19 @@
\vspace{2 cm}
{\large FirstName Name}
{\large Nico Schottelius}
\vspace{2 cm}
{\Huge Thesis Title}\\
{\Huge High speed NAT64 with P4}\\
\vspace{\fill}
(Master/Semester) Thesis (MA/SA)-20XX-XX\\
July 2005 to January 2006\\
Master Thesis MA-2019S\\
February 2019 to August 2019\\
\vspace{1cm}
Tutor: \\
Co-Tutor: \\
Supervisor: \\
Tutors: Alexander Dietmüller, Edgar Costa Molero\\
Supervisor: Prof. Dr. Laurent Vanbever\\
\end{titlepage}

View File

@ -1,14 +1,4 @@
%%****************************************************************************
%** Copyright 2005 by Bernhard Tellenbach, <bernhard.tellenbach@airmail.ch>
%** Information is provided under the terms of the
%** GNU Free Documentation License <http://www.gnu.org/copyleft/fdl.html>
%****************************************************************************
%****************************************************************************
%** Last Modification: 2005-07-11 1600
%** 2005-07-11 Updated the syntax to match the current nomencl packet
%****************************************************************************
\chapter{\label{appendixA}Title}
\chapter{\label{appendixA}Appendix A should have a title}
\section{\label{chapterA:section1}Section 1}
@ -20,7 +10,7 @@ Page boundaries are not checked.................................................
\end{verbatim}
\chapter{\label{appendixB}Title}
\chapter{\label{appendixB}Appendix B?}
%Entries for the list of abbrevations:
@ -38,5 +28,3 @@ Page boundaries are not checked.................................................
\printnomenclature
\abbrev{XCA}{\markup{X}tremely \markup{C}ool \markup{A}bbrevations}

View File

@ -7267,7 +7267,8 @@ success
*** DONE 2019-07-28: ping6 test for getting packet: failure
CLOSED: [2019-07-28 Sun 12:43]
*** TODO 2019-07-28: !!!!!!! NETPFGA PORT MAPPINGS
*** DONE 2019-07-28: !!!!!!! NETPFGA PORT MAPPINGS
CLOSED: [2019-07-29 Mon 18:35]
nf_port_map = {
"nf0":0b00000001,
"nf1":0b00000100,
@ -7309,7 +7310,8 @@ success
#+END_CENTER
*** TODO 2019-07-28: and another bug in the table code: invalid literal for int() with base 0:
*** DONE 2019-07-28: and another bug in the table code: invalid literal for int() with base 0:
CLOSED: [2019-07-29 Mon 18:35]
#+BEGIN_CENTER
>> table_cam_delete_entry realmain_v6_networks_0 42540766411362381960998550477184434180
@ -7387,7 +7389,8 @@ success
#+END_CENTER
*** TODO 2019-07-28: test with 6.8: very bare / only v4/v6 egress
*** DONE 2019-07-28: test with 6.8: very bare / only v4/v6 egress
CLOSED: [2019-07-29 Mon 18:35]
- Expected: 1 -> nsg, 16 -> enp2s0f0, 64 -> enp2s0f1
- Actual@ no packet seen
@ -7408,7 +7411,8 @@ nico@ESPRIMO-P956:~$
#+END_CENTER
*** TODO 2019-07-28: test ipv4 with 6.8
*** DONE 2019-07-28: test ipv4 with 6.8
CLOSED: [2019-07-29 Mon 18:35]
#+BEGIN_CENTER
nico@ESPRIMO-P956:~/master-thesis/netpfga$ sudo ip neigh del 10.0.0.1 dev enp2s0f0
nico@ESPRIMO-P956:~/master-thesis/netpfga$ sudo ip neigh add 10.0.0.1 dev enp2s0f0 lladdr f8:f2:1e:41:44:9c
@ -7753,7 +7757,6 @@ nico@nsg-System:~$
CLOSED: [2019-07-28 Sun 19:37]
*** DONE 2019-07-28: direct loading works / no 2nd reboot necessary
CLOSED: [2019-07-28 Sun 19:50]
#+BEGIN_CENTER
@ -7811,7 +7814,8 @@ nico@nsg-System:~/master-thesis$
#+END_CENTER
*** TODO 2019-07-28: v4_networks only test [v6.9]: set_egress_port(4) => does not exit anywhere; table for port1 does not work?
*** DONE 2019-07-28: v4_networks only test [v6.9]: set_egress_port(4) => does not exit anywhere; table for port1 does not work?
CLOSED: [2019-07-29 Mon 18:35]
#+BEGIN_CENTER
>> list_cam_tables
----------------------
@ -7979,7 +7983,8 @@ nico@ESPRIMO-P956:~/master-thesis/bin$ for i in $(seq 1 64); do (ping -c1 10.0.0
#+END_CENTER
*** TODO 2019-07-29: v7.0: ping6 seen on eth1 of nsg -> port 1 == itself -> everything to p1
*** DONE 2019-07-29: v7.0: ping6 seen on eth1 of nsg -> port 1 == itself -> everything to p1
CLOSED: [2019-07-29 Mon 18:35]
#+BEGIN_CENTER
⚡ root  root tcpdump -ni1eth1
tcpdump: verboseoutput suppressed, use -v or -vv for full protocol decode
@ -7993,7 +7998,8 @@ listening on eth1, link-type EN10MB (Ethernet), capture size 262144 bytes
#+END_CENTER
*** TODO 2019-07-29: after recompiling with default = 16, icmp4 seen on eth1 of nsg
*** DONE 2019-07-29: after recompiling with default = 16, icmp4 seen on eth1 of nsg
CLOSED: [2019-07-29 Mon 18:35]
eth1@nsg:
#+BEGIN_CENTER
@ -8011,11 +8017,13 @@ eth1@nsg:
reflashing switch
*** TODO 2019-07-29: try to set egress to anything that is not 1
*** DONE 2019-07-29: try to set egress to anything that is not 1
CLOSED: [2019-07-29 Mon 18:35]
- ..hardcoded: sets to 4 (default) 16 (natted v4->v6) 64 (natted
v6->v4)
- ... dummy: 1 for arp, 1 for v4, 16 for v6
*** TODO 2019-07-29: fix precedence
*** DONE 2019-07-29: fix precedence
CLOSED: [2019-07-29 Mon 18:35]
#+BEGIN_CENTER
make[1]: Entering directory '/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/src'
p4c-sdnet -o minip4.sdnet --sdnet_info .sdnet_switch_info.dat minip4_solution.p4
@ -8028,7 +8036,8 @@ netpfga_dummy.p4(20): warning: >>: shifting value with 8 bits by 11
netpfga_dummy.p4(20): warning: >>: shifting value with 8 bits by 11
sume_metadata.dst_port = (bit<8>) hdr.ethernet.ethertype >> 11;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*** TODO 2019-07-29: set egress based on v4/v6 header: v7.1
*** DONE 2019-07-29: set egress based on v4/v6 header: v7.1
CLOSED: [2019-07-29 Mon 18:35]
**** ipv4: no output anywhere (only sent package seen)
**** ipv6: no output anywhere (only sent package seen)
**** arp: no output anywhere (only sent package seen)
@ -8049,8 +8058,9 @@ listening on enp2s0f1, link-type EN10MB (Ethernet), capture size 262144 bytes
16:20:39.686165 ARP, Request who-has 10.0.0.250 tell 10.0.0.200, length 28
#+END_CENTER
**** 2019-07-29: found bug in PARSER!!!!
**** DONE 2019-07-29: found bug in PARSER!!!!
CLOSED: [2019-07-29 Mon 18:34]
*** 2019-07-29: documentation: `portland.sty' not found
** The NetPFGA saga
Problems encountered:
- The logfile for a compile run is 10k+ lines

View File

@ -1,39 +1,10 @@
%****************************************************************************
%** Copyright 2001, 2002, 2003, 2004 by Lukas Ruf, <lukas.ruf@lpr.ch>
%** Information is provided under the terms of the
%** GNU Free Documentation License <http://www.gnu.org/copyleft/fdl.html>
%** Fairness: Cite the source of information, visit <http://www.topsy.net>
%****************************************************************************
%** Last Modification: 2013-07-31
%** 2004-02-17: Lukas Ruf
%** Added recommendation by Thomas Duebendorfer
%** Added different babel languages
%** Added more comments
%** 2004-10-16: Lukas Ruf
%** More comments
%** Added subfigure
%** 2005-07-11 Bernhard Tellenbach
%** Added \abbrev command to generate a list of abbrevations
%** Removed support for psfig and epsfig (old)
%** Adapted syntax for new nomencl packet version
%** 2013-07-31 David Gugelmann (gugdavid)
%** Adapted for pdflatex
%** Added hyperref
%** Style of headers modified, adapted watermark command
%****************************************************************************
\RequirePackage{times}
\usepackage[english]{babel}
%-% \usepackage[german]{babel}
%-% \usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{type1cm}
\usepackage{a4}
\usepackage{hyperref}
\hypersetup{colorlinks,%
citecolor=black,%
@ -55,7 +26,7 @@
\usepackage{longtable}
\usepackage{paralist}
\usepackage{url}
\usepackage{portland}
%\usepackage{portland}
\usepackage{lscape}
\usepackage{moreverb}