1 / 41

JIGSAW Webserver

JIGSAW Webserver. Marc Fenselau Michael Imiolczyk. Inhalt. 4. Jigsaw Proxy 4.2 Jigsaw Proxy 4.3 Proxy Client& Server+ Smart Cache 5. Security 5.1 Jigsaw Sicherheit 5.2 Features 5.3 Fazit 6. Vor und Nachteile 5.1 Vorteile 5.2 Nachteile 5.3 Letzter Überblick

emlyn
Download Presentation

JIGSAW Webserver

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. JIGSAW Webserver Marc Fenselau Michael Imiolczyk

  2. Inhalt 4. Jigsaw Proxy 4.2 Jigsaw Proxy 4.3 Proxy Client& Server+ Smart Cache 5. Security 5.1 Jigsaw Sicherheit 5.2 Features 5.3 Fazit 6. Vor und Nachteile 5.1 Vorteile 5.2 Nachteile 5.3 Letzter Überblick 7. Ein kleines Java- Webserver- Programm 1. Filter 1.1 Was sind Filter? 1.2 Übersicht 1.3 Beispiel „RessourcFilter und Filtered Ressource“ 1.4 Weitere Filter 2. Performance 2.1 Gründe 2.2 Gerüchte 2.3 Vier Benchmark Tests 2.4 Fazit 3. Cache Management beim Jigsaw 3.1 Was ist das? 3.2 Genau 3.3 Belegt und verbessert

  3. Jigsaw Webserver Filter Was sind Filter? • Priorität bei einem Server (Webserver): Implementierte Authentifizierungs- Sicherheitsmechanismen • Filter sind stellen ein Mechanismus dar, der sich allgemein für die verschiedenen Absicherungen für den Jigsaw nutzen lassen • Jigsaw Filter sind „ladbare“ Module, außerhalb des „Haupt Code Stroms“ • Können in der Serverlaufzeit geladen/ Entladen werden • Jigsaw Filter laufen innerhalb eines „Thread“ • Können so den „Thread flow“ des Jigsaw kontrollieren können Kontrolle über den Zugang auf verschiedene interne Ressourcen des Jigsaw ausüben

  4. Jigsaw Webserver Filter Was sind Filter? • Sehr umfangreiches Thema • Es gibt sehr viele verschiedene Filter beim Jigsaw • Das Konzept der Filter erlaubt beim Jigsaw mehr als nur Absicherung • Es können auch eigene Filter hinzugefügt/ programmiert werden • Alle Ressourcen lassen sich mit einem Filter versehen • Ein Filter ist auch eine Ressource = Objekt = Klasse • Ab der Version 2, werden Filter mit den Protokoll- Frames der angefragten Ressource assoziiert • Filter sichern zuerst mal den Zugang und den Zugriff auf Ressourcen • Filter können diese, den Zugriff, manipulieren/ Verändern

  5. Jigsaw Webserver Filter 1. Beispiel: Die Klasse RessourceFilter und die Klasse FilteredRessource • Die RessourceFilter Klasse definiert seine eigenen Attribute und ist die Oberklasse aller Filter • Abhängigkeiten/ Wo liegt die Oberklasse der Filter ?

  6. Jigsaw Webserver Filter 1. Übersicht

  7. Jigsaw Webserver Filter 1. Übersicht

  8. Jigsaw Webserver Filter 1. Übersicht

  9. Jigsaw Webserver Filter

  10. Jigsaw Webserver Filter

  11. Jigsaw Webserver Filter Noch ein paar wichtige Filter: • Die Klasse BasicAuthentifikationFilter aus Httpd = Benutzerkennung und Passwort • GenericAuthFilter Klasse = Die Requests nach ip – adressen authentiziert (Standard), oder mit einem (bzw. Beides) MD5 Hash - Algorithmus • Der AccessLimit Filter • CacheFilter • LoggerFilter

  12. Jigsaw Webserver Filter Zusammengefasst: • Filter sollen Authentifizierung, Sicherheit, Information, Schutzbereiche, Bandbreite, bzw. den abgesicherten Webserververkehr ermöglichen • Neuheit: Nicht nur Bereiche, sondern jedes Objekt lässt sich mit Filter versehen. • Weil Filter ausserhalb des Stroms von Hauptcode laufen, können diese dem Jigsaw nicht schaden • Aber können den „Thread flow“ vom jigsaw kontrollieren

  13. Jigsaw Webserver Performance Gründe (The Need for Speed) • Anstieg der Internet – Benutzer bis heute • Leitungen immer schneller • http Anfragen verursachen Internet Traffic • Neue, starke Webserver – Architekturen sind gefragt • Verfügbarkeit • Schnelligkeit und Intelligenz der Webserver

  14. Jigsaw Webserver Performance Und Java – Webserver, bzw. der Jigsaw? • Die Gerüchte: • Bytecode + Interpretation  Ausführung = Langsam • Java Virtuell Maschine • JIT – Compiler • Das gilt für alle Java - Webserver • Aber was, wenn alles läuft?

  15. Jigsaw Webserver Performance Und der Jigsaw genau? • Hier ist es sehr schwer aktuelle Ergebnisse zu finden (Wird getestet) • Der Jigsaw ist der Nachfolger des CERN – Server (W3C) • Ein „Experiment für neue Technologien“ • Also kein „echter Webserver“ für den „echten“ Einsatz?

  16. Jigsaw Webserver Performance • 4 ausführliche Benchmark - Tests

  17. Jigsaw Webserver Performance Jigsaw vs. Apache vs. CERN Test Nr. 1 von der W3.org: • Eine ältere Jigsaw Version, 1.0 alpha 1 und 3 vs. Apache 1.1.1 und den Vorläufer CERN 3.0

  18. Jigsaw Webserver Performance Jigsaw vs. Tomcat Test Nr.2 : Open Source Web Servers: Performance on a Carrier-Class Linux Platform vom Ericson Research Institut, Kanada, von Ibrahim Haddad • Jigsaw 2.0.1 vs. Tomcat 3.0.1 vs. Apache 1.3.14 und 2.08a auf einem Linux Cluster (Red Hat) von 1 CPU (Server) – 16 CPU‘s (Intel P3- 500Mhz., 512MB RAM pro Server) • Tomcat 3.1 wird hier ohne Apache als „Standalone“ benutzt

  19. Jigsaw Webserver Performance Test Nr.2 : Open Source Web Servers: Performance on a Carrier-Class Linux Platform vom Ericson Research Institut, Kanada, von Ibrahim Haddad • Der Apache ist im Moment die Nr. 1, was Benchmarks angeht

  20. Jigsaw Webserver Performance Jigsaw vs. Javaserver Test Nr.3: Aktuellerer Test von der Zeitschrift iX, wie sieht der Jigsaw im Vergleich mit den anderen Java- Webservern aus? • Test der Servlet- Engines von 3 Java Plugins und 3 reinen Java Servern • Jigsaw 2.0.3 vs. Suns Java Webserver 2.0 vs. jetty von Mortbay vs. Plugins: jrun, Allaires, jserv  auf Apache 1.3.6 und 1.3.9 • Benchmarks: Requests in der Sekunde für 3 Servlets • Bekanntes Servlet: „Hello World“ • Der Jigsaw Server im “Hello World” Test auf Platz 1 • Handelte hier 262 Requests in der Sekunde • 181 R/s- 184 R/s für „File Test“ = Platz 2 • Erstes Fazit: Der Jigsaw wird immer besser und schneller

  21. Jigsaw Webserver Performance Jigsaw vs. Apache Test Nr.4: Analyse der Jigsaw 2.0.1 vs. Apache 1.3.4 Architektur, Universität Waterloo • Tesattribute: Performance undtechnische Flexibilität

  22. Jigsaw Webserver Performance Jigsaw vs. Apache Fazit • Neue Versionen haben den Älteren immer etwas voraus • Der Jigsaw ist heute fast genauso schnell wie der Apache • C vs. Java? Jigsaw besitzt angeblich auch um die 10 C- Module • Vorteil Jigsaw: Flexibilität durch Java, automatische Plattformunabhängigkeit • Der Jigsaw ist eine neue Technologie und mittlerweile, wie der Apache auch, als Webserver absolut tauglich • Warum ist das so?

  23. Jigsaw Webserver Cache Management Performance

  24. Jigsaw Webserver Cache Management Was ist das? • Studie: 90%- 95% der Zugriffe auf einem Webserver erfolgen auf nur 10% der verschiedenen Dokumente • Was passiert, wenn diese 10% ermittelt würden, und dem Client direkt zur Verfügung stehen würden? • Der 1. Grund der guten Performance = Der Jigsaw cached die Ressourcen = Objekte Performance

  25. Jigsaw Webserver Cache Management Genau: • Jigsaw lädt eine Jigsaw- Resource = Objekt erst dann, wenn auf sie zugegriffen wird • Nach dem Zugriff bleibt die Ressource im Cache • Bei erneutem Zugriff auf die Ressource = Kein Festplattenzugriff nötig • Der Jigsaw legt eine Tabelle an über den Cache • Zusätzlich legt der Jigsaw einen Cache über die Requests an • So wird kein neuer Prozess gestartet • Nach einer Zeitspanne ohne Request auf das Dokument wird es aus dem Cache entfernt und auf die Festplatten geschrieben Performance

  26. Jigsaw Webserver Cache Management Belegt und verbessert durch Experimente: • P- Jigsaw Cluster und Cooperatives Caching • Proxy Smart Cache Versuch • Ergebnis: Der Jigsaw gewinnt nochmals 30% - 50% an Performance Performance

  27. Jigsaw Webserver Jigsaw Proxy Proxy und Java: Performance

  28. Jigsaw Webserver Jigsaw Proxy Proxy und Java: Methode: PUT Wird aber von den meisten Browsern NICHT unterstützt!

  29. Jigsaw Webserver Jigsaw Proxy Proxy und Java:

  30. Jigsaw Webserver Jigsaw Proxy Jigsaw Proxy Performance

  31. Jigsaw Webserver Jigsaw Proxy Proxy Client und Server+ Smart Cache Performance

  32. Jigsaw Webserver Jigsaw Security Proxy Client und Server+ Smart Cache beim Jigsaw • Leistungssteigerung beim Jigsaw ~ 50% • Sicherheit durch sehr gute Client, wie auch Server – Proxy Funktion des Jigsaw Performance

  33. Jigsaw Webserver Jigsaw Security Sicherheit des Jigsaw Webserver • Eigentlich gut durchdachtes Sicherheitskonzept mit Filtern • Sicherheit durch sehr gute Client, wie auch Server – Proxy Funktion des Jigsaw • Aber … Performance

  34. Jigsaw Webserver Jigsaw Security Sicherheit des Jigsaw Webserver • Jede Software hat Ihre „Bugs“, auch wenn Sie in Java geschrieben ist • Auch der Jigsaw, gerade als experimenteller, ist verwundbar, trotzt des sehr gut durchdachten Sicherheitskonzeptes • Schwachstellen: • DOS device DoS • execute arbitrary code on the system • Jigsaw Httpd Proxy server Cross Site Scripting Performance

  35. Jigsaw Webserver Jigsaw Security Sicherheit - Features des Jigsaw Webserver • Filter • Unterstützung von: SSH, SSL, MD5 Performance

  36. Jigsaw Webserver Jigsaw Security Fazit • Filterkonzept = + • Authentifizierung = + • Datensicherheit = + • Verwundbarkeit gegen Attacken = Mittelmaß • Datensicherung = - • Absicherung fehlerhafte Administration = - • Weitere kritische Punkte: Offener Quellcode, der Vorteil eigene Klassen hinzuzufügen • Aber: Hier ist fast jede Software irgendwann betroffen gewesen, oder ist es heute noch. Deshalb kann die Sicherheit als gut bewertet werden (IIS Heute noch Bugs) Performance

  37. Jigsaw Webserver Jigsaw Vor und Nachteile zusammengefasst Vorteile • Automatische Plattformunabhängigkeit durch Java • Das Konzept „neue Technologie“ läßt sich in der Zukunft gut auf kommende Hardware und Software Technologien übertragen • Umsonst, Open Source + Updates • Httpd 1.1 Unterstützung, + Multiprotokollfähig • Caching • Portabel und erweiterbar • Metadaten • Einfachste Installation • Objektorientiert  Beispiel P - Jigsaw • Offener Quellcode, Skalierung • Sicherheit • Dynamische Kommunikation in der Zukunft möglich (error 404) • Sehr ausführliche Dokumentation • Sehr gute Unterstützung von IPV6 durch Java Performance

  38. Jigsaw Webserver Jigsaw Vor und Nachteile zusammengefasst Nachteile • Schwere, ungewohnte Administration • Konfigartionsschwierigkeiten  Absturz • Caching • In der Zukunft bei Erweiterung ellenlange Klassennamen • Zuständigkeiten sind nicht eindeutig • Sehr schwer andere Informationen über den Jigsaw zu bekommen, als vom W3C • Viele kleine Module  Unübersichtlichkeit in der Zukunft möglich Performance

  39. Jigsaw Webserver Jigsaw Vor und Nachteile zusammengefasst Aber • Supermöglichkeit zum experimentieren für Forschung und Studenten Performance

  40. Jigsaw Webserver Jigsaw letztes Bild Der Jigsaw entspricht fast der Architektur eines Referenzservers, letzte Eckdaten • 105,725 Zeilen Java code ( etwas C code ) • 606 Module: 600 .java files und 10 .c &.h files • 174.5 Zeilen code pro Modul im Durchschnitt Performance

  41. Jigsaw Webserver Jigsaw Ende Auf Wiedersehen und vielen Dank fürs Zuhören! Performance

More Related