SMALTA: Pushing the Storage Envelope with Prefix Lookups Sana Jawad, Ahsan Tariq, Zartash Afzal Uzmi March 19, 2010 Abstract For every IP datagram an Internet router needs to forward, specialized hardware performs a lookup through the forwarding table (FIB), a table that holds routes to destination prefixes. The number of such prefixes, and hence the FIB size, is growing at a fast pace, often requiring service providers to perform expensive memory upgrades. Prefix lookup schemes, which primarily attempt to minimize the lookup and update times, also allay concerns about the FIB memory size, at least partly, by employing efficient storage techniques. These lookup schemes, however, consider the FIB as a word of God and do not attempt to alter its inherent structure. We present SMALTA 1 , a mechanism that downsizes the forwarding table by altering its structure. SMALTA reduces the number of FIB entries— the destination prefixes and their next hops—by means of aggregation before handing them over to the lookup scheme, without requiring any changes to the router hardware or to the routing protocols. SMALTA gracefully caters to the routing updates, while processing them in the routing table (RIB) and incrementally downloading them to the FIB. Accurately incorporating these updates requires modification of a little more than one RIB entry per update, on average, for practical tables obtained from routeviews [20]. From a routing information snapshot of 160818 prefixes taken from June 2004 routeviews data, SMALTA reduced these to 66.5% fewer prefixes. The reduction remained greater than 64% even after incorporating 86904 updates. This translates to roughly 30% savings in the storage required by Tree Bitmap, a popular and highly storage-efficient lookup scheme. Besides helping the lookup schemes save on storage, and potentially on lookup times, SMALTA also complements recent developments in route caching [18] and virtual aggregation [2], while seamlessly working with RIB reduction techniques. SMALTA uses a previously-known algorithm for performing optimal aggregation of the forwarding table [7], while allowing updates to be in- corporated directly into the aggregated table. In order to test the routing correctness of SMALTA on a given forwarding table and set of updates, we develop and use a generic procedure which verifies if the forwarding be- havior of the two forwarding tables is exactly the same for every possible IP address in the entire IP space. 1 Saving Memory And Lookup Time via Aggregation 1