9. Multihoming
El Multihoming se define como la conexión de un AS a más de un ISP a la vez. La forma más común de implementar multihoming es obtener un bloque de direcciones independientes del proveedor junto con un número de sistema autónomo (ASN) y anunciar el bloque de direcciones vía BGP a cada uno de los ISPs a los que se está conectado. Si a un sitio no le es posible hacer multihoming con direcciones independientes del proveedor aún le es posible obtener un bloque de direcciones de uno de los ISPs que le prestan servicio. El AS cliente anuncia su bloque de direcciones por BGP a todos los ISPs, los cuales a su vez lo anuncian hacia Internet. Pero el ISP que delegó el bloque, además de anunciar el bloque del AS cliente, anuncia su bloque mayor que lo engloba. De esta forma, aunque el bloque pequeño fuese filtrado en algún lugar de la red, al menos quedaría una ruta hacia el bloque que le dio origen. Este modelo de multihoming con direcciones asignadas por el proveedor permite gozar de buena parte de las ventajas del multihoming a sitios que no son lo suficientemente grandes como para obtener un bloque independiente del proveedor. Otro caso que no se define como multihoming, pero que proporciona algunas de las ventajas del multihoming es el hecho de disponer de múltiples conexiones a un mismo ISP. En este caso no se necesita contar con ningún prefijo en especial ni obtener un número de sistema autónomo, pero se tiene el inconveniente que ante una falla general del ISP se pierde conectividad. Finalmente, cabe comentar otra forma de multihoming muy utilizada como la traducción de direcciones de red (NAT). En este caso un sitio de Internet realiza una numeración interna con direcciones privadas y traduce las mismas en los routers de salida. De esta forma no hay impacto en la tabla global de encaminamiento. Éste es el único método de multihoming accesible a sitios pequeños, aunque también lo utilizan muchos sitios medianos y grandes. 9.1.
Formas Formas de Multiho Multihomin ming g
Según el número de conexiones con otros sistemas autónomos y las políticas definidas, un sistema autónomo puede ser de diferentes tipos: •
(AS cliente): Tiene una única conexión con otro AS, que será normalmente su ISP ( Internet Service Provider ). ). Por este sistema autónomo únicamente circula tráfico local. En realidad, como sólo se tiene un punto de salida hacia otro AS, el protocolo BGP no es necesario y se puede configurar una ruta por defecto hacia la pasarela o router de borde ( border gateway) para los paquetes que tengan como destino el exterior, de forma que las tablas de encaminamiento quedan bastante sencillas. Para que las rutas internas del Stub AS puedan ser accedidas, es necesario que el ISP las anuncie a otros AS. Por Stub AS
esto, la política de encaminamiento del Stub AS será la misma que la del ISP correspondiente. AS 101
ISP
AS100
cliente
•
(AS cliente): Tiene más de una conexión a otros sistemas por motivos de redundancia. Los routers de borde utilizan el protocolo I-BGP para comunicarse entre sí las informaciones de encaminamiento y el protocolo EBGP para recibir y anunciar rutas con el exterior. Las rutas externas seleccionadas serán distribuidas entre los routers internos mediante el protocolo IGP para que los routers internos del AS sepan cómo enviar los paquetes con destinos a otras AS. Otra opción sería no distribuir las rutas externas y utilizar un router pasarela por defecto para el acceso al exterior del AS. Aunque se utiliza BGP, el tráfico que circula el Multihomed AS sigue siendo local.
Multihomed AS
AS 100 100 AS 300 300
ISP
ISP
AS 200
cliente
•
(ISP): Tiene varias conexiones, pero sólo se encarga de reenviar el tráfico de una conexión a otra aplicándole una serie de restricciones mediante la política de encaminamiento. El protocolo I-BGP será el encargado de transportar las rutas exteriores del AS y el protocolo IGP gestionará la topología de la red, consiguiendo una malla completa requerida para las sesiones I-BGP entre pasarelas. Un conjunto de AS de tránsito forman lo que se conoce como red backbone por la que circula todo el tráfico que va de una punta a otra de Internet.
AS de tránsito
AS 200
AS 100 AS 300
ISP
AS 400
9.2.
Reparto de carga y redundancia d e conexiones
La importancia creciente de las aplicaciones en Internet hace necesario que la conectividad de una intranet (AS cliente) a Intern et disponga de una alta disponibilidad. Esto no puede garantizarse con un único operador (ISP), sino que es necesario una configuración multihomed (la conexión mediante múltiples operadores), lo cual ofrece la tolerancia a fallos que en la actualidad requieren corporaciones que publican en Internet aplicaciones críticas para el ejerc icio de su actividad empresarial. El protocolo BGP implementa el encaminamiento dinámico entre el AS cliente y los ISP de manera que permite actualizar las tablas de encaminamiento de los routers de borde del AS cliente para adaptar el sistema de forma automática a los cambios y conseguir un encaminamiento alternativo por un enlace redundante en el caso de fallo de uno de los enlaces que sirven de conexión a Internet. Por otro lado, el protocolo BGP permite también definir una serie de políticas de encaminamiento que sirvan para el reparto del tráfico de entrada y de salida del AS cliente. De esta manera, mediante la modificación de los atributos de las rutas anunciadas y recibidas por los routers de borde del AS cliente, BGP puede seleccionar diferentes caminos para el tráfico intercambiado con Internet en función de parámetros como la dirección IP destino. Así, se puede preferir un enlace que conecta con un ISP que ofrece un mejor camino que otro para acceder a un recurso determinado, o seleccionar un enlace respecto a otro para el tráfico de entrada destinado a una red en concreto del AS cliente. Un aspecto importante a tener en cuenta es que al configurar un AS multihoming se corre el riesgo de que el AS cliente se convierta en AS de tránsito para tráfico de Internet, lo que supondrí a un consumo indeseado de ancho de banda y de recursos de CPU para los routers del AS cliente. Esto debe evitarse aplicando políticas de encaminamiento para que todo el tráfico que atraviese el AS cliente sea local. Cabe destacar la diferencia entre reparto de carga (load-sharing) y balance de carga (load-balancing). El balance de carga es una funcionalidad estándar de que
disponen los routers que puede activarse automáticamente cuando un router realiza el reenvío ( forwarding) hacia un destino para el que se tienen múltiples rutas con la misma distancia administrativa en la tabla de encaminamiento. Las diferentes rutas hacia un mismo destino se obtienen a partir de un protocolo IGP (RIP, RIPv2, IGRP, EIGRP y OSPF) o mediante adicción de rutas estáticas. El número de rutas hacia un destino con la misma distancia administrativa y el mismo coste está limitado en la tabla de encaminamiento. Por defecto, para los routers Cisco sólo se permite una ruta hacia un destino en el caso de BGP, aunque se puede configurar el router para permitir hasta un máximo de 6 rutas. El balance de carga se puede aplicar de dos maneras distintas: por destino ( perdestination) o por paquete ( per-packet ). El balance de carga por destino se basa en la dirección IP del host destino para encaminar los paquetes. Dadas dos rutas hacia la misma red, los paquetes que vayan hacia un host destino de dicha red se reenvían por un camino, mientras que los que van destinados a otro host se reenvían por el otro camino. Este balance de carga permite enviar los paquetes ordenados, pero puede ocurrir que la ocupación de los enlaces sea desigual. El balance de carga por paquete consiste en cambiar el camino por el que se reenvían los paquetes cada vez que se envía un paquete, de forma que se consigue una ocupación igual de los recursos de los diferentes enlaces. Sin embargo, los paquetes de un mismo flujo llegarán desordenados al destino debido a los diferentes retardos que sufrirán al seguir rutas diferentes. El balance de carga se aplica a nivel de un router repartiendo los paquetes entre sus interfaces de salida, mientras que el reparto de carga se lleva a cabo mediante diversos caminos por varios routers. De este reparto del tráfico que se intercambian dos AS por diferentes caminos se encarga BGP. Para ello, BGP utiliza una serie de políticas de encaminamiento capaces de especificar los diferentes caminos a tomar en función del destino del tráfico de entrada y salida del AS. A continuación se describen diferentes escenarios posibles que sirven de ejemplo para los casos de balance y reparto de c arga explicados anteriormente: •
AS cliente conectado a un solo proveedor de acceso a Internet (ISP) a través de un solo router en cada AS. En este caso sólo se tendrá una sesión E-BGP y se podrá conseguir balance de carga utilizando múltiples enlaces de igual coste entre el router de borde del AS cliente y el router de borde del ISP. Estos enlaces estarían terminados, por un lado, en el mismo router del AS cliente y, por otro lado, en el mismo router del ISP, formando una arquitectura single-homed . La siguiente figura muestra este esquema de conexión:
La configuración de los dos routers para conseguir el balance de carga sería la siguiente (ver apartado 11.5): Rout er A# i nt er f ace l oopback 0 i p addr ess 1. 1. 1. 1 255. 255. 255. 0 i nt er f ac e s er i al 0 i p addr ess 160. 20. 20. 1 255. 255. 255. 0 i nt er f ac e s er i al 1 i p addr ess 150. 10. 10. 1 255. 255. 255. 0 r out er bgp 11 nei ghbor 2. 2. 2. 2 r emot e- as 10 nei ghbor 2. 2. 2. 2 updat e- sour ce l oopback 0 nei ghbor 2. 2. 2. 2 ebgp- mul t i hop r out er ei gr p 12 net wor k 1. 0. 0. 0 net wor k 150. 10. 0. 0 net wor k 160. 20. 0. 0 no aut o- summar y Rout er B# i nt er f ace l oopback 0 i p addr ess 2. 2. 2. 2 255. 255. 255. 0 i nt er f ac e s er i al 0 i p addr ess 160. 20. 20. 2 255. 255. 255. 0 i nt er f ac e s er i al 1 i p addr ess 150. 10. 10. 2 255. 255. 255. 0 r out er bgp 10 nei ghbor 1. 1. 1. 1 r emot e- as 11 nei ghbor 1. 1. 1. 1 updat e- sour ce l oopback 0 nei ghbor 1. 1. 1. 1 ebgp- mul t i hop r out er ei gr p 12 net wor k 2. 0. 0. 0 net wor k 150. 10. 0. 0 net wor k 160. 20. 0. 0 no aut o- summar y
En esta configuración cada router dispone de dos interfaces físicas ( serial 1 y serial 0) a través de las cuales se va a repartir el tráfico. Sin embargo, aunque se dispone de dos enlaces físicos sólo se va a establecer una sesión E-BGP entre ambos routers. Para ello, se define una interfaz loopback en cada router, de tal manera que se tiene una sola dirección virtual independiente de las interfaces físicas, la cual se va a utilizar para el establecimiento de la conexión TCP entre ambos routers. En los mensajes enviados por dicha conexión cada router indicará su dirección IP virtual como IP origen en lugar de la dirección IP de la interfaz física por la que realmente se envía el mensaje. Otro aspecto importante es el uso del mecanismo de multihop (ver apartado 11.5). Este mecanismo permite establecer sesiones E-BGP con routers que no estén conectados directamente (que no pertenezcan, por tanto, a la misma subred), para lo cual se consulta la tabla de encaminamiento. De este modo, para poder establecer la conexión TCP, ambos routers deben tener la información necesaria en sus tablas de encaminamiento para alcanzar la dirección IP de la interfaz loopback del otro router. Para esto, es necesario utilizar un protocolo IGP (EIGRP en este caso) que anuncie las rutas para llegar al destino o indicar las rutas de forma estática. En este caso se indicarán dos rutas posibles con el mismo coste de forma que se reparta la carga entre los dos enlaces existentes. En un escenario práctico basado en el esquema y en la configuración vista anteriores, se podría comprobar que realmente el router realiza el reparto de carga entre los dos enlaces ejecutando, por ejemplo, el comando t r acer out e en el router A hacia la dirección de destino (dirección IP de la interfaz loopback del router B): Rout er A# t r acerout e 2. 2. 2. 2 Type esc ape sequence t o abor t . Tr aci ng t he r out e t o 2. 2. 2. 2 1 160. 20. 20. 2 16 msec 150. 10. 10. 2 8 msec *
Para el router A se podría comprobar también que se tienen dos rutas posibles en su tabla de encaminamiento para llegar al destino, las cuales han sido aprendidas mediante EIGRP (letra D): Rout er A# show i p r out e C D
C C
1. 0. 0. 0/ 24 i s subnet t ed, 1 subnet s 1. 1. 1. 0 i s di r ect l y connect ed, Loopback0 2. 0. 0. 0/ 24 i s subnet t ed, 1 subnet s 2.2.2.0 [90/2297856] via 150.10.10.2, 00:00:45, Serial1 [90/2297856] via 160.20.20.2, 00:00:45, Serial0
160. 20. 0. 0/ 24 i 160. 20. 20. 0 150. 10. 0. 0/ 24 i 150. 10. 10. 0
s subnet t ed, 1 subnet s i s di r ect l y connect ed, Ser i al 0 s subnet t ed, 1 subnet s i s di r ect l y connect ed, Ser i al 1
•
AS cliente conectado a un ISP mediante múltiples enlaces con un router del lado del cliente y múltiples routers del lado del servidor. En este caso se tienen varias sesiones E-BGP y múltiples enlaces (hasta un máximo de seis) entre el AS cliente y el ISP. Todos los enlaces estarán terminados por el mismo router del lado del AS cliente y por un router diferente en el lado del ISP, formando una arquitectura single-homed . La siguiente figura muestra este escenario:
Por defecto, BGP sólo elige la mejor ruta para llegar a un destino entre todas las rutas posibles aprendidas de un AS. Para llevar a cabo la configuración de este escenario será necesario utilizar el comando maxi mum- pat hs , el cual sirve para cambiar el número máximo de rutas de igual coste permitidas en la tabla de encaminamiento, pudiendo variar entre 0 y 6. Para el esquema anterior la configuración sería la siguiente: Rout er A# i nt erf ace Loopback0 i p addr ess 1. 1. 1. 1 255. 255. 255. 0 ! i nt er f ac e Ser i al 0 i p addr ess 160. 20. 20. 1 255. 255. 255. 0 ! ! i nt er f ac e Ser i al 1 i p addr ess 150. 10. 10. 1 255. 255. 255. 0 ! ! r out er bgp 11 nei ghbor 160. 20. 20. 2 r emot e- as 10 nei ghbor 150. 10. 10. 2 r emot e- as 10 net wor k 1. 0. 0. 0 maxi mum- pat hs 2 Rout er B# i nt er f ace Et her net 0 i p addr ess 2. 2. 2. 1 255. 255. 255. 0 ! i nt er f ac e Ser i al 0 i p addr ess 160. 20. 20. 2 255. 255. 255. 0 ! ! r out er bgp 10 nei ghbor 160. 20. 20. 1 r emot e- as 11 net wor k 2. 0. 0. 0
aut o- summar y Rout er C# i nt er f ace Et her net 0 i p addr ess 2. 2. 2. 2 255. 255. 255. 0 ! i nt er f ac e Ser i al 1 i p addr ess 150. 10. 10. 2 255. 255. 255. 0 ! ! r out er bgp 10 nei ghbor 150. 10. 10. 1 r emot e- as 11 net wor k 2. 0. 0. 0 aut o- summar y
La salida mostrada por el comando show i p r out e para esta configuración muestra que se tienen dos caminos posibles para llegar a la red 2. 2. 2. 0, entre los que el router aplicará balance de carga, y que ambos han sido aprendidos por BGP (letra B): Rout er A# show i p r out e C B
1. 0. 0. 0/ 24 i s subnet t ed, 1 subnet s 1. 1. 1. 0 i s di r ect l y connect ed, Loopback0 2.0.0.0/8 [20/0] via 150.10.10.2, 00:04:23 [20/0] via 160.20.20.2, 00:04:01
C
160. 20. 0. 0/ 24 i s subnet t ed, 1 subnet s 160. 20. 20. 0 i s di r ect l y connect ed, Ser i al 0 150. 10. 0. 0/ 24 i s subnet t ed, 1 subnet s
C
150. 10. 10. 0 i s di r ect l y connect ed, Ser i al 1
Por otro lado, el uso del comando traceroute sirve para demostrar que efectivamente se realiza un reparto de carga al tener dos caminos posibles en la tabla de encaminamiento para llegar al destino: Rout erA# t r acer out e 2. 2. 2. 2 1 160. 20. 20. 2 16 msec 150. 10. 10. 2 8 msec *
•
AS cliente conectado a un solo ISP con múltiples conexiones a través de múltiples routers. Cada enlace termina en un router diferente en cada AS, de modo que un router no puede realizar balance de carga al tener sólo un enlace de salida. Por tanto, el reparto de la carga no se llevará a cabo entre los enlaces de un mismo router, sino que la carga se comparte entre los diferentes routers externos del AS en función del destino ( load-sharing). BGP se encarga entonces de repartir el tráfico intercambiado con el ISP entre los diferentes caminos que hay para llegar a éste aplicando una política de encaminamiento prefijada. Además, se tiene redundancia de routers ( backup), de
modo que se puede utilizar otro camino alternativo en caso de fallo de uno de los routers externos. La siguiente figura muestra un escenario de ejemplo de esta topología:
En este ejemplo, el AS 11 acepta las rutas anunciadas del AS 10. La política para el tráfico de salida del AS 11 sería: o Todo el tráfico destinado a Internet desde el router R101 se enviará a
través del enlace R101-R103. o Si el enlace R101-R103 falla, entonces todo el tráfico dirigido a Internet desde el router R101 se enviará a través del enlace R102-R104. o De un modo similar, todo el tráfico destinado a Internet desde el router R102 se envía a través del enlace R102-R104. o Si el enlace R102-R104 falla, entonces todo el tráfico hacia Internet desde R102 se envía a través del router R101 hacia el AS 10. La política para el tráfico de entrada al AS 11 sería la siguiente: o Todo el tráfico proveniente de Internet y destinado a la red 192. 168. 11. 0/ 24 debe recibirse por el enlace R103-R101. o Todo el tráfico destinado a la red 192. 168. 12. 0/ 24 y que proviene de Internet debe recibirse por el enlace R104-R102.
o Si un enlace hacia entre el AS 10 y el AS 11 falla, entonces el otro enlace
debe soportar todo el tráfico proveniente de Internet y destinado hacia todas las redes que pertenezcan al AS 11. Para conseguir aplicar las políticas anteriores, la red 192. 168. 11. 0 del AS 11 se anuncia desde el router R101 al 103 con un atributo AS_PATH más corto que en el caso del mismo anuncio desde R102 hacia R104. Así, el AS 10 encontrará como mejor camino aquél que pasa por el enlace R103R101. Del mismo modo, la red 192. 168. 12. 0 se anuncia con un AS_PATH más corto desde R102 hacia R104, de modo que el AS 10 preferirá el enlace R104-R102 para el tráfico destinado a la red 192. 168. 12. 0 en el AS 11. Para el tráfico de salida, el mejor camino se determina en base a las rutas que se han aprendido mediante E-BGP, las cuales son preferibles a las aprendidas a través de I-BGP. De esta manera, el router R101 aprenderá la ruta 10. 10. 34. 0 a través del router R103 por E-BGP, mientras que también la aprenderá gracias al router R102 pero en este caso por I-BGP. En la tabla de encaminamiento de R101 se tendrá entonces que para llegar a la red 10. 10. 34. 0 se tomará el enlace R101-R103 con 10. 10. 13. 3 como siguiente salto. De la misma manera, en R102 se tomará el enlace R102-R104 para llegar a la red 10. 10. 34. 0 y la dirección 10. 10. 24. 4 como siguiente salto. De este modo, se consigue reparto de carga entre los dos enlaces para el tráfico dirigido desde el AS 11 a la red 10. 10. 34. 0 del AS 10. A continuación aparecen los comandos necesarios para la configuración de los cuatro routers del escenario anterior: Rout er R101# host name R101 ! ! Conf i gur aci ón de l as i nt er f aces ! i nt er f ace Et her net 0/ 0 i p addr ess 192. 168. 11. 1 255. 255. 255. 0 secondar y i p addr ess 192. 168. 12. 1 255. 255. 255. 0 ! i nt er f ac e Ser i al 8/ 0 i p addr ess 10. 10. 13. 1 255. 255. 255. 0 ! ! Conf i gur aci ón de BGP ! r out er bgp 11 no synchr oni zat i on bgp l og- nei ghbor - changes net wor k 192. 168. 11. 0 net wor k 192. 168. 12. 0 nei ghbor 10. 10. 13. 3 r emot e- as 10 nei ghbor 10. 10. 13. 3 r out e- map R101- 103- MAP out ! nei ghbor 192. 168. 12. 2 r emot e- as 11 nei ghbor 192. 168. 12. 2 next - hop- sel f
maxi mum- pat hs 2 no aut o- summar y ¡ access- l i st 1 per mi t 192. 168. 12. 0 access- l i st 2 per mi t 192. 168. 11. 0 ¡ r out e- map R101- 103- MAP per mi t 10 mat ch i p addr ess 1 set as- pat h pr epend 11 11 11 ¡ r out e- map R101- 103- MAP per mi t 20 mat ch i p addr ess 2
Rout er R102# host name R102 ! i nt er f ace Et her net 0/ 0 i p addr ess 192. 168. 11. 2 255. 255. 255. 0 secondar y i p addr ess 192. 168. 12. 2 255. 255. 255. 0 ! i nt er f ac e Ser i al 8/ 0 i p addr ess 10. 10. 24. 2 255. 255. 255. 0 ! r out er bgp 11 no synchr oni zat i on bgp l og- nei ghbor - changes net wor k 192. 168. 11. 0 net wor k 192. 168. 12. 0 nei ghbor 10. 10. 24. 4 r emot e- as 10 nei ghbor 10. 10. 24. 4 r out e- map R102- 104- MAP out nei ghbor 192. 168. 12. 1 r emot e- as 11 nei ghbor 192. 168. 12. 1 next - hop- sel f no aut o- summar y ! access- l i st 1 per mi t 192. 168. 11. 0 access- l i st 2 per mi t 192. 168. 12. 0 r out e- map R102- 104- MAP per mi t 10 mat ch i p addr ess 1 set as- pat h pr epend 11 11 11 ! r out e- map R102- 104- MAP per mi t 20 mat ch i p addr ess 2 ! Rout er R103# host name R103 ! i nt er f ace Et her net 0/ 0 i p addr ess 10. 10. 34. 3 255. 255. 255. 0 ! i nt er f ac e Ser i al 8/ 0 i p addr ess 10. 10. 13. 3 255. 255. 255. 0 ! r out er bgp 10 no synchr oni zat i on
bgp l og- nei ghbor - changes net wor k 10. 10. 34. 0 mask 255. 255. 255. 0 nei ghbor 10. 10. 13. 1 r emot e- as 11 nei ghbor 10. 10. 13. 1 def aul t - or i gi nat e nei ghbor 10. 10. 34. 4 r emot e- as 10 nei ghbor 10. 10. 34. 4 next - hop- sel f no aut o- summar y ! Rout er R104# host name R104 ! i nt er f ace Et her net 0/ 0 i p addr ess 10. 10. 34. 4 255. 255. 255. 0 ! i nt er f ac e Ser i al 8/ 0 i p addr ess 10. 10. 24. 4 255. 255. 255. 0 ! r out er bgp 10 no synchr oni zat i on bgp l og- nei ghbor - changes nei ghbor 10. 10. 24. 2 r emot e- as 11 nei ghbor 10. 10. 24. 2 def aul t - or i gi nat e nei ghbor 10. 10. 34. 3 r emot e- as 10 nei ghbor 10. 10. 34. 3 next - hop- sel f no aut o- summar y !
En la configuración anterior, el router R101 establece una sesión I-BGP con el router R102 de su mismo AS (AS 11). Además, R101 también establece una sesión E-BGP con el router R103. A esta última sesión se le aplica el route map llamado R101- 103- MAP para las rutas de salida anunciadas al AS 103. En este route map se tienen dos listas de acceso que se aplican a las IP de las rutas anunciadas. Si la ruta anunciada corresponde a la red 192. 168. 12. 0, entonces el route map modifica el atributo AS_PATH para hacerlo más largo, de manera que se preferirá el router R102 al R101 para llegar a este destino. Por el contrario, la ruta 192. 168. 11. 0 no se modifica al anunciarla al AS 10. La configuración del router R102 es parecida, de manera que se aplica también un route map (R102-104-MAP) para las rutas anunciadas al AS 10. La ruta 192.168.11.0 será modificada aumentando su AS_PATH para que no se elija R102-R104 como enlace de salida, de forma que el tráfico entrante destinado a esta red pase por el enlace R101-R103. Para este ejemplo anterior, se puede comprobar que el comportamiento del router R101 a la hora de encaminar el tráfico hacia Internet se corresponde con la configuración realizada, de manera que se use el enlace R101-R103 para llegar a la red 10. 10. 34. 0 del AS 10 (lo cual era debido a que se prefería la ruta aprendida por E-BGP que la aprendida por I-BGP). La tabla de encaminamiento del router R101 obtenida al ejecutar el comando show i p r out e se muestra a continuación:
R101# show i p r out e Gat eway of l ast r esor t i s 10. 10. 13. 3 t o net wor k 0. 0. 0. 0 C C C
192. 168. 12. 0/ 24 i s di r ect l 192. 168. 11. 0/ 24 i s di r ect l 10. 0. 0. 0/ 24 i s subnet t ed, 10. 10. 13. 0 i s di r ect l y
y connect ed, Et her net 0/ 0 y connect ed, Et her net 0/ 0 2 subnet s connect ed, Ser i al 8/ 0
B B*
10.10.34.0 [20/0] via 10.10.13.3, 00:08:53 0.0.0.0/0 [20/0] via 10.10.13.3, 00:08:53
El resultado obtenido tras ejecutar el comando anterior muestra que efectivamente el router R101 enviará el tráfico de salida a Internet a través del enlace R101-R103, siendo el router R103 el siguiente salto. Por otro lado, para el router R102 debe ocurrir que todo el tráfico hacia el AS 10 se encamine por el enlace R102-R104, según se había configurado modificando el atributo AS_PATH para que se eligiese esta ruta como mejor camino hacia el AS 10 desde R102. El comando show i p r out e ejecutado en el router R102 así lo confirma: R102# show i p r out e Gat eway of l ast r esor t i s 10. 10. 24. 4 t o net wor k 0. 0. 0. 0 C C C B B*
192. 168. 12. 0/ 24 i s di r ect l 192. 168. 11. 0/ 24 i s di r ect l 10. 0. 0. 0/ 24 i s subnet t ed, 10. 10. 24. 0 i s di r ect l y
y connect ed, Et her net 0/ 0 y connect ed, Et her net 0/ 0 2 subnet s connect ed, Ser i al 8/ 0
10.10.34.0 [20/0] via 10.10.24.4, 00:11:21 0.0.0.0/0 [20/0] via 10.10.24.4, 00:11:21
Para el caso del tráfico de entrada desde el AS 10 hacia el AS 11, los routers del AS 11 preferirán el enlace R103-R101 para el tráfico destinado a la red 192. 168. 11. 0, mientras que preferirán el enlace R104-R102 para el caso de que el destino sea la red 192. 168. 12. 0 gracias a la modificación realizada sobre el atributo AS_PATH. Esto puede comprobarse viendo la tabla de encaminamiento de los routers R103 y R104 del AS 10: R103# show i p r out e Gat eway of l ast r esor t i s not set B B
192.168.12.0/24 [200/0] via 10.10.34.4, 00:04:46 192.168.11.0/24 [20/0] via 10.10.13.1, 00:04:46
C C
10. 0. 0. 0/ 24 i s subnet t ed, 2 subnet s 10. 10. 13. 0 i s di r ect l y connect ed, Ser i al 8/ 0 10. 10. 34. 0 i s di r ect l y connect ed, Et her net 0/ 0
R104# show i p r out e Gat eway of l ast r esor t i s not set B B
192.168.12.0/24 [20/0] via 10.10.24.2, 00:49:06 192.168.11.0/24 [200/0] via 10.10.34.3, 00:07:36
C
10. 0. 0. 0/ 24 i s subnet t ed, 2 subnet s 10. 10. 24. 0 i s di r ect l y connect ed, Ser i al 8/ 0 C 10. 10. 34. 0 i s di r ect l y connect ed, Et her net 0/ 0
Supóngase ahora que, por ejemplo, el enlace R101-R103 falla. En ese caso todo el tráfico de entrada y de salida del AS 10 debe encaminarse por el router R102. De ello se encargará BGP actualizando las tablas de encaminamiento de los cuatro routers, de manera que sóllo se utiliza el enlace R102-104 para cursar todo el tráfico entre el AS 10 y el AS 11. •
AS cliente conectado mediante un solo router a dos ISP. Esta opción proporciona redundancia y permite reaccionar dinámicamente en el caso de que halla un fallo. Se tienen dos posibilidades: hacer pasar todo el tráfico por un ISP y dejar el otro como seguridad, o repartir la carga entre los dos ISP. Como ejemplo se muestra la siguiente figura:
En este escenario aparecen dos ISP ofreciendo acceso a las mismas redes (2. 0. 0. 0 y 170. 16. 0. 0). Para repartir la carga de salida del AS 11 (AS cliente) hacia dichas redes, se aplica la siguiente política a la entrada del router A para los anuncios recibidos de los AS 10 y 12: o Para las rutas recibidas del ISP(A) cuyas IP estén en el rango entre 1. 0. 0. 0
y 128. 0. 0. 0, se modificará la métrica (atributo WEIGHT en este caso) para que sean los mejores caminos. o El resto de rutas fuera de ese rango se modificarán cuando se reciban del
ISP(B) para que tengan mejor métrica que las demás (atributo WEIGHT mejor en routers Cisco).
La configuración para los routers del escenario anterior sería la siguiente: Rout er A# i nt er f ace Ser i al 0 i p addr ess 160. 20. 20. 1 255. 255. 255. 0 no i p r out e- cache i nt er f ace Ser i al 1 i p addr ess 150. 10. 10. 1 255. 255. 255. 0 no i p r out e- cache r out er bgp 11 nei ghbor 160. 20. 20. 2 r emot e- as 10 nei ghbor 160. 20. 20. 2 r out e- map UPDATES- 1 i n nei ghbor 150. 10. 10. 2 r emot e- as 12 nei ghbor 150. 10. 10. 2 r out e- map UPDATES- 2 i n aut o- summar y r out e- map UPDATES- 1 per mi t 10 mat ch i p addr ess 1 set wei ght 100 r out e- map UPDATES- 1 per mi t 20 mat ch i p addr ess 2 r out e- map UPDATES- 2 per mi t 10 mat ch i p addr ess 1 r out e- map UPDATES- 2 per mi t 20 mat ch i p addr ess 2 set wei ght 100 access- l i st 1 per mi t 0. 0. 0. 0 127. 255. 255. 255 access- l i st 2 deny 0. 0. 0. 0 127. 255. 255. 255 access- l i st 2 per mi t any Rout er B# i nt er f ace Loopback0 i p addr ess 2. 2. 2. 2 255. 255. 255. 0 i nt l oopback 1 i p addr ess 170. 16. 6. 5 255. 255. 255. 0 i nt er f ace Ser i al 0 i p addr ess 160. 20. 20. 2 255. 255. 255. 0 no i p r out e- cache r out er bgp 10 nei ghbor 160. 20. 20. 1 r emot e- as 11 net wor k 2. 0. 0. 0 net wor k 170. 16. 0. 0 aut o- summar y
Rout er C#
i nt er f ace Loopback0 i p addr ess 170. 16. 6. 6 255. 255. 255. 0 i nt er f ace Loopback1 i p addr ess 2. 2. 2. 1 255. 255. 255. 0 i nt er f ace Ser i al 1 i p addr ess 150. 10. 10. 2 255. 255. 255. 0 no i p r out e- cache r out er bgp 12 nei ghbor 150. 10. 10. 1 r emot e- as 11 net wor k 2. 0. 0. 0 net wor k 170. 16. 0. 0 aut o- summar y
La salida obtenida después de ejecutar el comando show i p r out e en el router A demuestra que el tráfico con destino la red 128. 0. 0. 0 se encamina hacia la dirección 160. 20. 20. 2 (siguiente salto de la interfaz serial 0). Por el contrario, el tráfico con destino a otras redes de mayor dirección IP se encamina hacia la dirección 150. 10. 10. 2 (siguiente salto de la interfaz serial 1). Rout er A# show i p r out e Gat eway of l ast r esor t i s not set B B
C C
•
170.16.0.0/16 [20/0] via 150.10.10.2, 00:43:43 2.0.0.0/8 [20/0] via 160.20.20.2, 00:43:43
160. 20. 0. 0/ 24 i s subnet t ed, 160. 20. 20. 0 i s 150. 10. 0. 0/ 24 i s subnet t ed, 150. 10. 10. 0 i s
1 di 1 di
subnet s r ect l y connect ed, Ser i al 0 subnet s r ect l y connect ed, Ser i al 1
AS cliente con varios routers pasarela conectado a varios ISP. Esta topología aporta redundancia en el caso de que falle alguno de los routers. Los routers de borde del AS cliente establecen sesiones I-BGP entre sí formando una malla completa.
En esta topología multihomed con varios ISP es imposible que los routers de borde realicen balance de carga, debido a que no se tendrán varios caminos para llegar al mismo destino, sino que BGP seleccionará el mejor camino para cada destino de cada AS. Sin embargo, se podrá realizar un reparto del tráfico intercambiado entre el AS cliente e Internet mediante el control de rutas basado en los atributos de éstas. La figura siguiente muestra un escenario de ejemplo que sigue esta topología utilizando dos ISPs diferentes conectados cada uno a un router local diferente del AS cliente:
El AS 100 acepta todas las rutas con origen en cualquiera de los dos ISP. Para conseguir el reparto de carga, el AS 100 seguirá la siguiente política de encaminamiento para los anuncios de salida: o El tráfico destinado al AS 300 se enviará por el enlace R1-ISP(A). o El tráfico destinado al AS 400 se enviará por el enlace R2-ISP(B). o El resto del tráfico (ruta por defecto 0. 0. 0. 0) se enviará por el enlace R1-
ISP(A). o Si el enlace R1-ISP(A) falla, todo el tráfico se enviará por el enlace R2-
ISP(B). Por otra parte, la política seguida para los anuncios de entrada al AS 100 es la siguiente: o El tráfico de Internet destinado a la red 10. 10. 10. 0/ 24 debe pasar por el
enlace ISP(A)-R1. o El tráfico de Internet destinado a la red 10. 10. 20. 0/ 24 debe pasar por el
enlace ISP(B)-R2. o Si uno de los enlaces falla, el otro enlace debería encaminar todo el tráfico de
Internet destinado a cualquier red interna del AS 100. La configuración para los dos routers del AS 100 sería la siguiente: R2# i nt er f ace Et her net 0 i p addr ess 192. 168. 21. 2 255. 255. 255. 0 ! i nt er f ace Ser i al 0 i p addr ess 192. 168. 42. 2 255. 255. 255. 0 r out er bgp 100 no synchr oni zat i on
bgp l og- nei ghbor - changes ! Redes anunci adas a l os BGP peers net wor k 10. 10. 10. 0 mask 255. 255. 255. 0 net wor k 10. 10. 20. 0 mask 255. 255. 255. 0 ! Conf i gur aci ón de l a sesi ón I - BGP con R1 nei ghbor 192. 168. 21. 1 r emot e- as 100 nei ghbor 192. 168. 21. 1 next - hop- sel f ! Conf i gur aci ón de l a sesi ón E- BGP con I SP( B) nei ghbor 192. 168. 42. 4 r emot e- as 400 ! Se apl i ca un route map par a l os anunci os de ent r ada nei ghbor 192. 168. 42. 4 r out e- map AS- 400- I NCOMI NG i n ! Se apl i ca un route map par a l os anunci os de sal i da nei ghbor 192. 168. 42. 4 r out e- map AS- 400- OUTGOI NG out no aut o- summar y ! ! Li st a acceso que per mi t e t odas l as r ut as con or i gen en AS 400 i p as- pat h access- l i st 1 per mi t ^400$ ! ! Li st as de acceso basadas en I P par a anunci os del AS 100 access- l i st 10 per mi t 10. 10. 10. 0 0. 0. 0. 255 access- l i st 20 per mi t 10. 10. 20. 0 0. 0. 0. 255 ! ! Modi f i c a LOCAL_PREF de r ut as que cumpl en l i st a de acceso 1 r out e- map AS- 400- I NCOMI NG per mi t 10 mat ch as- pat h 1 set l ocal - pr ef er ence 150 ! Añade AS100 al AS_PATH de r ut as que cumpl en l i st a acceso 10 r out e- map AS- 400- OUTGOI NG per mi t 10 mat ch i p addr ess 10 set as- pat h pr epend 100 ! Los anunci os que cumpl an l i st a acceso 20 no se modi f i can r out e- map AS- 400- OUTGOI NG per mi t 20 mat ch i p addr ess 20 R1# i nt er f ac e Ser i al 0/ 0 i p addr ess 192. 168. 31. 1 255. 255. 255. 0 ! i nt er f ace Et her net 1/ 0 i p addr ess 192. 168. 21. 1 255. 255. 255. 0 ! r out er bgp 100 no synchr oni zat i on bgp l og- nei ghbor - changes net wor k 10. 10. 10. 0 mask 255. 255. 255. 0 net wor k 10. 10. 20. 0 mask 255. 255. 255. 0 ! Conf i gur aci ón de l a nei ghbor 192. 168. 21. 2 nei ghbor 192. 168. 21. 2 ! ! Conf i gur aci ón de l a nei ghbor 192. 168. 31. 3
sesi ón I - BGP con R2 r emot e- as 100 next - hop- sel f sesi ón E- BGP con I SP( A) r emot e- as 300
! ! Se apl i ca un route map par a l os anunci os de ent r ada nei ghbor 192. 168. 31. 3 r out e- map AS- 300- I NCOMI NG i n ! ! Se apl i ca un route map par a l os anunci os de sal i da nei ghbor 192. 168. 31. 3 r out e- map AS- 300- OUTGOI NG out no aut o- summar y ! Li st a de acceso que per mi t e l as r ut as con or i gen en AS 300 i p as- pat h access- l i st 1 per mi t ^300$ ! ! Li st as de acceso basadas en I P par a anunci os del AS 100 access- l i st 10 per mi t 10. 10. 20. 0 0. 0. 0. 255 access- l i st 20 per mi t 10. 10. 10. 0 0. 0. 0. 255 ! Modi f i c a LOCAL_PREF de r ut as que cumpl en l i st a de acceso 1 r out e- map AS- 300- I NCOMI NG per mi t 10 mat ch as- pat h 1 set l ocal - pr ef er ence 200 ! ! Añade AS100 al AS_PATH de r ut as que cumpl en l i st a acceso 10 r out e- map AS- 300- OUTGOI NG per mi t 10 mat ch i p addr ess 10 set as- pat h pr epend 100 ! ! Los anunci os que cumpl an l i st a acceso 20 no se modi f i can r out e- map AS- 300- OUTGOI NG per mi t 20 mat ch i p addr ess 20 !
En la configuración anterior se tendrán dos routers (R1 y R2) del AS cliente (AS 100) conectado cada uno a un router perteneciente a un ISP diferente. Entre R1 y R2 se establece una sesión I-BGP y cada uno de estos routers establecerá una sesión E-BGP con un ISP distinto (R1 con ISP(A) y R2 con ISP(B)). En el router R2 se utilizan dos route map, uno para los anuncios de entrada ( AS-400-INCOMING) y otro para los anuncios de salida ( AS-400OUTGOING), los cuales se aplican a la sesión E-BGP con el ISP(B). En el route map de entrada se modifica el atributo LOCAL_PREF para las rutas cuyo origen esté en el ISP(B) con un valor de 150. Por otra parte, en el route map de salida se añade el número del AS 100 al AS_PATH de la ruta 10. 10. 10. 0 mientras que la ruta 10. 10. 20. 0 no se modifica. De este modo, se anuncia la red 10. 10. 20. 0 hacia el exterior con un AS_PATH más pequeño que la red 10. 10. 10. 0, dando preferencia al enlace R2-ISP(B) para llegar a 10. 10. 20. 0. De forma similar, en la configuración del router R1 se tienen dos route maps, uno para los anuncios de entrada ( AS-300-INCOMING) y otro para los de salida ( AS-300-OUTGOING). En el route map de entrada se modifica el atributo LOCAL_PREF de las rutas cuyo origen esté en el AS 300 con un valor de 200. De este modo, en el caso de que el AS 100 reciba rutas iguales de ambos ISP, se preferirá el enlace R1-ISP(A) que el enlace R2-ISP(B), ya que las rutas recibidas por el primero tendrán un valor del atributo LOCAL_PREF igual a 200 frente a un valor de 150 en las rutas recibidas por el ISP(B).
El route map de salida en R1 modifica el anuncio de la ruta 10. 10. 20. 0 para que tenga un AS_PATH mayor que en el anuncio de la ruta 10. 10. 10. 0 (la cual no se modifica), de modo que se preferirá el enlace R1-ISP(A) para el tráfico entrante al AS 100 con destino a la red 10. 10. 10. 0. Por último, un aspecto importante a tener en cuenta en la configuración de un AS cliente multihomed es que este AS no sirva de AS de tránsito para el tráfico que circula por Internet, de forma que todo el tráfico que circule el AS cliente sea local. Para ello, no se debe anunciar hacia el exterior ninguna ruta que no tenga origen en este AS, ya que anunciar una ruta implica aceptar todo el tráfico que tenga como destino esa ruta . Así, una tarea obligatoria en esta configuración sería filtrar las rutas recibidas por un ISP para que éstas no sean anunciadas hacia el otro ISP. La lista de acceso necesaria para este filtrado y el route map que la aplicaría se describen a continuación: ip as−path access−list 10 permit ^$ route−map localonly permit 10 match as−path 10