kernel genausoschnell wie userlevel



  • Hallo,

    sagt mal, kann einer von euch mir das erklären.

    Ich hab einen kleinen Sniffer in C geschrieben. Den hab ich laufen lassen, der war in der Lage ein 100mbit Netzwerk zu überwachen. Ich hab hier ne scsi platte mit 10' Umdrehungen drin. So, jetzt hab ich den Code in den Kernel als Modul eingefügt und das war genauso schnell, die Systemauslastung war nahezu gleich. Wie kann das sein? Das Modul müsste doch schneller sein? Liegt es daran, dass auch das Modul die Systemcalls benutzt, oder wie kann man das Erklären, das verstehe ich nicht so ganz.

    Ist der Kernel (Also die Module) geschwindigkeitsmäßig überhaupt nie im Vorteil?

    Danke

    Joeylein



  • Natürlich ist das gleich schnell, ist doch wohl ganz logisch. Höchstens die Priority im Kernelmode ist höher.



  • heißt das jetzt, dass ich mit einem normalen sniffer theoretisch ein 10 gigabit netzwerk überwachen könnte? liegt das nur an der plattengeschwindigkeit?



  • Original erstellt von joeylein:
    heißt das jetzt, dass ich mit einem normalen sniffer theoretisch ein 10 gigabit netzwerk überwachen könnte? liegt das nur an der plattengeschwindigkeit?

    Na überleg mal : Der einschränkende Faktor bei deinem Sniffer ist die Netzwerkkarte. Investier lieber ein paar Mark, eeh Euro, mehr in ne *gute* Netzwerkkarte mit nem schnellen Ping, dann kannst du dir auch die Investition für ne neue HD sparen.



  • @joeylein
    ich denke nicht, dass es so einen großen unterschied macht, ob deine Software als Ring 0 oder 2 läuft. Wenn du deinen Sniffer aber für den Kernel optimierst, dann denke ich erhälst du einiges an Geschwindigkeit.



  • dann mal ne andere frage, wie kommt es dass es dann noch kein gigabit intrusion detecion system gibt. snort kann ja auch !!!effektiv!!! bloss 80 mbit?



  • mehr in ne *gute* Netzwerkkarte mit nem schnellen Ping

    Wusste gar nicht, dass das was mit der Netzwerkkarte zu tun hat

    mfg
    v R


Anmelden zum Antworten