SNAP: Safe and Nimble Active Packets
SNAP (Safe and Nimble Active Packets) is an active networking
system where traditional packet headers are replaced with programs
written in a special-purpose programming language. The SNAP language
has been designed to be practical, i.e. scoring highly in the
following areas:
- safety: SNAP programs cannot compromise node integrity and
cannot consume an untoward amount of global or local network
resources;
- efficiency: SNAP is designed to permit high performance
execution; and
- flexibility: SNAP programs add significant new
functionality over traditional passive networking.
These objectives are achieved because SNAP is an expression-limited
bytecode language: there are no function calls, and all branches and
jumps are constrained to move forward through the program. This
permits us to prove several safety properties about the language.
Software Download
SNAP version 1.0 now available!
You can get a user-space version of SNAP which runs over UDP
here. It has been tested for RedHat Linux
6.1 and 6.2.
Papers
- Michael Hicks, Jonathan T. Moore, and Scott Nettles. ``Compiling PLAN to SNAP.''
IWAN'01, September/October 2001. Abstract.
- Jonathan T. Moore, Jessica Kornblum Moore, and Scott Nettles. ``Scalable Distributed Management with
Lightweight Active Packets.'' Technical Report MS-CIS-01-26, Department of
Computer and Information Science, University of Pennsylvania, September
2001. Abstract.
- Jonathan T. Moore, Michael Hicks, and Scott Nettles. ``Practical Programmable Packets.''
INFOCOM'01, April 2001.
Abstract.
- Jonathan T. Moore. ``Practical
Active Packets,'' Ph.D. Dissertation Proposal, University of
Pennsylvania, February 2001.
- Jonathan T. Moore and Scott M. Nettles. ``Towards Practical Programmable
Packets.'' Technical Report MS-CIS-00-12, University of Pennsylvania,
May 2000. Abstract.
- Jonathan T. Moore. ``Safe and
Efficient Active Packets.'' Technical Report MS-CIS-99-24, Department of
Computer and Information Science, University of Pennsylvania, October 1999.
Abstract.
People
The following people are part of the SNAP development team:
Related Links
This work was supported by DARPA under Contract #N66001-96-C-852 and by the
NSF under Contracts ANI 00-82386 and ANI 98-13875.
Copyright © 2002, 2001 by Jonathan T. Moore
Last modified:
Tue May 28 14:45:45 EDT 2002
Jon Moore / jonm@dsl