current state

master
Frederik Maaßen 2 years ago
parent a1d782f711
commit a00b8aff87
  1. 4
      implementation/mininet_controller.py
  2. 2
      thesis/content/begin/titlepage_english.tex
  3. 2
      thesis/content/evaluation/evaluation.tex
  4. 12
      thesis/content/evaluation/failure_path_networks.tex
  5. 34
      thesis/content/evaluation/minimal_network.tex

@ -312,12 +312,12 @@ def measure_packet_flow(net, client, server, server_ip, flow_measurement_targets
net[server].cmd(iperf_server_command)
sleep(1)
net[client].cmd(
f"iperf3 -c {server_ip} -b 0 -f m -i {interval} -t {length+3} {client_type_string} > {tmp_file_name}_client.out &")
f"iperf3 -c {server_ip} -b 0 -f m -i {interval} -t {length+5} {client_type_string} > {tmp_file_name}_client.out &")
sleep(2)
reset_packet_counters(net)
start_packet_counter_timers(net, interval, length, unique_test_name, test_prefix, test_type, timestamp)
sleep(length + 2)
sleep(length + 4)
# make sure packet counters ran out
info("\nStopping iPerf server...")

@ -23,7 +23,7 @@
\begin{center}
\par{}{\Large Comparison of Fast Recovery Methods in Networks}
\vspace*{1cm}
\par{}\textbf{Comparison of Fast Recovery Methods in Networks}
\par{}\textbf{Implementation and Measurement of Fast Recovery Methods in Mininet}
\vspace*{1cm}
\par{}Frederik Maaßen
% \vspace*{1cm}

@ -5,7 +5,7 @@ In this chapter we evaluate tests that were run using our test framework in Mini
The evaluations are sorted by topology. For each topology we measured the bandwidth, bandwidth with a concurrent data flow, latency, TCP packet flow and UDP packet flow. We execute each test once with FRR active in the corresponding section \textit{With FRR} and once with FRR and our implementation of ShortCut active in the corresponding section \textit{With FRR and ShortCut}.
We start with our minimal network in section \ref{eva_minimal_network}, followed by the evaluation of two networks with longer "failure paths", measuring the influence of additional nodes in looped paths in section \ref{eva_failure_path_networks}.
We start with our minimal network in section \ref{eva_minimal_network}, followed by the evaluation of two networks with longer "failure paths", measuring the influence of additional nodes in looped paths in section \ref{eva_failure_path_network}.
\input{content/evaluation/minimal_network}
\input{content/evaluation/failure_path_networks}

@ -6,7 +6,7 @@
\begin{subfigure}[b]{0.49\textwidth}
\centering
\includegraphics[width=\textwidth]{testing_failure_path_1}
\label{fig:evaluation_failure_path_2_network}
\label{fig:evaluation_failure_path_1_network}
\caption{Failure path with 2 hops}
\end{subfigure}
\hfill
@ -153,7 +153,7 @@ The longer failure path however implicates that the impact in a realistic enviro
\end{figure}
\subsection{Packet flow - TCP}
\label{tcp_packet_flow}
\label{failure_path_tcp_packet_flow}
\subsubsection{With FRR}
\label{failure_path_1_packet_flow_with_frr}
@ -251,16 +251,16 @@ The longer failure path however implicates that the impact in a realistic enviro
\centering
\includegraphics[width=\textwidth]{tests/failure_path_1_packet_flow_udp/packet_flow_udp_before_sc}
\caption{UDP Packets on routers before a failure}
\label{fig:evaluation_failure_path_1_packet_flow_udp_wo_sc_a}
\label{fig:evaluation_failure_path_1_packet_flow_udp_sc_a}
\end{subfigure}
\hfill
\begin{subfigure}[b]{0.49\textwidth}
\centering
\includegraphics[width=\textwidth]{tests/failure_path_1_packet_flow_udp/packet_flow_udp_after_sc}
\caption{UDP Packets on routers after a failure}
\label{fig:evaluation_failure_path_1_packet_flow_udp_wo_sc_b}
\label{fig:evaluation_failure_path_1_packet_flow_udp_sc_b}
\end{subfigure}
\label{fig:evaluation_failure_path_1k_packet_flow_udp_wo_sc}
\label{fig:evaluation_failure_path_1k_packet_flow_udp_sc}
\caption{UDP packets on all routers using ShortCut}
\end{figure}
@ -268,5 +268,5 @@ The longer failure path however implicates that the impact in a realistic enviro
\centering
\includegraphics[width=10cm]{tests/failure_path_1_packet_flow_udp/packet_flow_udp_concurrent_sc}
\caption{Packet flow on all routers with failure after 15 seconds using ShortCut}
\label{fig:evaluation_failure_path_1_packet_flow_udp_concurrent_wo_sc}
\label{fig:evaluation_failure_path_1_packet_flow_udp_concurrent_sc}
\end{figure}

