I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi...

46
Instradamento tra Sistemi Autonomi --BGP -1 Instradamento tra Sistemi Autonomi -- BGP Thanks to: Giuseppe Di Battista, Maurizio Patrignani, Maurizio Pizzonia: Università di Roma Tre Timothy G. Griffin http://www.research.att.com/~griffin/interdomain.html Instradamento tra Sistemi Autonomi --BGP -2 I Sistemi Autonomi ! Ogni organizzazione è composta da un insieme di router e LAN sotto una singola amministrazione ! Un algoritmo di routing è prescelto per aggiornare automaticamente le tabelle di instradamento ! Un AS definisce in maniere coerente le politiche di instradamento all’interno della sua oganizzazione

Transcript of I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi...

Page 1: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -1

Instradamento tra SistemiAutonomi -- BGP

Thanks to:

Giuseppe Di Battista, Maurizio Patrignani, Maurizio Pizzonia:Università di Roma Tre

Timothy G. Griffinhttp://www.research.att.com/~griffin/interdomain.html

Instradamento tra Sistemi Autonomi --BGP -2

I Sistemi Autonomi! Ogni organizzazione è composta da un insieme

di router e LAN sotto una singolaamministrazione

! Un algoritmo di routing è prescelto peraggiornare automaticamente le tabelle diinstradamento

! Un AS definisce in maniere coerente le politichedi instradamento all’interno della suaoganizzazione

Page 2: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -3

L’interconnessione di SistemiAutonomi

! Quando più organizzazioni si unisconoper formare una Inter-rete, occorrestabilire tra loro punti di collegamento

! Le reti che vengono aggiunte sono dettepunti di demarcazione

Instradamento tra Sistemi Autonomi --BGP -4

L’instradamento tra SistemiAutonomi

! Ogni tabella deve avere un’entry per ognipossibile destinazione

! Questo deve valere sia per le destinazioni localiche per quelle globali

Page 3: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -5

Come aggiornare le tabelle diInstradamento?

In generale vi sono tre opzioni:

1. Eseguire un unico algoritmo di instradamentotra organizzazioni adiacenti

2. Aggiornare le tabelle di instradamentomanualmente aggiungendo percorsi staticipredefiniti

3. Combinare un protocollo di instradamentointra-domain con un protocollo diinstradamento inter-domain: Exterior gatewayprotocol

Instradamento tra Sistemi Autonomi --BGP -6

1. Unico algoritmo diInstradamento

! Molti Svantaggi:

" Ritardo di propagazione, ex: distance vector

" Scalabilita’

" Tutte le organizzazioni sono forzate ad usarelo stesso algoritmo

" Un nuovo algoritmo di instradamento è didifficile adozione

" Non considera le relazioni politiche ecommerciali tra sistemi autonomi

Page 4: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -7

2. Percorsi statici

! Si nasconde la parte interna dell’AS

! Per ogni obiettivo esterno si identifica un routeralla frontiera del Sistema Autonomo didestinazione

! Informazione sul cammino da seguire perraggiungere l’obiettivo

! Svantaggi:" difficile da aggiornare e da correggere

" I malfunzionamenti non sono gestiti, non si ha backup

" Nessuna garanzia che tutti i router del percorso sonoin effetti disponibili per portare il traffico adestinazione

Instradamento tra Sistemi Autonomi --BGP -8

2. Percorsi statici

! L’instradamento può essere inefficente

! Nell’esempio R1 ed R2 sono parte dello stessoAS. R3 invia ad R1 tutto il traffico diretto all’AS,anche quello diretto alla LAN 2.

! L’instradamento non tiene conto delle reti che sipossono effettivamente raggiungere!

Page 5: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -9

2. Percorsi statici

! L’algoritmo di instradamento diffonderàall’interno dell’AS il traffico locale e iltraffico che segue i percorsi statici

Instradamento tra Sistemi Autonomi --BGP -10

Un approccio diverso

! Occorre avere un flusso informativo indue direzioni, sia dall’interno versol’esterno che dall’esterno verso l’interno

! L’AS si deve far carico di garantire laconsistenza degli instradamenti interni

