Taller BGP Sergio.pdf

86
© Sergio Gálvez Morales 2013

description

Fundamentos protocolo BGP

Transcript of Taller BGP Sergio.pdf

Page 1: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Page 2: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Page 3: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

¿DE DÓNDE VIENE LA DIRECCIÓN IP?

Page 4: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Page 5: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Autonomous System Numbers (ASN)

• Colección de redes con misma política enrutamiento• Solo protocolo enrutamiento• Posibilidad de múltiples IGP (Interior Gateway Protocol, protocolo de pasarela interno)

• Generalmente es de una sola propiedad, confiable y controlado

• Identificado por un único entero 32 bits (ASN)

Page 6: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Page 7: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Másacerca de ASN

• Históricamente 2 bytes

o 1 al 65535

• Pero se convirtió en 4 bytes (RFC 4893)

o 65536 al 4294967295

Page 8: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

ASN Especialeso 0 y 65535 están reservados

o 64496 – 64511, 65536 – 65551 son para documentación (RFC5398)

o 64512 – 65534 Uso privado

o 23456 representación de ASN de 4 bytes en el mundo de 2 bytes.

Page 9: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

IGP contra EGP

• IGP – Interior Gateway Protocol

o Intercambio de rutas dentro un ASNo Transporta información acerca de los prefijos internoso OSPF, ISIS, EIGRP, etc

• EGP – Exterior Gateway Protocol

o Intercambio de rutas entre ASNo Actualmente BGP es el estándar de EGPo Conexión con redes extrenas

Page 10: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

• IGP – Interior Gateway Protocol

o Convergencia por debajo del segundoo Generalmente descubrimiento automáticoo Generalmente confía sus rutas IGPo Todas las rutas van entre routers IGP

• EGP – Exterior Gateway Protocol

o Disociadas de la IGPo Configurado especialmente

Page 11: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Enrutamiento Internet

• BGP selecciona las rutas de acuerdo a un algoritmo de decisión y los valores de algunos "atributos" ruta.

• AS_PATH es una lista de ASN cuando hay un UPDATE la lista se actualiza.

Page 12: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

ASN 6057Anuncia

200.40.0.0/16

El prefijo 200.40.0.0/16 es propagado con BGP a 

Internet

ASN 8158Recibe

200.40.0.0/16

Atributos:200.40.0.0/16 AS_PATH ASN1 ASN3 ASN6057

Page 13: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Tránsitoy Peering• Tránsito

o Tráfico y prefijos procedentes de un ASN se realizan a través de un ASN intermedio para llegar a su destino ASN

o Generalmente se usa una cuota

• Peering

o Interconexión privada entre dos ASNo Generalmente no usa cuota

Page 14: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

TRÁNSITO

PEERING

Page 15: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Peering en un Internet Exchange Point (IXP)Internet Exchange Point (IXP)

• Ubicación común de interconexión donde varios ASN intercambian información de enrutamiento y el tráfico

Page 16: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

BorderGateway Protocol (BGP)• Es un protocolo de enrutamiento utilizado para intercambiar información de enrutamiento entre redes diferentes.

• Protocolo de entrada/salida• Descrito en RFC4271

oRFC4276 proporciona un informe de ejecución de BGP

oRFC4277 describe las experiencias operacionales utilizando BGP

• Trabaja en el puerto TCP 179• Protocolo de Path Vector

Page 17: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

• Aprende a través de varias rutas BGP internas y externas. Intercambio inicial de toda la tabla

• Actualizaciones incrementaleso Escoge el mejor path y lo instala en la tabla de 

reenvío IP. Políticas aplicadas para influir en la selección del mejor path

• Intercambian mensajes de mantenimiento de conexión

• Muchas opciones para la aplicación de políticas• Classless Inter Domain Routing (CIDR)• Ampliamente utilizado para la red troncal de 

Internet

Page 18: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Vecinos• Portavoces BGP

o Interna (iBPG) si se encuentran en un mismo ASNo Externo (eBGP) si se encuentran en diferentes ASN

Page 19: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Campos de aplicación BGP: red de conexión única

• Sólo una salida para el cliente• No es necesario realmente agregar BGP

Page 20: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Redesmultitarjeta

• Diferentes situaciones posibles

o Múltiples enlaces a un mismo ISP

o Secundario sólo para backupo Compartir la carga entre 

primario y secundarioo Utilizar selectivamente 

