370 likes | 385 Views
Modeling & Analysis. Mathematical Modeling: probability theory queuing theory application to network models Simulation: topology models traffic models dynamic models/failure models protocol models. Simulation tools. VINT (Virtual InterNet Testbed) & NS-2 :
E N D
Modeling & Analysis • Mathematical Modeling: • probability theory • queuing theory • application to network models • Simulation: • topology models • traffic models • dynamic models/failure models • protocol models
Simulation tools • VINT (Virtual InterNet Testbed) & NS-2: • http://www.isi.edu/nsnam/vint [USC/ISI, UCB,LBL,Xerox] • network simulator (NS), network animator (NAM) • library of protocols: • TCP variants • multicast/unicast routing • routing in ad-hoc networks • real-time protocols (RTP) • …. Other channel/protocol models & test-suites • extensible framework (Tcl/tk & C++)
OPNET: • commercial simulator • strength in wireless channel modeling • GlomoSim (QualNet): UCLA, parsec simulator • ONE (DTN sim), SUMO (vehicular mobility), OMNET++,... (more later) • Research resources: • ACM & IEEE journals and conferences • SIGCOMM, INFOCOM, Transactions on Networking (TON), MobiCom • IEEE Computer, ACM Communications magazine • www.acm.org, www.ieee.org
Network Simulation (NS) • One tool to simulation network protocols for the Internet is the network simulator (NS) • The simulation environment needs to be set-up carefully to produce meaningful results • The simulation set-up is called ‘simulation scenario’
Simulation Scenarios • In general, a simulation scenario consists of three different main components (or dimensions) • Routed Topology • Connections, Traffic and Agents/end-host protocols • External events and Failures
Routed Topology • Defines the number of nodes and their connectivity • Defines the links connecting the nodes, their bandwidth, delay, queuing discipline and other characteristics • Defines the routing protocols running in the nodes in terms of unicast and multicast routing • Can use topology generators (e.g., GT-ITM)
Connections, Traffic and Agents • Agents are end-host protocols, such as TCP, ftp, Telnet, UDP.. etc. • Traffic source can be: (uses a traffic model) • constant bit rate (CBR) at rate R • with distribution (Poisson or Pareto) • trace driven • Connection definition includes spatial distribution of connections (TCP sender/receiver, or group members)
External events and Failures • External events include the temporal distribution of connections: • start and end of TCP connections • join/leave patterns for multicast group members • Failures include link failures, packet loss patterns and congestion patterns and may follow a failure model or distribution • Events may also include movement patterns of mobile hosts
The network simulator (NS) • It is a packet-level discrete-event simulator • The simulation engine is written in C++ and mainly handles the event-queue and per packet processing (such as TCP and forwarding caches) • Most protocols (such as unicast/multicsat) routing protocols are implemented in Otcl (Object Tcl) • Check the vint project catarina.usc.edu/vint, and follow the on-line step-by-step tutorial
Getting Started • Download the ns from: • http://www.isi.edu/nsnam/ns • Tcl/tk, otcl, tclcl, ns • Install ns in your system • Binary release is provided for windows 9x/NT • NS-allinone package is strongly recommended • Download nam if visualization is needed • http://www.isi.edu/nsnam/nam • Included in ns-allinone package • Get help from ns-users@isi.edu • check the mailing lists on the ns web page
What is ns Event Scheduler ns-2 tclcl Network Component otcl tcl8.0 • otcl: Object-oriented support • tclcl: C++ and otcl linkage • Discrete event scheduler • Data network (the Internet) components
Internals • Discrete Event Scheduler • Network Topology • Routing • Transport • Application • Packet Flow
Discrete Event Scheduler time_, uid_, next_, handler_ head_ -> head_ -> handler_ -> handle() insert time_, uid_, next_, handler_
n0 n1 Port Classifier Multicast Node dmux_ Addr Classifier classifier_ Node entry Node entry dmux_ entry_ entry_ Multicast Classifier classifier_ multiclassifier_ Network Topology - Node Unicast Node
n0 n1 n1 entry_ head_ enqT_ queue_ deqT_ link_ ttl_ drophead_ drpT_ Network Topology - Link
n0 n1 Port Classifier Addr Classifier n1 entry_ Node entry 0 head_ dmux_ enqT_ queue_ deqT_ link_ ttl_ 1 entry_ classifier_ drophead_ drpT_ Routing
n0 n1 Port Classifier Port Classifier Addr Classifier Addr Classifier 0 1 dmux_ dmux_ 1 0 entry_ entry_ classifier_ classifier_ Link n1-n0 Routing (cont.) Link n0-n1
dst_=0.0 dst_=1.0 Agent/TCPSink Agent/TCP agents_ 1 0 1 0 Transport n0 n1 Port Classifier Port Classifier Addr Classifier Addr Classifier 0 0 agents_ dmux_ dmux_ Link n0-n1 entry_ entry_ classifier_ classifier_ Link n1-n0
Application/FTP dst_=0.0 dst_=1.0 0 1 1 0 Application n0 n1 Port Classifier Port Classifier Addr Classifier Addr Classifier Agent/TCPSink Agent/TCP 0 0 agents_ agents_ dmux_ dmux_ Link n0-n1 entry_ entry_ classifier_ classifier_ Link n1-n0
dst_=0.0 dst_=1.0 0 1 1 0 Packet Flow n0 n1 Port Classifier Application/FTP Port Classifier Addr Classifier Addr Classifier Agent/TCPSink Agent/TCP 0 0 Link n0-n1 entry_ entry_ Link n1-n0
NS\VINT web pages\tutorial: • http://www.isi.edu/nsnam/vint • http://www.isi.edu/nsnam/ns/tutorial/index.html
* Ari Keränen, Jörg Ott and Teemu Kärkkäinen: The ONE Simulator for DTN Protocol Evaluation. SIMUTools'09: 2nd International Conference on Simulation Tools and Techniques. Rome, March 2009.
DTN Protocols Supported • Direct Delivery: single-copy routing protocol • a node carries messages until it meets its final destination • First Contact: single-copy routing protocol, • a node forwards the message to the first node they encounter, which results in a “random walk” search for the destination node • Spray-and-Wait: n-copy routing protocol, limits number of copies • distributes (“sprays”) copies to contacts until number of copies is exhausted. • Three routing protocols perform variants of flooding: • Epidemic replicates messages to all encountered peers • PRoPHET estimates the node with highest “likelihood” of delivering the message based on node encounter history. • MaxProp floods the messages but explicitly clears them once a copy gets delivered to the destination. Sends messages based on hop counts and message delivery probabilities based on previous encounters. • Routing capabilities of simulators such as ns-2 or dtnsim2 can also be used in conjunction with ONE. • Others: Social-based forwarding: bubble-rap, simbet, profile-cast, etc.
Mobility Models Supported • Random Walk (RW) and Random Waypoint (RWP) • these models are popular to their simplicity • they have various known shortcomings • To better model real-world mobility, map-based mobility (MBM) constrains node movement to predefined paths and routes derived from real map data • Further realism added by the Working Day Movement (WDM) model, that attempts to model typical human movement patterns during working days
CORSIM (Corridor Traffic Simulator) • Simulates vehicles on highways/streets • Micro-level traffic simulator • Simulates intersections, traffic lights, turns, etc. • Simulates various types of cars (trucks, regular) • Used mainly in transportation literature (and recently for vehicular networks) • Does not incorporate communication or protocols • Developed through FHWA (federal highway administration) http://ops.fhwa.dot.gov • Need to buy license
SUMO: Simulation of Urban Mobility • Vehicular mobility simulation • Takes input from maps, including open street maps (OSM) • Output can interface to protocols through other simulators (e.g., OMNET++) * Michael Behrisch, Laura Bieker, Jakob Erdmann, Daniel Krajzewicz, “SUMO – Simulation of Urban MObility An Overview”, SIMUL 2011 : The Third International Conference on Advances in System Simulation, 2011
En Route Framework • Roozbeh Ketabi, Babak Alipour, Ahmed Helmy, “En Route: Towards Vehicular Mobility Scenario • Generation at Scale”, IEEE INFOCOM – SmartCity, May 2017 (to appear).
Simulation Experiment: Vehicular Simulation using SUMO • 1- install SUMO and gett acquainted with it • Use provided links for installation and initial experimentation • Run Cologne scenario for 2 hours • 2- Use Open Street Maps (OSM) to get the map of Gainesville. Use built-in tools to generate traffic (random). • 3- Perform measurement and compile graphing code to analyze the outputs. This way you are involved more with the outputs. Compare Cologne vs random Gainesville or random Cologne on one or two metrics. • 4- (open ended, bonus points!) Experiment with VEINS framework and Networking simulators that run on top of SUMO (uses OMNet++). Share your experience!
SUMO Links and Resources • SUMO main page (link to download for windows is here too): • http://www.dlr.de/ts/en/desktopdefault.aspx/tabid-9883/16931_read-41000/ • SUMO wiki: http://sumo.dlr.de/wiki/Simulation_of_Urban_MObility_-_WikiTutorials page (very helpful): http://sumo.dlr.de/wiki/Tutorials • scenarios: http://sumo.dlr.de/wiki/Data/Scenarios • Cologne scenario: http://sumo.dlr.de/wiki/Data/Scenarios/TAPASCologne • Cologne scenario dl link from sourceforge: • https://sourceforge.net/projects/sumo/files/traffic_data/scenarios/TAPASCologne/TAPASCologne-0.24.0.7z/download • Documentation for SUMO program: http://sumo.dlr.de/wiki/SUMO • Doc. for NetConvert (used for converting OSM to SUMO maps): • http://sumo.dlr.de/wiki/NETCONVERT • Doc. for DuaRouter: http://sumo.dlr.de/wiki/DUAROUTER • OSM Web wizard (optional use as we used both this and querying OSM with other means): • http://sumo.dlr.de/wiki/Tools/Import/OSM#osmWebWizard.py