Components of Routing Table Growth



Similar documents
IPv4 Address Allocation and the BGP Routing Table Evolution

Internet Operations and the RIRs

Introduction to The Internet. ISP/IXP Workshops

Introduction to The Internet

IPv6 Addressing. ISP Training Workshops

How To Get An Ipv6 Allocation On Ipv4 (Ipv4) From Ipv5) From The Ipvripe Ncc (Ip6) From A Ipvv6 Ipv2 (Ip4) To Ip

Introduction. Internet Address Depletion and CIDR. Introduction. Introduction

DD2491 p Load balancing BGP. Johan Nicklasson KTHNOC/NADA

RIPE Network Coordination Centre RIPE NCC LIR Tutorial

On Characterizing BGP Routing Table Growth Tian Bu, Lixin Gao, and Don Towsley University of Massachusetts, Amherst, MA 01003

Simple Multihoming. ISP/IXP Workshops

Address Scheme Planning for an ISP backbone Network

IPv6 Address Planning

Embedded BGP Routing Monitoring. Th. Lévy O. Marcé

Impact of IPv4 Address Allocation Practice on BGP Routing Table Growth

Module 12 Multihoming to the Same ISP

Simple Multihoming. ISP Workshops. Last updated 30 th March 2015

BGP. 1. Internet Routing

Multihoming and Multi-path Routing. CS 7260 Nick Feamster January

APNIC Trial of Certification of IP Addresses and ASes

Internet Structure and Organization

Internet Bodies.

RPKI Tutorial. Certification. Goals. Current Practices in Filtering

Routing in Small Networks. Internet Routing Overview. Agenda. Routing in Large Networks

A PKI For IDR Public Key Infrastructure and Number Resource Certification

Towards a Next- Generation Inter-domain Routing Protocol. L. Subramanian, M. Caesar, C.T. Ee, M. Handley, Z. Mao, S. Shenker, and I.

Topic 1: Internet Architecture & Addressing

Scalable Prefix Matching for Internet Packet Forwarding

Network Level Multihoming and BGP Challenges

F root anycast: What, why and how. João Damas ISC

4.1.2., , [Section Number Retired] Determination of IP address allocation

IPv6 Addressing and Subnetting

IPv6 The Big Picture. Rob Evans, Janet

BGP Multihoming Techniques

Introduction to IP Numbers vs. Domain names. Adiel A. Akplogan CEO, AFRINIC. 2014

Fireware How To Dynamic Routing

Week 4 / Paper 1. Open issues in Interdomain Routing: a survey

BGP Multihoming Techniques

Clustering & Visualization

IPv6 and 4-byte ASN Update

Subnetting and Network Management Omer F. Rana. Networks and Data Communications 1

Internet Routing Protocols Lecture 04 BGP Continued

IPv6 and IPv4 Update from the RIPE NCC. Sandra Brás, Ferenc Csorba

Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay

The Internet. On October 24, 1995, the FNC unanimously passed a resolution defining the term Internet.

What's inside the cloud?!

Multihoming: An Overview

The Internet Introductory material.

BGP Multihoming Techniques. Philip Smith APRICOT 2013 Singapore 19 th February 1 st March 2013

Cisco on Cisco Best Practices Cisco IP Addressing Policy

BGP Multihoming Techniques

Exterior Gateway Protocols (BGP)

Two Approaches to Internet Traffic Engineering for End-to-End Quality of Service Provisioning

Demystifying BGP: By Jeffrey Papen Thursday, May 15th, 2003

HP Networking BGP and MPLS technology training

Advanced BGP Policy. Advanced Topics

Bloom Filter based Inter-domain Name Resolution: A Feasibility Study

IPv6 Addressing. John Rullan Cisco Certified Instructor Trainer Thomas A. Edison CTE HS

Introduction to Routing

Distributed Systems. 09. Naming. Paul Krzyzanowski. Rutgers University. Fall 2015

Internet Protocol version 4 Part I

ISP Case Study. UUNET UK (1997) ISP/IXP Workshops. ISP/IXP Workshops. 1999, Cisco Systems, Inc.

