detecting autonomous systems relationships

46
Detecting Autonomous Systems Relationships Alexander Asimov <[email protected]> Highload Lab

Upload: hll

Post on 20-Jun-2015

298 views

Category:

Technology


1 download

DESCRIPTION

The presentation was delivered by HLL / Qrator network engineer Alexander Asimov at the ENOG 2/RIPE NCC Regional Meeting taking place at the World Trade Centre in Moscow on 28-30 November 2011.

TRANSCRIPT

Page 1: Detecting Autonomous Systems Relationships

Detecting Autonomous

Systems Relationships

Alexander Asimov <[email protected]> Highload Lab

Page 2: Detecting Autonomous Systems Relationships

Our Goals

1. Traffic flow engineering

2. AS architecture design

3. BGP loop prediction

Page 3: Detecting Autonomous Systems Relationships

Traffic flow: prepend

«Дерни за веревочку, дверка

откроется»… а может быть, и нет

Page 4: Detecting Autonomous Systems Relationships

AS architecture design

1. Where to place next point of

presence?

2. How to forecast the

vector/amount of traffic

flow?

Page 5: Detecting Autonomous Systems Relationships

AS types

AS1 AS2

AS3

AS4

CORE

Is AS3 multihomed?

Is AS4 transit?

According to RFC - Yes

Page 6: Detecting Autonomous Systems Relationships

AS with separate parts

Two ASes with different route policy under

one AS number! Transnational?

Page 7: Detecting Autonomous Systems Relationships

BGP Route Loops

Built-in defense for static loops

Dynamic loops!

Page 8: Detecting Autonomous Systems Relationships

BGP Route Loops

AS2 AS3

AS1 AS4

200

200

AS5

AS-X

200

200

A

A

AS1 --

AS2 --

AS3 AS5 AS-X

AS4 AS5 AS-X

Page 9: Detecting Autonomous Systems Relationships

BGP Route Loops

AS2 AS3

AS1 AS4

200

200

AS5

AS-X

200

200 A

A

AS1 --

AS2 AS3 AS5 AS-X

AS3 AS4 AS5 AS-X

AS4 AS5 AS-X

Page 10: Detecting Autonomous Systems Relationships

BGP Route Loops

AS2 AS3

AS1 AS4

200

200

AS5

AS-X

200

200

A

AS1 AS2 AS3 AS5 AS-X

AS2 AS3 AS4 AS5 AS-X

AS3 AS4 AS5 AS-X

AS4 AS5 AS-X

A

Page 11: Detecting Autonomous Systems Relationships

BGP Route Loops

AS2 AS3

AS1 AS4

200

200

AS5

AS-X

200

200

AS1 AS2 AS3 AS4 AS5 AS-X

AS2 AS3 AS4 AS5 AS-X

AS3 AS4 AS5 AS-X

AS4 AS1 AS2 AS3 AS5 AS-X

A

A

Page 12: Detecting Autonomous Systems Relationships

BGP Route Loops

AS2 AS3

AS1 AS4

200

200

AS5

AS-X

200

200

AS1 AS2 AS3 AS4 AS5 AS-X

AS2 AS3 AS4 AS5 AS-X

AS3 AS4 AS5 AS-X

AS4 AS1 AS2 AS3 AS5 AS-X

A

A Packets

Page 13: Detecting Autonomous Systems Relationships

BGP Route Loops

AS2 AS3

AS1 AS4

200

200

AS5

AS-X

200

200

AS1 AS2 AS3 AS4 AS5 AS-X

AS2 AS3 AS4 AS5 AS-X

AS3 AS5 AS-X

AS4 AS5 AS-X

A

A

Again!

Page 14: Detecting Autonomous Systems Relationships

Built-in defense for static loops

Dynamic loops!

• Packet loss

• BGP Announce noise

BGP Route Loops

Page 15: Detecting Autonomous Systems Relationships

Breaking down

1. Route flap

2. Change prepend policy

AS-X AS-X

3. Prepend one of ASes in loop

AS-X AS2 AS-X

Makes AS2 ignore your route

Page 16: Detecting Autonomous Systems Relationships

Breaking down

1. Route flap

2. Change prepend policy

AS-X AS-X

3. Prepend one of ASes in loop

AS-X AS2 AS-X

Makes AS2 ignore your route How not to fall into another loop?

Page 17: Detecting Autonomous Systems Relationships

One “killer” feature

Autonomous Systems

Reverse Map

And there are multiple projects…

Page 18: Detecting Autonomous Systems Relationships

Opte Project

Beautiful!

Page 19: Detecting Autonomous Systems Relationships

DIMES

Interesting!

Page 20: Detecting Autonomous Systems Relationships

ROBTEX

Ok. But what will be used by my AS?

Page 21: Detecting Autonomous Systems Relationships

