Mobile Communication Networks: Difference between revisions

From
Jump to navigation Jump to search
No edit summary
Line 26: Line 26:
Zu diesem Zweck haben wir eine Linux-Entwicklungsumgebung (Toolchain, ect.) aufgebaut. Nähere
Zu diesem Zweck haben wir eine Linux-Entwicklungsumgebung (Toolchain, ect.) aufgebaut. Nähere
Informationen dazu finden Sie unter [[Using_StandardizedDevelopmentEnvironment]].
Informationen dazu finden Sie unter [[Using_StandardizedDevelopmentEnvironment]].

Für das Praktikum kann die Toolchain wie folgt gebaut und verwendet werden:

== OpenWrt-Quellen ==

Die Quellen des OpenWRT-Projektes können über cvs abgerufen werden:

cvs -d:pserver:anonymous@openwrt.org:/openwrt login
cvs -d:pserver:anonymous@openwrt.org:/openwrt co buildroot

== Benötigte Tools/Bibliotheken ==

Damit sich die Toolchain übersetzen lässt, werden die folgenden Tools bzw. Bibliotheken benötigt:
* wget, tftp
* cvs, subversion
* gcc, gcc-c++, bison, flex
* patch, gettext
* autoconf, automake
* zlib-devel

== OpenWRT-Build-Prozess ==

Für die spätere Verwendung von Click wird ein C++-Compiler benötigt. Daher ist die folgende
Änderung im ''$OPENWRT/buildroot/Makefile'' vorzunehmen:

INSTALL_LIBSTDCPP:=true

Sollten alle benötigten Bibliotheken vorliegen, so kann OpenWRT mit Hilfe von make gebaut werden:

linux:/home/wrt/buildroot/# make

Hinweis: Der initiale Build-Prozess ist sehr zeitaufwändig.

== Andere Ansätze ==
Verwendung von [[CrossTool]]

== Zugriff vom WRT auf Bibliotheken/Tools ==


Der (Flash-)Speicher auf den WRTs ist nicht nur limitiert, sondern auch extrem langsam. Für den
Der (Flash-)Speicher auf den WRTs ist nicht nur limitiert, sondern auch extrem langsam. Für den
Line 31: Line 68:


@wrt6:/# mount MY_NFS_SERVER:/share/ /mnt/share -o nolock
@wrt6:/# mount MY_NFS_SERVER:/share/ /mnt/share -o nolock



=Lab 2: Click=
=Lab 2: Click=

Revision as of 11:21, 30 April 2005

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):

Infrastructure of WRT lab network

Netzwerktopologie

Erkennbar hierbei ist, dass Knoten WRT6 direkt mit Knoten WRT7, jedoch nicht direkt mit Knoten WRT8 kommunizieren kann (er benötigt die Hilfe von Knoten WRT7). 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 wrt6

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.

Für das Praktikum kann die Toolchain wie folgt gebaut und verwendet werden:

OpenWrt-Quellen

Die Quellen des OpenWRT-Projektes können über cvs abgerufen werden:

 cvs -d:pserver:anonymous@openwrt.org:/openwrt login
 cvs -d:pserver:anonymous@openwrt.org:/openwrt co buildroot

Benötigte Tools/Bibliotheken

Damit sich die Toolchain übersetzen lässt, werden die folgenden Tools bzw. Bibliotheken benötigt:

  • wget, tftp
  • cvs, subversion
  • gcc, gcc-c++, bison, flex
  • patch, gettext
  • autoconf, automake
  • zlib-devel

OpenWRT-Build-Prozess

Für die spätere Verwendung von Click wird ein C++-Compiler benötigt. Daher ist die folgende Änderung im $OPENWRT/buildroot/Makefile vorzunehmen:

 INSTALL_LIBSTDCPP:=true

Sollten alle benötigten Bibliotheken vorliegen, so kann OpenWRT mit Hilfe von make gebaut werden:

 linux:/home/wrt/buildroot/# make

Hinweis: Der initiale Build-Prozess ist sehr zeitaufwändig.

Andere Ansätze

Verwendung von CrossTool

Zugriff vom WRT auf Bibliotheken/Tools

Der (Flash-)Speicher auf den WRTs ist nicht nur limitiert, sondern auch extrem langsam. Für den Entwicklungsprozess kann man auf den WRTs Verzeichnisse via NFS mounten:

 @wrt6:/# 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: Voice Over IP (VoIP)

SIP-API http://developers.sun.com/techtopics/mobility/apis/articles/sip/