ADAM (Administration and Deployment of Adhoc

Werbung
!"!#$%$!&'()(*+,-+(.)$-)&$"/01.2'/)+$.3$
!&4.5$#/*4$)/+6.,7*
!"#$%&'#(#
!"#$%&'"()*+,-"./0/1"2-34,5#$%&',67
!"8,693&+$:4";<,6"=>--3:'>?,%&,">',6"@,<52:+,6A3B,
!"0,?,:+63&,"8,6+,%&$:4"',6"=>:C4$63+%>:,:"D"(>A+936,"E>:"
F3BG<36"?$"F3BG<36
!"/$*&%,A,6$:4"',6"E,6H3**+,:"IH'3+,*"*><3&'"=:>+,:"9%,',6"
,66,%BG<36"*%:'
!"1,BG3:%*-$*"?$6"J,%:+,463+%>:"E>:"+,-H>6K6"$:,66,%BG<36,:"
=:>+,:"<,%"L:',6$:4,:
!"M3&&<3BN5OP*$:4,:"-P4&%BG"<,%"=>:C4$63+%>:*A,G&,6:".?Q#Q"
$:,66,%BG<36,"=:>+,:"'$6BG"?$"+%,A,"(,:',&,%*+$:47
!"M,G&,6+>&,63:+,*"IH'3+,"',*"#,+6%,<**)*+,-*"A;6"=:>+,:"-%+"
-,G6"3&*"RS"1#":%BG+T;BG+%4,-"(H,%BG,6
)*)+,-(./0#%(1234(
!"I:+,6*+;+?$:4"<,%-"U6*+,&&,:"E>:"F,+?9,6N5
=>:C4$63+%>:,:
!"8,6+,%&,:"E>:"=>:C4$63+%>:*5"$:'"
#,+6%,<**)*+,-52-34,*
!"1>:%+>6%:4"',6"F,+?E,6<%:'$:4,:"
.U66,%BG<36N,%+"',6"=:>+,:7
;*&,#,-,21<.2;*1%.=+,#42-*>2
+*?0/+*>,02@+,"0=+,#4
///6#+=6-*#706("
!.%162A.62B%.&,0*2:.+-*
B"%=+&2C,+-7
C#=%*2@%.?0*,"+$0.
A+*#0$2:+$&#?0.
@#("+0$2D-&,0*70.?0.
8*#90.&#,5,2:0.*
///6-*#706("
!"#$%&%'"#&(")
*+,-./#&&0*&("+1,$#("023+4-$,5,
///6'"#$*+,6-*#706("
!"!#$%&'$()*+&',*-.-$/&')0$1234&*50
'&,67-*&'&)%$86,$#9:;&7$<1=>$?@@@?@ABBCDEEFBG
!"!#$ %&'()*'$ %+&$ ,-+*.$ /01'%2$ 3-4$ 541'%**-&6$ %+&%1$ 7-8$ 9+&-:;<71+%4%&.%&$ ,%'4+%<1101'%21$ 8=4$
.+%$ >&?'%&$ %+&%1$ .47('*?1%&$ #%1($ >?22-&+@7'+?&1&%'3%1$ AB+4%*%11$ #%1($ C%'D?4@E$ B#CFG$
!"!#$%42H6*+I('$3-.%2$.+%$8%(*%4'?*%47&'%$!.2+&+1'47'+?&$1?D+%$/?8'D74%;!@'-7*+1+%4-&6$A3G,G$
>?22-&+@7'+?&1J4?'?@?**%E$,%'4+%<1101'%2;KJ.7'%1F$%+&%1$1?*I(%&$C%'3%1G
!"!#$%$!&'()(*+,-+(.)$-)&$"/01.2'/)+$.3$
!&4.5$#/*4$)/+6.,7*
!"##$%&'()(!'*+,-$./0"%1$2'3,44'$"4'3%$"4$&'5"406'/$#2"$7&&8&#$+'$2&#$%%#'9$21$4:'9$%;<$&'=>2'1"$'
(4=?21$204-$4',4'$"4$4'@"2$%$&&'!$&<'A4?#$4',4-$B,&&#'"&#C
!"!#$%&'()
!";+%'&3"8=("#2,3*4/(D=+4'3/=(*("<7=6,"
*3$>?"5*/"-*3+/*5,,2,3*41W:0'3*,
!"Q"L4'6*1B2:*(
!"#3'(0'&=(*"L4'6*
!"KXKU"L4'6*"Y"P=(I6.+'3/=(,/4'6*
!"U*%+*+*"P=(I6.+'3/=(,/4'6*,":+="
P(=3*("4Z6&/$%"<[*C*/&,"*/(*,"')3/8?
!"LF8\]"LF8R".(0"LF8\^LF8R"4/N*0
1234)&560',33)47,8()8$/)3$
!"!#$%&'()*+,-./)03
!"')3.*&&*"7/(.N"X/,3+/5.3/=("<V*0=+']"
W5.(3.]"X*5/'(]"J*(3==?
!"M5&/$%*";(3C/$)&.(6,3==&,"<6$$]"
6&/5$]"5/(.3/&,]"5/,=(]"_*N"*3$>?
984)034:474)$#)3;$<864)842=)8
!"J*(*+/$"/bcR"-='+0,"<F`,]"A=.3*+,?
!"F`;(6/(*,"@AKF]"K7La"<J;9X;]"/bcR?
!"U*+')/"U/(/"^"9.30==+"<K3%*+=,"#9`]"4/:,?
!"a;d"8/+3.'&/,/*+3*"P(=3*("<O/+3.'&U*,%?
!"L)'(=,"VW#LO"ONecf"OX#7"<4/:,?"
!"9:*(U=)="JBKfQ":%=(*"<KAU\?
!"-+='0$=4"5='+0,"<4/:,]"4/:,*&?
;*&,#,-,21<.2;*1%.=+,#42-*>2
+*?0/+*>,02@+,"0=+,#4
///6#+=6-*#706("
!.%162A.62B%.&,0*2:.+-*
B"%=+&2C,+-7
C#=%*2@%.?0*,"+$0.
A+*#0$2:+$&#?0.
@#("+0$2D-&,0*70.?0.
8*#90.&#,5,2:0.*
///6-*#706("
!"#$%&%'"#&(")
*+,-./#&&0*&("+1,$#("023+4-$,5,
///6'"#$*+,6-*#706("
!"!#$%&'$()*+&',*-.-$/&')0$1234&*50
'&,67-*&'&)%$86,$#9:;&7$<1=>$?@@@?@ABBCDEEFBG
!"!#$%&'()*+,-./)0
!"#$%&'()*+*,"-./&01#2,3*4".(0"0*,%'&5"6*+/(6*+*"7*+().+8*"'&,"9:*(;45*00*0"
<=:*(*45*00*0>=+6?".(0"9:*(@AB"<=:*(C+3>=+6?
!";/(D'$%*";+C*/3*+.(6"'.D"'(0*+*"E'+0C'+*1F&'33D=+4*("0.+$%"G.,H3G&/$%*"-./&01F+=I&*
!"J*+/(6*+"K.DC'(0"G.+"L(3*6+'3/=("(*.*+"#=D3C'+*"F')*3*
!"J&*/$%*"#=D3C'+*"DM+"'&&*".(3*+,3M3G3*("F&'33D=+4*(
!"K)3.*&&*"7/(.N"O*+,/=(*("<7/(.N"O'(/&&'"P*+(*&"Q>QR>S?
!"-*3+/*5,,2,3*4"L4'6*"T"R"U-"3+=3G".4D',,*(0*+"V.()3/=('&/3H3
Einreichung für KuVS: Communication Software-Preise in der
Kategorie 2 (Software aus einem Forschungsprojekt)
ADAM (Administration and Deployment of Adhoc Mesh networks) der
Universität Bern, Schweiz
Thomas Staub, Daniel Balsiger, Simon Morgenthaler, Michael Lustenberger, Torsten Braun
{staub | balsiger | morgenthaler | lustenbe | braun}@iam.unibe.ch
Motivation
Drahtlose Mesh Netze (Wireless Mesh Networks, WMN) haben sich zu einer
wichtigen Zugangstechnologie für Breitbanddienste entwickelt. Drahtlos
kommunizierende Knoten ermöglichen eine kosteneffiziente Erweiterung der
Netzabdeckung. Bestehende WMNs (z.B. MIT RoofNet, Berlin RoofNet, freethe-net San Francisco usw.) decken jeweils grosse Gebiete ab. Die einzelnen
Knoten sind aber häufig nach dem Aufstellen nur noch schwer erreichbar, z.B.
auf Hausdächern. Aus bürokratischen und technischen Gründen kann der
physikalische Zugriff sehr zeitintensiv und kostspielig sein. Solche
aufwändigen Vorort-Reparaturen sollten deshalb unter allen Umständen
vermieden werden.
Leider sind während der Lebensdauer eines WMNs Änderungen an
Konfiguration sowie Software-Aktualisierungen meist unumgänglich, z.B. um
Sicherheitslücken zu schliessen. Dies erhöht wiederum die Gefahr von
unerreichbaren Knoten durch Konfigurationsfehler und fehlerhafte
Aktualisierungen. Eine fehlertolerante Administration und Softwareverteilung
ist deshalb für alle WMNs unabdingbar.
Funktionen der Software
ADAM (Administration and Deployment of Adhoc Mesh networks) ermöglicht
eine fehlertolerante Netzadministration sowie Software-Aktualisierungen
(Kommunikationsprotokolle, Betriebssystem-Updates) der Knoten. ADAM ist
eine Weiterentwicklung unserer „Secure Remote Management and Software
Distribution for Wireless Mesh Networks“ Architektur [1].
ADAM verteilt Konfigurationen und Software Images völlig dezentral von
einzelnen Knoten zu deren Nachbarn. Falls einige Knoten während der
Konfigurationsanpassungen oder der Software Updates nicht erreichbar sind
(z.B. ausgeschaltete Knoten), erhalten sie nachträglich von ihren Nachbarn
die verpassten Updates. Verschiedene Sicherungsmechanismen garantieren,
dass Knoten, welche nach Updates keine Verbindung zu ihren Nachbarn
haben, sich automatisch wieder ins Netz integrieren können. Zum Beispiel
wird bei einer durch die Reduktion der Sendeleistung verursachten
Verbindungsunterbrechung die Sendeleistung wieder schrittweise erhöht bis
zumindest eine Verbindung zu einem Nachbarknoten besteht. Falls ein
Knoten gar keine Verbindung mehr zu einem Nachbarn besitzt, sucht er nach
bestehenden drahtlosen Netzen, konfiguriert eine eindeutige lokale IPv6Adresse gemäss RFC4193 und verbindet sich dann zu einem Nachbarknoten,
von welchem er die aktuelle Netzwerkkonfiguration und andere aktuelle
Software-Komponenten bezieht. Falls im Netz keine Konfiguration für den
Knoten existiert, meldet er sich im ADAM Management Web-Interface als zu
konfigurierender Knoten. Der Administrator kann nun den Knoten nachträglich
konfigurieren.
ADAM bietet für gewisse Knotentypen mit mehr als 20 MB nichtflüchtigem
Speicher ein fehlertolerantes Update des Betriebsystems an. Bei korruptem
Dateisystem oder Linux-Kernel wird der Knoten automatisch mit dem alten
funktionierenden Image neu gestartet.
Über das ADAM Web-Interface können die einzelnen Knoten im Netz
verwaltet, neue Konfigurationen erstellt sowie Software Updates ausgeführt
werden (siehe Abbildung 1).
!""#$%&'()*+)!,!-)./"01'2/3456/)7&3)8/395$2&'()%/3):/27;<'4#(&352#<')=<9#/)
7&>)?<42953/)@A%52/B
ADAM ermöglicht dem Benutzer das Testen einer Knotenkonfiguration
innerhalb des Netzes. Die Funktion Timed Update lädt die Konfiguration für
eine gewisse Zeit auf die verteilten Knoten. Falls der Benutzer die neue
Konfiguration nicht bestätigt, fällt ADAM automatisch nach Ablauf der
eingegebenen Frist wieder zur alten Konfiguration zurück.
Die Betriebssystem-Images für die Mesh-Knoten werden durch den ADAM
Image-Builder erstellt. Beim ersten Verteilen der Knoten (Roll-out) werden auf
jeden Knoten ein Standard-Image sowie die Netz- und Knotenschlüssel
geladen. Nach dem ersten Start verbinden sich die Knoten automatisch und
ADAM kann Netzkonfigurationen und Software-Update verteilen.
Weitere Vorteile von ADAM und des dazugehörigen Image-Builder sind:
• SSL-verschlüsselte Übertragung von Konfigurationen und Images zum
Schutz vor Eindringlingen
• Visualisierung der Netztopologie innerhalb des ADAM Web-Interface
• Erhalt von Statusinformationen (Logs etc.) bei Betriebssystem-Updates
• Unterstützung mehrerer Konfigurationen pro Knoten (jeweils eine
aktive)
• Verwaltung über Kommandozeile oder ADAM Web-Interface
• Betriebssystem Images kleiner 6MB trotz umfassender Funktionalität
• Aktuelle Linux-Versionen (Linux Vanilla Kernel 2.6.26.5)
• Schlankeres Build-System und deshalb geringere Lernkurve als
OpenEmbedded (openembedded.org) und OpenWRT (openwrt.org)
• Einfache Erweiterung auf andere Hardware-Plattformen durch
zusätzliche Build-Profile
• Gleiche Software für alle unterstützten Hardware-Plattformen
• Geringer Aufwand zur Integration neuer Software Pakete
• Unterstützung von IPv4 und IPv6 inklusive gemischter IPv4/IPv6Umgebungen
Systemvoraussetzungen
Mit Hilfe des ADAM Image-Builder lassen sich unter aktuellen LinuxDistributionen (Fedora, Ubuntu, Debian, Gentoo) für folgende MeshHardware-Platformen Betriebssystem-Images erstellen:
• PCEngines WRAP
• PCEngines ALIX
• Meraki Mini / Outdoor bzw. OpenMesh Mini (Atheros SOC)
• XEN (Unterstützung unserer Emulationsplatform VirtualMesh [2])
Zur Verwaltung des Mesh-Netzes über das ADAM Web-Interface wird ein
gängiger Browser (Internet Explorer, Firefox, Mozilla, Safari) benötigt.
Verfügbarkeit
Der ADAM Image-Builder ist als Open-Source unter Gnu Public Licence (GPL)
2.0 verfügbar (http://www.iam.unibe.ch/~rvs/research/software.html). Die
Veröffentlichung des ADAM Web-Interface ist unter GPL 2.0 für Januar 2009
geplant.
ADAM wurde im Rahmen des Forschungsprojektes MIPTel (Mobile IP
Telephony) des Schweizerischen Nationalfonds (200020-113677/1) entwickelt.
Referenzen
[1] T. Staub, D. Balsiger, M. Lustenberger, and T. Braun, “Secure remote management and
software distribution for wireless mesh networks,” in 7th International Workshop on
Applications and Services in Wireless Networks (ASWN 2007), (Santander, Spain), pp. 47–
54, May 24-26 2007.
[2] T. Staub, D. Balsiger, S. Morgenthaler, and T. Braun, “Virtualmesh: An emulation
framework for wireless mesh networks in OMNeT++,” in 2nd International Workshop on
OMNeT++ (OMNeT++ 2009) held in conjuction with the Second International Conference on
Simulation Tools and Techniques (SIMUTools 2009), (Rome, Italy), March 6 2009 (submitted).!
Herunterladen