33
1 Introdución a Interdomain Routing y BGP Routers IP de Altas Prestaciones Basado en … T. Griffin SIGCOMM 2001 Tutorial Session Autonomous Routing Domains Redes de campus (CAN) Redes corporativas Redes internas de ISPs •… Colección de redes físicas, unidas, usando IP, que tienen una política adminstrativa de encaminamiento común

BGP

  • Upload
    d3l05

  • View
    60

  • Download
    2

Embed Size (px)

DESCRIPTION

Uploaded from Google Docs

Citation preview

Page 1: BGP

1

Introdución a Interdomain Routing y

BGP

Routers IP de Altas Prestaciones

Basado en … T. GriffinSIGCOMM 2001 Tutorial Session

Autonomous Routing Domains

• Redes de campus (CAN)• Redes corporativas • Redes internas de ISPs• …

Colección de redes físicas, unidas, usandoIP, que tienen una política adminstrativa de encaminamiento común

Page 2: BGP

Autonomous Systems (ASes)

Un autonomous system es un autonomous routing domainal que le ha sido asignado un Autonomous System Number (ASN).

RFC 1930: Guía para la creación, selección, y registro de Autonomous System

… 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.

AS Numbers (ASNs)ASNs son valores de 16 bit.

64512 a 65535 son “privados”

• 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

Aprox. unos 11,000 en uso (agosto 2001).

Page 3: BGP

Arquitectura de encaminamiento dinámico

AS 1

AS 2

BGP

EGP = Exterior Gateway Protocol

IGP = Interior Gateway ProtocolBasado en Métrica: OSPF, IS-IS,

RIP, EIGRP (cisco)

Basado en “políticas”: BGP

El Routing Domain de BGP es Internet

OSPF

EIGRP

• Información de la topología inunda todo el routing domain

• Las mejores rutas las calcula cada router

• La mejor ruta establece el Next-hop.

• Basado en minimizar el coste (asociado a una métrica)

• OSPF, IS-IS

• Cada router conoce poco sobre la topología del routing domain

• Cada router manda toda la información sólo a sus vecinos.

• La mejor ruta resulta de la componer los mejores next-hop

• No es imperativo utilizar el concepto de distancia

• RIP distace vectorBGP path vector

Link State Vectoring

Tecnologías de encaminamiento distribuido

Page 4: BGP

The Gang of Four

Link State Vectoring

EGP

IGP

BGP

RIPIS-ISOSPF

8

Varios protocolos de encaminamiento en el mismorouter

Forwarding Table

OSPFDomain

RIPDomain

BGP

OS kernel

OSPF Process

OSPF Routing tables

RIP Process

RIP Routing tables

BGP Process

BGP Routing tables

Forwarding Table Manager

Page 5: BGP

9

Nontransit vs. Transit ASes

ISP 1ISP 2

Nontransit ASpodría ser una red corporativa o un campus.

NET A

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

tráfico IP

Internet Serviceprovidersnormalmentetienen redes de tránsito

Transit AS

AS1

AS3

AS2

r3

r1 r2

r2,r3

r1 r1,r3r2

Page 6: BGP

Nontransit AS

AS1

AS3

AS2

r3

r1 r2

r3

r1 r3r2

12

Selective Transit

NET BNET C

NET A permite transitoentre NET B y NET Cy entre NET D y NET CNET A

NET D

NET A no permitetransito entre NET D y NET B

La mayoría de las transit networks permiten tránsito de forma selectiva…

trafico IP

Page 7: BGP

Clientes y Proveedores

Los clientes pagan a los proveedores por acceder a Internet

proveedor

cliente

trafico IPproveedor cliente

Los clientes no siempre necesitan BGP

proveedor

cliente

Ruta “default” 0.0.0.0/0apuntando al proveedor.

Ruta 192.0.2.0/24apuntando al 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...

Page 8: BGP

Jerarquía cliente-proveedor

tráfico IPproveedor cliente

Relación entre “pares”

par par

clienteproveedor

Pares proporcionan transito entresus respectivos cliente

Pares no proporcionan transito entrepares

Pares, habitualmente, no intercambian $$$

tráficopermitido

tráfico NOpermitido

Page 9: BGP

Guerra entre pares

