=== Tutorial: Quick and easy network service and packet processing using !NetServ === ==== Organizers ==== Jae Woo Lee, ''Columbia Univ.''; Roberto Francescangeli, ''Univ. of Perugia'' ==== Time ==== Tues 3:30 - 5:30 pm === Description === !NetServ is a programmable router architecture, designed for dynamically deploying in-network services. Using !NetServ, GENI experimenters can write TCP/IP and packet processing application modules quickly in Java, and dynamically install them into any !NetServ-enabled ProtoGENI or !PlanetLab nodes. In this hands-on tutorial, you will learn the !NetServ architecture, and develop a simple !NetServ application module. A step-by-step instruction is available here: [wiki:GEC11NetServTutorialInstruction] === Prerequisites: === ==== Required: ==== - Basic understanding of GENI concepts (covered in the Introduction to GENI talk) - Java programming experience ==== Helpful, but not required: ==== - Experience working with ProtoGENI (covered in an earlier tutorial: Introduction to GENI using Flack by Rob Ricci) === Please arrive with: === A laptop with Pre-work completed (see below) if you want to follow along the hands-on tutorial. === Pre-work: === ==== Required: ==== None, if you simply wants to watch the tutorial. If you want to follow along the tutorial with your hands on the keyboard: - Bring a laptop with !VirtualBox (http://www.virtualbox.org/) installed. - Either download and import into !VirtualBox the GEC11 Tutorial VM (https://www.planet-lab.org/GEC11/), - Or install !NetServ on your own Ubuntu Linux 10.04 or later (see "Installing !NetServ" at http://groups.geni.net/geni/wiki/GEC11VMSetup) ==== Suggested background materials if you have time: ==== - 14-minute video of !NetServ demo at GEC9 plenary session: http://vimeo.com/16474575 - Latest paper describing !NetServ (12 pages): http://www.cs.columbia.edu/~jae/papers/netserv-2011-06-v1.0.pdf === Results: === After completing this tutorial, you will: - Understand !NetServ architecture--for example, how various technologies such as Netfilter, JNI and OSGi work together to enable packet processing in Java. - See how !NetServ can shorten the development cycle of your experiments, and how it can create a gentler educational environment for your networking classroom. - Know how to write a !NetServ application module.