Kernel Web Server



  • Hallo,

    ich hoffe das ist hier im richtigen Unterforum.
    Kennt jemand zufülligerweise einen Opensource Kernel Mode Web Server den ich nach belieben modifizieren kann? Linux interessiert mich nicht. Wichtig ist, dass er unter Windows 7 und aufwärts läuft.



  • Warum muß es ein Kernelmode Webserver sein?



  • high performance


  • Mod

    secondsun schrieb:

    high performance

    Das ist ein Witz... oder?



  • rofl



  • 😃

    Damit laden die Webseites in Lichtgeschwindikeit. 😃



  • Naja, es wird schon etwas dran sein, sonst gäbe es ja z.B. den IIS nicht. Aber der TE muss schon ein äußerst exklusives Projekt mit vielen Millionen Kunden haben, damit solche Anforderungen nötig sind.
    Hast du denn alle Möglichkeiten im User Mode schon ausgekostet, wenn du das Bottleneck in der Serversoftware vermutest? Benutzt du I/O-Completionports, Registered/Overlapped I/O und AcceptEx (in einem dynamisch nach Load wachsendem AcceptEx-Pool)? Vorallokierter Speicher aus einem eigenen Pool (der vielleicht sogar noch den LX-Cache-Nutzen optimiert)? Überhaupt ein funktionierender Cache? Eventuell auch nicht auf jeden Socket ein WSARecv() kloppen sondern unblocking recv() mit ein paar Byte, sodass der Nonpageable Pool geschont wird (und erst beim echten Datenempfang WSARecv() benutzen)? Oder die Client-Sockets aus einem Pool allokierst und mit DisconnectEx() und TF_REUSE_SOCKET wiederverwertest?

    Sag bescheid, wenn du dann immernoch Performance-Probleme hast.



  • Jodocus schrieb:

    Naja, es wird schon etwas dran sein, sonst gäbe es ja z.B. den IIS nicht.

    Erklär das mal.
    Ich glaub nämlich dass da ein Verständnisproblem vorliegt.


  • Mod

    Nur ein Teil des HTTPS Filters läuft im Kernelmode. HTTPS.SYS
    Das ist IMHO seit Exchange 7.0 so. Dadurch wird ein Teil des Cachings schneller und einige usermode Switches verhindert.

    Aber ich denke der IIS ist auch für andere Anforderungen gestrickt als jede Webserver den wir bauen wollten...

    Zudem sind in genug Servern bei weitem nicht solche Sicherheitsriegel drin, wie Sie der IIS ermöglicht.

    Just my 2 cents. Ich stecke da nicht tief genug drin.



  • hustbaer schrieb:

    Jodocus schrieb:

    Naja, es wird schon etwas dran sein, sonst gäbe es ja z.B. den IIS nicht.

    Erklär das mal.
    Ich glaub nämlich dass da ein Verständnisproblem vorliegt.

    Das kannst du dir auch selber zusammengoogeln, z.B. Hier oder hier.
    Oder du argumentierst unter der Annahme, dass Microsoft als Firma sicher nicht Millionen für etwas in den Sand setzen würde, was überhaupt keinen Vorteil brächte, wenn sie es tun würde (wenn man mal von so unwichtigen Nebenprodukten wie Windows Vista/8 absieht 🤡 ).



  • OK...
    Sieht so aus als hätte ich hier deutlich unterschätzt was die HTTP.sys alles macht:
    http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/a2a45c42-38bc-464c-a097-d7a202092a54.mspx?mfr=true

    Ich dachte die is hauptsächlich dazu da, zu ermöglichen, dass verschiedene Prozesse sich den selben HTTP Port teilen. Also Requests anhand des "URL Prefix" an den zuständigen Prozess zu verteilen.
    Dass das Ding auch Caching und QoS macht wusste ich nicht.

    Ein vollständiger Web-Server ist es trotzdem noch lange nicht 😉


  • Mod

    hustbaer schrieb:

    Ein vollständiger Web-Server ist es trotzdem noch lange nicht 😉

    ACK. Es beseitigt nur Bottlenecks, die aus dem Übergang Kernelmode Usermode entstehen.
    Die Anfrage bleibt für mich ein Witz.



  • ist doch eine nette herausforderung sowas zu proggen 👍



  • Wozu?
    Damit man über die Exploits nicht nur den Server-Prozess hijacken kann, sondern gleich den ganzen Kernel?

    ps: Wieso nicht gleich in Hardware giessen? Ich sehe Netzwerkkarten mit "TLS Offload" und "HTTP Offload" am Horizont...
    (Und das ist nichtmal ganz scherzhaft gemeint. Würde mich nicht wundern wenn wir das in 3-5 Jahre hätten.)



  • hustbaer schrieb:

    Wozu?
    ps: Wieso nicht gleich in Hardware giessen?

    Weil's dann nur den CAD-Konstrukteuren und nicht den Anwendungsentwicklern spaß macht!



  • Was haben jetzt CAD-Konstrukteure mit irgendwas zu tun?



  • eCAD bzw. EDA



  • Wenn du meinst dass mir diese Abkürzungen jetzt was bringen...



  • Armes Hüstelbärlileinchen *SCHNIEF*



  • Nö, arme Unregs, die nix besseres zu tun haben, als komische Kommentare zu schreiben, weil sie keinen Plan haben was CAD bedeutet.

    EDIT: OK. Nach näherer Recherche haben die armen Unregs wohl Recht. Ich hab' das Wort "CAD" aber in dem Zusammenhang echt noch nie gehört. Soll heissen: man kann sich auch verständlicher ausdrücken.


Log in to reply