Está en la página 1de 33

Routers IP de Altas Prestaciones

Introdución a
Interdomain Routing y
BGP
Basado en … T. Griffin
SIGCOMM 2001 Tutorial Session
1

Autonomous Routing Domains

Colección de redes físicas, unidas, usando


IP, que tienen una política adminstrativa de
encaminamiento común

• Redes de campus (CAN)


• Redes corporativas
• Redes internas de ISPs
• …
Autonomous Systems (ASes)

Un autonomous system es un autonomous routing domain


al que le ha sido asignado un Autonomous System Number (ASN).

… la administración de un AS ofrece a otros ASes un esquema


coherente de encaminamiento interior y de alcazabilidad a otras
redes a traves de ella.
RFC 1930: Guía para la creación, selección,
y registro de Autonomous System

AS Numbers (ASNs)
ASNs son valores de 16 bit.
64512 a 65535 son “privados”
Aprox. unos 11,000 en uso (agosto 2001).
• Genuity: 1
• MIT: 3
• Harvard: 11
• UC San Diego: 7377
• AT&T: 7018, 6341, 5074, …
• UUNET: 701, 702, 284, 12199, …
• Sprint: 1239, 1240, 6211, 6242, …
• …
Secuencia de ASNs representan el camino a un destino
Arquitectura de encaminamiento
dinámico

OSPF
BGP
AS 1

IGP = Interior Gateway Protocol


EIGRP
Basado en Métrica: OSPF, IS-IS,
RIP, EIGRP (cisco) AS 2
EGP = Exterior Gateway Protocol
Basado en “políticas”: BGP

El Routing Domain de BGP es Internet

Tecnologías de encaminamiento
distribuido

Link State Vectoring


• Información de la • Cada router conoce
topología inunda todo poco sobre la topología
el routing domain del routing domain
• Las mejores rutas las • Cada router manda
calcula cada router toda la información
• La mejor ruta sólo a sus vecinos.
establece el Next-hop. • La mejor ruta resulta
• Basado en minimizar el de la componer los
coste (asociado a una mejores next-hop
métrica) • No es imperativo
• OSPF, IS-IS utilizar el concepto de
distancia
• RIP Æ distace vector
BGP Æ path vector
The Gang of Four
Link State Vectoring

OSPF
IGP RIP
IS-IS

EGP BGP

Varios protocolos de encaminamiento en el mismo


router
RIP Process BGP Process

RIP Routing tables BGP Routing tables

BGP
OSPF Process

OSPF Routing tables

OS kernel
RIP
Domain OSPF Forwarding Table Manager
Domain

Forwarding Table

8
Nontransit vs. Transit ASes
Internet
Service
providers
ISP 2 normalmente
ISP 1 tienen redes
de tránsito

Nontransit AS
podría ser una red
NET A corporativa o un
tráfico IP campus.

El tráfico nunca debe pasar a través de una red Nontrasit

Transit AS

AS1 AS2

r1 r2

r2,r3 r2
r1 r1,r3

AS3
r3
Nontransit AS

AS1 AS2

r1 r2

r3 r2
r1 r3

AS3
r3

Selective Transit
NET B
NET C

NET A permite transito


NET A no permite entre NET B y NET C
transito entre
NET A y entre NET D y NET C
NET D y NET B

NET D
trafico IP
La mayoría de las transit networks permiten tránsito de forma
selectiva… 12
Clientes y Proveedores

proveedor

proveedor cliente trafico IP

cliente

Los clientes pagan a los proveedores por acceder a Internet

Los clientes no siempre necesitan BGP

proveedor

Ruta 192.0.2.0/24
apuntando al cliente

Ruta “default” 0.0.0.0/0


apuntando al proveedor.
cliente

192.0.2.0/24

Encaminamiento estático es el más frecuente para conectar un


cliente a su proveedor de Internet.
Esto explica porqué BGP es un misterio para muchos...
Jerarquía cliente-proveedor

proveedor cliente tráfico IP

Relación entre “pares”

par par
Pares proporcionan transito entre
proveedor cliente
sus respectivos cliente

Pares no proporcionan transito entre


pares
tráfico tráfico NO
Pares, habitualmente, no
permitido permitido
intercambian $$$
Guerra entre pares
Acuerdos si... No acuerdos si...
• Pueden reducir costes • Uno no tiene clientes
de upstream • El otro es su
• Pueden mejorar sus competidor
prestaciones
• Puede ser la única
manera de tener Renegociaciones periódicas
acceso a una parte de
Internet

