• DocumentCode
    802679
  • Title

    Trading packet headers for packet processing

  • Author

    Chandranmenon, Girish P. ; Varghese, George

  • Author_Institution
    Dept. of Comput. Sci., Washington Univ., St. Louis, MO, USA
  • Volume
    4
  • Issue
    2
  • fYear
    1996
  • fDate
    4/1/1996 12:00:00 AM
  • Firstpage
    141
  • Lastpage
    152
  • Abstract
    In high speed networks, packet processing is relatively expensive while bandwidth is cheap. Thus, it pays to add information to packet headers to make packet processing easier. While this is an old idea, we describe several specific new mechanisms based on this principle. We describe a new technique, source hashing, which can provide O(1) lookup costs at the data link, routing, and transport layers. Source hashing is especially powerful when combined with the old idea of a flow identifier (flow ID); the flow ID allows packet processing information to be cached and source hashing allows efficient cache lookups. Unlike virtual circuit identifiers (VCIs), source hashing does not require a round-trip delay for set up. In an experiment with the BSD packet filter implementation, we found that adding a flow ID and a source hash improved packet processing costs by a factor of seven. We also found a 45% improvement when we conducted a similar experiment with IP packet forwarding. We also describe two other new techniques: threaded indices, which allows fast VCI-like lookups for datagram protocols like IP; and a data manipulation layer (DML), which compiles out all the information needed for integrated layer processing (ILP) and scheduling into an easily accessible portion of each packet
  • Keywords
    data communication; economics; packet switching; switching networks; table lookup; telecommunication network routing; transport protocols; BSD packet filter; IP packet forwarding; VCI-like lookups; bandwidth; cache lookups; data link layer; data manipulation layer; datagram protocols; flow ID; flow identifier; high speed networks; integrated layer processing; lookup costs; packet headers; packet processing costs improvement; packet processing information; routing layer; source hashing; threaded indices; transport layer; virtual circuit identifiers; Access protocols; Bandwidth; Circuits; Costs; Delay; Filters; Hardware; High-speed networks; Routing; Transport protocols;
  • fLanguage
    English
  • Journal_Title
    Networking, IEEE/ACM Transactions on
  • Publisher
    ieee
  • ISSN
    1063-6692
  • Type

    jour

  • DOI
    10.1109/90.490742
  • Filename
    490742