Routing Information Service
Concepts & Internals
Matthew Williams
http://www.ripe.net/ris/
Techy Talk, 20th of Dec. 2001

Who are the RIS Crew?
Arife Coltekin,
Network Engineer
Daniel Karrenberg, Chief Scientist
Henk Uijterwaal,
N.P. Project Manager
Luigi Corsello,
Jr. Network Engineer
Matthew Williams,
Cust. Liaison Engineer

Overview
Background & Introduction
RIS Data Flow & Internals
Current Services
The RISreport
Future Plans
Short Summary

Routing Information Service
Background
&
Introduction

Why the RIS?
Many tools that debug Internet connectivity, e.g. Ping, TraceRoute, Protocol Analyzers, Router debug commands e.t.c.
Major drawback – No ‘history’. Only works with the current status and configuration
Another drawback – No perspective ‘mobility’ (exception: Looking Glasses, however, not all are available to the public and they only provide information about the AS where it’s installed)

So what is it then…
From RIPE-200:
Collects default-free BGP routing information between AS’s (EBGP) from several locations and stores it as a function of time at RIPE NCC
Allows service’s users to see all routes anywhere on the Internet and their development over time
Think of the RIS as a giant, integrated Looking Glass with historical information about the Internet’s logical structure.

Simple Graphical Overview

RIS Evolution
Project started officially in July 1999 (A. Antony)
RIS Design Note (Ripe-200), October 1999
First RIS Prototype, RRC00 - RIPE NCC, presented at RIPE-35, February 2000
Collected data stored in MySQL dBase by May 2000
Second Route Collector (RRC01) at LINX, July 2000
RISreport demonstrated to the RIPE community at RIPE-39, May 2001
Today 7 active RRC’s with a total of 171 BGP sessions
Investigating how additional RRC’s will add to data validity

Routing Information Service
Data Flow
&
Internals

What is a RRC box?
Software router using Zebra’s BGP daemon
No BGP announcements from RRC (‘quiet’)
Peering configured on between RRC and peers at IXP
BGP update dumps every 15 min
RIB snapshots, i.e. BGP table, every 8 hours
Dumps in MRT binary format stored locally on RRC’s HDD
NTP synchronization & UTC Time-stamps
Collect script on Abcoude pulls binary files, the ‘Raw Data’, to central storage at RIPE NCC using RSYNC via SSH tunnel

Data Collection Points
RRC00 - RIPE NCC (Singel)
RRC01 - London (LINX)
RRC02 - Paris (SFINX)
RRC03 - Amsterdam (AMS-IX)
RRC04 - Geneva (CIXP)
RRC05 - Vienna (VIX)
RRC06 - Otemachi (NSPIXP2)
[RRC07 – Stockholm (Netnod-IX)]

Abcoude – Heart of the RIS

DBinsert into Database
DBinsert process uses ‘Route_Btoa’ tool from the Multi-Threaded Routing Toolkit (www.mrtd.net)
Route_Btoa converts binary MRT format to ASCii
DBinsert then inserts ASCii data into MySQL dBase
DBinsert constantly polls for raw data files
Special table (‘updtlist’) in dBase, used by DBinsert for logging all insertion processes of raw files

Overview of RIS dBase structure
Each RRC has its own dBase
Tables for BGP updates: ‘ryyyymmdd’
Tables  for RIB dumps: ‘lribyyyymmdd’
These have foreign keys pointing to ‘Prefix’, ‘Aspath’ & ‘Peer’ tables
‘Prefix’ stores all prefixes seen by the RIS
‘Aspath’ stores all aspaths seen by the RIS
‘Peer’ keeps all information about BGP peers
‘Updtlist’ is stand-alone and, as mentioned, logs all insertion processes

RIS Services

Current Services
ASInuse
Search RIS dBase by AS
Search RIS dBase by Prefix
Collected data in dBase for 3 months
Looking Glass
show IP BGP, show IP BGP summary, show version, ping, trace
Raw Data
Later section… RISreport

ASInuse
ASInuse will query the RIS dBase when a given AS Number was last seen and retrieve all AS Paths that contain the ASN.
Used by Registration Services to see if allocated ASN is announced on the Internet

AS Query
Lists all prefixes that originate from specified AS and paths back to it from RRC’s perspective (‘view’)

Prefix Query
Lists AS from which prefix originates and path to it from RRC (same concept: ‘view’)

Looking Glass (beta)
How network is seen from specific location where the looking glass in located

Logical View of Example

Raw Data
Mainly used for research
Binary MRT format
Route_Btoa tool from the Multi-Threaded Routing Toolkit converts the data to ASCii

Research based on RIS Raw Data
By analyzing our data, they concluded that there’s a strong correlation between BGP message storms and worm propagation periods.
Especially interesting since the time period of research spans the Twin Towers attack in NYC
There’s a link from our WWW pages

Querying the RIS dBase
ASinuse
AS Query
Prefix Query
Looking Glass
And the…

The RISreport
Creating graphical representations of RIS data using RRD tool
T. Franchetti’s  Master’s Thesis
“Internet Routing Analysis Provided by the RISreport
(May 2001)
http://www.ripe.net/ripencc/pub-services/np/analysis.html

What is RRD?
RRD – Round Robin Database
Developed by Tobi Oetiker
Tracks variable over time (min, max, avg, last)
Fixed dBase size after creation because data ‘drops’ out of dBase (‘circle analogy’)
Database definitions cannot be changed later and one cannot go back in time if data is missing
Round Robin Archives also defined in the dBase relate to different time periods, e.g. daily, weekly, monthly, yearly
Longer time periods will naturally have lesser resolution
RRDTool is used to insert data into RRD and plot graphs
http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/index.html

Two Branches of the RISreport
BGP Count (RRDTool and Perl Scripts)
BGP Count
BGP Count Normalized
Unique Announcements
Prefix /N (MySQL and GNUplot)
Prefix Distribution (Histogram)
Graphs generated once per day
Only RRC00 (Ripe NCC) and RRC01 (LINX)

Implementation of BGP Count

BGP Count

Implementation of Prefix /N

Prefix Distribution

The Future is Bright…

Future Plans
Internet Routing Table ‘State Report’
Similar to P. Smith’s weekly report but on a daily basis
Top Ten Lists
Announcements
Withdrawals
Route Flaps (AAdup, WAdup)
Extending the RISreport
Include more Route Collectors
Number of leaf, transit or all AS’s seen by the RIS
Ratios of announced / allocated ASN’s or IP address space
AS Path Length averages, variances and standard deviations
RRD allows for practically any variable to be plotted over time

Summary
RIS - Giant Looking Glass with history information about Internet’s logical structure
Principals for collection of BGP routing information
Current Services – Interpretation of query results
RISreport - Plotting RIS data

Questions, Discussion