Operating System Support for Protocol Boosters

Operating System Support for Protocol Boosters

University of Pennsylvania ScholarlyCommons Technical Reports (CIS) Department of Computer & Information Science January 1996 Operating System Support for Protocol Boosters A. Mallet University of Pennsylvania J. D. Chung University of Pennsylvania Jonathan M. Smith University of Pennsylvania, [email protected] Follow this and additional works at: https://repository.upenn.edu/cis_reports Recommended Citation A. Mallet, J. D. Chung, and Jonathan M. Smith, "Operating System Support for Protocol Boosters", . January 1996. University of Pennsylvania Department of Computer and Information Science Technical Report No. MS-CIS-96-13. This paper is posted at ScholarlyCommons. https://repository.upenn.edu/cis_reports/187 For more information, please contact [email protected]. Operating System Support for Protocol Boosters Abstract "Protocol Boosters" are modules inserted into Protocol graphs. They allow the protocol's behavior to adapt to its environment. Boosters can mask undesirable properties of links or subnets in an internetwork. The method permits use of proprietary protocols and supports end-to-end optimizations. We have implemented Protocol Boosters support in the FreeBSD version of UNIX for Intel architecture machines. Our prototype embeds boosters in the 4.4 BSD-Lite Internet protocol (IP) stack. We have measured the performance of two prototype boosters: an encryption booster (for passage across insecure subnets) and a compression booster (passage across bandwidth-impaired subnets). Our measurement data suggests that OS support for this method can be constructed with low performance overhead: execution of the protocol elements dominates any overhead introduction by our implementation. We discuss some lessons learned from implementation. Comments University of Pennsylvania Department of Computer and Information Science Technical Report No. MS- CIS-96-13. This technical report is available at ScholarlyCommons: https://repository.upenn.edu/cis_reports/187 Operating System Support for Protocol Boosters A. Mallet J. D. Chung J. M. Smith University of Pennsylvania School of Engineering and Applied Science Computer and Information Science Department Philadelphia, PA 19104-6389 Operating System Support for Protocol Boosters A. qallet, J. D. Chung and J. M. Smith1 {ale, jdchung,jms)Ocis .upenn.edu Distributed Systems Laboratory University of Pennsylvania, Philadelphia, PA 19104-6389 Abstract "Protocol Boosters'' are modules inserted into protocol graphs. They allow the protocol's behavior to adapt to its environment. Boosters can mask undesirable properties of links or subnets in an internetwork. The method permits use of proprietary protocols and supports end-to-end optimizations. We have implemented Protocol Boosters support in the FreeBSD version of UNIX for Intel architecture machines. Our prototype embeds boosters in the 4.4 BSD-Lite Internet Protocol (IP) stack. We have measured the performance of two prototype boosters: an encryption booster (for passage across insecure subnets) and a compression booster (for passage across bandwidth-impaired subnets). Our measurement data suggests that OS support for this method can be constructed with low performance overhead; execution of the protocol elements dominates any overhead introduced by our implementation. We discuss some lessons learned from the implementation. 1 Introduction intended to be transparently inserted into and deleted from protocol graphs on an as-needed basis. Network protocols are designed to meet application A policy associated with the booster is used to se- requirements for data communications, including se- lectively invoke the protocol functions. For example, curity, reliability and performance. The dominant a forward error correction code might be used over a design and implementation process for protocols has wireless data link to bring its error behavior into an been to first enumerate the requirements for the pro- acceptable operating range, without using the FEC tocol, and then design a protocol that provides the end-to-end [13]. The error performance of the subnet necessary features end-to-end[l6]. The protocol is is thus "boosted" to an acceptable level to improve then optimized by identifying common cases and im- end-to-end performance. Figure 1 shows a booster plementing fast paths for these cases; TCP/IP is an used in a network, in this case boosting a subnet be- example[4]. The resulting protocol is robust end-to- tween an end-host and a router. end and typically provides good performance. Ex- tremely poor performance can result when the as- sumptions permitting fast path execution are not met. 1.1 Protocol Boosters Protocol gaphs[ll] are a means of representing the interactions between protocol elements which carry Boosted L~nkor Subnet out functions required by the protocol, e.g., round- u$ trip time estimation. An approach initially suggested Figure 1: Boosting a link or subnet by Feldmeier, et a1.[8], is the design of "Protocol Boosters." Protocol Boosters are protocol elements Boosters can be dynamically added and deleted as additional network functionality is needed. A policy 'This research was supported by the Defense Advanced f or this decision is needed in addition to the specific Projects Research Agency under Contract #DABT63-95-C- 0073. Additional support was provided by the Hewlet& booster mechanism for adding functionality. Since Packard and Intel Corporations. boosters vary widely in their functions, it is impossi- ble to have a completely general policy; policies must in this environment allows us to evaluate the tech- be associated with their boosters. nique's applicability today in a realistic setting. These policies can be quite subtle, and may include Our overall goal is to show that Protocol Boosters definition of "metan-policies. For example, consider are a good idea. As a first step, we must show that two boosters, one that compresses data, and a sec- the idea can be realized with acceptable performance. ond that encrypts it. If compression is performed To do this, we implemented several example Proto- first, the later encipherment of data might in fact be col Boosters embedded in a BSD TCP/IP implemen- slightly strengthened. However, if encryption is per- tation, and measured the costs and overheads. We formed first, the compression is unlikely to be effec- used the FreeBSD implementation of UNIX, operat- tive. A policy module can be devised which properly ing on Intel Pentium processors interconnected by 10 structures the interaction of these two boosters, for Mbps Ethernet cards. The availability of freely dis- example by indicating that the boosters are not com- tributable UNIX sources such as FreeBSD and Linux mutative. has made such machines extremely attractive as OS development platforms, and allows free distribution of systems such as the one we have implemented. It 1.2 Packet Modification is our hope that other boosters and improved OS sup- port will result as others absorb and react to our im- A transparent booster does not modify the packet it plementations. boosts. For example, a Forward Error Correction The remainder of this paper is organized as follows. (FEC) booster may send FEC packets in addition to Section 2 motivates particular design choices reflected the data packets it encodes. Non-transparent boost- in the implementation. Section 3 discusses several ex- ers, on the other hand, modify data packets. For ample Protocol Boosters. Section 4 discusses aspects example, a compression booster for use on a wireless of the implementation in FreeBSD. Section 5 presents link might compress data packets. performance data and some inferences we can draw Transparency has architectural implications; non- from it. Section 6 discusses related work, and Sec- transparent boosters are partitioned; the sender tion 7 concludes the paper with a discussion of lessons boosts the packet, and a "debooster" at the receiver learned, new directions and a pointer to the source dehoosts and recovers the original packet. This is the for our implementation. situation shown in Figure 1. 1.3 Implementing Boosters Laver ntl Implementation of boosters requires dynamic inser- t,ion of protocol elements into a protocol graph. In practice, protocol graphs are implemented as ex- ecutable modules that cooperate via messages or Protocol I Protocol I shared state. Booster support requires inserting and removing the booster's function from the execution path followed for a group of packets handled by the (a)Unmodified (b) Booster-capable (c) Boosted protocol. A simplified illustration of one style of Stack Stack Stack l~oosteris shown in Figure 2. Figure 2: Insertion of Protocol Boosters in a Layered While future operating systems[l, 71 may ease user- level implementation of protocols with good support Protocol for efficient userlkernel boundary crossing and struc- t,ured user control of devices[6], today's operating sys- tems are ill-suited for such implementation. Access to system resources needed for high performance, such 2 Implementation choices and as address maps and fine-grained scheduling, leads strategy t,o protocols embedded in operating systems. The canonical example is the IP protocol stack embed- As Figure 2 shows, due to its generality and sim- (led in BSD UNIX. Implementing protocol boosters plicity, the booster abstraction can be used in many protocol architectures. There is a wide range of im- Booster 1 plementation alternatives. 2.1 Kernel vs. User level The initial design choice was whether to run boosters inside

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    14 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us