AVR-Webserver von U. Radig um NTP-Server erweitern

Gast #1081318
Lesenswert?

Hallo,

fuer ein Projekt wuerde ich gerne einen eigenstaendigen Webserver bauen, 
der ueber NTP andere Computer im Netz synchronisieren kann. Die 
entsprechenden DCF77-Funktionen habe ich, nur fehlt mir noch die 
NTP-Server-Implementation. Momentan arbeite ich mit dem AVR-NET-Board 
von Pollin, auf dem U. Radigs Webserver einandfrei laeuft. Kann jemand 
das abschaetzen, wieviel Aufwand das waere, neben der bereits 
bestehenden Client-Funktionalitaet noch die fuer den Server zu 
implementieren?

Gruss

Kricke
Gast #1081365
Lesenswert?

Sowas habe ich später auch vor für meinen eigenen kleinen Server...

Ich würde es so angehen:
Erstmal Dokumentationen vom NTP-Protokoll anschauen und etwas 
studieren(http://www.ntp.org/);
Danach die einzelnen Befehle von NTP selbst schreiben.

Als Tipp:
Würde mir mal den C Sourcecode von OpenSource NTP Servern anschauen. 
Hatte mal welche gefunden, finde aber jetzt keine mehr.

Hoffe ich konnte etwas helfen.

mfg

Laias

P.S.: Werd in zirka einem viertel bis halbem Jahr versuchen selber einen 
NTP Server zu schreiben. Kann mich ja dann noch mal melden.
Gast #1081538
Lesenswert?

openntp.org ist momentan wohl einer der meist genutzten ntpds, der ist 
vom sourcecode her auch noch verständlich.

Die RFC (zu SNTP, was aber auch ok ist) findest du hier: 
http://tools.ietf.org/html/rfc4330

Zum "Felder ausfüllen":

Du kriegst vom Client ein Paket mit definierter Grösse (minimum 48 
byte)in dem er selbst ein paar Sachen eingetragen hat und du noch ein 
paar Sachen vervollständigen musst. Die ersten 16 byte sind dabei 
effektiv statisch. Aus der RFC kannst du entnehmen was da rein 
muss/sollte. Die nächsten 8 byte kopierst du aus dem Paket was vom 
Client kommt. Danach trägst du die zeit beim Empfang des Client Pakets 
ein und dahinter die Zeit beim senden deiner Antwort.

Was mir grad noch einfällt. Ich kenne zwar den Webserver von U.R. nicht 
wirklich, aber u.U. musst du noch UDP implementieren. Das ist aber für 
sich gesehen auch kein grosser Aufwand und Teile kann man sich da sicher 
aus dem TCP-Zeug zusammensuchen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren