bgp
DESCRIPTION
Uploaded from Google DocsTRANSCRIPT
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
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).
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
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
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
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
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...
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
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)
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
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)
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!)
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
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
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
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
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
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
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
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
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
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
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
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
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
... 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
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 :
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
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
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 ?
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.
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.
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