cs 538 fall 2013
This page lists a number of resources useful for experimental networking research.
- PlanetLab: a network of nodes set up by participating organizations and universities across all continents. With an account, you have SSH access to most if not all these Linux-running machines. You have root access to a virtual container on each machine, so you can install any software you want. However, they run a quite outdated distribution (Fedora Core 8 when I checked earlier this year), and you share the machines (CPU, bandwidth, etc) with other concurrent users. Pros: Real distributed environment, hundreds of nodes. Cons: Real distributed environment (nodes can die or slow down)! Outdated OS, so might be a challenge if you require recent libraries; needs an account approved by a PI (though not a problem while at Illinois).
- PhoneLab: a programmable smartphone testbed
- GENI: Wide-area OpenFlow-based network testbed. Provides not only end-host resources, but also access to switch forwarding tables and ability to set up virtual networks.
- Emulab: a cluster of nodes at the University of Utah (main Emulab installation) that allows you to create an emulated network. You define the network topology, link characteristics (e.g., latency, bandwidth, drop rate, etc), host hardware and OS (e.g., Ubuntu 12.04, Fedora Core 15, and even Windows XP), etc. in a file, and Emulab will construct the network for you, assuming there are enough machines matching your requirements around. If you get the machines, they are yours and yours alone to use for the duration of your alotted time. Pros: Stable, reproduceable; latest OS/software; fine control over network characteristics Cons: Smaller number of nodes; might not get machines in time if your needs are specific (particular hardware, large number of nodes, etc); needs an account approved by a PI (though not a problem while at Illinois).
- PRObE: Several thousand cores supporting systems research; requires approval by selection committee
Emulators and Simulators
- ns-2: Widely used general purpose discrete-event network simulator. Simulation scripts in OTcl.
- ns-3: Newer version of ns-2, but not backward-compatible. C++-based.
- Mininet: Emulate a network of multiple hosts and switches on a single Linux machine, with each virtual host getting its own process. Convenient for Software-Defined Networking experiments.
- ModelNet: A little outdated. Somewhat similar goals with Emulab, but allows each physical machine to run multiple “nodes.” In this respect, it is similar to Mininet. However, you can have multiple machines, each running multiple nodes, and the network emulation (of delays, for example) is done by a separate physical machine (emulator/core machine); whereas in Mininet, everything is on one physical machine (except the OpenFlow controller, which can be remote). Pros: Needs smaller number of machines, since each can run multiple nodes; can run on your own machine; can run this in an Emulab network. Cons: Setup (emulator machine needs an old BSD version), requires building kernel modules.
- C-BGP: A BGP simulator.
- CAIDA: Internet-scale data (AS-level map and router-level map of the Internet), network traces, etc.
- Route Views Project: BGP snapshots and feeds
- Rocketfuel: inferred ISP topologies
- 13 billion web requests (Meiss, Menczer, Fortunato, Flammini, and Vespignani)
- Stanford Network Analysis Project (network topologies and software)
- Internet Topology Zoo
- Data center traffic measurements including topology, SNMP, and packet traces, from Network Traffic Characteristics of Data Centers in the Wild (Benson, Akella, and Maltz, 2010)
- Packet header and NetFlow traces from SimpleWeb and links to more trace sources
- Internet2 Observatory data collections
- What Do Real-Life Hadoop Workloads Look Like?
- Renesys security survey
- CounterTack security survey
- M-Lab broadband performance and diagnostic measurements
- Repository of availability data
- National Broadband Map
- FCC data
- FCC maps of Internet availability