DNS Root NameServers

APNIC elearning: Requesting IP Address

Claudio Jeker. RIPE 41 Meeting Amsterdam, 15. January Using BGP topology information for DNS RR sorting

Dynamics of Prefix Usage at an Edge Router

BGP Terminology, Concepts, and Operation. Chapter , Cisco Systems, Inc. All rights reserved. Cisco Public

BGP Prefix Hijack: An Empirical Investigation of a Theoretical Effect Masters Project

Datagram-based network layer: forwarding; routing. Additional function of VCbased network layer: call setup.

Transitioning to BGP. ISP Workshops. Last updated 24 April 2013

BGP Routing. Course Description. Students Will Learn. Target Audience. Hands-On

Oracle Communications Internet Name and Address Management

CSC458 Lecture 6. Homework #1 Grades. Inter-domain Routing IP Addressing. Administrivia. Midterm will Cover Following Topics

BGP1 Multihoming and Traffic Engineering

BGP and Traffic Engineering with Akamai. Caglar Dabanoglu Akamai Technologies AfPIF 2015, Maputo, August 25th

The OpenDNS Global Network Delivers a Secure Connection Every Time. Everywhere.

netkit lab bgp: multi-homed Università degli Studi Roma Tre Dipartimento di Informatica e Automazione Computer Networks Research Group

Future Internet Technologies

Outline. EE 122: Interdomain Routing Protocol (BGP) BGP Routing. Internet is more complicated... Ion Stoica TAs: Junda Liu, DK Moon, David Zats

EE627 Lecture 22. Multihoming Route Control Devices

BGP Multihoming Techniques

E : Internet Routing

ITRI CCL. IP Routing Primer. Paul C. Huang, Ph.D. ITRI / CCL / N300. CCL/N300; Paul Huang 1999/6/2 1

Inter-domain Routing. Outline. Border Gateway Protocol

Transcription:

Components of Routing Table Growth Harsha Narayan (U. of California, San Diego) Joint work with Ramesh Govindan (U. of Southern California) and George Varghese (U. of California, San Diego) 1

The Goal To understand how the routing table is growing We will develop a model of the routing table The model will help us understand how and why the routing table is growing 2

Outline of the talk Part 1: Address Allocation and Routing Practice Part 2: The Model: ARAM Part 3: Quantifying Current Practices 3

Address Management Hierarchy IANA RIRs Internet Assigned Numbers Authority Regional Internet Registry APNIC, ARIN, LACNIC, RIPE LIRs Local Internet Registry Usually ISPs Users 4

Note We ignore that part of the routing table which developed before the establishment of the RIRs. This part has almost stopped growing. 5

6

Address Allocation Hierarchy IANA /8s RIRs RIRs Allocations LIRs LIRs Assignments Users 7

Depth of a prefix 1.0.0.0/10 Depth 0 1.0.0.0/12 Depth 1 1.0.0.0/17 Depth 2 1.0.0.0/24 and 1 more Depth 3 Depth of a routing table prefix is the number of less specific prefixes in the routing table. 8

Mainly Two Depths We model only two depths Over the last 5 years, at least 90% of the routing table is found at Depth 0 and Depth 1 (data in next slide) 9

Month 1 = November 1997. Month Percentage of Routing table at Depth > 1 1 9% 10 8% 20 10% 30 10% Always less than Or equal to 10% 40 9% 50 10% 61 9% 10

Important Example: Splitting and Spawning Allocations Routing Table 1.4.0.0/14 (Intact) 1.4.0.0/14 2.8.0.0/13 (Split) 2.8.0.0/14 2.12.0.0/15 Depth 0 Spawned prefixes 1.5.0.0/16 2.12.18.0/24 Depth 1 11

Routing Practice Allocations Intact Depth 0 Prefixes of Split Routing table Spawn Depth 1 Prefixes of Routing table Due to Load sharing, multihoming assignments etc. 12

Outline of the talk Part 1: Address Allocation and Routing Practice Part 2: The Model: ARAM Part 3: Quantifying Current Practices 13

