Autonomous Systems and BGPv4 • Sistemas autónomos • BGPv4 – – – – Protocolo interno y externo Mensajes Atributos Reflectores y confederaciones • Peering – Tipos de peering – Puntos neutros – Multihoming Autonomous Systems and BGPv4 • Sistema Autónomo (AS): conjunto de routers con una misma política de encaminamiento dentro de un único dominio administrativo – Un AS se identifica con un número de 16 bits (65535 AS’s) • AS’s ≥ 64512 se reservan como números privados – Los AS’s se interconectan con protocolos de encaminamiento externos (EGP) como BGPv4 AS2 AS1 IGP EGP IGP AS3 IGP Autonomous Systems and BGPv4 • Objetivo de BGPv4: – El objetivo de BGPv4 es el de anunciar prefijos de red entre AS’s dependiendo de una política de encaminamiento – Política de encaminamiento o “routing policy”: si tenemos una red perteneciente a un AS, una política de encaminamiento es la decisión del AS de anunciar (“export policy”) la red a otro AS y es el privilegio del otro AS el aceptar (“import policy”) la información de encaminamiento de forma que puedan luego fluir paquetes de datos AS=100 Flujo de tráfico AS=200 Net1 Net1 Export policy Import policy Autonomous Systems and BGPv4 • Tipos de AS’s: – Stub AS o single-homed: AS que alcanza redes de otros AS’s a través de un solo punto de salida AS=1 es un stub AS AS=2 AS=4 AS=1 AS=3 Autonomous Systems and BGPv4 • Tipos de AS’s: – Multi-homed non-transit AS: AS que alcanza redes de otros AS’s a través de más de un punto de salida y no admiten transito de tráfico AS=1 es un multi-homed non-transit AS AS=2 Un usuario del AS=2 no puede transitar AS=1 para llegar a AS=3 AS=1 AS=4 AS=3 Autonomous Systems and BGPv4 • Tipos de AS’s: – Multi-homed transit AS: AS que alcanza redes de otros AS’s a través de más de un punto de salida y admiten transito de tráfico AS=1 es un multi-homed transit AS Un usuario del AS=2 puede transitar AS=1 para llegar a AS=3 AS=2 AS=1 AS=4 AS=3 Autonomous Systems and BGPv4 • BGPv4: – Es protocolo de encaminamiento basado en políticas – No usa métricas (saltos, bandwidth, delay, ...) – Usa TCP como protocolo de transporte de mensajes BGP, es decir, entre dos routers BGP pertenecientes a distintos AS’s tiene que existir una conexión TCP (aceptada por ambos) • ISP (Internet Service Provider) – Un ISP es una entidad administrativa que puede tener uno o más números AS asignados dependiendo de la estructura que tenga – En casi todas las ocasiones un AS se corresponde con un ISP, pero no siempre (e.g.; un AS de transito o un punto neutro) – Aclararemos el concepto de ISP en el capítulo de “peering” Autonomous Systems and BGPv4 • Cuando se usa BGP en un AS: – Cuando un AS permite el transito de paquetes para alcanzar otro AS – Cuando un AS es multi-homed (tiene varias conexiones con otros AS’s) – Cuando el flujo de tráfico que entra y sale del AS tiene que ser manipulado • Cuando no usar BGP (usar rutas estáticas) – Cuando solo se tiene una sola conexión con Internet u otro AS y se tiene una misma política de encaminamiento a la de tu ISP – No hay interés en tener políticas de encaminamiento o selección (filtrado) de rutas – Falta de memoria o potencia de proceso en los routers de salida (más de 120.000 redes y 14000 AS’s) – Bajo ancho de banda entre AS’s Autonomous Systems and BGPv4 • RIPE-263: “Autonomous System Assignment Policies and Procedures” (AS) Number – documento que indica la política de asignación de AS# – “An Autonomous System (AS) is a group of IP networks run by one or more network operators with a single, clearly defined routing policy. When exchanging exterior routing information each AS is identified by a unique number” – Normalmente una empresa solo usa un único AS, sin embargo si requiere de una política de encaminamiento externa distinta, puede requerir un nuevo AS# • RFC 1930, "Guidelines for creation, selection, and registration of an Autonomous System (AS)“ – Se exige que el AS sea multi-homed y que se registre la política de encaminamiento (single-homed deberían emplazar sus prefijos en la política de su ISP) Autonomous Systems and BGPv4 • BGPv4: – Dos AS’s pueden tener: • Conexiones físicas: una subred o enlace que conecta los dos AS’s y que transporta tráfico • Conexiones BGP: hay una sesión BGP (usando TCP con puerto 179) entre dos routers, cada uno de ellos perteneciente a un AS – Dos routers que abren una conexión BGP se les llama vecinos (“neighbours”) o parejas (“peers”) Sesión BGP AS=2 AS=1 Conexión física BGP usa triggered updates (sino TCP no sería adecuado) para informar de cambios en rutas y “keepalives” para comprobar que la conexión sigue “viva” Autonomous Systems and BGPv4 • BGPv4: – Routers BGP intercambian información sobre como alcanzar redes atravesando AS’s • Intercambian vectores con atributos del camino (incluida una lista de los AS’s) para llegar a una red determinada • Este vector de atributos debe estar libre de bucles (no puede aparecer en medio el AS al que pertenece la red) • Los atributos son los que definen las políticas de encaminamiento entre AS’s • Conexiones entre dos routers BGP pertenecientes al mismo AS usan I-BGP (enlaces internos) • Conexiones entre dos routers BGP pertenecientes a distintos AS’s usan E-BGP (enlaces externos) – CUIDADO: NO existen dos protocolos BGP distintos, I-BGP y EBGP son el mismo protocolo BGP pero aplicado a distintos escenarios Autonomous Systems and BGPv4 • Mensajes BGP: – Los routers se envían mensajes BGP encapsulados en segmentos TCP – Los mensajes pueden ser de tipo • • • • OPEN: abre la conexión BGP KEEPALIVE: comprueban que la conexión TCP está abierta UPDATE: llevan los atributos o políticas de encaminamiento NOTIFICATION: notificación de errores Tout Tout BGP peer BGP peer 3WHS 3WHS OPEN UPDATE UPDATE KEEP ALIVE Tout Tout UPDATE UPDATE Tout Autonomous Systems and BGPv4 • Mensajes BGP – Inicialmente al establecer una sesión BGP entre dos routers se intercambian TODAS las rutas posibles conocidas por ambos routers – UPDATE: se envían una lista con el NLRI=<length,prefix> (Network Layer Reachibility Information) conjuntamente con una serie de atributos que indica una lista de destinos que pueden ser alcanzados vía el router BGP que envía el mensaje UPDATE NLRI=<length, prefix>= <24, 12.23.2.0> N3 , N 4 Rutas N1 N1 N2 N4 R2 R1 N2 N3 N3 AS=1 N4 AS=2 N1 , N 2 Rutas N1 N2 N3 N4 Autonomous Systems and BGPv4 • Mensajes BGP – Si hay algún cambio (nueva ruta o una ruta que desaparece) – UPDATE: se envía un mensaje update con el NLRI conjuntamente con una serie de atributos indicando SOLO el cambio que se ha producido – Si los routers no tienen ningún cambio en las rutas, la sesión BGP SOLO intercambia mensajes KEEPALIVE cada 60 segundos para asegurarse de que la sesión TCP sigue abierta Retira N1 Rutas N1 N1 N2 R1 N2 N3 N4 N3 AS=1 R2 N4 AS=2 Rutas N1 N2 N3 N4 Autonomous Systems and BGPv4 • Mensaje UPDATE – “Unfeasible routes length”: número de rutas (expresado en bytes que ocupa el campo “withdraw routes”) que hay que retirar (si 0 entonces no hay rutas a retirar). La NLRI de las rutas a eliminar viene en el campo “withdraw routes” – Total path atributes: longitud del vector de rutas especificado en el campo “path attributes” – Path attributes: descripción de los distintos atributos – NLRI (Network Layer Reachibility Information) 0 15 Unfeasible routes length Withdraw routes (variable) Total path attribute length Rutas no alcanzables Path Path attributes (variable) Length Prefix (variable) .................. NLRI’s Autonomous Systems and BGPv4 • I-BGP y E-BGP – Los enlaces internos (I-BGP) no tienen porque estar conectados físicamente (R3 y R5 están conectados lógicamente a través de R4) La conexión TCP I-BGP entre routers R3 y R5 es entre direcciones IP 125.5.5.1 y 125.5.5.6 Sesión I-BGP Sesión E-BGP AS=1 Sesión E-BGP AS=2 R5 AS=3 R3 .6/30 R1 R2 R6 .1/30 R7 R4 122.5.5.0/30 122.5.5.4/30 Autonomous Systems and BGPv4 • E-BGP – Los enlaces externos (E-BGP) están conectados directamente: • La conexión TCP coincide con el enlace físico • Si el enlace físico cae, cae la conexión TCP y por tanto la sesión BGP La conexión TCP E-BGP entre routers R3 y R4 es entre direcciones IP 125.5.5.1 y 125.5.5.2 R1 122.5.5.0/30 AS=2 .1/30 AS=1 R3 R2 I-BGP E-BGP .2/30 R4 Autonomous Systems and BGPv4 • I-BGP – I-BGP se utiliza para coordinar la política de encaminamiento dentro de un AS • Prefijos aprendidos por un vecino E-BGP se pueden advertir a un vecino I-BGP • Prefijos aprendidos por un vecino I-BGP se pueden advertir a un vecino E-BGP • I-BGP routers no advierten rutas aprendidas vía un router I-BGP a otro router I-BGP – routers I-BGP deben formar una malla completa à solución: “route reflectors” y “confederaciones” • R3 aprende rutas de R4, R1 y R2 R1 AS=2 AS=1 R3 R2 I-BGP E-BGP R4 • pero R3 no puede advertir rutas aprendidas de R1 a R2 • es necesario que R1 y R2 establezcan una comunicación IBGP à malla completa en AS=1 con I-BGP (independiente de la red física) Autonomous Systems and BGPv4 • I-BGP – I-BGP routers no advierten rutas aprendidas vía un router I-BGP a otro router I-BGP ¿Porqué es necesaria esta regla ? • Los routers BGP anuncian un vector de AS que atraviesan. Este vector es el que permite detectar bucles. E.g.; vector AS=(1 2 5 6 2 8) pasa dos veces por el AS=2, debería ser AS=(1 2 8) • Solo se inserta el AS en el vector si se atraviesa un router E-BGP, no se inserta en I-BGP ya que no salimos del AS. Luego no podemos detectar bucles (entre R1 y R2) para llegar a una ruta R1 AS=2 AS=1 R3 R2 I-BGP E-BGP R4 Autonomous Systems and BGPv4 • I-BGP – Si la conexión I-BGP entre R1 y R3 es entre las direcciones 11.2.2.1 y 11.2.2.2 y cae el enlace físico à se pierde la conexión I-BGP – Pero todavía es posible alcanzar R3 vía R2. Sería mejor desacoplar la conexión I-BGP de las interfaces físicas à usar interfaces virtuales (e.g.; loopback) con direcciones IP distintas de las físicas (no necesariamente la 127.0.0.0/8) 11.2.2.0/30 R1 122.5.5.0/30 AS=2 .1/30 AS=1 R3 R2 11.2.2.4/30 .2/30 R4 La conexión TCP I-BGP entre routers R1 y R3 mejor entre direcciones en interfaces virtuales (loopback) I-BGP E-BGP Conexión física Autonomous Systems and BGPv4 • I-BGP – usar interfaces virtuales con direcciones IP distintas de las físicas – Es necesario que todos los routers sepan llegar a las interfaces loopback de los demás à usar un protocolo IGP Conexión I-BGP entre R1 y R3 en direcciones 11.2.128.1 y 11.2.128.9, .... lo: 11.2.128.1/30 11.2.2.0/30 R1 122.5.5.0/30 AS=2 .1/30 11.2.2.4/30 R3 AS=1 R2 lo:11.2.128.5/30 .2/30 R4 11.2.2.4/30 I-BGP lo:11.2.128.9/30 E-BGP Conexión física Autonomous Systems and BGPv4 • Atributos BGP: – Un mensaje BGP de tipo UPDATE lleva atributos que indican las políticas de encaminamiento • Un atributo puede ser – Conocido (“well-known”, deben ser soportados por todas las implementaciones BGP) u opcional (no tienen por que ser soportados por todos las implementaciones BGP) – Mandatorio o discrecional (ambos solo si conocido) – Transitivo o no-transitivo (ambos solo si opcional) – Completo o Parcial (ambos solo si opcional transitivo) • No todas las combinaciones son posibles, solo las siguientes – – – – Conocido y mandatorio: AS-PATH, NEXT-HOP, ORIGIN Conocido y discrecional: LOCAL-PREFERENCE, ATOMIC AGGREGATE Opcional y transitivo: AGGREGATOR, COMMUNITY Opcional y no-transitivo: MED (también llamada “metric”) • Los atributos opcionales y transitivos pueden ser marcados como parciales si uno de los routers BGP intermedios en el camino no implementa ese atributo y como completo si todos los routers BGP implementan el atributo Autonomous Systems and BGPv4 • Mensaje UPDATE 0 15 Unfeasible routes length Withdraw routes (variable) Total path attribute length Path attributes (variable) Length Attribute type (2 B) Attribute length (1-2 B) Prefix (variable) .................. Attribute value (variable) Attribute Flags (1B) Optional Bit 0=well-known 1=optional Transitive Bit 0=non-transitive 1=transitive Attribute Type Code (1B) Partial Bit 0=complete 1=partial Whether the optional information is transitive or non-transitive Extended Length bit 0=1Byte 1=2 Bytes Whether the information in the optional transitive is complete or partial Autonomous Systems and BGPv4 • Tabla BGP en un router – Datos de G. Houston en artículos del IPJ “Internet Protocol Journal” – Actualmente hay unos 15.000 AS’s en Internet (va creciendo) Autonomous Systems and BGPv4 • Tabla BGP en un router – Proyección en el número de AS’s Autonomous Systems and BGPv4 • Tabla BGP en un router – Actualmente hay unas 140.000 redes en Internet (va creciendo) (no crece tan exponencial últimamente à años 2000/2001 crecimiento ISP à boom en Internet) Autonomous Systems and BGPv4 • Tabla BGP en un router – Predicción en el número de direcciones IP Autonomous Systems and BGPv4 • Tabla BGP en un router – Incluye entre otras cosas la red destino (prefijo y máscara), el siguiente salto, algunos atributos (siempre aparece el AS-PATH) – Un AS puede recibir entradas de “N” AS’s, luego tendrá “N” entradas a una ruta determinada à proceso de decisión de la mejor entrada a esa ruta en función de los atributos • Depende de las implementaciones, pero los routers suelen tener una tabla de encaminamiento y una tabla de encaminamiento BGP • Mantienen una DB por cada sesión BGP que tienen activa y a partir de la unión de estas DB forman la tabla de encaminamiento BGP donde marcan con el símbolo “>” cual es la mejor ruta a una red • Un router sólo anuncia su “mejor ruta” a los otros routers BGP – Visión parcial de Internet ya que un AS sólo ve lo que le cuentan otros AS’s Autonomous Systems and BGPv4 • Tabla BGP en un router Network Next Hop * 4.0.0.0 206.157.77.11 *> Atributo CISCO Atributos R2# show ip bgp Metric LocPrf Weight AS-Path 75 100 0 1673 1 i 12.127.0.249 0 200 0 7018 1 i * 204.70.4.89 0 100 0 3561 1 i * 204.42.253.253 0 300 0 267 1225 1239 1 i * 205.158.2.126 0 300 0 2828 4908 3561 1 i 105 200 0 1673 1239 568 721 1455 i ……………………….. * 6.0.0.0 206.157.77.11 * 12.127.0.249 0 100 0 7018 7170 1455 i *> 198.32.8.252 0 100 0 11537 7170 1455 i * 204.70.4.89 0 100 0 3561 568 721 1455 i Autonomous Systems and BGPv4 • NEXT-HOP (conocido y mandatorio): – Para una sesión E-BGP es la @IP del BGP vecino que anuncio la ruta – Para una sesión I-BGP es la @IP del BGP vecino que anuncio la ruta • Es necesario que R5 sepa llegar a la dirección @IPR3I – Una sesión I-BGP mantiene inalterado el next-hop anunciado por un E-BGP • Es necesario que R5 sepa llegar a @IPR2E 19.5.5.0/24: NEXT-HOP= @IPR2E AS=1 R1 19.5.5.0/24 AS=2 R2 @IPR3E @IPR2E @IPR5I @IPR3I R5 @IPR5E R6 AS=3 @IPR6E R3 11.1.1.0/24 R7 R4 19.5.5.0/24: NEXT-HOP= @IPR5E 19.5.5.0/24: NEXT-HOP= @IPR2E 11.1.1.0/24: NEXT-HOP= @IPR3I Autonomous Systems and BGPv4 • NEXT-HOP: – Ejercicio: dar la tabla de routing del router R5 AS=1 R1 5.5.5.0/30 4.4.4.0/30 AS=2 R2 19.5.5.0/24 7.7.7.0/30 R5 R7 R4 12.12.2.0/24 3.3.3.0/30 2.2.2.0/30 AS=3 6.6.6.0/30 R3 11.1.1.0/24 R6 Autonomous Systems and BGPv4 • NEXT-HOP en una red BMA: – R1 y R2 mantienen una conexión BGP. R2 debe anunciar como next-hop R3 para que no haya un salto innecesario ya que R1 puede alcanzar R3 sin pasar por R2 12.12.2.0/24: NEXTHOP= @IPR3E AS=1 R2 @IPR2E R1 @IPR1E AS=2 R3 @IPR3E 12.12.2.0/24 Autonomous Systems and BGPv4 • ORIGIN (conocido y mandatorio): – Indica quien origino una ruta • IGP: la ruta fue originada por un protocolo interno (en CISCO es advertido con el comando “network”) al AS y se indica con el carácter “i” en la tabla de encaminamiento • EGP: la ruta fue originada por un protocolo externo (e.g.; vía E-BGP procedente de otro AS) y se indica con el carácter “e” en la tabla de encaminamiento • Incomplete: origen desconocido (e.g.; redistribuido en BGP) y se indica con el carácter “?” en la tabla de encaminamiento ya que puede provenir de cualquier sitio Autonomous Systems and BGPv4 • AS-PATH (conocido y mandatorio): – Representa el camino de AS’s que se deben atravesar para llegar a una red – Siempre que se genera un mensaje UPDATE, el AS añade un vector inicializado con su AS# – Cada AS atravesado añade su AS# al vector 19.5.5.0/24: AS-PATH=(1) AS=1 R1 19.5.5.0/24 19.5.5.0/24: AS-PATH=(2,1) AS=2 R2 @IPR2E R5 @IPR5E R6 AS=3 @IPR6E R3 R7 R4 Path to network 19.5.5.0/24 is AS’s (2,1), next-hop is @IPR 5 Autonomous Systems and BGPv4 • Manipulación del atributo AS-PATH: – BGP siempre prefiere el camino más corto a un AS (en terminos de AS’S) – Aumentar (“prepending”) el tamaño del camino a una red AS=1 R1 19.5.5.0/24: ASPATH=(1) AS=2 R2 19.5.5.0/24 19.5.5.0/24: ASPATH=(2,2,2,2,1) R5 Path to network 19.5.5.0/24 is AS’s (5,4,1), next-hop is @IPR C R6 AS=3 R3 R7 R4 19.5.5.0/24: AS-PATH=(5,4,1) 19.5.5.0/24: AS-PATH=(1) 19.5.5.0/24: ASPATH=(3,2,2,2,2,1) 19.5.5.0/24: AS-PATH=(4,1) RC RB RA AS=4 AS=5 Autonomous Systems and BGPv4 • LOCAL-PREFERENCE (conocido y discrecional): – Atributo que proporciona una indicación a los routers dentro del AS acerca de que router es preferido para salir del AS – Mientras más alto sea el valor del Loc-Prf mayor la preferencia (valor por defecto=100) Net Next-hop Loc-Prf AS-path Origin >2.5.5.0/24 @IPR3E 300 1 5 i 2.5.5.0/24 @IPR5E 200 3 5 i AS=2 R5 2.5.5.0/24: ASPATH=(3,5) R3 Loc-Prf=300 Link de muy alta velocidad R6 AS=3 Loc-Prf=200 R7 R4 2.5.5.0/24: ASPATH=(1,5) 2.5.5.0/24: ASPATH=(5) RB RA AS=1 RC 2.5.5.0/24: ASPATH=(5) 2.5.5.0/24 AS=5 Autonomous Systems and BGPv4 • ATOMIC AGGREGATE (conocido y discrecional) – Informa a un AS vecino que el router originario de la ruta a efectuado “agregación de rutas” • AGGREGATOR (Opcional y transitivo) – Informa del identificador BGP y del AS# del router que efectúo “agregación de rutas” • Community (opcional y transitivo) – Grupo de destinos que comparten ciertas propiedades (e.g.; routers de las universidades Españolas) – Una comunidad no tiene límites físicos (redes o AS’s) Autonomous Systems and BGPv4 • MED, Multi-Exit-Discriminator (opcional y no-transitivo) – También llamado “metric”, es una indicación a vecinos externos acerca del camino preferido para entrar en el AS – El valor menor es el preferido 2.5.5.0/24 R3 R5 MED=200 AS=2 MED=300 Net Tráfico a 2.5.5.0/24 Next-hop Loc-Prf metric AS-path Origin 2.5.5.0/24 @IPR3E 100 300 2 i >2.5.5.0/24 @IPR5E 100 200 2 i RC AS=1 Autonomous Systems and BGPv4 • Proceso de decisión – Es dependiente de la implementación en el router. E.g.; en un router CISCO 1. 2. 3. 4. 5. 6. 7. 8. 9. Si el camino es interno, sincronización ON y el router no está sincronizado à rechazar la ruta Si el “next-hop” es no alcanzable à rechazar la ruta Prefiere una ruta con el máximo “weight” (propietario CISCO) Múltiples rutas con igual “weight”, escoge la de mayor Loc-Prf Múltiples rutas con igual Loc-Pref, escoge la de mínimo AS-path Múltiples rutas con igual AS-path, escoge la de menor “origin” (IGP<EGP<Incomplete) Múltiples rutas con igual “origin”, escoge la de menor MED (a igualdad de ruta del mismo AS) .... Escoge la ruta del router BGP con menor router ID y si hay más de una ruta del mismo router la de interfaz con menor @IP Autonomous Systems and BGPv4 • Agregación de direcciones – Un mensaje UPDATE de BGPv4 envía el prefijo y la longitud del prefijo – Un router BGP puede agregar direcciones al advertirlas a otro router BGP – Aunque la ruta esté agregada, el atributo AS-path puede indicar un vector de todos los AS’s que ha atravesado la ruta agregada (puede usar el atributo AGGREGATOR para indicar el ID del AS que agrego) AS=2 AS=3 RB RC 159.5.2.0/24 RD AS=4 159.5.1.0/24 159.5.0.0/16 AS-path=(1), {3,4} RA AS=1 Autonomous Systems and BGPv4 • Escalabilidad en BGP – Split-horizon: • una ruta aprendida por un router I-BGP no es propagada a otro router I-BGP vecino • Hay que tener una topología mallada (“mesh”) à si N routers à N (N-1)/2 conexiones I-BGP – Si desactivamos split-horizon no podemos garantizar que haya bucles RB RA RC AS=1 RB RD RA I-BGP Conexión física RC AS=1 RD Autonomous Systems and BGPv4 • Escalabilidad en BGP – Reflectores de rutas (“Route Reflectors”): modifica la regla de split-horizon para que el reflector de rutas pueda propagar rutas aprendidas de un I-BGP a un I-BGP vecino reduciendo el número de sesiones BGP TCP en el AS – Para diseñar una red con reflectores se usan “clusters” • El reflector de rutas es la cabeza de un cluster • El reflector de rutas mantiene sesiones I-BGP con sus clientes (routers que pertenecen al cluster) • Los reflectores de rutas (cabezas del cluster) deben formar una topología totalmente mallada con no-clientes (el resto de routers ) • No evitamos usar un protocolo IGP para transportar rutas internas y “next-hops” Autonomous Systems and BGPv4 • Escalabilidad en BGP – Reflectores de rutas (“Route Reflectors”) à una ruta no la devuelve por la interfaz que le ha llegado (regla clásica de split-horizon) I-BGP E-BGP Ruta viene de otro reflector (no-cliente): el reflector de rutas lo propaga solo a todos sus clientes RA RB RC AS=1 Autonomous Systems and BGPv4 • Escalabilidad en BGP – Reflectores de rutas (“Route Reflectors”) à una ruta no la devuelve por la interfaz que le ha llegado (regla clásica de split-horizon) I-BGP E-BGP Ruta viene de fuera: el reflector de rutas lo propaga a todos sus clientes y no-clientes RA RB RC Hay 9 routers: • sin reflectores de rutas à 9*8/2 = 36 sesiones I-BGP • con reflectores de rutas y la topología fijada à 9 sesiones I-BGP AS=1 Autonomous Systems and BGPv4 • Escalabilidad en BGP – Reflectores de rutas (“Route Reflectors”) à una ruta no la devuelve por la interfaz que le ha llegado (regla clásica de split-horizon) I-BGP E-BGP Ruta viene de un cliente: el reflector de rutas lo propaga a todos sus clientes (excepto el que lo origino) y a todos los noclientes RA RB RC AS=1 Autonomous Systems and BGPv4 • Escalabilidad en BGP – Confederaciones es otra solución al problema de tener todos los routers I-BGP totalmente mallados. • Consiste en crear un mini-AS dentro de un AS • Cada mini-AS tiene que estar totalmente mallado • Cada mini-AS tiene una sesión E-BGP con otros mini-AS aunque intercambian UPDATES como si fuesen I-BGPs – manteniendo atributos como son next-hop, MED, Loc-Prf • Para el exterior se comportan como si fuesen un solo AS Autonomous Systems and BGPv4 • Escalabilidad en BGP – Confederaciones I-BGP E-BGP AS=65530 RA RB AS=65520 RC AS=65510 AS=1 Autonomous Systems and BGPv4 • Sincronización en BGP – BGP espera antes de propagar una ruta aprendida de I-BGP a que el IGP la haya propagado por todo el AS – Antes de que un router BGP quiera advertir a otro AS una ruta aprendida de otro router BGP (externo) todos los routers del AS deben saber llegar a esa ruta I-BGP R6 E-BGP Conexión física R2 AS=2 R5 R3 19.5.5.0/24: AS-PATH=(1) R1 R4 AS=1 RA RB 19.5.5.0/24 AS=3 19.5.5.0/24: AS-PATH=(1) 19.5.5.0/24: ASPATH=(1,2) RC RD Autonomous Systems and BGPv4 • Sincronización en BGP – Soluciones: • Redistribuir rutas aprendidas por BGP en el IGP del AS, de forma que todos los routers del AS aprenden como llegar a la ruta – necesita que todos los routers del AS soporten tablas de encaminamiento muy grandes • Que los routers desactiven la opción de sincronización (es dependiente de la implementación BGP en un router, e.g.; CISCO lo permite) à el router BGP advertirá la ruta al par BGP externo, aunque haya routers de su AS que no sepan llegar a esa ruta (usan rutas por defecto) – Se usa esta opción si el AS no es de transito – Todos los routers del camino (R1, R2, R3 y R4) usan I-BGP (con una topología en malla !!!) que se encarga de sincronizar los routers por los que se llega a esa ruta. Routers que no estén en el camino (R5 y R6) usan rutas por defecto