La competencia entre pares es, con mucho,


el contencioso más problemático en Internet!

Los acuerdos entre pares suelen ser


confidenciales.

BGP-4
• BGP = Border Gateway Protocol
• Es un Policy-Based routing protocol (Policy vs. Topology)
• Es el de facto EGP para Internet
• Protocolo relativamente simple, pero de configuración compleja.
• Errores de configuración repercuten en toda Internet

• 1989 : BGP-1 [RFC 1105]


– Sustituye a EGP (1984, RFC 904)

• 1990 : BGP-2 [RFC 1163]


• 1991 : BGP-3 [RFC 1267]
• 1995 : BGP-4 [RFC 1771]
– Soporte para Classless Interdomain Routing (CIDR)

18
BGP: Funcionamiento básico

Establecimiento sesión AS1


TCP puerto 179

BGP sesión
Intercambio de
todas las rutas
AS2

Mientras la conexión es
Intercambio incremental ALIVE intercambia
UPDATE mensajes
updates 19

Inter-Domain Routing

You can reach


R via me

R
Cuatro tipos de mensajes BGP

• Open : Establecimiento de sesión.


• Keep Alive : ...a intervalos regulares.
• Notification : error Æ cierre de sesión.
• Update : Anuncio de nuevas rutas o
cierre de rutas anteriores.

anuncio
=
prefijo + atributos
21

BGP atributos

Value Code Reference


----- --------------------------------- ---------
1 ORIGIN [RFC1771]
2 AS_PATH [RFC1771]
3 NEXT_HOP [RFC1771]
4 MULTI_EXIT_DISC [RFC1771] Hablaremos
de estos
5 LOCAL_PREF [RFC1771]
6 ATOMIC_AGGREGATE [RFC1771]
7 AGGREGATOR [RFC1771]
8 COMMUNITY [RFC1997]
9 ORIGINATOR_ID [RFC2796]
10 CLUSTER_LIST [RFC2796]
11 DPA [Chen]
12 ADVERTISER [RFC1863]
13 RCID_PATH / CLUSTER_ID [RFC1863]
14 MP_REACH_NLRI [RFC2283]
15 MP_UNREACH_NLRI [RFC2283]
16 EXTENDED COMMUNITIES [Rosen]
...
255 reserved for development
No todos los
atributos forman
parte de un anuncio
(LOCAL_PREF)
Atributos: se usan para
seleccionar la “mejor ruta”
192.0.2.0/24
escógeme!

192.0.2.0/24 192.0.2.0/24
yo mejor! mas corto!

192.0.2.0/24
y 2 huevos duros!

Dadas múltiples rutas al


mismo prefijo, un BGP
speaker debe seleccionar,
al menos, una mejor ruta.

Dos tipos de relación vecinal


• Externa (eBGP): con router en
diferente Autonomous Systems
• Internal (iBGP): con router en el
AS1 mismo Autonomous System

iBGP es encaminado (usa IGP!)


eBGP

iBGP

AS2
24
Atributo “Next Hop”

12.125.133.90 12.127.0.121
AS 7018
AT&T

AS 6431 AS 12654
AT&T Research RIPE NCC
RIS project

135.207.0.0/16 135.207.0.0/16
Next Hop = 12.125.133.90 Next Hop = 12.127.0.121

Cada vez que un anuncio de ruta atraviesa los límites de


un AS, el Next Hop se cambia a la dirección IP del
border-router que anuncia la ruta.
25

Uniendo EGP con IGP


135.207.0.0/16
Next Hop = 192.0.2.1

135.207.0.0/16

10.10.10.10 AS 1 192.0.2.1 AS 2
192.0.2.0/30
Forwarding Table
destination next hop
192.0.2.0/30 10.10.10.10
Forwarding Table
+ destination next hop
EGP 135.207.0.0/16
destination next hop 10.10.10.10
192.0.2.0/30 10.10.10.10
135.207.0.0/16 192.0.2.1
Implementando relaciones
Cliente/Proveedor y Par/Par

Dos partes:
• Implementación de relaciones de transito
– Filtrado de rutas saliente

• Implementación de preferencias de ruta


proveedor < par < cliente

Importación de rutas
provider route peer route customer route ISP route

From From
provider provider

From From
peer peer

From From
customer customer
Exportación de rutas
provider route peer route customer route ISP route

To From
provider provider

To To
peer peer

To To
customer customer
filters
block

Blackholes
par par
proveedor cliente

Filtro Necesario !

