network emulation - portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l independent...

52
R V S Network Emulation Torsten Braun Computer Networks and Distributed Systems Institute of Computer Science and Applied Mathematics University of Bern, Switzerland www.iam.unibe.ch/~rvs Ecole d’été Internet Nouvelle Génération, June 14-18, 2004, Obernai

Upload: others

Post on 12-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 2: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 3: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 4: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 5: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 6: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 7: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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.

Page 8: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 9: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 10: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 11: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 12: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 13: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 14: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 15: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 16: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 17: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 18: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 19: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 20: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 21: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 22: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 23: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 24: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 25: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 26: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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)

Page 27: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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.

Page 28: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 29: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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)

Page 30: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 31: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 32: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 33: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 34: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 35: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 36: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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.

Page 37: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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.

Page 38: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 39: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 40: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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)

Page 41: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 42: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 43: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 44: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 45: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 46: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 47: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 48: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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.

Page 49: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 50: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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.

Page 51: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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

Page 52: Network Emulation - Portalbraun/pdf_zip/ing2004_tib.pdf · 2006-07-07 · l Independent specification of network code. Simulator might fail to mimic subtleties of real code. l Missing

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.