Our Routing Table Model (ARAM) Input: The number of allocations. Output: A routing table which is structurally similar to the real routing table By structurally similar, we mean that we preserve prefix relationships, though prefixes need not be exactly the same. 14

ARAM Overview Allocation Practice Routing Practice Allocations from /8s (Stage 1) Splitting (Stage 2) Spawning (Stage 3) Stages 1 and 2 create depth zero of the routing table. Stage 3 creates depth one of the routing table. 15

ARAM Stage 1: Modeling Allocation Practice Given the number of allocations, our model generates them. How? Using curve-fitting software, we found that Allocation prefix length distribution (number of allocations per allocation size) can be approximated by a power law: Y = (X-9) 3.4 X=prefix length of allocation Y=number of allocations Basic intuition: more allocations associated with longer prefixes eg. Number of /12s=42 Number of /15s=442. 16

ARAM Stage 2: Modeling Routing Practice: Splitting We observed that not all ISPs/LIRs announce their allocations intact Some allocations are split into several prefixes. Only a fraction Fsplit (about 20% today) of allocations split. Other observation: A splitting allocation is not covered entirely by the split prefixes all the available addresses need not be routed. Csplit fraction of advertised address space, is around 70%. 17

Example of the parameter - Csplit The C is for coverage fraction of advertised address space Allocation Routing Table Depth 0 2.8.0.0/13 2.8.0.0/14 2.12.0.0/15 (/13) (/15) (/14) Csplit=0.75 18

ARAM Stage 3: Modeling Routing Practice: Spawning Some depth zero prefixes spawn the depth one prefixes of the routing table. Not all depth zero prefixes spawn For example, direct allocations to end-users need not spawn unless they want to do load sharing Some ISPs do not make multihoming assignments Just like splitting, there are two parameters: Fspawn: fraction of intact or split allocations (I.e. a Depth 0 prefix) which spawn a prefix Cspawn: fraction of spawned address space. 19

Example of the parameter - Cspawn The C is for coverage fraction of advertised address space Routing Table Depth 0 Routing Table Depth 1 2.12.0.0/15 2.12.0.0/17 2.12.128.0/17 (/15) (/17) Cspawn=0.5 (/17) 20

Validation of the model We took 20 snapshots of the real routing table at 3-month intervals. For each snapshot we found the number of allocations used to generate the snapshot. We used this number as input to ARAM to produce an output routing table. We compared ARAM s table to the real routing table using 5 measures. To help the comparison we used a baseline model. The baseline model generates prefixes at random given the prefix length distribution of the routing table as input. 21

Forwarding table data structure ARAM Baseline does well ARAM The 5 measures were: 1. Total number of prefixes (routing table size). 2. Depth ratio (Depth 0 / Depth 1). 3. Prefix length distribution 4. Sparseness: Number of Unibit trie nodes per prefix. The routing table can be drawn as a binary tree - called a unibit trie. 5. Size of data structure used in the forwarding table in routers. Real table Time Sparseness of Routing tree Baseline ARAM Real table Time 22

Depth ratio ARAM and Real table very close. The two lines look like one. Root mean square error in Prefix length distribution Baseline Time ARAM Baseline Time 23

Outline of the talk Part 1: Address Allocation and Routing Practice Part 2: The Model: ARAM Part 3: Quantifying Current Practices Now that we have described the model We can use the model s language to describe and quantify allocation and routing practice 24

We will see: Why splitting and spawning happen? Quantify splitting and spawning. Extent of Load Sharing. Can RIRs help reduce routing table size? 25

Why does splitting happen? ISP-level Load Sharing/Load Balancing. An ISP shares traffic across multiple upstreams. Or a large ISP may have some kind of internal partitioning. There are also Cable ISPs which advertise large number of split prefixes. End-users with direct allocations from RIRs use multiple ISPs. use diverse routing with a large ISP Though it would be desirable to quantify the prevalence of the above practices, we cannot do this because there are no particular signatures. 26

