TESLA: A Transparent, Extensible Session-Layer Architecture for End-to-end Network Services Jon Salz Alex C. Snoeren MIT Laboratory for Computer Science University of California, San Diego
[email protected] [email protected] Hari Balakrishnan MIT Laboratory for Computer Science
[email protected] Session-layer services for enhancing functionality and ² Encryption services for sealing or signing ¤ows. improving network performance are gaining in impor- ² General-purpose compression over low-bandwidth tance in the Internet. Examples of such services in- links. clude connection multiplexing, congestion state shar- ² ing, application-level routing, mobility/migration sup- Traf£c shaping and policing functions. port, and encryption. This paper describes TESLA, a These examples illustrate the increasing importance of transparent and extensible framework allowing session- session-layer services in the Internet—services that oper- layer services to be developed using a high-level ¤ow- ate on groups of ¤ows between a source and destination, based abstraction. TESLA services can be deployed and produce resulting groups of ¤ows using shared code transparently using dynamic library interposition and and sometimes shared state. can be composed by chaining event handlers in a graph structure. We show how TESLA can be used to imple- Authors of new services such as these often imple- ment several session-layer services including encryption, ment enhanced functionality by augmenting the link, net- SOCKS, application-controlled routing, ¤ow migration, work, and transport layers, all of which are typically im- and traf£c rate shaping, all with acceptably low perfor- plemented in the kernel or in a shared, trusted interme- mance degradation.