Operating Systems Principles SS2005
Lab 0: Hardware
Bei den Knoten in unserem Mesh-Netzwerk handelt es sich um Router der Firma Linksys (WRT54GS). Hierbei haben wir die vorhandene Firmware durch OpenWrt http://openwrt.org ausgetauscht. Nähere Informationen finden Sie dabei unter Programming_the_Linksys_WRT54GS_Wireless_Broadband_Router.
Für das Praktikum sei folgende sehr einfache Netztopologie für eine Multi-Hop Mesh-Netzwerk gegeben (siehe Abbildung):
Erkennbar hierbei ist, dass Knoten WRT1 direkt mit Knoten WRT2, jedoch nicht direkt mit Knoten WRT3 kommunizieren kann (er benötigt die Hilfe von Knoten WRT2). Als Routing-Protokoll haben wir das Dynamic Source Routing (http://www-2.cs.cmu.edu/~dmaltz/dsr.html ) Protokoll auf Layer 2 (Sicherungsschicht) prototypisch implementiert. Dieses soll auch im Praktikum verwendet werden.
Der Zugriff auf die Router erfolgt über telnet:
zubow@linux:~> telnet wrt1
Lab 1: Cross-Compilation
Dieses Praktikum soll Ihnen einen Einblick in die Entwicklung von Software für Embedded Devices (Cross-Compilation) geben. Hierbei werden Sie mit Hilfe von OpenWrt Software für WRT54GS entwickeln. Zu diesem Zweck haben wir eine Linux-Entwicklungsumgebung (Toolchain, ect.) aufgebaut. Nähere Informationen dazu finden Sie unter Using_StandardizedDevelopmentEnvironment.
Der (Flash-)Speicher auf den WRTs ist nicht nur limitiert, sondern auch extrem langsam. Für den Entwicklungsprozess kann man auf den WRTs NFS verwenden:
@wrt1:/# mount MY_NFS_SERVER:/share/ /mnt/share -o nolock
Lab 2: Click
http://www.pdos.csail.mit.edu/click/click.gif
Click ist ein vom MIT entwickelter modularer Software-Router. Mit Hilfe der umfangreichen Click-API lassen sich schnell neue Router-Konfigurationen entwickeln. Auch wir werden uns bei der Entwicklung auf Click stützen.
Lab 3: Address Resolution Protocol (ARP)
Das ARP-Protokoll ( http://www.erg.abdn.ac.uk/users/gorry/course/inet-pages/arp.html ) wird vom Internet-Protokoll (IPv4) dazu verwendet IP-Netzwerkadressen auf Hardware-Addressen (Data-Link-Protocol) abzubilden. Hierbei wird in aller Regel eine Anfrage mit Hilfe eines Broadcasts (ARP-Request) realisiert. Im Falle eines Multi-Hop Mesh-Netzwerkes ist dies jedoch keine praktikable Lösung. Eine Lösung hierfür könnten die aus dem Bereich der P2P-Netzwerke bekannten Distributed Hashtables ( http://www.infoanarchy.org/wiki/index.php/Distributed_hash_table ) darstellen.