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

Gast #1081318
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 #1081333
Was meinst du mit Felder ausfuellen?

Ich fange gerade erst an, mich in die Materie einzulesen und den Stack 
von U. Radig zu verstehen, daher bin ich fuer etwaige Hinweise sehr 
dankbar.
Gast #1081365
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
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

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.