Benutzer-Werkzeuge

Webseiten-Werkzeuge


contiki:netzwerkprogrammierung

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
contiki:netzwerkprogrammierung [2016/12/10 09:06]
admin
contiki:netzwerkprogrammierung [2017/01/24 18:49] (aktuell)
Zeile 8: Zeile 8:
 mit angegeben werden über die Nachrichten versendet werden sollen. mit angegeben werden über die Nachrichten versendet werden sollen.
 Bei Linux geschieht dies durch ein nachgestelltes %-Zeichen und den Namen der Netzwerkschnittstelle Bei Linux geschieht dies durch ein nachgestelltes %-Zeichen und den Namen der Netzwerkschnittstelle
-nach +nach der IP-Adresse:
  
-==== Fehlerhafte/fehlende Einträge in der Routingtabelle ====+<code> 
 + ping6 fe80::206:98ff:fe00:232%tap0 
 +</code> 
 +==== Fehlerhafte / fehlende Einträge in der Routingtabelle ==== 
 + 
 +<code bash> 
 + netstat -nr6 | grep <prefix> 
 +</code>
  
-   netstat -nr6 | grep <prefix> 
-    
 Fehlende Einträge können nachgetragen werden mit: Fehlende Einträge können nachgetragen werden mit:
  
-   sudo ip -6 route del aaaa::/64 dev eth0 +<code bash> 
 + sudo ip -6 route add aaaa::/64 dev eth0  
 +</code>
  
-Falsche Einträge können  +Falsche Einträge können gelöscht werden:  
-sudo ip -6 route del aaaa::/64 dev eth0+<code bash> 
 + sudo ip -6 route del aaaa::/64 dev eth0 
 +</code>
  
-Ursache kann ein fehlerhaft konfigurierter RouterAdvertisment Demon (''radvd''sein: +=== Mögliche Ursachen: === 
-   ps -ax | grep radvd  +  
-oder +== 1. Ein fehlerhaft konfigurierter RouterAdvertisment Daemon (''radvd''): ==
-   service radvd status+
  
-Die Konfigurationsdatei für den ''radvd'' findet sich in ''/etc/radvd.conf'' +<code bash> 
-''radvd'' kann mit ''sudo service radvd start'' gestartet und mit ''sudo service radvd stop'' gestoppt werden.   + 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.
  
 +Anschließend das Netzwerkinterface neu starten:
 +<code bash>
 + sudo ifconfig eth0 down && sudo ifconfig eth0 up
 +</code>
 +
 +== 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 ====  ==== Fehlende Einträge in der Neighbor Tabelle ==== 
  
 +Dieser Fehler betrifft vor allem Systeme bei denen Contiki als Borderrouter auf einem USB-Stick läuft:\\
 +https://github.com/contiki-os/contiki/wiki/Jackdaw-RNDIS-RPL-border-router
 +
 +Hierbei werden Neighbor Solications und Neighbor Advertisements nicht in das 6LoWPAN weitergeleitet. Es muss also
 +dafür gesorgt werden, dass das System keine NS/NA Nachrichten erzeugt. 
 +Dafür existieren zwei Ansätze:
 +
 +=== 1. NS/NA komplett abschalten ===
 +
 +<code bash>
 + ifconfig usb0 -arp
 +</code>
 +
 +=== 2. Die Neighbor Tabelle mit bekannten Systemen füllen ===
 +<code>
 + ip -6 neigh add 2001:638:812:b88b::200 lladdr 02:12:13:14:15:16 dev usb0
 +</code>
  
 ===== Umgang mit IP-Adressen ===== ===== Umgang mit IP-Adressen =====
contiki/netzwerkprogrammierung.1481360765.txt.gz · Zuletzt geändert: 2017/01/24 18:49 (Externe Bearbeitung)