diferentes ISPso Peering en IXP

Page 21: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Estados de BGPEstados BGP

1. Idle2. Connect3. Active4. OpenSent5. OpenConfirm6. Established

Eventos BGP

1. BGP Start2. BGP Stop3. BGP Transport connection open4. BGP Transport connection closed5. BGP Transport connection open failed6. BGP Transport fatal error7. ConnectRetry timer expired8. Hold Timer expired9. KeepAlive timer expired10.Receive OPEN message11.Receive KEEPALIVE message12.Receive UPDATE messages13.Receive NOTIFICATION message

Page 22: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

ConfiguraciónBásicaIPv4

router bgp xxxxneighbor a.b.c.d. remote‐as <as>neighbor X:X:X:X::X …network A.B.C.D. maskno synchronizationexit address‐family

IPv6

no bgp4 default unicastbgp router‐id a.b.d.frouter bgp xxxx

neighbor X:X:X:X::X remoteas …

neighbor X:X:X:X::X …address‐family ipv6neighbor X:X:X:X::X activate

neighbor X:X:X:X::X …network 2001:DB8::/32no synchronizationexit address‐family

Page 23: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

ConfiguraciónBásica (IPv4 eBGP)Router A

router bgp 65536network 150.10.0.0 mask 255.255.0.0neighbor 131.108.10.1 remote‐as 65537

Router B

router bgp 65537network 131.108.0.0 mask 255.255.0.0neighbor 131.108.10.2 remote‐as 655536

Router A

Router B!Tenga cuidado, necesidad de filtros!!No lo intente en la producción todavía!

Page 24: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

• Router A

router bgp 65536neighbor 131.108.10.1 remote‐as 65536

• Router B

router bgp 65536network 131.108.0.0 mask 255.255.0.0neighbor 131.108.10.2 remote‐as 655536ip route 131.108.0.0 255.255.0.0 null 0

Router A

Router B

Page 25: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Más sobre iBGP

• BGP aparece dentro del mismo ASN• No es necesario estar conectado directamente• IGP se encarga de conectividad entre BGP speaker’s

• Los speakers iBGP deben estar interconectados:o Se originan redes conectadaso Pasan prefijos aprendidos desde fuera del 

ASNo No pasan de prefijos aprendidos de otros 

speakers iBGP

Page 26: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Verificacióndel funcionamiento

• Summary de BGP

Show ip bgp summaryShow bgp ipv6 [unicast|multicast] summary

• Tabla de enrutamiento

Show ip bgp <prefix> (empty shows all the routes)Show bgp ipv6 [unicast|multicast] <prefijo>

Page 27: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Ejemplo de comandos

Page 28: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Más Comandos show• Verificación de vecinos

Show ip bgp neighbor <peer>Show bgp ipv6 [unicast|multicast] neighbor <peer>

Show ip bgp ] neighbor <peer> advertisedroutesShow bgp ipv6 [unicast|multicast] neighbor <peer> advertised‐routes

Show ip bgp neighbor <peer> routesShow bgp ipv6 [unicast|multicast] neighbor <peer> routes

Show ip bgp neighbor <peer> received‐routesShow bgp ipv6 [unicast|multicast] neighbor <peer> received‐routes

Page 29: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

ATRIBUTOS¿Qué es un atributo?• Parte de una actualización de BGP• Describe las características del prefijo• Se puede ser transitivo o no transitivo• Algunos son obligatorios, otros opcionales

oAtributos obligatorios:Well knownWell known discretionary

oAtributos opcionales:Optional non‐transitive

Page 30: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Rutas de atributos

Page 31: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Listado de atributosValue Code Reference

0 Reserved1 ORIGIN [RFC4271]2 AS_PATH [RFC4271]3 NEXT_HOP [RFC4271]4 MULTI_EXIT_DISC RFC4271]5 LOCAL_PREF [RFC4271]6 ATOMIC_AGGREGATE [RFC4271]7 AGGREGATOR [RFC4271]8 COMMUNITY [RFC1997]9 ORIGINATOR_ID[RFC4456]10 CLUSTER_LIST [RFC4456]14 MP_REACH_NLRI [RFC4760]15 MP_UNREACH_NLRI [RFC4760]16 EXTENDED COMMUNITIES [RFC4360]17 AS4_PATH [RFC6793]18 AS4_AGGREGATOR [RFC6793]

Page 32: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Proceso de decisión de BGP

