Benutzer-Werkzeuge

Webseiten-Werkzeuge


contiki:netzwerkprogrammierung

Dies ist eine alte Version des Dokuments!


FAQ Netzwerke und -programmierung

Keine Verbindung zum Sensorknoten

Um mit Link-lokalen IPv6 Adressen zu arbeiten muss immer zwingend die Netzwerkschnittstelle mit angegeben werden über die Nachrichten versendet werden sollen. Bei Linux geschieht dies durch ein nachgestelltes %-Zeichen und den Namen der Netzwerkschnittstelle nach der IP-Adresse:

 ping6 fe80::206:98ff:fe00:232%tap0

Fehlerhafte / fehlende Einträge in der Routingtabelle

 netstat -nr6 | grep <prefix>
 

Fehlende Einträge können nachgetragen werden mit:

 sudo ip -6 route add aaaa::/64 dev eth0 

Falsche Einträge können gelöscht werden:

 sudo ip -6 route del aaaa::/64 dev eth0

Mögliche Ursachen:

1. Ein fehlerhaft konfigurierter RouterAdvertisment Demon (''radvd''):
 ps -ax | grep radvd 

oder

 service radvd status

Die Konfigurationsdatei für den radvd findet sich in /etc/radvd.conf radvd kann mit sudo service radvd start gestartet und mit sudo service radvd stop gestoppt werden.

2. Ein dynamisch konfiguriertes Interface (z.B. tap0) hat noch keine IP-Adresse

Wird Contiki mit dem Target minimal-net übersetzt und ausgeführt wird ein tap-Interface erzeugt. Dieses hat nur eine link-lokale IPv6-Adresse und damit existiert auch kein Eintrag in der lokalen Routingtabelle.

 sudo ip -6 addr add aaaa::1/64 dev tap0

Fehlende Einträge in der Neighbor Tabelle

Umgang mit IP-Adressen

IP Adressen werden in Variablen vom Typ uip_ipaddr_t gespeichert. IPv6 Adressen können je nach verwendeter Funktion entweder aus 16-bit Integer-Werten aufgebaut, oder als Text-String angegeben werden

  uip_ipaddr_t ip_addr;
 
  //uiplib_ip6addrconv(const char *addrstr, uip_ip6addr_t *addr);
  uiplib_ip6addrconv("2001:db8::1", &ip_addr);
 
  //uip_ip6addr(addr, addr0, addr1, addr2, addr3, addr4, addr5, addr6, addr7)
  //Construct an IPv6 address from eight 16-bit words. 
  uip_ip6addr(&ip_addr, 0x2001, 0xdb8, 0, 0, 0, 0, 0, 0x1);
contiki/netzwerkprogrammierung.1481361370.txt.gz · Zuletzt geändert: 2017/01/24 18:49 (Externe Bearbeitung)