TDDD36: Laboration i OMNet++

Relevanta dokument
Objektorienterad Programmering (TDDC77)

Datorsystem och programmering

Laboration 2 Datorverktyg vid LiU

TDDC77 Objektorienterad Programmering

Föreläsning 3. Programmering, C och programmeringsmiljö

Programmering i C++ Kompilering från kommandoraden

Bruksanvisning för SeSAm GENETICA : Mendels Lagar

Instruktioner för att kunna programmera på skolans datorer

Objektorienterad Programmering (TDDC77)

Outline. Objektorienterad Programmering (TDDC77) Kursinfo. Outline. Hemsida. Organization. Ahmed Rezine Examination. Webreg.

TDTS04: Distansvektorroutning i java

Introduktion till datorer och nätverk vid institutionen för naturgeografi och ekosystemvetenskap

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 5. Laboration 4 Lådplanering Exempel på grafik, ett avancerat program Frågor

Administrationsmanual ImageBank 2

Introduktion till Linux. TDDC66 Datorsystem och programmering Föreläsning (i) Peter Dalenius Institutionen för datavetenskap

NetBeans 5.5. Avsikt. Projektfönster

Allmänt. Välkommen till SVENSKA VÅGs datorprogram för viktinsamling på PC.

Övning 1. Datateknik A, Java I, 5 poäng. Att ladda hem och installera Java Att skriva ditt första Javaprogram Att kompilera och exekvera ditt program

Objektorienterad programmering i Java I

Introduktion till programmering, hösten 2011

Kort-kort om utdelade användarkonton och datormiljön på NADA

Laboration 1 Introduktion till Visual Basic 6.0

Introduktion till Linux. TDDC66 Datorsystem och programmering Föreläsning 1 Peter Dalenius Institutionen för datavetenskap

Allmänt. Välkommen till SVENSKA VÅGs datorprogram för räknevägning på PC.

Programutveckling med Java Development Kit. (JDK 1.1.x) och Programmers File Editor (PFE 7.02)

Datorintroduktion 2009 Föreläsning 1. Dieter Larsen (IT-chef Matematiska vetenskaper)

GitHub for Windows och GitShell

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

Installationsanvisning för Su Officemallar 2007 För PC Word och PowerPoint

UNIX. 2D1339 Programkonstruktion Hösten 2001 Datorintroduktion Laboration 1. Mål. Vad laborationen går ut på. Redovisning

För publicerande på nätet: tentor, lösningsförslag mm

TDTS04: Ett chattsystem i java baserat på corba

Konsolfönster i Windows Momentet ingår i kursen PDA DTR1206 Lab 1 DOS Konsolfönstret

INSTALLATION...3 ATT KOMMA IGÅNG...3 PROGRAMMETS DESIGN...4 LÄGGA TILL TABELL...4 EDITERA TABELL...4 EDITERA RELATION...5 SPARA OCH AVSLUTA...

IT-körkort för språklärare. Modul 3: Ljud, del 1

Som student vid Linköpings Universitet får du tillgång till ett lisam-baserat e-postsystem.

SF1546, Numeriska Metoder för O1 Lab0 - frivillig. (dvs uppgifterna behöver inte redovisas!)

Laboration: Grunderna i MATLAB

DATORLÄRA Christophe Clément - Fysikum

TDP001: Handhavande av datormiljö, 4 hp. Ola Leifler, Institutionen för datavetenskap

Välkommen till dataintroduktion. Föreläsare Stephan Kring Ansv. helpdesk & web

Introduktion till Unix och Linux

Administrationsmanual ImageBank 2

Detta dokument skall ge en kortfattad introduktion till Jasmine installationen vid DSV.

SF1672, Linjär Algebra med Matlab för F1 Lab0

Unix-miljöer i större sammanhang

Uppkoppling, inloggning på SFK:s konto på join.me

Flödesschema som visar hur man använder Quartus II.

Komma igång med 3L Pro Komma igång med 3L. Copyright VITEC FASTIGHETSSYSTEM AB

Beställning av Förlitandepart-certifikat Version

Installation av Communicate By Choice 1.4 administrativ installation

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

DN1212, Numeriska metoder & grundläggande programmering. Laboration 1 del 1-3 (frivilliga delar) Del 1-3 (dvs upg ) behöver inte redovisas

