68 lines
2.8 KiB
TeX
68 lines
2.8 KiB
TeX
\chapter{\label{summary}Conclusion and 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.
|
|
|
|
% 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.
|
|
|
|
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
|
|
support these schemes to be compatible to other implementations.
|
|
|
|
PMTU
|
|
handling error cases
|
|
No fragmentation
|
|
No address / mac learning
|
|
|
|
supporting migration to IPv6 only networks
|
|
|
|
% 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.
|
|
|
|
% NetPFGA
|
|
The NetFGPA platform is a good showcase for the capabilities of
|
|
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}).
|
|
|
|
While the port to NetPFGA was significantly more effort then expected,
|
|
the learnings of the different layers were very much appreciated / liked
|
|
|
|
% 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
|
|
programming. While this thesis focused on NAT64, the accompying
|
|
technologie DNS64~\cite{rfc6147} could also be implemented in P4, thus
|
|
completing the translation mechanism.
|
|
|
|
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.
|
|
|
|
|
|
- react on FIN/RST (?) -- could be an addition
|