The diverse requirements of network and distributed systems research are not well met by any single experimental environment. Competing approaches remain popular because each offers different levels of ease of use , control, andrealism. These include packet-level discrete event simulation, live network experimentation, and emulation, which subjects real hardware, protocols, and workloads to a synthetic network environment. Netbed offers a new alternative. It is software that, when deployed on local and wide-area machines, provides a platform for research, education, or development in distributed systems and networks. Netbed’s primary contribution is the seamless integrationof the above disparate techniques into a common architectural framework that preserves the control and ease of use of simulation, without sacrificing the realism of emulation and live network experimentation. This framework provides common abstractions, namespaces, services, and user interfaces to all three environments. Netbed’s integration allows tools such as topology and traffic generators that were originally targeted for one domain to apply to all. Netbed leverages and extends its ancestor, Emulab, which focused on making emulationas easy to use and control as simulation. Our results show that Emulab speeds up experiment configuration on a cluster by two orders of magnitude, and through timeand space-sharing, improves cluster utilization by another two orders of magnitude. Architecture: Netbed revolves around interacting state machines, monitored by a state management daemon. The central state machine is the “experiment.” Subsidiary state machines include those handling node allocation, configuration, and disk reloading. This approach copes well with the reliability challenges of large-scale distributed systems, composed of often unstable commodity hardware. The state daemon catches illegal or tardy state transitions. For example, if a node hangs while rebooting, the state daemon times out and attempts an alternate reboot mechanism. An experiment is generated from a user’s n script or via a GUI, resulting in hard state in Netbed’s relational database. It represents a network configuration, such as switch VLAN mappings or IP tunnels, and node configurations, including OS images. A node’s local disk is currently considered soft state; this allows an experiment to be “swapped out” and later regenerated from the database onto other hardware. The database provides a single namespace and abstractions for heterogeneous resources. The resulting resourcetransparency enables simulated, emulated, live,