! Occorre annunciare all’esterno quali retiinterne sono raggiungibili

! Occorre assegnare le responsabilità per ladiffusione delle informazioni riguardol’instradamento

Page 6: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -11

3. Exterior gateway protocol! Qualunque protocollo per lo scambio delle informazioni

sull’instradamento tra Sistemi Autonomi" Anche un protocollo specifico anteriore a BGP

! BGP – Border Gateway Protocol

! Due AS che si scambiano informazioni di instradamentodesignano due router che stabiliscono una sessione dipeering

! Router che partecipano a BGP sono detti Router di Confineo Gateway

Instradamento tra Sistemi Autonomi --BGP -12

3. Exterior Gateway Protocol

Approccio:

! Nascondi la parte interna degli AS

! Mantieni solo le zone di demarcazione e i router difrontiera degli AS

Page 7: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -13

3. Exterior Gateway Protocol

! Ogni router di frontiera rappresenta ledestinazioni interne come se fosserolocali

Instradamento tra Sistemi Autonomi --BGP -14

3. Exterior Gateway Protocol

! Semplifica il grafo considerando le informazionisulla raggiungibilità sia interna che esternaall’AS

! Il grafo è gestito attraverso sessioni peering TCP

Page 8: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -15

3. Exterior Gateway Protocol

! Definisci anche percorsi prestabiliti sulla base diconsiderazioni politiche

Instradamento tra Sistemi Autonomi --BGP -16

3. Exterior Gateway Protocol

! Concepito quando Internet aveva l’aspettoriportato sotto

! Struttura del grafo degli AS ad albero

NSFNET backboneStanford

BARRNET

regional

BerkeleyPARC

NCAR

UA

UNM

Westnet

regional

UNL KU

ISU

MidNet

regional_ _ _

Page 9: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -17

BGP v4

Generalita’

Instradamento tra Sistemi Autonomi --BGP -18

BGP v4 – Border Gateway Protocol

! Nessuna assunzione su grafo degli AS

! Piu’ reti backbone interconnesse" Service provider networks

! Molti SP esistono per erogare servizi

Backbone service provider

Peeringpoint

Peeringpoint

Large corporation

Large corporation

Smallcorporation

“Consumer” ISP

“Consumer” ISP

“Consumer” ISP

Page 10: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -19

BGP v4 – Border Gateway Protocol

! Traffico locale" Inizia o termina in nodi interni

! Traffico di transito" Varca i confini tra AS diversi

Instradamento tra Sistemi Autonomi --BGP -20

BGP v4 – Border Gateway Protocol

! Stub AS

! Multihomed AS

! Transit AS

Backbone service provider

Peeringpoint

Peeringpoint

Large corporation

Large corporation

Smallcorporation

“Consumer” ISP

“Consumer” ISP

“Consumer” ISP

Page 11: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -21

BGP v4 – Border Gateway Protocol

Each AS has:

! One or more border routers

! One BGP speaker advertises:

" local networks

" other reachable networks (transit AS only)• C’e’ comunque sempre una default route

" gives path information

Instradamento tra Sistemi Autonomi --BGP -22

Resto della lezione

! Numerazione, peering e scambio dimessaggi" Messaggi BGP

" EBGP e IBGP

! Annunci BGP - Route advertisement" Messaggi di UPDATE

" Attributi

! Selezione dei cammini

! Architetture BGP e bilanciamento delcarico

Page 12: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -23

BGP v4

Peering e scambio di messaggi

Instradamento tra Sistemi Autonomi --BGP -24

BGP v4 – Border Gateway Protocol! Peer: coppia di router BGP che si scambiano

informazione di instradamento" IBGP peer: stesso AS

" EBGP peer: AS diversi

Comunicazione tra peeravviene mediante connessioni TCP

Page 13: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -25

Numerazione degli AS

! BGP richiede un numero identificativo perogni AS (Autonomous System Number,asn) tra 1 e 65,535

! Un asn può essere ottenuto da

" asn globale – all’autorità internet regionale:ripe, arin, apnic

" asn privato – all’isp

Instradamento tra Sistemi Autonomi --BGP -26

Peering tra due AS