Why does spawning happen? ISPs do load sharing of intact allocations. ISPs make multihoming assignments to customers. These assignments are then advertised through different providers for backup connectivity or load sharing. 27

An observation about Fsplit and Fspawn Larger allocations are more likely to split. Shorter Depth 0 prefixes are more likely to spawn. As the prefix length increases Fsplit and Fspawn decrease. Fsplit Fspawn Prefix length 28

Another View of Splitting and Spawning Intact Split Depth 0 11% 26% Depth 1 (Spawned) 44% 10% A matrix of Depth and Intact/Split. The percentage of prefixes in each category is shown. 29

Number of splitters and spawners is small Depth0 Intact 8000 Split 19000 (split from 2000 allocations) (3000 spawning) (1500 spawning) Depth1 33000 7000 6500 splitters and spawners contribute 80% of prefixes 30

Measuring the Extent of Load Sharing We used a heuristic to distinguish load sharing prefixes and multihoming assignments at depth one: Depth 1 prefixes with the same Origin AS as their Depth 0 parent are called load shared prefixes (or LS prefixes). Here we are referring to load sharing done by ISPs or end-users with direct allocations. 1.4.0.0/15 Origin AS = 700 Example of LS 1.4.0.0/24 Origin AS = 700 31

More about the heuristic Depth 1 prefixes with an Origin AS different from the Depth 0 parent are called multihoming assignments (or MA prefixes). Here we are referring to customers advertising multihoming assignments for backup connectivity, load sharing etc. 2.2.0.0/15 Origin AS = 700 Example of MA 2.2.2.0/24 Origin AS = 863 Note: Just 1% of the prefixes in the routing table have more than one Origin AS. Therefore, we ignore such prefixes and still remain accurate. The MA prefixes may contain some load sharing prefixes (ISP with multiple ASes). Thus they serve as an upper bound. 32

Load sharing largest chunk Intact Split Depth0 8000 19000 (These are Load Sharing Too) Depth1 33000 (21000 MA + 12000 LS) 7000 (4000 MA + 3000 LS) 33

Trend of the fraction of load sharing prefixes in the table Over the last 5 years, the fraction of Load Sharing prefixes in the routing table is increasing Percentage of Load Sharing prefixes in the routing table Number of Load Sharing prefixes is growing faster than the rest of the routing table 52 50 48 46 44 42 40 38 1 10 20 30 40 50 61 Time Month 1 must have seen some sort of BGP Misconfiguration? 34

Extent of Load Sharing The parameters Cspawn and Csplit can be used to measure load sharing. Data shows: Average Cspawn over the last 5 years MA Constant (decreased slightly) (15%) LS Increasing (30% to 42%) Average Csplit increased from 48% to 69%. Conclusion: The extent of load sharing is steadily rising. 35

Decreasing sparseness due to increasing load sharing Recall sparseness refers to sparseness of the unibit trie. Unibit trie is the routing table drawn as a binary tree. Time The size of the tree per prefix is decreasing. The values of Csplit and Cspawn are increasing leading to prefixes being clustered together. MA prefixes are associated with low Cspawn values and are scattered over a much wider area. 36

Can RIRs help reduce routing table size? RIRs try to reduce number of prefixes in the routing table Aggregation of allocations is one of their goals. They reserve space for growth of current allocations. What if the RIRs renumber all networks I.e. give only one allocation per LIR? Not of much help. 37

Why allocation practices can t help much This is because only 11% of routing table prefixes are intact allocations. The remaining 89% arise due to splitting and spawning these are not under the control of RIRs. Conclusion: Not much allocation practices can do to reduce routing table growth. Even renumbering would have a very small impact on routing table size. 38

Conclusion The model can be used to predict routing tables based on allocation and routing practices. Load sharing a large and growing contributor to routing table growth. An application: model is useful for router vendors to calculate memory required to store forwarding table. Forwarding table memory for different approaches when only Cspawn increases. Best approach Routing table size increases Only due to increase in Cspawn 39

Contact information Email: hnarayan@cs.ucsd.edu 40