Page 33: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

AS‐Path

• Secuencia de ASN’s que una ruta ha atravesado

• Atributo transitivo obligatorio

• Se utiliza para:

o Detección de Loopo La aplicación de la política

Page 34: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Ejemplo AS‐Path

2001:db8::/32

Page 35: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Next‐hop

• eBGP: Dirección del vecino externa• iBGP: NEXT_HOP de eBGP (pero puede ser cambiado)

• Atributo no transitivo obligatorio

Page 36: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Para evitar carring externo en las direcciones IP de next‐hop se usa: next‐hop self

neighbor x.x.x.x next‐hop‐self

Utilizar bucles como NH en iBGP

Page 37: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Origin• El origen del prefijo• Atributo histórico utilizado en la transición de EGP para BGP

• Atributo transitivo y obligatorio• Tres valores: IGP, EGP, incompleto

o IGP generado por declaración sobre la red BGP

o EGP generado por EGPo Incompleto  redistribuido de otro protocolo 

de enrutamiento

Page 38: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Aggregator

• Transmite la dirección IP del router o BGP speaker generando la ruta agregada

• Atributo opcional y transitivo• Creado por el uso de "aggregate‐address":

router bgp 65537aggregate‐address 10.1.0.0 255.0.0.0

Page 39: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Local Preference

• Indicación de la ruta preferida para salida de ASN locales

• Atributo no transitivo y opcional

• Global a los ASN locales

• Rutas con mayor LOCAL ‐ PREF son los más deseables (por defecto = 100)

Page 40: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Ejemplo Local Preference

Page 41: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Ejemplo router bgp 65535

bgp router‐id 3.3.3.3neighbor 2001:db8::1 remote‐as 65535neighbor 2001:db8::1 update‐source Loopback0address‐family ipv6

neighbor 2001:db8::1 activateneighbor 2001:db8::1 next‐hop‐selfneighbor 2001:db8::1 route‐map LOCAL_PREF out

exit‐address‐family

ipv6 prefix‐list 10 seq 5 permit 2001:db8::/32!route‐map LOCAL_PREF permit 10

match ipv6 address prefix‐list 10set local‐preference 150

!route‐map LOCAL_PREF permit 20

Page 42: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Multi‐Exit Discriminator (MED)• Indicación (a pares externos) de la ruta preferida en un ASN

o Se utiliza en múltiples entradas ASNo Atributo no transitivo y opcional

• Determina la mejor ruta para el tráfico entrante

• Compara si los caminos son del mismo ASN

• Ruta de menor MED, default = 0 (RFC4271)

Page 43: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Communites• Las Communities se describen en RFC1997

• Atributo transitivo y opcionales

• 32 bits entero, representado como dos enteros de 16 bits (RFC1998)

• Formato común es <local‐ASN>: xx

• 0:0 a 0:65535 y 65535:0 de 65535:65535 están reservados

Page 44: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

• Se utiliza para destinos de grupo, cada destino puede ser miembro de varias comunidades

• Muy útil en la aplicación de políticas dentro y entre ASN

• Es como una etiqueta aplicada a una actualización.

• Las comunidades típicas:

o Destinos aprendidas de los clienteso Destinos aprendidas de ISPs o compañeroso Destinos en VPN

Page 45: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Comunidades Well‐Know

• no‐export = no anuncia a sus pares eBGP (65535:65281)

• no‐advertise = no anuncia a cualquier punto (65535:65282)

• local‐AS = no anuncia fuera del ASN local (usado con las centrales)

https://www.iana.org/assignments/bgp‐well‐known‐communities/bgp‐well‐known‐communities.xhtml

Page 46: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Ejemplo Set communitySet community 65536:200router bgp 65536neighbor 10.1.1.1 remote‐as 65537neighbor 10.1.1.1 send‐communityneighbor 10.1.1.1 route‐map set_community out!route‐map set_community 10 permitmatch ip address 1set community 65536:200!access‐list 1 permit 10.10.0.0 0.0.255.255

Page 47: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Ejemplo Set local prefSet local pref basado en una communityrouter bgp 65537neighbor 10.1.1.2 remote‐as 65536neighbor 10.1.1.2 route‐map filter_on_community in!route‐map filter_on_community 10 permitmatch community 1set local‐preference 150!ip community‐list 1 permit 65537:150

Page 48: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Filtrado, políticas y escala BGPAplicación de Políticas con BGP

