Changeset 2374
- Timestamp:
- 11/24/06 14:12:02 (7 years ago)
- Location:
- natfw-nslp/trunk/thesis
- Files:
-
- 4 added
- 7 modified
-
Bilder/Test_Setup_1.eps (added)
-
Bilder/Test_Setup_2.eps (added)
-
Bilder/nf_session.eps (modified) (previous)
-
Diagramme/Test_Setup_1.dia (added)
-
Diagramme/Test_Setup_2.dia (added)
-
Diagramme/nf_session.dia (modified) (previous)
-
Gnuplot/nf_vergleich.eps (modified) (previous)
-
Gnuplot/nf_vergleich.gpl (modified) (1 diff)
-
diplarb.bib (modified) (2 diffs)
-
entwurf.tex (modified) (2 diffs)
-
eval.tex (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
-
natfw-nslp/trunk/thesis/Gnuplot/nf_vergleich.gpl
r2369 r2374 6 6 set boxwidth 0.8 7 7 set grid ytics 8 set ylabel "Mittlere Verarbeitungszeit in µs"8 set ylabel "Mittlere Verarbeitungszeit in µs" 9 9 set xtics border nomirror ('CREATE' 1.5, 'RESPONSE' 4.5) 10 10 plot [0:6] [0:60] \ -
natfw-nslp/trunk/thesis/diplarb.bib
r2352 r2374 91 91 @techreport{state_machine, 92 92 title = {NAT/FW NSLP State Machine}, 93 editor = {Constantin Werner and others},93 editor = {Constantin Werner}, 94 94 institution = {IETF NSIS Working Group}, 95 95 type = {Working Draft}, … … 244 244 year = 1996, 245 245 } 246 247 248 @article{GISTka, 249 author = {Thomas Herzog}, 250 title = {Implementierung und Evaluierung des NSIS Transport Layer 251 Protocols zum Transport von Signalisierungsnachrichten 252 im Internet}, 253 month = jan, 254 year = 2006, 255 } -
natfw-nslp/trunk/thesis/entwurf.tex
r2354 r2374 217 217 218 218 Um die Verwaltung der Sitzungen kümmert sich der Session-Manager 219 ( Klasse \texttt{session\_manager}). Seine Aufgabe ist es, Sessions220 verschiedener Typen abzuspeichern, sie über einen Schlüssel (die 221 S ession-ID) aufzufinden und auf Anfrage zu löschen. Er dient außerdem222 als Fabrik für neue Sessions, die er basierend auf der Konfiguration 223 des lokalen Knotens erzeugt. Der Session-Manager ist ein reiner 224 Datenspeicher, der nur auf Anfrage von außen aktiv wird und von mehreren225 Worker-Threads genutzt werden kann. Ein Mutex stellt sicher, dass 226 hierbei innerhalb des Session-Managers keine Race Conditions auftreten 227 können.219 (eine Instanz der Klasse \texttt{session\_manager}). Seine Aufgabe 220 ist es, Sessions verschiedener Typen abzuspeichern, sie über einen 221 Schlüssel (die Session-ID) aufzufinden und auf Anfrage zu löschen. Er 222 dient außerdem als Fabrik für neue Sessions, die er basierend auf der 223 Konfiguration des lokalen Knotens erzeugt. Der Session-Manager ist ein 224 reiner Datenspeicher, der nur auf Anfrage von außen aktiv wird und von 225 mehreren Worker-Threads genutzt werden kann. Ein Mutex stellt sicher, 226 dass hierbei innerhalb des Session-Managers keine Race Conditions 227 auftreten können. 228 228 229 229 Für alle Session-Typen wurde eine gemeinsame abstrakte Oberklasse … … 868 868 869 869 Basiskomponente für NATFWka ist Thomas Herzogs prototypische 870 GIST-Implemen"-tierung GISTka, die im Rahmen seiner Diplomarbeit entstand. 871 Außerdem kommt für das Lesen und Schreiben von Protokollnachrichten die 872 am Institut für Telematik entwickelte Bibliothek ProtLib zum Einsatz. 870 GIST-Implemen"-tierung GISTka, die im Rahmen seiner Diplomarbeit 871 \cite{GISTka} entstand. Außerdem kommt für das Lesen und Schreiben 872 von Protokollnachrichten die am Institut für Telematik entwickelte 873 Bibliothek ProtLib zum Einsatz. 873 874 874 875 Beide Softwarepakete mussten zunächst zunächst angepasst werden, bevor -
natfw-nslp/trunk/thesis/eval.tex
r2372 r2374 7 7 8 8 Bei der vorliegenden prototypischen Implementierung wurde das 9 Hauptaugenmerk auf ein übersichtliches Design und leicht lesbaren Code 10 gelegt. Eine Optimierung zugunsten des Durchsatzes war nicht explizit 11 gefordert, aber trotzdem sollen Messungen durchgeführt werden, um die 12 Leistungsfähigkeit der Implementierung einschätzen zu können. 13 14 15 %% ============================== 16 \section{Die Testsuite} 9 Hauptaugenmerk auf ein übersichtliches Design, leicht lesbaren 10 Code und eine vollständige Abdeckung der Funktionalität 11 des NATFW-Drafts gelegt. Dieses Kapitel beschreibt in 12 Abschnitt~\ref{ch:Evaluierung:sub:funktionale_tests} die funktionalen 13 funktionalen Tests, die während der Entwicklungseit durchgeführt wurden, 14 um ein ordnungsgemäßes Funktionieren des Codes sicherzustellen. 15 16 Eine Optimierung zugunsten des Durchsatzes war nicht explizit 17 gefordert, aber trotzdem wurden Messungen durchgeführt, um die 18 Leistungsfähigkeit der Implementierung grob einschätzen zu können. 19 Während der Implementierung standen zu diesem Zweck vier Rechner aus 20 dem Router-Testbett des Instituts für Telematik zur Verfügung. Das 21 Testbett besteht aus Linux-Rechnern, die mittels eines Switchs zu 22 virtuellen Netzen zusammengeschaltet werden können. Der Zugriff auf die 23 Rechner erfolgte über SSH; der zu testende Code wurde mit Hilfe von 24 \texttt{rsync} auf die einzelnen Knoten verteilt. 25 26 Sämtliche Messungen wurden auf Testrechnern mit der folgenden Konfiguration 27 durchgeführt: 28 29 \begin{itemize} 30 \item Prozessor: Intel Pentium IV HT 31 \item Arbeitsspeicher: 2 GB DDR-400 32 \item Betriebssystem: SuSE Linux 9.3 mit Kernel 2.6.11 33 \item Compiler: g++ 3.3.5 (Teil der GNU Compiler Collection) 34 \item Standardbibliothek: libstdc++ 5 35 \end{itemize} 36 37 Die Ergebnisse der Messungen werden im zweiten Teil des Kapitels in 38 Abschnitt~\ref{ch:Evaluierung:sub:leistungstests} vorgestellt. 39 40 41 %% ============================== 42 \section{Funktionale Tests} 43 %% ============================== 44 \label{ch:Evaluierung:sub:funktionale_tests} 45 46 % Die Funktionalität der Implementierung 47 48 49 %% ============================== 50 \subsection{Die Testsuite} 17 51 %% ============================== 18 52 … … 49 83 50 84 %% ============================== 51 \section{Das Testnetz} 52 %% ============================== 53 54 Obwohl die Unit-Tests eine große Hilfe während der Entwicklungszeit waren, 55 ist ein echter Netzwerktest dadurch nicht zu ersetzen. Während der 56 Implementierung standen zu diesem Zweck vier Rechner aus dem Router-Testbett 57 des Instituts für Telematik zur Verfügung. Das Testbett besteht aus 58 Linux-Rechnern, die mittels eines Switchs zu virtuellen Netzen 59 zusammengeschaltet werden können. Der Zugriff auf die Rechner erfolgte 60 über SSH; der zu testende Code wurde mit Hilfe von \texttt{rsync} auf die 61 einzelnen Knoten verteilt. 62 63 Sämtliche Messungen wurden auf Testrechnern mit der folgenden Konfiguration 64 durchgeführt: 65 66 \begin{itemize} 67 \item Prozessor: Intel Pentium IV HT 68 \item Arbeitsspeicher: 2 GB DDR-400 69 \item Betriebssystem: SuSE Linux 9.3 mit Kernel 2.6.11 70 \item Compiler: g++ 3.3.5 (Teil der GNU Compiler Collection) 71 \item Standardbibliothek: libstdc++ 5 72 \end{itemize} 73 74 75 %% ============================== 76 \section{Messmethoden} 85 \subsection{Das Testnetz} 86 %% ============================== 87 88 Obwohl die Unit-Tests eine große Hilfe während der Entwicklungszeit 89 waren, und ihre häufige Ausführung dabei half, Fehler früh aufzudecken, 90 können sie einen echten Netzwerktest nicht ersetzen. Tests auf Systemen 91 im Netzwerk sind weniger statisch als Unit-Tests und ermöglichen es, 92 unter anderem durch Analyse der Logging-Meldungen, die Implementierung 93 und ihr Verhalten in verschiedenen Szenarien zu untersuchen. 94 95 Der Schwerpunkt der durchgeführten Tests lag darin, alle Knoten-Typen 96 im Zusammenspiel miteinander zu testen. 97 98 Die in \ref{GISTka} durchgeführten Tests wurden als funktionierend 99 vorausgesetzt. 100 101 \begin{figure}[h] 102 \begin{center} 103 \includegraphics[width=12cm,angle=0]{Bilder/Test_Setup_1} 104 \caption{Test Setup 1} 105 \label{img:Test_Setup_1} 106 \end{center} 107 \end{figure} 108 109 \begin{figure}[h] 110 \begin{center} 111 \includegraphics[width=12cm,angle=0]{Bilder/Test_Setup_2} 112 \caption{Test Setup 2} 113 \label{img:Test_Setup_2} 114 \end{center} 115 \end{figure} 116 117 118 %% ============================== 119 \subsection{Interop-Tests} 120 %% ============================== 121 122 Interop-Tests Mitte Oktober 2006 in Coimbra, Portugal. 123 124 125 126 %% ============================== 127 \section{Leistungsmessungen} 128 %% ============================== 129 \label{ch:Evaluierung:sub:leistungstests} 130 131 132 %% ============================== 133 \subsection{Messmethoden} 77 134 %% ============================== 78 135 \label{ch:Evaluierung:sec:Messmethoden} … … 134 191 135 192 %% ============================== 136 \s ection{Leistungsbestimmung des NATFW-Codes}193 \subsection{Leistungsbestimmung des NATFW-Codes} 137 194 %% ============================== 138 195 \label{ch:Evaluierung:sec:NATFW} … … 187 244 188 245 %% ============================== 189 \subs ection{Leistungsbestimmung eines NI-Knotens}246 \subsubsection{Leistungsbestimmung eines NI-Knotens} 190 247 %% ============================== 191 248 … … 277 334 278 335 %% ============================== 279 \subs ection{Leistungsbestimmung eines NF-Knotens}336 \subsubsection{Leistungsbestimmung eines NF-Knotens} 280 337 %% ============================== 281 338 … … 447 504 \begin{center} 448 505 \includegraphics[angle=0]{Gnuplot/nf_vergleich} 449 \caption{ Verarbeitung von Nachrichten auf einem NF-Knoten}506 \caption{NF: Verarbeitung von Nachrichten} 450 507 \label{img:nf_vergleich} 451 508 \end{center} … … 476 533 allozierte. 477 534 478 \begin{figure}[ ht]535 \begin{figure}[p] 479 536 \begin{center} 480 537 \includegraphics[angle=0]{Gnuplot/nf_1_session_mgr} … … 492 549 unter dieser Grenze liegen. 493 550 494 \begin{figure}[ ht]551 \begin{figure}[p] 495 552 \begin{center} 496 553 \includegraphics[angle=0]{Gnuplot/nf_3_session_mgr} … … 595 652 596 653 %% ============================== 597 \subs ection{Leistungsbestimmung eines NR-Knotens}654 \subsubsection{Leistungsbestimmung eines NR-Knotens} 598 655 %% ============================== 599 656 … … 635 692 636 693 %% ============================== 637 \s ection{Optimierungsmöglichkeiten}694 \subsection{Optimierungsmöglichkeiten} 638 695 %% ============================== 639 696 \label{ch:Evaluierung:sec:optimierung}