# Multihoming

Multihoming o multiconexión es la práctica de conectar un host o una red informática a más de una red. Esto se puede hacer para aumentar la fiabilidad o el rendimiento.

## Introducción

Un host o anfitrión típico, así como una red de usuario final, está conectada a una sola red. En algunas circunstancias puede ser útil conectar un servidor o una red a múltiples redes para aumentar la confiabilidad (si fallase un enlace único, los paquetes pueden enrutarse a través de las redes restantes) y para mejorar el rendimiento (dependiendo del destino, puede ser más eficiente encaminar a través de una red u otra).

## Variantes

Hay varias formas de establecer una multihoming.

### Anfitrión de conexión múltiple

Un único host puede estar conectado a múltiples redes. Por ejemplo, un teléfono móvil podría estar conectado simultáneamente a una red WiFi y una red 3G. Una computadora de escritorio podría estar conectada tanto a una red doméstica como a una VPN. Por lo general, a un host con múltiples anfitriones se le asignas varias direcciones, una por red conectada.

### Multihoming clásico

Una red se conecta a múltiples proveedores y usa su propio rango de direcciones —generalmente de un rango independiente del proveedor (PI)—. Los enrutadores en la periferia de la red se comunican con los proveedores mediante un protocolo de enrutamiento dinámico, generalmente BGP, que anuncia el rango de direcciones de la red para todos los proveedores. Si uno falla, el protocolo de enrutamiento dinámico reconoce el error en cuestión de segundos o minutos y reconfigura sus tablas de enrutamiento para usar los enlaces restantes, de forma transparente para los hosts.
Es un tipo de multihoming bastante costoso, ya que requiere el uso de espacio de direcciones aceptado por todos los proveedores, un número del sistema público autónomo (AS) y un protocolo de enrutamiento dinámico. Como no pueden agragarse el espacio de direcciones de varios hosts, provoca el crecimiento de l a tabla de enrutamiento global.

### Multihoming con direcciones múltiples

En este enfoque, la red se conecta a múltiples proveedores y se le asignan múltiples rangos de direcciones, uno para cada proveedor, sucediendo lo mismo para cadaproveedor.
Es un procedimiento más barato que multihoming clásico y puede ser utilizado sin cooperación de los proveedores (por ejemplo, en una red doméstica) pero requiere tecnología adicional para realizar el encaminamiento:
* Para el tráfico entrante, los anfitriones deben estar asociados con múltiples registros DNS A o AAAA para que sean accesibles a través de todos los proveedores.
* Para el tráfico saliente, se debe usar una técnica de enrutamiento específico para enrutar paquetes a través del proveedor correcto y mientras tanto, los hosts deben implementar políticas razonables de selección de direcciones de origen.

## Advertencias

Cuando se usa multihoming para mejorar la confiablilidad, se debe tener cuidado al eliminar cualquier punto SPOF:
* Conectividad ascendente: un centro de operaciones de red determinado debe tener enlaces ascendentes múltiples a proveedores independientes. Además, para disminuir la posibilidad de daños simultáneos a todos los enlaces ascendentes, la ubicación física de cada uno de estos enlaces ascendentes debería ser físicamente diverso: lo suficientemente separados como para que una vehículo de maquinaria pesada (una retroexcavadora) no corte accidentalmente todas las conexiones al mismo tiempo.
* Enrutadores: los enrutadores y conmutadores se deben ubicar de manera tal que ninguna pieza de hardware de red controle todo el acceso a la red a un host determinado. Em particular, no es raro ver que múltiples enlaces ascendentes de internet convergen en un único enrutador de periferia. En una configuración de este tipo, la pérdida de ese único enrutador desconecta el enlace ascendente de Internet, a pesar del hecho de que varios ISP están en uso.
* Conectividad de host: un anfitrión confiable debe estar conectado a la red a través de múltiples interfaces de red, cada una conectada a un enrutador o conmutador por separado. Alternativamente, y preferiblemente, la función de un host dado podría duplicarse en múltiples computadoras, cada una de las cuales está conectada a un enrutador o conmutador diferente.
* Entidades de referencia: no solo debe ser accesible un host, sino que en muchos casos también debe ser referenciado para que sea útil. Para la mayoría de los servidores, esto significa en particular que la resolución del nombre del servidor sea funcional. Por ejemplo, si la falla de un elemento único impide que los usuarios resuelvan correctamente el nombre DNS de ese servidor, entonces el servidor es efectivamente inaccesible, a pesar de estar conectado de otra forma. Al aumentar el número de interfaces y enlaces que se utilizan y hacer que el enrutamiento sea menos determinante, el multihoming complica la administración de la red