NetServ Tutorial Quick and easy network service and packet processing using NetServ Jae Woo Lee and Roberto Francescangeli
Outline Introduction to NetServ Hands-on tutorial NetServ under the hood Wrap-up
What is NetServ? In-network service container Java-programmable, signal-driven router Active networking 2.0
NetServ and GENI NetServ was a GENI Alpha project – Demonstrated at GEC9 plenary session NetServ as GENI-Lite – Deploy Java modules instead of VMs What is it good for? – Rapid development and prototyping on GENI – Sharing GENI resources – ex. classrooms
NetServ Node Architecture NSLP daemon GIST daemon NetServ Controller Linux kernel Transport layer Service Container Service Container Service Container OSGi Packet processing modules Server modules OSGi control sockets Client- Server data packets Forwarded data packets Signaling packets iptables command Netfilter NFQUEUE #2NFQUEUE #1 Raw socket UNIX socket NetServ Control Protocol (TCP)
Screenshot Traffic visualization: (If you open this URL in your browser, remember to replace “50” with your user number)
Tutorial GENI Topology Service Container OSGi NetServ Router with 50 JVMs pc508.emulab.net ProtoGENI Topology Tutorial User … … N 1 – Traffic flows 2 – User compiles NetServ module 3 – Deploy NetServ module 4 – Install module pc487.emulab.net pc517.emulab.net D1 D2
Hands-on Tutorial Step-by-step instruction: – GEC11NetServTutorialInstruction GEC11NetServTutorialInstruction
NFQUEUE Linux kernel Building block layer Library modulesSystem modulesWrappers for native functions Packet processing application module 1 Server application module 1 Command from NetServ controller JVM Client-server data packets dispatcher.addPktProcessor(this); Forwarded data packets Packet dispatcher … Servlet API Xuggler XML-RPC … … Packet processing application module 2 NetServ container under the hood OSGi libnetfilter_queue
NSIS-based on-path signaling N1N3N2 NetServ repository Signaling message is sent towards the destination rather than to a specific router
Future Work OpenFlow integration – NetServ node as a side-car NetServ on commercial router – JUNOS SDK Internet multicast using NetServ – Hybrid of ALM and IP multicast Authentication and authorization using RPKI
Wrap-up Please complete a (very) short survey – Link at the end of the step-by-step instruction NetServ homepage – Subscribe to netserv-users mailing list – We would appreciate your feedback!