Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
RVS
Network Emulation
Torsten Braun
Computer Networks and Distributed SystemsInstitute of Computer Science and Applied Mathematics
University of Bern, Switzerlandwww.iam.unibe.ch/~rvs
Ecole d’été Internet Nouvelle Génération, June 14-18, 2004, Obernai
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n2/52
RVS
Overview§ Motivation§ Implementation and Live Tests§ Simulation§ Emulation
l Types of Emulationl Detail of Emulationl Centralized vs. Distributed Emulationl Layers of Emulationl Requirements on Emulation
§ Examplesl Simple Delay Line Modelling§ Network Emulator for Adaptive Applications,
Hitbox, Ohio Network Emulator, Dummynet, NIST Netl Detailed Modelling of Virtual Networks§ VINT/nse, ModelNet, Netbed, IP-TNE, Virtual Routers, PlanetLab
l Emulation in Mobile Networks§ Trace-Based Mobile Network Emulation, MobiEmu
§ Conclusions§ References
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n3/52
RVS
Motivation§ Networks do not only get faster but
become more diverse and carry diverse traffic. § Networks vary
l in bandwidth, l latency, l error and loss rates
and may be asymmetric. § Application demands vary
l Real-time requirementsl Reliability
→ Adaptive applicationsl Behaviour is often not deterministic. l New adaptive applications and protocols need to be evaluated
in non-simplistic network environments that are reproducible. § Evaluation
l Implementation and Live Testsl Simulationl Emulation
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n4/52
RVS
Implementation and Live Tests§ Real environment for running code§ Advantages
l Most realistic environment
§ Problemsl Difficult and expensive to set upl Limited in size and complexityl Interference with production networks l Reproducibility l Restricted to existing technologies
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n5/52
RVS
Simulation§ Synthetic environment for running
representations of code§ Advantages
l Full control over target platforml Investigation of complex network topologies and
conditionsl Not limited by speed of simulation hardwarel Low costl Flexibility
§ Problemsl Modelling of traffic (→ traffic traces)l Independent specification of network code.
Simulator might fail to mimic subtleties of real code. l Missing system interactions
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n6/52
RVS
Emulation
§ Combination of simulation and implementation§ Semi-synthetic environment for running code
l Real network implementation and supplementary means for introducing synthetic delays and faults
l Provides a virtual network to networked devices and applications
§ Applicationsl Debuggingl System designl Development of new protocolsl Performance evaluation
Emulation
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n7/52
RVS
Emulation§ Advantages
l Applications can run on unmodified real devices/systems.l Movement of code between emulated and real networkl Deployment of unmodified software prototypes
in a configurable Internet-like environment§ Important for scalable and reliable Internet services such as
peer-to-peer and overlay networks
l Configurable, controlled, reproducible environmentl Generation of real traffic
§ Problemsl Simulated time = real-time → real-time requirementsl Speed of emulation is limited by underlying simulation hardware.l Mutual interactions between emulation processesl Complexity of network topologies is limited.
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n8/52
RVS
Types of Emulation[Fall99]
Network Emulation§ Simulated components communicate with
protocol implementation in the real world.
Environment Emulation§ Extension of network emulation§ Implementation environment, in which
a real protocol implementation may be executed directly within the simulator
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n9/52
RVS
Detail of Emulation§ Modelling of networks as simple delay lines
l Requires little hardware supportl Examples: § Network Emulator for Adaptive Applications,
Hitbox, ONE, Dummynet, NIST Net
§ Real-time network simulation and detailed modelling of virtual networksl Real network traffic can pass through emulator. l Interaction with synthetically generated traffic within
the virtual networkl Examples: § VINT/nse, ModelNet, Netbed, IP-TNE, Virtual Routers,
PlanetLab
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n10/52
RVS
Centralized vs. Distributed EmulationCentralized Implementation§ Problem
l System bottleneck
§ Advantagesl Dynamic scenariosl Adjustment of network characteristics
(e.g., packet collisions)l Preserves packet order
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n11/52
RVS
Layers of Emulation§ Transport Layer Emulation
l Reproduction of process communication channel characteristics such as TCP channels
l Can be used to measure performance impacts on applications
§ Network Layer Emulationl Mimics end-to-end behaviour of a network
connecting hosts such as packet delays and lossl Can be used for evaluation of applications and
transport protocols
§ Link Layer Emulationl Emulation on single network links such as
bandwidth, frame delays etc. l Allows network layer protocol evaluation
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n12/52
RVS
Requirements on Emulation§ Mimic behaviour of networks and links
as closely as possible§ Emulated network should be transparent to
real devices and applications.§ Network model has to consider
dynamic changes. § Feeding of network traffic may create
some side effects (overhead, delay), which should be minimized.§ Keeping pace with real world events § Scalability
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n13/52
RVS
Network Emulator for Adaptive Applications§ Emulator intercepts UDP packets and introduces a
delay as if the packet would have been transmitted over a slower network [Davies95]l Emulator calls function new_network_name_send (senderNodeID, data)
l Behaviour can be changed dynamically via configuration files. (requires control packet exchange)
§ Packets are routed via a single central point. l Advantage: can easily adapt to network load
§ Emulator requires special data / control packet format to indicate emulator processing.→ modified sendto / recvfrom socket calls to be used by
applications (→ dynamic linking)
§ Implementation on Sparc1 / SunOS 4.1l strong dependency of performance (accuracy)
on packet length and link bandwidth
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n14/52
RVS
Hitbox
§ Hitbox [Ahn95] is added to operating system as pseudo device, which gives programs a handle for parameter (delay, bandwidth, buffer size, drop rate) changes.
§ Installation of hitbox by changing function pointers in output routines
§ Emulation of bidirectional connections requires a pair of hitboxes in two hosts.
§ Hitbox computes delay to model queuing, transmission, propagation delays, assigns send time to the packet, and puts it into a queue.
§ Modification of BSD scheduling resolution (10 → 1 ms)
IP ARP ICMP
Hitbox
Network interface
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n15/52
RVS
Ohio Network Emulator
§ ONE [Allman97] models network by delaying packets arriving on one network interface before forwarding to the other. § Delay components
l Transmission delayl Queuing delayl Propagation delay
§ Experimentsl Difference between expected and measured
transmission / propagation / queuing delay < 10 ms
Emulator
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n16/52
RVS
Dummynet§ Dummynet [Rizzo97/98]
l intercepts packets of the protocol layer under test (e.g. ip_output, tcp_input at the interface between TCP and IP) and
l simulates effects of finite queues (routers), bandwidth limitations, communication delays, lossy links (network links).
§ Packet Processingl Packets are put to rq (limited queue size k)l Packets are moved from rq to pq at maximum rate Bl Packets remain at pq for tp seconds
§ Limitationsl timer granularityl Periodic tasks might run late → real-time OS
§ experience with FreeBSD: rare events§ Extensions: Filtering rules (ipfw) and multiple addresses of a single
interface allow simulation of complex topologies on a single computer.
rq_out
pq_out rq_in
pq_in
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n17/52
RVS
NIST Net§ „network in a box“ [Carson03]§ Specialized router, which emulates statistically
an entire network in a single hop§ NIST Net applies network effects to passing traffic
based on user-supplied settings.
WAN / Internet
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n18/52
RVS
NIST Net Emulator Entries§ Table of matching specifications for packets
(IP and higher layer fields)l Implementation as two-level hash table (default size: 256)
§ Set of effects to be applied to matching packetsl Delay (e.g., heavy tailed, multi-fractal wavelet model)l Lossl Jitterl Reorderingl Duplicationl Bandwidth limitations
§ Statistics about packets matched this entry
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n19/52
RVS
NIST Net Architecture
Main parts1. (Re)Loadable kernel module
l hooks into normal Linux networking and real-time clock codel implements run-time emulatorl exports set of control APIs
2. User interfacesl use APIs to configure and control operation of kernel emulator
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n20/52
RVS
VINT/nse§ Virtual Internet Testbed [Breslau00, Fall99]§ ns (network simulator): widely used discrete event simulator§ nse: emulation with ns simulation engine§ ns includes protocols, buffer management, scheduling etc.
→ network simulation (no environment simulation)§ Challenges
l Real-time synchronization§ Dispatching of pending events at appropriate real-time
by introducing real-time delaysl Packet capturing
§ Architecture
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n21/52
RVS
VINT/nse: Emulation Objects § Interface between ns and
network traffic§ Special Objects for
tunneling live packets inside nsl Network Objects§ Access to live network
via BPF (Berkeley Packet Filter) interface, UDP and raw sockets § Support also access to
trace files
l Tap Agents§ Conversion between
ns and network packet formats
Capture: BPF
ns
Inject: Raw socket
network to ns
ns to network
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n22/52
RVS
VINT/nse and IP Packets§ Ns utilizes own network
address format.→ mapping required
§ Network objects receive IP packets and hand it over to the tap agent.
§ Tap agent creates simulator packet.
§ External payload pointer refers to IP packet.
§ Simulator packets received by tap agentare de-encapsulated using the external payload pointer and written to network object.
Network Packet
SourceDestination
Size
Data
ns Packet Header
SourceDestination
Size
Extern
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n23/52
RVS
VINT/nse: Modes of OperationPacket conversion leads to two modes of operation§ Opaque Mode
l Network packet fields are not interpretedl Live data packets may be dropped, delayed, re-ordered,
duplicated etc. l Application: end-to-end application testing
§ Protocol Model Simulator can interpret and/or generate live network traffic. l Protocol implementations in simulator are able to interact with
peer real-world implementations. l Requires agents within simulator to decode and interpret
protocol messages, e.g. ICMP responder, ARP, TCP NATl Application: protocol conformance testing
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n24/52
RVS
VINT/nse Protocol Mode
Send/receive packets from application
ns
TCP Agent
Network
Host A
TCPApplication
Host B
Send/receive packets from
ns
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n25/52
RVS
ModelNet
§ [Vahdat02]§ Edge nodes
l running specific operating systems and application software route packets through ModelNet core.
l Multiplexing of virtual edge nodes on machines of a server cluster
§ Core l Modified FreeBSD kernelsl Responsible for network emulation on a link-by-link basisl Routes traffic through a network of pipes (queues, queuing disciplines)
EdgeNodes
RouterCore
100 MbpsSwitch
1 GbpsSwitch
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n26/52
RVS
ModelNet Core§ Pre-computation of shortest path between
VN pairs§ (Source, destination)
→ set of pipes to be traversedl Hop-by-hop emulation: allows emulation of
congestion and queuing effectsl End-to-end emulation
(collapsing of paths into single pipe): § more efficient, but does not model contention
§ Packet scheduling based on heap of pipes ordered by packet deadlines.
§ Pipes with deadlines > current time are processed and their deadlines are updated.
§ ModelNet priority > interrupt processing priority → processing of packets in the core with higher priority than processing of packets entering the core
§ Multi-core configuration: pipes might be on different core nodes → buffering of packet content at entry core node, data forwarding to exit core node
§ Buffering according to bandwidth delay product (10 Gbps, 200 ms rtt → 250 MB)
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n27/52
RVS
ModelNet Phases§ Create
l generates network topologyl Result: graph based on GML (graph modelling language)
§ Distillationl Transforms GML graph to pipe topology
§ Assignmentl Maps pieces of pipe topology to ModelNet core nodes
(currently: Greedy approach, optimal assignment is NP hard)§ Binding
l Assigns virtual edge nodes (VN) to edge nodesl Configures virtual edge nodes for executing applicationsl Binds physical edge node to a single core nodel Generates configuration scripts for core nodes
(installing pipes and routing tables, IP address configuration)§ Run
l Executes target applications on edge nodes. l Scripts automate execution of multiple instances. l Correct binding of IP addresses at different virtual edge nodes !l Dynamic library to interpose wrappers around socket calls.
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n28/52
RVS
ModelNet Performance§ Emulation accuracy with hardware timer granularity (100 µs) § Hardware: 1.4 GHz Pentium III
l Forwarding rates§ 1 hop per flow: 120’000 packets/s§ 8 hops per flow: 90’000 packets/s
l Overhead per hop: 0.5 µs, overhead per packet: 8.3 µsl Forwarding rate of hardware (without emulation): 250’000 packets/s
§ Multi-core configurationsl 1120 VNs on 20 edge nodes, 4 core nodes, 2 hops per pathl 155 – 460 kpackets/s (100 % - 0 % cross-traffic)l Cross-traffic: Flows must cross from one core node to another one.
§ VN multiplexing effects
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n29/52
RVS
Netbed§ Descendant of Emulab [White02]§ Integrates simulation, emulation, live experimentation § Goal: configuration support for users§ Experimenter can define experiment (virtual topology,
node characteristics) via web interface. l Virtual topology description by ns script (extended language) or
Java GUI. Topology generators can be used. l Virtual nodes may be instantiated from § Local nodes
l Local nodes run 1 virtual nodel 168 PCs at U Utahl Dummynet between physical nodesl VLANs
§ Distributed nodesl Limited number (40) of remote testbed nodesl Sharing of nodes based on FreeBSD Jail isolation (+ raw sockets)
§ Ns simulation (nse)
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n30/52
RVS
Netbed Features§ Global resource allocation
l Over reservation of link bandwidth and monitoring
§ Node self-configuration l Configuration is driven by nodes but entirely
controlled by node state centrally stored in data base. l Swapping of experiments
§ Experiment Controll Event system based on publish/subscribe systeml Dynamic manipulation of link characteristics
§ Pre-emption and Schedulingl Idle detection systeml Manual idle confirmations before swapping out an
experimentl Batch processing
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n31/52
RVS
Netbed Architecture• central point of control• file server
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n32/52
RVS
Netbed Performance§ Up to 150 ns flows (2 Mbps CBR) and 300
nodes on a 850 MHz PC without impact on live TCP connection across nse link§ UDP round trip traffic between two nodes
with / without interposed emulator nodel Saturation of 100 Mbps link with 1500 byte packets
without any effectsl 64 byte packets: 55’000 / 37’000 packets/s
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n33/52
RVS
Netbed: TCP New Reno One Drop TestTest: dropping a single packet§ ns and FreeBSD 4.5 detect 3 duplicate
acknowledgements and retransmit.§ FreeBSD 4.3 did not retransmit until triggered
by timer expiration. l Reason: uninitialized variable
ns FreeBSD 4.3FreeBSD 4.5
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n34/52
RVS
IP-TNEInternet Protocol Traffic and Network Emulator [Simmonds02]§ Simulation based network emulator
l Parallel Distributed Event Simulation kernel l Scalability by parallel simulation
§ Architecture Overviewl Real-Time Endpoints (EPs) represent each real host involved in experiment.
§ Specific routing entries need to be added at real hostsl System being modelled is mapped to logical processes (LPs)
§ Synthetic traffic generators within virtual network§ Operation
l Packet reader captures packets and inserts them into virtual network modelled by simulation engine.
l Emulator dispatches packets to their final destination. l Packets are time-stamped when read and are released when wall clock time
reaches packet's calculated output time.
LAN
Emulator
EPs
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n35/52
RVS
IP-TNE Architecture
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n36/52
RVS
IP-TNE Real-Time Interface§ Simple approach (used in nse)
l Execution of an event is delayed until wall clock reaches timestamp of event.
l Events are not executed ahead of wall clock time in order to avoid causality errors.
l Problems:§ Frequent access to wall clock time (expensive system call)§ The more execution is delayed during low workload periods
the higher is the chance of missing real-time deadlines during high workload periods.
§ IP-TNE approachl EPs need to be ready to receive information from
real-time devices at any point of time.l EPs control data flow to real-time device:
communication only when wall-clock time reaches timestamp of event triggering action.
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n37/52
RVS
IP-TNE Packet Reading and Writing§ Problem
l Standard sockets do not deliver IP packet header information to applications (emulator).
l Emulator needs to write custom IP headers.
§ IP-TNE approachl Reading: Packet filtering / capturing (PCAP)l Writing: Raw sockets
§ Alternativesl Proxy sockets§ Problems: restricted to applications with proxy protocols
l Capturing at real hosts§ Problem: Hosts are part of emulation environment and need
special software.
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n38/52
RVS
Virtual Routers§ Virtual Routers (Linux user space processes) [Baumgartner02/03]
l IP packet processing in real-time § Softlink Device
l (sol) forwarding of IP packets to virtual routers via file I/O (cf. TUN/TAP)
VR1 VR2 VR3 VR4IPCUDP
Client
sol0eth0
Server
User Space
OS kernel
VR4
sol0eth0
VR2
eth0
VR3
Socket Socket Socket Socket SocketSocket
Ethernet
VR1
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n39/52
RVS
Implementation of Virtual Routers§ Dynamically loadable components, e.g.
l Active router extension (Python)l Command line interfacel Traffic monitoringl Diagnosis tools (traceroute, ping)l New protocols
§ Configurable interface components, e.g. l Queuing, scheduler, traffic shaperl Network Address Translation
§ API for remote configurationl Request / Response protocol with commands to create, modify, delete
interfaces, routing tables and objects
UDP
Forwarder
Program-mableFilter
Dynamically Loadable Components
Inter-connectHandler
Inter-connectHandler
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n40/52
RVS
Virtual Router Performancertt in unloaded network (chain of routers)
rtt in loaded network (UDP flow using 50 % of link bandwidth)
0
1
2
3
4
5
10 12 14 16
RTTs nondistributedvariance of RTTs nondistributed
RTTs distributedvariance of RTTs distributed
hops
20 4 6 8
RTTs with 16 VRsvariance of RTTs with 16 VRs
RTTs with 32 VRsvariance of RTTs with 32 VRs
RTTs with 64 VRsvariance of RTTs with 64 VRs
0
2
4
6
8
10
12
14
0 10 20 30 40 50 60 70hops
0
1
2
3
4
5
10 12 14 16
RTTs nondistributedvariance of RTTs nondistributed
RTTs distributedvariance of RTTs distributed
hops
0 2 4 6 8
RTTs with 16 VRsvariance of RTTs with 16 VRs
RTTs with 32 VRsvariance of RTTs with 32 VRs
RTTs with 64 VRsvariance of RTTs with 64 VRs
0
2
4
6
8
10
12
14
0 10 20 30 40 50 60 70hops
hops
hops
hops
hops
rtt (m
s)rtt
(ms)
rtt (m
s)rtt
(ms)
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n41/52
RVS
Virtual Routers for QoS ResearchDifferentiated Services Experiment§ Queue 1: TCP traffic
(absolute priority, 2 Mbps token bucket rate)§ Queue 2: aggressive UDP traffic§ Total interface bandwidth: 4 Mbps
Q2 Q1
C
S
T
4
3
2
1
00 5 10 15 20 25 30 [sec]
TCP flowUDP flowM
bps
s
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n42/52
RVS
Web Server for Virtual Router Control
§ Download of Java applets embedded into dynamic web pages (PHP) and switching between applets
§ Administrator (Java program) stores shared data§ TCP connection for command exchange
l Storage of datal Allocation of VR resourcesl Retrieval of VR topologiesl ...
Browser
Applet
Web Server
Webpages
Administrator Virtual Routers
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n43/52
RVS
Virtual Router Interactions
Applet Administrator Virtual Router
ifconfig if<number> delete ifconfig if<number> disconnect
ack
ifconfig if<number> delete
ack
if<number> deleted
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n44/52
RVS
Virtual Routers for Educationwww.vitels.ch
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n45/52
RVS
PlanetLab§ Creation of slices (slice = network of virtual machines)
[Chun03]§ Virtual machine runs on a node and
consumes some of the node’s resources. § Multiple virtual machines run on each PlanetLab node. § Implementation based on VServers
l Provides illusion of multiple, independently managed virtual servers on a single Linux machine
l Virtualization above Linux kernell Each VServer has own security context and super user. l Weaker guarantees and protection
§ Protected Raw Socketsl UDP/TCP sockets are bound to specific ports.§ Packet delivery to service that created a socket
l ICMP sockets are bound to specific ICMP identifier. § Resource Limits
l Bandwidth limitation controlled by Linux traffic controll Fairness between processes by Linux CPU scheduler
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n46/52
RVS
PlanetLab: Dynamic Slice Creation§ Resource monitor running on each node
reports resource availability to centralized agent. § Agent issues tickets to service brokers describing
available resources and time frame. Ticket can be redeemed in order to lease resources.
§ Service broker specifies slice specification based on resource requirements and tickets.
§ Node manager runs on each node, receives tickets, performs admission control, reserves resources, creates virtual machines and returns a lease (needed for launching programs).
Node
Node
AgentMonitoringServiceBrokerRequest/
Ticket
Ticket/Lease
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n47/52
RVS
Emulation in Mobile Networks
§ Changing network conditions due to mobility→ Trace-Based Mobile Network Emulation
§ Changing network connectivity→ MobiEmu
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n48/52
RVS
Trace-Based Mobile Network Emulation§ Creation of a synthetic network environment and
execution of real workload [Noble97]. § Experiments using real systems without physical
movements. § Phases of methodology
l Collection§ Performance of a real-wireless network is captured through trace
collection. § Logging of packets, workload: ICMP echo / echo reply§ Wireless LAN signal reports
l DistillationProduction of parameters for a simple network performance model§ End-to-end delay
(non-overlapping ICMP echo / echo reply messages)§ Queuing delay (back-to-back ICMP echo / echo reply messages)§ Loss (counting of echo reply messages)
l Modulation§ Network performance is reproduced based on these parameters
by emulation: Kernel reads replay trace and drops/delays packets.
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n49/52
RVS
MobiEmu§ n Linux machines emulate mobile ad-hoc network with n nodes
[Zhang02]§ Scenario-driven emulation with node locations and movements as
input§ MobiEmu mimics real-world situation by
dynamically installing and removing packet filters. § Master / slave interactions over control channel§ Slave controllers enforce topology
l Options: § Linux Netfilter / iptables§ Packet filtering in user space (library)§ User Mode Linux (UML): dropping of inter-UML packets
Testbed network
Master Controller
Control Channel
Testbed host
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n50/52
RVS
Conclusions
§ Network emulators have evolved from simple delay line models towards complex systems including real-time simulation facilities and detailed network modelling. § Variety of tools exist. Users can select
dependent on their requirements.
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n51/52
RVS
References I§ Mark Carson, Darrin Santay: NIST Net: a Linux-based Network Emulation Tool,
ACM SIGCOMM Computer Communication Review, Volume 33, Issue 3, July 2003, pp. 111 - 126
§ Mark Allman, Adam Caldwell, Shawn Ostermann: ONE: The Ohio Network Emulator, Technical Report TR-19972, Ohio University Computer Science, August 1997.
§ Nigel Davies, Gordon Blair, Keith Cheverst, Adrian Friday: A Network Emulator to Support the Development of Adaptive Applications, Proceedings of the 2nd UsenixSymposium on Mobile and Location Independent Computing, Ann Arbor, USA, April 10-11, 1995, pp. 47-55.
§ Amin Vahdat, Ken Yocum, Kevin Walsh, Priya Mahadevan, Dejan Kostic, Jeff Chase, David Becker: Scalability and Accuracy in a Large-Scale Network Emulator, Proceedings of 5th Symposium on Operating Systems Design and Implementation (OSDI), December 2002.
§ Rob Simmonds, Brian W. Unger: Towards Scalable Network Emulation, Computer Communications, Volume 26, Issue 3, February 2003, pp. 264-277
§ Daniel Herrscher, Kurt Rothermel: A Dynamic Network Scenario Emulation Tool, 11th International Conference on Computer Communications and Networks, Miami, October 2002, pp. 262-267
§ Kevin Fall: Network Emulation in the VINT/ns Simulator, 4th IEEE Symposium on Computers and Communications, July 6-8, 1999 Red Sea, Egypt
§ Lee Breslau, Deborah Estrin, Kevin Fall, Sally Floyd, John Heidemann, Ahmed Helmy, Polly Huang, Steven McCanne, Kannan Varadhan, Ya Xu, Haobo Yu: Advances in Network Simulation, IEEE Computer, Vol. 33, No. 5, pp. 59-67, May, 2000
June
15,
200
4To
rste
n B
raun
(U
nive
rsity
of B
ern)
: Net
wor
k E
mul
atio
n52/52
RVS
References II§ Jong Suk Ahn, Peter B. Danzig, Zhen Liu, Limin Yan: Evaluation of TCP Vegas:
emulation and experiment, ACM SIGCOMM Computer Communication Review, Volume 25, Issue 4, October 1995, pp. 185 - 195
§ Luigi Rizzo: Dummynet: A Simple Approach to the Evaluation of Network Protocols, ACM SIGCOMM Computer Communication Review, Volume 27, Issue 1, January1997, pp. 31 - 41
§ Luigi Rizzo: Dummynet and Forward Error Correction, USENIX 1998 Annual Technical Conference, June 15-19, 1998, New Orleans, USA
§ Brian White, Jay Lepreau, Leigh Stoller, Robert Ricci, Shashi Guruprasad, Mac Newbold, Mike Hibler, Chad Barb, Abhijeet Joglekar: An Integrated Experimental Environment for Distributed Systems and Networks, 5th Symposium on Operating Systems Design & Implementation, pp. 255-270, December 2002
§ Brent Chun, David Culler, Timothy Roscoe, Andy Bavier, Larry Peterson, Mike Wawrzoniak, Mic Bowman: PlanetLab: An Overlay Testbed for Broad-CoverageServices, ACM SIGCOMM Computer Communication Review", Vol. 33, No. 3, pp. 3-12, July 2003
§ Brian Noble, M. Satyanarayanan, Giao Nguyen, Randy Katz: Trace-Based Mobile Network Emulation, ACM SIGCOMM, Cannes, August 1997
§ Yongguang Zhang, Wei Li: An Integrated Environment for testing Mobile Ad-HocNetworks, ACM MobiHoc 2003, June 9-11, Lausanne, Switzerland
§ Florian Baumgartner, Torsten Braun, Bharat Bhargava: Virtual Routers: A Tool for Emulating IP Routers, 27th IEEE Conference on Local Computer Networks (LCN 2002), Tampa, USA, November 6-8, 2002
§ Florian Baumgartner, Torsten Braun, Eveline Kurt, Attila Weyland: Virtual Routers: A Tool for Networking Research and Education, Computer Communications Review Vol. 33 No. 3, pp. 127-135, July 2003.