XYRIA
Beim Xyria-Projekt -- der Name hat übrigens keine Bedeutung -- handelt es sich um eine Suite von System- und Netzwerkdiensten
für UNIX. Es handelt sich dabei um Lightweight-Dienste. Jeder Dienst kann nur das, was ich benötige und ist nach den folgenden
Richtlinien konzipiert:
- je nach Aufgabe hochperformant
- sicher (Primärziel)
- kompakter Code
- einfach zu konfigurieren
DNS-Server (seit April 2004)
Die erste Komponente des Xyria-Projektes ist der DNS-Server DNSd. Er unterstützt nur die wichtigsten Resource-Records, ist
performance-optimiert (s. unten), unterstützt IPv6, load ballancing via Round-Robin und kann extrem einfach konfiguriert werden (7
Zeilen Konfiguration sollten reichen).
Hier ist ein erster Performance-Vergleich zwischen Bind-9.2.2p3 und Xyria:DNSD-0.0.17-alpha (durchgeführt auf einem Linux-2.4.22
System, Athlon-2400+, 512 MB RAM). Dabei ist deutlich der Unterschied zwischen der Speicherung der Datensätze zwischen den
Xyria-Versionen zu erkennen: 0.0.16-alpha verwendete hashed Single-Link-Lists (selbst diese waren in normalen Sphären noch deutlich
schneller als Bind), 0.0.17 Binärbäume mit einem verbesserten Hash-Algorithmus.
Der Xyria:DNSd kann bis zu 40% schneller sein als Bind (je nach Datenbankinhalt und -größe). Es wurde bisher noch kein einziges
Sicherheitsloch im DNSd entdeckt.
NNTP-Server (seit Oktober 2004)
Das zweite Subprojekt, der cdpnntpd ist ein Usenet-Server. Das Basissystem habe ich mittlerweile fertig entwickelt.
Allerdings sind noch nicht alle Befehle aus RFC 977 implementiert. Was die IETF-NNTP Extensions von RFC 28?? angeht: Davon fehlt
noch fast alles.
Ich habe den Usenet-Server entwickelt, weil ich zu faul war, INNd zu konfigurieren. Natürlich hätte ich das in ein paar Tagen
locker lernen können, aber man kann auch ein Jahr an einem eigenen Server rumprogrammieren, wenn es Spaß macht ;-) Ich sah mir
natürlich auch einige Alternativen, speziell mini-NNTP-Server, an... ...aber die waren so Standardkonform das nur ein Bruchteil der
Clients damit funktionieren. Ich sage nur: Non-Case-Sensitive Kommandos und Headerzeilen oder auch: man kann eine 'From:'-Line auf 3
verschiedene Arten Standardkonform aufbauen. Alles muss so ein Server abdecken und parsen können (Ich hab das übrigens mit Hilfe
von RegEx implementiert.).
echod (seit ????/200[45]
Ein echo-Server, geschrieben in 2 Zeilen Common-Lisp.
| Komponente |
Stadium |
Version |
prim. TODO |
| DNSd |
stable |
0.7 |
- |
| cdpNNTPd |
stable |
0.1.7 |
- |
- Projektseite: http://xyria.doomed-reality.org
- Platform: i386: OpenBSD, Linux, Solaris
- Projektstart: offiziell: August 2004, DNSd aber schon April 2004
- Sprache(n): C
- Status: stable
(c) 1999-2005 Steffen Wendzel ; index.php3 v. 1.24 (Dez 2005)
|