! Le informazioni possono esserescambiate tra due AS solo se unasessione peering è attiva

! La sessione peering è una connessioneTCP tra i due AS

Page 14: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -27

Funzionalità BGP

1. Apertura connessione tra peer

2. Annuncio informazioni sullaraggiungibilità

3. Verifica corretto funzionamento

Quattro tipi di messaggio BGP

Instradamento tra Sistemi Autonomi --BGP -28

Intestazione messaggi BGP

! Precede ogni messaggio BGP ed identifica il tipodi messaggio

! Marker (16 byte): autenticazione esincronizzazione tra i peer

! Length (2 byte): lunghezza del messaggio tra 19e 4096 byte

! Type: tipo di messaggio BGP

Page 15: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -29

Peering/apertura connessione

! OPEN: usato per aprire una connessione peer

! Il campo Hold specifica il massimo numero di secondi tra duemessaggi successivi

! Un router bgp è caratterizzato dall’asn e da un indentificatoreunico a 32 bit che deve usare per tutte le connessioni peering

! Parametri opzionali: ad esempio per l’autenticazione

Instradamento tra Sistemi Autonomi --BGP -30

Messaggi/OPEN

! Il router destinatario di un messaggioOPEN risponde con un KEEPALIVE

! Connessione aperta quando entrambi irouter hanno inviato un messaggio OPENe ricevuto un messaggio KEEPALIVE

Page 16: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -31

Messaggi/KEEPALIVE

! Verifica periodicamente la connessioneTCP tra entità peer

! Più efficiente rispetto ad inviareperiodicamente messaggi diinstradamento

! Intervallo KEEPALIVE ogni 1/3 di HOLDtime, mai inferiore a 1 sec.

Instradamento tra Sistemi Autonomi --BGP -32

Messaggi/NOTIFICATION

! Controllo o segnalazione errori

! BGP invia un messaggio di notifica echiude la connessione TCP

! Errori:

1. Errore nell’intestazione del messaggio

2. Errore nel messaggio OPEN

3. Errore nel messaggio UPDATE

4. Timer di attesa scaduto

5. Errore nella macchina a stati finiti

6. Fine (connessione terminata)

Page 17: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -33

Messaggi/UPDATE! Announcement = prefix + attributes values

! Annuncia nuove reti raggiungibili ed eventualmentel’instradamento

! Annuncia reti precedentemente annunciate non piùraggiungibili

Instradamento tra Sistemi Autonomi --BGP -34

Annunci BGP

Page 18: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -35

Annunci BGP

! BGP permette ad un AS di offrire connettività adun altro AS

! Offrire connettività significa promettere ilrecapito ad una specifica destinazione

! Destinazione specificata da (Netmask, Prefix)" Si adotta convenzione CIDR

! Annunci BGP in messaggi UPDATE

Instradamento tra Sistemi Autonomi --BGP -36

Route BGP/Path vector! Speaker for AS2 advertises reachability to P and Q

" network 128.96, 192.4.153, 192.4.32, and 192.4.3, canbe reached directly from AS2

! Speaker for backbone advertises" networks 128.96, 192.4.153, 192.4.32, and 192.4.3 can

be reached along the path (AS1, AS2).

! Speaker can cancel previously advertised paths

Regional provider A(AS 2)

Regional provider B(AS 3)

Customer P(AS 4)

Customer Q(AS 5)

Customer R(AS 6)

Customer S(AS 7)

128.96192.4.153

192.4.32192.4.3

192.12.69

192.4.54192.4.23

Backbone network(AS 1)

Page 19: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -37

Path vector/cont.! L’informazione scambiata ha la struttura:

DestNet:(<lista di AS>)

! Non si tratta in generale di cammini minimi

Instradamento tra Sistemi Autonomi --BGP -38

Gestione dei cicli

! Gli annunci contengono cammini completi

! Necessario che gli asn siano unici

Page 20: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -39

Filtro degli annunci

! Gli annunci sono inviati e/o accettati solose alcune condizioni sono verificate

! Gli annunci possono essere filtrati sullabase di:

" Una lista di prefissi validi

" Una lista di numeri di AS

Instradamento tra Sistemi Autonomi --BGP -40