Föreläsning 1 Unix. Datorer och datoranvändning Föreläsningar 2018/19. Operativsystem. Unix

Innehåll. Vad är MATLAB? Grunderna i MATLAB. Informationsteknologi. Informationsteknologi.

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

INSTALLATIONSGUIDE. Uppdatering av ditt Mamut-system

Datorintroduktion 2010 Föreläsning 1. Dieter Modig

Verktyg och Utvecklingsmiljö. Föreläsning 2 Eclipse

Lab 7, 48 steg till ett bättre liv i Unix-labbet

Kom igång med TIS-Office

Installera SoS2000. Kapitel 2 Installation Innehåll

Vop handledning. Användarhandledning till Vop applikationen. UPPGJORD: Mattias Gyllsdorff GODKÄND:Mattias Gyllsdorff REV: A DATUM:

TeamViewer Installation och användning

Instruktion för användande av Citrix MetaFrame

Installationsguide för FAR Komplett Offline 2.1.2

Kort-kort om utdelade användarkonton och datormiljön på NADA

NetBeans 7. Avsikt. Projektfönster

Se till att posten är i Ändringsläge. Gå till rullgardinsmenyn under Föremål och välj Lägg in bild.

Spara papper! Skriv inte ut sammanfattning utan ladda ner PDF!

Föreläsning 3. Programmering, C och programmeringsmiljö

Introduktion till Linux. TDDE23 Funktionell och imperativ programmering, del 1 Föreläsning 1 Peter Dalenius Institutionen för datavetenskap

Beställning av certifikat för anslutning till BankID (RP certificate) Version

Installationsanvisning för Su Officemallar 2007 För PC

Uppgift 1 ( Betyg 3 uppgift )

OBS! Snabbinsatt Matlab-intro vissa fönsterhanteringsdetaljer kan vara fel men gör gärna Matlab-uppgifterna. DN1240, Numeriska metoder för OPEN1.

Introduktion till datormiljön och Python

Lab1 inginfo07. Detta dokument innehåller övningar för introduktion till Media-programmets datorsystem (Mac OS X).

Datorer och datoranvändning Föreläsningar 2014/15. Föreläsning 1 Unix. Operativsystem. Unix

Datorlaboration 0, Programmering i C++ (EDA623)

INSTALLATIONSHANDBOK

PC-teknik, 5 p LABORATION ASSEMBLERINTRODUKTION

Allmänt om programvaror och filer i Windows.

DD1310 Programmeringsteknik för Open1 och Med2 Laborationer läsåret 2014/2015

Del 1: Skapa konto i Exchange

Delta i undervisning online via Zoom

ALEPH ver. 16 Introduktion

Eclipse. Avsikt. Nu ska ett fönster liknande figuren till höger synas.

TUTORIAL: SAMLING & KONSOLL

Inledande programmering med C# (1DV402) Ditt första C#-program med Visual Studio

DATORINTRODUKTION. Laboration E ELEKTRO. UMEÅ UNIVERSITET Tillämpad fysik och elektronik Ulf Holmgren

Instruktion för laboration 1

Manual Demoväska RFID. Manual Demoväska. Sara Svensson/Monika Lindgren/Fredrik Karlsson Version BnearIT AB 1(17)

Föreläsning 2. Operativsystem och programmering

BaraTrav Prenumeration och Installation Version 1.3.4

Code-Lite tutorial ( /RoJ)

Lab1 Introduktion. 1 Syfte. 2 Innehåll Win32API Skapa trådar Kritiska sektioner Mailslothantering. 3 Förberedelse & Tips

Xerox Device Agent, XDA-Lite. Installationsguide

Instruktion för laboration 1

Datorlaboration 0, Programmering i C++ (EDAF30)

Transkript:

15 September 2010 TDDD36: Laboration i OMNet++ Juha Takkinen, tekn.dr Institutionen för datavetenskap (IDA), LiU 1.0 Översikt av laborationen Denna laboration ger dig dels en introduktion till OMNet++ och dels tillfälle att analysera ett IEEE 802.11-nät i ad hoc-läge. Laborationen görs i grupper om två personer. Vi har reserverat två labbtillfällen för laborationen i pc-pul på IDA (se timeeditschemat för kursen), men du kan lika gärna göra laborationen hemifrån eller på din egen laptop genom att installera OMNet++ själv. Vi använder IDAs webregsystem för att administrera labbresultat. Skriv upp dig i en labbgrupp genom att logga in med ditt LiU-id på adress https://www.ida.liu.se/webreg/tddd36-2010/lab1 och senast den 20 september 2010. Sista datum för redovisning av laborationen är fredagen den 22 oktober. IDAs och LiUs policy för datorlaborationer gäller även laborationen i TDDD36; se bilaga sist i detta dokument. 2.0 Introduktion till OMNet++ I den första halvan av laborationen kommer du att få lära dig hur man arbetar i omnetmiljön (OMNet++) och vilka de viktigaste verktygen och funktionerna är. 1 av 6

