Benutzer-Werkzeuge

Webseiten-Werkzeuge


contiki:netzwerkprogrammierung

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

contiki:netzwerkprogrammierung [2016/12/10 09:22]
admin [Link Lokale IPv6-Adressen]
contiki:netzwerkprogrammierung [2017/01/24 18:49]
Zeile 1: Zeile 1:
-====== FAQ Netzwerke und -programmierung ====== 
  
-===== Keine Verbindung zum Sensorknoten ===== 
- 
-==== Link Lokale IPv6-Adressen ==== 
- 
-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: 
- 
-<code bash> 
- ping6 fe80::206:98ff:fe00:232%tap0 
-</code> 
-==== Fehlerhafte / fehlende Einträge in der Routingtabelle ==== 
- 
-<code bash> 
- netstat -nr6 | grep <prefix> 
-</code> 
- 
-Fehlende Einträge können nachgetragen werden mit: 
- 
-<code bash> 
- sudo ip -6 route add aaaa::/64 dev eth0  
-</code> 
- 
-Falsche Einträge können gelöscht werden:  
-<code bash> 
- sudo ip -6 route del aaaa::/64 dev eth0 
-</code> 
- 
-=== Mögliche Ursachen: === 
-  
-== 1. Ein fehlerhaft konfigurierter RouterAdvertisment Daemon (''radvd''): == 
- 
-<code bash> 
- ps -ax | grep radvd  
-  # oder 
- service radvd status 
-</code> 
- 
-Mit diesen Kommandos lässt sich ermitteln, ob der Daemon auf dem System läuft. 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.  
- 
-<code bash> 
- sudo ip -6 addr add aaaa::1/64 dev tap0 
-</code> 
-==== 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 
- 
-<code c> 
-  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); 
- 
-</code> 
contiki/netzwerkprogrammierung.txt · Zuletzt geändert: 2017/01/24 18:49 (Externe Bearbeitung)