Messaggi/UPDATE! Announcement = prefix + attributes values

! Annuncia nuove reti raggiungibili ed eventualmentel’instradamento

! Annuncia reti precedentemente annunciate non piùraggiungibili

Page 21: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -41

Messaggi di UPDATE/cont.! Withdrawn routes: lista di coppie <length, IP

prefix> delle destinazioni non piu’ raggiungibili" Length: lunghezza del prefisso in bit

! Network Layer Reachability Information (NLRI):lista di coppie <length, IP prefix> delledestinazioni annunciate" Length: lunghezza del prefisso in bit

! Esempio di NLRI:

/25, 204.149.16.128

! /23, 206.134.32

! /8, 10

! Il valore dell’attributo AS_PATH e’ unasuccessione di sistemi autonomi (route) chepermette di raggiungere le destinazionidescritte nella NLRI

Instradamento tra Sistemi Autonomi --BGP -42

Attributi

! Campo variabile del pacchetto UPDATE

! Attributi sono comuni a tutte ledestinazioni annunciate

! Destinazioni con attributi diversi devonoessere annunciate con messaggi diversi

! Permette di individuare cicli sugliinstradamenti

e provenienza dei messaggi

Page 22: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -43

Path attributes - ogni route! AS_PATH

" Elenco sistemi autonomi sul percorso

! ORIGIN" Origine informazione instradamento

! NEXT_HOP" Indirizzo IP salto successivo

! MED: Discriminazione tra più punti di uscita AS" MED: MULTI_EXIT_DISCRIMINATOR

" Importante nella selezione dei cammini (v. piu’ avanti)

! LOCAL_PREF: Preferenza all’interno dell’ AS" Importante nella selezione dei cammini (v. piu’ avanti)

! Indicazione di percorsi riuniti

! ID dell’ AS che ha aggregato i percorsi

-44

AS_PATH Attribute

AS7018135.207.0.0/16

AS Path = 6341

AS 1239Sprint

AS 1755Ebone

AT&T

AS 3549Global Crossing

135.207.0.0/16

AS Path = 7018 6341

135.207.0.0/16

AS Path = 3549 7018 6341

AS 6341

135.207.0.0/16

AT&T Research

Prefix Originated

AS 12654RIPE NCC

RIS project

AS 1129Global Access

135.207.0.0/16

AS Path = 7018 6341

135.207.0.0/16

AS Path = 1239 7018 6341

135.207.0.0/16

AS Path = 1755 1239 7018 6341

135.207.0.0/16

AS Path = 1129 1755 1239 7018 6341

Page 23: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -45

Attributo ORIGIN! Definisce l’origine dell’informazione

annunciata

! Puo’ essere IGP, EGP o INCOMPLETE

INCOMPLETE: si ha nel casoin cui le reti annunciate sianostate inserite come route statiche nello speaker che invial’annuncio

Instradamento tra Sistemi Autonomi --BGP -46

Attributo NEXT_HOP! Indirizzo IP del next-hop nella sequenza degli AS

! Per la rete 10.0.0.0/8 R1 invia 172.16.1.1 a R3 come nexthop

! R3 deve avere una route verso 172.16.1.1

Page 24: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

-47

BGP Next Hop Attribute

Every time a route announcement crosses an AS

boundary, the Next Hop attribute is changed to the IP

address of the border router that announced the route.

AS 6431

AT&T Research

135.207.0.0/16

Next Hop = 12.125.133.90

AS 7018AT&T

AS 12654RIPE NCC

RIS project

12.125.133.90

135.207.0.0/16

Next Hop = 12.127.0.121

12.127.0.121

Instradamento tra Sistemi Autonomi --BGP -48

Selezione dei cammini

Page 25: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -49

Attributes are Used toSelect Best Routes

192.0.2.0/24

pick me!

192.0.2.0/24

pick me!

192.0.2.0/24

pick me!

192.0.2.0/24

pick me!

Given multiple

routes to the same

prefix, a BGP speaker

must pick at most

one best route

(Note: it could reject

them all!)

Instradamento tra Sistemi Autonomi --BGP -50

Route Selection Summary

Highest Local Preference

Shortest ASPATH

