Efficient FIB caching using minimal non-overlapping prefixes

The size of the global Routing Information Base (RIB) has been increasing at an alarming rate. As a direct effect, the size of the global Forwarding Information Base (FIB) has experienced rapid growth. This increase raises serious concerns for Internet Service Providers (ISPs) as the FIB memory in line cards is much more expensive than regular memory modules, so frequently increasing this memory capacity for all the routers is prohibitively costly to an ISP. Previous research on Internet traffic indicates that a very small number of popular prefixes receive most of the Internet's traffic, making "caching" a possible solution to reduce the FIB size. However, FIB caching may cause a cache-hiding problem where a packet's longest-prefix match in the cache differs from that in the full FIB, and thus the packet will be forwarded to the wrong next hop. Motivated by these observations, we propose an efficient FIB caching scheme that stores only non-overlapping FIB entries into the fast memory (i.e., a FIB cache), while storing the complete FIB in slow memory. Our caching scheme achieves a considerably higher hit ratio than previous approaches while preventing the cache-hiding problem. It can also handle cache misses, cache replacement, and routing updates efficiently. Moreover, we have implemented the proposed caching scheme using the OpenFlow platform, which allows a local or remote route controller to manage routes in the cache. We use real traffic of a regional ISP and a Tier1 ISP to carry out our experiments. Our simulation results show that with only 20K prefixes in the cache (5.28% of the actual FIB size), the hit ratio of our scheme is higher than 99.95%. Our OpenFlow implementation achieves a hit ratio near 99.94%, which approaches the performance of the simulated results.

[1]  Xin Zhao,et al.  On the Aggregatability of Router Forwarding Tables , 2010, 2010 Proceedings IEEE INFOCOM.

[2]  Vijay Mann,et al.  Effective switch memory management in OpenFlow networks , 2014, DEBS '14.

[3]  Xin Zhao,et al.  Incremental Forwarding Table Aggregation , 2010, 2010 IEEE Global Telecommunications Conference GLOBECOM 2010.

[4]  Devavrat Shah,et al.  Fast Updating Algorithms for TCAMs , 2001, IEEE Micro.

[5]  Xiaoliang Zhao,et al.  Routing Scalability: An Operator's View , 2010, IEEE Journal on Selected Areas in Communications.

[6]  Daniel Massey,et al.  Dynamics of Prefix Usage at an Edge Router , 2011, PAM.

[7]  Jia Wang,et al.  Making Routers Last Longer with ViAggre , 2009, NSDI.

[8]  Nick McKeown,et al.  OpenFlow: enabling innovation in campus networks , 2008, CCRV.

[9]  Yin Zhang,et al.  BGP routing stability of popular destinations , 2002, IMW '02.

[10]  Lan Wang,et al.  FIFA: Fast incremental FIB aggregation , 2013, 2013 Proceedings IEEE INFOCOM.

[11]  Laxmi N. Bhuyan,et al.  Anatomy and Performance of SSL Processing , 2005, IEEE International Symposium on Performance Analysis of Systems and Software, 2005. ISPASS 2005..

[12]  Mehrdad Nourani,et al.  Efficient prefix cache for network processors , 2004, Proceedings. 12th Annual IEEE Symposium on High Performance Interconnects.

[13]  Brian Zill,et al.  Constructing optimal IP routing tables , 1999, IEEE INFOCOM '99. Conference on Computer Communications. Proceedings. Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies. The Future is Now (Cat. No.99CH36320).

[14]  David Walker,et al.  CacheFlow: Dependency-Aware Rule-Caching for Software-Defined Networks , 2016, SOSR.

[15]  Brighten Godfrey,et al.  Routing Tables: Is Smaller Really Much Better? , 2009, HotNets.

[16]  Jianping Wu,et al.  Catching popular prefixes at AS border routers with a prediction based method , 2012, Comput. Networks.

[17]  Donald R. Morrison,et al.  PATRICIA—Practical Algorithm To Retrieve Information Coded in Alphanumeric , 1968, J. ACM.

[18]  Sujata Banerjee,et al.  DevoFlow: scaling flow management for high-performance networks , 2011, SIGCOMM 2011.

[19]  Syed Obaid Amin,et al.  Efficient FIB caching using minimal non-overlapping prefixes , 2013, CCRV.

[20]  Huan Liu,et al.  Routing prefix caching in network processor design , 2001, Proceedings Tenth International Conference on Computer Communications and Networks (Cat. No.01EX495).

[21]  Jennifer Rexford,et al.  Revisiting Route Caching: The World Should Be Flat , 2009, PAM.

[22]  George Varghese,et al.  Tree bitmap: hardware/software IP lookups with incremental updates , 2004, CCRV.

[23]  Paul Francis,et al.  SMALTA: practical and near-optimal FIB aggregation , 2011, CoNEXT '11.