TU BRAUNSCHWEIG
Informatikzentrum

NISTNet Bugs

AuthorDr. Sven Lahde
KeywordsNetzwerk nistnet emulation network Nistnet
CategoriesResearch, Hardware, Software

NISTNet Installation

Eine kleine Anleitung von Felix Büsching

NISTNet Bugs

NISTNet ist ein Netzwerkemulator, der es ermöglicht die Eigenschaften einer Kommunikationsbeziehung hinsichtlich Verzögerung, Paketverlust, Duplikaten und Bandbreite zu beeinflussen. Version 3.0a ist die derzeit aktuelle Version für Kernel 2.6. Für Kernel 2.0 bis 2.4 muss Version 2.0.12b verwendet werden.

Unglücklicherweise wird Nistnet nur noch bedingt weiterentwickelt und hat einige unschöne Fehler. Im folgenden findet sich eine Aufstellung von Bugs, die wir entdeckt haben. Da wir bisher nur Version 3.0a betrachtet haben können wir keine Aussagen darüber machen, ob die Fehler ebenfalls in Verison 2.0.12b auftreten.

VersionFehlerbeschreibungLösung
3.0aKompilieren des Kernelmoduls schlägt im Orginal fehl.In der Datei kernel/knistnet.c fehlt in den Zeilen 916, 961, 972, 1003 ein Parameter beim Aufruf der Funktion ippt->func. Die korrekte Syntax des Aufrufs lautet ippt->func(skb, dev, ippt, dev) statt ippt->func(skb,dev,ippt).
3.0aManipulationsregeln mit Angabe eines spezifischen Ports werden ignoriert.Die Überpfrüfung auf fragmentierte IP Datagramme in kernel/nistnet_table.c ist fehlerhaft. Zur Behebung dieses Fehlers muss in Zeile 823 frag = iph-&gt;frag_off in frag = ntohl(iph-&gt;frag_off) und in Zeile 848 if (!frag) in if (!(frag&IP_OFFSET)) geändert werden. Zusätzlich muss das Headerfile <net/ip.h> eingebunden werden.
ACHTUNG: NISTNet ignoiert generell alle Pakete deren Fragment Offset > 0 ist. D.h. bei Evaluationen sollte darauf geachtet werden, dass Datagramme nicht fragmentiert werden.
3.0aDie Bandbreitenmanipulation funktioniert nicht mehr, wenn lange Zeit keine Paket geschickt werden.TBD


last changed 2008-04-16, 19:34 by Dr. Sven Lahde Printable version
hoch zum Seitenanfang