master-thesis/doc/Conclusion.tex

72 lines
2.9 KiB
TeX
Raw Normal View History

\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-16 10:23:35 +00:00
% General / Review
The objective of implementing high speed NAT64 in P4 has been
achieved. The implementation at hand has been shown to be portable
between 2 different P4 targets. It should be portable with minor
target specific changes to faster hardware to support NAT64 at much
higher line speeds, without any logic changes.
2019-08-12 15:36:43 +00:00
2019-08-18 12:24:22 +00:00
Our algorithm uses the IPv4-Compatible IPv6 Address~\cite{rfc4291} to
embed IPv4 addresses. However RFC6052~\cite{rfc6052} defines different
2019-08-12 15:36:43 +00:00
embeddings depending on the prefix size. A future version should
support these schemes to be compatible to other implementations.
2019-08-16 10:23:35 +00:00
PMTU
handling error cases
2019-08-12 15:36:43 +00:00
No fragmentation
No address / mac learning
2019-08-16 10:23:35 +00:00
supporting migration to IPv6 only networks
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.
2019-08-16 10:23:35 +00:00
% NetPFGA
2019-08-20 08:19:01 +00:00
The NetFPGA platform is a good showcase for the capabilities of
2019-08-16 10:23:35 +00:00
P4, demonstrating almost line speed P4 programs.
However the supporting code immaturity, logging ambiguity
and enormous complexity of the development process.
Very time intensive development due to usability problems and
uncertainty of functionality (compare sections
\ref{results:netpfga:usability} and \ref{results:netpfga:stability}).
2019-08-12 15:36:43 +00:00
While the port to NetPFGA was significantly more effort then expected,
the learnings of the different layers were very much appreciated / liked
2019-08-16 10:23:35 +00:00
% Outlook OUTLOOK What are the consequences of your work for future work?
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-16 10:23:35 +00:00
Proxies / higher level protocols could be next level
Add helper in P4 to support checksum analysis a frequent problem and
helper
Allow ICMP6 option parsing: specify xtimes 64 bit blocks resulting in
an array
Adding support for passing on meta information to controller: key or
table
Support a meta language to define used types and/or export to popular languages.
Long term supporting python3 would be helpful. P4OS.
2019-08-18 12:24:22 +00:00
- react on FIN/RST (?) -- could be an addition
2019-08-19 23:29:26 +00:00
P4os - reusable code
Future work: session handling