@ -222,7 +222,7 @@ When the failure is introduced concurrent to a running test, the latency spikes
Our implementation of ShortCut using \textit{nftables} does not seem to add any additional delay to packet transfers as is evident when comparing the average delay produced before a failure in \cref{fig:evaluation_minimal_latency_wo_sc_a} and \cref{fig:evaluation_minimal_latency_sc_a}.
When introducing the failure the latency does not change when introducing a failure to the network as can be seen in \cref{fig:evaluation_minimal_latency_sc}. This is caused by the removal of the looped path and therefore the additional delay each packet would be subjected to.
When introducing the failure the latency does not change as can be seen in \cref{fig:evaluation_minimal_latency_sc}. This is caused by the removal of the looped path and therefore the additional delay each packet would be subjected to.
The spike in latency which can be seen in \cref{fig:evaluation_minimal_latency_concurrent_sc}, occurring when the failure is introduced can be attributed to the same possible scenario as explained in \cref{minimal_latency_with_frr}, which is most likely a timing issue with the introduction of the failure on the routers R2 and R4 and simultaneously sent ICMP packets.
@ -283,14 +283,14 @@ Reconfiguration of routers in Mininet does not reset the \textit{nftables} count
\centering
\includegraphics[width=\textwidth]{tests/minimal_packet_flow/packet_flow_before_sc}
\label{fig:evaluation_minimal_packet_flow_sc_a}
\caption{TCP Packets on routers before a failure}
\caption{TCP packet flow before a failure}
\end{subfigure}
\hfill
\begin{subfigure}[b]{0.49\textwidth}
\centering
\includegraphics[width=\textwidth]{tests/minimal_packet_flow/packet_flow_after_sc}
\label{fig:evaluation_minimal_packet_flow_sc_b}
\caption{TCP Packets on routers after a failure}
\caption{TCP packet flow after a failure}
\end{subfigure}
\caption{TCP Packets on all routers measured with \textit{nftables} counters using Shortcut}
\label{fig:evaluation_minimal_packet_flow_sc}
@ -299,7 +299,7 @@ Reconfiguration of routers in Mininet does not reset the \textit{nftables} count
\begin{figure}
\centering
\includegraphics[width=10cm]{tests/minimal_packet_flow/packet_flow_concurrent_sc}
\caption{TCP Packet flow on all routers with failure after 15 seconds using ShortCut}
\caption{TCP packet flow on all routers with failure after 15 seconds using ShortCut}
\label{fig:evaluation_minimal_packet_flow_concurrent_sc}
\end{figure}
@ -308,30 +308,32 @@ When running the TCP packet flow measurements with an implementation of ShortCut
\subsection{Packet flow - UDP}
\label{evaluation_minimal_udp_packet_flow}
We repeated the packet flow test in \cref{tcp_packet_flow} using UDP to inspect the differences caused by the two protocols.
We repeated the packet flow test in \cref{evaluation_minimal_tcp_packet_flow} using UDP to inspect the differences caused by the two protocols.
\subsubsection{With FRR}
\begin{figure}
\centering
\begin{subfigure}[b]{0.49\textwidth}
\centering
\includegraphics[width=\textwidth]{tests/minimal_packet_flow_udp/packet_flow_udp_before_wo_sc}
\caption{Packets on routers before a failure}
\caption{UDP packet before a failure}
\label{fig:evaluation_minimal_packet_flow_udp_wo_sc_a}
\end{subfigure}
\hfill
\begin{subfigure}[b]{0.49\textwidth}
\centering
\includegraphics[width=\textwidth]{tests/minimal_packet_flow_udp/packet_flow_udp_after_wo_sc}
\caption{Packets on routers after a failure}
\caption{UDP packet flow after a failure}
\label{fig:evaluation_minimal_packet_flow_udp_wo_sc_b}
\end{subfigure}
\label{fig:evaluation_minimalk_packet_flow_udp_wo_sc}
\caption{UDP packet flow on all routers measured with \textit{nftables} counters}
\end{figure}
\begin{figure}
\centering
\includegraphics[width=10cm]{tests/minimal_packet_flow_udp/packet_flow_udp_concurrent_wo_sc}
\caption{Packet flow on all routers with failure after 15 seconds}
\caption{UDP Packet flow on all routers with failure after 15 seconds}
\label{fig:evaluation_minimal_packet_flow_udp_concurrent_wo_sc}
\end{figure}
@ -348,18 +350,18 @@ Because UDP does not send ACKs the results observed after a failure in \cref{fig
\begin{subfigure}[b]{0.49\textwidth}
\centering
\includegraphics[width=\textwidth]{tests/minimal_packet_flow_udp/packet_flow_udp_before_sc}
\caption{UDP Packets on routers before a failure}
\label{fig:evaluation_minimal_packet_flow_udp_wo_sc_a}
\caption{UDP packet flow before a failure}
\label{fig:evaluation_minimal_packet_flow_udp_sc_a}
\end{subfigure}
\hfill
\begin{subfigure}[b]{0.49\textwidth}
\centering
\includegraphics[width=\textwidth]{tests/minimal_packet_flow_udp/packet_flow_udp_after_sc}
\caption{UDP Packets on routers after a failure}
\label{fig:evaluation_minimal_packet_flow_udp_wo_sc_b}
\caption{UDP packet flow after a failure}
\label{fig:evaluation_minimal_packet_flow_udp_sc_b}
\end{subfigure}
\label{fig:evaluation_minimalk_packet_flow_udp_wo_sc}
\caption{UDP packets on all routers using ShortCut}
\label{fig:evaluation_minimalk_packet_flow_udp_sc}
\caption{UDP packet flow on all routers measured with \textit{nftables} counters using ShortCut}
\end{figure}
When using ShortCut in a UDP packet flow measurement, the negative consequences of the failure disappear. While in \cref{fig:evaluation_minimal_packet_flow_udp_wo_sc_a} routers R1, R2 and R4 receive all packets on the original route, the load switches after a failure from R2 to R3. As expected, the ShortCut implementation has cut out the looped path and restored the original functionality on an alternative route.
@ -367,8 +369,8 @@ When using ShortCut in a UDP packet flow measurement, the negative consequences
\begin{figure}
\centering
\includegraphics[width=10cm]{tests/minimal_packet_flow_udp/packet_flow_udp_concurrent_sc}
\caption{Packet flow on all routers with failure after 15 seconds using ShortCut}
\label{fig:evaluation_minimal_packet_flow_udp_concurrent_wo_sc}
\caption{UDP packet flow on all routers with failure after 15 seconds using ShortCut}
\label{fig:evaluation_minimal_packet_flow_udp_concurrent_sc}
\end{figure}
WRITE THIS