Introduktion till OMNet++ 2.1 Uppstart (Del 1: Getting started) 1. Du behöver först skapa en workspace som ligger på ditt konto där du har skrivrättigheter, t.ex. under Desktop; skapa en katalog som heter tictoc där. 2. Gå sedan till sidan TicToc Tutorial for OMNeT på adress http://www.omnetpp.org/doc/omnetpp40/tictoc-tutorial/ och välj Getting started. 3. I omnet kan man arbeta både i ett linuxliknande kommandoskalfönster 1 och via ett grafiskt gränssnitt. Du ska börja med ett kommandoskalfönster. Starta nu ett linuxliknande skalfönster: Välj Start-->All Programs-->OMNET++-->mingwenv (shell) och klicka OK på frågan om du vill tillåta programmet att exekvera; förstora fönstret så du kan arbeta i det. 4. Gå till din workspace via cd-kommandot; sökvägen till t.ex. Desktop brukar se ut som /c/documents and Settings/juhta595/ Desktop 5. Skapa en katalog som heter tictoc, om den inte redan finns där, med mkdir-kommandot: mkdir tictoc. (Om du skapar tictockatalogen med mkdir under Documents and Settings\Desktop så kommer katalogen sedan att återfinnas under My Computer och på den lokala hårddisken via menyerna i Windows.) 6. Gå sedan till din nyskapade tictockatalog och kopiera dit samtliga tutorialexempel från samplekatalogen: cp -r /c/programs/ OMNeT++/omnetpp-4.1/samples/tictoc. (OBS. punkt på slutet efter mellanslaget). Lista innehållet i katalogen med ls-kommandot. Notera att siffrorna i filnamnen motsvarar de olika stegen i tutorial. 7. Läs nu tutorialtexten under Getting started, steg 2 och 3. 8. I steg 4 och 5 i tutorialtexten ska du sedan skapa en makefile-fil med opp_makemake-kommandot för att kunna kompilera med make-kommandot; kör dessa två kommandon i tictockatalogen; kontrollera att det har skapats en fil som heter tictoc.exe i katalogen. OBS. Om du senare skulle behöva uppdatera makefilen så måste du ange flagga "-f" efter opp_makemake-kommandot. 9. Innan du kan köra din simulering måste du tala om för omnet vilket nät den ska aktivera. Detta gör du genom att skapa en omnetpp.inifil i katalogen där exe-filen ligger. I steg 6 i tutorialtexten under Getting started visas först den ini-fil som behövs för tictoc1- exemplet (endast en rad) och sedan hela den ini-fil som du redan har kopierat från sampleskatalogen och som innehåller inikommandon för samtliga nät som skapas i tutorial. Denna stora ini- 1. Om du är osäker på de vanligaste unix/linuxkommandona, se t.ex. Linux Cheat Sheet hos FOSSwire: http://fosswire.com/post/2007/08/unixlinux-command-cheat-sheet/. 2 av 6 TDDD36: Laboration i OMNet++

