10 | | !NetServ is a framework for deploying in-network services in the next |
11 | | generation Internet. The combination of !NetServ and ProtoGENI provides a |
12 | | straightforward and powerful way for GENI experimenters to insert novel |
13 | | capabilities deep into the network. In this tutorial, you will learn |
14 | | about the !NetServ architecture, how to incorporate !NetServ in your |
15 | | experiment, and how to implement and deploy simple !NetServ modules. |
| 10 | !NetServ is a programmable router architecture, designed for |
| 11 | dynamically deploying in-network services. Using !NetServ, GENI |
| 12 | experimenters can write TCP/IP and packet processing application |
| 13 | modules quickly in Java, and dynamically install them into any |
| 14 | !NetServ-enabled ProtoGENI or !PlanetLab nodes. In this hands-on |
| 15 | tutorial, you will learn the !NetServ architecture, and develop a |
| 16 | simple !NetServ application module. |
| 17 | |
| 18 | ==== Prerequisites: ==== |
| 19 | '''Required:''' |
| 20 | - Basic understanding of GENI concepts (covered in the |
| 21 | Introduction to GENI talk) |
| 22 | - Java programming experience |
| 23 | |
| 24 | '''Helpful, but not required:''' |
| 25 | - Experience working with ProtoGENI (covered in an earlier |
| 26 | tutorial: Introduction to GENI using Flack by Rob Ricci) |
| 27 | |
| 28 | |
| 29 | ==== Please arrive with: ==== |
| 30 | |
| 31 | A laptop with !VirtualBox (http://www.virtualbox.org/) installed. |
| 32 | If you are unable to bring one, you may partner with someone else. |
| 33 | |
| 34 | |
| 35 | ==== Pre-work: ==== |
| 36 | '''Required:''' |
| 37 | |
| 38 | None. |
| 39 | |
| 40 | '''Suggested background materials if you have time:''' |
| 41 | - 14-minute video of !NetServ demo at GEC9 plenary session: |
| 42 | http://vimeo.com/16474575 |
| 43 | - Latest paper describing !NetServ (12 pages): |
| 44 | http://www.cs.columbia.edu/~jae/papers/netserv-2011-06-v1.0.pdf |
| 45 | |
| 46 | |
| 47 | ==== Results: ==== |
| 48 | After completing this tutorial, you will: |
| 49 | - Understand !NetServ architecture--for example, how various |
| 50 | technologies such as Netfilter, JNI and OSGi work together to |
| 51 | enable packet processing in Java. |
| 52 | - See how !NetServ can shorten the development cycle of your |
| 53 | experiments, and how it can create a gentler educational |
| 54 | environment for your networking classroom. |
| 55 | - Know how to write a !NetServ application module. |
| 56 | |