|
|
|
|
@ -0,0 +1,33 @@
|
|
|
|
|
In dieser Aufgabe soll ein Logging-System entwickelt werden, das das Syslog-Protokoll (RFC 5424) unterstützt.
|
|
|
|
|
Dabei sollen abweichend von der Spezifikation in RFC 5424 die folgenden Vereinfachungen gelten:
|
|
|
|
|
|
|
|
|
|
- Als Transportprotokoll soll ausschließlich UDP verwendet werden.
|
|
|
|
|
- TLS (Transport Layer Security) braucht nicht betrachtet werden.
|
|
|
|
|
- Der Syslog-Server braucht die empfangenen Daten nur nachrichtenweise auf der Konsole (Standard-Ausgabe) ausgeben.
|
|
|
|
|
Dabei sollen Informationen über den sendenden Client (insb. IP-Adresse) mitausgegeben werden.
|
|
|
|
|
- Strukturierte Daten brauchen nicht berücksichtigt werden.
|
|
|
|
|
|
|
|
|
|
Berücksichtigen Sie unbedingt die maximale Nachrichtenlänge und prüfen Sie, dass Nachrichten, die von Clients empfangen werden auch kurz genug sind.
|
|
|
|
|
|
|
|
|
|
Abweichend vom Syslog-Protokoll soll der Server folgende zusätzliche Eigenschaften haben:
|
|
|
|
|
|
|
|
|
|
- Die IP-Adresse des Logging-Dienstes muss vom Client durch eine automatische Service Discovery ermittelt werden.
|
|
|
|
|
Clients sollen die IP-Adresse des Servers also durch Broadcast-Nachrichten selbstständig ermitteln können.
|
|
|
|
|
Es ist möglich, diese Anforderung unberücksichtigt zu lassen und die IP-Adresse des Servers fest zu konfigurieren. Es gibt dann aber bis zu 8 Punkte Abzug.
|
|
|
|
|
|
|
|
|
|
- Der Server soll zwei UDP-Sockets verwenden: einen auf dem SYSLOG-Standard-Port und den anderen auf dem Port 8888 für die Auto-Discovery.
|
|
|
|
|
|
|
|
|
|
- (Broadcast-) Nachrichten an 8888 sollen ähnlich wie bei DHCP beantwortet werden.
|
|
|
|
|
Da der Absender aber bereits eine IP-Adresse hat, kann hier direkt eine UDP-Nachricht zurückgeschickt werden.
|
|
|
|
|
Die zurückgeschickte Nachricht kann leer sein, der Client kann daraus trotzdem die Adresse des SYSLOG-Servers (seine IP-Adresse) auslesen
|
|
|
|
|
und dann Log-Nachrichten an den SYSLOG-Port auf dem Host mit der so gefundenen IP-Adresse senden.
|
|
|
|
|
|
|
|
|
|
Entwickeln Sie den Server in Java. Ein Client (in einer beliebigen Programmiersprache) ermöglicht Ihnen das Testen, ist aber nicht abzugeben.
|
|
|
|
|
Geben Sie den Quellcode des Servers in Form eines Maven- oder Eclipse-Projekts als ZIP/TAR/TGZ-Archiv verpackt ab.
|
|
|
|
|
|
|
|
|
|
Client und Server sollen sich in demselben Sub-Netz befinden und über IP miteinander kommunizieren.
|
|
|
|
|
Zur Kommunikation dürfen nur Datagramme (UDP) verwendet werden.
|
|
|
|
|
|
|
|
|
|
Auf dem Ziel-System wird es nur genau ein Netzwerk geben (nicht Ethernet und Wifi mit getrennten Sub-Netzen).
|
|
|
|
|
Sie können daher Broadcast-Nachrichten an 255.255.255.255 schicken.
|
|
|
|
|
vs.pu01.tgz
|