Lowest MED

i-BGP < e-BGP

Lowest IGP cost

to BGP egress

Lowest router ID

traffic engineering

Enforce relationships

Throw up hands and

break ties

Page 26: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

-51

BGP Route Processing

Best Route Selection

Apply Import Policies

Best Route Table

Apply Export Policies

Install forwardingEntries for bestRoutes.

ReceiveBGPUpdates

BestRoutes

TransmitBGP Updates

Apply Policy =filter routes &tweakattributes

Based onAttributeValues

IP Forwarding Table

Apply Policy =filter routes &tweakattributes

Open ended programming.

Constrained only by vendor configuration language

Instradamento tra Sistemi Autonomi --BGP -52

Filtri sugli annunci/COMMUNITY

! E’ possibile definire gruppi didestinazioni alle quali applicare unacomune politica di inoltro" Tipo di politica definita dall’attributo

COMMUNITY

! Valori predefiniti per COMMUNITY" No-export: la route non va annunciata ai

peer BGP

" No-advertise: la route non va annunciata anessun peer

" Internet: la route va annunciata a ogni peer

Page 27: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -53

COMMUNITY

! Se COMMUNITY = export allora Cannuncia la route a D

Instradamento tra Sistemi Autonomi --BGP -54

BGP - Politiche di instradamento

! Amministratore fissa politiche di uscita/ingresso

Page 28: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -55

BGP - Politiche di instradamento

! Schema architetturale

Instradamento tra Sistemi Autonomi --BGP -56

Tweak Tweak Tweak

! For inbound traffic

" Filter outbound routes

" Tweak attributes onoutbound routes in thehope of influencing yourneighbor’s best routeselection

! For outbound traffic

" Filter inbound routes

" Tweak attributes oninbound routes toinfluence best routeselection

outbound

routes

inbound

routes

inbound

traffic

outbound

traffic

In general, an AS has more

control over outbound traffic

Page 29: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -57

In fairness:

could you do

this “right” and

still scale?

Exporting internal

state would

dramatically

increase global

instability and

amount of routing

state

Shorter Doesn’t Always MeanShorter

AS 4

AS 3

AS 2

AS 1

Mr. BGP says that

path 4 1 is better

than path 3 2 1

Duh!

Instradamento tra Sistemi Autonomi --BGP -58

Interazione con IGP

Page 30: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -59

Interazione con IGP

! Router di bordo esegue sia BGP che IGP

Instradamento tra Sistemi Autonomi --BGP -60

Interazione con IGP! Router di bordo esegue sia BGP che IGP

Page 31: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -61

Forwarding Table

Forwarding Table

Join EGP with IGP For Connectivity

AS 1 AS 2192.0.2.1

135.207.0.0/16

10.10.10.10

EGP

192.0.2.1135.207.0.0/16

destination next hop

10.10.10.10192.0.2.0/30

destination next hop

135.207.0.0/16

Next Hop = 192.0.2.1

192.0.2.0/30

135.207.0.0/16

destination next hop

10.10.10.10

+

192.0.2.0/30 10.10.10.10

Instradamento tra Sistemi Autonomi --BGP -62

Limiti di BGP e soluzioni

Page 32: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -63

Limiti di BGP

! BGP non può discriminare tra due percorsi sullabase della distanza o della congestione

! BGP sceglie uno dei due percorsi possibili nonsulla base di una metrica di costo

! BGP permette di suddividere il carico attraversola rete ma non in modo dinamico

! Occorre configurare manualmente quali retisono annunciate da quali router esterni

! Tutti i sistemi autonomi devono concordare suuno schema coerente per annunciare laraggiungibilità

Instradamento tra Sistemi Autonomi --BGP -64

Limiti di BGP/2

! Se AS2 non inoltra ad AS1 l’informazione sull’ instradamentoricevuta da AS3, quest’ ultimo ed ASX non sarannoraggiungibili da AS1

Page 33: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -65

Instradamento con arbitraggio

! Occorre un sistema per garantire la coerenzasulle informazioni di instradamento

! Database autenticato e replicato che contiene leinformazioni sulla raggiungibilità