Introduktion till OMNet++ fil är ett exempel på hur man kan ha flera olika nät samtidigt definierade och som man sedan kan välja att köra, antingen från kommandoraden eller så frågar omnet vilket nät som önskas. 10.Starta nu simulatorn med kommandot tictoc i skalfönstret, i tictockatalogen. Du ska då få upp två fönster, ett topologifönster och ett resultatfönster för spårutskrifter. Klicka på Run i topologifönstret och starta din simulering. Tryck på Stop-knappen när du vill avsluta simuleringen. Fråga 1.I vilken fil definierar man nätets topologi? Fråga 2.Vad gör funktionen initialize()? Vad åstadkommer anropet av send() i funktionen initialize()? Fråga 3.Vad gör funktionen handlemessage()? Fråga 4.Ange vilken/vilka av följande fördröjningar som finns i nätet i del 1: sändningsfördröjning (eng. transmission delay), propageringsfördröjning (eng. propagation delay), bearbetningsfördröjning (eng. processing delay), köfördröjning (eng. queueing delay). 2.2 Förfining av nätet (Del 2: Enhancing the 2-node tictoc) Du ska nu få se hur man kan förfina nätet från del 1 ovan genom att lägga till fördröjningar i det och även timers och omsändning av paket. Du kommer även att få lära dig hur man förbättra presentationen av nätet på skärmen, lägga till fler variabler för att kontrollera simuleringen med och även förbättra spårutskrifterna. 11.Gör steg 2-9 i denna andra del av tutorial. Fråga 5.Vad åstadkommer en rad såsom EV << Hello\n? Är det samma som att skriva printf( Hello\n );? Fråga 6.Vad använder man makrot WATCH till i omnet? Fråga 7.Hur kan man modellera bearbetningsfördröjning (eng. processing delay) i omnet? Fråga 8.Hur många och vilken typ av slumptalsfördelningar (eng. random number distributions) används i del 2 av tutorial? 2.3 Ett mer verklighetstroget nät (Del 3: Turning it into a real network) Nu kommer du att få lägga till fler noder i nätet, fler fördröjningar och duplexkanaler. Dessutom ska den hårdkodade adressen i meddelandena ersättas med en slumpmässigt skapad adress som läggs in i meddelandehuvudet. 12.Gör steg 10-13 i del 3 av tutorial. Fråga 9.Vilka fördröjningar (eng. delays) finns i nätet i del 3? Sammanfatta hur och var de kan implementeras i omnet. TDDD36: Laboration i OMNet++ 3 av 6

IEEE 8021.11-nät i ad hoc-läge Fråga 10.Hur ser protokollhuvudet på meddelandena ut som skickas i nätet i del 3? Ange dess olika fält. 2.4 Insamling av statistik (Del 4: Adding statistics collection ) Här lär du dig hur man lägger till funktioner för att samla in statistik om antal paket som har skickats/tagits emot och generell statistik som senare kan analyseras i IDE, den eclipsebaserade utvecklingsmiljön i omnet. 13.Gör nu steg 14-15 i tutorial. Fråga 11.Hur talar man om för omnet att man vill samla in statistik från en simulering? Fråga 12.Var sparas resultatet från en simulering? 2.5 Visualisering av resultat (Del 5: Visualizing the results with the OMNeT++ IDE) I den sista delen i tutorial ska du lära dig hur man kan visualisera den insamlade statistiken från nätet. Det finns flera grafiska verktyg i omnet som kan användas för att visa resultat visuellt i form av grafer. Du kommer senare att bla analysera sekvensdiagram (eng Sequence charts), som grafiskt visar lagren i nätet och hur kommunikationen har skett mellan dem och noderna i nätet. 14.Kör simuleringen av nätet i filerna markerade med siffran 15. Stoppa sedan simuleringen när du tycker att det har samlats in tillräckligt med data. Resultatet ska ha lagrats i filerna Tictoc15-0.vec och Tictoc15-0.sca. OBS. Innan du avslutar omnet, se till att anropa Simulate Call finish() via menyn (eller klicka på motsvarande knapp i fönstret) då kommer funktionen finish() att anropas och data att skrivas till filen Tictoc15-0.sca. Fråga 13.Skapa ett sekvensdiagram (eng. sequence chart) för en körning av simulatorn med tictoc15-exemplet (6 noder). Förklara vad diagrammet innehåller för information. 3.0 IEEE 8021.11-nät i ad hoc-läge I denna avslutande del av laborationen kommer du att kunna redogöra för hur en lyckad respektive misslyckad kommunikation mellan två noder i ad hoc-läge i ett wifinät ser ut. 15.Skapa en ny katalog som heter adhoc i din workspace (se Uppstart ovan). Kopiera sedan filerna från omnets exempelkatalog: cp -r /c/ 4 av 6 TDDD36: Laboration i OMNet++

