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
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.
- safety: SNAP programs cannot compromise node integrity and
cannot consume an untoward amount of global or local network
- efficiency: SNAP is designed to permit high performance
- flexibility: SNAP programs add significant new
functionality over traditional passive networking.
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.
- 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
- Jonathan T. Moore, Michael Hicks, and Scott Nettles. ``Practical Programmable Packets.''
INFOCOM'01, April 2001.
- 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.
The following people are part of the SNAP development team:
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
Tue May 28 14:45:45 EDT 2002
Jon Moore / jonm@dsl