NISTNet Installation Eine kleine Anleitung von Felix Büsching NISTNet BugsNISTNet 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. | Version | Fehlerbeschreibung | Lösung |
|---|
| 3.0a | Kompilieren 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.0a | Manipulationsregeln 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->frag_off in frag = ntohl(iph->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.0a | Die Bandbreitenmanipulation funktioniert nicht mehr, wenn lange Zeit keine Paket geschickt werden. | TBD |
|