Note: All code (except MACE) is available under either BSD or GPL license. See specific code package for details.
An end-to-end packet loss measurement tool.
Publication: Improving accuracy in end-to-end packet loss measurement, ACM SIGCOMM 2005.
Available at http://wail.cs.wisc.edu/. Written in C++ and Python.
A flow-level network measurement generator and simulator.
Publications: Efficient Network-wide Flow Record Generation, INFOCOM 2011; Fast, Accurate Simulation for SDN Prototyping, HotSDN, 2013; Controller-agnostic SDN debugging, CoNEXT, 2014. Available at http://github.com/jsommers/fs.
A flow-level network traffic generator.
A Malicious tRaffic Composition Environment
Publication: A framework for malicious workload generation, IMC 2004. Note: Due to its sensitive nature, MACE is only available upon request.
A multi-user active measurement system
Publication: An Active Measurement System for Shared Environments, IMC 2007. Available upon request.
Highly scalable path emulation software (e.g., propagation delays, packet drops, etc.). Built on the Click modular router.
Publication: Scalable network path emulation, MASCOTS 2005. Available at http://wail.cs.wisc.edu/.
A Python-based longest-prefix match lookup library for v4 and v6 network addresses.
Built upon Dave Plonka’s patricia library. Works with both Python 2 and 3, supports v4 and v6, and is a bit faster than other libraries out there (including pyradix, and SubnetTree). See the github page for documentation and performance numbers. Can be installed through standard Python tools like pip (name: pytricia). Available at http://github.com/jsommers/pytricia.
A tool for multi-objective active monitoring
Publication: A framework for multi-objective SLA compliance monitoring (INFOCOM 2007 minisymposium), and Accurate and Efficient SLA Compliance Monitoring (ACM SIGCOMM 2007). Available upon request.
Publication: Automatic Metadata Generation for Active Measurement, IMC 2017. Available at https://github.com/jsommers/metameasurement.
A Scatter and Phase-pLot Animation Tool.
Publication: SPLAT: a visualization tool for mining Internet measurements, PAM 2006. Available at http://cs.colgate.edu/~jsommers/splat.
A framework for facilitating systems-type projects in networking courses (or intro to systems courses). It’s a Python framework within which you write code to implement the logic for a network device such as a switch, router, or middle-device. It includes a comprehensive testing framework, and code can be deployed in live networks, too.
An available bandwidth measurement tool developed through a laboratory calibration environment. The tool is named after the Boston Red Sox great, Carl Yastrzemski.
Publication: A proposed framework for calibration of available bandwidth estimation tools, ISCC 2006. Available at http://github.com/jsommers/yaz.