Modeling Analysis Mathematical Modeling probability theory queuing theory
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 Inter. Net 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 • Glomo. Sim (Qual. Net): 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), Mobi. Com – 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 setup 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 9 x/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 otcl 8. 0 • • Network Component tclcl ns-2 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_ -> handler_ -> handle() insert time_, uid_, next_, handler_
Network Topology - Node n 0 Port Classifier Addr Classifier Node entry dmux_ entry_ n 1 Unicast Node Multicast Node classifier_ Node entry_ classifier_ dmux_ Multicast Classifier multiclassifier_
Network Topology - Link n 0 head_ enq. T_ n 1 queue_ drophead_ deq. T_ drp. T_ link_ ttl_ n 1 entry_
Routing n 0 n 1 Port Classifier Addr Classifier Node entry_ 0 1 classifier_ dmux_ head_ enq. T_ queue_ drophead_ deq. T_ drp. T_ link_ ttl_ n 1 entry_
Routing (cont. ) n 0 n 1 Port Classifier Addr Classifier entry_ 0 1 Addr Classifier dmux_ Link n 0 -n 1 entry_ classifier_ 1 0 classifier_ Link n 1 -n 0 dmux_
Transport n 0 n 1 Port Classifier Addr Classifier entry_ 0 1 0 dmux_ dst_=1. 0 Addr Classifier Agent/TCP agents_ Link n 0 -n 1 entry_ classifier_ 1 0 classifier_ Link n 1 -n 0 0 dmux_ dst_=0. 0 Agent/TCPSink agents_
Application n 0 n 1 Port Classifier Addr Classifier entry_ 0 1 0 dmux_ Application/FTP dst_=1. 0 Port Classifier Addr Classifier Agent/TCP agents_ Link n 0 -n 1 entry_ classifier_ 1 0 classifier_ Link n 1 -n 0 0 dmux_ dst_=0. 0 Agent/TCPSink agents_
Packet Flow n 0 n 1 Port Classifier Addr Classifier entry_ 0 1 0 Application/FTP dst_=1. 0 Port Classifier Addr Classifier Agent/TCP Link n 0 -n 1 entry_ Link n 1 -n 0 1 0 0 dst_=0. 0 Agent/TCPSink
• NSVINT web pagestutorial: – http: //www. isi. edu/nsnam/vint – http: //www. isi. edu/nsnam/ns/tutorial/index. html
The ONE (Opportunistic Network Environment) Simulator
* Ari Keränen, Jörg Ott and Teemu Kärkkäinen: The ONE Simulator for DTN Protocol Evaluation. SIMUTools'09: 2 nd 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 – PRo. PHET estimates the node with highest “likelihood” of delivering the message based on node encounter history. – Max. Prop 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 dtnsim 2 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
CORSIM
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 – Smart. City, 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_-_Wiki Tutorials 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/TAPASC ologne-0. 24. 0. 7 z/download • Documentation for SUMO program: http: //sumo. dlr. de/wiki/SUMO • Doc. for Net. Convert (used for converting OSM to SUMO maps): – http: //sumo. dlr. de/wiki/NETCONVERT • Doc. for Dua. Router: 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#osm. Web. Wizard. py
- Slides: 37