scispace - formally typeset
Open AccessProceedings ArticleDOI

Trading packet headers for packet processing

Reads0
Chats0
TLDR
A new technique, source hashing, which can provide O(1) lookup costs at the Data Link, Routing, and Transport layers and is especially powerful when combined with the old idea of a flow ID; the flow identifier allows packet processing information to be cached, and source hashing allows efficient cache lookups.
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 ID; the flow identifier 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 7. 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, which compiles out all the information needed for Integrated Layer Processing into an easily accessible portion of each packet.

read more

Content maybe subject to copyright    Report

(*;1260<76&62>.:;2<A26$<7=2;(*;1260<76&62>.:;2<A26$<7=2;
(*;1260<76&62>.:;2<A!8.6$,174*:;128(*;1260<76&62>.:;2<A!8.6$,174*:;128
44758=<.:$,2.6,.*6-6026..:260
#.;.*:,1
758=<.:$,2.6,.*6-6026..:260
#.87:< =5+.:(&$

%:*-260"*,3.<.*-.:;/7:"*,3.<":7,.;;260%:*-260"*,3.<.*-.:;/7:"*,3.<":7,.;;260
.7:0.'*:01.;.
61201;8..-6.<?7:3;8*,3.<8:7,.;;2602;:.4*<2>.4A.@8.6;2>.?124.+*6-?2-<12;,1.*8
%12;+.0;<1.9=.;<276?1*<C.4-;,*6+.*--.-<78*,3.<;<75*3.8*,3.<8:7,.;;260.*;2.:
A.@847:260<12;9=.;<276?.-.>2,.*6=5+.:7/67>.45.,1*62;5;<7;8..-=88*,3.<
8:7,.;;260(2<1<1.*->.6<7/6.?;<*6-*:-;/7:1<.*<*263 .<?7:3*6-%:*6;87:<4A*.:;
?.+.42.>.<1.:.2;*67887:<=62<A<7*884A<1.;.<.,1629=.;<7258:7>.<1.8.:/7:5*6,.7/:.*4
8:7<7,74;2:;<?.;=00.;<*--260*-*<*5*628=4*<2761.*-.:<7*6.*;24A*,,.;;2+4.87:<276
7/.*,18*,3.<%12;1.*-.:,76<*26;8726<.:;<7C.4-;26#.*-,7584.<.*+;<:*,<768*0.#.*-,7584.<.*+;<:*,<768*0.
7447?<12;*6-*--2<276*4?7:3;*<1<<8;78.6;,174*:;128?=;<4.-=,;.):.;.*:,1
"*:<7/<1.758=<.:6026..:26075576;*6-<1.758=<.:$,2.6,.;75576;
#.,755.6-.-2<*<276#.,755.6-.-2<*<276
'*:01.;..7:0.%:*-260"*,3.<.*-.:;/7:"*,3.<":7,.;;260#.87:< =5+.:(&$
44758=<.:$,2.6,.*6-6026..:260#.;.*:,1
1<<8;78.6;,174*:;128?=;<4.-=,;.):.;.*:,1
.8*:<5.6<7/758=<.:$,2.6,.6026..:260(*;1260<76&62>.:;2<A26$<7=2;
*58=;7@$<7=2;!81

%12;<.,162,*4:.87:<2;*>*24*+4.*<(*;1260<76&62>.:;2<A!8.6$,174*:;1281<<8;78.6;,174*:;128?=;<4.-=
,;.):.;.*:,1
%:*-260"*,3.<.*-.:;/7:"*,3.<":7,.;;260%:*-260"*,3.<.*-.:;/7:"*,3.<":7,.;;260
.7:0.'*:01.;.
7584.<.+;<:*,<7584.<.+;<:*,<
61201;8..-6.<?7:3;8*,3.<8:7,.;;2602;:.4*<2>.4A.@8.6;2>.?124.+*6-?2-<12;,1.*8%12;+.0;<1.
9=.;<276?1*<C.4-;,*6+.*--.-<78*,3.<;<75*3.8*,3.<8:7,.;;260.*;2.:A.@847:260<12;
9=.;<276?.-.>2,.*6=5+.:7/67>.45.,1*62;5;<7;8..-=88*,3.<8:7,.;;260(2<1<1.*->.6<7/
6.?;<*6-*:-;/7:1<.*<*263 .<?7:3*6-%:*6;87:<4A*.:;?.+.42.>.<1.:.2;*67887:<=62<A<7
*884A<1.;.<.,1629=.;<7258:7>.<1.8.:/7:5*6,.7/:.*48:7<7,74;2:;<?.;=00.;<*--260*-*<*
5*628=4*<2761.*-.:<7*6.*;24A*,,.;;2+4.87:<2767/.*,18*,3.<%12;1.*-.:,76<*26;8726<.:;<7
C.4-;26>*:27=;4*A.:;:.9=2:.-/7:-*<*5*628=4*<276%12;26/7:5*<276*447?;2584.5.6<*<267;<7
.E,2.6<4A,75+26.-*<*5*628=4*<276;<.8;.0.6,:A8<276*6-,78A26026*;<:=,<=:.-/*;1276
$.,76-?.;=00.;<*--26026-.@C.4-;<78:7<7,742-.6<2C.:;*<*444*A.:;.0,766.,<2762-.6<2C.:;
6.<?7:3*--:.;;.;$";<7:.-=,.4773=8,7;<;*6-0.6.:2,8:7<7,748:7,.;;260$.>.:*46.?2-.*;<7
=<242B.<1.;.26-.@C.4-;<1:.*-.-26-.@26026-.@8*;;260*6-;7=:,.1*;1260*:.8:787;.-'2:<=*4
2:,=2<-.6CC.:;';1*>.+..64760=;.-<7;25842/A4773=8*6-8*,3.<8:7,.;;26026>2:<=*4,2:,=2<6
;7=:,.1*;1260*6-<1:.*-.-26-.@260<1.*--.-26-2,.;.;;.6<2*444A;.:>.*;';+=</7:D7?;26*
-*<*0:*56.<?7:36;7=:,.1*;1260/7:.@*584.<1.'2;*,76;2;<.6<:*6-754*+.4,17;.6+A<1.
;7=:,.!=:6.?5.<17-;8:7>2-.<1.+.6.C<;7/67:5*4';?2<1=<:.9=2:260*:7=6-<:28-.4*A/7:;.<
=8!=:5.<17-;,*647?.:?7:;<,*;.-*<*0:*54773=8<25.;/:75!4706<7!?12,15*A+.
2587:<*6</7:20*+2<:7=<.:;




Citations
More filters
Proceedings ArticleDOI

Scalable high speed IP routing lookups

TL;DR: This paper describes a new algorithm for best matching prefix using binary search on hash tables organized by prefix lengths that scales very well as address and routing table sizes increase and introduces Mutating Binary Search and other optimizations that considerably reduce the average number of hashes to less than 2.
Journal ArticleDOI

Survey and taxonomy of packet classification techniques

TL;DR: A survey of the seminal and recent solutions to the packet classification problem is provided, using a taxonomy based on the high-level approach to the problem and a minimal set of running examples to foster a deeper understanding of the various packet classification techniques.
Journal ArticleDOI

Fast address lookups using controlled prefix expansion

TL;DR: The main technique, controlled prefix expansion, transforms a set of prefixes into an equivalent set with fewer prefix lengths, and optimization techniques based on dynamic programming, and local transformations of data structures to improve cache behavior are used.
Patent

Peer-model support for virtual private networks having potentially overlapping addresses

TL;DR: In this paper, a service provider's routers (PE 1, P 1, P 2, PE 2 ) provide connections between and share routing information with routers (CE 1, CE 2 ) of a customer virtual private network (VPN) as well as routers of other customers' VPNs, which may have overlapping address spaces.
Proceedings ArticleDOI

Faster IP lookups using controlled prefix expansion

TL;DR: In this paper, the authors describe how IP lookups can be made faster using a new technique called controlled prefix expansion, together with optimization techniques based on dynamic programming, can be used to improve the speed of the best known IP lookup algorithms.
References
More filters
Book

Introduction to Algorithms

TL;DR: The updated new edition of the classic Introduction to Algorithms is intended primarily for use in undergraduate or graduate courses in algorithms or data structures and presents a rich variety of algorithms and covers them in considerable depth while making their design and analysis accessible to all levels of readers.

Internet Protocol, Version 6 (IPv6) Specification

S. Deering, +1 more
TL;DR: In this paper, the authors specify version 6 of the Internet Protocol (IPv6), also referred to as IP Next Generation or IPng, and propose a new protocol called IPng.
Proceedings Article

End-to-End Arguments in System Design.

TL;DR: A design principle is presented that helps guide placement of functions among the modules of a distributed computer system and suggests that functions placed at low levels of a system may be redundant or of little value when compared with the cost of providing them at that low level.
Journal ArticleDOI

End-to-end arguments in system design

TL;DR: The end-to-end argument as discussed by the authors suggests that functions placed at low levels of a distributed computer system may be redundant or of little value when compared with the cost of providing them at that low level.
Journal ArticleDOI

Implementing remote procedure calls

TL;DR: The overall structure of the RPC mechanism, the facilities for binding RPC clients, the transport level communication protocol, and some performance measurements are described, including some optimizations used to achieve high performance and to minimize the load on server machines that have many clients.
Frequently Asked Questions (1)
Q1. What contributions have the authors mentioned in the paper "Trading packet headers for packet processing" ?

With the advent of new standards for hte Data Link, Network, and Transport lyaers, the authors believe there is an opportunity to apply these techniques to improve the performance of real protocols. First, the authors suggest adding a data manipulation header to an easily accessible portion of each packet.