2019-08-15 15:14:35 +00:00
|
|
|
\chapter{\label{summary}Conclusion and Outlook}
|
2019-08-07 13:55:53 +00:00
|
|
|
%** 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.
|
|
|
|
|
2019-08-20 14:32:44 +00:00
|
|
|
% Intro
|
2019-08-16 10:23:35 +00:00
|
|
|
The objective of implementing high speed NAT64 in P4 has been
|
2019-08-20 14:32:44 +00:00
|
|
|
achieved.
|
|
|
|
|
|
|
|
% our implementation!
|
|
|
|
Our implementation has been shown to be portable
|
|
|
|
between 2 different P4 targets and we expect it to be portable
|
|
|
|
to other P4 targets, potentially at much higher speeds.
|
|
|
|
Our in-network solution allows novel translations
|
|
|
|
without involving external routers, without involving
|
|
|
|
external routers.\footnote{Compare
|
|
|
|
figures \ref{fig:v6v4standard} and \ref{fig:v6v4mixed}.}
|
|
|
|
We expect this to supporting migration to IPv6 only networks
|
2019-08-15 15:14:35 +00:00
|
|
|
|
2019-08-16 10:23:35 +00:00
|
|
|
% P4
|
|
|
|
P4 has been proven for us as a suitable programming language for
|
|
|
|
network equipment with great potential. However in the current state
|
|
|
|
the tooling and frameworks are still immature and need significant
|
|
|
|
work to become usable for solving day-to-day challenges or supporting
|
|
|
|
large scale projects. Even with the current state drawbacks, P4 is a
|
|
|
|
very convincing language that has wide range of applications due to
|
|
|
|
its protocol independence and easy to understand architecture.
|
|
|
|
The availability of protocol independent programmable network
|
|
|
|
equipment opens up many possibilities for in network
|
2019-08-20 08:19:01 +00:00
|
|
|
programming. While this thesis focused on NAT64, the accompanying
|
|
|
|
technology DNS64~\cite{rfc6147} could also be implemented in P4, thus
|
2019-08-16 10:23:35 +00:00
|
|
|
completing the translation mechanism.
|
2019-08-12 15:36:43 +00:00
|
|
|
|
2019-08-20 14:32:44 +00:00
|
|
|
% NetPFGA
|
|
|
|
In our opinion, the
|
|
|
|
P4/NetFPGA platform is a good showcase for the capabilities of
|
|
|
|
P4, demonstrating near line speed P4 programs with good capabilities
|
|
|
|
of demonstrating scientific research.
|
|
|
|
However, the supporting code toolchain shows strong weaknesses that
|
|
|
|
render productive deployements difficult.
|
|
|
|
% ----------------------------------------------------------------------
|
|
|
|
% Outlook
|
|
|
|
|
|
|
|
While the project concluded successfully, there are a variety of
|
|
|
|
possible improvements to our work as well to the used toolchains.
|
|
|
|
|
|
|
|
% Implementation
|
|
|
|
The implementation of our algorithm uses the IPv4-Compatible
|
|
|
|
IPv6 Address~\cite{rfc4291} to embed IPv4 addresses.
|
|
|
|
However RFC6052~\cite{rfc6052} defines different
|
|
|
|
embeddings depending on the prefix size. A future version should
|
|
|
|
not only support more flexible embeddings, but also consider more in
|
|
|
|
depth translation like ICMP/ICMP6 specifics.
|
2019-08-19 23:29:26 +00:00
|
|
|
|
2019-08-20 14:32:44 +00:00
|
|
|
% P4
|
|
|
|
The P4 language has shown maturity, but the usability and ease of use
|
|
|
|
of the provided toolchains can be significantly improved. Additionally
|
|
|
|
we envision a stronger tie between the different tools in the P4
|
|
|
|
environment, like a collection of libraries and modules that could
|
|
|
|
form something on the line of a ``P4OS''. This operating system could
|
|
|
|
spawn over network switches with P4, provide a coherent library and
|
|
|
|
define data definitions that can be used in various programming
|
|
|
|
languages bindings.
|
|
|
|
|
|
|
|
% NetFPGA
|
|
|
|
The NetFPGA, from the hardware point of view,! is a very
|
|
|
|
interesting hardware platform. Reducing the difficulties
|
|
|
|
we experienced with the surrounding toolchain and making
|
|
|
|
development experience more consistent has the potential to not only
|
|
|
|
make NetFPGA, but also the who set of P4 hardware more interesting for
|
|
|
|
developers.
|
|
|
|
|
|
|
|
%% PMTU
|
|
|
|
%% handling error cases
|
|
|
|
%% No fragmentation
|
|
|
|
%% No address / mac learning
|
|
|
|
%% session handling
|