• Pueden reducir costes de upstream

• Pueden mejorar sus prestaciones

• Puede ser la única manera de tener acceso a una parte de Internet

• Uno no tiene clientes• El otro es su

competidor

La competencia entre pares es, con mucho,el contencioso más problemático en Internet!

Los acuerdos entre pares suelen ser confidenciales.

Acuerdos si... No acuerdos si...

Renegociaciones periódicas

18

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)

Page 10: BGP

19

BGP: Funcionamiento básico

Establecimiento sesiónTCP puerto 179

Intercambio de todas las rutas

Intercambio incrementalupdates

AS1

AS2

Mientras la conexión es ALIVE intercambiaUPDATE mensajes

BGP sesión

Inter-Domain Routing

R

You can reach R via me

Page 11: BGP

21

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

BGP atributos

Value Code Reference----- --------------------------------- ---------

1 ORIGIN [RFC1771]2 AS_PATH [RFC1771]3 NEXT_HOP [RFC1771]4 MULTI_EXIT_DISC [RFC1771]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

Hablaremos de estos

No todos los atributos forman parte de un anuncio (LOCAL_PREF)

Page 12: BGP

Atributos: se usan para seleccionar la “mejor ruta”

192.0.2.0/24yo mejor!

192.0.2.0/24escógeme!

192.0.2.0/24mas corto!

192.0.2.0/24y 2 huevos duros!

Dadas múltiples rutas al mismo prefijo, un BGP speaker debe seleccionar, al menos, una mejor ruta.

24

Dos tipos de relación vecinal

• Externa (eBGP): con router en diferente Autonomous Systems

• Internal (iBGP): con router en el mismo Autonomous SystemAS1

AS2

eBGP

iBGP

iBGP es encaminado (usa IGP!)

Page 13: BGP

25

Atributo “Next Hop”

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.

AS 6431AT&T Research

135.207.0.0/16Next Hop = 12.125.133.90

AS 7018AT&T

AS 12654RIPE NCCRIS project

12.125.133.90

135.207.0.0/16Next Hop = 12.127.0.121

12.127.0.121

Forwarding Table

Forwarding Table

Uniendo EGP con IGP

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/16Next 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

Page 14: BGP

Implementando relaciones Cliente/Proveedor y Par/Par

• Implementación de relaciones de transito– Filtrado de rutas saliente

• Implementación de preferencias de rutaproveedor < par < cliente

Dos partes:

Importación de rutas

Frompeer

Frompeer

Fromprovider

Fromprovider

From customer

From customer

provider route customer routepeer route ISP route

Page 15: BGP

Exportación de rutas

Topeer

Topeer

Tocustomer

Tocustomer

Toprovider

From provider

provider route customer routepeer route ISP route

filtersblock

192.0.2.0/24

192.0.2.0/24Accidental o malicioso anuncio de un prefijo puede generar un agujero negro para ese prefijo en gran parte de Internet

par par

clienteproveedor

Filtro Necesario !

legitimo

falso

Blackholes

Page 16: BGP

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)

Frompeer

Frompeer

Fromprovider

Fromprovider

From customer

From customer

provider route customer routepeer route ISP route

filtrado demarcianos

xxxxxx

xxxxxx

xxxxxx

xxxxxxxxxxxx

xxxxxxxxxxxx

Filtros delcliente

cccccccccccccccccc

potencialesagujerosnegros

Marcianos

Page 17: BGP

33

Cual ?

Que ruta debemos coger para 13.13.0.0./16 ?

AS 1

AS 2

AS 4

AS 3

13.13.0.0/16

UPV

par par

clienteproveedor

34

BGP: Selección de rutas

Selección mejor ruta

ImportPolicies

Tabla de mejores rutas

ExportPolicies

Rx.BGPUpdates

Mejores rutas

Tx.BGP Updates

Policy =filtro de rutas & selecc.atributos

Basado envalores deatributos

Tabla de IP Forwarding

Policy =filtro de rutas & selecc.atributos

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

Page 18: BGP

Selección de rutas (cont)

LOCAL_PREFerence mayor

AS-PATH más corto

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

traffic engineering

relaciones (clientes, pares, proveedores)

Último recurso

36

Atributo LOCAL_PREF

AS 1AS 2

AS 4

AS 3

13.13.0.0/16

local pref = 80

local pref = 100

local pref = 90

Valores más altos más preferidos

UPV

par par

clienteproveedor

Page 19: BGP

37

Implementando Backup Links con Local Preference

AS 1

primary link backup link

Set Local Pref = 100

AS 65000Set Local Pref = 50

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

38

Atributo AS_PATH

AS7018135.207.0.0/16AS Path = 6341

AS 1239Sprint

AS 1755Ebone

AT&T

AS 3549Global Crossing

135.207.0.0/16AS Path = 7018 6341

135.207.0.0/16AS Path = 3549 7018 6341

AS 6341

135.207.0.0/16

AT&T Research

Originador del prefijo

AS 12654RIPE NCCRIS project

AS 1129Global Access

135.207.0.0/16AS Path = 7018 6341

135.207.0.0/16AS Path = 1239 7018 6341

135.207.0.0/16AS Path = 1755 1239 7018 6341

135.207.0.0/16AS Path = 1129 1755 1239 7018 6341

Page 20: BGP

39

Evitación de bucles interdomain

BGP en AS “YYY”nunca aceptaráuna ruta con un AS_PATH que contenga “YYY”.

AS 7018

12.22.0.0/16ASPATH = 1 333 7018 877

No se acepta !

AS 1

Distance vector … Path vector …¿ Cuenta a infinito en BGP ?

R

AS 1

AS 2

AS 3

R: AS3R: AS2 AS3 AS2 AS1R: AS2 AS3

R: AS1 AS3R: AS3

Page 21: BGP

El tráfico frecuentemente sigue la ruta en AS_PATH

AS 4AS 3AS 2AS 1135.207.0.0/16

135.207.0.0/16ASPATH = 3 2 1

IP Packet Dest =135.207.44.66

… pero puede que no !

AS 4AS 3AS 2AS 1135.207.0.0/16

135.207.0.0/16ASPATH = 3 2 1

IP PacketDest =135.207.44.66

AS 5

135.207.44.0/25ASPATH = 5

135.207.44.0/25

AS 2 filtra todas lassubredes con máscaramayor que /24

135.207.0.0/16ASPATH = 1

Desde AS 4 pareceque el paquete tomarála ruta 3 2 1, pero realmente toma la ruta 3 2 5

Page 22: BGP

Exportarestado internoincrementariade forma dramática la información de routing

“Más corto” no siempre significa“más corto”

AS 4

AS 3

AS 2

AS 1

BGP dice que la ruta4 1 es mejor que 3 2 1

Sorpresa !

44

Forzando el tráfico de entrada con AS_PATH Padding

AS 1

192.0.2.0/24ASPATH = 2 2 2

clienteAS 2

proveedor

192.0.2.0/24

backupprimary

192.0.2.0/24ASPATH = 2

Page 23: BGP

45

Padding puede no ser suficiente

AS 1

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

clienteAS 2

proveedor

192.0.2.0/24

192.0.2.0/24ASPATH = 2

AS 3proveedor

AS 3 mandará tráfico porlínea de “backup”porque prefiere rutas decliente a rutas de pary considera este criterioantes que la longitud deASPATH !

Padding puede usarse para balancear la carga

backupprimary

¿Cómo?

46

Hot Potato Routing: Ir al punto de salida más próximo

192.44.78.0/24

15 56 distancia IGP

salida 1 salida 2

Este Router tiene dos rutas BGP a 192.44.78.0/24.

Hot potato: Saca el trafico de tu red tan pronto como puedas

Page 24: BGP

47

El reverso tenebroso de Hot Potato

15 56

172865High bandwidth

Provider backbone

Low bandwidthcustomer backbone

HeavyContent

Web Farm

Muchos clientes prefieren que su proveedor le lleve los bits! ... el proveedor también !

petición http (pequeña)respuesta http (larga)

SFF NYC

San Diego

48

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

15 56

172865

HeavyContent

Web Farm

192.44.78.0/24

192.44.78.0/24MED = 15

192.44.78.0/24MED = 56

MEDs debe ser considerado ANTES QUEla distancia IGP !

Preferible MEDs con valor más bajo