Accidental o malicioso anuncio 192.0.2.0/24


de un prefijo puede generar un falso
agujero negro para ese prefijo
192.0.2.0/24
en gran parte de Internet
legitimo
Mars Attacks!

• 0.0.0.0/0: default
• 10.0.0.0/8: private
• 172.16.0.0/12: private
• 192.168.0.0/16: private
• 127.0.0.0/8: loopbacks
• 128.0.0.0/16: IANA reserved
• 192.0.2.0/24: test networks
• 224.0.0.0/3: classes D and E
• …..

Importación de rutas (revisión)


provider route peer route customer route ISP route

Marcianos potenciales
agujeros
From From negros
provider provider

xxxxxx xxxxxx
xxxxxx
xxxxxx

From From
peer peer

xxxxxx xxxxxx
cccccc cccccc xxxxxx
cccccc From From
customer filtrado de
Filtros del customer
marcianos
cliente
Cual ?
par par
proveedor cliente

AS 4

AS 3
UPV

AS 2

AS 1
Que ruta debemos coger
para 13.13.0.0./16 ? 13.13.0.0/16
33

BGP: Selección de rutas


Limitado sólo por el lenguaje de
configuración del equipo

Rx. Policy = Basado en Mejores Policy = Tx.


BGP filtro de rutas & valores de rutas filtro de rutas & BGP
Updates selecc.atributos atributos selecc.atributos Updates

Import Selección Tabla de Export


Policies mejor ruta mejores rutas Policies

Tabla de IP Forwarding

34
Selección de rutas (cont)

relaciones (clientes,
LOCAL_PREFerence mayor pares, proveedores)

AS-PATH más corto traffic engineering


MED más bajo (Multi-Exit Discriminator)
ORIGIN: i-BGP (IGP) < e-BGP < Incomplete (static)
Coste IGP más bajo al nodo BGP de salida

Router ID más bajo Último recurso

Atributo LOCAL_PREF
par par
proveedor cliente

AS 4

local pref = 80

AS 3
UPV local pref = 90

local pref = 100

AS 2
AS 1
13.13.0.0/16
Valores más altos Æ más preferidos 36
Implementando Backup Links con
Local Preference

AS 1

primary link backup link

Set Local Pref = 100 Set Local Pref = 50


AS 65000

El tráfico de salida cogerá el primary link, salvo si este cae

37

Atributo AS_PATH
135.207.0.0/16 AS 1129
AS Path = 1755 1239 7018 6341
Global Access

135.207.0.0/16
AS 1755
135.207.0.0/16
AS Path = 1239 7018 6341 Ebone AS Path = 1129 1755 1239 7018 6341

AS 1239 AS 12654
135.207.0.0/16 RIPE NCC
AS Path = 7018 6341 RIS project
Sprint

135.207.0.0/16
AS7018 AS Path = 3549 7018 6341
135.207.0.0/16
AS Path = 6341
AT&T

AS 6341 135.207.0.0/16
AS 3549
AT&T Research AS Path = 7018 6341 Global Crossing

135.207.0.0/16
Originador del prefijo 38
Evitación de bucles interdomain

AS 7018

BGP en AS “YYY” No se acepta !


nunca aceptará
una ruta con un 12.22.0.0/16

AS_PATH que ASPATH = 1 333 7018 877

contenga “YYY”.
AS 1

39

Distance vector … Path vector …


¿ Cuenta a infinito en BGP ?

AS 1
R: AS3
R: AS2 AS3 AS2 AS1
R: AS2 AS3
AS 2
R: AS1 AS3
R: AS3

AS 3

R
El tráfico frecuentemente sigue la
ruta en AS_PATH

135.207.0.0/16
ASPATH = 3 2 1

AS 1 AS 2 AS 3 AS 4
135.207.0.0/16

IP Packet Dest =
135.207.44.66

… pero puede que no !


AS 2 filtra todas las
subredes con máscara
mayor que /24
135.207.0.0/16
ASPATH = 1
135.207.0.0/16
135.207.44.0/25 ASPATH = 3 2 1
ASPATH = 5

AS 1 AS 2 AS 3 AS 4
135.207.0.0/16

IP Packet
Dest =
135.207.44.66

Desde AS 4 parece
que el paquete tomará
AS 5 la ruta 3 2 1,
135.207.44.0/25
pero realmente toma la
ruta 3 2 5
“Más corto” no siempre significa
“más corto”

BGP dice que la ruta


4 1 es mejor que 3 2 1

