Abilene
Collection methodology
The idea is to directly work with destination AS numbers (which
themselves are computed by the routers using the BGP tables when each
netflow record is generated).
(1) Examine the netflow leaving the egress links and build a set of
destination AS numbers that egress at each router
(2) From (1), for each destination AS number, we can find all the egress
routers correspond to this AS.
(3) At each ingress router, for each flow record, I can map its
destination AS number to a set of egress routers using results
of (2). I then simulate OSPF to pick the one egress router
that is the closest.
The above works as long as the destination AS is not Abilene (AS11537).
When the destination is Abilene, in principle you could do the same
thing on destination prefixes. Unfortunately, the Abilene netflow
mask out the last 11 bits of all the IP addresses, so it is impossible
to get the true destination prefixes for Abilene. As a result, the
TMs generated do not include any traffic destined for AS11537
(fortunately they don't account for too much traffic).
Scripts:
convert_data.pl - convert the data from its original format
into the format presented here
tm_totals.pl - create totals for each TM
tm_totals.m - draw pictures of totals, and create cleaned data
tm_decomp.sh - do decomposition of the totals
uses decomposition code (see below)
tm_decomp.m - draw pictures of decomposed parts
tm_fourier_analysis.m - simple Fourier analysis of 2 weeks of the data
tm_fourier_analysis2.m - simple Fourier analysis of 6 weeks of the data
write_tm_latex.pl - write out a TM in LaTex format
Summary Data:
tm_totals.dat - total traffic per TM from "Measured" data
tm_totals.clean
tm_totals.clean.datenums
tm_decomp.dat
Data Directories:
Measured - original TM, from collected data, as
described above
SimpleGravity - simple gravity model based on Measured
SimpleTomoGravity - tomogravity results using simple
gravity prior (see [1])
GeneralGravity - generalized gravity model (see [1])
GeneralTomoGravity - tomogravity results using generalized
gravity prior (see [1])
External code/files: (in separate download)
TrafficMatrix.pm - has code for reading and writing files
README - README describing file format and
philosophy
decomposition - C code for time-series decomposition
Other notes:
In several places paths are hard-coded. They obviously have to be
fixed to install. This could be better, but there aren't too many of
them, and they are pretty obvious.
I haven't provided the tomogravity or synthesis code yet. We really
need to create new versions of these.
References:
[1] Fast Accurate Computation of Large-Scale IP Traffic Matrices
from Link Loads, Yin Zhang, Matthew Roughan, Nick Duffield and
Albert Greenberg, ACM SIGMETRICS 2003.