Professional Documents
Culture Documents
MANETWGImplementations
IETF72
MANETWG
2k8/7/29
Presentedby:
JoeKopena
tjkopena@cs.drexel.edu
http://nsnam.org/
PresentationContents
QuickintroductiontoNS3
Highlightitscapabilities,readynessforpracticaluse
Steadytrickleofpapersusingns3startingtoappear
ns3teamisveryeagertogetmorepeopleusingthe
systemandcontributingfeedbackorcode
Demotable@SIGCOMM2008,comecheckitout!
NotesonimplementationofMANETspecsforns3
pg.2/19
Alreadyreleased,done,inprogress
(Presentationgoal:~25minutes)
Part1
LightningQuickns3Introduction
BasicFacts
ns3:Anew,NSFprimed,opensourcesimulator
fornetworkingresearchandeducation
Cleanslatedesignfromns2,aimingtobeeasierto
useandmorereadyforextension
ns3coreiswrittenentirelyinC++
UsercodeprotocolsandscenariosalsoinC++
Pythonwrappersforusercodealsoexist
Librarybasedusage,nons3program(yet)
http://www.nsnam.org/getting_started.html
pg.4/19
KeyCodeFeatures
Sophisticatedsimulationfeaturesincluded
Extensiveparameterizationsystem
Configurableembeddedtracingsystem,withstandard
outputstotextlogsorPCAP(tcpdump/wireshark)
Objectorienteddesignforrapidcoding,extension
Automaticmemorymanagement
Objectaggregation/queryfornewbehaviors&state
pg.5/19
E.g.,addingmobilitymodelstonodes
KeySimulationFeatures
ModelstrueIPstack,w/potentiallymultiple
devices&IPaddressesoneverynode
BSDlookalike,eventbasedsocketsAPI
SynchronousAPIalternativeinprogress
Packetsincludewireformatted(serialized)bytes,
tags&metadataforeasyextensionandtracing
pg.6/19
SimulationNetworkArchitecture
LooksjustlikeIParchitecturestack
Application
Application
Protocol
stack
Application
Application
Socketslike
API
Protocol
stack
Packet(s)
Node
NetDevice
NetDevice
Node
Channel
NetDevice
NetDevice
Channel
pg.7/19
PicturefromTomHenderson,SimuToolsns3Tutorialslides
ArchitectureElements
Nodesmay/maynothavemobility,othertraits
Nodeshavenetworkdevices,e.g.WiFi,CSMA
NetDevicestransferpacketsoverChannels
IncorporatingLayer1(Physical)&Layer2(Link)
Devicesinterfacew/Layer3(Network:IP,ARP)
Layer3supportsLayer4(Transport:UDP,TCP)
Layer4isusedbyLayer5(Application)objects
pg.8/19
CodeExample1/3
CreatingaWiFi,IPbasednetwork:
NodeContainer nodes;
nodes.Create(g_numNodes);
WifiHelper wifi;
wifi.SetMac("ns3::AdhocWifiMac");
wifi.SetPhy("ns3::WifiPhy");
InternetStackHelper internet;
internet.Install(nodes);
Ipv4AddressHelper ipAddrs;
ipAddrs.SetBase("192.168.0.0", "255.255.0.0");
ipAddrs.Assign(nodeDevices);
pg.9/19
CodeExample2/3
Openingasocket:
InetSocketAddress addr(bcastAddr, m_bcastPort);
m_socket->Connect(addr);
m_socket->SetRecvCallback(MakeCallback(&Beacon::Receive, this));
pg.10/19
CodeExample3/3
Receivingapacket(callbacksetinpreviousslide):
void Beacon::Receive(Ptr<Socket> socket) {
Ptr<Packet> packet;
Address from;
while (packet = socket->RecvFrom(from)) {
Ipv4Address ipv4From =
InetSocketAddress::ConvertFrom(from).GetIpv4();
NS_LOG_INFO("Received packet, " << packet->GetSize() <<
" bytes from " << ipv4From);
...
pg.11/19
UpcomingFeatures
Known,establishedmodulesfornearfuture:
NSCLinuxnetworkstackportedintons3!
Ipv6Integratedintons3nativenetworkstack
EmulationRunsimulationsinrealtimeovernetwork
StatisticsDatacollection,manipulation,visualization
VisualizationWatchnetwork,applicationevents
Andmanymoreapologiesforanynotlisted!
pg.12/19
Part2
MANETWGImplementations
MANETImplementations
OLSRv1:Inns3stablereleaseforsometime
PacketBB&NHDP:ns3repotobereleasedright
afterIETF72(needspackaging/documentation)
SMF:Weakversionexists;tobeimproved
pg.14/19
OLSR
OLSRv1(RFC3626),basedonNS2code
Largelycompleteimplementationofspec
ns2versionbyF.J.Ros,ns3portbyG.Carneiro
NS3version:Supportsmultipleinterfaces,doesnot
supportMAClayerfeedback,HNAinprogress
InstalledsimplyusingHelperclass,e.g.:
OlsrHelper olsr;
pg.15/19
olsr.InstallAll ();
PacketBB
Recentlyupdatedtospecv13,latestns3API
LatestPacketBBspecnotablycleanerthanpreviously
Straightforwardimplementation
Easeofuse,coding>>memory,processoruse
Previousdirectbufferversionfrustratingtouse/develop
Presentsqueryinterface
I.e.:FetchTLVsbyaddress,addressesbyTLVs
pg.16/19
Butcancontroladdressblocklist,haveemptyaddrTLVs,etc
NHDP
Recentlyupdatedtospecv7,latestns3API
ns3::Applicationobjectwhichappsmayaccess
pg.17/19
NHDPobjectactsashubofprotocolarchitecture
Appsmayregistermessagetypetoreceive
Mayprovidemessagetoincludeinnextbeacon
SMF
Cheesyencapsulatingversiondeveloped
ns3::ApplicationobjectwhichpresentsForward()
Properintegrationwithns3forwardingtablesWIP
pg.18/19
TheEnd
ns3maincontact:
Presentationquestions/comments:
TomHenderson<tomhend@u.washington.edu>
JoeKopena<tjkopena@cs.drexel.edu>
ns3quickstartinstructions:
http://www.nsnam.org/getting_started.html
http://nsnam.org/
pg.19/19