AS 4

AS 3

Exportar
estado interno AS 2
incrementaria
de forma
dramática la
información de
routing AS 1
Sorpresa !

Forzando el tráfico de entrada con


AS_PATH Padding

AS 1 proveedor

192.0.2.0/24 192.0.2.0/24
ASPATH = 2 ASPATH = 2 2 2

primary backup

cliente 192.0.2.0/24
AS 2
44
Padding puede no ser suficiente

AS 1 AS 3
proveedor proveedor

192.0.2.0/24 192.0.2.0/24
ASPATH = 2 ASPATH = 2 2 2 2 2 2 2 2 2 2 2 2 2 2

primary backup AS 3 mandará tráfico por


línea de “backup”
porque prefiere rutas de
cliente 192.0.2.0/24
cliente a rutas de par
AS 2 y considera este criterio
antes que la longitud de
ASPATH !

Padding puede usarse


¿Cómo? 45
para balancear la carga

Hot Potato Routing: Ir al punto de salida


más próximo
192.44.78.0/24

salida 1 salida 2

15 56 distancia IGP

Este Router tiene dos rutas BGP a 192.44.78.0/24.

Hot potato: Saca el trafico de tu red tan


pronto como puedas
46
El reverso tenebroso de Hot Potato

Heavy
High bandwidth 2865 Content
Provider backbone 17 Web Farm

SFF NYC

Low bandwidth
customer backbone 56
15
San Diego

Muchos clientes
petición http (pequeña)
prefieren que su
respuesta http (larga)
proveedor le lleve los
bits! ... el proveedor 47
también !

Cold Potato Routing con MEDs


(Multi-Exit Discriminator Attribute)
Preferible Heavy
MEDs con 2865 Content
valor más Web Farm
bajo 17

192.44.78.0/24 192.44.78.0/24
MED = 15 MED = 56

15 56
192.44.78.0/24

MEDs debe ser considerado ANTES QUE


la distancia IGP !

Nota1 : algunos proveedores no tienen en cuenta MEDs


Note2 : MEDs no tiene porqué ser necesariamente la distancia48IGP
Selección de rutas (cont)

relaciones (clientes,
LOCAL_PREFerence mayor pares, proveedores)

AS-PATH más corto


MED más bajo (Multi-Exit Discriminator)
i-BGP < e-BGP traffic engineering

Coste IGP más bajo


al nodo BGP de salida

Router ID más bajo Último recurso

Politicas pueden interactuar de


forma inesperada

backup
cliente

1 2 Instalación de una línea de backup.

3 Caída del primario al cliente. 4


Recuperación del primario pero
Entra backup. parte del tráfico queda enganchado
a la línea de backup.
... y la buena noticia es ...

• BGP no garantiza convergencia a una ruta


estable. Interacción entre políticas puede
llevar a alimentar oscilaciones del protocolo.
Ver “Persistent Route Oscillations in Inter-domain Routing” by K. Varadhan, R.
Govindan, and D. Estrin. ISI report, 1996

• Corolario: BGP no garantiza recuperación de


rutas tras caídas.

El problema del problema

El problema a Mecanismo distribuido


resolver para calcular la solución.

Shortest Paths RIP, OSPF, IS-IS


X? BGP

Que problema soluciona BGP ?


Stable Paths Problem (SPP)

210 5210
2
20
5
• Nodo 0, el origen,
• Para cada nodo distinto de 2
0, hay un conjunto de rutas
permitidas al origen 420
(incluida la “ruta nula”). 4 430
• Cada nodo tiene su ranking 0
de rutas permitidas. La
“ruta nula” es siempre la
1 3 30
menos preferida. (no se 130
muestra en las tablas de la 10
figura) más preferida

menos preferida (no nula)

Modelo BGP : los nodos representan


BGP speaking routers, y 0 representa
el nodo originador de un prefijo

Una solución a Stable Paths Problem

2
210 5 5210
Una solución es una asignación de 20
rutas permitidas a cada nodo tal que :
2
420
• la ruta asignada al nodo “u” es o 4 430
la “ruta nula” o es una ruta
0
“uwP”, donde “wP” es asignada
al nodo “w”, 1 3 30
• a cada nodo se le asigna su ruta 130
más preferida
1 entre las 10
consistentes con las rutas
asignadas a sus vecinos.
Una solución no representa
necesariamente un camino
más corto, o un spanning tree.
Un SPP puede tener múltiple soluciones

120 120 120


10 10 10
1 1 1

0 0 0

