180 likes | 304 Vues
This document delves into the implementation of SMALTA (Static Multi-Level Aggregation) for improving FIB (Forwarding Information Base) aggregation. Introduced at IETF 76, it explores levels 1-5 aggregation efficiency, comparing original and aggregated tables. The analysis includes performance metrics, update processing times, and implications for routing updates. By examining robust data from RIB snapshots since 2004, this work presents insights into the opportunities and limitations of FIB aggregation, specifically focusing on SMALTA's operational characteristics and update methodologies.
E N D
FIB Aggregation with SMALTA Zartash Uzmi Ahsan Tariq Paul Francis draft-uzmi-smalta-00
FIB Aggregation Work Normal Operation • Introduced at IETF 76 • draft-zhang-fibaggregation • Level 1-4 • SMALTA == Level 5 • Better aggregation • No extra-routable space • Comparable update processing • For community information RIB Primary Routes FIB With Aggregation Original Table Aggregated Table FIB FIB Aggregation with SMALTA
Comparative Summary *1 From various RIB snapshots (from routeviews) since 2004 FIB Aggregation with SMALTA
FIB Aggregation: basic idea Aggregated Table Original Table /22 /22 Level 1 Specifics Removed A A /23 A /22 Level 2 Specifics Combines (beyond L1) A /23 /23 A A Exploit aggregation opportunities over entire Table FIB Aggregation with SMALTA
Where does SMALTA stand? RIB snapshot Aggregate FIB: One-shot Algo BGP updates Aggregated table: Update Algo FIB Aggregation with SMALTA
One-shot and WITHDRAW Original Aggregated (SMALTA) C C With Level 1-4 Can’t aggregate any further! • Deaggregation • Opportunities to • aggregate more A B A A A A B Withdraw Withdraw C C A B A B B FIB Aggregation with SMALTA
SMALTA Update 1. How far aggregated you are after N updates? After applying a full-day update trace: SMALTA loses between 1-6% of fully-aggregated state (one-shot) Measured for numerous routing tables across different years! 2. How many RIB-to-FIB downloads per update? Each update may result in just ONE change in Original Table RIB-to-FIB downloads: Exactly 1 (No Aggregation) 0/1/more (With Aggregation) FIB Aggregation with SMALTA
Remarks • SMALTA One-Shot (300-400ms) ~3-4x more processing than L1 and L2 Applied very infrequently • SMALTA Update ~ same processing time as L1 and L2 Fewer avg. RIB-to-FIB downloads FIB Aggregation with SMALTA
Withdraw Withdraw Basic Idea for Updates Example 2: Aggregate specifics [having same next hop] – Level2 /22 A /23 /23 A A A FIB Aggregation with SMALTA
One-shot + ANNOUNCE + WITHDRAW Original Aggregated (with SMALTA) C C A B A Announce(Q) A B Announce(Q) C C A B A A Q What if? Withdraw B Q FIB Aggregation with SMALTA
Incremental Updates: Analysis • How far aggregated you are after N updates? • How long does it take to incorporate updates? • How many RIB to FIB downloads per update? FIB Aggregation with SMALTA
Practicalities • Can’t aggregate entire table on every update • One-shot aggregation • Take current snapshot of RIB and Aggregate • On “significant” routing changes (e.g., BGP hard reset) • Perform a monolithic download after one-shot • To reflect BGP updates in FIB • Incremental updates to aggregated table FIB Aggregation with SMALTA
Status: FIB Aggregation Work • Problem well-understood in GROW • draft-zhang-fibaggregation With Aggregation Normal Operation RIB Primary Routes Original Table [RIB] Aggregated Table Routing Updates Routing Updates IGP IGP FIB FIB FIB Aggregation with SMALTA
SMALTA One-shot1,2 (no policy) Average Size 66% 44% 34% (of original) • Tables from a routeviews “collection” router [41-46 peers] • Policy (for best path): shortest AS path length preferred FIB Aggregation with SMALTA
SMALTA Update: time consumed How long*3 does it take to incorporate an update? *3 Dependent on Platform and implementation (reportedfor comparison only) FIB Aggregation with SMALTA
SMALTA: RIB to FIB Downloads(15-min update trace) *1 From a 15-minute update trace FIB Aggregation with SMALTA