nftables fertig

This commit is contained in:
Alfred Krohmer 2014-03-02 19:13:08 +01:00
parent 1a199b912b
commit f2d905f45b
5 changed files with 23 additions and 21 deletions

View File

@ -21,7 +21,7 @@
xtick={5000,10000,15000,20000,25000,30000},
xmin=200, xmax=30000,
ymin=0, ymode=log,
xlabel={Anzahl der Firewall-Regeln}, ylabel={PPS},
xlabel={Anzahl der Firewall-Regeln}, ylabel={Pakete pro Sekunde},
tick label style={/pgf/number format/fixed,/pgf/number format/1000 sep = \thinspace},
width=15cm, height=10cm,
legend entries={iptables,nftables},

View File

@ -62,7 +62,7 @@ size rate pps load
title=Empfänger,
xmin=1,
xmax=1500,
xlabel={Ethernet Frame-Größe},
xlabel={Ethernet Frame-Größe [Byte]},
xtick={100,300,500,700,900,1100,1300,1500},
ymin=0,ymax=1000,
axis y line*=left,
@ -81,7 +81,7 @@ size rate pps load
ymin=0,ymax=500000,
ytick pos=right,
axis y line* = right,
ylabel={PPS},
ylabel={Pakete pro Sekunde},
ylabel near ticks,
ytick={100000,200000,300000,400000},
y axis style=red!75!black,
@ -97,6 +97,7 @@ size rate pps load
axis x line=none,
ymin=0,ymax=26,
axis y line=none,
legend entries={CPU-Last},
]
\addplot[smooth,green] table[x={size}, y={load}] {\sizerateppsrecv};
\end{axis}

View File

@ -61,7 +61,7 @@ size rate pps
title=Sender,
xmin=1,
xmax=1500,
xlabel={Ethernet Frame-Größe},
xlabel={Ethernet Frame-Größe [Byte]},
xtick={100,300,500,700,900,1100,1300,1500},
ymin=0,ymax=1000,
axis y line*=left,
@ -80,7 +80,7 @@ size rate pps
ymin=0,ymax=500000,
ytick pos=right,
axis y line* = right,
ylabel={PPS},
ylabel={Pakete pro Sekunde},
ylabel near ticks,
ytick={100000,200000,300000,400000},
y axis style=red!75!black,

View File

@ -24,7 +24,7 @@
\input{theme/theme}
\title{Linux Cluster in Theorie und Praxis}
\subtitle{\texttt{iptables} und \texttt{nftables}}
\subtitle{iptables und nftables}
\author{Alfred Krohmer}
\date{4. März 2014}
\institute[ZIH TUD]{Zentrum für Informationsdienste und Hochleistungsrechnen -- TU Dresden}
@ -82,7 +82,7 @@ Zielstellungen bei der Entwicklung bei \texttt{nftables}
\begin{frame}
\frametitle{Funktionsweise iptables vs. nftables}
iptables:
\textbf{iptables:}
\begin{itemize}
\item nur für IPv4
\item andere Tools für andere Protokolle:
@ -111,11 +111,11 @@ iptables:
\begin{frame}
\frametitle{Funktionsweise iptables vs. nftables}
nftables:
\textbf{nftables:}
\begin{itemize}
\item ein Tool für alle Protokolle \\
(IPv4, IPv6, Ethernet-Bridging, ARP)
\item inheitliche Schnittstelle zum Kernel
\item einheitliche Schnittstelle zum Kernel
\item Implementierung als kleine virtuelle Maschine im Kernel
\item Regeln werden im Userspace zu Byte-Code kompiliert
\item Byte-Code kann auf Feldern und Bits der Pakete Operationen ausführen:
@ -125,7 +125,7 @@ nftables:
\item beliebige Änderungen am Paketinhalt
\end{itemize}
\item atomares Ersetzen von Regeln über Netlink-Transaktionen
\item funktioniert mit bisher verfügbaren Tools noch nicht effektiv
\item funktioniert mit bisher verfügbaren Tools noch nicht effizient
\end{itemize}
\end{frame}
@ -145,7 +145,7 @@ nftables:
\frametitle{Funktionsweise iptables vs. nftables}
\begin{itemize}
\item \hspace{0.3cm}
\begin{minipage}{.45\linewidth}%
\begin{minipage}{0.97\linewidth}%
\begin{lstlisting}
payload load 4 offset network header + 16 => reg 1
compare reg 1 192.168.0.1
@ -153,7 +153,7 @@ compare reg 1 192.168.0.1
\end{minipage}
\item \hspace{0.3cm}
\begin{minipage}{.45\linewidth}%
\begin{minipage}{0.97\linewidth}%
\begin{lstlisting}
payload load 4 offset network header + 16 => reg 1
set lookup reg 1 load result in verdict register
@ -169,9 +169,9 @@ set lookup reg 1 load result in verdict register
\section{Syntax und Tools}
\begin{frame}
\frametitle{Funktionsweise iptables vs. nftables}
\frametitle{Syntax und Tools}
iptables:
\textbf{iptables:}
\begin{itemize}
\item iptables -A INPUT -p tcp --dport 22 -j LOG
\item iptables -A INPUT -p tcp --dport 22 -j DROP
@ -180,9 +180,9 @@ iptables:
\end{frame}
\begin{frame}[fragile]
\frametitle{Funktionsweise iptables vs. nftables}
\frametitle{Syntax und Tools}
nftables: nft
\textbf{nftables:} nft
\begin{itemize}
\item nft add table filter
\item nft add chain filter input "\{ type filter hook input priority 0; \}" \\ \vspace{0.3cm}
@ -190,7 +190,7 @@ nftables: nft
tcp dport 22 log drop \\ \vspace{0.3cm}
\item als Script: \\
\begin{minipage}{.45\linewidth}%
\begin{minipage}{.75\linewidth}%
\begin{lstlisting}
#!/usr/bin/nft -f
table filter {
@ -259,7 +259,7 @@ Testaufbau:
\begin{frame}
\frametitle{Performance-Vergleich}
\frametitle{Ermittlung der optimalen Paketgröße}
\begin{center}
\includegraphics[width=11cm]{../../../bericht/benchmarks/nft-size-load-rate-send.pdf}
\end{center}
@ -267,7 +267,7 @@ Testaufbau:
\begin{frame}
\frametitle{Performance-Vergleich}
\frametitle{Ermittlung der optimalen Paketgröße}
\begin{center}
\includegraphics[width=11cm]{../../../bericht/benchmarks/nft-size-load-rate-recv.pdf}
\end{center}
@ -275,7 +275,7 @@ Testaufbau:
\begin{frame}
\frametitle{Performance-Vergleich}
\frametitle{Daten- und Paketdurchsatz}
\begin{center}
\includegraphics[width=11cm]{../../../bericht/benchmarks/nft-ipt-drop.pdf}
\end{center}
@ -283,7 +283,7 @@ Testaufbau:
\begin{frame}
\frametitle{Performance-Vergleich}
\frametitle{Verarbeitungsgeschwindigkeit / Antwortzeit}
\begin{center}
\includegraphics[width=11cm]{../../../bericht/benchmarks/nft-ipt-drop-response.pdf}
\end{center}
@ -307,6 +307,7 @@ Testaufbau:
\item momentan bei mittlerer Regelanzahl noch wesentlich schlechter performant als iptables
\item bisher so gut wie keine Dokumentation verfügbar
\end{itemize}
\item Fazit: (noch) nicht für den Produktiveinsatz bereit
\end{itemize}
\end{frame}