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
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