! Autenticazione: solo AS autenticati possonoannunciare la raggiungibilità di una rete

! NAP sono i router di interconnessione tra ISP

! I NAP hanno un Router Server che mantiene ildata base BGP ma non sono necessariamentespeaker BGP

! Gli speaker BGP mantengono aperto uncollegamento verso il Router Server

Instradamento tra Sistemi Autonomi --BGP -66

Esempi di architetture BGP

AS STUB e Multi-Homed

Page 34: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -67

Uno scenario BGP complesso

Instradamento tra Sistemi Autonomi --BGP -68

Stub network

Page 35: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -69

Stub network, architettura

! Un router della rete è sceltocome gateway di default econnesso ad un singolo routerdell’isp con una o piùconnessioni

! Una singola sessione di peeringin cui as200 annuncia la suaraggiungibilità e accettal’instradamento di default sulrouter

Instradamento tra Sistemi Autonomi --BGP -70

Instradamento statico per stubnetwork

! Un instradamento statico didefault è sufficiente per ipacchetti in uscita per essereinviati su internet attraverso laconnessione all’isp

! Un instradamento statico èanche sufficiente per ipacchetti in ingresso perraggiungere la rete attraversola connessione all’isp

! Non vi è alcun bisogno di BGP

Page 36: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -71

Esempio

Instradamento tra Sistemi Autonomi --BGP -72

Multi-homed stub networks

Page 37: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -73

Multi-homed stub networks

! Due collegamenti allostesso isp

! Due router della retecustomer sono di solitocoinvolti

Instradamento tra Sistemi Autonomi --BGP -74

Instradamento

! Un pacchetto diretto adInternet può attraversare unodei due link

! Un pacchetto proveniente daInternet può atraversare unodei due link

! Un pacchetto in transito puòattraversare entrambi i link" Non dovrebbe capitare negli stub

Page 38: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -75

Politiche desiderate - Backup

Esempio:

! Eliminare traffico in transito

! Traffico in ingresso:" Utilizzare link 1

" Utilizzare link 2 in caso di fault sulink 1

! Traffico in uscita:" Utilizzare link 1

" Utililizzare link2 in caso di faultsu link 1

Instradamento tra Sistemi Autonomi --BGP -76

Alternative a BGP! Usare un igp:

" Pacchetti usano link 1 o link 2 aseconda dello shortest path versoc1

" Non è possibile escluderepacchetti in transito quando link1 e link 2 sono sul camminominimo tra sorgente edestinazione

! Usare cammini statici:" I router dell’isp e la rete devono

essere configurati manualmentein modo coerente.

" Non è possibile gestire unmeccanismo di backupautomatico

Page 39: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -77

La strategia usata da BGP

! Annuncio 100.1.0.0/16aggregato su ogni arco:" Link primario invia un

announcement standard

" Il link di backup aumenta il MEDsugli annunci in uscita e riduce laLOCAL_PREF sugli annunci iningresso

" MED: MULTI_EXIT_DISCRIMINATOR

! Quando avviene un fault su unlink, l’annuncio del /16aggregato sull’altro linkassicura la connettività

Instradamento tra Sistemi Autonomi --BGP -78

Strategia BGP/MED

Page 40: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -79

Strategia BGP/Local Preference

-80

Shedding Inbound Traffic withASPATH Padding Hack

Padding will (usually)

force inbound

traffic from AS 1

to take primary link

AS 1

192.0.2.0/24

ASPATH = 2 2 2

customerAS 2

provider

192.0.2.0/24

backupprimary

192.0.2.0/24

ASPATH = 2

Page 41: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

-81

Hot Potato Routing: Go for the ClosestEgress Point

192.44.78.0/24

1556 IGP distances

egress 1 egress 2

This Router has two BGP routes to 192.44.78.0/24.

Hot potato: get traffic off of your network as

Soon as possible. Go for egress 1!

-82

Getting Burned by the Hot Potato

1556

17

2865High bandwidth

Provider backbone

Low bandwidth

customer backbone

Heavy

Content

Web Farm

Many customers want

their provider to

carry the bits!

tiny http request

huge http reply

SFF NYC

San Diego

Page 42: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

-83

