1 Wide Area Network Emulation on the Millennium Bhaskaran Raman Yan Chen Weidong Cui Randy Katz {bhaskar, yanchen, wdc, Millennium Cluster
2 Why WAN Emulation Testbed Realistic, controlled and reproducible WAN experiments needed to drive design and test for SAHARA: next-generation telecommunication service infrastructure –Content Distribution Network (CDN) –Dynamic Service Composition (constrained routing) –Routing and content-based routing –Traffic Engineering and QoS –Network Measurement and Monitoring Services Emulate the critical end-to-end performance characteristics –By various WAN situations (e.g. congestion, loss) –By various underlying subnetwork technologies (e.g. xDSL, cable modem)
3 Why WANE: Overlay Network Issues Study issues of: –Routing algorithms: recovery from failures, stability, scaling –Overlay node placement in physical network –Service placement in overlay network Internet Service cluster: compute cluster capable of running services Peering: monitoring & cascading Destination Source Provider A Video-on-demand server Provider B Thin Client Transcoder
4 Simulation vs. Emulation vs. Live Testing Simulation –Very slow –Bad fidelity to real network –Implementation in simulator is different from actual application Emulation –Fast and good scalability –Can run actual application –Can interact with a live environment –Opportunity: Millennium cluster (100s of nodes) Live Testing –Wide-area implementation not always possible –Too few nodes may be available –Not reproducible
5 Testbed Requirements Fast and minimal overhead –Close to real network environment Scalable –O(1000) nodes Configurable –Network topology, latency, bandwidth, loss-rates, queuing policies… Flexible –Testbed should be independent of applications Reliable Integration with Millennium testbed –Should not affect other millennium users
6 Emulator Option 1: Kernel-based Implemented as kernel module extension to operating systems Pros –Small simulation overhead: more realistic network performance –Software packages available Cons –Hard to modify and debug –Hard to deploy on millennium platform Emulator User program Machine 1 Machine 2 Kernel User-level IP Stack Emulator IP Stack
7 Existing Kernel-level Emulators NISTNet by National Institute of Standards & Technology –On Linux, source code available –X-window based interactive GUI »allows the user to select and monitor specific traffic streams –Emulate numerous complex performance scenarios »tunable packet delay distributions »congestion and background loss »bandwidth limitation »packet reordering / duplication –Real traces driven allowed –Extensible for user defined packet handlers Dummynet by Luigi Rizzo of Univ. of Pisa, Italy –On FreeBSD, source code available –Emulate queue and bandwidth limitations, delays, packet losses, and multipath effects
8 Emulator Option 2: User-Level User program User-level library TCP/IP stack User-level daemon Machine 1Machine 2 Kernel PPP/UDP User-level pppd + pty/tty Configure WAN parameters here
9 Emulator Option 2: User-Level Advantages: –Flexibility –Configuration environment can be built as required –Multiple virtual nodes per physical node? Disadvantages: –Has to be written from scratch –Unpredictable latency »Due to scheduling jitter – O(10ms) »Could lead to considerable slow-down in emulation
10 Proposed Plan Study NISTNet –Run experiments on crash box computers –Test the performance and reliability Learn more features and requirements of the Millennium testbed Design and implement WAN emulator