### H3 Procesverslag ### 3.1 Inleiding In dit hoofdstuk wordt verslag gedaan van het proces. Het beschrijft de werkzaamheden, beslissingen, keuzen en beargumentatie daarvan op chronologische volgorde en aan de hand van de verschillende fasen waarbinnen deze zijn uitgevoerd. ### 3.2 Initiele hardware keuze. Bij het selecteren van hardware dient rekening gehouden te worden met de implicaties die het IRIS-concept met zich meebrengt. Het concept voert een aantal belangrijke wijzigingen door aan de traditionele node- architectuur en vanuit hardware oogpunt moesten daarom verschillende keuzen worden gemaakt. Omdat de IRIS-archtiectuur bestaat uit meerdere onafhankelijk fucntionerende componenten kan de keuze primair worden onderverdeeld in een hardware selectie voor de radio-interfaces en voor de basis-node. ### invoegen stukje over de prijs van een totale node/interlinks ### 3.2.1. Interfaces Het gebruik van onafhankelijk functionerende interfaces is het meest kenmerkend voor de IRIS-architectuur. Het is hierbij mogelijk om verschillende typen interfaces binnen de architectuur aan te sluiten, maar gedurende het project is alleen onderzoek gedaan naar radio-interfaces. Hoewel een dergelijk hardware opstelling nog niet eerder binnen het netwerk van de organisatie is gebruikt, zijn wel eerdere ervaringen bekend met een type hardware dat mogelijk gebruikt zou kunnen worden als onafhankelijke radio-interface, de Wandy-node. De Wandy is een oplossing waarbij antenne, radio en ethernet fysiek zijn geintergreerd binnen een enkele systeemkast. De ontwikkeling van dit concept vindt zijn oorsprong in het RegenijpClient-project van Wireless Leiden, http://wiki.wirelessleiden.nl/RegenpijpClient, waarbij een eenvoudige en verberterde methode werd ontwikkeld om client-systemen op het netwerk aan te sluiten. Uiteindelijk heeft dit project geleid tot de realisatie van de kant en klare wandy-oplossing. Dit type hardware zou bij uitstek geschikt zijn voor het gebruik als radio-interface voor het iris-concept. In het 802.11a-project, dat is uitgevoerd om de performance van de 802.11a WiFi-standaard te onderzoeken, is uitgebreid getest met enkele prototypes van dit type node. Op basis van dit ontwerp zijn bij de start van het project enkele fucntionele basiseisen opgenomen in het plan van aanpak: - Integratie van antenne, radio en ethernet, - Implementatie van 802.11a WiFi standaard, - Voeding via Power over Ethernet. De wandy-nodes waar in het voorgaande 802.11a project mee is gestest zijn destijds ontwikkeld en beschikbaar gesteld door Johan de Stigter, oprichter van Gandalf. Gandalf is een bedrijf dat zich heeft gespecialiseerd in het ontwerpen en leveren van diverse oplossingen op het gebied van WiFi. Website: http://www.gandalf.nl Huub Schuurmans van Wireless Leiden stelde voor een gesprek met Johan de Stigter aan te gaan om te discusseren over mogelijke hardware, dat eventueel geschikt zou zijn voor het gebruik als radio-interface. Gedurende het gesprek heeft Johan de Stigter onder andere zijn visie op het gebruik van dit soort kastjes gegeven en zijn enkele openstaande vragen over de 802.11a standaard besproken. Uit het gesprek kwam naar voren dat de huidige wandy-types of vergelijkbare oplossingen die ook zijn ontwikkeld door Gandalf, waarschijnlijk binnen een te hoge prijscategorie vallen. De diverse apparatuur die door Gandalf is onwtwikkeld wordt veelal geleverd met een eigen besturingsysteem. Gedurende het gesprek is daarom geinformeerd naar mogelijkheden om alleen de kale hardware te leveren, zonder de bijbehorende software. Johan de Stigter stelde dat dit waarschijnlijk niet rendabel zou zijn voor Gandalf, daar zij hun inkomsten grotendeels halen uit de verkoop van licenties voor de besturingssoftware. Hij stelde vervolgens een commercieel alternatief voor van de fabrikant Ubiquiti Networks. Deze Fabrikant levert al enkele jaren jaren professionele radio-oplossingen voor het gebruik in verschillende draadloze "breedband" toepassingen. De fabrikant heeft in het jaar 2008 een aantal "off-the-shelf" WiFi-producten op de markt gezet. Dit zijn oplossingen die overeenkomen met de wandy-architectuur, waarbij antenne, wifi en ethernet zijn geintegreerd. Initieel zijn voor de 2.4GHz en 5GHz WiFi-banden een tweetal product categorieën geintroduceerd, de NanoStations en de PowerStations. De PowerStations zijn gericht op het realiseren van outdoor point-to(multi)-point interlinks waarbij afstanden tot 50Km+ kunnen worden overbrugd. Voor de NanoStations gelden dezelfde mogelijkheden met een maximaal te overbruggen afstand van 10Km+. Beide apparaten zijn destijds geintroduceerd met een prijs van respectievelijk 180 en 80 amerikaanse dollars. Met het oog op de prijs en fucntionaliteit zou de NanoStation het meest geschikt zijn voor het gebruik als radio-interface binnen het IRIS-concept. Bij de afloop van het gesprek stelde Huub Schurmans daarom voor een tweetal 802.11a gebaseerde NanoStations bij Gandalf te bestellen. ### 3.2.2. Basis-node. Buiten een aantal functionele eisen, zijn aan de start van het project niet veel specifieke eisen aan de hardware van de radio-interfaces gesteld. Een van de redenen hiervoor is dat initieel op de interfaces geen Wireless Leiden specifieke systeemsoftware geinstalleerd hoeft te worden; indien dan een keuze wordt gemaakt voor een "off-the-shelf" oplossing is niet direct noodzakelijk eigen software te installeren of ontwikkelen, maar kan ook gewoon gebruik gemaakt worden van de besturingssoftware die eventueel is meegeleverd door een desbetreffende fabrikant. Bij de afweging hoeft daarom in mindere mate rekening gehouden te worden met de hardware-acrhitectuur van de beoogde oplossing. Voor de basis-node geldt daarentegen dat de hardware compatible dient te zijn met de maatsoftware die reeds wordt gebruikt op bestaande nodes binnen het netwerk. In het plan van aanpak zijn daarom een aantal richtlijnen opgenomen waaraan de hardware zou moeten voldoen: - Embedded hardware platform, - X86 gebaseerde architectuur, - Minimaal 128MB-RAM, - Minimaal 64MB-Flash (evt verwijderbaar), - Minimaal drie 100Mbit ethernet poorten. Binnen Wireless Leiden worden al geruime tijd soortgelijke systeembordjes van Soerkis Engineering in het merendeel van de node-installaties gebruikt. Soekris Engineering is een Amerikaanse fabrikant gespecialieerd in het produceren van "embedded" systeemhardware gericht op verschillende communicatie doeleinden zoals routers, firewalls en accespoints. De modellen van Soerkis Engineering die overeenkomen met de bovengestelde richtlijnen zijn de net4801 en de net5510. Van het net4801 model zijn een aantal exemplaren binnen de organisatie beschikbaar en zou een geschikte keuze zijn voor de basis-node. Dit model heeft echter inmiddels zijn "en-of-life" status bereikt omdat de AMD, de chip fabrikant, gestop is met het produceren van de gebruikte SC1100 single chip processor. Soekris Engineering presenteert het net5510-type als opvolger van de net4801. Omdat van de reeds geproduceerde chips nog voorraad beschikbaar is, zijn momenteel nog steeds net4801 systeemborden beschikbaar voor ongeveer 160 euro. Een kaal Soekris net5501 systeembord is leverbaar voor ongeveer 200 euro, waardoor het eigenlijk buiten de beoogde prijs-categorie valt. Om meer inzicht inzicht te krijgen in vergelijkbare systemen die op de markt beschikbaar zijn, is op basis van de bovenstaande richtlijnen gezocht naar verschillende embedded platforms die mogelijk geschikt zouden kunnen zijn. Bij het zoeken is onderscheid gemaakt in een drietal architectuur-typen: x86, MIPS en ARM. Vooraf was bekend dat een implementatie van x86 de voorkeur zou hebben, daar deze architectuur het meest compatibel is met de bestaande software-oplossingen die door de organisatie worden gebruikt. Voor de x86 acrhitectuur is het voornamelijk belangrijk dat de chips gericht zijn op toepassingen met laag stroomverbruik, passieve koeling en een kleine vormfactor. Een aantal chips die binnen deze categorie vallen zijn onder andere de Intel Atom, AMD Geode en de Via embedded series. De Atom chips zijn door intel geintroduceerd in 2008 en zijn daarbij een van nieuwste ontwikkelingen op het gebied van "low-power microprocessors". Deze chips zijn gericht op het gebruikt in voornamelijk "Mobile Internet Devices" en "netbooks". Vanwege deze clasificatie zou de chip wellicht ook toepasbaar kunnen zijn in een "embedded"-platform vergelijkbaar met de Systeemborden van Soekris Engineering. Hoewel een groot aantal embedded-systemen verkrijgbaar zijn voor de diverse Intel Atom chips, lijken de oplossingen gedeeltelijk voorbij te gaan aan de voor Wireless Leiden begoogde doelstelling. De hardwareconfiguraties van de verschillende systeemborden beschikken veelal over componenten die gericht zijn op het gebruik als volledige (mobiele)pc-toepassing, maar met een kleine vormfactor en laag stroomverbruik. Geintegreerde componenten zijn voornamelijk VGA/DVI/HDMI poorten, Audio controllers, USB, SATA, PCI-Express, Gb-ethernet. Daar de basis-node binnen het IRIS-concept primair gebruikt gaat worden als routing platform zijn veel van deze componenten in principe overbodig. Ook ontbreken vaak meerdere ethernet poorten, maar door de verschillende mogelijkheden tot uitbreiding hoeft dit geen probleem te zijn. De chip fabrikant Via heeft al geruime tijd diverse x86 gebaseerde chips op de markt die gericht zijn op laag stroom verbuik en gebruikt kunnen worden in verschillende embedded-oplossingen. Voor deze Via chips geldt echter hetzelfde verhaal als bij de Intel Atom chips; de systeemborden die een implementatie van deze chips bevatten zijn eigenlijk bedoeld voor andere doeleinden dan alleen een routing platform of acces-point. Van de tot nu besproken microprocessors is de AMD Geode serie is eigenlijk de enige implementatie van een x86-architectuur waarvoor embedded systemeenborden beschikbaar zijn, gericht op op het gebruik als router / accespoint. De Geode series en de voorloper Elan worden binnen Wireless Leiden reeds gebruikt op de systeemborden van Soekris engineering. Voor de Geode chip was eigenlijk vooraf al bekend dat van de fabrikant PcEngines vergelijkbare oplossingen beschikbaar waren. De productlijn van PcEngines heeft een aantal systeemborden onwtwikkelde die passen in de lijn van Soekris Engineering maar pijs technisch voordeliger zijn. Naast x86 zijn een groot aantal embedded-oplossingen beschikbaar met een ARM of MIPS -architectuur. Deze chips zijn ontwikkeld volgens het RISC ontwerp, waarbij eenvoudige instructiesets worden gebruikt. Dit type microprocessors wordt bijvoorbeeld gebruikt in routers / acces-points , smart-phones en media-spelers. Mikrotik, de fabrikant van RouterBOARD heeft een productlijn gebaseerd op zowel de ARM als MIPS -architectuur. Deze systeemborden zijn gericht op het gebruik als routing platform voor diverse communicatie- doeleinden. Functioneel gezien voldoet de hardware aan bijna alle richtlijnen die voor de basis-node zijn gesteld, alleen is deze niet gebaseerd op een x86-architectuur. De voorkeur voor een x86-architectuur komt voort uit compatbiliteits overwegingen met de bestaande systeemsoftware. Bestaande nodes binnen het netwerk van de organisatie zijn opgebouwd met een FreeBSD besturingsysteem en en systeemsoftware. Hoewel binnen de FreeBSD-community al enige tijd projecten lopen om de ondersteuning van ARM en MIPS te realiseren bevinden deze projecten zich nog gedeeltijklijk in ontwikkelings-fasen. Verder onderzoek(praktisch) zou nodig zijn om de huidige ondersteuning en geschiktheid als platform voor de verschillende hardware te kunnen bevestigen. Een andere mogelijkheid zou kunnen zijn de bestaande node-software te migreren naar een linux-omgeving. De linux-wereld heeft ondersteuning voor praktisch alle ARM en MIPS chips die op de markt beschikbaar zijn. Voor beide opties geldt echter dat waarschijnlijk uitgebreid onderzoek en langdurige onwtikkeling nodig is op verschillende nieuwe en bestaande vlakken, waarvoor de project-scope van het IRIS-project alleen niet toereikend zou zijn. Huub schuurmans heeft naderhand een tweetal Alix2d3 systeemborden besteld van de fabrikant PcEngines. Deze hardware maakt gebruik van de laatste generatie AMD geode chips en voldoet aan de richtlijnen die zijn gesteld in het plan van aanpak. Functioneel gezien past dit systeem in de lijn van de Soekris net4801 / 5501. Zoals eerder gesteld is de hardware van PcEngines voordeliger geprijsd en kan een Alix2d3 systeembord worden aageschaft voor ongeveer 100 euro. Prijs-technisch past dit samen met de NanoStations binnen de gestelde specificaties van maximaal 200 euro per node / interlink. Doordat gekozen is voor x86-gebaseerde hardware, hoeft bij de ontwikkelinng van de node-installatie en implementatie van software geen rekening gehouden te worden met mogelijke compatibiliteitsproblemen gerelateerd aan het gebruikte hardware-platform. ### 3.3 Initiele software keuze Bij Wireless Leiden wordt op node-installaties in principe alleen gebruik gemaakt van open source software-oplossingen, waarvan diverse componenten zijn ontwikkeld door vrijwliggers binnen de organisatie zelf. Omdat Wireless Leiden een historie heeft in het onwikkelen van eigen op maat gemaakte software, heeft de organisatie een uitgesproken voorkeur bij het gebruikt van open source toepassingen. De huidige node-installaties zijn gebaseerd op het open source UNIX besturingsysteem FreeBSD, en het was bij de start van het project duidelijk dat FreeBSD ook voor het ontwikkelen van de nieuwe node-installatie gebruikt zou gaan worden. Omdat node-installaties gericht zijn op een embedded systeemconfiguratie, is het belangrijk dat de installatie hierop wordt aangepast. In het verleden zijn hiervoor verschillende oplossingen gebruikt die zich richten op het strippen van het besturingsysteem, automatiseren van installatiestappen en het aanpassen van de softwareconfiguraties. Het is gebleken dat vernieuwing van systeemsoftware ervoor kan zorgen dat dergelijke oplossingen na verloop van tijd aangepast moeten worden om hun fucntionaliteit te behouden. Hoewel dit geen probleem hoeft te zijn, is vaak inhoudelijk een grote mate van technische kennis noodzakelijk om dergelijk wijzigingen door te voeren. De organisatie zelf bestaat uit vrijwilligers waarvan slechts een deel over voldoende kennis bezit om op dit niveau beheer uit te voeren. Het is daarom belangrijk voor een aanpak te kiezen waarbij de verschillende aspecten van het node-beheer zo eenvoudig, inzichtelijk en transparant mogelijk uitgevoerd kunnen worden. Aan de hand van de bovenstaande case zijn een aantal "deelvragen" opgenomen in het plan van aanpak die zich richten op een aantal aspecten van het beheer; installatie, configuratie, updates / testen en monitoring. De belangrijkste keuze die hier primair voor moest worden gemaakt is het selecteren van een geschikte methode om de embedded node-installaties te kunnen creeren, zodat de overige onderdelen van het beheer aan deze basis kunnen worden aangepast. Omdat initieel gekozen is voor een "off-the-shelf" oplossing voor de radio-interfaces, hoeft bij de ontwikkeling van de node-installatie alleen voor de basis-node een systeeminstallatie Gecreëerd te worden. Voor FreeBSD zijn een aantal oplossingen beschikbaar die het produceren embedded systeeminstallaties ondersteunen. - TinyBSD: TinyBSD Bestaat uit een set van tools en shell scripts dat is ontworpen om de ontwikkeling van embedded systemen gebaseerd op FreeBSD zo eenvoudig mogelijk te maken. Het maakt deel uit van het FreeBSD basis systeem in /usr/src/tools/tools/tinybsd en kan gebruikt worden binnen FreeBSD 5.x, 6.x, 7.x en 8-CURRENT om een gestripte versie van FreeBSD te produceren. Op basis van de op het hostsysteem geinstalleerde FreeBSD versie kan met het tinybsd script een embedded systeemimage worden aangemaakt. Afhankelijk van de configuratie wordt een installatie gecreeerd met een volume tussen de 8 en 20 MB. - NanoBSD: NanoBSD is een toepassing binnen FreeBSD dat gebruikt kan worden bij het creëren van een volledig functionele FreeBSD embedded systeeminstallatie. Evenals TinyBSD maakt NanoBSD deel uit van het FreeBSD basissysteem. NanoBSD bestaat uit een enkel shell script dat met een aantal configuratiebestanden kan worden gevonden in /usr/src/tools/tools/nanobsd. Een NanoBSD systeem- image wordt gecompileerd vanuit de FreeBSD sourcec-tree en heeft afhakelijk van de configuratie een volume van ongeveer 150-200 MB en het is mogelijk de installatie verder te strippen tot een basis van 64 MB. NanoBSD kan worden gebruikt binnen FreeBSD versies 6.x, 7.x en 8-CURRENT. - MiniBSD: Het MiniBSD project bestaat uit een set van scripts die gebruikt kunnen worden voor het produceren van gestripte FreeBSD installaties geschikt voor embedded-systeemconfiguraties. OP basis van de FreeBSD installatie op het hostsysteem kan een image worden aangemaakt dat kan worden weg geschreven naar een gewenst media. Het volume van de systeeminstallatie is ongeveer 12-15 MB. MiniBSD kan worden gebruikt binnen FreeBSD versies 4.x, 5.x, 6.x, 7.x en 8-CURRENT. Hoewel meerdere oplossingen voor FreeBSD beschikbaar zijn, wordt aan deze projecten actief ontwikkeld. Dit betekend dat het waarschijnlijk is dat de functionaliteit behouden blijft bij toekomstige releases van het FreeBSD besturingsysteem. De bovenstaande toepassingen hebben primair als overeenkomst dat ze functioneel bedoeld zijn voor produceren van FreeBSD-installaties geschikt voor een embedded-systeemomgeving. NanoBSD onderscheidt zich van TinyBSD en MiniBSD dat het gericht is op het gebruik als volledig functionele FreeBSD-installatie. Dit resulteert zich in een verschil ten opzichten van TinyBSD en MiniBSD bij de uiteindelijke omvang van een systeeminstallatie. Voor NanoBSD geldt dat zowel de FreeBSD-world als de kernel worden gecompileerd vanuit de source-tree, dit in tegenstelling tot TinyBSD en MiniBSD waarbij alleen de kernel uit de source-tree wordt gecompileerd, en de systeeminstallatie verder wordt samengesteld uit bestanden van het geinstalleerde hostsysteem. NanoBSD en TinyBSD zijn beide ogenomen in het basis systeem van FreeBSD wat een vorm van zekerheid biedt met betrekking tot de stabiliteit en continuiteit van de toepassingen. Naast het toepassen van een van een deze drie opties, is een binnen de organisatie ook een voorstel gedaan om gebruik te maken van een "standaard" minimale FreeBSD-installatie. Deze installatie zou klein genoeg zijn om op flash-media te installeren en mist verder geen functionaliteiten. Om de besluitvorming hierover te ondersteunen stelde Huub Schuurmans voor een brainstrom-sessie te houden met een aantal mensen die vanuit de techniek inhoudelijk een bijdrage konden leveren. Het Gesprek is gevoerd met Rick van der Zwet en Huub Schuurmans, beide vrijwilligers bij Wireless Leiden en Nick Hibma een medewerker van Anywi. Anywi is een bedrijf dat zich heef gespecialiseerd in de ontwikkeling van datacommunicatiesystemen, waarbij gebruik wordt gemaakt van diverse draadloze toepassingen zoals GPRS, WiFi, UMTS/HSDPA. Rick van der Zwet beschikt binnen Wirless Leiden over de nodige technische kennis van bestaande oplossingen en configuraties die momenteel binnen de netwerkstructuur van de organisatie gebruikt worden. Gedurende het gesprek heeft Nick Hibma onder andere zijn visie op het gebruik van software in een embedded systeemomgeving gedeeld. Anywi maakt in haar oplossingen gebruikt van node-configuraties die overeenkomsten hebben met die van Wireless Leiden. In de "tool-kit" die Nick Hibma hiervoor heeft ontwikkeld wordt gebruik gemaakt van NanoBSD als basis toepassing om embedded-systeeminstallaties te produceren. Hij heeft in het gesprek inhoudelijk toelichting gegeven hoe een NanoBSD-installatie aansluit op een aantal aspecten van de node-configuratie die ook bij Wireless Leiden van belang zijn; daarbij is mede over de volgende punten gediscussieerd, diskless configuraties, wijzigingsbeheer en het configureren van node-specifieke componenten.