Page MenuHomePhabricator

Send peering requests to AS with the worst TTFB
Open, LowPublic


Now that my Autonomous Systems report is out:

I was thinking of reaching out to the worst offenders in terms of latency (TTFB) to offer peering when we don't have a peering relationship with them already.

Is there an existing process for this?

I think this list of worst offenders makes sense as a first pass:

Event Timeline

Gilles created this task.Mar 28 2019, 8:59 AM
Restricted Application added a project: Operations. · View Herald TranscriptMar 28 2019, 8:59 AM
Restricted Application added a subscriber: Aklapper. · View Herald Transcript
Peter added a subscriber: Peter.Mar 28 2019, 10:53 AM

The first step when looking at peering with a provider is to check if we're both present at a common exchange point.
You can see where we are present on, especially the "Public Peering Exchange Points" list.

From there, we can only peer with AS2516 and AS701.
While we already peer with AS21928.

Very large providers have a tendency to not accept (or even not reply to) peering requests. AS701 actually stopped the only peering we had recently.
I'll reach out to AS2516, but they are not present in Equinix Singapore, while we redirect Japan users to the Singapore cache. (KDDI is mostly Japanese)

We can then dig 1 level deeper, and for ISPs we can't reach directly, try to only have one intermediary AS. For that we need to look at the routing table, then do the same PeeringDB lookup for any AS# in the middle. This becomes tedious to do manually, as in addition to that, a provider can advertise only some prefixes to some peers.

See T186835, where I experimented with automating a similar reporting process.

Thanks for the details. I don't have permission to access T186835

Is this manual work something I can do myself?

(Added you to the task)

In some measure, yes.
Getting the routing table is the most complicated part.
As a one of, I've been SSHing directly to the routers, but this doesn't scale.
In SF, AMS and Singapore we send a copy of our routing table to the RIPE RIS servers, so it's possible to use their APIs to get the AS-PATHS as we see them on those sites.
As a longer term project, we could also host our own route collector. (eg. we're experimenting with collecting routes using pmacct for another project).
PeeringDB also have APIs and a downloadable DB.
I've been using them all on and off, so don't hesitate to ask me if you need info/help.

ema moved this task from Triage to Network on the Traffic board.Apr 1 2019, 9:31 AM
kchapman moved this task from Inbox to Doing on the Performance-Team board.Apr 1 2019, 7:56 PM
fgiunchedi triaged this task as Normal priority.Apr 9 2019, 8:38 AM
kchapman assigned this task to Gilles.Apr 29 2019, 8:35 PM
CDanis added a subscriber: CDanis.Apr 29 2019, 8:52 PM
Gilles lowered the priority of this task from Normal to Low.Apr 30 2019, 12:03 PM

Now that the AS report is collecting more data, I've manually compiled a list of AS we could directly peer with (and don't yet), having checked that we have at least one IX in common.

I've looked at the United States, Russia, France, Germany, Italy, Brazil, United Kingdom, India, Poland, Canada, Japan, Spain.

ASASNIX in common
SprintAS1239AMS-IX, Equinix Ashburn
MCI Communications Services, Inc. d/b/a Verizon BusinessAS2828AMS-IX, Equinix Ashburn
T-Mobile USA, Inc.AS21928Equinix Ashburn
Charter Communications IncAS7843Equinix Ashburn, Equinix Dallas
Cox Communications Inc.AS22773Equinix Ashburn
Charter CommunicationsAS20115Equinix Ashburn, Equinix Chicago, Equinix Dallas
Cablevision Systems Corp.AS6128Equinix Ashburn, Equinix Chicago
Orange S.A.AS5511Equinix Singapore
CLARO S.A.AS4230Equinix Ashburn
British Telecommunications PLCAS5400AMS-IX, Equinix Ashburn
TATA Communications formerly VSNL is Leading ISPAS4755AMS-IX
Rogers Communications Canada Inc.AS812Equinix Ashburn, Equinix Chicago
TELUS Communications Inc.AS852Equinix Chicago
Internet Initiative Japan Inc.AS2497Equinix Ashburn, Equinix Palo Alto, Equinix Singapore
Telefonica International Wholesale Services II, S.L.U.AS12956AMS-IX, Equinix Ashburn

@ayounsi is there an existing process for this?

Current process is to lookup their email contact in PeeringDB and manually send them an email, CCing our peering@ email.

So I should do that for that list? Are you ok with me requesting peering from all of these AS?

Is there an existing email template?

faidon added a subscriber: faidon.EditedJun 25 2019, 10:12 PM

So I should do that for that list? Are you ok with me requesting peering from all of these AS?
Is there an existing email template?

No, please don't :)

Some of that data is not really accurate, some of it there are good business reasons not to, some of those we know are not going to do it, and some of these we've tried in the past and failed. (I'm afraid I can't be more specific than that on a public task). @ayounsi can curate the list and reach out to the ones that we could conceivably peer with (spoiler alert: a probably /very/ small list, if there are any at all)

Gilles reassigned this task from Gilles to ayounsi.Jun 27 2019, 8:21 AM