ACM SIGCOMM 2014, Chicago, USA
Site Menu

Tutorial: Teaching Computer Networking with Mininet

Half-day Tutorial: Monday morning, 18th August 2014


  • Te-Yuan (T.-Y.) Huang

    Stanford University, USA

  • Vimalkumar Jeyakumar

    Stanford University, USA

  • Bob Lantz

    Open Networking Laboratory, USA


  • Brian O’Connor

    Open Networking Laboratory, USA

  • Nick Feamster

    Georgia Institute of Technology, USA

  • Keith Winstein

    Massachusetts Institute of Technology, USA

  • Anirudh Sivaraman

    Massachusetts Institute of Technology, USA

Tutorial objectives

In this tutorial, we will introduce the Mininet emulator and share our experiences using Mininet to teach computer networking in a variety of contexts ranging from small on-campus courses to massive online courses. We believe that the Mininet platform can make teaching and learning computer networks more fun and efficient by facilitating experiential learning.

The goals of this tutorial are to:

  • Introduce Mininet to the broader network community, including its capability and performance limitations.
  • Familiarize attendees with Mininet through hands-on exercises.
  • Share our experiences using Mininet since 2011 for on-campus and massive online courses at Stanford, Georgia Tech and MIT.
  • Disseminate assignments that we used at our universities and help to develop and expand an online repository of Mininet courseware.

Technical Program

  • 8:30 — 9:10 Introduction to Mininet

  • Overview on the architecture of Mininet.

    Demo: Teaching network security with Mininet (DHCP spoofing, BGP prefix hijacking).

  • 9:10 — 10:10 Hands-on Laboratory Example: BufferBloat

  • Run through an in-class exercise used in CS144 (Introduction to Computer Networking) at Stanford.

    Note: Highly recommend to have the environment ready before this session.

  • 10:10 — 10:40 Coffee Break

  • 10:40 — 12:00 Teaching Experiences

  • Present experiences and lessons learned from Mininet-based demonstrations, lab exercises, and assignments for on-campus and massive online courses at Stanford, Georgia Tech and MIT.


GitHub site

  1. Teaching Computer Networking with Mininet
  2. Demo: BGP Path Hijacking
  3. Teaching Computer Networking with Mininet, Session 2: Hands-on Lab — BufferBloat
  4. A ReMOOCable Experience: Teaching Computer Networking to the Masses
  5. Experiences from a protocol-design contest
  6. Mininet @ Stanford

About the Speakers

Bob Lantz

Bob Lantz founded the Mininet project and is currently working on Mininet and network operating systems at the Open Networking Laboratory. Since completing his Ph.D. at Stanford, he has helped to develop OpenFlow and related Software Defined Networking technologies at Stanford, Arista Networks, and DOCOMO USA Labs.

Te-Yuan (T.-Y.) Huang

Te-Yuan (T.-Y.) is receiving her Ph.D. from Stanford University in August 2014 where she is advised by Prof. Nick McKeown and Prof. Ramesh Johari. Her thesis is on video streaming and the findings have changed the ABR algorithms used in the industry. T.-Y. is a recipient of Stanford Graduate Fellowship (2008-2012), Google Fellowship (2012-2014), and IETF/IRTF Applied Networking Research Prize, 2013. T.-Y. is also one of the main contributors to the Mininet-based lab materials and in-class exercises used in CS144 (Introduction to Computer Networking) at Stanford. Te-Yuan is currently at Netflix, improving user experience for over one-third of US Internet traffic.

Vimalkumar Jeyakumar

Vimal is a Ph.D. student at Stanford University and is co-advised by David Mazières and Balaji Prabhakar. His interests change all the time and loves working on a wide range of problems in computer networks.

About the Panelists

Brian O’Connor

Brian O’Connor completed his B.S. and M.S. at Stanford, where he was introduced to Mininet through various courses and research projects. As a teaching assistant at Stanford, Brian helped support Mininet usage in the classroom, and he is currently a developer at Open Networking Laboratory working on Mininet and other SDN projects.

Nick Feamster

Nick Feamster is a professor in the College of Computing at Georgia Tech. He received his Ph.D. in Computer science from MIT in 2005, and his S.B. and M.Eng. degrees in Electrical Engineering and Computer Science from MIT in 2000 and 2001, respectively. His research focuses on many aspects of computer networking and networked systems, with a focus on network operations, network security, and censorship-resistant communication systems. In December 2008, he received the Presidential Early Career Award for Scientists and Engineers (PECASE) for his contributions to cybersecurity, notably spam filtering. His honors include the Technology Review 35 “Top Young Innovators Under 35” award, the ACM SIGCOMM Rising Star Award, a Sloan Research Fellowship, the NSF CAREER award, the IBM Faculty Fellowship, the IRTF Applied Networking Research Prize, and award papers at the SIGCOMM Internet Measurement Conference (measuring Web performance bottlenecks), SIGCOMM (network-level behavior of spammers), the NSDI conference (fault detection in router configuration), Usenix Security (circumventing web censorship using Infranet), and Usenix Security (web cookie analysis).

Keith Winstein

Keith Winstein is a doctoral candidate at MIT’s Computer Science and Artificial Intelligence Laboratory. His work applies statistical and predictive approaches to teach computers to design better network protocols and applications. He created the Mosh (mobile shell) tool, the Sprout algorithm for cellular networks, and the Remy automatic protocol-design tool. From 2007 to 2010, Keith worked as a staff reporter at The Wall Street Journal, covering science and medicine.

Anirudh Sivaraman

Anirudh Sivaraman is a fourth year Phd student at MIT working with Professor Hari Balakrishnan. He previously completed his Masters at MIT in 2012, and his BTech at IIT Madras in 2010. His research interests are in the areas of mobile computing and cellular wireless networks.