FIB Aggregation with SMALTA
description
Transcript of FIB Aggregation with SMALTA
FIB Aggregation with SMALTA
Zartash UzmiAhsan TariqPaul Francis
draft-uzmi-smalta-00
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
FIB Aggregation Work
04/21/23 2FIB Aggregation with SMALTA
RIB
Primary Routes
FIB
Original Table
Aggregated Table
FIB
Normal Operation
With Aggregation
Comparative Summary
04/21/23 FIB Aggregation with SMALTA 3
Extra-routable space
(Whiteholing)
% Original*1
Level 1 N 68%
Level2 N 49%
Level 3 Y -
Level 4 Y -
SMALTA N 39%
SMALTA-ER(future)
Y -
*1 From various RIB snapshots (from routeviews) since 2004
FIB Aggregation: basic idea
04/21/23 4FIB Aggregation with SMALTA
/22
/23
A
Exploit aggregation opportunities over entire Table
Original Table Aggregated Table
A
/22
A
/23/23
AA
/22
ALevel 2SpecificsCombines(beyond L1)
Level 1SpecificsRemoved
Where does SMALTA stand?
04/21/23 5FIB Aggregation with SMALTA
AggregationOpportunities
Updates
Whiteholing
Level 1 Specifics removed Y N
Level2 Specifics combined Y N
Level 3 Specifics combinedover holes
Y Y
Level 4 Y Y
ORTC [1999]
Exploits all: Optimal N N
SMALTA Exploits all (~ORTC)
Y N
RIB snapshot Aggregate FIB: One-shot Algo
BGP updates Aggregated table: Update Algo
One-shot and WITHDRAW
04/21/23 6FIB Aggregation with SMALTA
Original Aggregated (SMALTA)C
B
A
A
C
A
A
A
BWithdraw
Withdraw
C
B A
C
A
B B
With Level 1-4Can’t aggregate
any further!
Deaggregation Opportunities to aggregate more
SMALTA Update
04/21/23 7FIB Aggregation with SMALTA
1. How far aggregated you are after N updates?
2. How many RIB-to-FIB downloads per update?
Each update may result in justONE change in Original Table
RIB-to-FIB downloads: Exactly 1 (No Aggregation) 0/1/more (With Aggregation)
Year #updates*1
SMALTA Level 1
Level 2
2004 1153577 0.56 0.99 0.93
2005 1166839 0.49 0.79 0.77
2006 1718496 0.64 0.99 0.89
2007 1518776 0.54 0.73 0.71
2008 2235465 0.56 0.93 0.80
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!
SMALTA One-Shot (300-400ms)~3-4x more processing than L1 and L2Applied very infrequently
SMALTA Update~ same processing time as L1 and L2Fewer avg. RIB-to-FIB downloads
Remarks
04/21/23 FIB Aggregation with SMALTA 8
COMMENTS / QUESTIONS
BACKUP SLIDES
Basic Idea for Updates
04/21/23 11FIB Aggregation with SMALTA
Example 2: Aggregate specifics [having same next hop] – Level2
/23/23
A
AA A
/22
With
dra
wWith
dra
w
One-shot + ANNOUNCE + WITHDRAW
04/21/23 12FIB Aggregation with SMALTA
Original Aggregated(with SMALTA)
C
B
A
A
C
A
BAnnounce(
Q)Announce(
Q)
C
B
A
A
C
A
B QQ What if?
Withdraw
How far aggregated you are after N updates?
How long does it take to incorporate updates?
How many RIB to FIB downloads per update?
Incremental Updates: Analysis
04/21/23 13FIB Aggregation with SMALTA
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
Practicalities
04/21/23 14FIB Aggregation with SMALTA
Problem well-understood in GROW draft-zhang-fibaggregation
Status: FIB Aggregation Work
04/21/23 15FIB Aggregation with SMALTA
RIB
Primary Routes
FIB
RoutingUpdates
Original Table [RIB]
Aggregated Table
FIB
RoutingUpdates
Normal Operation With Aggregation
IGP IGP
Year #(entries)Orig. Table
# Level1Aggregati
on
# Level2Aggregatio
n(includes
L1)
# SMALTA(one-shot)
2004 160818 103565 69572 54340
2005 176474 109169 73169 55801
2006 203082 139763 96993 75357
2007 240162 161147 110065 83282
2008 269532 178676 117139 84170
SMALTA One-shot1,2 (no policy)
04/21/23 16FIB Aggregation with SMALTA
1. Tables from a routeviews “collection” router [41-46 peers]2. Policy (for best path): shortest AS path length preferred
Average Size 66% 44% 34% (of original)
SMALTA Update: time consumed
04/21/23 17FIB Aggregation with SMALTA
Year Avg. time perUpdate (Level1)
Avg. time perUpdate (Level2)
Avg. time per Update
(SMALTA)
2004 2.9μs 2.9μs 2.8μs
2005 3.0μs 2.9μs 2.9μs
2006 3.0μs 2.9μs 3.0μs
2007 3.0μs 3.1μs 3.0μs
2008 3.0μs 3.0μs 3.1μs
How long*3 does it take toincorporate an update?
*3 Dependent on Platform and implementation (reported for comparison only)
SMALTA: RIB to FIB Downloads(15-min update trace)
04/21/23 FIB Aggregation with SMALTA 18
Year #updates*1
Avg. # RIB toFIB
downloads
Max # RIB toFIB
downloads
Prefix forMax
2004 160818 1.0494 300 /8
2005 176474 1.0962 157 /8
2006 203082 0.966 499 /8
2007 240162 1.3141 376 /11
2008 269532 0.4031 64 /8
*1 From a 15-minute update trace