Computer networks
Introduction to algorithms
Architectural considerations for a new generation of protocols
SIGCOMM '90 Proceedings of the ACM symposium on Communications architectures & protocols
Interconnections: bridges and routers
Interconnections: bridges and routers
Active messages: a mechanism for integrated communication and computation
ISCA '92 Proceedings of the 19th annual international symposium on Computer architecture
Gigabit networking
A data labelling technique for high-performance protocol processing and its consequences
SIGCOMM '93 Conference proceedings on Communications architectures, protocols and applications
Increasing network throughput by integrating protocol layers
IEEE/ACM Transactions on Networking (TON)
VAXcluster: a closely-coupled distributed system
ACM Transactions on Computer Systems (TOCS)
Implementing remote procedure calls
ACM Transactions on Computer Systems (TOCS)
End-to-end arguments in system design
ACM Transactions on Computer Systems (TOCS)
Trading packet headers for packet processing
IEEE/ACM Transactions on Networking (TON)
Scalable high speed IP routing lookups
SIGCOMM '97 Proceedings of the ACM SIGCOMM '97 conference on Applications, technologies, architectures, and protocols for computer communication
Hi-index | 0.00 |
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.