70 likes | 163 Views
Network Emulation for the Study and Validation of Traffic Models, Congestion and Flow Control in TCP/IP Networks. Cheryl Pope Lecturer Department of Computer Science Faculty of Engineering, Computer and Mathematical Sciences The University of Adelaide. Validating Networks.
E N D
Network Emulation for the Studyand Validation of Traffic Models, Congestion and Flow Control in TCP/IP Networks Cheryl PopeLecturer Department of Computer Science Faculty of Engineering, Computerand Mathematical Sciences The University of Adelaide
Validating Networks • Motivations for evaluation environments • adaptive applications (multimedia, streaming, mobile) • validation of traffic models (traffic aggregation) • protocol testing (TCP congestion/flow control) • QoS support (flows, IntServe/DiffServe behaviours) • distributed applications • Current evaluation environments • simulation (most common) • Software based model of the underlying network. • “live” testing (less common) • Dedicated network resource or testing on the network to be used. • emulation (even less common) • Simulation which interacts with the network protocol stacks.
Evaluation environments • Simulation • + high level of control • + repeatable experiments • - difficult to accurately capture all aspects of the network • traffic models may be incorrect (Paxson-Floyd 95) • interaction of protocols • accuracy of protocol implementation • Live Testing • + very accurate model of the network • + no conversion of simulated applications needed • - low level of control (more difficult to create reproducible results) • - difficult to introduce new protocol behaviour other than end-to-end • - often just a “wire”
Network Emulation • Network emulation aims to combine the best properties of both simulation and “live” testing • Network functions are intercepted and delays, loss, etc. simulated • kernel network stack • socket API • Provides a controlled environment, reproducible results, transparency to applications Networksend/recv Emulation hooks Video TCP/IPstack (kernel) To other “host” Web
Existing Work in TCP/IP Network Emulation • Kernel based emulators • NIST Net (www.antd.nist.gov/itg/nistnet/ ) • Linux based kernel module • Supports input from applications or packet traces • Dummynet (www.iet.unipi.it/~luigi/ip_dummynet/ ) • Free BSD based • NS2 emulator (www.isi.edu/nsnam/ns/ns-emulation.html) • No published work since Oct 98. • BSD based • No interpretation of packet headers. (“opaque mode” only) • Entrapid (www.cs.cornell.edu/skeshav/papers/simphony.ps) • Supports virtual kernels (currently Free BSD)
Existing Work in TCP/IP Network Emulation • Lancaster University emulator (www.comps.lancs.ac.uk/computing/research/mpg/reports_1995.html) • Aimed at emulation of mobile networks with high delay • Central emulation process (<16 nodes) • Unix (Sun) • Non-kernel based • Delay Line - University of Newcastle (ajuna.ncl.ac.uk/group/papers/p040.ps) • interception of socket calls • must recompile applications to use emulator
Goals of the Emulation Environment • Both IPv6 and IPv4 support • IPv6 flows for QoS behaviours • RSVP • backwards compatability for IPv4 applications and existing network traffic traces • multicasting support • No expertise beyond that required by simulators • No “kernel hacking” for users • simple insertion of user defined behaviours without recompilation of main OS kernel • dynamic reconfiguration • visualisation of emulation • Scalability • allow for interconnectivity between emulators to build larger emulations