\chapter{\label{results}Results} %** Results.tex: What were the results achieved including an evaluation % \section{\label{results:general}General} Parser for all protocols (udp,tcp,icmp,icmp6) BMV2: more feature rich, but software only solution NetFPGA: capabale of line speed Nat64, focused port on nat64 Both support EAMT as defined by RFC7757 \cite{rfc7757}. \section{\label{Results:BMV2}BMV2} Responds to icmp, icmp6 ndp \cite{rfc4861} arp test framework openvswitch Fully functional host Can compute checksums on its own. focus on typical use cases of icmp, icmp6, the software implementation supports translating echo request and echo reply messages, but does not support all ICMP/ICMP6 translations that are defined in RFC6145\cite{rfc6145}. Stateful : no automatic removal \section{\label{results:tayga}Tayga} 3gbit \section{\label{results:jool}Jool} % ---------------------------------------------------------------------- \section{\label{Results:NetPFGA}NetFPGA} \subsection{\label{results:netpfga:checksum}Checksum computation} \subsection{\label{results:netpfga:general}to be named} Trace files \begin{verbatim} create mode 100644 pcap/tcp-udp-delta-2019-07-17-1555-h1.pcap create mode 100644 pcap/tcp-udp-delta-2019-07-17-1555-h3.pcap create mode 100644 pcap/tcp-udp-delta-2019-07-17-1557-h1.pcap create mode 100644 pcap/tcp-udp-delta-2019-07-17-1558-h3.pcap \end{verbatim} \begin{verbatim} *** DONE 2019-07-21: Proof of v6->v4 working delta based CLOSED: [2019-07-21 Sun 12:30] #+BEGIN_CENTER pcap/tcp-udp-delta-from-v6-2019-07-21-0853-h1.pcap | Bin 0 -> 4252 bytes pcap/tcp-udp-delta-from-v6-2019-07-21-0853-h3.pcap | Bin 0 -> 2544 bytes #+END_CENTER \end{verbatim} \begin{verbatim} **** DONE Testing v4->v6 tcp: ok (version 10.0) CLOSED: [2019-08-04 Sun 09:15] #+BEGIN_CENTER nico@ESPRIMO-P956:~/master-thesis/bin$ ./socat-connect-tcp-v4 + echo from-v4-ok + socat - TCP:10.0.0.66:2345 TCPv6-ok nico@ESPRIMO-P956:~/master-thesis/bin$ ./socat-listen-tcp-v6 from-v4-ok #+END_CENTER trace: netfpga-nat64-2019-08-04-0907-enp2s0f0.pcap netfpga-nat64-2019-08-04-0907-enp2s0f1.pcap **** DONE Testing v4->v6 udp: ok (version 10.1) trace: create mode 100644 pcap/netfpga-nat64-udp-2019-08-04-0913-enp2s0f0.pcap create mode 100644 pcap/netfpga-nat64-udp-2019-08-04-0913-enp2s0f1.pcap \end{verbatim} \begin{verbatim} *** DONE 2019-08-04: version 10.1/10.2: new maxpacketregion: v4->v6 works CLOSED: [2019-08-04 Sun 19:42] #+BEGIN_CENTER nico@ESPRIMO-P956:~/master-thesis/bin$ ./init_ipv4_esprimo.sh nico@ESPRIMO-P956:~/master-thesis/bin$ ./set_ipv4_neighbor.sh #+END_CENTER Test 20 first: - Does't work -> missed to add table entries - Does work after setting table entries - 300 works - 1450 works - 1500 does not work Proof: create mode 100644 pcap/netfpga-10.2-maxpacket-2019-08-04-1931-enp2s0f0.pcap create mode 100644 pcap/netfpga-10.2-maxpacket-2019-08-04-1931-enp2s0f1.pcap \end{verbatim} \begin{verbatim} *** DONE 2019-08-04: test v6 -> v4: works for 1420 CLOSED: [2019-08-04 Sun 20:30] Proof: #+BEGIN_CENTER create mode 100644 pcap/netfpga-10.2-fromv6tov4-2019-08-04-1943-enp2s0f0.pcap create mode 100644 pcap/netfpga-10.2-fromv6tov4-2019-08-04-1943-enp2s0f1.pcap \end{verbatim} General result: limited NAT64 is working, however No Payload checksumming - requires controller Hash funktion in Arbeit No NDP, no ARP - focused on key factors of NAT64 translation, other features can be supported by controller \section{\label{results:softwarenat64}NAT64 in Software} Tayga, Jool tayga: Single threaded fork: \begin{verbatim} | What? | Description | State in P4 | References | |---------------------+------------------------------------------+-------------------+---------------------------------------------------------------------------------| | Jool EAMT | Mapping with tables, multiple entries | Supported | https://www.jool.mx/en/eamt.html, https://www.jool.mx/en/run-eam.html, RFC 7757 | | Jool SIIT | Mapping IPv6 to range of IPv4, one entry | Supported by EAMT | | \end{verbatim} \section{\label{results:features}Feature comparison} speed - sessions - eamt can act as host lpm tables ping ping6 support ndp controller support \section{todo - FIXME: remove} \begin{verbatim} ***** Dorth eher detailiertes Drawing ***** Längste Section! \end{verbatim}