Making Routers Last Longer with ViAggre Hitesh Ballani, Paul Francis, Tuan Cao and Jia Wang Cornell University and AT&T Labs–Research NSDI 2009
Motivation: Rapid Routing Table Growth 300000 300000 282,000 prefixes 282,000 prefixes (Sep’08) (Sep’08) Internet Routing Table Size Internet Routing Table Size 250000 250000 200000 200000 150000 150000 100000 100000 50000 50000 0 0 88 88 90 90 92 92 94 94 96 96 98 98 00 00 02 02 04 04 06 06 08 08 Year Year [Data Credit: Geoff Huston]
Motivation: Rapid Routing Table Growth 500000 500000 ?? Internet Routing Table Size Internet Routing Table Size Rapid future growth 400000 400000 300000 300000 ◮ IPv4 exhaustion 200000 200000 ◮ IPv6 deployment 100000 100000 0 0 88 88 90 90 92 92 94 94 96 96 98 98 00 00 02 02 04 04 06 06 08 08 14 14 Year Year Routing Table stored in Forwarding Information Base (FIB) on Routers Large Routing Table ⇒ More FIB space on Routers
Does FIB Size Matter? The problem is Scaling Properties of FIB memory (low volume, off-chip SRAM) Technical concerns ◮ Power and Heat dissipation problems Business concerns ◮ Low-volume, off-chip SRAM does not track Moore’s law ◮ Larger routing table ⇒ Less cost-effective networks ◮ Price per byte forwarded increases ◮ Cost of router memory upgrades
Does FIB Size Matter? Anecdotal evidence shows ISPs are willing to undergo some pain to extend the lifetime of their routers
Virtual Aggregation (ViAggre) A “configuration-only” approach to shrinking router FIBs ◮ Applies to legacy routers ◮ Can be adopted independently by any ISP Real World Impact ◮ IETF Standards effort ◮ Huawei implementing ViAggre into routers Key Insight: Divide the routing burden A router only needs to keep routes for a fraction of the address space
Talk Outline ◮ Motivation[]y ◮ Router Innards[]y ◮ Big Picture[]y ◮ ViAggre Design[]y ◮ Design Concerns[]y ◮ Evaluation[]y ◮ Deployment[]y
Router Innards Route Processor RP Routing RIB Protocol (RP) Switch Fabric Router RP Line Card Line Line Line Card Card Card FIB ASIC Router Router
Router Innards Route Processor RP Routing RIB Protocol (RP) Switch Fabric Router RP Line Card Line Line Line Card Card Card FIB ASIC Router Router Control Plane Participates in routing protocol
Router Innards Routing Route Processor Information RP Routing Base RIB Protocol (RP) (DRAM $) Switch Fabric Router RP Line Card Line Line Line Card Card Card FIB ASIC Router Router Control Plane RIB is a table of routes and is stored on slow memory
Router Innards Route Processor RP Routing RIB Protocol (RP) Switch Fabric Router RP Line Card Line Line Line Card Card Card FIB ASIC Router Forwarding Information Base Router (SRAM $$$) Data Plane Responsible for sending packets based on FIB (stored in fast memory)
Routing Scalability Problem Space [MapEncap’96] [Francis, CNIS’94] [GSE, ID’97] [Deering, ID’00] [Atoms, ’04] [Hain, ID’02] FIB growth RIB growth [CRIO, ICNP’06] [Krioukov, Arxiv’05] [LISP, ID’07] [Shim6, ID’07] [SIRA, ID’07] [Multipath, ’08] [TRRP, ’07] Routing Convergence, [APT, ID’07] Update Churn, .... [Six/One, MobiArch’08] A few problems afflict Internet routing scalability Lots of work to address these problems
Routing Scalability Problem Space [MapEncap’96] [Francis, CNIS’94] [GSE, ID’97] [Deering, ID’00] [Atoms, ’04] [Hain, ID’02] FIB growth RIB growth [CRIO, ICNP’06] [Krioukov, Arxiv’05] [LISP, ID’07] [Shim6, ID’07] [SIRA, ID’07] [Multipath, ’08] [TRRP, ’07] Routing Convergence, [APT, ID’07] Update Churn, .... [Six/One, MobiArch’08] Separate edge from the core
Routing Scalability Problem Space [MapEncap’96] [Francis, CNIS’94] [GSE, ID’97] [Deering, ID’00] [Atoms, ’04] [Hain, ID’02] FIB growth RIB growth [CRIO, ICNP’06] [Krioukov, Arxiv’05] [LISP, ID’07] [Shim6, ID’07] [SIRA, ID’07] [Multipath, ’08] [TRRP, ’07] Routing Convergence, [APT, ID’07] Update Churn, .... [Six/One, MobiArch’08] Geographical routing
Routing Scalability Problem Space [MapEncap’96] [Francis, CNIS’94] [GSE, ID’97] [Deering, ID’00] [Atoms, ’04] [Hain, ID’02] FIB growth RIB growth [CRIO, ICNP’06] [Krioukov, Arxiv’05] [LISP, ID’07] [Shim6, ID’07] [SIRA, ID’07] [Multipath, ’08] [TRRP, ’07] Routing Convergence, [APT, ID’07] Update Churn, .... [Six/One, MobiArch’08] Compact routing
Routing Scalability Problem Space [MapEncap’96] [Francis, CNIS’94] [GSE, ID’97] [Deering, ID’00] [Atoms, ’04] [Hain, ID’02] FIB growth RIB growth [CRIO, ICNP’06] [Krioukov, Arxiv’05] [LISP, ID’07] [Shim6, ID’07] [SIRA, ID’07] [Multipath, ’08] [TRRP, ’07] Routing Convergence, [APT, ID’07] Update Churn, .... [Six/One, MobiArch’08] Elimination Approaches
Routing Scalability Problem Space [MapEncap’96] [Francis, CNIS’94] [GSE, ID’97] [Deering, ID’00] [Atoms, ’04] [Hain, ID’02] FIB growth RIB growth [CRIO, ICNP’06] [Krioukov, Arxiv’05] [LISP, ID’07] [Shim6, ID’07] [SIRA, ID’07] [Multipath, ’08] [TRRP, ’07] Routing Convergence, [APT, ID’07] Update Churn, .... [Six/One, MobiArch’08] All require architectural change So many good ideas, so little impact!
Routing Scalability Problem Space [MapEncap’96] [Francis, CNIS’94] [GSE, ID’97] [Deering, ID’00] [Atoms, ’04] [Hain, ID’02] FIB growth RIB growth [CRIO, ICNP’06] [Krioukov, Arxiv’05] [LISP, ID’07] [Shim6, ID’07] [SIRA, ID’07] [Multipath, ’08] [TRRP, ’07] Routing Convergence, [APT, ID’07] Update Churn, .... [Six/One, MobiArch’08] Can we devise an incremental solution by focusing on a subset of the problem space?
Routing Scalability Problem Space [MapEncap’96] [Francis, CNIS’94] [GSE, ID’97] [Deering, ID’00] [Atoms, ’04] [Hain, ID’02] FIB growth RIB growth [CRIO, ICNP’06] [Krioukov, Arxiv’05] [LISP, ID’07] [Shim6, ID’07] [SIRA, ID’07] [Multipath, ’08] [TRRP, ’07] Routing Convergence, [APT, ID’07] Update Churn, .... [Six/One, MobiArch’08] This Talk: Focuses on reducing FIB size
Talk Outline ◮ Motivation[]y ◮ Router Innards[]y ◮ Big Picture[]y ◮ ViAggre Design[]y ◮ Design Concerns[]y ◮ Evaluation[]y ◮ Deployment[]y
ViAggre: Basic Idea 0.0.0.0 IPv4 Address Space PoP C PoP A 255.255.255.255 PoP B External External Router Router ISP Today: All routers have routes to all destinations
ViAggre: Basic Idea 0.0.0.0 Virtual 0/2 Prefixes 64/2 128/2 PoP C PoP A 192/2 255.255.255.255 PoP B External External Router Router ISP Divide address space into Virtual Prefixes (VPs) Notation: “/2” implies that the first two bits are used to group IP addresses. “0/2” represents addresses starting with 00. i.e. 0/2 ⇒ 0.0.0.0/2 ⇒ [0.0.0.0 to 63.255.255.255]
ViAggre: Basic Idea 0.0.0.0 Virtual 0/2 Prefixes 64/2 128/2 192/2 255.255.255.255 Aggregation Points for Green VP External External Router Router Assign Virtual Prefixes to the routers Green Aggregation Points maintain routes to green prefixes
ViAggre: Basic Idea 0.0.0.0 Virtual 0/2 Prefixes 64/2 128/2 192/2 255.255.255.255 Aggregation Points for Green VP External External Router Router Routers only have routes to a fraction of the address space
ViAggre: Basic Idea 0.0.0.0 Virtual 0/2 Prefixes 64/2 128/2 192/2 255.255.255.255 Aggregation Points for Green VP External External Router Router 1. How to achieve such division of the routing table without changes to routers and external cooperation? 2. How do packets traverse even though routers have partial routing tables?
ViAggre Control-Plane 0.0.0.0 0/2 64/2 128/2 192/2 255.255.255.255 External External Router Router Only Blue Routes should go into FIB Control-plane needs to ensure that a router’s FIB only contains routes that the router is aggregating
ViAggre Control-Plane 0.0.0.0 0/2 64/2 128/2 192/2 Full Routing Table 255.255.255.255 External External Router Router External BGP Peers may advertise full routing table
ViAggre Control-Plane 0.0.0.0 0/2 64/2 128/2 192/2 Full Routing Table 255.255.255.255 Load full routing External RIB table into RIB External Router Router Supress all but FIB blue routes from FIB Simple Approach: FIB Suppression Routers can load a subset of the RIB into their FIB High Performance Overhead
ViAggre Control-Plane 0.0.0.0 0/2 64/2 Route Reflector 128/2 Full Routing Table 192/2 255.255.255.255 RIB External External Router Router FIB Practical Approach: Route-reflector Suppression External router peers with a route-reflector Blue router receives only blue routes
ViAggre Control-Plane 0.0.0.0 0/2 64/2 Route Reflector 128/2 Full Routing Table 192/2 255.255.255.255 External External Router Router Practical Approach: Route-reflector Suppression Route-reflectors exchange routes with each other
Data-Plane paths 0.0.0.0 0/2 64/2 128/2 Packets destined to a prefix in Red 192/2 Virtual Prefix 255.255.255.255 External External Router Router Consider packets destined to a prefix in the red VP
Recommend
More recommend