IEEE 8021.11-nät i ad hoc-läge programs/omnet++/omnetpp-4.1/inet/examples/adhoc/ieee80211. (OBS. punkt på slutet efter mellanslaget). Denna simulering som du nu har lagrat i katalogen adhoc utgörs av ett IEEE 802.11-nät i ad hoc-läge; ad hoc betyder att nätet saknar en naturlig infrastruktur, uppbyggd av t.ex. accesspunkt och distributionssystem. Nätet består endast av två stationer (noder). Dessa kommunicerar med varandra; station host1 skickar ping-meddelanden till station host0. 16.Du ska nu köra simuleringen av ad hoc-nätet, men via det grafiska gränssnittet till omnet istället. Välj Start-->Programs i Windows. Välj sedan Open i omnet och öppna omnetpp.ini-filen. Välj sedan Run As-->Simulation och simuleringen startar. Studera noderna när de rör sig över en begränsad area och hur host1 skickar meddelanden till host0. Tryck på Stop-knappen för att avbryta simuleringen. Upprepa simuleringen några gånger. 17.Kör nu simuleringen en gång till för att samla statistik för att svara på frågorna som följer. Avsluta sedan omnet. Svara Ja på frågan om du vill köra finish(). 18.Starta det grafiska omnet igen. Välj Sequence chart, läs in resultatfilen från din simulering. Filtrera sedan bort alla lager utom MAC-lagret och det fysiska lagret genom att välja NED-typer. Du kan sedan även flytta de fysiska lagren för såväl host0 som host1 till mitten av diagrammet, så att MAC-lagren för noderna hamnar överst respektive underst. Detta gör det lättare att följa vägen för ett meddelande mellan noderna och genom lagren. Fråga 14.Varför skulle du svara Ja på den sista frågan innan du avslutade omnet ovan? Fråga 15.Studera omnetpp.ini-filen. Vilket protokoll används i MAClagret enligt omnetpp.ini-filen? Hur ser det fysiska lagret ut? Fråga 16.Se på ditt sekvensdiagram. Hur många pingmeddelanden kom fram till host0? Hur vet du det? Fråga 17.Redovisa steg-för-steg hur ett pingmeddelande upptäcks och tas emot av host0 genom att hänvisa till sekvensdiagrammets beskrivning av händelsen. Fråga 18.Hur många pingmeddelanden misslyckades, d.v.s. kom inte fram eller misstolkades av host0? Välj ett av de misslyckade pingmeddelandena och förklara varför det meddelandet misslyckades. Hänvisa till data insamlad av omnet om det fysiska lagret och MAC-lagret. TDDD36: Laboration i OMNet++ 5 av 6

Redovisning 4.0 Redovisning Svara på frågorna i texten och skriv en labbrapport. Använd IDAs labbrapportomslag och fyll i alla fält. Underteckna och lägg i ett brunt internkuvert adresserat till Juha Takkinen och lämna i postfacket till IDAs postrum som finns mitt emot Café Java i hus B. PS! Använd gärna simulatorn i ert projekt och/eller er slutpresentation. Bilaga: Regler för examinering av datorlaborationer vid IDA. Datorlaborationer görs i grupp eller individuellt, enligt de instruktioner som ges för en kurs. Examinationen är dock alltid individuell. Det är inte tillåtet att lämna in lösningar som har kopierats från andra studenter, eller från annat håll, även om modifieringar har gjorts. Om otillåten kopiering eller annan form av fusk misstänks, är läraren skyldig att göra en anmälan till universitetets disciplinnämnd. Du ska kunna redogöra för detaljer i koden för ett program. Det kan också tänkas att du får förklara varför du har valt en viss lösning. Detta gäller alla i en grupp. Om du förutser att du inte hinner redovisa i tid, ska du kontakta din lärare. Då kan du få stöd och hjälp och eventuellt kan tidpunkten för redovisningen senareläggas. Det är alltid bättre att diskutera problem än att, t.ex., fuska. Om du inte följer universitetets och en kurs examinationsregler, utan försöker fuska, t.ex. plagiera eller använda otillåtna hjälpmedel, kan detta resultera i en anmälan till universitetets disciplinnämnd. Konsekvenserna av ett beslut om fusk kan bli varning eller avstängning från studierna. Policy för redovisning av datorlaborationer vid IDA För alla IDA-kurser som har datorlaborationer gäller generellt att det finns en bestämd sista tidpunkt, deadline, för inlämning av laborationer. Denna deadline kan vara under kursens gång eller vid dess slut. Om redovisning inte sker i tid måste, den eventuellt nya, laborationsserien göras om nästa gång kursen ges. 6 av 6 TDDD36: Laboration i OMNet++