Emulab is a universally available time- and space-shared network emulator which achieves new levels of ease of use. Several hundred PCs in racks, combined with secure, user-friendly web-based tools, and driven by ns-compatible scripts or a Java GUI, allow you to remotely configure and control machines and links down to the hardware level. Packet loss, latency, bandwidth, queue sizes-all can be user-defined. Even the OS disk contents can be fully and securely replaced with custom images by any experimenter; Emulab can load ten or a hundred disks in less than two minutes. Emulab strives to preserve the control and ease of use of simulation, without sacrificing the realism of emulation and live network experimentation.