Nota1 : algunos proveedores no tienen en cuenta MEDsNote2 : MEDs no tiene porqué ser necesariamente la distancia IGP

Page 25: BGP

Selección de rutas (cont)

LOCAL_PREFerence mayor

AS-PATH más corto

MED más bajo (Multi-Exit Discriminator)

i-BGP < e-BGP

Coste IGP más bajo al nodo BGP de salida

Router ID más bajo

traffic engineering

relaciones (clientes, pares, proveedores)

Último recurso

Politicas pueden interactuar de forma inesperada

backup

Caída del primario al cliente.Entra backup.

Recuperación del primario peroparte del tráfico queda enganchadoa la línea de backup.

1 2

3 4

Instalación de una línea de backup.

cliente

Page 26: BGP

... 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.

Que problema soluciona BGP ?

El problema aresolver

Shortest Paths

Mecanismo distribuidopara calcular la solución.

X?

RIP, OSPF, IS-IS

BGP

El problema del problema

Page 27: BGP

Stable Paths Problem (SPP)

2 5 5 2 1 0

0

2 1 02 0

1 3 01 0

3 0

4 2 04 3 0

3

4

2

1

• Nodo 0, el origen, • Para cada nodo distinto de

0, hay un conjunto de rutas permitidas al origen (incluida la “ruta nula”).

• Cada nodo tiene su ranking de rutas permitidas. La “ruta nula” es siempre la menos preferida. (no se muestra en las tablas de la figura)

Modelo BGP : los nodos representanBGP speaking routers, y 0 representa el nodo originador de un prefijo

más preferida…menos preferida (no nula)

5 5 2 1 0

1

Una solución a Stable Paths Problem

2

0

2 1 02 0

1 3 01 0

3 0

4 2 04 3 0

3

4

2

1

• la ruta asignada al nodo “u” es o la “ruta nula” o es una ruta “uwP”, donde “wP” es asignada al nodo “w”,

• a cada nodo se le asigna su ruta más preferida entre las consistentes con las rutas asignadas a sus vecinos. Una solución no representa

necesariamente un camino más corto, o un spanning tree.

Una solución es una asignación de rutas permitidas a cada nodo tal que :

Page 28: BGP

Un SPP puede tener múltiple soluciones

Primera solución

1

0

2

1 2 01 0

1

0

2

1

0

2

2 1 02 0

1 2 01 0

2 1 02 0

1 2 01 0

2 1 02 0

Segunda soluciónDesacuerdo

Sin solución ?

2

0

31

2 1 02 0

1 3 01 0

3 2 03 0

4

3

Page 29: BGP

57

Inestabilidad IGP puede exportar inestabilidad al resto de Internet

15 56

192.44.78.0/24

AS 4

AS 3AS 2

AS 1

10

FLAP

FLAP

FLAP FLAP192.44.78.0/24ASPATH = 4 2 1

192.44.78.0/24ASPATH = 4 3 1

58

MEDs puede exportar inestabilidad interna

15

172865

HeavyContent

Web Farm

192.44.78.0/24

192.44.78.0/24MED = 15

192.44.78.0/24MED = 56 OR 10

56

10

FLAP

FLAP

FLAP

FLAP

FLAPFLAP

Page 30: BGP

Crecimiento de la tabla BGP

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

64,511

2005?2007?

Cuando se agotarán los ASNs?

ASNs > 16 bits ?

Page 31: BGP

BGP Routing Tables

show ip bgpBGP table version is 111849680, local router ID is 203.62.248.4Status codes: s suppressed, d damped, h history, * valid, > best, i - internalOrigin 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/whoisbuscar 158.42.0.0 para encontrar AS

buscar por AS (AS766) para obtener lista de import/export con otros AS.

Page 32: BGP

BGP RFCs

• 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

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

64

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.

Page 33: BGP

BGP: Estabilidad y convergencia

• The Impact of Internet Policy and Topology on Delayed Routing Convergence. Craig Labovitz, AbhaAhuja, Roger Wattenhofer, Srinivasan Venkatachary. INFOCOM 2001

• An Experimental Study of BGP Convergence. Craig Labovitz, Abha Ahuja, Abhijit Abose, FarnamJahanian. 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