You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.7 KiB
38 lines
1.7 KiB
\clearpage |
|
\null |
|
\vfil % or it might be \null |
|
\thispagestyle{plain} |
|
|
|
|
|
\begin{center}\textbf{Abstract}\end{center} |
|
Due to the lack of IPv4 addresses, IPv6 deployments have recently |
|
gained in importance in the Internet. |
|
Several transition mechanisms exist that include |
|
translating IPv6 packets into IPv4 packets, |
|
thus enabling the coexistence and interoperability of both protocols. |
|
|
|
This thesis describes an implementation of the translation mechanism |
|
NAT64, implemented in P4. Using the P4 programming language |
|
a software emulated switch was created that translates IPv4 to IPv6 and vice versa. |
|
Due to the target independence of P4 the same code can be compiled |
|
for and deployed to the FPGA hardware platform ``NetFPGA''. |
|
|
|
Within the NetFPGA the NAT64 implementation achieves a stable throughput of |
|
9.28 Gigabit/s. Our solution allows in-network translations without a |
|
router or client configurations. Due to the nature of P4, the |
|
implementation runs at line speed and thus with different hardware |
|
the same code can run potentially at much higher speeds, |
|
for instance on 100 Gbit/s switches. |
|
|
|
%% P4. P4 is protocol and target independent and allo |
|
%% P4 is a protocol independent programming language that allows programming network |
|
%% 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
|
|
|