IPv6 Namenauflösung in lwIP/Mbed

Gast #6592368
Lesenswert?

ich beschäftige mich gerade mit IPv6 auf einem µC. Das Beispiel
https://github.com/ARMmbed/mbed-os-snippet-UDPSocket/blob/v6.0/main.cpp
funktioniert mit IPv6, aber Namen im lokalen Netz werden nicht 
aufgelöst.
gethostbyname() nutzt festverdrahtet eine Tabelle mit öffentlichen DNS 
und daher funktioniert das Beispiel mit time.nist.gov als remote. Das 
Mbed API hat eine Funktion um einen DNS manuell hinzuzufügen, wenn ich 
die Fritzbox Addresse eintrage wird ein lokaler host auch aufgelöst.
Bei einem embedded Gerät kennt man den DNS aber nicht und dafür gibt es 
ja NDP mit Neighbor und Router Advertisement. Hier sehe ich das im lwIP 
eine Tabelle mit Nachbarn aufgebaut wird, aber die wird in der 
Adressauflösung nicht benutzt bzw. es wird ein Router nicht automatisch 
als DNS eingetragen.
Was sollte ein OS machen wenn so RA ankommt? Muss man in lwIP nochwas 
aktivieren das da was automagisch passiert?
Angehängte Dateien:
Gast #6592413
Lesenswert?

nein, die IP wird aus der MAC generiert, self assigned address 
autoconfiguration, SAAC.
DHCPv6 wird nicht unterstützt, aber wenn ich das richtig verstehe soll 
das ja mit der Nachbarschaft auch funktionieren.
Gast #6596813
Lesenswert?

Habe eine Lösung gefunden:
ich dachte erst ich habe mich verrant, nach drüber schlafen war klar das 
ICMP hat ja nichts mit DNS zu tun und den DNS bekommt man ja eigentlich 
über DHCP.
Dann habe ich aber die Option 25 im RA entdeckt, das ist in der Fritzbox 
als 'DNSv6-Server auch über Router Advertisement bekanntgeben' 
aktiviert.
Wenn der Client startet, dann sendet er ein ICMPv6 'Router 
Solictitation' und bekommt per 'Router Advertisement' in Option 25 die 
IP vom DNS mitgeteilt. In lwIP muss LWIP_ND6_RDNSS_MAX_DNS_SERVERS > 0 
gesetzt sein, dann wird diese Adresse übernommen. Eigentlich ganz 
einfach.

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