|
![]() |
|
Designed by |
|
|
|
|
|
|
Fast Scalable Algorithms for Level Four Switching
V. Srinivasan, George Varghese, Subash Suri (Washington University in St. Louis), Marcel Waldvogel (ETH Zurich)
In Layer Four switching, the route and resources allocated to a packet
are determined by the destination address as well as other header
fields of the packet such as source address, TCP and UDP port
numbers. Layer Four switching unifies firewall processing, RSVP style
resource reservation filters, QoS Routing, and normal unicast and
multicast forwarding into a single framework. In this framework, the
forwarding database of a router consists of a potentially large number
of filters on key header fields. A given packet header can match
multiple filters, so each filter is given a cost, and the packet is
forwarded using the least cost matching filter. In this paper, we
describe two new algorithms for solving the least cost matching
filter problem at high speeds. Our first algorithm is based on a
grid-of-tries construction and works optimally for processing filters
consisting of two prefix fields (such as destination-source filters)
using linear space. Our second algorithm, cross-producting, provides
fast lookup times for arbitrary filters but potentially requires large
storage. We describe a combination scheme that combines the
advantages of both schemes. The combination scheme can be optimized to
handle pure destination prefix filters in 4 memory accesses,
destination-source filters in 8 memory accesses worst case, and all
other filters in 11 memory accesses in the typical case.
|
|