• Las políticas están basada en la ruta AS, la comunidad o el prefijo

• Rechazar / aceptar rutas seleccionadas• Establecer atributos para influir en la selección de rutas

• Utilizao Lista de prefijoso Lista de filtros o Mapas de rutas y de las comunidades

Page 49: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Lista de prefijos

• Por prefijo pares filtro, entrante o saliente• Permite la cobertura de los rangos de longitudes de prefijo (ge, le)

• Sobre la base de los números de red en NLRI (con familiares dirección IPv4 / formato de la máscara)

ip prefix‐list list‐name [seq seq‐value] permit|denynetwork/len [ge ge‐value] [lele‐value]

Page 50: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Ejemplos• Denegar ruta por defecto

ip prefix‐list EG deny 0.0.0.0/0

• Permitir el prefijo 35.0.0.0 / 8ip prefix‐list EG permit 35.0.0.0/8

• Denegar el prefijo 172.16.0.0/12ip prefix‐list EG deny 172.16.0.0/12

• En 192/8 permitir hasta / 24ip prefix‐list EG permit 192.0.0.0/8 le 24

Page 51: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Ejemplorouter bgp 65535neighbor 2001:cafe::1 remote‐as 65536!address‐family ipv6neighbor 2001:cafe::1 activateneighbor 2001:cafe::1 prefix‐list IPv6‐BOGUS inexit‐address‐family!ipv6 prefix‐list IPv6‐BOGUS deny 2001:db8::/32 le 128ipv6 prefix‐list IPv6‐BOGUS permit 2002::/16ipv6 prefix‐list IPv6‐BOGUS deny 2002::/16 le 128ipv6 prefix‐list IPv6‐BOGUS deny 0000::/8 le 128ipv6 prefix‐list IPv6‐BOGUS deny fe00::/9 le 128ipv6 prefix‐list IPv6‐BOGUS deny ff00::/8 le 128ipv6 prefix‐list IPv6‐BOGUS permit 0::/0 le 48ipv6 prefix‐list IPv6‐BOGUs deny 0::/0 le 128

Page 52: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Expresiones regulares. Coincidir un carácter* Coincidir cualquier número de la expresión anterior+ Coincidir al menos un número de la expresión anterior^ Inicio de la línea$ Fin de línea\ Escapar un carácter de expresión regular_ Inicio, final, espacio en blanco| O() Entre paréntesis para contener la expresión[] Corchetes para contener series de números

Page 53: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Ejemplos expresiones regulares

. * Igual a  nada^ $ Corresponden rutas locales a este ASN (AS_PATH está vacío)_65536 $ Originado por 65.536 (AS_PATH termina con 65.536)^ 65536_ Recibidas por 65.536 (AS_PATH empieza con 65.536)_65536_ 65536 está en algún lugar en AS_PATH_65536_65537_ Pasando desde 65.537 por 65.536

Page 54: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Mas Ejemplos^ [0 ‐‐‐ 9] + $ coincidir longitud de un AS_PATH ^ [0‐9] + _ [0‐9] + $ coincidir longitud de dos AS_PATH ^ [0 ‐ 9] _ * [0 ‐ 9] + $ AS_PATH coincidente con la longitud de uno o dos^ [0‐9] * _ [0 ‐ 9] * $ coincidir AS_PATH duración de uno o dos (también puede coincidir con cero)^ [0‐9] + _ [0 ‐ 9] + _ [0‐9] + $ coincidir longitud de tres AS_PATH _ (65536 | 65537) _ coincidir cualquier cosa que ha pasado por AS65536 o AS65537_65536 (_. + _) 65537 $ corresponde a nada del origen AS65536 y pasa a través de AS65537

Page 55: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Lista de filtrosLas rutas de filtro basado en AS_PATH, entrante o saliente

router bgp 65537network 10.7.0.0 mask 255.255.0.0neighbor 10.10.1.1 filter‐list 5 outneighbor 10.10.1.1 filter‐list 6 in!ip as‐path access‐list 5 permit ^65536$ip as‐path access‐list 6 permit ^65539$

Page 56: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Mapas de rutas• Una secuencia de instrucciones• Tiene números de "línea", cada línea es una condición / acción separada

If match then do expression and exitelseIf match then do expression and exitelse etc

• Ruta de "continuar" se aplica a aplica varias condiciones y acciones en una hoja de ruta

Page 57: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Ejemplos mapas de rutas