2 2 2
210 210 210
20 20 20
Primera solución Segunda solución
Desacuerdo

Sin solución ?

210
2 20
4

0
130 320
1 3 30
10 3
Inestabilidad IGP puede exportar
inestabilidad al resto de Internet
192.44.78.0/24

AS 1

AS 2 AS 3

10 FLAP
AS 4
15 FLAP 56

192.44.78.0/24 192.44.78.0/24
ASPATH = 4 2 1 FLAP FLAP ASPATH = 4 3 1
57

MEDs puede exportar inestabilidad interna

Heavy
2865 Content
FLAP 17 Web Farm

FLAP
192.44.78.0/24 192.44.78.0/24
MED = 15 MED = 56 OR 10

10 FLAP
FLAP
15 FLAP 56 FLAP

192.44.78.0/24

58
Crecimiento de la tabla BGP

Thanks to Geoff Huston. http://www.telstra.net/ops/bgptable.html on August 8, 2001

Cuando se agotarán los ASNs?

64,511

ASNs > 16 bits ?

2005?
2007?
BGP Routing Tables

show ip bgp
BGP table version is 111849680, local router ID is 203.62.248.4
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete

Network Next Hop Metric LocPrf Weight Path

. . .
*>i192.35.25.0 134.159.0.1 50 0 16779 1 701 703 i
*>i192.35.29.0 166.49.251.25 50 0 5727 7018 14541 i
*>i192.35.35.0 134.159.0.1 50 0 16779 1 701 1744 i
*>i192.35.37.0 134.159.0.1 50 0 16779 1 3561 i
*>i192.35.39.0 134.159.0.3 50 0 16779 1 701 80 i
*>i192.35.44.0 166.49.251.25 50 0 5727 7018 1785 i
*>i192.35.48.0 203.62.248.34 55 0 16779 209 7843 225 225 225 225 225 i
*>i192.35.49.0 203.62.248.34 55 0 16779 209 7843 225 225 225 225 225 i
*>i192.35.50.0 203.62.248.34 55 0 16779 3549 714 714 714 i
*>i192.35.51.0/25 203.62.248.34 55 0 16779 3549 14744 14744 14744 14744 14744 14744
14744 14744 i
. . .

Psss… ¡¡ NO es la tabla de forwarding !!

ASN y redIRIS

http://www.ripe.net/perl/whois
buscar 158.42.0.0 para encontrar AS

buscar por AS (AS766) para obtener


lista de import/export con otros AS.
BGP RFCs

Internet Engineering Task Force (IETF) http://www.ietf.org


• IDR : http://www.ietf.org/html.charters/idr-charter.html
• RFC 1771 A Border Gateway Protocol 4 (BGP-4)
• Latest draft rewrite: draft-ietf-idr-bgp4-12.txt
• RFC 1772 Application of the Border Gateway Protocol in the
Internet
• RFC 1773 Experience with the BGP-4 protocol
• RFC 1774 BGP-4 Protocol Analysis
• RFC 2796 BGP Route Reflection An alternative to full mesh IBGP
• RFC 3065 Autonomous System Confederations for BGP
• RFC 1997 BGP Communities Attribute
• RFC 1998 An Application of the BGP Community Attribute in Multi-
home Routing
• RFC 2439 Route Flap Dampening

Bibliografía

• Internet Routing Architectures. Bassam Halabi.


Second edition Cisco Press, 2000
• BGP4: Inter-domain Routing in the Internet.
John W. Stewart, III. Addison-Wesley, 1999
• Routing in the Internet. Christian Huitema. 2000
• ISP Survival Guide: Strategies for Running a
Competitive ISP. Geoff Huston. Wiley, 1999.
• Interconnection, Peering and Settlements. Geoff
Huston. The Internet Protocol Journal. March
and June 1999.
64
BGP: Estabilidad y convergencia

• The Impact of Internet Policy and Topology on


Delayed Routing Convergence. Craig Labovitz, Abha
Ahuja, Roger Wattenhofer, Srinivasan Venkatachary.
INFOCOM 2001
• An Experimental Study of BGP Convergence. Craig
Labovitz, Abha Ahuja, Abhijit Abose, Farnam
Jahanian. SIGCOMM 2000
• Origins of Internet Routing Instability. C. Labovitz, R.
Malan, F. Jahanian. INFOCOM 1999
• Internet Routing Instability. Craig Labovitz, G. Robert
Malan and Farnam Jahanian. SIGCOMM 1997

También podría gustarte