Missing features

• Physical links discovery

No use of route policy

• Macro map

Show links that are used by

somebody, not by your AS.

Page 22: Detecting Autonomous Systems Relationships

WHOIS services

Page 23: Detecting Autonomous Systems Relationships

Incompleteness

Often Sometimes Never

Accept Fliters Prepend

ORIGIN

EBGP vs IBGP

Local Pref

Med

IGP

Route ID

Page 24: Detecting Autonomous Systems Relationships

Inconsistency

From RIPE DB

aut-num: AS42366

remarks: Due to major changes this

object is outdated at moment

Page 25: Detecting Autonomous Systems Relationships

Missing features

• Physical links discovery

No use of route policy;

• Macro map

Shows links that are used by somebody, not by your AS;

• Route policy data

Outdated, incomplete.

Page 26: Detecting Autonomous Systems Relationships

Deadlock?

No opportunity for route policy recovery!

Page 27: Detecting Autonomous Systems Relationships

Project goals

• There are more then 400k physical

links at interdomain level;

• Only 40k links are used at every

moment by each AS;

• The goal is to find out links, that

could be used by single AS.

Page 28: Detecting Autonomous Systems Relationships

Route policy model

Accept Filters Local Pref

Local Pref

AS_PATH Prepend model

ORIGIN

Priority

MED

eBGP vs iBGP

IGP

Router_ID

Page 29: Detecting Autonomous Systems Relationships

Route policy model

Accept Filters Local Pref

Local Pref

AS_PATH Prepend model

ORIGIN

Priority

MED

eBGP vs iBGP

IGP

Router_ID

Discover every route policy level!

Page 30: Detecting Autonomous Systems Relationships

Active policy discovery

1. Colored AS map

2. Traceroute

3. ping –R (spoofed)

Page 31: Detecting Autonomous Systems Relationships

Colored AS Map

AS-X

AS2 AS1 AS3

Prefix I

AS4

Page 32: Detecting Autonomous Systems Relationships

Colored AS Map

AS-X

AS2 AS1 AS3

Prefix I

AS4

PING!

Page 33: Detecting Autonomous Systems Relationships

Colored AS Map

AS-X

AS2 AS1 AS3

Prefix I

AS4

PING!

Page 34: Detecting Autonomous Systems Relationships

AS graph properties

BGP router announces

only what is used.

AS graph must be

connected by each

color!

Page 35: Detecting Autonomous Systems Relationships

Model Correction

Increase localpref

AS1 AS2

AS3

AS2 AS1

10 20

Page 36: Detecting Autonomous Systems Relationships

Verification Process

BGP config

change

Active probing Model

correction

Page 37: Detecting Autonomous Systems Relationships

WHOIS services check

0 20 40 60 80

RIPE

APNIC

ARIN

ASes in RR %

Errors %

Page 38: Detecting Autonomous Systems Relationships

Amount of neighbours

AS Number Description

12389 ROSTELECOM

9002 RETN

20485 TRANSTELECOM

6854 SYNTERRA

3216 SOVAM

8732 COMCOR

31133 MegaFon

2854 ROSPRINT

39792 ANDERS

Page 39: Detecting Autonomous Systems Relationships

AS connectivity

AS-X

AS1 AS2 AS3

Level0

Page 40: Detecting Autonomous Systems Relationships

AS connectivity

AS-X

AS1 AS2 AS3

AS4 AS5 AS6 AS7

Level0

Level1

Page 41: Detecting Autonomous Systems Relationships

AS connectivity

AS-X

AS1 AS2 AS3

AS4 AS5 AS6 AS7

Level0

Level1

𝐷𝑒𝑔𝑟𝑒𝑒 𝐴𝑆𝑋 = 𝑆𝑖𝑧𝑒𝑂𝑓 𝐿𝑒𝑣𝑒𝑙𝑖 ∗ 𝑖

Page 42: Detecting Autonomous Systems Relationships

Top AS connectivity

AS Number Description

12389 ROSTELECOM

9002 RETN

20485 TRANSTELECOM

31133 MegaFon

3216 SOVAM

6854 SYNTERRA

8744 STARTTELECOM

39792 ANDERS

8732 COMCOR

Page 43: Detecting Autonomous Systems Relationships

AS-QRATOR

Neighbours Connectivity

39792 9 8

41095 70 520

9002 2 2

It is balanced!

Page 44: Detecting Autonomous Systems Relationships

Results

• Policy recovery is impossible;

• Active policy discovery is possible;

• There is unique graph for every AS;

• The only opportunity for

engineering at interdomain routing

level.

Page 45: Detecting Autonomous Systems Relationships

Keep your WHOIS records up to date

Pretty please…

Page 46: Detecting Autonomous Systems Relationships

Thank you for listening!

Questions?