route‐map sample permit 10match ip address prefix‐list list‐oneset local‐preference 120

!route‐map sample permit 20

match ip address prefix‐list list‐twoset local‐preference 80

!route‐map sample permit 30

Page 58: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Control del tráfico entrante• La primera regla para controlar el tráfico de entrada 

o Usted no tiene el control final de cómo el tráfico entra en su AS

o Sus compañeros pueden tener políticas salientes que anularán todos sus intentos de influir en el tráfico de entrada

• Por lo tanto, ¿qué puede hacer?o Fugas en rutas específicaso MEDo Anteponiendo AS‐PATH

Page 59: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Anteponiendo AS Path

Page 60: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Utilice anteponiendo su propio número de ASN de lo contrario BGP detectara  bucles  que pueden causar desconexiones.

router bgp 65535neighbor 2001:cafe::1 remote‐as 65536address‐family ipv6

neighbor 2001:cafe::1 activateneighbor 2001:cafe::1 route‐map SETPATH out

!route‐map SETPATH permit 10

set as‐path prepend 65535 65535

Page 61: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Comunidad no‐export

Page 62: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

router bgp 65536

neighbor 2001:cafe::1 remote‐as 65537address‐family ipv6neighbor 2001:cafe::1 activateneighbor 2001:cafe::1 route‐map set_community outexit‐address‐family

!route‐map set_community permit 10match ip address prefix‐list NO‐EXPORTset community no‐export!route‐map set_community permit 20!ipv6 prefix‐list NO‐EXPORT permit 2001:db8:100:/40

Page 63: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Orden de aplicación de la política• Para actualizaciones entrantes:

o Mapa de la rutao Lista de filtroso Lista de prefijo

• Para las actualizaciones de salida:

o Lista de prefijoo Lista de filtroso Mapa de la ruta

Page 64: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Reflectores de ruta

• BGP no puede anunciar un camino de un iBGP a otro.

• iBGP no tiene forma de detectar bucles (opuestamente  eBGP que utiliza AS‐PATH)

• iBGP requieres una malla completa, pero no escala

• Los reflectores de ruta son puntos centrales para la distribución de rutas entre pares iBGP

Page 65: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Loopbacks• Loopback controlado promueve la estabilidad

• Si la relación entre dos vecinos falla:

o Sin Loopback , mirando a la IP de la interfaz provocaría un descenso de la sesión BGP

o Con loopback, mirando a un bucle, la sesión puede permanecer hasta

• Se utiliza para cargar el tráfico de equilibrio a través de múltiples enlaces

• En iBGP asegúrese de que hay una ruta IGP para loopbacks

Page 66: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Router bgp 65536Bgp log‐neighbor‐changesNo bgp default ipv4‐unicastBgp router‐‐‐id 192.168.99.70!Neighbor 2001:db8:1::10 remote‐as 65537Neighbor 2001:db8:1::10 update‐source Loopback0!address‐family ipv6Neighbor 2001:db8:1::10 activateNo synchronizaHonNetwork 2001:db8:100::/40Network 2001:db8:200::/40exit‐address‐family

Page 67: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Crecimiento de la tabla de enrutamiento

http://bgp.potaroo.net/

Page 68: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Desagregación

2001:db8::/402001:db8:100::/40

Page 69: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Agregación

• Sólo anunciar el agregado de sus compañeros

• Utilice lista de prefijos para controlar lo que se salga de su red y lo que se pone a la misma.

• Utilice comunidad no‐export

• Trate de evitar a desglosar lo más posible

Page 70: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Ejemplorouter bgp 65536network 10.10.0.0 mask 255.255.0.0network 10.108.0.0 mask 255.255.0.0network 10.0.0.0 mask 255.0.0.0neighbor 10.108.10.1 remote‐as 65537neighbor 10.108.10.1 route‐map set_community outneighbor 10.108.11.1 remote‐as 65537neighbor 10.108.11.1 prefix‐list ANNOUCE‐OUT out!route‐map set_community permit 10match ip address prefix‐list NO‐EXPORTset community no‐export!route‐map set_community permit 20!ip prefix‐list NO‐EXPORT permit 10.10.0.0/16ip prefix‐list NO‐EXPORT permit 10.108.0.0/16!ip prefix‐list ANNOUNCE‐OUT permit 10.0.0.0/8!ip route 10.0.0.0 255.0.0.0 null 0