Cold Potato Routing with MEDs(Multi-Exit Discriminator Attribute)

1556

17

2865 Heavy

Content

Web Farm

192.44.78.0/24

192.44.78.0/24

MED = 15

192.44.78.0/24

MED = 56

This means that MEDs must be considered BEFORE

IGP distance!

Prefer lower

MED values

Note1 : some providers will not listen to MEDs

Note2 : MEDs need not be tied to IGP distance

Instradamento tra Sistemi Autonomi --BGP -84

Multi-homed network

! Due link a due providerdifferenti

! In genere, due router sonocoinvolti in modo tale daevitare singoli punti di rottura

Page 43: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -85

Instradamento

! Un pacchetto in uscita puòessere inviato attraverso unodei due link per raggiungereInternet

! Un pacchetto in ingressopuò usare uno dei due linkper raggiungere la rete

! Un pacchetto internet puòattraversare il link 1 ed il link2

! Un pacchetto interno puòattraversare entrambi i link

Instradamento tra Sistemi Autonomi --BGP -86

Partizione del carico

! Elimina il traffico intransito

! Traffico in uscita:

" Metà degli host interniusano link 1,

" l’altra metà usa link 2

! Traffico in ingresso:

" usa link 1 per raggiungeremetà degli host interni

" Usa link 2 per l’altra metà

Page 44: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -87

Uso di BGP per il partizionamento

! Traffico in ingresso: split /16 e annuncia due/17, uno per ogni link" Es.: 200.1.0.0/17 su link1 e 200.1.128.0/17 su link2

" Partizionamento approssimato del traffico in ingresso

" Assume uguale capacità ed anche distribuzione deltraffico sul blocco di indirizzi

" Modifica lo split finchè un partizionamento perfetto èottenuto

! Traffico in uscita: accetta l’instradamento didefault upstream" Partizionamento del traffico con instradamento verso

l’uscita più vicina (igp)

" Una buona approssimazione poiché molto del trafficoè diretto verso la rete

Instradamento tra Sistemi Autonomi --BGP -88

Route aggregation

! BGP v4 usa CIDR e permettel’aggregazione delle route

! Cio’ ne aumenta la scalabilita’

Attenzione: 182….

Page 45: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

Instradamento tra Sistemi Autonomi --BGP -89

Route aggregation/cont.

! R4 annuncia 182.168.0.0/16 <3> a R1

! R3 annuncia 182.0.0.0/8 <1 3> a R2" Percorso completo per evitare cicli

-90

Padding May Not Shut Off AllTraffic

AS 1

192.0.2.0/24

ASPATH = 2 2 2 2 2 2 2 2 2 2 2 2 2 2

customerAS 2

provider

192.0.2.0/24

192.0.2.0/24

ASPATH = 2

AS 3provider

AS 3 will send

traffic on “backup”

link because it prefers

customer routes and local

preference is considered

before ASPATH length!

Padding in this way is often

used as a form of load

balancing

backupprimary

Page 46: I Sistemi Autonomi - dis.uniroma1.itbecchett/reti2/slide/bgp.pdf · Instradamento tra Sistemi Autonomi --BGP -38 Gestione dei cicli!Gli annunci contengono cammini completi!Necessario

-91

COMMUNITY Attribute to theRescue!

AS 1

customerAS 2

provider

192.0.2.0/24

192.0.2.0/24

ASPATH = 2

AS 3provider

backupprimary

192.0.2.0/24

ASPATH = 2

COMMUNITY = 3:70

Customer import policy at AS 3:

If 3:90 in COMMUNITY then

set local preference to 90

If 3:80 in COMMUNITY then

set local preference to 80

If 3:70 in COMMUNITY then

set local preference to 70

AS 3: normal

customer local

pref is 100,

peer local pref is 90

Instradamento tra Sistemi Autonomi --BGP -92

Riferimenti! Generali

" Rif. 3, 5.8 e 5.9

" White paper CISCO:http://www.cisco.com/en/US/tech/tk365/technologies_tech_note09186a00800c95bb.shtml

! Attributi:http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/bgp.htm

! Nota: tutti i riferimenti dati costituisconomateriale integrante del corso