Aplicar no‐export a este vecino

A esto se acaba de anunciar aggragate

Page 71: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Recepción y prefijos de recepción

• Siempre aplique filtros de salida para anunciar solamente sus prefijos y los de sus clientes

• Siempre aplique filtros de entrada, nunca se sabe lo que puede venir de sus pares

• No hacer esto produce problemas tales como “Route‐hijacking” y “Route‐leaks”

Page 72: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Filtrado especial de direcciones IPv4/IPv6

• Puede añadir estas direcciones a sus filtros de entrada para evitar recibir anunciaciones invalidas

• Ejemplos de estos prefijos son 10.0.0.0 / 8, 192.168.0.0/16, 2001: db8 :: / 32

• Compruebe RFC 6890 para más detalles• Cisco, Juniper y otras plantillas de ACL en:

http://www.team‐cymru.org/Services/Bogons/changelog.html

Page 73: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Direcciones  especiales IPv6

ipv6 prefix‐list IPv6‐BOGUS deny 2001:db8::/32 le 128ipv6 prefix‐list IPv6‐BOGUS permit 2002::/16ipv6 prefix‐list IPv6‐BOGUS deny 2002::/16 le 128ipv6 prefix‐list IPv6‐BOGUS deny 0000::/8 le 128ipv6 prefix‐list IPv6‐BOGUS deny fe00::/9 le 128ipv6 prefix‐list IPv6‐BOGUS deny ff00::/8 le 128ipv6 prefix‐list IPv6‐BOGUS permit 0::/0 le 48ipv6 prefix‐list IPv6‐BOGUs deny 0::/0 le 128

Page 74: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Prefijos Estables• Use las rutas estáticas para mantener sus rutas 

estables e independientes de los cambios en la interfaz

• Utilice bucles para mirar con sus vecinos

o Con iBGP utilizarlos con next‐hop, se evita realizar rutas externas en el IGP

o Con eBGP que aumenta la estabilidad

Page 75: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

INTERNET EXCHANGE POINTS (IXP)RECORDAR

TRÁNSITO

PEERING

Page 76: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Tránsitoy Peering

• Tránsito

o Tráfico y prefijos procedentes de un ASN se realizan a través de un ASN intermedio para llegar a su destino ASN

o Generalmente se usa una cuota

• Peering

o Interconexión privada entre dos ASNo Generalmente no usa cuota

Page 77: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Peering en un Internet Exchange Point (IXP)Internet Exchange Point (IXP)

• Ubicación común de interconexión donde varios ASN intercambian información de enrutamiento y el tráfico

Page 78: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Recomendaciones y Buenas Prácticas

• Sólo anunciar sus agregados y sus clientes agregados al IXP

• Acepte solamente los agregados que el par tiene derecho a proceder

• Nunca cargue una ruta predeterminada en un IXP (o privado) mirando hacia el enrutador

• No hacerlo da lugar a secuestros de ruta y fugas

Page 79: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Route Hijacking

• Esto ocurre cuando un participante anuncia una ruta en Internet con un prefijo para el que no tiene autoridad

• Malintencionados o de errores operacionales

• Los casos más conocidos:

o Pakistán Telecom vs YouTube (2008)o China Telecom (2010)o Google en Europa del Este (varios AS, 2010)o Casos Iberoamericanos (inicio 2011)

Page 80: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Page 81: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Fugas

• No existe una definición estándar de fugas

• Sucede cuando un ASN se "fuga"  por no clientes o por cuenta propia originando rutas a otroscompañeros.

• Los efectos es dar paso a las redes de los pares del ASN

Page 82: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Topología simpleEstrutura Capa  2Relaciones  N ^ N BGP

Page 83: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

• Permite escalar la malla BGP

• Todos los prefijos enviados a un servidor de la ruta se suelen distribuir a todos los ASNs que asoman con el Servidor de Ruta

• Configuración de BGP para mirar con un servidor de ruta es el mismo que para cualquier otro par ordinaria

• No se olvide de los filtros de entrada y salida

Ruta ‐ servidor

Page 84: Taller BGP Sergio.pdf

© Sergio Gálvez Morales 2013

Topología Ruta ‐ servidor

Page 85: Taller BGP Sergio.pdf

© SERGIO GÁLVEZ MORALES 

Page 86: Taller BGP Sergio.pdf

© SERGIO GÁLVEZ MORALES 

Sergio Gálvez Morales

[email protected]